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 as03for bank transfer. - Método de pago (
payment_method): whether the invoice is paid in one payment (PUE) or deferred / in installments (PPD).
Paid now or paid later?
For the simple already paid in full example, usePUE 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.