Error CFDI40146 al timbrar: con Nombre PUBLICO EN GENERAL el RFC del receptor debe ser XAXX010101000
El error CFDI40146 aparece cuando el nombre del receptor es PUBLICO EN GENERAL y su RFC no es el genérico nacional XAXX010101000. Suele ocurrir cuando un sistema deja ese nombre por defecto y el usuario captura el RFC de un cliente real, o al revés. Aquí verás cómo decidir cuál de los dos datos corregir y qué otros datos del comprobante cambian con la decisión.
Resumen rápido del error
- Código: CFDI40146
- Campo: Nombre
- Nodo del XML:
cfdi:Receptor - Regla del SAT (Anexo 20): Si el valor registrado en este atributo es “PUBLICO EN GENERAL”, el valor del atributo RFC del receptor debe ser “XAXX010101000”.
- Mensaje de rechazo: El campo RFC del receptor debe contener el valor "XAXX010101000".
- Cuándo aparece: al timbrar, antes de que se genere el UUID.
¿Qué significa el error CFDI40146?
PUBLICO EN GENERAL es el nombre que acompaña al RFC genérico nacional cuando el receptor no se identifica. La regla CFDI40146 verifica que ambos datos vayan juntos: si el nombre dice «público en general», el RFC tiene que ser XAXX010101000. No se aplica en sentido inverso a otras combinaciones; para esas, el SAT usa las reglas de RFC y de nombre del receptor.
Corregir el error no significa solo cambiar un atributo. Si decides que el receptor es el público en general, el comprobante deberá cumplir otras reglas asociadas al RFC genérico. Si decides que es un cliente identificado, el nombre debe ser el que corresponde a su RFC. Escoge primero la situación real de la venta y después ajusta los datos.
Dónde se valida: el nodo Receptor, nombre y RFC
La validación se aplica al nodo cfdi:Receptor y revisa la pareja Nombre y Rfc. Solo se activa cuando el nombre es PUBLICO EN GENERAL.
- CFDI40143: si el RFC no es genérico, debe estar en la lista de RFC inscritos.
- CFDI40144 y CFDI40145: el nombre debe estar en la lista y pertenecer al RFC del receptor.
- CFDI40146: con
PUBLICO EN GENERAL, el RFC debe serXAXX010101000(esta ficha). - CFDI40149: con RFC genérico, el domicilio fiscal debe ser igual al
LugarExpedicion. - CFDI40130: en un ingreso al público en general debe existir el nodo
InformacionGlobal.
Causas más comunes del error CFDI40146
- El sistema dejó el nombre por defecto. Se capturó el RFC de un cliente pero el nombre sigue siendo
PUBLICO EN GENERAL. - Se capturó un RFC con un error. Se escribió una letra o un dígito distinto y el RFC dejó de ser el genérico.
- Se copió el nombre de una plantilla. Una factura de mostrador sirvió de base para la de un cliente.
- Se cambió el RFC y no el nombre. Al identificar al cliente se corrigió el RFC, pero el nombre quedó como estaba.
- Se usó un RFC genérico extranjero. Se capturó
XEXX010101000con el nombre de público en general, que no cumple la regla. - La integración rellena el nombre. Un sistema externo escribe el nombre aunque el RFC sea otro.
Cómo corregir el error CFDI40146 paso a paso
- Define a quién se factura. Confirma si el receptor se identificó o es el público en general.
- Si es público en general, ajusta el RFC. Usa
XAXX010101000y conserva el nombre. - Si es un cliente, corrige el nombre. Escribe el nombre asociado al RFC del cliente (CFDI40145).
- Revisa el domicilio fiscal. Con el RFC genérico, debe ser igual al
LugarExpedicion(CFDI40149). - Revisa la información global. En un comprobante de ingreso al público en general debe existir (CFDI40130).
- Vuelve a timbrar. Con la pareja correcta, el PAC pasa a las demás validaciones.
Ejemplo en el XML: incorrecto y correcto
Ejemplo del receptor de una venta de mostrador con un RFC de cliente y el nombre por defecto; los datos son ficticios:
Incorrecto:
<cfdi:Receptor Rfc="ABC010101AB1" Nombre="PUBLICO EN GENERAL" DomicilioFiscalReceptor="06000" RegimenFiscalReceptor="601" UsoCFDI="G03" />
Correcto:
<cfdi:Receptor Rfc="XAXX010101000" Nombre="PUBLICO EN GENERAL" DomicilioFiscalReceptor="06600" RegimenFiscalReceptor="616" UsoCFDI="S01" />
Los datos son ficticios. El domicilio fiscal debe ser el mismo LugarExpedicion del comprobante, que aquí se supone 06600. La clave 616 y el uso S01 son los del RFC genérico.
Dos rutas para una misma venta
Cuando el cliente no pide factura con sus datos, la venta puede documentarse con el público en general; cuando sí los pide, se emite con los suyos. En un mostrador, los dos casos conviven, por lo que es útil que el sistema ofrezca ambos como opciones explícitas y no como un solo formulario con valores por defecto. Cada opción llena los atributos que le corresponden: la genérica pone nombre, RFC, régimen y domicilio fijos; la identificada exige capturar los datos del cliente y los valida. Así se evita mezclar piezas de una y otra. Para repasar la estructura del receptor, consulta la guía de facturación electrónica CFDI 4.0.
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 CFDI40143 (Rfc): si el RFC no es genérico, debe estar en la lista de RFC inscritos.
- Error CFDI40145 (Nombre): el nombre debe pertenecer al RFC del receptor.
- Error CFDI40144 (Nombre): el nombre del receptor debe estar en la lista de RFC inscritos.
- Error CFDI40149 (DomicilioFiscalReceptor): con RFC genérico, el domicilio debe ser el LugarExpedicion.
- Error CFDI40159 (RegimenFiscalReceptor): con RFC genérico, el régimen del receptor debe ser 616.
Consulta también el Centro de Soluciones con todos los errores del SAT.
Preguntas frecuentes
¿Qué significa el error 40146?
Que el nombre es PUBLICO EN GENERAL y el RFC no es XAXX010101000.
¿Qué RFC corresponde a ese nombre?
XAXX010101000, el genérico nacional.
¿Puedo identificar al cliente?
Sí, con su RFC y su nombre; cambia ambos datos.
¿Qué otros datos cambian con el RFC genérico?
El domicilio fiscal y el régimen, entre otros; ve las reglas 40149 y 40159.
¿Debo agregar información global?
En ingresos al público en general existe esa regla; confírmala con tu contador (40130).
¿Se genera UUID con este error?
No. El comprobante se rechaza antes del timbrado.
¿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.