Layout CFDI 3.3

Reglas para la creación del archivo de interfáz

Por favor considere la siguiente información como base para la estructura del documento de interfáz con el que podrá crear correctamente su CFDI con la versión 3.3.

  • Los Elementos indicados en Rojo son obligatorios y deberán de ser cubiertas por el ERP.
  • Cada Sección deberá estar estructurada en su propia linea, ya que no puede existir más de una sección en la misma línea.
  • Cada elemento de la sección deberá estar dividida por el  caracter pipe “|”. Así mismo, asegúrese de que el último elemento siempre termine con un “pipe”.
  • El nombre del archivo debe de tener la siguiente nomenclatura:

FE[nombre de archivo].txt”(Opcional)

  • Deberá existir también un archivo “bandera” con la misma nomenclatura que el archivo de interfaz:

FE [nombre del archivo].ban” (Opcional)

  • El archivo de interfaz y el archivo bandera deben de ser creados en la carpeta de entrada del sistema de Facturación y en el siguiente orden:
    • FE[nombre del archivo].txt
    • FE[nombre del archivo].ban

Definiciones

Sección:

Está formada por una etiqueta y al menos un elemento dividido por un pipe “|”.

Etiqueta:

Conformada por las palabras reservadas: COMPROBANTE, CFDI_RELACION, CFDI_RELACIONADO, EMISOR, RECEPTOR, CONCEPTO, CONCEPTO_IMPUESTO_RETENCION, CONCEPTO_IMPUESTO_TRASLADO, IMPUESTOS, RETENCIONES, TRASLADOS.

Elemento:

Valor que tomará el servicio de facturación dependiendo del orden en el que aparezca en la sección. Un elemento está precedido por un pipe “|”.

Elementos del Comprobante

La sección del Comprobante está estructurada por la etiqueta “COMPROBANTE” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”.

COMPROBANTE |RFCEmisor|Serie|RFCReceptor|Versión|Forma_Pago|Condiciones_Pago|Subtotal|Descuentos|

Total|Metodo_Pago|Pedido|Remision|Cita|NoCliente|Moneda|TipoDeCambio|Observaciones|Folio|LugarExpedicion|

TipoDocumento|Confirmacion|

IDElementosDescripciónTamTipoDatoEnumValor
1RFCEmisorAtributo requerido para registrar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante.12 - 13String
2SerieDefine la serie a la que corresponde el comprobante, sin acentos.1 - 10String
3RFCReceptorExpresa la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante en caso de que el mismo esté registrado ante el SAT12 - 13String
4VersiónAtributo requerido con valor prefijado a 3.3 que indica la versión del estándar bajo el que se encuentra expresado el comprobante.String3.3
5Forma_PagoAtributo condicional para expresar la clave de la forma de pago de los bienes o servicios amparados por el comprobante, Si no se conoce la forma de pago este atributo se debe omitir.Catalogo: c_FormaPago
6Condiciones_PagoAtributo condicional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital por Internet. Este atributo puede ser condicionado mediante atributos o complementos.50String
7SubtotalAtributo requerido para representar la suma de los importes de los conceptos antes de descuentos e impuesto. No se permiten valores negativos.6 decimalesDecimal
8DescuentosAtributo condicional para representar el importe total de los descuentos aplicables antes de impuestos. No se permiten valores negativos. Se debe registrar cuando existan conceptos con descuento.6 decimalesString
9TotalAtributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas (impuestos trasladados - federales o locales, derechos, productos, aprovechamientos, aportaciones de seguridad social, contribuciones de mejoras) menos los impuestos retenidos. Si el valor es superior al límite que establezca el SAT en la Resolución Miscelánea Fiscal vigente, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmación. No se permiten valores negativos.6 decimalesDecimal
10Metodo_PagoAtributo condicional para precisar la clave del método de pago que aplica para este comprobante fiscal digital por Internet, conforme al Artículo 29-A fracción VII incisos a y b del CFF. Catalogo: c_MetodoPagoPUE, PIP, PPD
11PedidoNumero de Pedido50String
12RemisiónNumero de Remisión50String
13CitaNumero de Cita50String
14NoClienteNumero de Cliente50String
15MonedaAtributo requerido para identificar la clave de la moneda utilizada para expresar los montos, cuando se usa moneda nacional se registra MXN. Conforme con la especificación ISO 4217.Catalogo: c_Moneda
16Tipo de CambioAtributo condicional para representar el tipo de cambio conforme con la moneda usada. Es requerido cuando la clave de moneda es distinta de MXN y de XXX. El valor debe reflejar el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo moneda. Si el valor está fuera del porcentaje aplicable a la moneda tomado del catálogo c_Moneda, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmación.6 decimalesDecimal
17ObservacionesObservaciones de la factura.255String
18FolioAtributo opcional para control interno del contribuyente que expresa el folio del comprobante, acepta una cadena de caracteres.> 0Int
19LugarExpedicionAtributo requerido para incorporar el código postal del lugar de expedición del comprobante (domicilio de la matriz o de la sucursal).Catalogo: c_CodigoPostal
20TipoDocumentoAtributo requerido para expresar la clave del efecto del comprobante fiscal para el contribuyente emisor.Catalogo: c_TipoDeComprobanteI, E, T, N, P
21ConfirmacionAtributo condicional para registrar la clave de confirmación que entregue el PAC para expedir el comprobante con importes grandes, con un tipo de cambio fuera del rango establecido o con ambos casos. Es requerido cuando se registra un tipo de cambio o un total fuera del rango establecido.5String

Ejemplo:

COMPROBANTE|AAA010101AAA|RI|XAXX010101000|3.3|99|CondicionesDePago|160.00||129.6|PUE|||||MXN||

Observaciones|3450|64000|I||2017-06-13T15:58:25|

Elementos de CFDI Relación

La sección del CFDI Relacion está estructurada por la etiqueta “CFDI_RELACION” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”.

Notas:

• Sección opcional para precisar la información de los comprobantes relacionados. Esta sección solo debe existir si se llenan todos los elementos.                                                                                                   • Si se pone ésta sección, es necesario poner también al menos una sección “CFDI_RELACIONADO”.

CFDI_RELACION|TipoRelacion|

IDElementosDescripciónTamTipoDatoEnumValor
1TipoRelacionAtributo requerido para indicar la clave de la relación que existe entre éste que se está generan-do y el o los CFDI previos.Catalogo: c_TipoRelacion

Ejemplo:

CFDI_RELACION|01|

Elementos de CFDI Relacionado

La sección de CFDI Relacionado está estructurada por la etiqueta “CFDI_RELACIONADO” seguida por el caracter “|” (pipe).

Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”

Nota:

Sección opcional para precisar la información de los comprobantes relacionados. Esta sección debe existir cuando se utilice la sección opcional “CFDI_RELACION”.

CFDI_RELACIONADO|UUID|

IDElementosDescripciónTamTipoDatoEnumValor
1UUIDAtributo requerido para registrar el folio fiscal (UUID) de un CFDI relacionado con el presente comprobante, por ejemplo: Si el CFDI relacionado es un comprobante de traslado que sirve para registrar el movimiento de la mercancía. Si este comprobante se usa como nota de crédito o nota de débito del comprobante relacionado. Si este comprobante es una devolución sobre el comprobante relacionado. Si éste sustituye a una factura cancelada.36String

Ejemplo:

CFDI_RELACIONADO| 832AB0D1-F482-44B7-975F-C565C21C983B |

Elementos de Emisor

La sección de Emisor está estructurada por la etiqueta “EMISOR” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”.

Notas:

• Sección requerida para expresar la información del contribuyente emisor del comprobante.               • Los datos del domicilio del emisor son opcionales y sólo se utilizan para mostrarse en la representación impresa.

EMISOR |RFC|Nombre|RegimenFiscal|Calle|No_Ext|No_Int|Colonia|Localidad|Referencia|Municipio|Estado|País|C.P.|

IDElementosDescripciónTamTipoDatoEnumValor
1RFCAtributo requerido para registrar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante.12 - 13String
2NombreAtributo opcional para registrar el nombre, denominación o razón social del contribuyente emisor del comprobante.100String
3RegimenFiscalAtributo requerido para incorporar la clave del régimen del contribuyente emisor al que aplicará el efecto fiscal de este comprobante.Catalogo: c_RegimenFiscal
4CalleDefine la avenida, calle, camino o carretera donde se da la ubicación100string
5No_ExtExpresa el número particular en donde se dá la ubicación sobre una calle dada100String
6No_IntExpresa información adicional para especificar la ubicación cuando calle y número exterior (No_Ext) no resulten suficientes para determinar la ubicación de forma precisa100String
7ColoniaDefina la colonia en donde se da la ubicación cuando se desea ser más específico en caso de ubicaciones urbanas100String
8LocalidadDefine la ciudad, pueblo o poblado donde se da la ubicación100String
9ReferenciaAtributo opcional para expresar una referencia de ubicación adicional100String
10MunicipioDefine el municipio o delegación en donde se da la ubicación100String
11EstadoDefine el estado o entidad federativa donde se da la ubicación100String
12PaísDefine el país donde se da la ubicación100String
13C.P.Define el código postal en donde se da la ubicación100String

Ejemplo:

EMISOR|AAA010101AAA|Empresa Emisora|601|Calle de Empresa Emisora||||||006|NLE|MEX|66633|

Elementos del Receptor

La sección del Receptor está estructurada por la etiqueta “RECEPTOR” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”.

Notas:

• Sección requerida para precisar la información del contribuyente receptor del comprobante.                                                                                                                                                                                              • Los datos del domicilio del receptor son opcionales y sólo se utilizan para mostrarse en la representación impresa.

RECEPTOR|RFC|Nombre|ResidenciaFiscal|NumRegIdTrib|UsoCFDI|Calle|No_Ext|No_Int|Colonia|Localidad|Referencia|

Municipio|Estado|País|C.P.|Add_1|Add_2|Add_3|Add_4|

IDElementosDescripciónTamTipoDatoEnumValor
1RFCAtributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.12-13string
2NombreAtributo opcional para precisar el nombre, denominación o razón social del contribuyente receptor del comprobante.100String
3ResidenciaFiscalAtributo condicional para registrar la clave del país de residencia para efectos fiscales del receptor del comprobante, cuando se trate de un extranjero, y que es conforme con la especificación ISO 3166-1 alpha-3. Es requerido cuando se incluya el complemento de comercio exterior o se registre el atributo NumRegIdTrib.Catalogo: c_Pais
4NumRegIdTribAtributo condicional para expresar el número de registro de identidad fiscal del receptor cuando sea residente en el extranjero. Es requerido cuando se incluya el complemento de comercio exterior.100String
5UsoCFDIAtributo requerido para expresar la clave del uso que dará a esta factura el receptor del CFDI.Catalogo: c_UsoCFDI
6CalleDefine la avenida, calle, camino o carretera donde se da la ubicación100string
7No_ExtExpresa el número particular en donde se dá la ubicación sobre una calle dada100String
8No_IntExpresa información adicional para especificar la ubicación cuando calle y número exterior (No_Ext) no resulten suficientes para determinar la ubicación de forma precisa100String
9ColoniaDefina la colonia en donde se da la ubicación cuando se desea ser más específico en caso de ubicaciones urbanas100String
10LocalidadDefine la ciudad, pueblo o poblado donde se da la ubicación100String
11ReferenciaAtributo opcional para expresar una referencia de ubicación adicional100String
12MunicipioDefine el municipio o delegación en donde se da la ubicación100String
13EstadoDefine el estado o entidad federativa donde se da la ubicación100String
14PaísDefine el país donde se da la ubicación100String
15C.P.Define el código postal en donde se da la ubicación100String
16Add_1Información adicional 1100string
17Add_2Información adicional 2100string
18Add_3Información adicional 3100string
19Add_4Información adicional 4100string

Ejemplo:

RECEPTOR|XEXX010101000|Empresa Receptora|||P01|Calle del Receptor|483903|||Colonia del Receptor|||TX|USA|75201|||||

Elementos del Concepto

La sección del Concepto está estructurada por la etiqueta “CONCEPTO” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”.

Nota:

Sección requerida para listar los conceptos cubiertos por el comprobante. Esta sección puede repetirse más de una vez.

CONCEPTO|ID_Concepto|ClaveProdServ|NoIdentificacion|Cantidad|ClaveUnidad|Unidad|Descripcion|ValorUnitario|Importe|

Descuento|Aduana|

IDElementosDescripciónTamTipoDatoEnumValor
1ID_ConceptoConsecutivo del ConceptoInt
2ClaveProdServAtributo requerido para expresar la clave del producto o del servicio amparado por el presente concepto. Es requerido y deben utilizar las claves del catálogo de productos y servicios, cuando los conceptos que registren por sus actividades correspondan con dichos conceptos. Catalogo: c_ClaveProdServ
3NoIdentificacionAtributo opcional para expresar el número de parte, identificador del producto o del servicio, la clave de producto o servicio, SKU o equivalente, propia de la operación del emisor, amparado por el presente concepto. Opcionalmente se puede utilizar claves del estándar GTIN.100String
4CantidadAtributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.6 DecimalesDecimal
5ClaveUnidadAtributo requerido para precisar la clave de unidad de medida estandarizada aplicable para la cantidad expresada en el concepto. La unidad debe corresponder con la descripción del concepto.Catalogo: c_ClaveUnidad
6UnidadAtributo opcional para precisar la unidad de medida propia de la operación del emisor, aplicable para la cantidad expresada en el concepto. La unidad debe corresponder con la descripción del concepto.20String
7DescripcionAtributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.100String
8ValorUnitarioAtributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.6 DecimalesDecimal
9ImporteAtributo requerido para precisar el importe total de los bienes o servicios del presente concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto. No se permiten valores negativos.6 DecimalesDecimal
10DescuentoAtributo opcional para representar el importe de los descuentos aplicables al concepto. No se permiten valores negativos.6 DecimalesDecimal
11AduanaAtributo Opcional para registrar el número de pedimento para la Aduana21String

Ejemplo:

CONCEPTO|1|84111505||1|ACT||Pago|160.00|160.00||

Elementos de Impuestos Trasladados del Concepto

La sección del Impuesto Traslado del Concepto está estructurada por la etiqueta “CONCEPTO_IMPUESTO_TRASLADO” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”

Nota:

Sección opcional para asentar los impuestos trasladados aplicables al presente concepto. La sección solo debe existir si se llenan todos los elementos requeridos. Esta sección puede existir más de una vez.

CONCEPTO_IMPUESTO_TRASLADO|ID_Concepto|Base|Impuesto|TipoFactor|TasaOCuota|Importe|

IDElementosDescripciónTamTipoDatoEnumValor
1ID_ConceptoConsecutivo del ConceptoInt
2BaseAtributo requerido para señalar la base para el cálculo del impuesto, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.6 DecimalesDecimal
3ImpuestoAtributo requerido para señalar la clave del tipo de impuesto trasladado aplicable al concepto.Catalogo: c_Impuesto001, 002, 003
4TipoFactorAtributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.Catalogo: c_TipoFactorTasa, Cuota, Exento
5TasaOCuotaAtributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada para el presente concepto. Es requerido cuando el atributo TipoFactor tenga un valor que corresponda a Tasa o Cuota.Catalogo: c_TasaOCuota
6ImporteAtributo condicional para señalar el importe del impuesto trasladado que aplica al concepto. No se permiten valores negativos. Es requerido cuando TipoFactor sea Tasa o Cuota6 DecimalesDecimal

Ejemplo:

CONCEPTO_IMPUESTO_TRASLADO|1|160|002|Tasa|0.16|25.6|

Elementos de Impuesto Retención del Concepto

La sección del Impuesto Retención del Concepto está estructurada por la etiqueta “CONCEPTO_IMPUESTO_RETENCION” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”

Nota:

• Sección requerida para asentar la información detallada de una retención de impuestos aplicable al presente concepto.                                                                                                                                              • La sección solo debe existir si se llenan todos los elementos.                                                                    • Esta sección puede existir más de una vez.

CONCEPTO_IMPUESTO_RETENCION|ID_Concepto|Base|Impuesto|TipoFactor|TasaOCuota|Importe|

IDElementosDescripciónTamTipoDatoEnumValor
1ID_ConceptoConsecutivo del ConceptoInt
2BaseAtributo requerido para señalar la base para el cálculo de la retención, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.6 DecimalesDecimal
3ImpuestoAtributo requerido para señalar la clave del tipo de impuesto retenido aplicable al concepto.Catalogo: c_Impuesto1, 2, 3
4TipoFactorAtributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.Catalogo: c_TipoFactorTasa, Cuota, Exento
5TasaOCuotaAtributo requerido para señalar la tasa o cuota del impuesto que se retiene para el presente concepto.6 DecimalesDecimal
6ImporteAtributo requerido para señalar el importe del impuesto retenido que aplica al concepto. No se permiten valores negativos.6 DecimalesDecimal

Ejemplo:

CONCEPTO_IMPUESTO_RETENCION|1|160|001|Tasa|0.35|56|

Elementos de Impuestos

La sección del Impuestos está estructurada por la etiqueta “IMPUESTOS” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”

Nota:

Sección condicional para expresar el resumen de los impuestos aplicables. Es requerida cuando en los conceptos se registren impuestos retenidos o trasladados.

IMPUESTOS|TotalImpuestosRetenidos|TotalImpuestosTrasladados|

IDElementosDescripciónTamTipoDatoEnumValor
1TotalImpuestosRetenidosAtributo condicional para expresar el total de los impuestos retenidos que se desprenden de los conceptos expresados en el comprobante fiscal digital por Internet. No se permiten valores negativos. Es requerido cuando en los conceptos se registren impuestos retenidos6 DecimalesDecimal
2TotalImpuestosTrasladadosAtributo condicional para expresar el total de los impuestos trasladados que se desprenden de los conceptos expresados en el comprobante fiscal digital por Internet. No se permiten valores negativos. Es requerido cuando en los conceptos se registren impuestos trasladados.6 DecimalesDecimal

Ejemplo:

IMPUESTOS|56|25.6|

Elementos de Retenciones

La sección del Retenciones está estructurada por la etiqueta “RETENCIONES” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”

Notas:

• Sección condicional para capturar los impuestos retenidos aplicables. Es requerida cuando en los conceptos se registre algún impuesto retenido.                                                                                               • Esta sección puede existir más de una vez.

RETENCIONES |Impuesto|Importe|

IDElementosDescripciónTamTipoDatoEnumValor
1ImpuestoAtributo requerido para señalar la clave del tipo de impuesto retenido.Catalogo: c_Impuesto1, 2, 3
2ImporteAtributo requerido para señalar el monto del impuesto retenido. No se permiten valores negativos.6 DecimalesDecimal

Ejemplo:

RETENCIONES|001|56|

Elementos de Traslados

La sección del Traslados está estructurada por la etiqueta “TRASLADOS” seguida por el caracter “|” (pipe). Cada elemento de esta sección es dividida por este mismo símbolo. El último elemento siempre termina con un “pipe”

Notas:

• Sección condicional para capturar los impuestos trasladados aplicables. Es requerida cuando en los conceptos se registre un impuesto trasladado.                                                                                                • Esta sección puede existir más de una vez.

TRASLADOS|Impuesto|TipoFactor|TasaOCuota|Importe|

IDElementosDescripciónTamTipoDatoEnumValor
1ImpuestoAtributo requerido para señalar la clave del tipo de impuesto trasladado.Catalogo: c_Impuesto1, 2, 3
2TipoFactorAtributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.Catalogo: c_TipoFactorTasa, Cuota, Exento
3TasaOCuotaAtributo requerido para señalar el valor de la tasa o cuota del impuesto que se traslada por los conceptos amparados en el comprobante.Catalogo: c_TasaOCuota
4ImporteAtributo requerido para señalar la suma del importe del impuesto trasladado, agrupado por impuesto, TipoFactor y TasaOCuota. No se permiten valores negativos.6 DecimalesDecimal

Ejemplo:

TRASLADOS|002|Tasa|0.16|25.6|

Ejemplo de Layout de Factura

COMPROBAN-TE|AAA010101AAA|RI|XAXX010101000|3.3|99|Pago al fin del periódo|160.00||129.6|PUE|||||MXN||Periodo del 1 al 6 de Enero|3450|64000|I||2018-01-13T15:58:25|
CFDI_RELACION|01|
CFDI_RELACIONADO| 832AB0D1-F482-44B7-975F-C565C21C983B |
EMISOR|AAA010101AAA|Empresa Emisora|601|Manuel L. Barragán|305|A|Villa Universidad|||006|Nuevo León|México|66420|
RECEPTOR|XEXX010101000|Cliente Receptor|||G01|Pleasant Pl|1730|2||||Arlington|TX|USA|76015|||||
CONCEPTO|1|84111505||1|ACT|Actividad|Pago|160.00|160.00||
CONCEPTO_IMPUESTO_TRASLADO|1|160|002|Tasa|0.160000|25.6|
CONCEPTO_IMPUESTO_RETENCION|1|160|001|Tasa|0.35|56|
IMPUESTOS|56|25.6|
RETENCIONES|001|56|
TRASLADOS|002|Tasa|0.160000|25.6|