Registro #65 completo: la sesión del 12-ago aparece — Pedro releva a Erika como PM y el primer POST a BIND falla con 500

Transcript de la sesión del 12-ago localizado y archivado en fuentes/.
Reemplaza el stub que quedó abierto en el commit anterior.

Lo que resuelve:
- Noé anuncia que Erika deja de ser la PM y el seguimiento pasa a Pedro.
  El anuncio fue solo verbal; nunca se comunicó por escrito.
- Se decide que la cotización la genera la PLATAFORMA, no el comercial
  (venta nueva). Cierra la contradicción abierta desde el 6-jul.
- El molde que Noé encargó a Araceli nunca existió: Pedro construyó un
  formulario nuevo en vivo, apoyado en el Excel enviado esa mañana.
- El catálogo de BIND está sucio (servicios duplicados, nombres de personas,
  periodos en el nombre). Se acuerda depurarlo y homologar los combos de
  Jira con los de BIND: de ahí salen las 17 categorías de Pedro.
- La primera escritura real a BIND devolvió ERROR 500: faltan campos que el
  portal manda en ceros y la lista de precios. No se creó cotización.
  Corrige la lectura del #64, que quedaba en 73/73 de dry-run.

Reglas abiertas que dejó la sesión: edición vs historial de cotizaciones,
récord de cancelaciones sin ejecutarlas, quitar SLA a los tickets de
cotización, grabaciones de BIND que Pedro no envió, y la herramienta de
seguimiento del proyecto (Jira de paga vs SharePoint vs Drive).

Azure no se tocó pese a estar en la agenda; queda con Pedro.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Johann
2026-08-20 23:29:47 -06:00
parent 5d846ecfe5
commit a03f81f461
3 changed files with 637 additions and 20 deletions
+17 -6
View File
@@ -7,16 +7,27 @@ _Última actualización: **2026-08-20, noche.** Cruce completo del buzón contra
## 🔥🔥 SESIÓN VIERNES 21-AGO, 7:00 AM — Noé, Araceli y Pedro
- [ ] 🔥 **Johann — inspeccionar `FAC-106` por API esta noche.** Pedro avisó que **la licencia bloquea la UI** y ofreció pantallazo; no hace falta: el **token PAF corre sobre la cuenta de Pedro**, que sí tiene licencia, y así se sondeó el sitio el 6-ago y el 11-ago. Lo que hay que sacar: **qué campos nuevos trae el formulario modificado**, si aparece algo que sirva de **conceptos/partidas**, y si `Monto sin IVA` sigue siendo `customfield_11556`. **Sin esto se llega a ciegas.** Ver [REGISTRO #67](REGISTRO.md).
- [ ] 🔥 **Johann — preparar el caso de escritura sobre `FAC-106`** (comprometido con Pedro el 19-ago). La capa ya existe y corre contra cualquier ticket FAC ([#64](REGISTRO.md)); ajustar el mapeo a los campos nuevos que revele el sondeo.
- [ ] 🔥🔴 **Johann — resolver el ERROR 500 del POST de cotización antes de mañana.** El 12-ago la primera escritura real contra BIND **falló** ([REGISTRO #65](REGISTRO.md) §6): faltaban campos que el portal manda en ceros y, sobre todo, **la lista de precios**. Definición de Araceli: *"nosotros realmente no tenemos una lista de precios… ese lo podríamos agarrar del **monto sin IVA** del [ticket]. Ese sería nuestra lista de precios"* — y el precio se captura **directo, como campo abierto**, sin cantidad × tarifa. **Ajustar el shape del POST a eso y probar en local antes de la sesión.** Es el segundo intento de emitir la primera cotización real.
- [ ] 🔥 **Johann — preparar el caso de escritura sobre `FAC-106`** (comprometido con Pedro el 19-ago). La capa ya existe y corre contra cualquier ticket FAC ([#64](REGISTRO.md)); ajustar el mapeo a los campos del **nuevo formulario** (Empresa origen · Summary · Descripción *(ahora combo)* · Nombre del cliente *(combo)* · Tipo de moneda · Monto sin IVA · Fecha de vencimiento). ⚠️ El 12-ago **el cliente no se detectó** porque el mapeo salía del `summary`/`description`: verificar que ahora venga de campo estructurado.
- [ ] 🔥 **Johann — en la sesión: encender `Bind:Mode=Write` solo para emitir y regresarlo a ReadOnly antes de cerrar.**
- [ ] ⚠️🔥 **Johann — anunciar al abrir la sesión el destino de la cotización real** (cancelarla al terminar vs. cliente de prueba) y que la prefactura pertenece a una sesión posterior. **Pendiente arrastrado del 12-ago; sigue sin resolverse.**
- [ ] 🔴 **Validar las 17 categorías con Noé y Ara.** Pedro redujo el catálogo de servicios de **67 → 17** pero lo condicionó: *"tengo que verlas con Noé y Ara antes"*. **Es el momento de cerrar el hueco de conceptos/partidas** que bloquea B7 desde el [#62](REGISTRO.md).
- [ ] ☁️ **Azure — reabrir el tema.** Noé ofreció el 11-ago explorarlo *"con una cuenta que estamos creando para este uso"*; no consta qué pasó el 12-ago. Llevar los requisitos del 28-jul: grupo de recursos + **Contributor** (app + BD + Key Vault), sin Global Admin.
- [ ] 👤 **Confirmar en la sesión quién es el responsable del proyecto.** Desde el 18-ago todo se coordina con **Pedro**; Erika no aparece desde el 29-jul. Johann recuerda una junta donde se anunció el relevo — sin registrar. Ver [REGISTRO #65](REGISTRO.md).
- [ ] ☁️ **Azure — insistir; lleva 3 semanas sin avanzar.** El 11-ago Noé ofreció explorarlo en la sesión *"con una cuenta que estamos creando para este uso"*; **el 12-ago no se tocó** — Noé solo dijo *"eso lo resuelvo con Pedro"* ([REGISTRO #65](REGISTRO.md) §8). Ahora que Pedro es el responsable, es su pendiente directo. Requisitos ya comunicados el 28-jul: grupo de recursos + **Contributor** (app + BD + Key Vault), sin Global Admin. **Sin esto la transición automática no existe** y todo queda en disparo manual.
- [x] ~~👤 **Confirmar quién es el responsable del proyecto.**~~ → **CONFIRMADO: Pedro.** Noé lo anunció el 12-ago: *"Erika ya no va a ser la PM de este proyecto. El seguimiento del proyecto lo va a traer Pedro."* ⚠️ **Nunca se comunicó por escrito** — el anuncio existe solo en la grabación. Ver [REGISTRO #65](REGISTRO.md) §1.
## 🆕 Abierto por la sesión del 12-ago ([REGISTRO #65](REGISTRO.md))
- [ ] 🔴 **Balam — definir la regla de EDICIÓN de cotizaciones.** Araceli las modifica seguido (*"siempre hay ajustes"*) y verificó en vivo que **BIND conserva el mismo número al editar**. La plataforma no implementa edición. Disyuntiva planteada por Noé y dejada a Balam: **historial de cotizaciones** (ticket nuevo o regenerar) vs. **modificar la misma**. Araceli se inclina por conservar historial. **Impacta el diseño de B7** — preguntarlo mañana.
- [ ] ⚠️ **Cancelaciones: la plataforma NO cancela, pero SÍ lleva el récord.** Acordado el 12-ago. Antes del timbrado se cancela libremente; después requiere acuerdo con el cliente por correo → cancelación en el ERP → despacho ante el SAT → **el cliente acepta en una liga del SAT**. Falta modelar el récord (*"esta factura se canceló y fue sustituida por esta"*).
- [ ] **Balam/Pedro — quitar el SLA a los tickets de cotización** para que no impacten métricas (acordado con Araceli en la sesión).
- [ ] 📼 **Pedro — enviar las grabaciones de BIND** (altas de proveedor/clientes, facturación y una tercera). Ofrecidas al cierre del 12-ago; **no consta que hayan llegado** — no aparecen en el buzón al 20-ago.
- [ ] 🗂️ **Balam — resolver la herramienta de seguimiento del proyecto.** El tablero de Jira para las actividades de Johann *"muy próximo iba a necesitar que sea de paga por el tipo de licencia"*; se barajaron **SharePoint** y **Google Drive**; Noé prefiere Jira pero falta permiso de admin para crear spaces. Mientras tanto sigue vigente lo del [#58](REGISTRO.md): **el Excel de horas ES el sistema de seguimiento**.
- [ ] 💰 **Definir a quién se le reportan horas, avances y facturación ahora.** Todo el circuito administrativo iba por **Erika**: cortes de horas, Excel de avance, recordatorios de factura ([#45](REGISTRO.md), [#51](REGISTRO.md), [#58](REGISTRO.md), [#59](REGISTRO.md)). Con el relevo del 12-ago **nadie dijo qué pasa con esa vía** — y el relevo ni siquiera se comunicó por escrito. **Preguntarlo mañana**: si el seguimiento es con Pedro, ¿los cortes de horas también, o siguen con Erika/Paola?
- [ ] 🔒 **Johann — avisar a Pedro antes de cada escritura** (cotización o prefactura), ofrecido en la sesión. Noé reafirmó el candado: *"no hacer más pruebas de lo que definiéramos, para evitar errores o cosas en producción"*.
## 🚨 Huecos de registro abiertos (detectados en el cruce del 20-ago)
- [ ] 🚨 **Capturar la minuta de la sesión del 12-ago** ([REGISTRO #65](REGISTRO.md)). No hay notas ni transcripción. Cuatro preguntas por responder: ¿se emitió cotización real en BIND (folio, se canceló)?, ¿qué pasó con Azure?, ¿fue ahí donde se nombró a Pedro responsable?, ¿se capturó el molde de Araceli?
- [x] ~~🚨 **Capturar la minuta de la sesión del 12-ago**~~ → **HECHO (20-ago):** transcript localizado y registrado en [REGISTRO #65](REGISTRO.md) (`../fuentes/2026-08-12 - Transcript - Sesion prueba de escritura Jira-BIND.txt`). Las cuatro preguntas quedaron respondidas: **no** se emitió cotización (error 500); **Azure no se tocó** y quedó con Pedro; **sí**, ahí Noé anunció a Pedro como responsable del seguimiento; y **el molde de Araceli nunca existió** — Pedro construyó un formulario nuevo en vivo.
- [ ] 📌 **Versionar `Cotizacion-BIND-campos-y-catalogos.xlsx`** — está en la raíz del repo sin trackear y ya es el insumo que Balam usó para rehacer el formulario de Jira ([#66](REGISTRO.md)).
- [ ] 📄 **Leer los procedimientos de carga de facturas** ya descargados en `../fuentes/` ([#46a](REGISTRO.md)): 5 portales — Cemex, Acuntia, **ATC Consolidados**, DYLO y **Victec**. ⚠️ **Dos clientes que el Discovery nunca mencionó** y Axie no aparece: el universo de destinos de envío **no está cerrado**.
- [ ] 🗺️ **Contrastar el diagrama del flujo de facturación de Jira** (`../fuentes/2026-07-22 - Correo - Flujo facturacion JIRA BALAM.png`, [#57a](REGISTRO.md)) contra el disparador acordado y lo observado por API.
@@ -28,11 +39,11 @@ _Última actualización: **2026-08-20, noche.** Cruce completo del buzón contra
- [x] ~~🔥 **Johann — responder el correo del hilo de Jira**~~ → **Enviado el 10-ago.** Pide ticket de ejemplo, propone mié 12 / jue 13 a las 7:00 am, fija el alcance en la cotización y recuerda Azure. Texto en [REGISTRO #62](REGISTRO.md).
- [x] ~~🔥 **Araceli — levantar el TICKET DE EJEMPLO capturado "como debería ser"** (ruteado por Noé el 11-ago; la noche del 11 no existía)~~ → **Lo resolvió PEDRO el 20-ago con `FAC-106`**, tras rehacer el formulario de Jira contra el Excel de campos de BIND ([#66](REGISTRO.md), [#67](REGISTRO.md)). ⚠️ **No consta que Araceli haya capturado el molde** que Noé le pidió: el camino fue otro — Balam modificó el formulario y Pedro levantó el ticket. Los planes B y C (captura en vivo / `FAC-100`) quedan sin usar.
- [x] ~~🔥 **Balam/Noé — confirmar la sesión** (mié 12 o jue 13, 7:00 am)~~ → **CONFIRMADA por Noé (11-ago, 10:41 am): miércoles 12-ago, 7:00 am.** Además, **Azure se explora en la misma sesión** con una cuenta nueva creada para este uso. Ver [REGISTRO #63](REGISTRO.md).
- [ ] 🔴 **Conceptos/partidas — se resuelve MAÑANA, con `FAC-106` y las 17 categorías.** El acuerdo del 4-ago resolvió el monto (`customfield_11556`) pero **no existe campo de conceptos en todo el sitio de Jira**. Si en el molde el desglose no cabe en ningún campo, hay que agregar uno; si no, la cotización va de una sola línea. **Sigue siendo el único bloqueo real para cerrar B7.**
- [ ] 🔴 **Conceptos/partidas — la vía quedó definida el 12-ago: DEPURAR EL CATÁLOGO, no agregar un campo.** Araceli mostró que el combo de servicios de BIND está sucio (`040` y `029` son el mismo servicio; entradas con nombres de personas, "monitor Samsung", periodos en el nombre) y se acordó dejar **solo opciones genéricas**, volver **combo** la descripción del ticket y **homologar los combos de Jira con los de BIND**. Pedro ejecutó la depuración: **67 → 17 categorías**, pendientes de validar **mañana** con Noé y Ara. Dato fiscal: horas de consultoría = unidad SAT **`E48`**. Ver [REGISTRO #65](REGISTRO.md) §5, [#67](REGISTRO.md).
- [ ] 🔴 **ACUNTIA — se resuelve con el segundo ticket de ejemplo.** `FAC-100` trae **un solo** `Monto sin IVA` (7,594.00 USD) para el ticket que históricamente representa 40–48 facturas. ¿Un ticket → una cotización? Ver [REGISTRO #55](REGISTRO.md) punto 6.
- [ ] ⚠️ **Tickets de `Automation for Jira` — convertido en SUPUESTO, ya no bloquea.** 10 de 69 no tienen request type ni un solo campo (incluido `FAC-91`, vivo en validación nacional). En el correo del 10-ago se asienta que **siguen tramitándose a mano** y que la automatización cubre solo los que entran por el portal. Si Balam objeta, la regla de Automation tendría que propagar los campos (trabajo de ellos). El molde capturado a mano no puede resolver esto.
- [ ] ⚠️🔥 **Johann — decidir el destino de la cotización de la prueba en BIND.** El ejercicio escribe una **cotización real en BIND producción**. Dos salidas: cancelarla al terminar o apuntarla a un cliente de prueba. **Decidir esta noche y anunciarlo al abrir la sesión del 12, antes de ejecutar.**
- [ ] 🔴 **¿El comercial ya genera la cotización en BIND, o la genera la plataforma?** Contradicción abierta: el 6-jul Ara dijo que **el comercial la genera y la plataforma la convierte** a prefactura ([REGISTRO #27](REGISTRO.md)); el 4-ago Arturo dijo que **la plataforma la genera**; y el formulario de Jira sigue exigiendo **adjuntar la cotización**. Si ambas cosas ocurren, **quedan dos cotizaciones por ticket**. Se resuelve viendo qué adjunto pone Arturo en el ticket de ejemplo: cotización de BIND ya existente (→ convertir) o documento comercial (→ crear).
- [x] ~~🔴 **¿El comercial ya genera la cotización en BIND, o la genera la plataforma?**~~ → **RESUELTO en la sesión del 12-ago: la genera la PLATAFORMA.** Noé le preguntó a Araceli si le serviría que Jira hiciera la cotización y evitarle el primer paso → *"Sí, sí me serviría"* → *"vamos a hacer ese ejercicio, Johann"*. El paso comercial de cotizar a mano desaparece para **venta nueva**; la **recurrente** sigue fuera de alcance (comercial solo avisa el periodo y administración prefactura). Ver [REGISTRO #65](REGISTRO.md) §3.
- [x] ~~**Alcance del ejercicio en vivo: ¿cotización o prefactura?**~~ → **Decidido (10-ago): termina en la COTIZACIÓN.** Es lo que contestó Arturo el 4-ago; la aprobación de Araceli va entre `En proceso de facturación` y `Facturado`, así que la prefactura pertenece después; Arturo pidió gradualismo explícito; y la cotización se cancela sin efecto fiscal mientras la prefactura es un registro en `Invoices` con `UUID = null`. La prefactura queda para la segunda sesión. Candados acordados: **cotización → prefactura → aprobación humana → timbrado** ([REGISTRO #55](REGISTRO.md)).
- [ ] ⚠️ **La transición automática depende de Azure.** En la prueba del miércoles el disparo es **manual** (pipeline `Draft→DryRun→Confirmed` de ADR-001 con flags apagados). Para que corra automática hace falta el ambiente publicado y corriendo continuo — otro argumento para insistir en el acceso a Azure.
- [x] ~~🔥 **Johann — preparar el flujo contra el ticket de ejemplo**~~ → **CONSTRUIDO (11-ago, noche):** contrato `Quotes_NewQuote` obtenido del portal público, `CreateQuoteAsync` con guardas, `POST /api/emision/cotizacion` (dry-run/confirmación auditadas en `WriteOperations`), pantalla `solicitudes/:id/cotizar` y vínculo ticket→cotización. 73/73 pruebas. **Corre contra cualquier ticket FAC** — el molde solo mejora los datos. La escritura real sigue gateada a `Bind:Mode=Write`, que se enciende SOLO en la sesión. Ver [REGISTRO #64](REGISTRO.md).
+66 -14
View File
@@ -7,12 +7,12 @@
- **Johann** (proveedor) — `johann_antonio85@hotmail.com`
- **Noe Rocha** — CTO, Balam — `noe.rocha@balamtalentoestrategico.com`
- **Araceli Sanchez Jimenez** ("Ara") — Balam — `araceli.sanchez@balamtalentoestrategico.com`
- **Erika Chavez** — Project Manager, Balam — `erika.chavez@balamtalentoestrategico.com` · WhatsApp +52 1 81 2353 5803
- **Pedro Alberto Ayala Elizondo** — Desarrollador / contacto técnico, Balam — `pedro.ayala@balamtalentoestrategico.com`
- **Erika Chavez** — Project Manager, Balam — `erika.chavez@balamtalentoestrategico.com` · WhatsApp +52 1 81 2353 5803 · ⚠️ **PM del proyecto hasta el 12-ago-2026**, cuando Noé anunció su relevo ([#65](REGISTRO.md))
- **Pedro Alberto Ayala Elizondo** — Desarrollador / contacto técnico, Balam — `pedro.ayala@balamtalentoestrategico.com` · ⭐ **responsable del seguimiento del proyecto desde el 12-ago-2026** ([#65](REGISTRO.md))
- **Arturo Rosas Hernandez** — Gerencia administrativa / operación, Balam — `arturo.rosas@balamtalentoestrategico.com`
- **Paola de los Angeles Castro Martínez** — Recursos Humanos, Balam — `hr@balamtalentoestrategico.com` · coordinó la firma del contrato (WhatsApp)
**Periodo:** 8 abr 2026 → 20 ago 2026 (última actualización: **20-ago** — cruce completo del buzón de Outlook contra este registro vía MCP ms365; se incorporan 9 comunicaciones que faltaban, se corrigen 2 errores y se confirma la **sesión del viernes 21-ago, 7:00 am** con Noé, Ara y Pedro sobre `FAC-106`)
**Periodo:** 8 abr 2026 → 20 ago 2026 (última actualización: **20-ago** — cruce completo del buzón de Outlook vía MCP ms365 + recuperación del transcript del **12-ago**. Se incorporan 10 comunicaciones que faltaban y se corrigen 2 errores. ⭐ **Cambio de gobernanza: Pedro Ayala releva a Erika en el seguimiento del proyecto desde el 12-ago.** Próxima sesión: **viernes 21-ago, 7:00 am** con Noé, Ara y Pedro sobre `FAC-106`)
**Orden:** cronológico (más antiguo arriba)
---
@@ -1411,22 +1411,74 @@ Johann envió el **avance por actividad en texto** (8:12 am), con 👍 de Erika
---
## 65 · Ago 12, 2026 — 7:00 AM · Llamada · Sesión de la prueba acompañada Jira→BIND — ⚠️ SIN MINUTA
## 65 · Ago 12, 2026 — 7:00 AM · Llamada · Prueba de escritura Jira→BIND: **Pedro releva a Erika**, se decide que la plataforma genera la cotización y el primer POST falla con 500 ⭐🔥
> 🚨 **Hueco de registro detectado el 20-ago.** La sesión estaba **confirmada por Noé** para el miércoles 12-ago a las 7:00 am ([#63](REGISTRO.md)), con Araceli y Pedro, y con **Azure** como segunda agenda. **No existe minuta, notas ni transcripción.** Esta entrada queda abierta a propósito: es la única forma de que el hueco no desaparezca.
> Evidencia: `../fuentes/2026-08-12 - Transcript - Sesion prueba de escritura Jira-BIND.txt` (52 min). Asistentes: **Noé, Araceli, Pedro y Johann**. *(La diarización del transcript es poco fiable en varios tramos — atribuye a Noé frases que claramente son de Pedro; el contenido sí es legible.)*
**Indicios de que la sesión ocurrió** (ninguno es minuta):
### 1 · ⭐ Cambio de PM — anuncio de Noé (2:26 y 4:12)
- Commit del **12-ago**: *"Guion del #64 afinado a la coreografía de pantalla compartida (Actualizar sin caché, Cotizar por fila, vista previa automática)"* — preparación de esa mañana.
- A las **8:09 am**, una hora después del horario de la sesión, Johann envía a Pedro el Excel de campos y catálogos de la cotización BIND ([#66](REGISTRO.md)) — un entregable que encaja como derivado directo de lo que se acordó ahí.
- El 18-ago Pedro retoma por WhatsApp *"lo del formulario con los nuevos campos"* como tema ya conocido entre ambos ([#67](REGISTRO.md)).
> *"Nada más creo que no te había avisado, no sé si te lo mandé por correo o no. **Erika ya no va a ser la PM de este proyecto. El seguimiento del proyecto lo va a traer Pedro.**"* — y lo repite al cerrar el bloque: *"Bueno, este es un anuncio, Johann. **El tema del seguimiento es con Pedro.**"*
**Preguntas que esta entrada debe responder cuando se capture:**
Explica el vuelco de interlocución que se ve desde el 18-ago ([#67](REGISTRO.md)) y por qué Erika desaparece del hilo después del 29-jul. **Nunca llegó por correo** — el anuncio es exclusivamente verbal y vivía solo en esta grabación.
1. ⭐ **¿Se ejecutó la escritura real en BIND?** El [#64](REGISTRO.md) llegó con la capa `ticket→cotización` construida y gateada a `Bind:Mode=Write`. Si se emitió una cotización real, **hay que registrar su folio y si se canceló** — era el pendiente 🔥 de anunciar el destino de la cotización antes de ejecutar.
2. ☁️ **¿Qué pasó con Azure?** Noé ofreció explorar los permisos *"con una cuenta que estamos creando para este uso"*. Es el bloqueo del despliegue desde el 28-jul.
3. 👤 **¿Es ésta la junta en la que se dijo que Pedro sería el nuevo responsable del proyecto?** Johann la recuerda pero no ubica el registro. Encaja con el vuelco de interlocución que se ve después ([#67](REGISTRO.md)): a partir del 18-ago **todo se coordina con Pedro**, no con Erika ni con Noé.
4. ¿Se capturó el molde? Araceli tenía el encargo desde el 11-ago y la noche previa no existía.
### 2 · La lógica comercial de la cotización, explicada por Araceli (9:38–13:22)
La explicación más completa que se ha obtenido de por qué existe la cotización:
- **Día 1 / venta nueva:** comercial cotiza **directamente en BIND** para que el cliente acepte el monto. Requisito previo: **el cliente ya debe estar dado de alta**, o la cotización no sale con nombre ni RFC. Cerrada la venta, comercial solicita facturación **adjuntando esa cotización**; administración busca el número (p. ej. `01`) y desde el menú de la cotización en BIND da **prefactura o factura**.
- **Recurrente:** comercial **no vuelve a cotizar**; solo avisa a administración el periodo (3, 6, 12 meses) y administración genera prefacturas y facturas. *"el área comercial no se entera cuando es recurrencia"*.
- **Por qué existe la prefactura:** *"antes nos íbamos directamente a facturación, pero luego había muchos errores y ya estaban timbradas… era todo un rollo la cancelación con el SAT"* — hay clientes que deben aceptar la cancelación y *"CEMEX se tarda años"*.
### 3 · ⭐ DECISIÓN: la cotización la genera la plataforma (13:23–14:15)
Noé pregunta a Araceli si le serviría que **Jira generara la cotización** y le ahorrara el primer paso → *"Sí, sí me serviría"*. Noé: *"vamos a hacer ese ejercicio, Johann… eso va a quitar tal H que hoy por hoy se está haciendo desde el área comercial."*
> ✅ **Cierra la contradicción 🔴 que llevaba abierta desde el 6-jul**: Ara había dicho que el comercial genera la cotización y la plataforma la convierte; Arturo dijo lo contrario el 4-ago. **Resolución: para venta nueva la genera la plataforma**, y el paso comercial desaparece. La recurrente sigue fuera de alcance.
### 4 · ⚠️ El molde nunca existió — Pedro construye el formulario EN VIVO (14:43–29:52)
Araceli confirma que **no hay tipo de ticket para cotización**: *"Jira no, fíjate que no lo tenemos, pero lo tendremos que definir"*. **El molde que Noé le encargó el 11-ago nunca se creó.** En su lugar, Pedro lo improvisa en la sesión: *"lo que puedo hacer es **construir un nuevo formulario muy rápido aquí en Jira** con campos muy muy especiales para la cotización y hacemos esa prueba en vivo"* — y se apoya en **el Excel que Johann había mandado esa misma mañana** ([#66](REGISTRO.md)): *"ya habíamos mapeado campos en un correo con Johann"*.
**Campos acordados en vivo:** Empresa origen · Summary (título del ticket) · Descripción *(hoy texto libre; **debe ser combo**)* · Nombre del cliente *(**debe ser combo**, solo clientes dados de alta en BIND)* · Tipo de moneda · Monto sin IVA · Fecha de vencimiento *(= vigencia de la cotización)*. Además, **quitarle el SLA a estos tickets para que no impacten métricas**.
### 5 · ⭐ El catálogo de BIND está sucio — y de ahí salen las 17 categorías (22:54–27:22)
Araceli abre el combo de productos y servicios de BIND en pantalla y señala el desorden: *"consultoría y horas de servicio, este es **040 y 029, esto es absolutamente lo mismo**"*; hay entradas con números de personas, *"monitor Samsung"*, *"servicios profesionales 16 horas"*, periodos metidos en el nombre. Su conclusión: debería haber **solo opciones genéricas** y editarse el detalle en la cotización.
**Acuerdo (Noé, 27:04):** *"Actividad pendiente: **depurar los campos que se van a usar en la cotización**, para que sean los mismos que van a estar en el combo desplegable y coincidan con los campos que se van a estar planchando en [BIND]."*
> ⭐ **Éste es el origen de las "17 categorías" de Pedro** ([#67](REGISTRO.md)): de los **67 servicios** que Johann catalogó en el Excel a **17** depuradas. **Es la vía por la que se está resolviendo el hueco de conceptos/partidas** — no agregando un campo de partidas a Jira, sino limpiando el catálogo y volviendo combo la descripción.
>
> Dato fiscal capturado: horas de consultoría = **unidad SAT `E48`**.
### 6 · 🔴 La primera escritura real a BIND — ERROR 500, no se creó cotización (30:08–49:59)
- ✅ **El ticket creado en vivo se reflejó en la plataforma** de inmediato: *"ya se vio reflejado el ticket que hicimos aquí de prueba"*.
- ⚠️ **El cliente no se detectó:** el mapeo venía del `summary`/`description`, no de campos estructurados. Johann lo resolvió en vivo con el endpoint de clientes de BIND y seleccionó **CEMEX**.
- 🔴 **Al ejecutar el POST: error 500.** Diagnóstico en vivo: faltaban campos que el portal envía en ceros, y sobre todo **la lista de precios**.
- **Araceli:** *"nosotros realmente **no tenemos una lista de precios**… ese lo podríamos agarrar del monto, del [Jira]. Ya ves que te pusieron **monto sin IVA. Ese sería nuestra lista de precios**."* Noé imagina que BIND multiplica cantidad × precio del servicio, pero Araceli confirma que **ellos capturan el número directo** — Pedro: *"como campo abierto"*.
- Johann reintentó con un ítem existente; **la sesión cerró sin cotización creada**, con el compromiso de validar y avisar.
> 🚨 **Corrige la lectura del [#64](REGISTRO.md).** La capa llegó probada en dry-run con 73/73, pero **el primer POST real contra BIND falló**. La semántica de partidas (`Type`/`SelectedUnit`/lista de precios) no está resuelta, y es exactamente lo que hay que llevar cerrado a la sesión del 21-ago.
### 7 · Reglas de negocio que quedaron abiertas
- **Edición de cotizaciones (32:49–39:05):** Araceli necesita modificar cotizaciones ("siempre hay ajustes"). Verificó en vivo que **BIND conserva el mismo número al editar** (cotización `10.19`) y solo registra la modificación. La plataforma **no tiene edición implementada**. Noé plantea la disyuntiva —**historial de cotizaciones** (nuevo ticket o regenerar) vs. **modificar la misma**— y la deja como definición de Balam: *"creo que como regla tenemos que definirlo nosotros, para no andar trayendo a Johann arriba y abajo"*. Araceli se inclina por conservar historial.
- **Cancelaciones (41:53–45:06):** mientras no se timbre se puede cancelar libremente — *"mientras no las [timbremos] en CFDI, podemos cancelar y hacer las prefacturas que queramos"*. Ya timbrada: acuerdo con el cliente por correo → cancelación en el ERP → el despacho la cancela ante el SAT → **el cliente debe aceptarla en una liga del SAT**. **Decisión: el desarrollo NO ejecuta cancelaciones, pero sí debe llevar el récord** (*"esta factura se canceló y fue sustituida por esta"*).
### 8 · Otros acuerdos
- ☁️ **Azure sigue del lado de Balam.** Noé: *"Pendientes de nuestro lado hacia ti es el tema del ambiente de Azure… para que puedas irlo generando"* → *"eso lo resuelvo con Pedro"*. **No se exploró en la sesión**, pese a que el 11-ago se anunció que se vería aquí ([#63](REGISTRO.md)).
- 📼 **Grabaciones de BIND:** Pedro tiene videos de altas de proveedor/clientes y facturación y quedó de enviarlos al terminar. **No consta que hayan llegado.**
- 🗂️ **Herramienta de seguimiento del proyecto sin resolver:** el tablero de Jira para las actividades de Johann *"muy próximo iba a necesitar que sea de paga por el tipo de licencia"*; se barajan **SharePoint** y **Google Drive**. Noé prefiere Jira pero falta el permiso de admin para crear spaces. Sigue vigente lo asentado en [#58](REGISTRO.md): **el Excel de horas es, de facto, el sistema de seguimiento**.
- 🔒 **Candado reafirmado (Noé, 50:28):** *"esta es la primera prueba de escritura… habíamos acordado ser muy puntuales, **de no hacer más pruebas de lo que definiéramos**, para evitar errores o cosas en producción que puedan afectar"*. Johann ofrece **avisar a Pedro cada vez** que vaya a escribir una cotización o prefactura.
- 🔁 **Pedro quiere jalar los catálogos de BIND por API** para no capturar a mano (50:59). Johann ofrece dárselos en JSON o Excel — de hecho **ya se los había mandado esa mañana** ([#66](REGISTRO.md)).
> **Lectura estratégica:**
> - **La sesión cambió la gobernanza del proyecto y no quedó registro escrito.** Un cambio de PM anunciado solo de viva voz, en una grabación que estuvo ocho días fuera de la bitácora, es exactamente el riesgo que la regla de oro busca evitar.
> - **El Excel del [#66](REGISTRO.md) llegó una hora antes y se volvió el insumo de la sesión.** Sin él, Pedro no habría podido armar el formulario en vivo. La táctica de mandar "qué necesita el destino" se validó en tiempo real.
> - **El molde de Araceli nunca existió y ya no hará falta:** el camino real fue formulario nuevo + catálogo depurado, no un ticket de ejemplo. Los planes B y C del [#63](REGISTRO.md) quedaron sin usar.
> - 🔴 **El 500 es el pendiente técnico más caro que dejó la sesión** y sigue abierto ocho días después. La sesión del 21-ago es la segunda oportunidad de emitir la primera cotización real; conviene llegar con el shape del POST ya resuelto contra el nuevo formulario.
---