Skip to main content
This guide explains Mexican CFDI. For Colombian identification and invoice fields, read Colombia; for common API fields, read Shared fields. You sell one hour of consulting for MXN 1,000 plus MXN 160 of IVA. The customer pays MXN 1,160. Start with that sale; choose the API operation that matches what has actually happened. A registered payment records money already received. An invoice records the fiscal sale. These are separate records; the API can automate the relationship when you explicitly request it.

Three IDs you will use

After stamping a draft, use the returned UUID to fetch the invoice. Do not assume the old draft ID is the issued invoice’s ID. The draft-stamping response can omit data.id.

The fiscal words, translated into decisions

  • CFDI: the Mexican electronic fiscal document. Its XML contains the fiscal data; a PDF is a readable representation.
  • Timbrar / stamp: issue the CFDI through the invoicing provider. A saved draft has not completed this step.
  • RFC: the tax identity of the issuing business or recipient.
  • Uso CFDI (use): the recipient’s stated fiscal use of the document. Ask them; a code in an example is not a default for every customer.
  • Régimen fiscal (tax_system): the recipient’s registered tax regime.
  • Forma de pago (payment_form): how money was paid, such as 03 for bank transfer.
  • Método de pago (payment_method): whether the invoice is paid in one payment (PUE) or deferred / in installments (PPD).
For the simple already paid in full example, use PUE with the actual payment form. For a sale unpaid when you issue the invoice, the ordinary flow is PPD with 99 (por definir), followed by a payment complement when payment arrives. Special fiscal cases have additional rules; these recipes cover the ordinary flows. The SAT explains the fields in its CFDI filling guides and payment-complement guidance.

Draft, preview, and issue

Follow one consulting sale from customer to CFDI.

Record a bank transfer

Record a payment without creating another invoice.