Skip to content

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:

text
1. pendiente  →  2. timbrado  →  3. en S3  →  4. cargado al SIM  →  5. estatus confirmado
Se quedó enSíntoma
1No existe el comprobante.
2Existe el documento origen, no hay UUID.
3Hay UUID, el archivo no está en el bucket.
4Está en S3, CENACE no lo tiene.
5CENACE lo tiene, el sistema no lo refleja.

Síntomas ​

SíntomaIr a
No se emitió ninguna facturaFalla total de timbrado
Se emitieron algunas y otras noFalla parcial
Emitidas pero no llegaron al SIMNo llegan al portal
El estatus no se actualizaEstatus sin confirmar
Se emitió un comprobante incorrectoComprobante emitido por error

Falla total de timbrado ​

Síntoma: ecd:create_invoices no produce ningún comprobante.

Causas probables, en orden:

  1. No hay documentos pendientes. No es una falla. Verificar:
    bash
    php artisan ecd:create_invoice --csv
    Si la exportación viene vacía, el problema está aguas arriba: no llegaron los ECD o no se generaron los estados de cuenta.
  2. Credenciales del proveedor incorrectas. Revisar el log de proceso.
  3. Factura.com no disponible. Es un bloqueo externo: no hay proveedor alterno.
  4. 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:

bash
php artisan ecd:create_invoices --total=1

Falla 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:

bash
php artisan ecd:create_invoice --csv

Muestra 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.

VerificarCó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:

bash
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.

bash
php artisan bot:queue --slug=cenace-notifications

Estatus sin confirmar ​

Síntoma: el documento llegó al SIM, el sistema no lo refleja.

Recuperación:

bash
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:

bash
php artisan ecd:create_invoice --csv

Exporta 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.