Inicio  |  Emisión  |  1. Conector  |  1.2. Tipos de archivo conector  |  1.2.2. Connector-XML 3.3
La LCO fue actualizada por última vez el 19/abr/2024

Connector XML 3.3

File

The SAT has released the new documentation for the CFDI version 3.3, which will become mandatory as of December 2017.

Solución Factible®'s goal is to provided an easy way adoption on the costumer's side for the emission of electronic invoices. With this in mind, the CFDI connector has been developed to deliver the easiness of creating a CFDI v3.3 document through a XML file.

This XML file must comply with the standards for an XMl file, providing the invoice data.

Structure

The file structure must comply with the XSD (XML Schema Definition) which provides the specification needed so it can be considered a valid format. You can find the XSD in ComprobanteFiscal.xsd.

Fields

The definition for each tag is described below.
Some tags only need to have certain attributes providing the data:

Others required to have content within the tag:

If your business requires additional fields, they can be easily registered as "custom fields"; you only need to ask Solución Factible®'s support area to registered this fields and provide them in the connector:

Data dictionary

  • R= Required
  • C= Conditional
  • O= Optional
TypeTag or Tag attributesDescription
RTag: ComprobanteFiscalAll data is stored within this tag, the remaining tags go inside this one as a child
Attributes
OSerieInvoice series for internal records. Up to 25 alphabetical characters.
OFolioInvoice number for internal records. Must be bigger than 0.
OEstatusInvoice status. Vigente=active or Cancelado=canceled.
RFechaInvoice issuing date. Must indicate date and time in yyyy-MM-ddThh:mm:ss format in compliance with ISO-8601.
CformaDePagoPayment form ID (cash=01, credit card=04, etc) according to the payment form catalogue (c_FormaPago).
CcondicionesDePagoterms of payment for this invoice (3 months, etc). Up to 1000 characters.
RsubTotalSum of all product amounts before discounts and taxes. Negative values are not permitted.
CdescuentoTotal of invoice discounts before taxes. Negative amounts are not permitted. Must appear if the this invoice has any discounts.
OmotivoDescuentoReason for the discount if any.
Rtotalsubtotal plus any additional contribution minus discounts and taxes. Negative values are not allowed. If this amount, in MXN, surpasses the limit specified in the invoice catalogue (c_TipoDeComprobante), a confirmation token must be specified in the attribute:confirmacionPAC.
CmetodoDePagoMethod of payment ID, either PUE (single payment) or PPD (payment in installments or deferred payment) as specified in the payment method catalogue (c_MetodoPago).
OnumCtaPagoLast 4 digits of the account from where the payment for this invoice was issued.
CconfirmacionPACRequired when registering the confirmation token delivered by the Certification-Authorized Provider (PAC) for creating CFDI(s) with big amounts (>=100'000,000.00 MXN) or exchange rates different to the one established by the Bank of Mexico, or both.
     
OTag: DivisaCurrency information
Attributes
OcodigoISOcurrency id in compliance with ISO 4217. Ex. MXN (Mexican Peso), USD (U.S. Dollar), JPY (Yen).
RnombreName of currency
RtipoDeCambioCurrency's exchange rate to MXN (Mexican Peso), required when the currency is different to MXN
     
OTag: NotasAny additional notes for this CFDI
     
OTag: cfdiRelacionadosRelated CFDIs' data. For any CFDI, a tag must be specified.
Attributes
RtipoRelacionRelationship-type's Id between this CFDI and the related CFDI as specified in the relation type catalogue (c_TipoRelacion).
RChild-tag: cfdiRelacionadoRelated CFDI's data (this tag may appear as many times as needed for every related CFDI)
RUUIDFiscal "Folio" of the related CFDI. Ex: 1E1C4777-AB5E-4FBF-8F46-A993CE9EEC5D
OfolioThe related CFDI's folio used for personal administration. Ex. 13425
OserieThe related CFDI's series used for personal administration. Ex. "E"
     
RTag: ReceptorCFDI's recipient
Attributes
RrfcRecipient's RFC. Ex: FUNK671228PH6
OnombreRecipient's name. Ex: PÚBLICO EN GENERAL
OemailRecipient's email.
RusoCFDIThis CFDI usage code. Ex: I03 (Equipo de transporte/transport equipment), D04 (Donativos/donations), etc; as specified in the CFDI usage catalogue (c_UsoCFDI).
OChild-tag: DomicilioRecipient's address
OChild-tag: ExtranjeroRecipient's additional data if he/she lives abroad Mexico
Extranjero's Attributes
CresidenciaFiscalFor registering the recipient's country of residence code for tax effects, when he/she is an alien, and is in conformity with ISO 3166 alpha-3 (CFDI country catalogue (c_Pais)). Required when the external commerce complement (comercio exterior) is included or the field NumRegIdTrib is registered.
CnumRegIdTribFor registering the recipient's fiscal identity's registry number when the recipient lives abroad. Required when the external commerce complement (comercio exterior) is included.
     
OTag: EmbarqueShipping address information
Attributes
RrfcRecipient's RFC. Ex: FUNK671228PH6
OnombreRecipient's name. Ex: PÚBLICO EN GENERAL
OemailRecipient's email.
RChild-tag: DomicilioShipping address
     
RTag: ConceptosProducts/Services information.
RChild-tag: ConceptoProduct/service information. This tag may appear as many times as needed for every product/service.
Concepto's Attributes
RcantidadQuantity. Ex: 5
RclaveUnidadProduct's standardized unit of measurement applied to the product/service's quantity according to the product/service units catalogue (c_ClaveUnidad). The unit must correspond to the product's description.
OunidadCustomer's defined unit of sale. ex: PZA. The unit must correspond to the product's description.
RclaveProdServService/Product's code according to the products and services code catalog (c_ClaveProdServ).
OcodigoProduct/service Code/SKU (Customer defined)
RconceptoProduct/service's description
RvalorUnitarioUnit price. Ex: 5.00
OmontoDescuentoUnitarioDiscount amount per unit of product/service
OtasaDescuentoDiscount rate scale from 0 to 100. ex: 20
OimporteDescuentoDiscount amount
RimporteUnit price(valorUnitario) x quantity(cantidad). Ex: 25.00
OcomentarioAdditional commentary for this product/service.
CcuentaPredial"Predial" account number, needed only when creating a arrendamiento (lease) type CFDI.
OConcepto's child-tag: InformacionAduaneraCustoms information if needed.
OConcepto's child-tag: ParteDescribes each of every part of this product/service. This tag may appear as many times as needed.
Parte's Attributes
RclaveProdServService/product part's code according to the products and services code catalog (c_ClaveProdServ).
OnoIdentificacionPart's Code/SKU (Customer defined)
RcantidadPart's quantity
OunidadCustomer's defined unit of sale for this part. ex: PZA.
RdescripcionPart's description
OvalorUnitarioPart's unit price
OimportePart's valorUnitario X Part's cantidad
OcomentarioAdditional notes regarding this part.
OParte's Child-tag: InformacionAduaneraCustoms information regarding this part if required.
OConcepto's child-tag: ImpuestosTaxes of this product/service. This tag must appear only once for a product/service and has no attributes but a child tag for every tax.
OImpuestos' Child-tag: ImpuestoAn specific tax regarding this product/service. It may appear as many times as needed.
Impuesto's Attributes
RtipoTax type (traslado or retencion).
ObaseTax calculation basis. Negative numbers are not permitted.
RimpuestoName of this tax.
OtasaTax rate. If present, the tag "cuota" must be omitted.
OcuotaTax fee. If present, the tag "tasa" must be omitted.
OexentoTrue if this product/service is taxed with his tax but it does not need to be payed (true or false). If true omit tags: "cuota" and "tasa".
RimporteThis tax amount
OConcepto's child-tag: CamposPersonalizadosAny additional custom fields. This tag must appear only once for a product/service and has no attributes but a child tag for every custom field.
OCamposPersonalizados' Child-tag: CampoPersonalizadoAn specific custom field regarding this product/service. It may appear as many times as needed.
CampoPersonalizado's Attributes
RnombreCustom field's name.
OvalorCustom field's value.
     
OTag: ComplementoAdditional CFDI complement's information.
     
RTag: TotalImpuestosTotal taxes. This tag must have a child tag for the total amount of every tax specified.
Attributes
OtotalTrasladosTotal amount of taxes of type "traslado".
OtotalRetencionesTotal amount of taxes of type "retencion".
OTotalImpuestos' Child-tag: ImpuestoDetailed information for each tax specified. May appear as many times as needed.
Impuesto's Attributes
RtipoTax type (traslado or retencion).
RimpuestoTax name.
OtasaTax rate. If present, the tag "cuota" must be omitted.
OcuotaTax fee. If present, the tag "tasa" must be omitted.
OexentoTrue if this product/service is taxed with his tax but it does not need to be payed (true or false). If true omit tags: "cuota" and "tasa".
RimporteTax amount
     
OTag CamposPersonalizadosAny additional custom fields. This tag has no attributes but a child tag for every custom field.
OCamposPersonalizados' Child-tag: CampoPersonalizadoAn specific custom field regarding this CFDI. It may appear as many times as needed.
CampoPersonalizado's Attributes
RnombreCustom field's name.
OvalorCustom field's value.
     
OTag: AddendaAdditional CFDI Addenda's information.
     
OTag: AddendaAdicionalExtra CFDI Addendas' information.

External links

Example

1.- simple XML connector 3.3.
2.- XML connector 3.3. with external commerce complement (Comercio Exterior) 1.1
3.- XML Payroll connector 3.3 (Comprobante de Nómina).

Complement to incorporate to the invoice (CFDI), the information that covers concepts of income from salaries, provision of a subordinate personal service or concepts assimilated to salaries (Payroll). Complement structure is same that is specified by the SAT.

Reference link

Siguiente   >>  Herramienta Conector-XML
Datos de contacto
comments powered by Disqus