FiscalAPI
Complemento de comercio exterior: ingreso y traslado

Complemento de comercio exterior: ingreso y traslado

5 de mayo de 2026

Una exportación de $180,000 USD detenida en aduana porque el CFDI venía sin complemento de comercio exterior. El cliente no era fabricante, era un distribuidor que vendía a Estados Unidos por primera vez. Su sistema emitía CFDI de ingreso correctos para clientes mexicanos. Para el cliente extranjero, simplemente cambiaron el RFC del receptor por el genérico de extranjero y dieron por hecho que con eso bastaba. No bastó. La mercancía estuvo retenida ocho días.

Este post existe porque ese caso no es raro. El complemento de comercio exterior es uno de los puntos donde la documentación del SAT asume contexto que solo tienes si ya has facturado exportaciones. Y peor: hay confusión genuina sobre qué tipo de CFDI lo lleva. Aquí está la respuesta corta y la versión larga.

Complemento de comercio exterior en CFDI de ingreso y CFDI de traslado
El complemento de comercio exterior se incorpora al CFDI cuando hay exportación definitiva de mercancías.

Qué es el complemento de comercio exterior

El complemento de comercio exterior es un nodo XML que se anexa al CFDI cuando la operación es una exportación definitiva de mercancías (clave de pedimento A1). Identifica al emisor, al receptor extranjero y a cada mercancía con su fracción arancelaria, cantidad aduanal y valor en dólares. El SAT lo usa para cruzar la información fiscal con la declaración aduanera y validar que la exportación coincida con lo declarado.

La versión vigente es la 1.1, publicada en 2017 y todavía obligatoria para exportaciones tipo A1. Existe el complemento 2.0 en planes desde hace años, pero a la fecha de este post sigue sin entrar en vigor formal. Si un proveedor te dice que necesitas migrar a 2.0 hoy, está adelantándose a un calendario que el SAT no ha cerrado.

El complemento NO aplica a exportaciones temporales, retornos, donaciones a residentes en el extranjero ni a servicios prestados al exterior. Aplica únicamente a exportaciones definitivas de mercancías. Esa distinción decide si tu CFDI necesita el nodo o no.

CFDI de ingreso y CFDI de traslado: ambos pueden llevarlo

Esta es la parte que confunde a la mayoría. El complemento de comercio exterior no está casado con un solo tipo de CFDI. Se incorpora a dos:

Cuándo aplica: Hay una venta. El exportador mexicano cobra al cliente en el extranjero por la mercancía.

Quién lo emite: El vendedor (residente en territorio nacional).

Receptor: El cliente extranjero. Se usa el RFC genérico de extranjero XEXX010101000 y se llena el nodo Receptor del complemento con el nombre, domicilio y número de identificación fiscal del país del comprador.

Total del CFDI: El valor de la venta, normalmente en dólares con tipo de cambio del día. La tasa de IVA es 0% por exportación.

Caso típico: Una empresa mexicana le vende producto a un mayorista de Texas. Emite CFDI de ingreso con CCE, declara la venta, y la fracción arancelaria del CCE debe coincidir con la del pedimento A1 que tramitará el agente aduanal.

Este es el escenario más común. Si tu pregunta es "vendí algo al extranjero, ¿qué emito?", la respuesta casi siempre es CFDI de ingreso con CCE.

La regla que conviene memorizar: si hay venta, ingreso. Si no hay venta pero la mercancía cruza la frontera, traslado. El complemento de comercio exterior es el mismo en estructura, lo que cambia es el tipo de comprobante donde lo embebes y los campos del CFDI base.

Cuándo es obligatorio incorporarlo

No todas las operaciones internacionales lo requieren. La regla 2.7.1.22 de la Resolución Miscelánea Fiscal lo deja claro, pero el SAT publicó la regla y luego una guía de llenado de 96 páginas para explicarla. Aquí está la versión condensada.

Operación¿Lleva CCE?Tipo de CFDI
Exportación definitiva con venta (clave A1)Ingreso
Traslado de mercancía propia al extranjeroTraslado
Envío en consignación al extranjeroTraslado
Muestras sin valor comercial al extranjeroTraslado
Exportación temporal (clave H1, H2, F4)NoTraslado simple
Donaciones a residentes en el extranjeroNoTraslado simple
Servicios prestados al exteriorNoIngreso sin CCE
Venta a residentes mexicanos en zonas francasNoIngreso normal
Retornos de mercancía importadaNoTraslado simple

La validación del SAT no rechaza un CFDI por traer CCE cuando no aplica. Lo acepta. Pero en una revisión posterior, un CCE indebido puede usarse para discrepancias entre lo facturado y lo declarado en aduana. Si la operación no es exportación definitiva, no metas el complemento "por si acaso".

Los campos que el SAT realmente revisa

El complemento tiene más de 30 atributos. La mayoría son opcionales o tienen catálogos cortos. Los que generan rechazos en producción son estos:

Identificación fiscal del receptor extranjero

El nodo Receptor del complemento exige el NumRegIdTrib, que es el equivalente al RFC pero del país del comprador. Para Estados Unidos es el EIN o SSN, para Canadá es el Business Number, para la Unión Europea es el VAT number. Sin este dato el complemento se rechaza.

El error que veo más seguido: meter el número con guiones, espacios o sufijos. El SAT los acepta como string, pero cuando ese CFDI llega a aduana y se cruza con el pedimento, los formatos tienen que coincidir o se marca discrepancia. Limpia el dato antes de mandarlo.

Fracción arancelaria por mercancía

Cada mercancía dentro del complemento debe traer la fracción arancelaria a 8 dígitos según la TIGIE (Tarifa de la Ley de los Impuestos Generales de Importación y Exportación). No es la misma estructura que el código de producto del SAT (ClaveProdServ). La fracción del CCE tiene que coincidir, dígito por dígito, con la que se declarará en el pedimento.

Si tu sistema mantiene el catálogo de productos sincronizado solo con el SAT, te va a faltar este campo. La fracción la determina tu agente aduanal, no el SAT, y suele ser información que el área comercial no tiene a mano. Esta es la pieza que más tarda en producción cuando se integra CCE por primera vez.

Cantidad aduanal y unidad de medida aduanal

Distinta de la cantidad y unidad del CFDI base. La unidad aduanal viene del catálogo c_UnidadAduana del SAT y la cantidad debe expresarse en esa unidad. Si en tu CFDI vendes "1 caja con 24 piezas", en el complemento puedes tener que reportar "24 piezas" si la fracción arancelaria mide en piezas, o "12 kilos" si la fracción mide en kilos.

Es la pregunta más frecuente que recibimos de equipos integrando CCE. La respuesta: confirma con tu agente aduanal qué unidad de medida exige la fracción y mapéala explícitamente. No asumas que la unidad de venta sirve.

Valor en dólares

El atributo ValorDolares es obligatorio en cada mercancía y debe ser el valor unitario en USD. Si tu CFDI está en MXN, conviertes con el tipo de cambio del DOF del día de emisión. Si tu CFDI ya está en USD, es directo.

El detalle: el TipoCambioUSD del nodo raíz del complemento se reporta solo si la moneda del CFDI no es USD. En CFDI ya emitidos en USD, ese campo se omite, no se pone "1". Otra trampa común.

Domicilio del receptor extranjero

Calle, número, colonia o referencia, código postal del país de destino, estado, país. El catálogo de países usa códigos ISO de 3 letras (USA, CAN, DEU, etc.), no los códigos de 2 letras que se usan en otros lados del XML. Si tu sistema mezcla ambos formatos, los CFDI se rechazan en validación.

Errores que rompen la emisión en producción

Después de procesar exportaciones para clientes en distintos sectores, hay un conjunto pequeño de errores que se repiten:

Cómo emitir CFDI con complemento de comercio exterior

El flujo es el mismo que cualquier CFDI 4.0 con complemento, con la diferencia de que el nodo ComercioExterior debe construirse con la jerarquía exacta que define el XSD del SAT. Fiscalapi expone el complemento como un objeto tipado dentro del request, así que mapeas tu modelo de exportación al schema y la API se encarga del XML, sellado, timbrado y respuesta del PAC.

Para integrarlo, la documentación de Fiscalapi tiene la referencia del recurso de facturas con CCE, y los SDKs en C#, Node, PHP, Python, Java y Go traen el modelo del complemento ya tipado. En el GitHub de Fiscalapi están los ejemplos de exportación tipo A1 con receptor extranjero, que es el caso que cubre el 90% de las integraciones.

Preguntas que llegan seguido

Si tu integración mueve mercancía dentro de México además de exportar, vale la pena revisar la guía de carta porte para el complemento que ampara el traslado nacional. Y si estás migrando catálogos del CFDI 3.3 al 4.0, la guía de CFDI 4.0 cubre los cambios que afectan también a los CFDI con CCE.