Starting April 1st, 2023, the new electronic invoice CFDI 4.0 will be mandatory in Mexico, and companies failing to comply with these requirements will face substantial fines. To ensure compliance, TecCom has collaborated with a locally authorised certification provider (PAC) in Mexico.
Our partner for this matter, SOVOS, offers a webservice interface that accepts invoices in their inhouse canonical xml format “SCI” (Sovos Canonical Invoice). Their webservice interface “COAPI” converts incoming SCI to the “CFDI” xml format required by the SAT (Mexican Tax Authority).
TecAlliance offers customers in Mexico the possibility to submit invoices via their new serverless e-Invoicing solution “Cloud Invoice” by submitting an enhanced TXML 2.5 invoice via webservice (TOM WSDL or REST API). TecAlliance then maps the received document to SCI and submits to COAPI.
Document types and processes that are supported include:
Invoice cancelation or correction by creation of a credit note must be possible
The same Invoice ID cannot be cleared with SAT twice.
Submission of invoices to SAT within 72 hours after invoice creation.
The total size of files within one transaction must not be bigger than 5 MB.
Conditional Payments are not supported by SAT. Invoices that receive not the full payment due to customers taking advantage of early payment discounts have to be corrected by credit note. SAT supports only a single payment term.
Charges on an invoice are not supported. They have to be built as separate articles / items with the corresponding ProductID from SAT product catalogue server (c_ClaveProdServ) or included in the items price.
Allowances are only supported on item / article level. Overall document / invoice allowances have to be built as separate articles / items with the corresponding ProductID from SAT product catalogue server (c_ClaveProdServ) or built as allowance for a specific item on the invoice or included in the items price.
Currencies are not allowed to be mixed within one invoice (only one currency per invoice).
All exportation invoices that are cleared with the SAT must be in the Currency USD. The reason being, that SAT requires the CFDI for export invoices to always be in USD including the exchange rate to MXN.
Tax Rate on export invoices must always be 0%.
All additional requirements to the TXML are requirements of the SAT that are not known in the standard TXML 2.5. Most of the requirements are tax related and require a specific value from the SAT´s CFDI 4.0 catalogue. The link to the catalogue can be found in the Attachments list at the end of this document (A1).
The invoice sender ID as registered at the SAT needs to be provided.
Source TXML 2.5: /InvoiceHeader/SellerParty/TaxRegistrationNumber/
The invoice sender name needs to be precisely as registered at the SAT. This typically means in capital letters and without suffix “S.A. DE C.V.” (or similar).
Source TXML 2.5: /InvoiceHeader/SellerParty/Address/Name1/
The invoice sender postal code must be precisely as registered at the SAT.
Source TXML 2.5: /InvoiceHeader/SellerParty/Address/PostalCode/
The invoice receiver ID as registered at the SAT needs to be provided.
Source TXML 2.5: /InvoiceHeader/InvoiceOrg/InvoiceParty/TaxRegistrationNumber/
The invoice sender name needs to be precisely as registered at the SAT. This typically means in capital letters and without suffix “S.A. DE C.V.” (or similar).
Source TXML 2.5: /InvoiceHeader/InvoiceOrg/InvoiceParty/Address/Name1/
The invoice receiver postal code must be precisely as registered at the SAT.
Source TXML 2.5: /InvoiceHeader/InvoiceOrg/InvoiceParty/PostalCode/
This value describes the taxation type of the company.
Source TXML 2.5: /InvoiceHeader/SellerParty/AdditionalPartyNumber@Qualifier="FiscalInfo"
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/AccountingSupplierParty/Party/PartyTaxScheme/TaxScheme/ID
Value List CFDI catalogue (A1): c_RegimenFiscal
E.g. 601 = General de Ley Personas Morales (General Law Legal Entities)
616 = Sin obligaciones fiscales (Without tax obligations)
This value describes the taxation type of the company.
Source TXML 2.5: /InvoiceHeader/InvoiceOrg/InvoiceParty/AdditionalPartyNumber@Qualifier="FiscalInfo"
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/Party/PartyTaxScheme/TaxScheme/ID
Value List CFDI catalogue (A1): c_RegimenFiscal
E.g. 601 = General de Ley Personas Morales (General Law Legal Entities)
616 = Sin obligaciones fiscales (Without tax obligations)
Additional invoice receiver tax category.
Source TXML 2.5: /SellerParty/AdditionalPartyNumber@Qualifier="TAXRegistrationNumber"
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/AccountingSupplierParty/Party/IndustryClassificationCode/
Value List CFDI catalogue (A1): c_UsoCFDI
e.g. G01
Additional invoice receiver tax category.
Source TXML 2.5: /InvoiceOrg/InvoiceParty/AdditionalPartyNumber@Qualifier="TAXRegistrationNumber"
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/Party/IndustryClassificationCode/
Value List CFDI catalogue (A1): c_UsoCFDI
e.g. G01
The country code and country name of the supplier are mandatory.
Source TXML 2.5: /SellerParty/Address/CountryCode/
/SellerParty/Address/CountryName/
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/AccountingSupplierParty/PhysicalLocation/Address/Country/IdentificationCode/
/SovosDocument/SovosCanonicalInvoice/Invoice/AccountingSupplierParty/PhysicalLocation/Address/Country/Name/
Value List CFDI catalogue (A1): n.a.
In TXML country code has to be two letter ISO code. Will be mapped to SCI as two letter ISO code.
The country code and country name of the invoice receiver are mandatory.
Source TXML 2.5: /InvoiceOrg/InvoiceParty/Address/CountryCode/
/InvoiceOrg/InvoiceParty/Address/CountryName/
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/PhysicalLocation/Address/Country/IdentificationCode/
/SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/PhysicalLocation/Address/Country/Name/
Value List CFDI catalogue (A1): c_Pais
In TXML country code has to be two letter ISO code. Will be mapped to SCI as three letter SAT CFDI code.
Country code will not be populated by mapping if it is = MX (CFDI rule)
Describes the tax code for items on the invoice.
Source TXML 2.5: /InvoiceSummary/TaxCodeDescription/TaxCode
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/TaxTotal/TaxSubtotal/TaxCategory/TaxScheme/ID
Value List CFDI catalogue (A1): c_Impuesto
In TXML VAT is the equivalent to Mexican IVA and will be mapped to CFDI code 002.
Describes the tax code for items on the invoice.
Source TXML 2.5: /InvoiceDetail/Tax/TaxCode/
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/InvoiceLine/TaxTotal/TaxSubtotal/TaxCategory/TaxScheme/ID
Value List CFDI catalogue (A1): c_Impuesto
In TXML VAT is the equivalent to Mexican IVA and will be mapped to CFDI code 002.
Describes the factor type for the invoice tax.
Source TXML 2.5: /InvoiceSummary/TaxCodeDescription/TaxDescription/
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/TaxTotal/TaxSubtotal/ TaxCategory/TaxScheme/Name
Value List CFDI catalogue (A1): c_TipoFactor
e.g. Exento, Tasa, Cuota
Taxable amount on invoice level is conditional in TXML 2.5 but always mandatory for SCI / CFDI.
Source TXML 2.5: /InvoiceSummary/TaxTotals/Tax/TaxableAmount
Taxable amount on item level is conditional in TXML 2.5 but always mandatory for SCI / CFDI.
Source TXML 2.5: /InvoiceDetail/Tax/TaxableAmount
Tax amount on item level is conditional in TXML 2.5 but always mandatory for SCI / CFDI.
Source TXML 2.5: /InvoiceDetail/Tax/Amount
Describes if the item is subject to tax and if its required to break the taxes down.
Source TXML 2.5: InvoiceDetail/FreeText@Caption="FiscalInfo"
Target SCI: Invoice/InvoiceLine/TaxTotal/TaxSubtotal/TaxCategory/ID
Value List CFDI catalogue (A1): c_ObjetoImp
Domestic 0% tax rate invoices have to be built with:
Describes the product category with a value from SAT´s product server. Its comparable to a customs tarif number but Mexico specific.
Source TXML 2.5: /InvoiceDetail/MaterialType/
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/InvoiceLine/Item/StandardItemIdentification/ID
Value List CFDI catalogue (A1): c_ClaveProdServ
The Unit of Measurement must be mapped to a CFDI value. All TXML 2.5 values are supported.
Other values cannot be used.
Source TXML 2.5: /InvoiceDetail/Quantity@UoM
SAT understands only one payment term. If there are early payment discounts the invoice has to be corrected with a credit note.
Source TXML 2.5: /InvoiceHeader/PaymenTerms/PaymentDeadline/
If PaymentTerm = “Net” exists, its information will be used.
If it doesn’t exist, then the PaymentTerm that matches the InvoiceDueDate will be used.
The sum of all item and document allowances must be summarized on document level.
Source TXML 2.5: /InvoiceSummary/InvoiceTotals/InvoiceDiscount/Amount
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/LegalMonetaryTotal/AllowanceTotalAmount/
Describes if the goods are transported to another country (export)
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="ExportReason"
Target SCI: /AdditionalDocumentReference/ID@SchemeID="Exportation"
Value List CFDI catalogue (A1): c_Exportacion
Should be 01 for domestic and 02 for export.
If ExportReason=02 then the rules of “1.2.14 Domestic Invoices” with 0% rax rate apply!
Describes the currency exchange rate to the local currency (Mexican pesos). Mandatory if the invoice currency is not the local currency.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="CurrencyExchangeRate"
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/PaymentExchangeRate/
Please always use the official exchange rates of the day prior to the day on which the taxes are incurred.
In Mexico correction invoices and credit notes have to refer to the UUID that is assigned to a document by the SAT after invoice or credit note clearance.
Source TXML 2.5: /InvoiceHeader/InvoiceRef/DocumentLink/
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/OriginatorDocumentReference/UUID
Describes the type of relation to a previous document.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="RelationType"
Target SCI: /SovosDocument/SovosCanonicalInvoice/Invoice/OriginatorDocumentReference/UUID@schemeID
Value List CFDI catalogue (A1): c_TipoRelacion
Should be a value between 01 and 07.
If the invoice is flagged as export invoice (/InvoiceHeader/FreeText@Caption="ExportReason"
is set to 02, see 1.2.19 Export Invoice), the following rules apply.
For the mapping from TXML to SCI CFDI extension, the base path for each of the following Targets in SCI is: /SovosDocument/SovosCanonicalInvoice/Invoice/UBLExtensions/UBLExtension/ExtensionContent/SovosExtension/Mexico/LegalAddon/
The original receiver VAT ID must be mapped to an additional element in SCI that should only be mapped for export invoices.
Source TXML 2.5: /InvoiceHeader/InvoiceOrg/InvoiceParty/TaxRegistrationNumber
Target_SCI:/SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/Party/PartyIdentification/ID@schemeID=" ForeignerTaxID"
Target SCI CFDI extension: /ComercioExterior/Receptor@NumRegIdTrib
Value List CFDI catalogue (A5): c_Pais
Use this list for possible number formats of TAX ID for different receiver countries.
Describes how the products are exported to another country by a code from SAT catalogue. Mandatory.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="Incoterms"
Target SCI CFDI extension: /ComercioExterior@Incoterm
Value List CFDI catalogue (A5): c_INCOTERM
Describes if the products require a origin certificate.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="ProofOfOrigin"
Target SCI CFDI extension: /ComercioExterior@CertificadoOrigen
Should be 0 if there is no certificate is required and 1 if there is a certificate required.
If the value is one, then the Folio Number of the Origin Certificate becomes mandatory:
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="CertificateID"
Target SCI CFDI extension: /ComercioExterior@NumCertificadoOrigen
Describes if the seller company is a subdivision.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="Subdivision"Target SCI CFDI extension: /ComercioExterior@Subdivision
Should be 0 if it is not a subdivision and 1 if it is.
The declaration of the export invoice to the SAT must always be in USD, regardless of the currency the invoice was issued. Therefore the USD exchange rate is always required.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="CustomsCurrencyExchangeRate"
Target SCI CFDI extension: /ComercioExterior@TipoCambioUSD
Please refer to Chapter 6.4 on “how to get the exchange rate of the day from SAT”
The declaration of the export invoice to the SAT must always be in USD, regardless of the currency the invoice was issued. Therefore the total invoice amount in USD is always required.
Source TXML 2.5: /InvoiceSummary/FreeText@Caption="CustomsInvoiceAmountPayable"
Target SCI CFDI extension: /ComercioExterior@TotalUSD
The invoice sender state code is required.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="SellerPartyState"
Target SCI CFDI extension: /ComercioExterior/Emisor/Domicilio@Estado
Value List CFDI catalogue (A5): c_Estado
For MX, CAN and USA a value from the catalogue.
Otherwise the common abbreviation of the state in the specific country.
The invoice sender municipality code is required.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="SellerPartyMunicipality"
Target SCI CFDI extension: /ComercioExterior/Emisor/Domicilio@Municipio
Value List CFDI catalogue (A5): c_Municipio
The invoice sender state code is required.
Source TXML 2.5: /InvoiceHeader/FreeText@Caption="InvoicePartyState"
Target SCI CFDI extension: /ComercioExterior/Receptor/Domicilio@Estado
Value List CFDI catalogue (A5): c_Estado
For MX, CAN and USA a value from the catalogue.
Otherwise the common abbreviation of the state in the specific country.
Describes the item UoM. The UoM meant here might differ from the invoice UoM and is according to the SAT tariff catalogue.
Source TXML 2.5: /InvoiceDetail/FreeText@Caption="CustomsUoM"
Target SCI CFDI extension: /ComercioExterior/Mercancias/Mercancia@UnidadAduana
Value List CFDI catalogue (A5): c_UnidadAduana
Describes the item quantities. The quantity meant here might differ from the invoice quantities and is according to the UoM of the SAT tariff catalogue.
Source TXML 2.5: /InvoiceDetail/AdditionalPrice@AdditionalPriceType="CustomsQuantity"
Target SCI CFDI extension: /ComercioExterior/Mercancias/Mercancia@CantidadAduana
Describes the item prices for a single unit and for all units of that item. Must be in USD and for the UoM of the SAT tariff catalogue.
Source TXML 2.5: /InvoiceDetail/AdditionalPrice@AdditionalPriceType="CustomsUnitPrice"
/InvoiceDetail/AdditionalPrice@AdditionalPriceType="CustomsTotalValue"
Target SCI CFDI extension: /ComercioExterior/Mercancias/Mercancia@ValorUnitarioAduana
/ComercioExterior/Mercancias/Mercancia@ValorDolares
States the tariff number from the SAT catalogue for each item. Mandatory.
Source TXML 2.5: /InvoiceDetail/ExternalTrade/StatisticGroup
Target SCI CFDI extension: /ComercioExterior/Mercancias/Mercancia@FraccionArancelaria
Value List CFDI catalogue (A5): c_FraccionArancelaria
Export Invoice must have 0% tax rate, leading to the following requirements:
Receiver data on export invoices must follow specific rules of the SAT in CFDI.
Sovos creates the correct CFDI only if the all of the following rules are respected in the SCI.
To reduce the requirements to the customer data these values are hardcoded by the Cloud Invoice TXML 2.5 to SCI mapping.
This behavior is triggered in TXML by the element /InvoiceHeader/FreeText@Caption="ExportReason"
having the content “02” (see 1.2.19 Export Invoice ).
/StandardBusinessDocumentHeader/Receiver/Identifier@Authority="MX"
AND/SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/Party/PartyIdentification/ID@schemeID="TaxID"
/SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/Party/IndustryClassificationCode/
/SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/Party/PartyTaxScheme/TaxScheme/ID
/InvoiceHeader/SellerParty/Address/PostalCode
/SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/Party/PostalAddress/PostalZone
/InvoiceHeader/InvoiceOrg/InvoiceParty/CountryCode/
has the content "MX", /SovosDocument/SovosCanonicalInvoice/Invoice/AccountingCustomerParty/Party/PostalAddress/Country/IdentificationCode
is NOT created/SovosDocument/SovosCanonicalInvoice/Invoice/UBLExtensions/UBLExtension/ExtensionContent/SovosExtension/Mexico/LegalAddon/
Payment related summary
^(1x per Pagos because one Pagos per payment)^
Payment related break down per tax
^(1x per tax rate for each installment for each invoice affected by the received payment)^
Invoice related information
^(1x per invoice affected by the received payment)^
Break down of taxes
^(1x per tax rate of the invoice related)^
A cancelation request may consist only of one invoice per request
If customer demands credit note, cancelation is not possible
A cancelation is only possible within the same month after creation of the invoices
The first cancelation request counts. Even if the cancelation was rejected and the cancelation request was sent again for this invoice, the first request date determines if the cancelation is still possible. Subsequent requests for the invoice fall under the date of the first request.
Only after confirmation the new invoice with references to the original invoice(s) can be issued.
The cancelation request to SAT must include a proper reason (see 3.3)
The Invoice can be canceled without approval from the receptor. Generally the response time by the SAT is somewhere around 10 - 30 minutes. However it is possible that it takes more time and depends solely on the platform of the tax authority.
Cancelation needs to be accepted by the customer (invoice receiver). A cancelation is pending until the invoice receiver confirms the cancelation. If the receiver does not accept or reject within the confirmation period (3 business days) the request is rejected automatically.
In this case, the related invoices must be corrected with a credit note.
The only way to cancel Pagos is via webservice request or SAT online form.
01 – “Comprobantes emitidos con errores con relación”
When the generated invoice contains an error in the product key, unit value, discount or any other data, for which reason it must be issued again. First, the invoice is replaced and, when the cancellation is requested, the folio of the invoice that replaces the canceled one is included.
02 – “Comprobantes emitidos con errores sin relación”
When the invoice contains an error in the product key, unit value, discount or any other data and it is not required to be related to another generated invoice.
03 – “No se llevó a cabo la operación”
When an operation was invoiced, and it does not materialize. It means, for some reason your customer decided at the end not to buy the product/service for which you issued an invoice.
04 – “Operación nominativa relacionada en una factura global”
When a sale is included in the global invoice for operations with the general public and the customer subsequently requests his registered invoice, for which reason the global invoice must be canceled and reissued, in addition to generating the customer's registered invoice.
SOAP with TOM WSDL (Cloud Invoice Wrapper)
Please note: Invoice Cancelation is only available via REST API
REST API
Please contact your technical consultant or support for the technical documentation.
Available documents
Transaction Log XML
Category | Issue | TXML Path to check | Chapter Reference |
---|---|---|---|
Invoice Header | Invoice creation date is older than 72 hours | /InvoiceHeader/InvoiceIssueDate | 1.1.2 Submission Time |
Invoice Header | Invoice ID has already been cleared | /InvoiceHeader/InvoiceId/ | 1.1.1 Invoice Correction |
Sender Information | Tax ID as registered at the SAT wrong or missing. | /InvoiceHeader/SellerParty/TaxRegistrationNumber/ | 1.2.1 Supplier ID and Name |
Sender Information | Name not exactly as registered at the SAT. | /InvoiceHeader/SellerParty/Address/Name1/ | 1.2.1 Supplier ID and Name |
Sender Information | Tax Scheme ID missing | /SellerParty/AdditionalPartyNumber@Qualifier=“FiscalInfo“ | 1.2.3 Supplier Tax Scheme ID |
Sender Information | Tax Catalogue Number is wrong or missing | /SellerParty/AdditionalParty@Qualifier="TAXRegistrationNumber" | 1.2.5 Supplier Tax Catalogue Number |
Sender Information | Sender Country wrong or missing. | /SellerParty/Address/CountryCode/ /SellerParty/Address/CountryName/ |
1.2.7 Supplier Country |
Receiver Information | Tax ID as registered at the SAT wrong or missing. | /InvoiceOrg/InvoiceParty/TaxRegistrationNumber | 1.2.2 Customer ID and Name |
Receiver Information | Name not exactly as registered at the SAT. | /InvoiceHeader/InvoiceOrg/InvoiceParty/Address/Name1/ | 1.2.2 Customer ID and Name |
Receiver Information | Tax Scheme ID missing | /InvoiceHeader/InvoiceOrg/InvoiceParty/AdditionalPartyNumber@Qualifier=“FiscalInfo“ | 1.2.4 Customer Tax Scheme ID |
Receiver Information | Tax Catalogue Number is wrong or missing | /InvoiceOrg/InvoiceParty/AdditionalPartyNumber@Qualifier=”TAXRegistrationNumber” | 1.2.6 Customer Tax Catalogue Number |
Receiver Information | Receiver Country wrong or missing. | /InvoiceOrg/InvoiceParty/Address/CountryCode/ /InvoiceOrg/InvoiceParty/Address/CountryName/ |
1.2.8 Customer Country |
Document Relation | Reference to UUID missing | /InvoiceHeader/InvoiceRef/DocumentLink/ | 1.2.21 UUID Reference |
Document Relation | Reference Relation Type missing | /InvoiceHeader/FreeText@Caption=”RelationType“ | 1.2.22 Relation Type |
Document Tax | If there is any tax rate (even 0%), Exento is not allowed, it must be Tasa. | /InvoiceSummary/TaxCodeDescription/TaxDescription=Tasa | 1.2.11 Invoice Tax Type |
Document Tax | Document Taxable Amount is missing or wrong | /InvoiceSummary/TaxTotals/Tax/TaxableAmount | 1.2.12 Tax Amounts |
Item Tax | Item Taxable Amount is missing or wrong | /InvoiceDetail/Tax/TaxableAmount | 1.2.12 Tax Amounts |
Item Tax | Item Tax Amount is missing or wrong | /InvoiceDetail/Tax/Amount | 1.2.12 Tax Amounts |
Item Tax | Item Tax Type is wrong or missing | /InvoiceDetail/FreeText@Caption="FiscalInfo" | 1.2.13 Item Tax Type |
Item Information | Item Unit must exist in TXML 2.5 | /InvoiceDetail/Quantity@UoM | 1.2.16 Item Unit of Measurement |
Allow or Charge | Invoice has allowances on header level or charges on header or item level | Not allowed | 1.1.5 Allowances or Charges |
Export | Currency Exchange rate must be included | /InvoiceHeader/FreeText@Caption=”CurrencyExchangeRate“ | 1.2.20 Invoice Currency Exchange rate |
Export | Exportation Code is wrong or missing | /InvoiceHeader/FreeText@Caption=“ExportReason“ | 1.2.14 Invoices with 0% rax rate |
Response Code | Description of the probable error cause | Chapter Reference | CFDI Catalogue (see Annex A1) |
---|---|---|---|
CFDI40101.1 | The invoice date is in the future | 1.1.2 Submission Time | |
CFDI40101.2 | The invoice date is older than 72 hours. | 1.1.2 Submission Time | |
CCE104 | The invoice is flagged as export invoice but no exportation information are available. | 1.2.19 Export Invoice 1.3 Export Invoices |
|
CFDI40111 | The allowances in the Invoice does not match with the total values. | 1.2.18 Allowance Totals | |
CFDI40140 203 |
The Supplier Tax Scheme ID is wrong or missing. | 1.2.3 Supplier Tax Scheme ID | c_RegimenFiscal |
CFDI40145 | The receiver party name is unknown to the SAT | 1.2.2 Customer ID and Name | |
CFDI40148 | The invoice receiver name or ID is not correct. The name and ID must be exactly the value that is registered at the SAT. | 1.2.1 Supplier ID and Name 1.2.2 Customer ID and Name |
|
CFDI40157 | The Customer Tax Scheme ID is wrong or missing. | 1.2.4 Customer Tax Scheme ID | c_RegimenFiscal |
CFDI40161 | The Customer Tax Catalogue Number is wrong or missing. | 1.2.6 Customer Tax Catalogue Number | c_UsoCFDI |
CFDI40162 | The product category code from SAT´s product server is missing. | 1.2.15 Product Category Code | c_ClaveProdServ |
CFDI40215 | The Tax Rate(s) do not match the used Tax Code(s). | 1.2.6 Customer Tax Catalogue Number 1.2.7 Supplier Country 1.2.8 Customer Country 1.2.9 Invoice Tax Code 1.2.10 Item Tax Code |
|
CFDI40219 | The Invoice Tax Type must exist and match the Invoice Tax Code. | 1.2.11 Invoice Tax Type | c_TipoFactor |
CFDI40180 | Rounding Error on item level on tax amount. No rounding errors allowed. Correct formula: [item tax amount] = [item net price] * [item tax rate] | n/a | |
CFDI40139 | The invoice sender (seller party) name does not match the registered value at SAT. | 1.2.1 Supplier ID and Name | |
CCE176 | The prices and sums do not match the exchange rates. Ensure that the correct exchange rates are used for the invoice currency (can be any currency) and the customs currency (always USD). | 1.2.20 Invoice Currency Exchange rate 1.3.5 USD exchange rate 5.4 How to get the exchange rate of the day from SAT |
|
CFDI40221 | The total tax amounts do not match the sum of the items tax amounts. | n/a | |
CCE123 | The used exchange rate does not match the exchange rate recorded by the SAT (USD to Mexican pesos). | 1.2.20 Invoice Currency Exchange rate 1.3.5 USD exchange rate 5.4 How to get the exchange rate of the day from SAT |
|
CCE172 | For export invoices the item tariff number must exist in the SAT catalogue and match the Item Unit of Measurement of column UMT. | 1.3.10 Item Unit of Measurement 1.3.13 Item tariff number |
C_FraccionArancelaria |
CCE143 | The invoice receiver country code and state must match the values from SAT catalogue | 1.2.8 Customer Country 1.3.9 Invoice receiver state |
c_Pais c_Estado |
CCE171 | The invoice is declared as export invoice but the item unit of measurement (UnidadAduana), or item quantity (CantidadAduana) from SAT tariff catalogues values, or item prices in USD according to these values (ValorUnitarioAduana) are missing. | 1.3.10 Item Unit of Measurement 1.3.11 Item quantity 1.3.12 Item prices |
c_UnidadAduana |
CCE124 | The invoice is declared as export invoice but the sum of all item totals in USD (ValorDolares) does not match grand total sum in USD. | 1.3.6 USD Invoice Total 1.3.12 Item Prices |
|
311 | Invoice ID has already been cleared. | 1.1.1 Invoice Correction | |
208 | Invoice Receiver Tax ID is not known in the SAT catalogue. | 1.1.2 Customer ID and Name | |
CCE139 | Invoice Receiver Tax ID is not known in the receivers country catalogue or does not have the expected formatting of tax ID´s in this country (export only). | 1.3.1 TaxID Invoice Receiver | c_Pais |
CCE165 | The the tariff number from the SAT catalogue for an item is missing (export only). | 1.3.13 Item tariff number | c_FraccionArancelaria |
CCE169 | The price calculations in the COMEX complement are not matching (quantity * unit price = total value in USD). | 1.3.12 Item prices |
No. | Name | Link / Source | Description |
---|---|---|---|
A1 | CFDI 4.0 catalogue | http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/catCFDI_V_4_22022023.xls | SAT´s CFDI 4.0 catalogue with all possible attribute values for the different CFDI elements |
A2 | Trámites y Servicios (sat.gob.mx) | http://omawww.sat.gob.mx/tramitesyservicios/Paginas/anexo_20_version3-3.htm | Overview of all downloads for SAT´s requirements to e-Invoice clearance |
A3 | Invoice (sat.gob.mx) | http://omawww.sat.gob.mx/factura/Paginas/emite_complementosdefactura.htm | Overview of SAT´s e-Invoice requirements |
A4 | SCI Guidelines | https://developer-guide.sovos.com/connect-once-api/general-concepts/standard-business-document/sovos-canonical-invoice/ | Sovos Canonical Invoice Guidelines for Mexico |
A5 | CFDI 4.0 COMEX catalogues | http://omawww.sat.gob.mx/tramitesyservicios/Paginas/catalogos_emision_cfdi_complemento_ce.htm | SAT´s CFDI catalogues for Complemento Comercio Exterior |
A6 | CFDI 4.0 response codes | http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/MatrizDeErrores_CFDI_v40.xls | List of possible CFID error response codes |
A7 | TXML 2.5 Export Mapping Guidelines | Contact your technical consultant or support. | Only available at TecAlliance internally |
A8 | TXML 2.5 Pagos Mapping Guidelines | Contact your technical consultant or support. | Only available at TecAlliance internally |
A9 | SAT cancelation Guidline | http://omawww.sat.gob.mx/factura/Paginas/cancela_procesocancelacion.htm | Overview of SAT´s cancelation requirements |
The fiscal authorities state that in order to determine the contributions and their accessories, the exchange rate at which the foreign currency in question was acquired shall be taken into account.
The foreign currency in question has to be acquired, and in the absence of such acquisition, the exchange rate at which the published by the Bank of Mexico in the “Diario Oficial de la Federación” on the day prior to the day on which the taxes are incurred. On days on which the Banco de México does not publish such exchange rate, the last exchange rate published in the Official Gazette of the Federation shall be applied.
Source: https://www.gob.mx/indesol/documentos/codigo-fiscal-de-la-federacion-64540 , Page 29, Article 20
1. Go to Information Structure (SIE, Banco de México) (banxico.org.mx)
2. Click on the graph
3. Choose a smaller time period (1 month) and hover the graph at the needed date to get the exchange rate of the day
4. The correct exchange rate is the rate from the day one day prior to the invoice date.