CFDI y Factura.com
Objetivo
Documentar la integración con el proveedor de timbrado y las reglas fiscales que aplica sy-energy al emitir comprobantes.
Audiencia
Facturación, integraciones y desarrollo interno.
Estado documental
- Estado: Borrador
- Última actualización: 2026-08-02
- Owner: Pendiente
- SME requerido: facturación / integraciones
- Fuente resumida: integración de timbrado, catálogo fiscal de CENACE y variables de ambiente del repositorio.
El proveedor
Factura.com es el proveedor autorizado de certificación que timbra los CFDI del sistema.
La integración es por API HTTP, configurada con cuatro variables de ambiente:
| Variable | Para qué |
|---|---|
FACTURA_COM_API_URL | Endpoint del proveedor. |
FACTURA_COM_API_KEY | Llave de API. |
FACTURA_COM_SECRET_KEY | Llave secreta. |
CFDI_VERSION | Versión del comprobante a emitir. |
Los valores son distintos por participante y por ambiente. No se documentan aquí.
Dependencia única
No hay proveedor alterno configurado. Si Factura.com no responde durante el cierre mensual, la facturación se detiene por completo y no hay ruta alterna documentada.
Reglas fiscales de los comprobantes a CENACE
Los comprobantes dirigidos a CENACE aplican un conjunto de reglas fijas, codificadas en el sistema, no configurables desde la interfaz:
| Elemento | Cómo se resuelve |
|---|---|
| Receptor | Datos fiscales de CENACE, fijos en el sistema. |
| Uso del CFDI | Valor fijo. |
| Forma de pago | Valor fijo, correspondiente a "por definir". |
| Método de pago | Pago en parcialidades o diferido. |
| Condiciones de pago | Pago en una sola exhibición. |
| Moneda | Peso mexicano. |
| Impuesto | Tasa aplicada sobre el importe. |
| Redondeo | Dos decimales. |
| Descuento | Sin descuento. |
| Claves de producto y servicio | Catálogo interno según el concepto. |
| Claves de unidad | Catálogo interno según el concepto. |
| Tipos de relación entre comprobantes | Catálogo interno. |
El sistema también distingue los folios según correspondan a transmisión o a distribución, aplicando el tratamiento que corresponde a cada uno.
Un cambio normativo exige despliegue
Como estas reglas están en código, cualquier cambio del SAT o de CENACE que afecte claves, usos o métodos requiere modificar el sistema y desplegarlo. No se puede resolver desde configuración.
Flujo de emisión
documento pendiente
│ ecd:create_invoices
▼
se arma el comprobante con las reglas fijas
│
▼
Factura.com timbra → UUID
│
▼
se almacena y se relaciona con el documento origenEl UUID es el identificador fiscal del comprobante y la referencia para reconciliarlo después.
Comandos
| Comando | Uso |
|---|---|
ecd:create_invoices {--chunk=} {--total=} ⚠️ | Emite todas las facturas pendientes. |
ecd:create_invoice {--id=} {--csv} ⚠️ | Emite una. Con --csv solo exporta, sin emitir. |
relate:cfdis {filename} {--step_2=} | Relaciona el UUID de un CFDI con su archivo mediante el FUF. |
sync:cenace-cfdi {--file=} {--date=} | Sincroniza los CFDI que emite CENACE. |
sync:service document {--uuid=} {--date=} | Sincroniza datos de documentos desde el proveedor. |
dispatch:sync-service | Encola la sincronización de datos del proveedor desde CSV. |
Verificación previa
php artisan ecd:create_invoice --csvExporta los documentos pendientes con los datos con los que se timbrarían. No emite nada. Es la verificación recomendada antes de cada cierre: una vez timbrado, el comprobante existe ante el SAT.
Errores comunes
| Síntoma | Causa probable | Acción |
|---|---|---|
| No se timbra ninguna factura | Credenciales del proveedor incorrectas o servicio caído. | Revisar el log de proceso y el estado del proveedor. |
| Se timbran algunas y otras no | Datos fiscales incompletos en los documentos que fallaron. | Revisar el detalle con --csv y corregir el origen. |
| Datos fiscales incorrectos en el comprobante | Datos de la empresa desactualizados. | Corregir en el módulo de clientes y volver a emitir. |
| Comprobante emitido por error | — | No hay cancelación automatizada. Escalar a desarrollo y facturación. |
| El UUID no se relaciona con el documento | Falló el paso de relación. | relate:cfdis con el archivo correspondiente. |
Evidencia mínima
- Periodo y centro de carga.
- Documento origen.
- UUID del comprobante.
- Respuesta del proveedor.
- Fecha y hora de emisión.
Riesgos y gaps
- No hay procedimiento documentado de cancelación o sustitución de un CFDI.
- Proveedor único, sin contingencia documentada.
- No está documentado el manejo de complementos de pago.
- No está documentado qué versión de CFDI está configurada en cada ambiente.
- Las reglas fiscales en código no tienen un procedimiento documentado de actualización ante cambios normativos.
Próxima revisión
Al documentar el procedimiento de cancelación con el área de facturación.