Mexico (CFDI): Rules
Read about rules used by Mexico.
| Description | Topic |
|---|---|
| [VRBL-INV-MX-1p0-1]-The value of the Invoice Type Code must be contained in MX Invoice Type Code or be contained in Mx UNCL 1001. Allowed values: VRBL:MX:E, VRBL:MX:I or 380, 381, 383. | Mexico (CFDI): Invoice Type Code |
| [VRBL-INV-MX-1p0-2]-The value of the Seller Tax Scheme ID must be contained in the MX Party tax scheme ID. | Mexico (CFDI): Seller Tax Registration |
| [VRBL-INV-MX-1p0-3]-The value of the Buyer Tax Scheme ID must be contained in the MX Party tax scheme ID. | Mexico (CFDI): Buyer Tax Registration |
| [VRBL-INV-MX-1p0-4]-The value of the Payment Means Payment Means Code must be contained in MX Payment Means Code or be contained in MX UNCL 4461 [VRBL-CL-MX-UNCL-4461]. Allowed values: VRBL:MX:01, VRBL:MX:02, VRBL:MX:03, VRBL:MX:04, VRBL:MX:05, VRBL:MX:06, VRBL:MX:08, VRBL:MX:12, VRBL:MX:13, VRBL:MX:14, VRBL:MX:15, VRBL:MX:17, VRBL:MX:23, VRBL:MX:24, VRBL:MX:25, VRBL:MX:26, VRBL:MX:27, VRBL:MX:28, VRBL:MX:29, VRBL:MX:30, VRBL:MX:31, VRBL:MX:99 or 10, 30, 54, 55. | Mexico (CFDI): Payment Means Type Code |
| [VRBL-INV-MX-1p0-5]-The value of the Invoice Line Commodity Classification Code List ID must be contained in UNCL7143 item type identification or be contained in MX Item Number Type Code. For more information, see Item Type Identification Code. | Mexico (CFDI): Line-Level Commodity Classification |
| [VRBL-INV-MX-1p0-6]-The value of the Invoice Line Tax Scheme ID must be contained in MX Tax scheme ID. | Mexico (CFDI): Line-Level Tax Scheme Code |
| [VRBL-INV-MX-1p0-7]-The value of the Tax Subtotal Tax Scheme ID must be contained in MX Tax scheme ID. | Mexico (CFDI): Tax Scheme Code |
| [VRBL-INV-MX-1p0-8]-The value of the Withholding Tax Subtotal Category Scheme ID must be contained in MX Tax scheme ID. | Mexico (CFDI): Withholding Tax Scheme Code |
| [VRBL-INV-MX-1p0-9]-The value of the Invoice Line Tax Subtotal Category Scheme ID must be contained in MX Tax scheme ID. | Mexico (CFDI): Line-Level Tax Scheme Code |
| [VRBL-INV-MX-1p0-10]-The value of the Invoice Line Withholding Tax Subtotal Category Scheme ID must be contained in MX Tax scheme ID. | Mexico (CFDI): Line-Level Withholding Tax Category Code |
| [VRBL-INV-MX-1p0-11]-The value of the Payment Terms Payment Terms Extension Payment Terms Code must be contained in MX Payment terms code. Allowed values: VRBL:MX:PPD, VRBL:MX:PUE. | Mexico (CFDI): Payment Terms |
| [VRBL-INV-MX-1p0-12]-The Payment Means Payment Means Code should be "VRBL:MX:99" when Payment Terms Payment Terms Extension Payment Terms Code is "VRBL:MX:PPD". | Mexico (CFDI): Payment Means Type Code |
| [VRBL-INV-MX-1p0-13]-The Payment Means Payment Means Code must exist within Payment Means Group. | Mexico (CFDI): Payment Means Type Code |
| [VRBL-INV-MX-1p0-14]-The Legal Monetary Total Line Extension Amount must be equal to the Invoice Line Extension Amount. | VRBL: Legal Monetary Total |
| [VRBL-INV-MX-1p0-15]-The Legal Monetary Total Allowance Total Amount must be equal or less than the Legal Monetary Total Line Extension Amount. | VRBL: Legal Monetary Total |
| [VRBL-INV-MX-1p0-16]-The Legal Monetary Total Allowance Total Amount must be equal to the sum of Invoice Line Allowance Amount. | VRBL: Allowances |
| [VRBL-INV-MX-1p0-17]-The Payment Means Group must exist within Invoice. | Mexico (CFDI): Payment Means Type Code |
| [VRBL-INV-MX-1p0-18]-The Tax Exchange Rate Calculation Rate must exist within Tax Exchange Rate. | VRBL: Tax Exchange Rates |
| [VRBL-INV-MX-1p0-19]-When the Document Currency Code is different from MXN or XXX, the Tax Exchange Rate Calculation Rate must exist and be greater than 0. | VRBL: Invoice Currency |
| [VRBL-INV-MX-1p0-20]-When the Document Currency Code is XXX, the Tax Exchange Rate must not exist. | VRBL: Invoice Currency |
| [VRBL-INV-MX-1p0-21]-When the Document Currency Code is MXN, the Tax Exchange Rate must not exist or be equal to 1. | VRBL: Invoice Currency |
| [VRBL-INV-MX-1p0-22]-The value of the Export Type Code must be contained in MX Export type code. Allowed values: VRBL:MX:01, VRBL:MX:02, VRBL:MX:03, VRBL:MX:04. | |
| [VRBL-INV-MX-1p0-24]-The Seller Postal Zone must contain a valid postal code. | Mexico (CFDI): Buyer Tax Registration |
| [VRBL-INV-MX-1p0-25]-When the Buyer Party Name Group is PUBLICO EN GENERAL and the Buyer Tax Company ID (RFC) is XAXX010101000, the Invoice Period Group must exist. | Mexico (CFDI): Buyer Tax Registration |
| [VRBL-INV-MX-1p0-26]-When the Invoice Period is Bimonthly, the Seller Tax Scheme ID must be 'VRBL:MX:621'. | Mexico (CFDI): Tax Scheme Code |
| [VRBL-INV-MX-1p0-27]-The value of the Invoice Period Month Range must be contained in MX Allowed month range [VRBL-CL-MX-AllowedMonthRange]. | VRBL: InvoicePeriod |
| [VRBL-INV-MX-1p0-28]-The years in Invoice Start Date and Invoice End Date must be the same, and the invoice must belong to the current year or the immediate previous year. | VRBL: InvoicePeriod |
| [VRBL-INV-MX-1p0-29]-If the Buyer Party Name Group is 'PUBLICO EN GENERAL' the Buyer Tax Company ID must be 'XAXX010101000'. | VRBL: Buyers |
| [VRBL-INV-MX-1p0-30]-If the Buyer Tax Company ID is 'XAXX010101000' or 'XEXX010101000' the Buyer Postal Zone must be equal to the Seller Postal Zone. | VRBL: Buyers |
| [VRBL-INV-MX-1p0-31]-If the Buyer Tax Company ID is 'XAXX010101000' the Buyer Country Group must not exist. | Mexico (CFDI): Buyer Tax Registration |
| [VRBL-INV-MX-1p0-32]-The SAT Product or Service Code must be numeric and exactly 8 digits long. | Mexico (CFDI): Line-Level Commodity Classification |
| [VRBL-INV-MX-1p0-33]-The value of the Invoice Subtype Code must be contained in MX Invoice subtype code. Allowed values: VRBL:MX:CN01, VRBL:MX:CP01, VRBL:MX:D01, VRBL:MX:D02, VRBL:MX:D03, VRBL:MX:D04, VRBL:MX:D05, VRBL:MX:D06, VRBL:MX:D07, VRBL:MX:D08, VRBL:MX:D09, VRBL:MX:D10, VRBL:MX:G01, VRBL:MX:G02, VRBL:MX:G03, VRBL:MX:I01, VRBL:MX:I02, VRBL:MX:I03, VRBL:MX:I04, VRBL:MX:I05, VRBL:MX:I06, VRBL:MX:I07, VRBL:MX:I08, VRBL:MX:P01, VRBL:MX:S01. | Mexico (CFDI): Invoice Subtype Code |
| [VRBL-INV-MX-1p0-34]-The value of the Document Currency Code must be contained in Document Currency Code [VRBL-CL-MX-DocumentCurrencyCode]. | |
| [VRBL-INV-MX-1p0-35]-The Legal Monetary Total Line Extension Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-36]-The Legal Monetary Total Allowance Total Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-37]-The Legal Monetary Total Payable Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-38]-The Invoice Line Extension Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-39]-The Invoice Line Allowance Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-40]-The Invoice Line Tax Subtotal Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-41]-The Invoice Line Withholding Tax Subtotal Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-42]-The Sub Invoice Line Extension Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-43]-The Tax Subtotal Taxable Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-44]-The Tax Subtotal Tax Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-45]-The Withholding Tax Subtotal Taxable Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-46]-The Withholding Tax Subtotal Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-47]-The Seller Tax ID must be a valid RFC. For a Legal Entity, 12 characters are expected (3 Letters, 6 Digits, 3 Alphanumeric). For a Natural Person, 13 characters are expected (4 Letters, 6 Digits, 3 Alphanumeric). | |
| [VRBL-INV-MX-1p0-48]-The Buyer Tax Company ID must be a valid RFC. For a Legal Entity, 12 characters are expected (3 Letters, 6 Digits, 3 Alphanumeric). For a Natural Person, 13 characters are expected (4 Letters, 6 Digits, 3 Alphanumeric). | |
| [VRBL-INV-MX-1p0-49]-For a Legal Entity, the value of the Seller Tax Scheme ID must be contained in Party Tax Scheme ID Subset for Legal Entity [VRBL-CL-MX-Party-TaxSchemeID-LegalEntity] (prefixed by 'VRBL:MX:'). Allowed values: VRBL:MX:601, VRBL:MX:603, VRBL:MX:610, VRBL:MX:620, VRBL:MX:622, VRBL:MX:623, VRBL:MX:624, VRBL:MX:626. | |
| [VRBL-INV-MX-1p0-50]-For a Natural Person, the value of the Seller Tax Scheme ID must be contained in Party Tax Scheme ID Subset for Natural Person [VRBL-CL-MX-Party-TaxSchemeID-NaturalPerson] (prefixed by 'VRBL:MX:'). Allowed values: VRBL:MX:605, VRBL:MX:606, VRBL:MX:607, VRBL:MX:608, VRBL:MX:610, VRBL:MX:611, VRBL:MX:612, VRBL:MX:614, VRBL:MX:615, VRBL:MX:616, VRBL:MX:621, VRBL:MX:625, VRBL:MX:626. | |
| [VRBL-INV-MX-1p0-51]-For a Legal Entity, the value of the Buyer Tax Scheme ID must be contained in Party Tax Scheme ID Subset for Legal Entity [VRBL-CL-MX-Party-TaxSchemeID-LegalEntity] (prefixed by 'VRBL:MX:'). Allowed values: VRBL:MX:601, VRBL:MX:603, VRBL:MX:610, VRBL:MX:620, VRBL:MX:622, VRBL:MX:623, VRBL:MX:624, VRBL:MX:626. | |
| [VRBL-INV-MX-1p0-52]-For a Natural Person, the value of the Buyer Tax Scheme ID must be contained in Party Tax Scheme ID Subset for Natural Person [VRBL-CL-MX-Party-TaxSchemeID-NaturalPerson] (prefixed by 'VRBL:MX:'). Allowed values: VRBL:MX:605, VRBL:MX:606, VRBL:MX:607, VRBL:MX:608, VRBL:MX:610, VRBL:MX:611, VRBL:MX:612, VRBL:MX:614, VRBL:MX:615, VRBL:MX:616, VRBL:MX:621, VRBL:MX:625, VRBL:MX:626. | |
| [VRBL-INV-MX-1p0-53]-If the Buyer Tax Company ID is 'XAXX010101000' or 'XEXX010101000' the Buyer Tax Scheme ID must be VRBL:MX:616. | |
| [VRBL-INV-MX-1p0-54]-For an invoice where the Buyer Group is a Legal Entity, the value of the Invoice Subtype Code must be contained in Invoice Subtype Code Subset for Legal Entity [VRBL-CL-MX-InvoiceSubtypeCode-LegalEntity] (prefixed by 'VRBL:MX:'). Allowed values: VRBL:MX:CP01, VRBL:MX:G01, VRBL:MX:G02, VRBL:MX:G03, VRBL:MX:I01, VRBL:MX:I02, VRBL:MX:I03, VRBL:MX:I04, VRBL:MX:I05, VRBL:MX:I06, VRBL:MX:I07, VRBL:MX:I08, VRBL:MX:S01. | |
| [VRBL-INV-MX-1p0-55]-The value of the Tax Subtotal Category ID must be contained in Tax Category ID [VRBL-CL-MX-TaxCategoryID] (prefixed by 'VRBL:MX:') or be contained in UNCL 5305 [VRBL-CL-MX-UNCL-5305]. | |
| [VRBL-INV-MX-1p0-56]-The value of the Withholding Tax Subtotal Tax ID must be contained in Tax Category ID [VRBL-CL-MX-TaxCategoryID] (prefixed by 'VRBL:MX:') or be contained in UNCL 5305 [VRBL-CL-MX-UNCL-5305]. | |
| [VRBL-INV-MX-1p0-57]-The value of the Invoice Line Tax Subtotal Tax ID must be contained in Tax Category ID [VRBL-CL-MX-TaxCategoryID] (prefixed by 'VRBL:MX:') or be contained in UNCL 5305 [VRBL-CL-MX-UNCL-5305]. | |
| [VRBL-INV-MX-1p0-58]-The value of the Invoice Line Withholding Tax Subtotal Tax ID must be contained in Tax Category ID [VRBL-CL-MX-TaxCategoryID] (prefixed by 'VRBL:MX:') or be contained in UNCL 5305 [VRBL-CL-MX-UNCL-5305]. | |
| [VRBL-INV-MX-1p0-59]-The Invoice Line Tax Subtotal Taxable Amount is invalid. This value must be strictly greater than zero for taxable operations. | |
| [VRBL-INV-MX-1p0-60]-The value of the Invoice Line Tax Subtotal Category Scheme Tax Type Code must be contained in Tax Type Code [VRBL-CL-MX-TaxTypeCode] (prefixed by 'VRBL:MX:'). | |
| [VRBL-INV-MX-1p0-61]-The value of the Invoice Line Withholding Tax Subtotal Category Scheme Tax Type Code must be contained in Tax Type Code [VRBL-CL-MX-TaxTypeCode] (prefixed by 'VRBL:MX:'), excluding values in Tax Type Code with no withholding [VRBL-CL-MX-TaxTypeCode-NoWithholding] (prefixed by 'VRBL:MX:'). | |
| [VRBL-INV-MX-1p0-63]-The Invoice Line Originator Party Tax Company ID must be a valid RFC. For a Legal Entity, 12 characters are expected (3 Letters, 6 Digits, 3 Alphanumeric). For a Natural Person, 13 characters are expected (4 Letters, 6 Digits, 3 Alphanumeric). | |
| [VRBL-INV-MX-1p0-64]-Positions one and two of the Customs Declaration Number in Invoice Line Document Reference ID must be less than or equal to the last two digits of the year of the Issue Date. | |
| [VRBL-INV-MX-1p0-65]-When used as Customs Declaration Number, the value of the Invoice Line Document Reference ID (5th to 6th character) must be contained in Customs code [VRBL-CL-MX-CustomsCode]. | |
| [VRBL-INV-MX-1p0-66]-Positions one and two of the Customs Declaration Number in Additional Document Reference ID must be less than or equal to the last two digits of the year of the Additional Document Reference Issue Date. | |
| [VRBL-INV-MX-1p0-67]-When used as Customs Declaration Number, the value of the Additional Document Reference ID (5th to 6th character) must be contained in Customs code [VRBL-CL-MX-CustomsCode]. | |
| [VRBL-INV-MX-1p0-68]-Positions one and two of the Customs Declaration Number in Sub Invoice Line Document Reference ID must be less than or equal to the last two digits of the year of the Issue Date. | |
| [VRBL-INV-MX-1p0-69]-When used as Customs Declaration Number, the value of the Sub Invoice Line Document Reference ID (5th to 6th character) must be contained in Customs code [VRBL-CL-MX-CustomsCode]. | |
| [VRBL-INV-MX-1p0-70]-The Total Tax Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-71]-The Withholding Tax Amount must have no more than $ExpectedDecimals decimals. | |
| [VRBL-INV-MX-1p0-72]-The value of the Seller Party Identification Scheme ID must be contained in ISO 6523 ICD [VRBL-CL-IdentificationSchemeID] or be contained in MX Identification scheme ID [VRBL-CL-MX-IdentificationSchemeID] (prefixed by 'VRBL:MX:'). For more information visit: https://docs.peppol.eu/poacc/billing/3.0/2025-Q4/codelist/ICD/ |
Updated 11 days ago
