From 64f7146d86bf90dee5fb79b49f70ed729b9a8d66 Mon Sep 17 00:00:00 2001 From: Johann Date: Tue, 28 Jul 2026 23:28:11 -0600 Subject: [PATCH] =?UTF-8?q?Propuesta=20v1.3=20(Jira=E2=86=92BIND=20integra?= =?UTF-8?q?do)=20y=20plan-avance=20con=20Etapas=202-3=20por=20actividad=20?= =?UTF-8?q?diaria?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reemplaza el enfoque de adenda separada: la propuesta completa sube a v1.3 con la integración Jira→BIND incorporada en §1-2 (bloque de ajuste con entregables, candados fiscales y exclusiones), §4 (fila Ajuste 9-12 h / $5,400-$7,200; total 121-148 h / $72,600-$88,800), §7 (supuestos del token PAF y del flujo) y anexos A/B. PDF reconstruido con fuentes embebidas (antes dependía de fuentes de Windows) y fixes visuales: flechas en títulos serif, tabla de inversión sin partir, label A.4 sin huérfano. El Excel para Erika (Avance-Balam-2026-07-28.xlsx) extiende el formato del 27-jul con Etapas 2-3 y el ajuste Jira desglosados en actividades diarias cuyos rangos suman exactamente los contractuales; se rebalancearon los rangos de Etapa 1 (sumaban 34-42 vs 32-39 contractual) recortando las tres actividades con horas reales muy por debajo del estimado, con asserts que lo verifican. Verificado con 5 agentes (paridad MD↔HTML, cifras vs bitácora/CSV, formato y calendario, cobertura de entregables, PDF visual). Co-Authored-By: Claude Fable 5 --- planeacion/Avance-Balam-2026-07-28.xlsx | Bin 0 -> 9848 bytes planeacion/Horas-etapas-Balam-2026-07-28.xlsx | Bin 6780 -> 0 bytes planeacion/generar_horas_etapas_2026_07_28.py | 187 --------- .../generar_plan_completo_2026_07_28.py | 335 ++++++++++++++++ propuesta/00 - PROPUESTA-COMERCIAL.md | 68 +++- propuesta/01 - ADENDA-INTEGRACION-JIRA.md | 66 --- .../Adenda-01-Integracion-Jira-Balam.pdf | Bin 312404 -> 0 bytes propuesta/Adenda-01-Integracion-Jira.html | 377 ------------------ propuesta/Propuesta-Balam.html | 93 ++++- propuesta/Propuesta-Balam.pdf | Bin 2545677 -> 2819094 bytes propuesta/adenda-01.pdf.config.json | 32 -- propuesta/pdf.config.json | 6 +- 12 files changed, 458 insertions(+), 706 deletions(-) create mode 100644 planeacion/Avance-Balam-2026-07-28.xlsx delete mode 100644 planeacion/Horas-etapas-Balam-2026-07-28.xlsx delete mode 100644 planeacion/generar_horas_etapas_2026_07_28.py create mode 100644 planeacion/generar_plan_completo_2026_07_28.py delete mode 100644 propuesta/01 - ADENDA-INTEGRACION-JIRA.md delete mode 100644 propuesta/Adenda-01-Integracion-Jira-Balam.pdf delete mode 100644 propuesta/Adenda-01-Integracion-Jira.html delete mode 100644 propuesta/adenda-01.pdf.config.json diff --git a/planeacion/Avance-Balam-2026-07-28.xlsx b/planeacion/Avance-Balam-2026-07-28.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..82d5fdede5b930a229bbd9bb72f611c570ae7c53 GIT binary patch literal 9848 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 literal 0 HcmV?d00001 diff --git a/planeacion/Horas-etapas-Balam-2026-07-28.xlsx b/planeacion/Horas-etapas-Balam-2026-07-28.xlsx deleted file mode 100644 index d664396cc77e6a1c345067b669cfb6c287c1d252..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6780 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 zð#K@=g?gI8e&)=q#^EfyAI<}WIn-Kp6*M&hR`4z$2ALL1+ne0X$Y zU88ajQis<)QO0I+?N>JvA26f{$#BD@k!9MHkA;52cQX)L@K2ZGadztrgqOtlx>zDv zko;n(ZpaGeQbuKBMklovHltM>IhUde5L3-YAwG#1+g#6YbqVcx$&?$&!CRc>@P42q z?bLXnC=FO*Xo9#m@!e%HPs1;0gXV)ee*wHijZ`*e?;XJGf;q*FWh&iKhMLYEW=Q#q zN)h>9?;4fVwm-4-N&CeQoC%%*sig8qH%Y_Rmum&@pbJ5d&$_b;IHow_1pt8k)SA)% z>duZ%Zq^{jKYr{Mb!@8! z7+uI5@2rC)zlJT&SbH0}KF|36J1-Gvk4GLftGBVI7|GiEYc^Ij#=M%bELj)Wd`Z6RZYEmKXl{7g3y_RRHko|-vt7mjuc)4DqqFIe=ws(m*eG<&I%@X)yu#8c(p*dMF zW7X1F*$n+&2X|y-7${xYxU#RCWx4S-h`;DTZIBNtt=R1ab2~l4Lu8*M+lE@BzZ*D& z`a5Y`ZHuwWL?+%%W(eiTn6++cx+h+L*QP+zcmlwdh1qimONu<^ACXIqWwm2?7mdl? zz*%3IfnEC}MGP=_WR@%RVF-fTvL5t0;``%65VE|n5|y5tpJXRKV` zq*o+h*6?Vas^HFU(ebLGRn7{Yu=%sj%>!t+IjLniTdR^vy1jOpU+)7WZs+6;tmeFysNgNNpIw}v&RH&^D4_GKhqma46+%)uLq`kODimnv`PZJu@N zK{3U8Q<~YPB=8yK8wL4aMdp=s?k>&w*FKbApgttE5x*(8PO|T>D6BQHSFD^d*XU;N zPnmEA@G|8h>o{K5xkQ#U+{gAgvOTI1C9xGN088gH3;sztXjMNT#}I zl$#x;0GuKw1-wrWELsDDg|sgc4SpQZ?^IaZT!Yd*ncNN@=9eFpbm7cZ`Ri*t%Dpd3 zuhR(Nf>Bd~(V$WWcAaE)8C>E>zfOhEC_GPuD_x)hjSuW?8|439RoA}R3vGMKSA19i z0QG4!asXL7va|hhPmNKqh2=yOhhT$@6brgwIg5XmNd=?Ug=}Yi?}|3ti2Dn!sGA)6lF3g6;ix^m&bdYJ9KtI z5taEy+K%NsI$JT!ISwM4w%C$=mSbvC<+{A{cs81kD{|eM%8?T?J|m4x2QIsY|F@#& z;Ho<7Ct5E3Nl}cy3e+FJ4<=yn$3IF`M6{~%0tZ@et2};c7x4jQV9%~QHf#;$+ZXL! z%mdYI)v{{?C-&jWVtG0HJ_Knotv2^}wap9IV#Oh3L+ZzztaTNsvaJlE8ZManb9rQ$ zTe@p2uW6SFCTp}iiKdbPs-gZB!c2rsIN6DU`>~{!>F;yW+Ib6JM6JBhup>OM5)f!K zQQv36&Uefs8IINqu(>gc%5m!o_;}9X%`9{$qK(60(q?YKq^BDzIQKx)V;;J8_jY*0 z6SQr*hOb@rfZ5Xj>ap$>G-8bSxU)i{*m;H=}E+HUTYJ1S{P1$NrWR zrcLA=f->dYy=9@hykqeB#Wzm<=UoV07i`I68`9iB9NNS1e$+`gBOdmB@`{#t zedRyF;P5CW&zCY|WZKl*(C@ImeATWS!w{9ju%~}hp_J`2h>gXLVEMIjH`d!dM=Z!- z;XtdN7y72IgmUG4Zw>X|(U%-389@A`;LKBt{Db|}lLFg1foz?OG~Db!js|~3U`Z@g z>4_TdG0OS%$%>obPJE9ooO!;(QgUm^da9Q~U@R?p>?;~i~Ltts4) zpt;C9Hz{25FXB@^vD$%1Y1E%&m9QUkQ-js29T3;N>OC--Tw#^rFM!wX)xNritRN^U zI19OD07rYMGLN&|T(drW3`iTYzP56KA%7yxQ18&!-t$`DPBJZ|GMMt5c~#@LyH8wr zpfxj2vuv+rW+m*d1s~t#^yU`Xr 120 else 16 - r += 1 - -ws.freeze_panes = f"A{FILA_ENC + 1}" -ws.sheet_view.showGridLines = False -ws.print_area = f"A1:E{r}" -ws.page_setup.orientation = "landscape" -ws.page_setup.fitToWidth = 1 -ws.sheet_properties.pageSetUpPr.fitToPage = True - -wb.save(DST) -print("OK ->", DST) -print(f" E0 {E0:.2f} h · E1 {E1:.2f} h · total {TOTAL:.2f} h · " - f"v1.2 {SUB_MIN}–{SUB_MAX} h · con adenda {TOT_MIN}–{TOT_MAX} h") diff --git a/planeacion/generar_plan_completo_2026_07_28.py b/planeacion/generar_plan_completo_2026_07_28.py new file mode 100644 index 0000000..5cd11a2 --- /dev/null +++ b/planeacion/generar_plan_completo_2026_07_28.py @@ -0,0 +1,335 @@ +"""Genera Avance-Balam-2026-07-28.xlsx — plan y avance COMPLETO para Erika. + +Pedido por Erika el 27-28 jul: el conteo de horas de cada etapa (base de la +facturación) en el mismo formato de los exceles anteriores, extendido a las +Etapas 2 y 3 desglosadas por actividades diarias. + +Etapas 0-1 (hechas/en curso) se leen del Excel interno +(`Plan-actividades-avance-2026-07-27.xlsx`), que a su vez sale de +`Seguimiento-horas.csv` — una sola fuente de datos. Las Etapas 2-3 y el ajuste +Jira → BIND se planifican aquí con los rangos contractuales de la propuesta +v1.3 (§2 y §4): E2 38–46 h · E3 24–29 h · Jira 9–12 h · total 121–148 h. +""" +import os +import re +from datetime import date + +import openpyxl +from openpyxl.styles import Alignment, Border, Font, PatternFill, Side +from openpyxl.utils import get_column_letter + +BASE = os.path.dirname(os.path.abspath(__file__)) +SRC = os.path.join(BASE, "Plan-actividades-avance-2026-07-27.xlsx") +DST = os.path.join(BASE, "Avance-Balam-2026-07-28.xlsx") + +# Marca Balam +CAFE, AMARILLO, CREMA = "331F0E", "F7BD0C", "FDF3D8" +V_FILL, V_FONT = "C6EFCE", "006100" # verde +A_FILL, A_FONT = "FFEB9C", "9C6500" # amarillo +R_FILL, R_FONT = "FFC7CE", "9C0006" # rojo +GRIS = "595959" +BORDE = "D9D9D9" + +thin = Side(style="thin", color=BORDE) +box = Border(left=thin, right=thin, top=thin, bottom=thin) + +# Columnas del origen (interno 27-jul) +O_NOMBRE, O_INI, O_FIN, O_PCT, O_EST, O_TRAB, O_STAT = 1, 3, 4, 7, 9, 10, 11 + +# Estatus del interno que quedaron amarrados a la "sesión del 28-jul" — +# la sesión se movió a revisión interna de Balam (REGISTRO #58). +REEMPLAZOS_STAT = { + "🔴 Diseño listo · impl. en pausa (def. Balam 28-jul)": + "🔴 Diseño listo · impl. en pausa (flujo en revisión interna de Balam)", + "🟡 Conectividad lista · falta regla 28-jul": + "🟡 Conectividad lista · falta regla (revisión interna de Balam)", +} + +# Los rangos por actividad del interno sumaban 34–42 h en Etapa 1, fuera del +# rango contractual de 32–39 (tope de facturación $23,400). Se recortan las +# tres actividades cuyas horas reales quedaron muy por debajo del estimado, +# para que la descomposición sume exactamente 32–39. +REEMPLAZOS_EST = { + "Sincronización de clientes": "1.5–2", # antes 2.5–3 (real: 0.5) + "Sincronización de facturas y cotizaciones": "4–4.5", # antes 4.5–5.5 (real: 0.5) + "Modelo de facturas + migraciones + datos de prueba": "3–3.5" # antes 3.5–4.5 (real: 0.5) +} + + +def limpia_fecha(txt): + """'vie 24/07/26' -> '24/07/2026'.""" + m = re.search(r"(\d{2})/(\d{2})/(\d{2})", str(txt or "")) + return f"{m.group(1)}/{m.group(2)}/20{m.group(3)}" if m else "" + + +# --- Lee Etapas 0-1 del interno ---------------------------------------------- +wsrc = openpyxl.load_workbook(SRC).active +hechas = [] # filas E0/E1 (encabezados de etapa + actividades) +trab_por_etapa = {} +for row in range(2, wsrc.max_row + 1): + nombre = str(wsrc.cell(row=row, column=O_NOMBRE).value or "").strip() + if not nombre or nombre.startswith(("✅", "▬", "Horas:", "Etapa 1:", "🔴", "Pendientes", + "API de Jira", "Núcleo")): + continue + if nombre.startswith("Integracion"): + trab_por_etapa["TOTAL"] = float(wsrc.cell(row=row, column=O_TRAB).value or 0) + continue + es_etapa = nombre.startswith("Etapa") + if es_etapa: + trab_por_etapa[nombre] = float(wsrc.cell(row=row, column=O_TRAB).value or 0) + stat = str(wsrc.cell(row=row, column=O_STAT).value or "").strip() + est = str(wsrc.cell(row=row, column=O_EST).value or "") + hechas.append({ + "nombre": nombre, + "ini": limpia_fecha(wsrc.cell(row=row, column=O_INI).value), + "fin": limpia_fecha(wsrc.cell(row=row, column=O_FIN).value), + "pct": wsrc.cell(row=row, column=O_PCT).value or 0, + "est": REEMPLAZOS_EST.get(nombre, est), + "trab": wsrc.cell(row=row, column=O_TRAB).value, + "stat": REEMPLAZOS_STAT.get(stat, stat), + "etapa": es_etapa, + }) + +E0, E1 = trab_por_etapa["Etapa 0"], trab_por_etapa["Etapa 1"] +TOTAL = trab_por_etapa["TOTAL"] +assert abs((E0 + E1) - TOTAL) < 0.01, f"Horas no cuadran: {E0}+{E1} != {TOTAL}" + + +def suma_est(filas): + lo = hi = 0.0 + for f in filas: + est = f["est"] if isinstance(f, dict) else f + if not est or est == "—": + continue + p = est.replace("–", "-").split("-") + lo += float(p[0]) + hi += float(p[-1]) + return lo, hi + + +# Las actividades de E0 y E1 deben sumar exactamente su rango contractual. +_secciones = {} +_actual = None +for f in hechas: + if f["etapa"]: + _actual = f["nombre"] + else: + _secciones.setdefault(_actual, []).append(f) +assert suma_est(_secciones["Etapa 0"]) == (18, 22), \ + f"Etapa 0: actividades suman {suma_est(_secciones['Etapa 0'])} != (18, 22)" +assert suma_est(_secciones["Etapa 1"]) == (32, 39), \ + f"Etapa 1: actividades suman {suma_est(_secciones['Etapa 1'])} != (32, 39)" + +# --- Plan de Etapas 2-3 y ajuste Jira (actividades diarias) ------------------- +PROX = "⚪ Próxima" +PROX_FLUJO = "⚪ Próxima · requiere flujo de facturación definido" +PROX_JIRA = "⚪ Próxima · sujeta a aprobación (v1.3) y flujo definido" + +# (nombre, ini, fin, est_min, est_max, estatus) +ETAPA2 = ("Etapa 2 — Facturación (consulta y emisión), catálogo y multimoneda", + "29/07/2026", "12/08/2026", 38, 46, [ + ("Andamiaje del frontend (Angular): proyecto, login y guardias por rol", + "29/07/2026", "30/07/2026", "4–5", PROX), + ("Layout base con la identidad de marca; gestión de estado y caché", + "30/07/2026", "31/07/2026", "3–4", PROX), + ("Listado de facturas: filtros, búsqueda, paginación y ordenamiento", + "31/07/2026", "03/08/2026", "6–7", PROX), + ("Detalle de factura con descarga de PDF/XML desde BIND", + "04/08/2026", "04/08/2026", "3–4", PROX), + ("Catálogo de clientes con lista blanca configurable (editable por rol Administración)", + "05/08/2026", "05/08/2026", "3–4", PROX), + ("Tipo de cambio del DOF: proceso programado y captura al facturar", + "06/08/2026", "06/08/2026", "2", PROX), + ("Creación de cotizaciones desde la plataforma (con simulación dry-run)", + "06/08/2026", "07/08/2026", "5–6", PROX_FLUJO), + ("Conversión cotización→factura con confirmación humana (MXN con IVA / USD sin IVA)", + "10/08/2026", "11/08/2026", "5–6", PROX_FLUJO), + ("Exportación de facturas y clientes a CSV/XLSX", + "11/08/2026", "11/08/2026", "2", PROX), + ("Pruebas integrales del flujo de emisión + manual de usuario", + "12/08/2026", "12/08/2026", "5–6", PROX), +]) + +ETAPA3 = ("Etapa 3 — Cobranza, tablero, reportes y cierre", + "13/08/2026", "21/08/2026", 24, 29, [ + ("Módulo de cobranza: antigüedad de cartera 30/60/90 y vistas por vencer/vencidas", + "13/08/2026", "14/08/2026", "5–6", PROX), + ("Alertas internas configurables + aplicación de la lista blanca", + "14/08/2026", "17/08/2026", "4–5", PROX), + ("Tablero directivo con indicadores de cuentas por cobrar", + "17/08/2026", "18/08/2026", "4–5", PROX), + ("Reporte operativo configurable (frecuencia, destinatarios, CSV/XLSX/PDF)", + "19/08/2026", "19/08/2026", "3–4", PROX), + ("Endurecimiento de seguridad, secretos, respaldos y plan de recuperación", + "20/08/2026", "20/08/2026", "3–4", PROX), + ("Documentación técnica: README, runbook y ADRs", + "20/08/2026", "21/08/2026", "2", PROX), + ("Sesión de capacitación grabada + transferencia y cierre", + "21/08/2026", "21/08/2026", "3", PROX), + ("Soporte posterior al lanzamiento (2 semanas, corrección de defectos — sin costo)", + "24/08/2026", "04/09/2026", "—", "⚪ Incluida en el cierre · sin costo"), +]) + +JIRA = ("Integración Jira → BIND (ajuste propuesta v1.3, en aprobación)", + "04/08/2026", "07/08/2026", 9, 12, [ + ("Cliente de la API de Jira (token PAF): lectura de tickets FAC y control de límites", + "04/08/2026", "05/08/2026", "3–4", PROX_JIRA), + ("Disparador por estatus → generación automática de la cotización en BIND", + "05/08/2026", "06/08/2026", "4–5", PROX_JIRA), + ("Trazabilidad ticket↔cotización↔factura, alimentación del tablero y prueba observada", + "07/08/2026", "07/08/2026", "2–3", PROX_JIRA), +]) + + +def suma_rangos(acts): + lo = hi = 0 + for _, _, _, est, _ in acts: + if est == "—": # filas sin costo (soporte incluido) no suman + continue + p = est.split("–") + lo += float(p[0]) + hi += float(p[-1]) + return lo, hi + + +for titulo, _, _, lo, hi, acts in (ETAPA2, ETAPA3, JIRA): + slo, shi = suma_rangos(acts) + assert (slo, shi) == (lo, hi), f"{titulo}: actividades {slo}–{shi} != rango {lo}–{hi}" + +TOT_MIN = 18 + 32 + ETAPA2[3] + ETAPA3[3] + JIRA[3] # 121 +TOT_MAX = 22 + 39 + ETAPA2[4] + ETAPA3[4] + JIRA[4] # 148 +PCT_GLOBAL = round(TOTAL / ((TOT_MIN + TOT_MAX) / 2), 2) + +# --- Construcción ------------------------------------------------------------- +wb = openpyxl.Workbook() +ws = wb.active +ws.title = "Plan y avance" + +ws["A1"] = "Proyecto Balam · Plataforma de Automatización Financiera" +ws["A1"].font = Font(bold=True, size=14, color=CAFE) +ws["A2"] = ("Plan y avance al 28-jul-2026 · horas trabajadas al corte del lunes 27-jul · " + "Etapas 2-3 y ajuste Jira desglosados por actividad diaria") +ws["A2"].font = Font(size=10, italic=True, color=GRIS) + +ENC = ["Actividad", "Inicio", "Fin", "Avance", "Horas\nestimadas", "Horas\ntrabajadas", "Estatus"] +ANCHOS = [56, 12, 12, 9, 11, 11, 40] +FILA_ENC = 4 + +for i, (txt, ancho) in enumerate(zip(ENC, ANCHOS), start=1): + c = ws.cell(row=FILA_ENC, column=i, value=txt) + c.font = Font(bold=True, size=10, color=CAFE) + c.fill = PatternFill("solid", fgColor=AMARILLO) + c.alignment = Alignment(horizontal="center", vertical="center", wrap_text=True) + c.border = box + ws.column_dimensions[get_column_letter(i)].width = ancho +ws.row_dimensions[FILA_ENC].height = 26 + + +def pinta_fila(r, nombre, ini, fin, pct, est, trab, stat, etapa=False): + c = ws.cell(row=r, column=1, value=nombre) + c.font = Font(bold=etapa, size=10, color=CAFE) + c.alignment = Alignment(vertical="center", wrap_text=True, indent=0 if etapa else 1) + + for col, val in ((2, ini), (3, fin)): + cc = ws.cell(row=r, column=col, value=val) + cc.font = Font(size=9, color=GRIS) + cc.alignment = Alignment(horizontal="center", vertical="center") + + cp = ws.cell(row=r, column=4, value=pct) + cp.number_format = "0%" + cp.alignment = Alignment(horizontal="center", vertical="center") + if pct >= 1: + cp.font = Font(bold=True, size=10, color=V_FONT) + cp.fill = PatternFill("solid", fgColor=V_FILL) + elif pct > 0: + cp.font = Font(bold=True, size=10, color=A_FONT) + cp.fill = PatternFill("solid", fgColor=A_FILL) + else: + cp.font = Font(size=10, color=GRIS) + + ce = ws.cell(row=r, column=5, value=est) + ce.font = Font(bold=etapa, size=10, color=CAFE) + ce.alignment = Alignment(horizontal="center", vertical="center") + + ct = ws.cell(row=r, column=6, value=trab if trab not in (None, "") else "—") + if isinstance(trab, (int, float)): + ct.number_format = "0.00" + ct.font = Font(bold=etapa, size=10, color=CAFE) + ct.alignment = Alignment(horizontal="center", vertical="center") + + cs = ws.cell(row=r, column=7, value=stat) + cs.alignment = Alignment(horizontal="left", vertical="center", wrap_text=True) + cs.font = Font(size=9, color=GRIS) + if stat.startswith("✅"): + cs.font = Font(size=9, color=V_FONT); cs.fill = PatternFill("solid", fgColor=V_FILL) + elif stat.startswith("🟡"): + cs.font = Font(size=9, color=A_FONT); cs.fill = PatternFill("solid", fgColor=A_FILL) + elif stat.startswith("🔴"): + cs.font = Font(size=9, bold=True, color=R_FONT); cs.fill = PatternFill("solid", fgColor=R_FILL) + + for col in range(1, 8): + ws.cell(row=r, column=col).border = box + if etapa and col in (1, 2, 3): + ws.cell(row=r, column=col).fill = PatternFill("solid", fgColor=CREMA) + + +r = FILA_ENC + 1 +pinta_fila(r, "Integracion de plataformas Balam", "01/07/2026", "21/08/2026", + PCT_GLOBAL, f"{TOT_MIN:.0f}–{TOT_MAX:.0f}", TOTAL, "", etapa=True) +r += 1 + +for f in hechas: + pinta_fila(r, f["nombre"], f["ini"], f["fin"], f["pct"], f["est"], f["trab"], + f["stat"], etapa=f["etapa"]) + r += 1 + +for titulo, ini, fin, lo, hi, acts in (ETAPA2, ETAPA3, JIRA): + pinta_fila(r, titulo, ini, fin, 0, f"{lo}–{hi}", None, "", etapa=True) + r += 1 + for nombre, aini, afin, est, stat in acts: + pinta_fila(r, nombre, aini, afin, 0, est, None, stat) + r += 1 + +# --- Leyenda y notas ---------------------------------------------------------- +r += 1 +leyenda = "✅ Completada · 🟡 En curso · 🔴 Pendiente/bloqueada · ⚪ Próxima" +notas = [ + (leyenda, False), + (f"Horas trabajadas al corte del lunes 27-jul: {E0:.2f} h en Etapa 0 (cerrada y " + f"validada, rango 18–22 h) y {E1:.2f} h en Etapa 1 ({TOTAL:.2f} h en total). " + "Las horas por etapa son la base de la facturación (tarifa $600/h + IVA).", True), + ("Etapas 2 y 3 desglosadas por actividad diaria con sus rangos estimados " + "(38–46 h y 24–29 h). Las fechas planificadas asumen media jornada en promedio " + "y están sujetas a la definición del flujo de facturación (en revisión interna " + "de Balam) y al acceso a Azure. El soporte post-lanzamiento (2 semanas, sin " + "costo) corre del 24-ago al 4-sep, después del cierre.", False), + ("Integración Jira → BIND (9–12 h): ajuste no contemplado en la propuesta " + "original, incorporado en la propuesta ajustada v1.3; se ejecuta tras su " + "aprobación por escrito y una vez definido el flujo. De aprobarse, corre en " + "paralelo con la Etapa 2 la semana del 4-ago.", False), + (f"Total del plan con el ajuste: {TOT_MIN:.0f}–{TOT_MAX:.0f} h. El avance global " + f"({PCT_GLOBAL:.0%}) se calcula sobre el plan completo; el corte anterior (80%) " + "se calculaba solo sobre las Etapas 0-1.", False), + ("En Etapa 1 siguen abiertos: capa de escritura (en pausa por la definición del " + "flujo), datos de prueba, y Azure/CI-CD (accesos del lado de Balam).", False), +] +for txt, bold in notas: + c = ws.cell(row=r, column=1, value=txt) + c.font = Font(italic=True, size=9, color=CAFE, bold=bold) + c.alignment = Alignment(wrap_text=True, vertical="top") + ws.merge_cells(start_row=r, start_column=1, end_row=r, end_column=7) + ws.row_dimensions[r].height = 28 if len(txt) > 120 else 14 + r += 1 + +ws.freeze_panes = f"A{FILA_ENC + 1}" +ws.sheet_view.showGridLines = False +ws.print_area = f"A1:G{r}" +ws.page_setup.orientation = "landscape" +ws.page_setup.fitToWidth = 1 +ws.sheet_properties.pageSetUpPr.fitToPage = True + +wb.save(DST) +print("OK ->", DST) +print(f" E0 {E0:.2f} h · E1 {E1:.2f} h · trabajadas {TOTAL:.2f} h · " + f"plan {TOT_MIN:.0f}–{TOT_MAX:.0f} h · avance global {PCT_GLOBAL:.0%} · " + f"filas E2 {len(ETAPA2[5])} · E3 {len(ETAPA3[5])} · Jira {len(JIRA[5])}") diff --git a/propuesta/00 - PROPUESTA-COMERCIAL.md b/propuesta/00 - PROPUESTA-COMERCIAL.md index fa512bd..f052fbc 100644 --- a/propuesta/00 - PROPUESTA-COMERCIAL.md +++ b/propuesta/00 - PROPUESTA-COMERCIAL.md @@ -5,8 +5,8 @@ |---|---| | **Preparada para** | Noe Rocha (CTO) · Araceli Sánchez Jiménez (CEO/Operaciones) · Erika Chávez (PM) · Pedro Alberto Ayala Elizondo (Contacto técnico) | | **Preparada por** | Johann Velazquez — Consultor de Software · Monterrey, N.L. | -| **Fecha** | Mayo 2026 (actualizada julio 2026) | -| **Versión** | 1.2 — facturación inicial de 30 h explícita y condiciones comerciales consolidadas (ajuste post-kickoff, 1-jul-2026). Base: v1.1 con ajustes acordados el 8-jun-2026 | +| **Fecha** | Mayo 2026 (actualizada al 28 de julio de 2026) | +| **Versión** | 1.3 — integración Jira → BIND incorporada al alcance conforme al control de cambios (§10), ajuste del 28-jul-2026. Base: v1.2 (facturación inicial de 30 h explícita y condiciones comerciales consolidadas, 1-jul-2026) | | **Vigencia** | 30 días naturales a partir de la fecha de emisión | --- @@ -15,16 +15,16 @@ Balam opera hoy un proceso financiero fragmentado: facturación, cobranza, conciliación y contabilidad viven en sistemas que no se comunican, y el trabajo de unirlos recae en personas. Cada traspaso manual introduce error, retrabajo y demoras de cobranza que erosionan la relación con los clientes estratégicos. -Esta propuesta plantea una **primera etapa enfocada**: una plataforma web que centraliza la facturación y las cuentas por cobrar sobre **BIND ERP**, el sistema ya confirmado como fuente de verdad. El MVP permite **emitir facturas en MXN y USD** desde la plataforma —creando la cotización y convirtiéndola en factura a través de la API de BIND, que conserva el timbrado CFDI— y entrega además visibilidad, dashboard, alertas y reglas de cobranza. Toda emisión opera con **confirmación humana y modo de simulación**, de modo que la prioridad #1 de Balam (facturación) se atiende sin asumir riesgos fiscales. La arquitectura queda preparada para incorporar conciliación bancaria, pagos en línea, contabilidad e integraciones adicionales conforme se validen. +Esta propuesta plantea una **primera etapa enfocada**: una plataforma web que centraliza la facturación y las cuentas por cobrar sobre **BIND ERP**, el sistema ya confirmado como fuente de verdad. El MVP permite **emitir facturas en MXN y USD** desde la plataforma —creando la cotización y convirtiéndola en factura a través de la API de BIND, que conserva el timbrado CFDI— y entrega además visibilidad, dashboard, alertas y reglas de cobranza. Toda emisión opera con **confirmación humana y modo de simulación**, de modo que la prioridad #1 de Balam (facturación) se atiende sin asumir riesgos fiscales. Con el **ajuste de julio de 2026**, el alcance incorpora además la **integración con Jira**: los tickets de la bandeja de Facturación generan automáticamente su cotización en BIND, conservando los mismos candados de control. La arquitectura queda preparada para incorporar conciliación bancaria, pagos en línea, contabilidad e integraciones adicionales conforme se validen. En síntesis: -- **Alcance:** MVP de facturación (consulta y **emisión asistida** MXN/USD) y cobranza sobre la API de BIND ERP. -- **Plazo:** 6 a 7 semanas, a media dedicación. -- **Inversión:** **$67,200 – $81,600 MXN** + IVA, bajo esquema de tiempo y materiales con tope por etapa. +- **Alcance:** MVP de facturación (consulta y **emisión asistida** MXN/USD) y cobranza sobre la API de BIND ERP, más la **integración acotada con Jira** (generación automática de cotizaciones desde la bandeja de Facturación — ajuste jul-2026). +- **Plazo:** 6 a 8 semanas, a media dedicación. +- **Inversión:** **$72,600 – $88,800 MXN** + IVA, bajo esquema de tiempo y materiales con tope por etapa (incluye el ajuste Jira → BIND de 9 – 12 h). - **Modelo:** transparencia total de horas, entregables verificables semana a semana, y código propiedad de Balam desde el primer día. -El enfoque responde directamente a la indicación del CTO de priorizar facturación e integrar únicamente BIND en esta primera fase, evitando comprometer alcance que dependa de integraciones aún no disponibles o no prioritarias. +El enfoque responde directamente a la indicación del CTO de priorizar facturación y BIND en esta primera fase, evitando comprometer alcance que dependa de integraciones aún no disponibles o no prioritarias. La integración con Jira —originalmente diferida— se incorporó en julio de 2026 como ajuste de alcance, una vez que la propia dirección confirmó que el proceso de facturación se gobierna en Jira y que su API cubre lo necesario. --- @@ -36,11 +36,12 @@ Durante la sesión con el equipo directivo, la lectura del requerimiento fue cla ### 1.2 Contexto que define el alcance -Tras la sesión de seguimiento y las actualizaciones del CTO del 25 de mayo, tres factores reordenan el alcance del MVP: +Tras la sesión de seguimiento y las actualizaciones del CTO del 25 de mayo, cuatro factores reordenan el alcance del MVP: 1. **BIND ERP cuenta con API oficial** (`api.bind.com.mx`, OData v3, 20,000 solicitudes/día). Esto permite una integración por API en tiempo cercano a real, superando el supuesto inicial de exportación manual de archivos. 2. **La dirección técnica priorizó la facturación.** Conforme a la indicación de considerar "únicamente BIND ERP en una primera etapa", funcionalidades como pagos en línea, conciliación bancaria, recordatorios automáticos a clientes y asientos contables se difieren de manera explícita a fases posteriores. 3. **BUK dispone de API**, confirmada por el equipo de Balam, aunque no constituye una prioridad inmediata. Queda contemplada en el roadmap sin condicionar el MVP. +4. **El proceso interno evolucionó hacia Jira** (confirmado por la dirección en julio de 2026): hoy todo el flujo de facturación nace y se gobierna en Jira — *"lo que no está en Jira no se procesa"* — con una bandeja dedicada (**Facturación**, llave `FAC-`) y un flujo de estatus formal. Por ello, la integración con Jira se incorporó al alcance como **ajuste conforme al control de cambios** (§10), detallado en la §2. ### 1.3 Sistemas actuales @@ -48,7 +49,7 @@ Tras la sesión de seguimiento y las actualizaciones del CTO del 25 de mayo, tre |---|---|---| | **BIND ERP** | Facturación y contabilidad con PAC integrado | Integración principal (API confirmada) | | **BUK** | Recursos humanos, contratos, nómina | Fuera de alcance (API disponible, fase posterior) | -| **Jira** | Gestión de proyectos y servicios | Fuera de alcance | +| **Jira** | Gestión de proyectos y servicios; origen operativo del proceso de facturación | **Integración acotada (ajuste jul-2026):** lectura de la bandeja Facturación y generación automática de cotizaciones en BIND | | **Banca (3 instituciones)** | 2 México + IBC Bank Texas, estados en PDF | Fuera de alcance | ### 1.4 Solución propuesta @@ -58,6 +59,7 @@ Se propone una **capa de operaciones financieras sobre BIND ERP**, no un reempla **Alcance funcional del MVP:** - Integración con BIND ERP vía API: lectura primero y **escritura asistida** una vez validada en Discovery. +- **Integración con Jira (ajuste jul-2026):** lectura de los tickets de la bandeja **Facturación (`FAC-`)** y generación automática de la cotización en BIND al alcanzar el estatus disparador que Balam defina, mediante la misma capa de escritura controlada y con trazabilidad ticket ↔ cotización ↔ factura. - **Emisión de facturas desde la plataforma:** creación de cotización y conversión a factura en MXN (con IVA) y USD (sin IVA, para clientes extranjeros) a través de la API de BIND, con timbrado a cargo del PAC de BIND, confirmación humana obligatoria y modo de simulación (*dry-run*) previo a cada emisión. - Catálogo central de clientes con lista blanca configurable (ACUNTIA + Top 3). - Vista unificada de facturación: estados, vencimientos, filtros y descarga de PDF/XML. @@ -87,6 +89,7 @@ La incorporación posterior de pagos en línea, recordatorios automáticos, conc - Reducción medible del trabajo manual de consulta y reporteo sobre BIND. - Aplicación correcta de la lista blanca: ACUNTIA y Top 3 nunca reciben recordatorios automáticos masivos. - Entrega del MVP funcional en el plazo comprometido, con alcance acotado y sin desviaciones. +- Trazabilidad ticket de Jira → cotización → factura sin captura manual duplicada, una vez definido el flujo de facturación. - Control fiscal: ninguna factura se emite sin confirmación humana explícita; el timbrado CFDI permanece a cargo del PAC de BIND. ### 1.6 Escala operativa de referencia @@ -122,7 +125,7 @@ La selección tecnológica privilegia robustez empresarial, mantenibilidad a lar > **Sobre las versiones.** Las versiones indicadas son la referencia vigente a mayo de 2026; se fijan al inicio del proyecto sobre la rama estable/LTS de cada tecnología. Se prioriza **.NET 10** por ser versión de soporte extendido (LTS), apropiada para una aplicación financiera de largo plazo. -El proyecto se organiza en cuatro etapas secuenciales. Cada una concluye con un entregable demostrable y se factura conforme a horas reales (ver §3). +El proyecto se organiza en cuatro etapas secuenciales, más el **ajuste Jira → BIND** incorporado en julio de 2026 (al final de esta sección). Cada bloque concluye con un entregable demostrable y se factura conforme a horas reales (ver §3). ### Etapa 0 — Discovery, infraestructura y prototipo visual · *Semana 1 · 18 – 22 h* @@ -195,6 +198,27 @@ El proyecto se organiza en cuatro etapas secuenciales. Cada una concluye con un > **Fuera de esta etapa:** recordatorios automáticos a clientes, pagos en línea, conciliación bancaria, asientos contables automáticos e integración bancaria en vivo. +### Integración Jira → BIND — ajuste de alcance (jul-2026) · *se ejecuta junto con las Etapas 2-3 · 9 – 12 h* + +**Antecedente.** La versión anterior de esta propuesta dejó Jira fuera del alcance conforme a la información disponible al cotizar. En las sesiones del 22, 24 y 27 de julio la dirección confirmó que el proceso interno evolucionó — todo el flujo de facturación nace y se gobierna en Jira — y quedó confirmada la viabilidad técnica: la API de Jira cubre lectura y escritura de tickets, se entregó el token de integración (**"PAF"**, vigente al 27-jul-2027) y se documentaron los límites de consumo de Atlassian. La estimación (~10 h) se comunicó a la PM el 21 de julio; esta sección la formaliza conforme al control de cambios (§10). + +**Entregables:** + +- **Conexión con la API de Jira** mediante el token PAF y lectura de los tickets de la bandeja **Facturación (`FAC-`)**, con consumo autorregulado conforme a los límites de velocidad documentados por Atlassian. +- **Generación automática de la cotización en BIND** cuando un ticket alcanza el estatus disparador que Balam defina (candidato natural: la entrada del ticket al proceso de facturación, previo a "resuelto"), a través de la misma capa de escritura controlada del MVP. +- **Trazabilidad ticket ↔ cotización ↔ prefactura/factura**, visible en la plataforma y registrada en la bitácora de auditoría; los tickets leídos alimentan además la vista *"qué necesita atención"* del tablero. +- **Pruebas controladas:** scripts de consulta y de creación/edición sobre un registro de prueba, y una **prueba observada** con el equipo de Balam antes de habilitar la generación automática en operación. + +``` +Ticket Jira (FAC) → Cotización BIND (automática) → Prefactura → Aprobación humana → Timbrado (PAC de BIND) +``` + +> **El control fiscal no cambia.** La integración crea **cotizaciones, nunca facturas**: se mantiene la cadena acordada — cotización → prefactura → **aprobación humana** → timbrado por el PAC de BIND — con modo de simulación (*dry-run*), feature flag y registro en bitácora. No existe timbrado automático. + +**No incluye:** (a) el **alta automática de clientes en BIND** — si el cliente del ticket no existe, la plataforma lo detecta y lo notifica; darlo de alta automáticamente es una decisión de proceso abierta que, de aprobarse, se estima por separado; (b) **tickets con múltiples facturas** — el supuesto es *un ticket → una cotización*; el manejo del caso masivo se define junto con Balam y, si requiere desarrollo adicional, se estima por separado; (c) **otros usos de Jira** (reporteo de horas de consultores, tableros sobre otras bandejas, espacio comercial) y los módulos del Anexo B. + +> **Dependencia clave.** La implementación inicia una vez que Balam cierre la **definición del flujo de facturación** (en revisión interna), de la cual salen el estatus disparador y las reglas de prefactura. + --- ## 3. Modelo de colaboración @@ -212,7 +236,7 @@ A cambio de esta flexibilidad, el esquema ofrece controles concretos: ### 3.2 Dedicación y plazo -La dedicación es de **media jornada (aproximadamente 20 h/semana**, con flexibilidad hasta 25 h en semanas de mayor carga). Sobre esa base, la primera etapa requiere **112 a 136 horas**, equivalentes a **6 – 7 semanas** de calendario. +La dedicación es de **media jornada (aproximadamente 20 h/semana**, con flexibilidad hasta 25 h en semanas de mayor carga). Sobre esa base, la primera etapa requiere **121 a 148 horas** (incluido el ajuste Jira → BIND), equivalentes a **6 – 8 semanas** de calendario. ### 3.3 Condiciones comerciales @@ -255,9 +279,12 @@ La inversión de la primera etapa se desglosa por entregable, conforme al esquem | 1 | Plataforma base, sincronización con BIND y capa de escritura | 32 – 39 | $19,200 – $23,400 | | 2 | Facturación (consulta y **emisión** MXN/USD), catálogo y multimoneda | 38 – 46 | $22,800 – $27,600 | | 3 | Cobranza, tablero, reportes y cierre | 24 – 29 | $14,400 – $17,400 | -| **Total primera etapa** | | **112 – 136 h** | **$67,200 – $81,600** | +| Ajuste jul-2026 | **Integración Jira → BIND** (lectura de la bandeja FAC, cotización automática, trazabilidad y pruebas) | 9 – 12 | $5,400 – $7,200 | +| **Total primera etapa** | | **121 – 148 h** | **$72,600 – $88,800** | -> Cifras antes de IVA. Plazo estimado: **6 – 7 semanas** a media jornada (~20 h/semana, con flexibilidad hasta 25 h en semanas pico). +> Cifras antes de IVA. Plazo estimado: **6 – 8 semanas** a media jornada (~20 h/semana, con flexibilidad hasta 25 h en semanas pico). + +> **Sobre el ajuste Jira → BIND:** se incorporó conforme al control de cambios (§10) a partir de la confirmación de julio de 2026 (ver §2); el rango es consistente con la estimación de ~10 h comunicada el 21 de julio y su ejecución inicia una vez que Balam cierre la definición del flujo de facturación. > **Facturación inicial (vinculante para el primer pago):** el primer pago corresponde a **30 horas — $18,000 MXN + IVA**, que cubren la **Etapa 0 completa (18–22 h) y el inicio de la Etapa 1**; se factura al arranque del proyecto y su pago corre a 30 días naturales (ver §3.3). Los avances posteriores se facturan semanalmente (viernes) por horas efectivamente trabajadas. @@ -302,7 +329,7 @@ Los siguientes son servicios de infraestructura externos, independientes de los | Azure Key Vault + Application Insights | Secretos (Standard) + observabilidad (5 GB/mes incluidos, luego por GB) | $0 – $15 | | Monitoreo de disponibilidad / Sentry *(opcional)* | Plan gratuito → Team | $0 – $26 | | PAC para CFDI | Ya incluido en BIND | Sin costo adicional | -| **Total mensual estimado** | | **$30 – $160 USD/mes** | +| **Total mensual estimado** | | **$30 – $162 USD/mes** | > **Configuración esperada en producción** (App Service B2 + PostgreSQL B2s con respaldo + observabilidad básica): **≈ $90 – $110 USD/mes**. El extremo bajo de la tabla corresponde a una configuración mínima; el alto, a una holgada con redundancia y monitoreo de pago. @@ -327,6 +354,8 @@ El cumplimiento de las estimaciones depende de las siguientes condiciones. De no 7. **Acuerdo de uso de la metodología asistida por IA**, con el compromiso de no entrenamiento sobre datos del cliente. 8. **El PAC integrado de BIND** atiende los volúmenes actuales y futuros sin costo adicional; el timbrado CFDI permanece a cargo de BIND, no de la plataforma. 9. **El comportamiento de escritura de la API de BIND** (creación de cotización, conversión a factura y timbrado) se valida en Discovery; la emisión productiva se habilita únicamente tras esa validación. Balam designa al rol responsable de confirmar cada emisión. +10. **Token de Jira ("PAF") vigente** con visibilidad de la bandeja Facturación (`FAC-`), que opera como bandeja "padre" del proceso; si algún disparador nace en otra bandeja sin reflejarse en FAC, el ajuste se revisa en conjunto. Entregado el 27-jul-2026. +11. **Definición del flujo de facturación** cerrada por Balam (estatus disparador y reglas de prefactura) y **diagrama del flujo Jira en tamaño legible** entregado, antes de iniciar la implementación del ajuste Jira → BIND. --- @@ -371,7 +400,8 @@ Más allá del código funcional, la entrega incluye: 1. Sesión de revisión de esta propuesta (1 h) para resolver dudas y ajustar lo que corresponda. 2. **Firma del contrato / orden de trabajo** (prestación de servicios y confidencialidad) — formaliza el compromiso para arrancar sin anticipo. 3. **Facturación inicial** (30 horas — **$18,000 MXN** + IVA), que cubre la Etapa 0 y el inicio de la Etapa 1 (ver §3.3), con pago a 30 días naturales, para iniciar Discovery. -4. Arranque del proyecto, con entrega del MVP en **6 – 7 semanas**. +4. Arranque del proyecto, con entrega del MVP en **6 – 8 semanas**. +5. **Aprobación por escrito de la versión 1.3** (basta la confirmación por correo electrónico) para ejecutar el ajuste Jira → BIND de 9 – 12 h una vez definido el flujo de facturación. --- @@ -393,7 +423,7 @@ Leyenda: ✅ Cubierto · ⚠️ Parcial · ❌ Diferido a fase posterior (Anexo | Funcionalidad PRD | Cobertura | Detalle | |---|---|---| -| Generación automatizada de facturas | ⚠️ | **Incluida la creación asistida:** cotización → factura desde la plataforma vía API de BIND, con confirmación humana; el timbrado lo realiza el PAC de BIND. La generación **automática desde eventos** (Jira→BUK→Factura) depende de APIs no disponibles hoy — fase posterior. | +| Generación automatizada de facturas | ⚠️ | **Incluida la creación asistida:** cotización → factura desde la plataforma vía API de BIND, con confirmación humana; el timbrado lo realiza el PAC de BIND. Con el **ajuste jul-2026**, los tickets de Jira (bandeja Facturación) **generan automáticamente su cotización**; la cadena completa sin intervención (Jira→BUK→Factura) sigue en fase posterior. | | Multimoneda para clientes internacionales (USD sin IVA) | ✅ | **Emisión en MXN (con IVA) y USD (sin IVA)** con tipo de cambio del DOF capturado al momento de facturación. **EUR queda fuera del MVP.** | | Descarga automática de facturas / reporte | ✅ | Listado con filtros, búsqueda, detalle con PDF/XML y exportación a Excel. | @@ -433,7 +463,7 @@ Leyenda: ✅ Cubierto · ⚠️ Parcial · ❌ Diferido a fase posterior (Anexo | ID | Descripción | Cobertura | Notas | |---|---|---|---| -| RF-01 | Generar facturas automáticamente desde eventos | ⚠️ | Creación manual (cotización→factura) incluida; la generación automática desde eventos requiere Jira/BUK — fase posterior | +| RF-01 | Generar facturas automáticamente desde eventos | ⚠️ | Creación asistida (cotización→factura) incluida; con el ajuste jul-2026, los tickets de Jira generan automáticamente la **cotización**. La factura siempre requiere aprobación humana; la cadena BUK→Factura sigue en fase posterior | | RF-02 | Multimoneda USD/EUR/MXN | ⚠️ | Emisión MXN + USD en el MVP; EUR en fase posterior | | RF-03 | Integración con sistemas existentes (BUK / nómina) | ❌ | API de BUK confirmada, no prioritaria | | RF-04 | Registrar pagos desde fuentes bancarias | ❌ | Fase posterior | @@ -461,7 +491,7 @@ Leyenda: ✅ Cubierto · ⚠️ Parcial · ❌ Diferido a fase posterior (Anexo ### A.4 Diferidos — resumen -**Bloqueado por terceros o sin prioridad actual:** generación automática de facturas (Jira→BUK→Factura); integración bancaria en vivo (Belvo/Plaid/IBC Texas); integración con BUK; integración con Jira. +**Bloqueado por terceros o sin prioridad actual:** generación automática de facturas de punta a punta (Jira→BUK→Factura); integración bancaria en vivo (Belvo/Plaid/IBC Texas); integración con BUK. *(La integración con Jira dejó de estar diferida: se incorporó como ajuste jul-2026 — ver §2.)* **Diferido por decisión de alcance:** pagos en línea; recordatorios automáticos a clientes; conciliación bancaria; asientos contables automáticos; EUR; flujo de efectivo proyectado; detección avanzada de anomalías; portal de cliente; multi-tenant comercial; cumplimiento avanzado Texas. @@ -486,7 +516,7 @@ Los siguientes son **rangos indicativos**, no compromisos contractuales. Se reco ### B.2 Roadmap posterior (sin cotización) -Se cotiza al cierre de la fase anterior, priorizando con datos reales de uso: integración bancaria en vivo (Belvo, Plaid); conector con BIND para asientos contables automáticos; integración con Jira; flujo de efectivo proyectado (30/60/90 días); gestión cambiaria automática; pagos recurrentes; detección avanzada de anomalías; soporte EUR; clasificación asistida por IA; portal de cliente; multi-tenant comercial; aplicación móvil para tickets; y cumplimiento avanzado para Texas. +Se cotiza al cierre de la fase anterior, priorizando con datos reales de uso: integración bancaria en vivo (Belvo, Plaid); conector con BIND para asientos contables automáticos; ampliaciones de la integración con Jira (otras bandejas, reporteo de horas, espacio comercial); flujo de efectivo proyectado (30/60/90 días); gestión cambiaria automática; pagos recurrentes; detección avanzada de anomalías; soporte EUR; clasificación asistida por IA; portal de cliente; multi-tenant comercial; aplicación móvil para tickets; y cumplimiento avanzado para Texas. ### B.3 Activación diff --git a/propuesta/01 - ADENDA-INTEGRACION-JIRA.md b/propuesta/01 - ADENDA-INTEGRACION-JIRA.md deleted file mode 100644 index 047deef..0000000 --- a/propuesta/01 - ADENDA-INTEGRACION-JIRA.md +++ /dev/null @@ -1,66 +0,0 @@ -# Adenda 01 — Integración Jira → BIND -## Generación automática de cotizaciones desde los tickets de facturación - -| | | -|---|---| -| **Preparada para** | Noe Rocha (CTO) · Araceli Sánchez Jiménez (CEO/Operaciones) · Erika Chávez (PM) · Pedro Alberto Ayala Elizondo (Contacto técnico) | -| **Preparada por** | Johann Velazquez — Consultor de Software · Monterrey, N.L. | -| **Fecha** | 28 de julio de 2026 | -| **Documento** | Adenda 01 a la Propuesta Comercial v1.2 — solicitud de cambio conforme a la §10 (control de cambios) | -| **Vigencia** | 30 días naturales a partir de la fecha de emisión | - ---- - -## 1. Antecedente - -La propuesta v1.2 dejó Jira explícitamente **fuera del alcance** del MVP (§1.3 y Anexo A.4), conforme a la información disponible al momento de cotizar. Durante el Discovery y las sesiones de julio, la dirección confirmó que el proceso interno evolucionó: **hoy todo el flujo de facturación de Balam nace y se gobierna en Jira** — *"lo que no está en Jira no se procesa"* — con una bandeja dedicada (**Facturación**, llave `FAC-`) y un flujo de estatus formal que culmina en "resuelto". - -En la sesión del 22 de julio el CTO planteó incorporar esta conectividad como ajuste de alcance; en la validación del prototipo del 24 de julio se ratificó, y en la sesión técnica del 27 de julio con Pedro Ayala quedó confirmada la viabilidad: la API de Jira cubre **lectura y escritura** de tickets, se entregó el token de integración (**"PAF"**, vigente al 27-jul-2027) y se documentaron los límites de consumo del lado de Atlassian. La estimación preliminar (~10 h) se comunicó a la PM el 21 de julio; esta adenda la formaliza por escrito, como lo prevé el control de cambios de la propuesta. - -## 2. Alcance del cambio - -La integración agrega a la primera etapa las siguientes capacidades: - -1. **Conexión con la API de Jira** mediante el token PAF y lectura de los tickets de la bandeja **Facturación (`FAC-`)**, con consumo autorregulado conforme a los límites de velocidad documentados por Atlassian. -2. **Generación automática de la cotización en BIND** cuando un ticket alcanza el estatus disparador que Balam defina (candidato natural: la entrada del ticket al proceso de facturación, previo a "resuelto"), a través de la misma **capa de escritura controlada** del MVP. -3. **Trazabilidad ticket ↔ cotización ↔ prefactura/factura**, visible en la plataforma y registrada en la bitácora de auditoría. Los tickets leídos alimentan además la vista *"qué necesita atención"* del tablero. -4. **Pruebas controladas:** scripts de consulta y de creación/edición sobre un registro de prueba, y una **prueba observada** con el equipo de Balam antes de habilitar la generación automática en operación (según lo acordado en la sesión del 27 de julio). - -> **El control fiscal no cambia.** La integración crea **cotizaciones, nunca facturas**: se mantiene la cadena acordada — cotización → prefactura → **aprobación humana** → timbrado por el PAC de BIND — con modo de simulación (*dry-run*), feature flag y registro en bitácora. No existe timbrado automático. - -## 3. Qué no incluye - -- **Alta automática de clientes en BIND.** Si el cliente del ticket no existe en BIND, la plataforma lo **detecta y lo notifica**; darlo de alta automáticamente es una decisión de proceso aún abierta y, de aprobarse, se estima por separado. -- **Tickets con múltiples facturas.** El supuesto de esta adenda es *un ticket → una cotización*. El manejo del caso masivo (un ticket con un listado de decenas de facturas) se define junto con Balam; si requiere desarrollo adicional, se estima por separado. -- **Otros usos de Jira** — reporteo de horas de consultores, tableros sobre otras bandejas o el espacio comercial para pipeline de ventas — así como los módulos diferidos del Anexo B, permanecen fuera del alcance. - -## 4. Estimación e inversión - -| Concepto | Horas | Inversión (MXN) | -|---|---|---| -| Integración Jira → BIND: lectura de la bandeja FAC, disparador por estatus, cotización automática, trazabilidad y pruebas | 9 – 12 | $5,400 – $7,200 | - -- **Tarifa vigente:** $600 MXN/h + IVA (§3.3). El rango es consistente con la estimación de ~10 h comunicada el 21 de julio y opera bajo el mismo esquema de horas reales **con tope**: al aproximarse al máximo, el trabajo se detiene y se revisa con Balam. -- **Facturación:** como el resto de los avances — semanal (viernes) por horas efectivamente trabajadas, con pago a 30 días naturales. -- **Efecto en el total de la primera etapa:** de 112 – 136 h ($67,200 – $81,600) pasa a **121 – 148 h ($72,600 – $88,800)**, antes de IVA. - -## 5. Supuestos y dependencias - -1. **Definición del flujo de facturación** por parte de Balam (actualmente en revisión interna; sesión por agendar): de ella salen el estatus disparador y las reglas de prefactura. La implementación de esta adenda inicia una vez cerrada esa definición. -2. **Token PAF vigente** con visibilidad de la bandeja FAC (entregado el 27 de julio) y un interlocutor técnico (Pedro) para dudas de Jira, con respuesta en menos de 48 horas. -3. **Diagrama del flujo Jira de facturación** en tamaño legible (comprometido por Balam en la sesión del 22 de julio). -4. **Bandeja FAC como fuente.** FAC opera como bandeja "padre" del proceso de facturación; si las pruebas muestran que algún disparador nace en otra bandeja sin reflejarse en FAC, el ajuste se revisa en conjunto. -5. **Sin ambiente de pruebas de BIND:** toda prueba de escritura será acotada, acordada previamente y observada, como se convino con el CTO. - -## 6. Condiciones - -Todo lo no modificado por esta adenda — condiciones comerciales (§3.3), garantía de 45 días, propiedad del código, metodología de desarrollo y supuestos generales — permanece en los términos de la propuesta v1.2 y del contrato de servicios firmado. La mención de Jira como "fuera de alcance" (§1.3 y Anexo A) queda sustituida por el alcance acotado que esta adenda define. - -## 7. Aceptación - -Conforme a la §10 de la propuesta (control de cambios), esta adenda se ejecuta tras su **aprobación por escrito**; basta la confirmación por correo electrónico. No requiere un nuevo contrato. - ---- - -**Johann Velazquez** · Consultor de Software -Monterrey, Nuevo León diff --git a/propuesta/Adenda-01-Integracion-Jira-Balam.pdf b/propuesta/Adenda-01-Integracion-Jira-Balam.pdf deleted file mode 100644 index bee46004ccdf1f371d5460f28958f03dcc82851d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312404 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

crVeeXH4Ps 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%0DK3onFx%G&p;Dz~QlB1Ex*iUG`=5 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�kKcdR|pzc6#V;k~FH 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 F{U6hKJPH5+ diff --git a/propuesta/Adenda-01-Integracion-Jira.html b/propuesta/Adenda-01-Integracion-Jira.html deleted file mode 100644 index 62ab6f7..0000000 --- a/propuesta/Adenda-01-Integracion-Jira.html +++ /dev/null @@ -1,377 +0,0 @@ - - - - -Adenda 01 — Integración Jira → BIND · Balam - - - - - -

- - -
- -
-
01

Antecedente

- -

La propuesta v1.2 dejó Jira explícitamente fuera del alcance del MVP (§1.3 y Anexo A.4), conforme a la información disponible al momento de cotizar. Durante el Discovery y las sesiones de julio, la dirección confirmó que el proceso interno evolucionó: hoy todo el flujo de facturación de Balam nace y se gobierna en Jira — "lo que no está en Jira no se procesa" — con una bandeja dedicada (Facturación, llave FAC-) y un flujo de estatus formal que culmina en "resuelto".

- -

En la sesión del 22 de julio el CTO planteó incorporar esta conectividad como ajuste de alcance; en la validación del prototipo del 24 de julio se ratificó, y en la sesión técnica del 27 de julio con Pedro Ayala quedó confirmada la viabilidad: la API de Jira cubre lectura y escritura de tickets, se entregó el token de integración ("PAF", vigente al 27-jul-2027) y se documentaron los límites de consumo del lado de Atlassian. La estimación preliminar (~10 h) se comunicó a la PM el 21 de julio; esta adenda la formaliza por escrito, como lo prevé el control de cambios de la propuesta.

-
- -
-
02

Alcance del cambio

- -

La integración agrega a la primera etapa las siguientes capacidades:

- -
    -
  1. Conexión con la API de Jira mediante el token PAF y lectura de los tickets de la bandeja Facturación (FAC-), con consumo autorregulado conforme a los límites de velocidad documentados por Atlassian.
  2. -
  3. Generación automática de la cotización en BIND cuando un ticket alcanza el estatus disparador que Balam defina (candidato natural: la entrada del ticket al proceso de facturación, previo a "resuelto"), a través de la misma capa de escritura controlada del MVP.
  4. -
  5. Trazabilidad ticket ↔ cotización ↔ prefactura/factura, visible en la plataforma y registrada en la bitácora de auditoría. Los tickets leídos alimentan además la vista "qué necesita atención" del tablero.
  6. -
  7. Pruebas controladas: scripts de consulta y de creación/edición sobre un registro de prueba, y una prueba observada con el equipo de Balam antes de habilitar la generación automática en operación (según lo acordado en la sesión del 27 de julio).
  8. -
- -
- Ticket Jira (FAC)→ - Cotización BIND (automática)→ - Prefactura→ - Aprobación humana→ - Timbrado (PAC de BIND) -
- -
El control fiscal no cambia. La integración crea cotizaciones, nunca facturas: se mantiene la cadena acordada — cotización → prefactura → aprobación humana → timbrado por el PAC de BIND — con modo de simulación (dry-run), feature flag y registro en bitácora. No existe timbrado automático.
-
- -
-
03

Qué no incluye

- -
    -
  • Alta automática de clientes en BIND. Si el cliente del ticket no existe en BIND, la plataforma lo detecta y lo notifica; darlo de alta automáticamente es una decisión de proceso aún abierta y, de aprobarse, se estima por separado.
  • -
  • Tickets con múltiples facturas. El supuesto de esta adenda es un ticket → una cotización. El manejo del caso masivo (un ticket con un listado de decenas de facturas) se define junto con Balam; si requiere desarrollo adicional, se estima por separado.
  • -
  • Otros usos de Jira — reporteo de horas de consultores, tableros sobre otras bandejas o el espacio comercial para pipeline de ventas — así como los módulos diferidos del Anexo B, permanecen fuera del alcance.
  • -
-
- -
-
04

Estimación e inversión

- - - - - - - - -
ConceptoHorasInversión (MXN)
Primera etapa — propuesta v1.2 (Etapas 0 a 3)112 – 136$67,200 – $81,600
Adenda 01 — Integración Jira → BIND: lectura de la bandeja FAC, disparador por estatus, cotización automática, trazabilidad y pruebas9 – 12$5,400 – $7,200
Total de la primera etapa con adenda121 – 148$72,600 – $88,800
- -
    -
  • Tarifa vigente: $600 MXN/h + IVA (§3.3). El rango es consistente con la estimación de ~10 h comunicada el 21 de julio y opera bajo el mismo esquema de horas reales con tope: al aproximarse al máximo, el trabajo se detiene y se revisa con Balam.
  • -
  • Facturación: como el resto de los avances — semanal (viernes) por horas efectivamente trabajadas, con pago a 30 días naturales.
  • -
  • Cifras antes de IVA.
  • -
-
- -
-
05

Supuestos y dependencias

- -
    -
  1. Definición del flujo de facturación por parte de Balam (actualmente en revisión interna; sesión por agendar): de ella salen el estatus disparador y las reglas de prefactura. La implementación de esta adenda inicia una vez cerrada esa definición.
  2. -
  3. Token PAF vigente con visibilidad de la bandeja FAC (entregado el 27 de julio) y un interlocutor técnico (Pedro) para dudas de Jira, con respuesta en menos de 48 horas.
  4. -
  5. Diagrama del flujo Jira de facturación en tamaño legible (comprometido por Balam en la sesión del 22 de julio).
  6. -
  7. Bandeja FAC como fuente. FAC opera como bandeja "padre" del proceso de facturación; si las pruebas muestran que algún disparador nace en otra bandeja sin reflejarse en FAC, el ajuste se revisa en conjunto.
  8. -
  9. Sin ambiente de pruebas de BIND: toda prueba de escritura será acotada, acordada previamente y observada, como se convino con el CTO.
  10. -
-
- -
-
06

Condiciones

- -

Todo lo no modificado por esta adenda — condiciones comerciales (§3.3), garantía de 45 días, propiedad del código, metodología de desarrollo y supuestos generales — permanece en los términos de la propuesta v1.2 y del contrato de servicios firmado. La mención de Jira como "fuera de alcance" (§1.3 y Anexo A) queda sustituida por el alcance acotado que esta adenda define.

-
- -
-
07

Aceptación

- -

Conforme a la §10 de la propuesta (control de cambios), esta adenda se ejecuta tras su aprobación por escrito; basta la confirmación por correo electrónico. No requiere un nuevo contrato.

- -
-
Johann Velazquez
-
Consultor de Software · Monterrey, Nuevo León
-
-
- -
- - - diff --git a/propuesta/Propuesta-Balam.html b/propuesta/Propuesta-Balam.html index 803d0e9..ae3c655 100644 --- a/propuesta/Propuesta-Balam.html +++ b/propuesta/Propuesta-Balam.html @@ -4,6 +4,16 @@ Propuesta Comercial — Plataforma de Automatización Financiera · Balam