Inicio › Códigos de error CP › CP147

Error CP147 en la Carta Porte 3.1: el código postal debe corresponder a estado, municipio y localidad (c_CodigoPostal)

Rechazo del complemento Carta Porte 3.1 en el bloque «Domicilio (calle, colonia, municipio, estado, país y código postal)». Explicación orientativa a partir de la regla y el mensaje literal de la matriz de errores del SAT; la validación final la hace tu PAC.

Por Amaury Covo Torres · Matriz de errores del SAT del 17 de junio de 2024 · Última revisión: 30 de octubre de 2026

Diagnóstico CP147 · Código postal y domicilio

Compara una fila con una sola ubicación

  1. ¿El rechazo nombra CodigoPostal?Usa este recorrido. Si sólo nombra Estado, revisa CP146.
  2. Lee Pais del Domicilio rechazado.La regla de código postal cambia según sea México u otro país.

Pais = MEX

Busca CodigoPostal en catCFDI:c_CodigoPostal. Compara las columnas de esa fila con el XML, como indica la tabla.

Pais distinto de MEX

CodigoPostal es texto libre según CP147. USA y CAN siguen requiriendo clave de Estado por CP146. No extrapoles la regla de un campo a los demás.

Relaciones para el código postal mexicano
Columna del catálogoDato del mismo Domicilio
c_EstadoDebe coincidir con Estado.
c_MunicipioDebe corresponder a Municipio cuando se registre ese atributo.
c_LocalidadDebe corresponder a Localidad cuando se registre ese atributo.

Contraejemplo: el CP de la bodega y el Estado de la oficina fiscal no forman necesariamente un domicilio válido. Toma todos los campos de la ubicación que estás documentando. No inventes Municipio o Localidad para completar una casilla.

Fuente: reglas CP146 y CP147 de la matriz de errores Carta Porte 3.1 del SAT, 17 de junio de 2024; contrastadas el 30 de octubre de 2026. Consultar la documentación del SAT. Esta lectura no consulta catálogos en vivo ni sustituye la validación del PAC.

Qué dice el SAT (mensaje literal)

Es el texto que devuelve tu PAC cuando el timbrado se rechaza con CP147. Si lo pegaste en el buscador para llegar aquí, es este:

El atributo "Ubicaciones:Ubicacion:Domicilio:CodigoPostal" no contiene una clave del catálogo de catCFDI:c_CodigoPostal cuando la clave del país es "MEX" o la clave registrada no corresponde con el valor del atributo "Ubicaciones:Ubicacion:Domicilio:Estado", "Ubicaciones:Ubicacion:Domicilio:Municipio" y "Ubicaciones:Ubicacion:Domicilio:Localidad"; o este está vacío.

Regla que se valida: Cuando el valor registrado en el atributo “Ubicaciones:Ubicacion:Domicilio:Pais” sea "MEX”, este atributo debe contener un valor del catálogo catCFDI:c_CodigoPostal, donde: • La clave de la columna “c_Estado”, debe coincidir con el valor registrado en el atributo “Ubicaciones:Ubicacion:Domicilio:Estado”, • Cuando se registre un valor en el atributo Ubicaciones:Ubicacion:Domicilio:Municipio”, este valor debe corresponder a la clave de la columna de clave “c_Municipio”. • Cuando se registre un valor en el atributo "Ubicaciones:Ubicacion:Domicilio:Localidad”, este valor debe corresponder a la clave de la columna de clave “c_Localidad”. En caso contrario se debe registrar texto libre.

Qué significa CP147

En claro: el código postal debe corresponder a estado, municipio y localidad (c_CodigoPostal).

El SAT rechaza el timbrado con este código cuando el valor capturado en Domicilio:CodigoPostal no existe en el catálogo c_CodigoPostal, c_Estado, c_Municipio, c_Localidad o no corresponde con otro dato del mismo bloque (por ejemplo, una clave que existe pero pertenece a otro registro).

CP147 relaciona CodigoPostal con el Estado y, cuando se registran, Municipio y Localidad de la misma ubicación. Para Pais = MEX se usa catCFDI:c_CodigoPostal. Para otros países, el código postal se registra como texto libre; eso no vuelve libre Estado en USA o CAN, que sigue sujeto a CP146.

Por qué te sale

Cómo corregir el error CP147 paso a paso

  1. Localiza CodigoPostal y Pais en el Domicilio que rechaza el PAC, sin mezclar origen y destino.
  2. Si Pais = MEX, busca CodigoPostal en catCFDI:c_CodigoPostal y compara c_Estado con Estado del XML.
  3. Cuando el XML incluya Municipio o Localidad, sus valores deben corresponder a c_Municipio y c_Localidad de esa misma fila. No rellenes campos ausentes por deducción.
  4. Si Pais no es MEX, CodigoPostal es texto libre según CP147. Revisa Estado aparte: MEX, USA y CAN requieren la clave y el país de c_Estado por CP146.
  5. Conserva los ceros y el valor real al exportar. Confirma con tu PAC las demás reglas que correspondan antes de volver a timbrar.

Catálogos que menciona esta regla: c_CodigoPostal, c_Estado, c_Municipio, c_Localidad. Cómo se consultan y de dónde se descargan: catálogos del complemento Carta Porte.

Ejemplo

Ejemplo simbólico, no valores válidos de catálogo: si la fila del CodigoPostal A indica c_Estado B, el Estado del mismo Domicilio debe ser B. Si además declaras Municipio C y Localidad D, ambos deben coincidir con las columnas de esa fila. Copiar Estado de la dirección de facturación y CodigoPostal de otra bodega rompe esa relación.

Antes de volver a timbrar, actualiza los catálogos y el esquema 3.1 de tu software: un dato correcto contra un catálogo viejo sigue produciendo CP147. Puedes revisar el formato de tus datos clave (clave de producto, códigos postales y tipo de transporte) con el prevalidador gratuito de CartaPorteCheck, que no consulta los catálogos en vivo.

¿Sigue rechazado después de corregirlo?

Una corrección puntual por rechazo: revisamos un XML o el mensaje completo del PAC y te decimos exactamente qué cambiar. Pago único después de entregar la corrección: US$29. No incluye timbrado, emisión ni soporte mensual.

Solicitar corrección de CP147

Consulta opciones de facturacion

Consulta con Alegra la disponibilidad de Carta Porte para tu operacion, el plan necesario y su precio antes de contratar. El proveedor confirma el alcance y realiza el timbrado.

Consultar Alegra

Enlace informativo a Alegra. No tenemos una comision confirmada para este enlace. Consulta precio, alcance y condiciones directamente con el proveedor.

Preguntas frecuentes

¿Qué significa el error CP147 en la Carta Porte 3.1?

El SAT rechaza el timbrado con este código cuando el valor capturado en Domicilio:CodigoPostal no existe en el catálogo c_CodigoPostal, c_Estado, c_Municipio, c_Localidad o no corresponde con otro dato del mismo bloque (por ejemplo, una clave que existe pero pertenece a otro registro).

¿En qué campo del complemento está el error CP147?

En Ubicacion:Domicilio:CodigoPostal, dentro del bloque «Domicilio (calle, colonia, municipio, estado, país y código postal)».

¿Cómo se corrige el error CP147?

CP147 relaciona CodigoPostal con el Estado y, cuando se registran, Municipio y Localidad de la misma ubicación. Para Pais = MEX se usa catCFDI:c_CodigoPostal. Para otros países, el código postal se registra como texto libre; eso no vuelve libre Estado en USA o CAN, que sigue sujeto a CP146.

Fuente: SAT, matriz de errores del complemento Carta Porte 3.1 (17 de junio de 2024), publicada en el minisitio del complemento. La regla y el mensaje se reproducen literalmente; la explicación es nuestra y es orientativa.

CartaPorteCheck es una herramienta de revision previa basada en catalogos publicos del SAT. No esta afiliada al SAT ni a ningun PAC, no emite comprobantes fiscales ni reemplaza el timbrado oficial. La informacion es orientativa; verifica siempre con tu proveedor de facturacion.