Incidentes de CFDI y Factura.com
Cuándo usar este documento
Cuando falla la emisión de comprobantes, su carga al portal SIM o la confirmación de su estatus.
Audiencia
Soporte y facturación.
Estado documental
- Estado: Borrador
- Última actualización: 2026-08-02
- Owner: Pendiente
- SME requerido: facturación / integraciones
- Fuente resumida: comandos de facturación e integración de timbrado.
Antes de empezar: dónde se detuvo
El comprobante recorre cinco estaciones. Ubicar en cuál se quedó ahorra la mitad del diagnóstico:
1. pendiente → 2. timbrado → 3. en S3 → 4. cargado al SIM → 5. estatus confirmado| Se quedó en | Síntoma |
|---|---|
| 1 | No existe el comprobante. |
| 2 | Existe el documento origen, no hay UUID. |
| 3 | Hay UUID, el archivo no está en el bucket. |
| 4 | Está en S3, CENACE no lo tiene. |
| 5 | CENACE lo tiene, el sistema no lo refleja. |
Síntomas
| Síntoma | Ir a |
|---|---|
| No se emitió ninguna factura | Falla total de timbrado |
| Se emitieron algunas y otras no | Falla parcial |
| Emitidas pero no llegaron al SIM | No llegan al portal |
| El estatus no se actualiza | Estatus sin confirmar |
| Se emitió un comprobante incorrecto | Comprobante emitido por error |
Falla total de timbrado
Síntoma: ecd:create_invoices no produce ningún comprobante.
Causas probables, en orden:
- No hay documentos pendientes. No es una falla. Verificar:bashSi la exportación viene vacía, el problema está aguas arriba: no llegaron los ECD o no se generaron los estados de cuenta.
php artisan ecd:create_invoice --csv - Credenciales del proveedor incorrectas. Revisar el log de proceso.
- Factura.com no disponible. Es un bloqueo externo: no hay proveedor alterno.
- Workers caídos. El comando encola; si nadie procesa, no se emite nada.
Recuperación: resuelta la causa, reejecutar. Para una primera verificación acotada:
php artisan ecd:create_invoices --total=1Falla parcial
Síntoma: unos comprobantes se emitieron y otros no.
Causa habitual: datos fiscales incompletos o inválidos en los documentos que fallaron — no un problema del proveedor.
Diagnóstico:
php artisan ecd:create_invoice --csvMuestra qué sigue pendiente y con qué datos. Comparar contra los que sí se emitieron.
Recuperación: corregir los datos de la empresa o del documento en su módulo de origen, y reemitir solo los pendientes.
No llegan al portal
Síntoma: hay UUID pero CENACE no tiene el documento.
Diagnóstico: avanzar estación por estación.
| Verificar | Cómo |
|---|---|
| ¿Está en S3? | Revisar el bucket de facturas para la fecha. |
| ¿Se encoló la carga? | Revisar la cola de carga y queue:failed. |
| ¿El bot respondió? | Revisar el log de proceso. |
Recuperación:
php artisan ecd:upload_invoices_to_s3 <fecha>
php artisan ecd:upload_invoices <fecha>Ambos aceptan --ids= para acotar a documentos específicos.
Causa frecuente: una notificación pendiente en el SIM bloquea la navegación de los bots.
php artisan bot:queue --slug=cenace-notificationsEstatus sin confirmar
Síntoma: el documento llegó al SIM, el sistema no lo refleja.
Recuperación:
php artisan ecd:invoices_status --from=<dd/mm/YYYY> --to=<dd/mm/YYYY>Las fechas van en formato d/m/Y, distinto del resto de los comandos.
Si el bot no responde, revisar credenciales del participante y notificaciones pendientes en el SIM.
Comprobante emitido por error
Sin reversión automatizada
No existe procedimiento de cancelación ni sustitución implementado en el sistema. Un comprobante timbrado existe ante el SAT.
No intentar corregirlo por cuenta propia. Escalar de inmediato a desarrollo y al área de facturación, con el UUID, el periodo y el centro de carga.
Prevención
La verificación previa evita la mayoría de estos incidentes:
php artisan ecd:create_invoice --csvExporta lo que se va a facturar, con sus datos, sin emitir. Es la última oportunidad de detectar un error mientras todavía es reversible.
Evidencia mínima
- UUID, o identificador del documento origen si aún no se timbró.
- Periodo y centro de carga.
- Instancia del participante.
- Estación donde se detuvo el proceso.
- Respuesta del proveedor o del bot, sanitizada.
- Acción tomada y resultado.
Riesgos y gaps
- No hay procedimiento de cancelación de CFDI.
- Proveedor de timbrado único, sin contingencia.
- No hay alerta cuando una factura emitida no llega al SIM.
- No está documentado el manejo de complementos de pago.
Próxima revisión
Al documentar el procedimiento de cancelación con facturación.