Ir al contenido
UNE · v16 vs v19 — Comparativa de realidad
Comparativa de realidad · Revisión en vivo (ambas instancias)

La v16 es la producción real
la v19 es un staging inconcluso

La v16 (Melkart + Veniu) NO está apagada: es la producción viva de UNE — 34,911 alumnos, 9.2M facturas, facturando cada mes. La v19 (Xmarts) que le prometieron sigue siendo un staging con datos de prueba.

v16 · Producción VIVA

Melkart + Veniu

34,911 alumnos · 239 usuarios · 9.2M facturas · 1.37M POS. Facturando hoy.

Odoo 16.0+eGoogle Cloud1 compañía13 Studio
VS
v19 · Staging (no vivo)

Xmarts

211 contactos de prueba · alumnos "test" · aún no migrado.

Odoo 19.0+eCloudPepper28 compañías59 Studio

🔑 El hallazgo que reencuadra todo

UNE sigue operando en la v16 (Melkart, Google Cloud). La migración a la v19 prometida nunca se completó — la v19 es un staging con 211 contactos de prueba. Lo "prometido" (colegiaturas) en la v16 funciona a escala: 142,360 inscripciones activas. Ese es el verdadero trago amargo: pagaron por una migración que lleva años sin arrancar, mientras producción corre en un Odoo 16 que envejece.

La revelación

Quién construyó qué

El núcleo académico de la v16 lo hizo Melkart (partner español), no Veniu. El rol de Veniu fue integrador + capa custom. En la v19, Xmarts reemplazó todo el núcleo de Melkart con su propia suite.

🟣 v16 — el reparto real

  • Melkart (12 mód.): núcleo académico school_* (base v13→v15), Firebase, ASC schedule
  • Veniu (~17 mód.): nómina UNE, addenda fiscal, extra fields, y APIs puente (incluida "API para recibir contactos desde un bot")
  • Softhealer (6), Serpent (2), Hg (3): herramientas comerciales de compras/POS/presupuesto
  • Technaureus: biometría ⚠️ (familia con CVE SQLi) · GTICA: WhatsApp · OCA: auditlog

🟡 v19 — Xmarts al mando

  • Xmarts (24 mód. / 202 modelos): núcleo académico nuevo xma_* + school.* (79 modelos), portal, Google Classroom, MCP
  • Odoo Enterprise: sale_subscription (colegiaturas nativas)
  • Vauxoo: localización MX / CFDI
  • UNE (Studio): studio_customization + 59 campos manuales
Misma necesidad, distinta implementación

Mapeo funcional

🔄 Reemplazado · ♻️ Mismo propósito, reconstruido · ⬇️ Retroceso

Áreav16 (Melkart + Veniu · GCP) — PRODUCCIÓNv19 (Xmarts · CloudPepper) — STAGING
Escala / uso34,911 alumnos · 9.2M facturas · 1.37M POS (vivo)211 contactos de prueba · 212 facturas test⚠️
Núcleo académicoMelkart school_* (v13→v15) — 241 modelosXmarts xma_* + school.* (79 mod.)🔄
ColegiaturasMelkart school.enroll = 142,360 + pricelist 2,390 + SERVO 3,526 + becas 572 · VIVOOdoo sale_subscription = 29 subs de prueba (4 planes)🔄
Fiscal / CFDIVeniu sh_edi_une_addenda (Addenda UNE)Vauxoo l10n_mx + Xmarts xma_iedu_cfdi_complement🔄
Banco / SantanderVeniu web_api_santanderXmarts xma_l10n_mx_santander_reference♻️
Bot / API puenteVeniu sh_api_contact / crm_api_moduleXmarts xma_connect / xma_integration_une♻️
NóminaVeniu hr_payroll_une + contract customsOdoo Payroll nativo🔄
Biometría / asistenciaTechnaureus biométrico + face recognitionAsistencia escolar school.attendance (319/828)🔄
Presupuestoscrossovered.budget: 37,205 líneas · 3,236 posiciones (vivo)budget.analytic: 3 líneas (apenas)🔄
Compras + autorizacionesDoble validación PRENDIDA (two_step) · 43,513 órdenes · 42 "to approve" — códigoNativo po_double_validation apagado (one_step) + Studio x_studio_aprobador*⬇️
Extra fields / StudioMódulos sh_*_extra_fields (código) · 13 campos Studio59 campos Studio (manual)⬇️
FirebaseMelkart odoo_firebase_core— (MCP odoo_remote_mcp)🔄
InfraestructuraGoogle Cloud (self-hosted GCP)CloudPepper🔄
La diferencia estructural

Studio vs Desarrollo

🟣 v16 — 100% código

31,970 campos de código · solo 13 Studio · 0 modelos Studio. Todo versionado por Git; hasta los campos extra están en módulos sh_*_extra_fields de código.

🟡 v19 — código + 59 Studio

Xmarts rehízo en código, pero encima UNE metió 59 campos Studio — el parche analítico x_plan*_id y las autorizaciones de compra x_studio_aprobador*.

⬇️ El retroceso que revela la comparación

En compras/autorizaciones/extra-fields, la v19 retrocedió de código a Studio. Lo que en v16 estaba resuelto con módulos versionados (sh_purchase_extra_fields, purchase_budget, bi_purchase_budget, scs_sale_purchase), en v19 quedó como campos Studio frágiles y a medio armar. Re-solidificar eso en código es una mejora concreta del rescate.

Contexto

¿Qué se tomó y qué es nuevo?

Nada del código de v16 se reutilizó tal cual. Xmarts reconstruyó todo con sus xma_*. Lo que sobrevivió fueron los conceptos, no el código.

♻️ Puente API para bot
v16 sh_api_contactv19 xma_connect
♻️ Referencia bancaria Santander
v16 web_api_santanderv19 xma_l10n_mx_santander_reference
♻️ Colegiaturas por suscripción
v16 Melkart + SERVOv19 Odoo sale_subscription
♻️ Complemento/addenda CFDI
v16 sh_edi_une_addendav19 xma_iedu_cfdi_complement

❌ Lo que se perdió / reemplazó

El núcleo Melkart completo, Firebase, la biometría Technaureus, WhatsApp GTICA, los checklists de CRM, y toda la capa custom de Veniu (nómina, extra fields, APIs) — Xmarts la rehízo a su manera. Además, dos saltos de plataforma: Google Cloud → CloudPepper, y tres de versión (16→19).

✅ v16 auditada EN VIVO — riesgos de la producción real

La v16 está viva pero con deuda: /web/database/manager expuesto + list_db activo; 22 crons parados (nextcall vencido — incluido el sync de timbrado SAT y "Enviar WhatsApp pendientes"); 10,411 correos sin enviar; 19 usuarios admin; sin candado de cierre contable sobre 9.2M facturas; 904 RFC y 7,847 emails duplicados; 5 módulos inconsistentes. Es un Odoo 16 grande que ya necesita atención, además de la migración inconclusa a v19.

Grupo Veniu · VSolutions — Comparativa v16↔v19 · Diagnóstico comparativo de ambas instancias · Confidencial · 2026