Reorganiza repo como fuente de la verdad + propuesta v1.0 con emisión de facturas

- Estructura nueva: README maestro, bitacora/ (REGISTRO, PENDIENTES, plantillas),
  propuesta/, fuentes/; material superado a _archivado/
- Propuesta v1.0: MVP BIND-first con emisión asistida MXN/USD (dry-run +
  confirmación, timbra PAC de BIND), 112-136 h / $67,200-$81,600 + IVA,
  stack .NET 10 + EF Core + Angular 21 + PostgreSQL 17 sobre Azure
- Bitácora: historial de correos + 2 llamadas (incl. revisión 4-jun) y pendientes
- Prototipo y diagrama actualizados a v1.0; precios de Azure verificados
- Archivo ajeno (proyecto EOS) retirado del repo

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
JohannVelazquez
2026-06-04 10:57:27 -06:00
parent 404e6f3b89
commit 633d05e330
47 changed files with 32977 additions and 472 deletions
+487
View File
@@ -0,0 +1,487 @@
# Propuesta Comercial
## Plataforma de Automatización Financiera · Balam
| | |
|---|---|
| **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 |
| **Versión** | 1.0 — alcance acotado a facturación sobre BIND ERP |
| **Vigencia** | 30 días naturales a partir de la fecha de emisión |
---
## Resumen ejecutivo
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.
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.
- **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.
---
## 1. Entendimiento del proyecto
### 1.1 El problema
Durante la sesión con el equipo directivo, la lectura del requerimiento fue clara: *"El proceso está tan desvinculado… pasa por varias manos… cada parte humana se está equivocando."* El reto no es de naturaleza técnica, sino operativa y económica. Cada traspaso manual entre nómina, facturación, cobranza, conciliación y contabilidad genera errores que se traducen en dinero perdido, retrabajo y deterioro en la relación con clientes clave.
### 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:
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.
### 1.3 Sistemas actuales
| Sistema | Función | Estatus en el MVP |
|---|---|---|
| **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 |
| **Banca (3 instituciones)** | 2 México + IBC Bank Texas, estados en PDF | Fuera de alcance |
### 1.4 Solución propuesta
Se propone una **capa de operaciones financieras sobre BIND ERP**, no un reemplazo. BIND conserva su rol como fuente de verdad para facturación, timbrado CFDI y contabilidad; la plataforma orquesta la visibilidad, las reglas de cobranza, el tablero directivo y la trazabilidad que hoy no existen de forma centralizada.
**Alcance funcional del MVP:**
- Integración con BIND ERP vía API: lectura primero y **escritura asistida** una vez validada en Discovery.
- **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.
- Cobranza operativa: antigüedad de cartera (*aging*) y alertas internas para el equipo de Finanzas.
- Tablero financiero con indicadores de cuentas por cobrar, vencidas y próximas a vencer.
- Reportes exportables en CSV/XLSX.
- Operación multimoneda MXN y USD, con tipo de cambio del DOF capturado al momento de la facturación.
- Autenticación y control de acceso por roles (Finanzas, Dirección, Operaciones, Administración).
- Arquitectura preparada para multi-tenant y bitácora de auditoría universal.
**Visión integral (fases posteriores, cotizadas en el Anexo B):**
La arquitectura del MVP se diseña para cerrar progresivamente el ciclo financiero descrito por la dirección:
```
Jira (horas) → BUK (nómina) → Plataforma → Factura → Cobranza → Conciliación → Asiento
```
La incorporación posterior de pagos en línea, recordatorios automáticos, conciliación bancaria, asientos contables o BUK se realiza **sobre la misma base, sin reescribir lo construido**.
> **Sobre la automatización y los "agentes".** El MVP incluye automatización operativa **por reglas** (sincronización con BIND, alertas de vencimiento y reportes programados). Los **agentes con IA/LLM** (clasificación de transacciones, detección de anomalías) quedan para fase posterior, conforme el propio PRD los define como opcionales y a evaluar post-MVP.
### 1.5 Criterios de éxito de la primera etapa
- Emisión de facturas en MXN y USD desde la plataforma, con confirmación humana y sin incidentes fiscales.
- Visibilidad en tiempo cercano a real del estado de facturación y cuentas por cobrar, para Dirección y Finanzas.
- 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.
- 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
- 45 colaboradores en nómina y 5 freelancers.
- Aproximadamente 50 facturas emitidas al mes.
- 3 instituciones bancarias (2 México + IBC Bank Texas) — fuera de esta etapa.
- 2 jurisdicciones fiscales (México y Texas, impuestos estándar en el MVP).
- Interlocutores operativos: Pedro (contacto técnico) y gerencia administrativa, con supervisión ejecutiva de Noe (CTO), Araceli (CEO) y Erika (PM).
---
## 2. Alcance detallado
> **Principio rector.** Un MVP entrega valor real en el menor tiempo posible con el alcance **mínimo viable**, no con todo lo deseable. Lo que no forma parte de esta etapa se documenta en el roadmap (Anexo B) con cotización indicativa.
> **Posicionamiento.** La plataforma es una capa de operaciones financieras sobre BIND ERP. BIND permanece como fuente de verdad para facturación, timbrado CFDI y contabilidad; la plataforma aporta visibilidad, reglas de cobranza, tablero y trazabilidad.
### Stack tecnológico propuesto
La selección tecnológica privilegia robustez empresarial, mantenibilidad a largo plazo y afinidad con Azure. El binomio **.NET + Azure** es una combinación nativa de Microsoft, lo que reduce fricción de despliegue, seguridad y operación para una aplicación financiera.
| Capa | Tecnología | Versión objetivo | Justificación |
|---|---|---|---|
| Frontend | **Angular + Angular Material** | Angular 21 · Material 21 | SPA escalable, fuertemente tipada y de estructura opinada; componentes de datos listos para las vistas de facturación y cobranza. |
| Backend | **C# / .NET (ASP.NET Core Web API)** | .NET 10 (LTS) · C# 14 | Tipado fuerte, madurez empresarial y desempeño; soporte de primera clase en Azure. |
| Acceso a datos | **Entity Framework Core** (proveedor Npgsql) | EF Core 10 · Npgsql 10 | Modelo tipado y migraciones versionadas, con control fino para multi-tenant y bitácora. |
| Base de datos | **Azure Database for PostgreSQL Flexible** | PostgreSQL 17 | Base productiva administrada (Azure SQL Database queda como alternativa nativa de .NET si Balam lo prefiere). |
| Infraestructura | **Azure App Service · Key Vault · Application Insights · Blob Storage** | runtime .NET 10 (Linux) | Cómputo administrado, gestión de secretos cifrada y observabilidad integradas. |
| Integración BIND | **Cliente .NET tipado** sobre la API OData de BIND | .NET 10 · HttpClient + Polly | Reintentos, manejo de límites de uso y mapeo de errores; contrato validado previamente en el sandbox de descubrimiento. |
| Control de acceso | **ASP.NET Core Identity + JWT**, autorización por roles | incluido en .NET 10 | Cuatro roles (Finanzas, Dirección, Operaciones, Administración). |
| Entrega continua | **GitHub + CI/CD** (GitHub Actions / Azure DevOps) | — | Despliegues controlados con validación automatizada. |
> **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).
### Etapa 0 — Discovery, infraestructura y prototipo visual · *Semana 1 · 18 22 h*
**Objetivo.** Validar el comportamiento real de la API de BIND con la cuenta de Balam, preparar la infraestructura en Azure, dejar el repositorio operativo y **entregar un prototipo visual navegable** que alinee expectativas de producto antes de iniciar el desarrollo del backend.
**Entregables:**
- Validación de la API de BIND con cuenta real: recursos `Invoices`, `Payments`, `Customers`, `Products` y `Activities`; confirmación de los campos `saldo`, `vencimiento` y `estado`, y del comportamiento de paginación OData.
- Confirmación de los límites de uso (20,000 solicitudes/día) y definición de la estrategia de consumo.
- Infraestructura base en Azure: App Service, PostgreSQL Flexible, Storage, Key Vault y Application Insights; ambiente de staging preparado.
- Repositorio monorepo con CI/CD, gestión de secretos y guardrails de seguridad del flujo de trabajo asistido por IA.
- Documento de hallazgos, decisiones de arquitectura (ADRs) iniciales y plan refinado de las etapas siguientes.
- **Prototipo visual navegable** (con la identidad del manual de marca aplicada) de las 56 pantallas principales: inicio de sesión, tablero financiero, listado de facturas, detalle de factura, catálogo de clientes con lista blanca y configuración de alertas. Con datos de ejemplo y navegación real, para validar las decisiones de experiencia con Pedro y Araceli antes de construir.
> **Riesgo a validar en Discovery.** BIND documenta públicamente los recursos `Customers`, `Products` y `Activities`; `Invoices` y `Payments` son esperados, pero los nombres exactos de campos y la disponibilidad del saldo abierto por factura solo se confirman con la cuenta real. Se contemplan tres escenarios: **Plan A** (BIND expone el saldo directamente) y **Plan B** (el saldo se calcula como total suma de pagos) están cubiertos por el rango cotizado; el **Plan C** (interfaz propia para registro manual de pagos por parte de Finanzas, con un esfuerzo adicional estimado de 68 h **no incluidas en el rango**) se evaluaría y aprobaría al cierre de esta etapa antes de continuar.
### Etapa 1 — Plataforma base y sincronización con BIND · *Semanas 2-3 · 32 39 h*
**Objetivo.** Plataforma funcional que ingiere clientes y facturas de BIND vía API, los normaliza, mantiene su trazabilidad y habilita la capa de escritura controlada.
**Entregables:**
- Backend con autenticación, control de acceso por roles (Finanzas, Dirección, Operaciones, Administración) y bitácora de auditoría universal.
- Arquitectura multi-tenant a nivel de esquema (`tenant_id` + RLS), sin alta autoservicio.
- Cliente de la API de BIND con doble encabezado de autenticación, reintentos con backoff, manejo de límites de uso, constructor de consultas OData y mapeo de errores.
- **Capa de escritura controlada:** operaciones de creación de cotización y conversión a factura, envueltas en un mecanismo de simulación (*dry-run*), confirmación y feature flag, con registro en bitácora de toda llamada de escritura.
- Sincronización programada de clientes (normalización y deduplicación).
- Sincronización programada de facturas y cotizaciones (estado normalizado, captura de tipo de cambio y manejo de paginación OData).
- Modelo central de facturas con estados (Emitida, Vigente, Vencida, Pagada, Cancelada).
- Migraciones versionadas y datos de prueba.
> **Nota fiscal.** La plataforma **no timbra directamente**; el timbrado CFDI permanece en el PAC integrado de BIND. La plataforma orquesta la creación de cotizaciones y facturas mediante la API de BIND. Toda operación de escritura permanece desactivada (feature flag) hasta validar su comportamiento en Discovery, y ninguna emisión ocurre sin confirmación humana explícita.
### Etapa 2 — Facturación (consulta y emisión), catálogo y multimoneda · *Semanas 4-5 · 38 46 h*
**Objetivo.** Llevar a producción la interfaz validada en el prototipo, conectada al backend real, habilitando tanto la consulta como la **emisión asistida de facturas** en MXN y USD, con catálogo de clientes y soporte multimoneda.
**Entregables:**
- Implementación productiva de las pantallas validadas (componentes de Angular Material con la identidad ya aplicada en la Etapa 0).
- Integración del frontend con el backend (autenticación, ruteo, gestión de estado y caché).
- Listado de facturas con filtros (cliente, moneda, fecha, vencimiento, estatus), búsqueda, paginación y ordenamiento.
- Detalle de factura con descarga de PDF/XML desde BIND.
- **Creación de cotizaciones** desde la plataforma y **conversión a factura** vía API de BIND.
- **Emisión multimoneda:** MXN con IVA y USD sin IVA para clientes extranjeros, conforme a las reglas fiscales aplicables.
- **Flujo de emisión con confirmación humana obligatoria y modo de simulación (*dry-run*):** ninguna factura se emite sin aprobación explícita; toda operación de escritura queda registrada en bitácora.
- Catálogo de clientes con la bandera de lista blanca configurable (ACUNTIA + Top 3), editable por el rol de Administración.
- Tipo de cambio del DOF (proceso programado y captura al momento de la facturación) para la conversión MXN ↔ USD.
- Exportación de facturas y clientes a CSV/XLSX.
- Manual de usuario para los equipos de Finanzas y Dirección.
> **Fuera de esta etapa:** generación automática de facturas desde eventos de negocio (Jira → BUK → factura), soporte EUR e integración con BUK. El timbrado CFDI permanece a cargo del PAC de BIND.
### Etapa 3 — Cobranza, tablero, reportes y cierre · *Semanas 6-7 · 24 29 h*
**Objetivo.** Cerrar el flujo operativo con visibilidad para Dirección y realizar la entrega formal.
**Entregables:**
- Módulo de cobranza: antigüedad de cartera (30/60/90 días) y vistas de facturas por vencer y vencidas.
- Alertas internas configurables para Finanzas (5 días antes del vencimiento, facturas vencidas y registros con datos faltantes).
- Aplicación de la lista blanca: ACUNTIA y Top 3 nunca generan alertas automáticas de envío masivo.
- Tablero directivo con indicadores de cuentas por cobrar totales y por cliente, vencidas, próximas a vencer, monto pendiente por cliente y estado de alertas.
- Reporte operativo configurable (frecuencia, destinatarios y formato CSV/XLSX/PDF).
- Endurecimiento de seguridad y revisión de secretos.
- Respaldos automáticos y plan de recuperación documentado.
- Documentación técnica: README, runbook operativo y ADRs.
- Sesión de capacitación grabada (1.52 h) con Pedro y la gerencia administrativa.
- Transferencia y soporte posterior al lanzamiento de 2 semanas (corrección de defectos).
> **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.
---
## 3. Modelo de colaboración
### 3.1 Esquema: tiempo y materiales con tope por etapa
El proyecto se desarrolla bajo un esquema de **horas reales con tarifa transparente**, no de precio cerrado. El alcance preciso de la integración con BIND —campos exactos, comportamiento de `Invoices` y `Payments`, manejo de saldos— solo se conoce al inspeccionar la API en vivo con la cuenta de Balam. Un precio fijo obligaría a incorporar un margen de contingencia que encarecería el proyecto de forma innecesaria.
A cambio de esta flexibilidad, el esquema ofrece controles concretos:
- **Rango estimado por etapa** (mínimomáximo de horas), acordado por escrito antes de iniciar cada una.
- **Tope por etapa:** de aproximarse al máximo del rango, el trabajo se detiene y se revisa el alcance con Balam antes de continuar. El rango opera como referencia de control, no como sugerencia.
- **Reporte semanal** de horas trabajadas con desglose por tarea.
- **Demostración semanal** del avance entregado.
### 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.
### 3.3 Tarifa y facturación
- **Tarifa:** **$600 MXN por hora trabajada** + IVA, con comprobante fiscal CFDI 4.0. Aplica de igual forma a las fases posteriores (Anexo B) y al paquete de mantenimiento opcional (§5).
- **Facturación:** semanal, los viernes, por las horas de la semana previa. Cada factura incluye el anexo con el desglose de horas por tarea y etapa.
- **Pago:** a 7 días naturales mediante transferencia.
- **Anticipo de arranque:** 30 horas de la Etapa 0, equivalentes a **$18,000 MXN** + IVA, para iniciar Discovery. Las horas no consumidas se acreditan a la etapa siguiente. Si Discovery revela bloqueadores que modifiquen el alcance de forma significativa, se replantea el plan antes de continuar.
### 3.4 Comunicación
- Reportes asíncronos 23 veces por semana (avance, siguientes pasos y bloqueadores).
- Demostración semanal (30 min, viernes) con Pedro y la gerencia administrativa.
- Sesión técnica quincenal (1 h) con Noe para decisiones de arquitectura y validación de reglas de negocio.
- Disponibilidad para reuniones urgentes con 24 h de anticipación, en horario laboral (9:0018:00, CST).
### 3.5 Metodología de desarrollo asistido por IA
El desarrollo se apoya en herramientas de asistencia por IA (Claude Code, de Anthropic) como acelerador de productividad. Por transparencia y cumplimiento, se hacen explícitos los siguientes compromisos:
- **Responsabilidad humana.** Todo el código entregado es revisado y validado por el proveedor. La IA es un asistente; la responsabilidad de cada línea integrada al repositorio es de Johann Velazquez.
- **Protección de datos.** Ningún dato real de Balam (clientes, montos, credenciales, XML reales) se comparte con modelos externos. El desarrollo se realiza con datos sintéticos derivados de la estructura, no del contenido. Las credenciales residen en gestores de secretos cifrados.
- **Cumplimiento.** La metodología se apega a la práctica habitual para el manejo de datos financieros: sin entrenamiento ni telemetría sobre datos del cliente, y con el código alojado en el repositorio de Balam desde el primer día.
- **Auditabilidad.** Las decisiones de arquitectura quedan registradas en ADRs versionados.
> El detalle técnico de esta metodología, así como la referencia a las políticas de Anthropic, puede ampliarse en una sesión específica o anexo a solicitud del equipo técnico de Balam.
---
## 4. Inversión
La inversión de la primera etapa se desglosa por entregable, conforme al esquema de tiempo y materiales:
| Etapa | Entregable principal | Rango (horas) | Inversión (MXN) |
|---|---|---|---|
| 0 | Discovery, infraestructura Azure y **prototipo visual navegable** | 18 22 | $10,800 $13,200 |
| 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** |
> Cifras antes de IVA. Plazo estimado: **6 7 semanas** a media jornada (~20 h/semana, con flexibilidad hasta 25 h en semanas pico).
> El esquema de control por etapa busca que la inversión se concentre en la parte baja del rango; el margen superior cubre eventualidades del Discovery con BIND. Toda variación se comunica antes de incurrir en ella.
---
## 5. Soporte posterior al MVP
### 5.1 Garantía incluida
- **Defectos en funcionalidad entregada:** cobertura sin costo durante **30 días** posteriores a la entrega de cada etapa.
- **Soporte posterior al lanzamiento:** **2 semanas** tras el cierre del MVP, para corrección de defectos (no nuevo alcance).
### 5.2 Paquete mensual de mantenimiento (opcional)
Concluida la garantía y el soporte incluidos, se ofrece un paquete mensual de horas reservadas para la operación y evolución incremental de la plataforma:
| Paquete | Horas/mes | Inversión mensual (sin IVA) |
|---|---|---|
| Básico | 8 h | $4,800 |
| Estándar *(recomendado)* | 16 h | $9,600 |
| Premium | 24 h | $14,400 |
**Incluye:** corrección de defectos fuera de garantía; ajustes menores y requerimientos pequeños dentro de las horas del paquete; mantenimiento de dependencias y compatibilidad ante cambios de la API de BIND; monitoreo de la plataforma con atención a incidencias en 1 día hábil; y reporte mensual de horas.
**No incluye:** desarrollo de los módulos diferidos (Anexo B); migraciones o cambios mayores de arquitectura; ni incidentes atribuibles a terceros (Azure, BIND, SAT).
**Términos:** hasta el 50% de las horas no consumidas se acumula al mes siguiente (no reembolsables); compromiso mínimo de 3 meses, con renovación mensual y aviso de cancelación de 30 días. Su activación es opcional y se define al cierre del MVP.
---
## 6. Costos de servicios de terceros (a cargo de Balam)
Los siguientes son servicios de infraestructura externos, independientes de los honorarios del proveedor:
| Servicio | Configuración | Costo mensual (USD) |
|---|---|---|
| Azure App Service (Linux, Basic) | B1 (mínimo) → B2/B3 (recomendado); el proceso en segundo plano corre como WebJob en el mismo plan | $13 $51 |
| Azure Database for PostgreSQL Flexible | Burstable B1ms (mínimo) → B2s (recomendado) + 3264 GiB de almacenamiento y respaldo | $16 $65 |
| Azure Blob Storage (Hot, LRS) | PDF/XML y exportaciones (pocos GB) | $1 $5 |
| 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** |
> **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.
> **Detalle de tarifas unitarias verificadas** (precios de lista *pay-as-you-go*, regiones de EE. UU. — East US / South Central US — referencia a mayo de 2026; la región Azure **México Central** puede variar ligeramente): App Service Linux **B1 ≈ $13.14**, **B2 ≈ $25.55**, **B3 ≈ $51.10**/mes · PostgreSQL Burstable **B1ms ≈ $12.41**, **B2s ≈ $49.64**/mes; almacenamiento ≈ **$0.1150.138/GiB-mes**, respaldo sobre lo provisionado ≈ **$0.095/GiB-mes** · Blob Hot LRS ≈ **$0.018/GB-mes** · Key Vault Standard **$0.03 / 10,000 operaciones** · Application Insights **5 GB/mes incluidos**, luego ≈ **$2.302.76/GB**.
> Los costos de Azure pueden optimizarse mediante **instancias reservadas** (13 años, hasta ~3040% de ahorro en cómputo), una vez validado el consumo real (36 meses posteriores al lanzamiento).
> En fases posteriores se incorporarían: Stripe (3.6% + $3 MXN por transacción con tarjeta; ~$3 MXN por SPEI), Claude API para el procesamiento de estados de cuenta en PDF ($5 $20 USD/mes), correo transaccional ($0 $20 USD/mes) y, opcionalmente, un agregador bancario como Belvo ($200 $500 USD/mes).
---
## 7. Supuestos y dependencias
El cumplimiento de las estimaciones depende de las siguientes condiciones. De no satisfacerse alguna, la etapa correspondiente se replantea de común acuerdo:
1. **Acceso productivo a la API de BIND**, con los permisos definidos —**lectura y escritura** (creación de cotización y conversión a factura)— y documentación oficial disponible, al inicio de la Etapa 0.
2. **Cuenta de Azure de Balam** (o autorización para crearla a su nombre) disponible al inicio de la Etapa 0.
3. **Manual de marca** entregado al inicio de la Etapa 0.
4. **Reglas de negocio finales** validadas en Discovery: lista blanca de clientes (ACUNTIA + Top 3 confirmados), ciclos de cobranza, días de anticipación de alertas y frecuencia de sincronización.
5. **Disponibilidad de dos interlocutores** (Pedro y la gerencia administrativa) con capacidad de resolver bloqueadores en menos de 48 horas.
6. **Producción como único ambiente disponible** (sin sandbox de BIND). La plataforma opera en modo de simulación cuando exista riesgo de afectar BIND, requiriendo confirmación explícita antes de cualquier escritura.
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.
---
## 8. Entregables y propiedad
Más allá del código funcional, la entrega incluye:
- **Código fuente en el repositorio de Balam** (GitHub) desde el primer día; la propiedad intelectual es de Balam.
- **Documentación técnica viva** en el repositorio.
- **Pruebas automatizadas** para los flujos críticos (sincronización con BIND, lista blanca, multimoneda y control de acceso).
- **Pipeline de CI/CD** operativo, con despliegues controlados.
- **Respaldos automatizados** y plan de recuperación documentado.
- **Sesión de transferencia de conocimiento** grabada.
- **Soporte posterior al lanzamiento** de 2 semanas (corrección de defectos).
---
## 9. Fuera del alcance de esta etapa
- Rediseño visual integral o sistema de diseño propio (se emplea la la identidad del manual de marca de Balam; un diseño a la medida requeriría sumar un diseñador).
- Adquisición de licencias de terceros (PAC, agregadores, hosting Azure).
- Gestión del cambio organizacional más allá de la sesión de capacitación.
- Módulos diferidos: pagos en línea, recordatorios automáticos a clientes, conciliación bancaria, asientos contables, BUK e IA — cotizados de forma indicativa en el Anexo B.
- Integraciones no listadas (Book, CRM, etc.), cotizables por separado.
- Adaptaciones derivadas de cambios fiscales del SAT o modificaciones disruptivas en la API de BIND que impliquen retrabajo mayor (atendibles mediante el paquete de mantenimiento, §5.2).
---
## 10. Garantía y condiciones generales
- **Garantía de defectos:** cobertura sin costo durante 30 días posteriores a la entrega de cada etapa.
- **Control de cambios:** toda funcionalidad fuera del alcance acordado se documenta como solicitud de cambio (Change Request), se estima y se aprueba por escrito antes de ejecutarse.
- **Propiedad intelectual:** el código es propiedad de Balam desde el primer commit. El proveedor conserva el derecho de referir el proyecto en su portafolio sin divulgar información confidencial.
- **Responsabilidad del código asistido por IA:** todo defecto queda cubierto por la misma garantía. La responsabilidad final del código corresponde al proveedor, con independencia de las herramientas utilizadas.
> Las condiciones contractuales detalladas (confidencialidad, límite de responsabilidad, jurisdicción y demás cláusulas) se formalizan en el contrato de prestación de servicios previo al inicio.
---
## 11. Próximos pasos
1. Sesión de revisión de esta propuesta (1 h) para resolver dudas y ajustar lo que corresponda.
2. Formalización del acuerdo (contrato de prestación de servicios y acuerdo de confidencialidad).
3. Anticipo de 30 horas de la Etapa 0 (**$18,000 MXN** + IVA) para iniciar Discovery.
4. Arranque del proyecto, con entrega del MVP en **6 7 semanas**.
---
**Johann Velazquez** · Consultor de Software
Monterrey, Nuevo León
---
---
## Anexo A — Trazabilidad PRD ↔ MVP
Este anexo relaciona cada funcionalidad y requerimiento del **PRD de Balam** con el alcance comprometido en la primera etapa, como referencia para alinear expectativas sobre lo incluido, lo parcial y lo diferido.
Leyenda: ✅ Cubierto · ⚠️ Parcial · ❌ Diferido a fase posterior (Anexo B)
### A.1 Funcionalidades (PRD §3.1)
#### Facturación
| 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. |
| 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. |
#### Cobranza
| Funcionalidad PRD | Cobertura | Detalle |
|---|---|---|
| Registro automático de pagos | ❌ | Diferido (vía webhook de pagos en línea). En esta etapa los pagos se reflejan según lo que reporta `Payments` de BIND. |
| Identificación de pagos por cliente | ⚠️ | Vista de saldos por cliente con base en datos de BIND; conciliación avanzada en fase posterior. |
| Seguimiento de CxC con lista blanca ACUNTIA y Top 3 | ✅ | Lista blanca configurable, antigüedad de cartera y alertas internas para Finanzas. **Recordatorios automáticos a clientes → fase posterior.** |
#### Conciliación bancaria
| Funcionalidad PRD | Cobertura | Detalle |
|---|---|---|
| Conciliación automática pagos vs. facturas | ❌ | Diferido — coincidencia exacta, por alias y cola de revisión humana. |
| Integración con estados de cuenta (3 bancos, incl. IBC Texas) | ❌ | Diferido — carga de PDF y extracción estructurada. |
| Identificación de discrepancias | ❌ | Diferido. |
#### Contabilidad
| Funcionalidad PRD | Cobertura | Detalle |
|---|---|---|
| Generación automática de asientos contables | ❌ | Diferido. Depende de la capacidad de escritura validada de la API de BIND. |
| Integración con sistema contable existente | ❌ | Diferido — exportación en formato BIND para carga manual del contador. |
#### Reportes y alertas
| Funcionalidad PRD | Cobertura | Detalle |
|---|---|---|
| Tablero de estado financiero | ✅ | Indicadores de CxC totales, por cliente, vencidas y próximas a vencer. |
| Alerta — pagos pendientes | ✅ | Alertas internas para Finanzas. |
| Alerta — errores en conciliación | ❌ | Diferido (sin conciliación en el MVP). |
| Alerta — facturas no cobradas | ✅ | Alertas internas; envío automático a clientes → fase posterior. |
### A.2 Requerimientos funcionales (PRD §6)
| 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-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 |
| RF-05 | Asociar pagos a facturas | ⚠️ | Con base en `Payments` de BIND; conciliación avanzada después |
| RF-06 | Identificar pagos parciales y completos | ⚠️ | Según lo que reporte BIND |
| RF-07 | Conciliar transacciones bancarias | ❌ | Fase posterior |
| RF-08 | Detectar discrepancias | ❌ | Fase posterior |
| RF-09 | Reportes de conciliación | ❌ | Fase posterior |
| RF-10 | Asientos contables automáticos | ❌ | Fase posterior |
| RF-11 | Integración con sistema contable | ❌ | Fase posterior (exportación en formato BIND) |
| RF-12 | Tablero financiero en tiempo real | ✅ | Incluido |
| RF-13 | Alertas configurables | ⚠️ | Internas en el MVP; a clientes en fase posterior |
| RF-14 | Reportes exportables | ✅ | Incluido |
### A.3 Requerimientos no funcionales (PRD §7)
| ID | Descripción | Cobertura | Notas |
|---|---|---|---|
| RNF-01 | Arquitectura modular y escalable | ✅ | Multi-tenant a nivel de esquema (`tenant_id` + RLS) |
| RNF-02 | Alta disponibilidad | ⚠️ | MVP en una sola región de Azure; HA multi-región → fase posterior |
| RNF-03 | Seguridad de datos financieros | ✅ | Secretos en Key Vault, control de acceso, bitácora y endurecimiento |
| RNF-04 | Cumplimiento fiscal (México y Texas) | ⚠️ | Impuestos estándar en el MVP; cumplimiento avanzado Texas → fase posterior |
| RNF-05 | Integración con APIs externas | ✅ | BIND API y DOF para tipo de cambio |
| RNF-06 | Trazabilidad completa de operaciones | ✅ | Bitácora de auditoría universal |
### 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.
**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.
---
## Anexo B — Cotización indicativa de fases posteriores
Los siguientes son **rangos indicativos**, no compromisos contractuales. Se reconfirman mediante su propio Discovery al activar cada módulo, con datos reales de uso del MVP. La tarifa de $600 MXN/h y el esquema de tiempo y materiales con tope por etapa se mantienen.
### B.1 Módulos cotizados
| Módulo | Horas | Inversión (MXN) |
|---|---|---|
| Recordatorios automáticos por correo + editor de plantillas + bitácora de comunicaciones | 12 16 | $7,200 $9,600 |
| Pago en línea (Stripe Checkout) + webhook de conciliación + tarjeta y SPEI | 14 18 | $8,400 $10,800 |
| Conciliación bancaria por PDF (3 bancos, incl. IBC Texas) + extracción asistida + motor de coincidencia + cola de revisión | 28 36 | $16,800 $21,600 |
| Exportación de pagos conciliados y movimientos en formato BIND | 8 12 | $4,800 $7,200 |
| Integración con BUK (lectura de nómina y colaboradores) | 18 24 | $10,800 $14,400 |
| **Subtotal** | **80 106 h** | **$48,000 $63,600** |
> El monto de esta fase es comparable al del MVP porque incorpora **cinco módulos nuevos completos**, cada uno con su propio diseño, integración y pruebas. No se trata de extensiones menores, sino de capacidades adicionales sobre la base ya construida.
### 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.
### B.3 Activación
Al cierre del MVP se realiza una sesión de priorización (1 h) y se formaliza una orden de trabajo por módulo seleccionado, con un anticipo de 30 horas del primero a desarrollar. La tarifa, el esquema, la comunicación y la garantía aplican en los mismos términos que en la primera etapa.