Mexico Invoice

Changes to generic fields

  • recipient.address.line1 is required.
  • recipient.address.line2 is required.
  • recipient.address.postalCode is required. It must be a valid postal code.
  • lines[].unit is required
  • The sending organization address requires a valid Mexican postal code.

Mexico-specific fields

type Invoice {
  // ...everything from invoice
  lines: [
    // ...everything from invoice.lines
    itemCode: string;
    unit: UnitsOfMeasure;
    vat: {
      // ...everything from invoice.lines.vat
      category: string;
      typeCode: string;
      factorCode: string;
    }
  ],
  customInfo: {
    mex: {
      typeCode: string;
      recipientTaxIdType: string;
      recipientIndustryClassificationCode: string;
    }
  }
}
NameTypeRequiredDescription
recipient.namestringYesCompany name or name and surname.
* please note, must be an exact match
recipient.taxIdstringYesB2B: Provide Registro Federal de Contribuyentes (RFC)
B2C: XAXX010101000: is used for domestic sales (MEX to MEX)
customInfo.mex.recipientTaxIdType: 616 - Sin Obligaciones Fiscales.
customInfo.mex.recipientIndustryClassificationCode: S01 - Sin Obligaciones Fiscales.

XEXX010101000: is used for international sales. (MEX to non-MEX)
customInfo.mex.recipientTaxIdType: 616 - Sin Obligaciones Fiscales.
customInfo.mex.recipientIndustryClassificationCode: S01 - Sin Obligaciones Fiscales.
lines[].itemCodestringYesLine item code as specified on CFDI
* please note, only accessible from Mexico
lines[].unitstringYesA value from an enumerated list as outlined on Units of Measure
lines[].vat.categorystringYesLine item tax category can be one of
"Exempt": Not taxable
"Standard": Yes, taxable
"Zero rated: Yes, taxable and does not need to be itemized
"Outside of scope: Yes, taxable and does not generate taxes
lines[].vat.typeCodestringYesLine item Tax type code can be one of
"ISR": Mexican Federal Income Tax
"IVA": Mexican VAT
"IEPS": Mexican Excise Tax
"ISAN": Vehicle Acquisition Tax
lines[].vat.factorCodestringYesLine item Tax factor code can be one of
"Standard": Rate(Tasa) - A fixed percentage applied to the line item.
"Fee": Quota(Cuota) - A fixed amount applied to the line item.
"Exempt": Exempt(Exento) - The item is exempt from VAT
customInfo.mex.typeCodestringYesIn Mexico, the invoice type codes (Tipo de Comprobante) used in electronic invoicing (CFDI - Comprobante Fiscal Digital por Internet) are standardized by the Mexican tax authority, SAT (Servicio de Administración Tributaria). Here is a list of common Mexico invoice type codes:
"Income": (Ingreso) Used for transactions where the issuer is receiving income, such as sales of goods or services.
"Expenditure": (Egreso) Used for transactions where the issuer is incurring an expense, such as refunds or credit notes.
"Transfer": (Traslado) Used for transactions where goods are being transported from one place to another without any sale involved.
"Payroll": (Nómina) Used for payroll-related transactions.
"Payment": (Pago) Used for documenting payments received.
customInfo.mex.recipientTaxIdTypestringYesTax ID type. The value that is registered in this attribute must apply to the type
of person of the receiver.
Tax ID type can be one of:
"601": General Law Legal Entities
"603": Non-Profit Legal Entities
"605": Wages and Salaries and Income Similar to Wages and Salaries
"606": Leasing
"607": Asset Acquisition or Disposal Regime
"608": Other income
"610": Residents Abroad without a Permanent Establishment in Mexico
"611": Income from Dividends (partners and shareholders)
"612": Individuals with Business and Professional Activities
"614": Interest Income
"615": Regime for income from prizes
"616": Without tax obligations
"620": Production Cooperative Societies that choose to defer their income
"621": Tax Incorporation
"622": Agricultural, Livestock, Forestry and Fishing Activities
"623": Optional for Groups of Companies
"624": Coordinated
"625": Regime for Business Activities with income through Technological Platforms
"626": Simplified Trust Regime

For generic Tax ID's (recipient.taxId )XAXX010101000 and XEXX010101000 customInfo.mex.recipientTaxIdType must be 616
customInfo.mex.recipientIndustryClassificationCodestringYesA value from an enumerated list as outlined on Mexico industry classification
For generic Tax ID's (recipient.taxId) XAXX010101000 and XEXX010101000 customInfo.mex.recipientIndustryClassificationCode must be S01

Example CSV file

Invoice - Mexico.csv