Mexico Invoice

Mexico Invoice

Changes to standard fields

  • recipient.address.postalCode is required.

Mexico-specific fields

type Invoice {
  // ...everything from invoice
  lines: [
    // ...everything from invoice.lines
    itemCode: string;
    unit: 'unit' | 'one';
    vat: {
      // ...everything from invoice.lines.vat
      category: string;
      typeCode: string;
      factorCode: string;
    }
  ],
  customInfo: {
    mex: {
      typeCode: string;
      recipientTaxIdType: string;
      recipientIndustryClassificationCode: string;
    }
  }
}
NameTypeRequiredDescription
lines[].itemCodestringYesLine item code as specified on CFDI
* please note, only accessible from Mexico
lines[].unitstringYesLine item unit can be one of 'one', 'unit'
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
customInfo.mex .recipientIndustryClassificationCodestringYesA value from an enumerated list as outlined on Mexico industry classification

Example CSV file

Invoice - Mexico.csv