CFDI basics: Mexico's electronic invoice for foreign teams
A CFDI (Comprobante Fiscal Digital por Internet) is Mexico's mandatory electronic invoice. It is an XML file that the issuer creates, an authorised provider certifies, and the tax authority, SAT, records in real time. Every sale, credit note and, in many cases, every payment collected is documented with a CFDI. For a foreign finance team, it is the document that ties revenue in Mexico to tax.
How a CFDI comes to exist
Issuing a CFDI takes four steps, usually automated by your invoicing software:
- Prepare. Your system builds the XML with issuer, receiver, items, taxes and payment terms.
- Sign. The issuer signs it with its digital seal certificate (CSD), issued by the SAT.
- Stamp. An authorised certification provider (PAC, Proveedor Autorizado de Certificación) validates it and adds the timbre fiscal, including a UUID, the unique folio fiscal.
- Deliver. You send the XML and a PDF to the customer. The SAT already has a copy.
Only after stamping does the invoice legally exist. A draft in your ERP is not a CFDI.
The CFDI types an AR team meets
| Type | Spanish | Used for |
|---|---|---|
| I | Ingreso | Sales invoices |
| E | Egreso | Credit notes, discounts, returns |
| P | Pago | Payment receipts (complemento de pago) |
| T | Traslado | Goods in transit |
| N | Nómina | Payroll |
Collections teams work mostly with I, E and P. A type P document is the payment receipt described in the complemento de pago guide.
Fields worth knowing on an income invoice
- RFC. The Mexican tax ID of issuer and receiver.
- Receiver's name, postal code and tax regime. Version 4.0 requires these to match the SAT's records exactly; mismatches are a common rejection reason.
- Uso del CFDI. How the receiver will use the invoice for tax purposes.
- Método de pago. PUE (paid at once) or PPD (paid later or in instalments), explained in PUE vs PPD explained.
- Forma de pago. How payment was made, such as transfer or cash, or 99 "to be defined" for PPD.
- Currency and exchange rate, if not in pesos.
- Taxes, typically IVA (VAT) and any withholdings.
Validating a CFDI you received
The SAT runs a public verification service where you enter the UUID, issuer RFC, receiver RFC and total to confirm a CFDI is valid and not cancelled. Accounts payable teams should run this check on supplier invoices. AR teams use the same check when a customer claims an invoice was cancelled.
Keeping CFDI files where you can find them
Every Mexican entity should keep the XML of each CFDI it issues and receives, organised by month and by counterparty. The SAT's portal lets you download issued and received invoices in bulk, which is a useful completeness check against your ERP. Shared-service centres often run that comparison monthly: any invoice in the SAT download that is missing from the ERP, or the reverse, needs an explanation before the close.
Cancellation and replacement at a high level
A stamped CFDI cannot be edited. To fix it, you cancel it with a reason code and, where relevant, issue a replacement that references the original. Some cancellations need the receiver to accept them. The rules and time limits change from time to time, so check them with your accountant before you cancel.
| Situation | Usual fix |
|---|---|
| Wrong receiver data | Cancel and replace |
| Wrong amount, not yet paid | Cancel and replace |
| Partial return after payment | Issue a credit note (type E) |
| Wrong payment method code | Cancel and replace, then follow PPD rules |
How CFDIs connect to bank deposits
An invoice says what is owed. The bank statement says what arrived. In Mexico, the payment receipt makes the link explicit for the SAT. An illustrative chain: invoice A-500 for 30,000 MXN issued as PPD on 2 October, a SPEI transfer of 30,000 MXN received on 28 October, and a payment receipt dated 28 October that references A-500's UUID with a remaining balance of zero.
When any of the three is missing or disagrees, the month-end review flags it.
Getting the deposit side right with Meses
The CFDI side is usually handled by your invoicing provider. The bank side, deciding which deposit pays which invoice, is where Meses (meses.ai) helps. Meses is the AI platform for collections reconciliation in Latin America: it matches bank-statement deposits to what customers owe (dues, tuition, rent, instalments or invoices) and updates your records in minutes. Pricing is shared during onboarding.
Frequently asked questions
Is the PDF of a CFDI the legal invoice?
The XML file is the legal document. The PDF is a printed representation for people to read. Keep the XML for every invoice you issue and receive.
Can our group's ERP issue CFDIs directly?
The ERP prepares the data, but an authorised certification provider must stamp each CFDI. Many ERPs connect to such a provider through an add-on or a local partner.
Can we issue a CFDI to a foreign customer?
Yes. Invoices to foreign customers use a generic foreign tax ID and include the customer's own tax number where required. Ask your accountant which fields apply to exports.
Sources
- SAT — Factura electrónica y comprobantes fiscales (accessed )
- SAT (accessed )