ECD / CENACE
Objetivo
Documentar cómo sy-energy obtiene y procesa los Estados de Cuenta Diarios de CENACE, que son el insumo del que depende toda la operación.
Responsabilidad del módulo
Descargar el ECD de cada fecha de operación y subcuenta, almacenarlo y dejarlo disponible para los cálculos, los estados de cuenta y la facturación.
Audiencia
Soporte, operación y desarrollo interno.
Estado documental
- Estado: Borrador
- Última actualización: 2026-08-02
- Owner: Pendiente
- SME requerido: operación energética / integraciones
- Fuente resumida: comandos de sincronización, estrategias de documento y configuración de colas.
Qué es el ECD
El Estado de Cuenta Diario es el documento que CENACE publica por participante y subcuenta con el resultado de la operación de un día en el mercado eléctrico.
Es la fuente de verdad del sistema: sin ECD no hay energía que asignar, no hay costo que calcular y no hay nada que facturar.
Conceptos
| Término | Qué es |
|---|---|
| Fecha de operación | El día del mercado al que corresponde el documento. No es la fecha en que se descarga. |
| Subcuenta | Unidad de agrupación del participante ante CENACE. Un participante puede tener varias. |
| FUECD | Folio único del Estado de Cuenta Diario. Identifica el documento. |
| FUF | Folio único de factura. Identifica el documento de cobro asociado. |
| RMU | Identificador del centro de carga. |
Flujo
ecd:sync <fecha> encola una petición por subcuenta
│
▼
ecd:sync-store <fecha> <sub> llama a la API de CENACE y descarga el documento
│
▼
almacenamiento el ECD queda disponible para cálculos y facturaciónecd:sync no descarga: reparte el trabajo. La descarga real la hace ecd:sync-store, una vez por subcuenta, procesado por los workers de cola.
El desfase de 5 días
La sincronización diaria pide el ECD de hace 5 días, no el de ayer, porque CENACE no publica de inmediato.
Implicaciones:
- Que falte el ECD de ayer es lo normal.
- Que falte el de hace más de una semana no lo es.
- Al reprocesar, la fecha que se pasa al comando es la fecha de operación.
Detalle en Scheduler y batch.
Comandos
| Comando | Uso |
|---|---|
ecd:sync {date?} {subaccounts?*} {--from=} {--to=} | Encola la sincronización. Acepta rango de fechas y lista de subcuentas. |
ecd:sync-store {operation_date} {subaccount} | Descarga un ECD puntual. Es la forma precisa de reprocesar un día. |
edocuenta:sync {date?} | Sincroniza todas las subcuentas registradas. |
sync:cenace-cfdi {--file=} {--date=} | Sincroniza los CFDI emitidos por CENACE. |
passthrough:check-cenace-energy {inicio} {fin} | Verifica si falta energía de CENACE en un periodo. No escribe datos. |
Tipos de documento
El sistema distingue tres situaciones sobre un mismo periodo:
| Tipo | Qué significa |
|---|---|
| Liquidación | Resultado inicial publicado por CENACE. |
| Liquidación en cero | Documento sin importes. |
| Reliquidación | CENACE republica un periodo con información corregida. |
Las reliquidaciones cambian el pasado
Una reliquidación modifica información de un periodo que puede estar ya calculado y facturado. No hay un procedimiento documentado para propagarla; es un gap conocido registrado en validaciones internas.
Qué depende de este módulo
| Depende | Cómo |
|---|---|
| Facturación | Los documentos pendientes de facturar salen del ECD. |
| Cálculos pass-through | El costo se calcula sobre la energía del ECD. |
| Estados de cuenta | Consolidan la información del periodo. |
| Balances y reportes | Se construyen sobre los mismos datos. |
Por eso un ECD faltante no se manifiesta como error de ECD: aparece como una factura que no se creó o un importe que no cuadra, días después.
Errores comunes
| Síntoma | Causa probable | Acción |
|---|---|---|
| Falta el ECD de una fecha | CENACE no lo publicó todavía, o el trabajo falló. | Verificar la fecha contra el desfase; si ya debió existir, ecd:sync-store. |
| Falta el ECD de varias fechas seguidas | Credenciales del participante, o API de CENACE caída. | Revisar el log de sincronización y escalar. |
ecd:sync termina pero no llega nada | Los workers están caídos. | Revisar Supervisor y queue:failed. |
| Los cálculos dan cero | Falta energía en el periodo. | passthrough:check-cenace-energy y reprocesar los días faltantes. |
Evidencia esperada
- Registro de sincronización del día en el log de ECD.
- ECD presente para cada subcuenta y fecha de operación esperada.
- Sin trabajos fallidos en la cola de sincronización.
Riesgos y gaps
- No hay alerta cuando falta un ECD; se detecta por sus consecuencias.
- No está documentado el procedimiento ante reliquidaciones de un periodo ya facturado.
- No está documentado el manejo de la cola de ECD faltantes.
- Falta confirmar el catálogo de subcuentas por participante.
Próxima revisión
Al documentar el procedimiento de reliquidación.