CFDI40147 y CFDI40148: corrige el domicilio fiscal
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes

CFDI40147 y CFDI40148: corrige el domicilio fiscal

Publicado el

Constancia fiscal con el código postal resaltado, conectado al bloque Receptor de una factura.

Timbras una factura y el PAC la rechaza con CFDI40147 o CFDI40148. Los dos mensajes hablan del mismo dato, el DomicilioFiscalReceptor (el código postal del domicilio fiscal de tu cliente), pero revisan cosas distintas. Si entiendes cuál de las dos reglas falló, sabes qué pedirle a tu cliente y puedes corregir el comprobante con datos de una fuente confiable.

En esta guía verás qué dice exactamente cada regla del Anexo 20, cómo distinguir cuál te está rechazando, de dónde sacar el dato correcto, un ejemplo en XML con datos ficticios, cómo revisar tu catálogo de clientes para que no se repita y qué hacer si en realidad el problema es otro campo del receptor.

Si solo quieres la ficha técnica de cada error, están en el Centro de Soluciones: CFDI40147 y CFDI40148. Esta guía las complementa con un método de diagnóstico y un plan de prevención.

Qué dicen las reglas del Anexo 20

Ambas validaciones se aplican al atributo DomicilioFiscalReceptor del nodo cfdi:Receptor, que debe tener cinco dígitos. El texto oficial es este:

Error Regla del Anexo 20 Mensaje de rechazo
CFDI40147 Este atributo debe encontrarse en la lista de RFC inscritos no cancelados en el SAT. El campo DomicilioFiscalReceptor del receptor, debe encontrarse en la lista de RFC inscritos no cancelados en el SAT.
CFDI40148 Este atributo debe pertenecer al nombre asociado al RFC registrado en el atributo Rfc del nodo Receptor. El campo DomicilioFiscalReceptor del receptor, debe pertenecer al nombre asociado al RFC registrado en el campo Rfc del Receptor.

En palabras simples:

  • CFDI40147: el código postal que capturaste no se encuentra en la información de la lista de RFC inscritos no cancelados del SAT.
  • CFDI40148: el código postal no corresponde al contribuyente que identificaste con el RFC y el nombre del receptor.

En ambos casos el comprobante se rechaza antes del timbrado: no se genera UUID y no hay nada que cancelar. Basta corregir los datos y volver a enviar.

¿Y si el problema es que el RFC no está inscrito?

Es una confusión frecuente: el rechazo por un RFC que no figura en la lista del SAT no es 40147 ni 40148, sino CFDI40143 (regla: cuando no se usa un RFC genérico, el RFC debe estar en la lista de RFC inscritos no cancelados). Revisa la ficha de CFDI40143.

Si corriges el código postal y aparece otro error del receptor (por ejemplo del nombre o del régimen), revisa la ficha de ese código: son validaciones distintas sobre datos distintos.

Diagnóstico rápido: ¿qué dato está fallando?

Antes de cambiar nada, identifica la causa con estas preguntas:

  1. ¿El código postal tiene cinco dígitos y conserva el cero inicial? 6600 no es válido; debe ser 06600. Esto ocurre mucho cuando los datos pasan por Excel. Un valor de cuatro dígitos incumple el formato del esquema (el atributo exige cinco dígitos) y normalmente se rechaza por formato antes de llegar a estas dos reglas, pero conviene corregirlo igual.
  2. ¿Es el domicilio fiscal o el de entrega? El comprobante lleva el fiscal, el que aparece en la constancia de situación fiscal del cliente, no el de sucursal, bodega u oficina.
  3. ¿El RFC y el nombre son los de la misma constancia? Si el RFC pertenece a una persona y el nombre a otra, la validación del domicilio fallará y probablemente también la del nombre (CFDI40145).
  4. ¿La constancia que usas es reciente? Si el cliente cambió de domicilio fiscal, la constancia antigua ya no sirve.
  5. ¿Es un RFC genérico (público en general o extranjero)? Entonces aplica otra regla, CFDI40149, que exige que el domicilio sea igual al LugarExpedicion.

De dónde tomar los datos correctos

La fuente confiable es la Constancia de Situación Fiscal vigente del cliente. De ella copia tal cual:

  • RFC.
  • Nombre o razón social, sin el régimen de capital (por ejemplo, sin "SA de CV").
  • Código postal del domicilio fiscal.
  • Régimen fiscal, que debe corresponder al tipo de persona y ser compatible con el uso de CFDI.

No completes el dato de memoria, ni lo copies de una factura anterior, ni pruebes códigos postales al azar. Si tienes dudas, pide al cliente una constancia nueva.

Cuadro comparativo: errores del receptor que se confunden

Error Campo Qué revisa
CFDI40143 Rfc RFC en la lista de inscritos no cancelados
CFDI40145 Nombre Nombre asociado al RFC del receptor
CFDI40147 DomicilioFiscalReceptor Código postal en la lista de RFC inscritos
CFDI40148 DomicilioFiscalReceptor Código postal asociado al RFC del receptor
CFDI40149 DomicilioFiscalReceptor Con RFC genérico, igual al LugarExpedicion
CFDI40159 RegimenFiscalReceptor Con RFC genérico, régimen 616

Ejemplo con datos ficticios

Una empresa de servicios factura a una persona física. Capturó el código postal de la oficina donde se entrega el servicio en lugar del domicilio fiscal. Los datos son inventados.

Constancia de situación fiscal del cliente (ficticia): RFC XAMA800101AB1, nombre ANA MARIA XIMENEZ, código postal 03100, régimen 612.

Receptor con rechazo:

<cfdi:Receptor Rfc="XAMA800101AB1" Nombre="ANA MARIA XIMENEZ"
  DomicilioFiscalReceptor="03200" RegimenFiscalReceptor="612" UsoCFDI="G03" />

El código postal (03200) es el de la oficina de entrega y no el del domicilio fiscal de la constancia (03100), por lo que el PAC lo rechaza según la regla de domicilio fiscal que corresponda (40147 o 40148).

Receptor corregido:

<cfdi:Receptor Rfc="XAMA800101AB1" Nombre="ANA MARIA XIMENEZ"
  DomicilioFiscalReceptor="03100" RegimenFiscalReceptor="612" UsoCFDI="G03" />

Con el código postal de la constancia, el comprobante pasa esta validación. Si apareciera otro error, revisa el campo que menciona.

Segundo caso, de formato: si el código postal 03100 pasa por Excel y llega como 3100, tiene cuatro dígitos y no cumple el formato de cinco; se corrige capturándolo como 03100.

Un tercer caso: la ficha del cliente tenía el código postal de su sucursal (06700) y la constancia indica 06600. Al sustituirlo, el rechazo desaparece. Lo importante no es que el código "exista", sino que sea el que el SAT tiene para ese contribuyente.

Si tienes dudas sobre qué régimen fiscal o uso de CFDI le corresponde a tu cliente, consúltalo con tu contador.

Pasos para corregirlo

  1. Lee el código del rechazo (40147 o 40148) y copia el mensaje completo.
  2. Pide al cliente su constancia de situación fiscal reciente.
  3. Compara RFC, nombre, código postal y régimen con tu ficha, dígito por dígito.
  4. Corrige la ficha del cliente (una vez, no en cada factura).
  5. Genera de nuevo el comprobante con los datos corregidos y envíalo a timbrar.
  6. Si aparece un error distinto, trátalo con su ficha: ya pasaste esta validación.

Mensaje sugerido para pedir los datos al cliente

Hola, para emitir tu factura necesito los datos tal como aparecen en tu Constancia de Situación Fiscal vigente: RFC, nombre o razón social, código postal del domicilio fiscal y régimen fiscal. ¿Me envías la constancia en PDF? Por favor no compartas contraseñas ni archivos de tu e.firma.

Cómo evitar que se repita: revisa tu catálogo de clientes

Si facturas con frecuencia a los mismos clientes, revisa tu catálogo una vez en lugar de descubrir los errores factura por factura:

  1. Exporta tu catálogo a Excel con RFC, nombre, código postal y régimen.
  2. Da formato de texto a la columna del código postal para conservar los ceros iniciales.
  3. Marca los registros cuyo código postal no tenga cinco dígitos.
  4. Pide la constancia a los clientes con datos dudosos y anota la fecha de la última verificación.
  5. Guarda por separado el domicilio de entrega y el domicilio fiscal en dos campos distintos.
  6. En el alta de clientes nuevos, solicita la constancia desde el principio.

Cómo te ayuda Soicont

La facturación electrónica CFDI 4.0 de Soicont se emite a través de PAC, que validan técnicamente cada XML antes de otorgarle un folio fiscal (UUID). En el receptor, el nombre debe coincidir con la Constancia de Situación Fiscal, el código postal del domicilio fiscal es un dato obligatorio y validado (si no coincide, la factura no se timbra) y el régimen fiscal debe ser compatible con el uso de CFDI. Puedes repasar estos requisitos en la guía de facturación electrónica CFDI 4.0.

Si te interesa emitir con Soicont, Regístrate. Si el error continúa después de revisar estos puntos, 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). También puedes consultar el Centro de Soluciones con todos los errores del SAT.

Preguntas frecuentes

¿Cuál es la diferencia entre CFDI40147 y CFDI40148?

CFDI40147 verifica que el código postal del receptor se encuentre en la lista de RFC inscritos no cancelados del SAT; CFDI40148 verifica que pertenezca al RFC y nombre del receptor.

¿Qué código postal debo poner en DomicilioFiscalReceptor?

El del domicilio fiscal que aparece en la Constancia de Situación Fiscal vigente del cliente, con cinco dígitos.

¿Puedo usar el código postal de entrega?

No, salvo que coincida con el fiscal. El comprobante lleva el domicilio fiscal.

El RFC de mi cliente no está en la lista del SAT, ¿es el error 40147?

No. Ese caso corresponde a CFDI40143.

¿Se genera UUID si me rechazan por 40147 o 40148?

No. El comprobante se rechaza antes del timbrado; corrige los datos y vuelve a enviarlo.

Mi cliente cambió de domicilio fiscal, ¿qué hago?

Pídele su constancia más reciente y actualiza su ficha antes de la siguiente factura.

¿Qué hago si el código postal empieza con cero?

Captúralo con cinco dígitos, por ejemplo 06600. En Excel conviene dar formato de texto a la columna.

¿Y si vendo a público en general o a un extranjero?

Con RFC genérico aplica CFDI40149: el domicilio debe ser igual al LugarExpedicion. Consulta su ficha.