Error CFDI40128 al timbrar: número de Confirmación inválido
El error CFDI40128 aparece cuando el atributo Confirmacion del comprobante trae una clave que el emisor no solicitó al proveedor de certificación (PAC). La clave de confirmación es un código especial que solo se usa en casos específicos, y no se inventa ni se reutiliza: la autoriza el PAC. Esta guía explica cuándo se utiliza, de dónde sale y por qué se rechaza la clave inválida.
Resumen rápido del error
- Código: CFDI40128
- Campo: Confirmacion
- Nodo del XML:
cfdi:Comprobante - Regla del SAT (Anexo 20): El Proveedor de Certificación debe verificar que el emisor le haya solicitado esta clave de confirmación.
- Mensaje de rechazo: Número de confirmación inválido.
- Cuándo aparece: al timbrar, antes de que se genere el UUID.
¿Qué significa el error CFDI40128?
Confirmacion es un atributo opcional del nodo cfdi:Comprobante. Se llena únicamente cuando el valor de TipoCambio o del Total queda fuera del rango que valida el SAT y el emisor necesita confirmar que el dato es correcto. En condiciones normales el atributo no debe existir.
La regla CFDI40128 actúa del lado del PAC: verifica que la clave haya sido solicitada por el emisor. Si no la reconoce, rechaza el comprobante y no asigna UUID. Con esto se evita que cualquier persona escriba claves al azar para saltarse una validación.
Dónde se valida: el nodo Comprobante y Confirmacion
La validación se aplica al atributo Confirmacion del nodo raíz cfdi:Comprobante, y solo cuando existe. Tres reglas distintas rodean este atributo, y conviene no confundirlas:
- CFDI40128: la clave debe haber sido solicitada por el emisor al PAC (esta ficha).
- CFDI40127: el atributo no debe existir si
TipoCambioyTotalestán dentro del rango permitido. - CFDI40129: la clave no puede usarse en más de un comprobante.
Causas más comunes del error CFDI40128
- Se escribió una clave inventada. Un texto cualquiera de cinco caracteres, para intentar que pase la validación.
- La clave se solicitó a otro PAC. La confirmación solo vale con el proveedor al que se solicitó.
- La clave corresponde a otro emisor. Se copió la confirmación de otro RFC o de una factura de otro cliente.
- Se alteró la clave al capturarla. Un carácter confundido, como cero y letra O, o una minúscula en lugar de mayúscula.
- Se dejó la clave de una plantilla. La plantilla del sistema ya traía un valor de
Confirmacionde una operación anterior.
Cómo corregir el error CFDI40128 paso a paso
- Revisa si realmente necesitas una clave. Si
TipoCambioyTotalestán dentro de rango, elimina el atributo (CFDI40127). - Si el dato es correcto aunque esté fuera de rango, solicita la clave. Pídela al PAC por el canal que te indique, con los datos de la operación.
- Cópiala sin modificarla. Pega la clave exactamente como te la entregaron.
- Úsala una sola vez. Cada clave ampara un único comprobante (CFDI40129).
- Verifica con quién la solicitaste. Debe corresponder al mismo PAC que timbra el comprobante.
- Vuelve a timbrar. Con una clave reconocida, el PAC continúa con las demás validaciones.
Ejemplo en el XML: incorrecto y correcto
Ejemplo del encabezado de un comprobante en dólares con una clave de confirmación; los datos y la clave son ficticios:
Incorrecto:
<cfdi:Comprobante Moneda="USD" TipoCambio="5.00" Total="1000.00" Confirmacion="ABC12" ... />
Correcto:
<cfdi:Comprobante Moneda="USD" TipoCambio="17.50" Total="1000.00" ... />
En el ejemplo, la solución más sencilla fue corregir el tipo de cambio y eliminar el atributo. Solo se conserva Confirmacion cuando el dato fuera de rango es correcto y el PAC entregó una clave al emisor. La clave ABC12 del ejemplo no es real.
Cuándo no usar la confirmación
La clave de confirmación no corrige errores de captura: sirve para avalar un dato que es correcto pero que el SAT detecta como atípico, por ejemplo un tipo de cambio muy distinto al publicado ese día. Antes de pedirla, revisa que no haya un error de tipeo en el tipo de cambio o en el total. Si usas moneda extranjera, revisa también los errores de TipoCambio y de Moneda.
Cómo evitar este error con Soicont
Soicont es una plataforma de facturación electrónica CFDI 4.0 con PAC autorizado. Antes de enviar el comprobante a timbrar, valida los datos del receptor, los catálogos del SAT y los cálculos de impuestos, y si algo no cuadra te muestra el error con una explicación clara para que lo corrijas y vuelvas a emitir. Además, tus folios no caducan y puedes facturar para varias empresas (multi-RFC) desde una sola cuenta.
Conoce la facturación electrónica CFDI 4.0, la plataforma y los paquetes de folios.
Errores relacionados
- Error CFDI40127 (Confirmacion): la clave no debe existir si TipoCambio y Total están en rango.
- Error CFDI40129 (Confirmacion): la clave no puede usarse en más de un comprobante.
- Error CFDI40116 (TipoCambio): el tipo de cambio debe estar en el rango permitido.
- Error CFDI40119 (Total): el total debe coincidir con el cálculo de subtotal, descuentos e impuestos.
- Error CFDI40113 (Moneda): la moneda debe pertenecer al catálogo c_Moneda.
Consulta también el Centro de Soluciones con todos los errores del SAT.
Preguntas frecuentes
¿Qué es la clave de confirmación?
Un código que el PAC autoriza al emisor para confirmar un TipoCambio o un Total fuera de rango.
¿Debo llenar Confirmacion en todas mis facturas?
No. Solo en los casos en que el dato fuera de rango sea correcto.
¿Puedo reutilizar una clave?
No. Cada clave se usa en un solo comprobante (CFDI40129).
¿Quién me da la clave?
El proveedor de certificación al que se la solicitaste.
¿Qué hago si no necesito la clave?
Elimina el atributo Confirmacion del comprobante.
¿Todavía no se resuelve?
Si después de revisar estos puntos el error continúa, escríbenos desde la página de contacto con el código del error y el XML que intentaste timbrar (nunca envíes contraseñas ni la llave privada del CSD). Si aún no tienes cuenta, crea la tuya y empieza a facturar con validaciones previas.