Mexico
Mexico invoices through CFDI (Comprobante Fiscal Digital por Internet) version 4.0, the SAT’s (Servicio de Administración Tributaria) e-invoicing scheme. Floogos’ Fiscal Hub offers two ways to issue CFDIs, both described below, depending on how much control you want over your own certificate.
The stamping model: always via a PAC
Section titled “The stamping model: always via a PAC”Unlike countries where the invoice goes straight to the tax authority, in Mexico stamping is never direct to the SAT: it must go through a PAC (Authorized Certification Provider). The PAC validates the receipt, adds the SAT’s digital seal (TFD, Timbre Fiscal Digital) and assigns the UUID (fiscal folio). Without that step, the receipt has no fiscal validity even if it is sealed with the issuer’s CSD.
Floogos offers two modules to cover this flow:
satmodule (satcredential): you use your own CSD (Digital Seal Certificate, .p12 or the SAT’s .cer + .key pair) and choose the PAC you stamp through (Facturama, Finkok or SW) on the credential. Building the receipt, sealing it and sending it to the PAC all run inside Floogos; the status check, on the other hand, is a direct SAT service and does not go through the PAC.facturamamodule (facturamacredential): a direct integration against your Facturama account as the PAC. You don’t handle the CSD inside the node — Facturama manages sealing and stamping on the account you configured on their platform.
Either way, the result is the same: a valid CFDI 4.0 with a UUID, ready to be reported to the SAT.
16% VAT
Section titled “16% VAT”The standard IVA (Value Added Tax) rate in Mexico is 16%, applied per line item on the CFDI (traslados node, tax key 002). The fiscal regime, the CFDI use (UsoCFDI) and each line item’s product/service key are validated against the SAT catalogs before stamping.
When a receipt becomes valid
Section titled “When a receipt becomes valid”A CFDI only becomes fiscally valid once the PAC responds with:
- The UUID (fiscal folio), the receipt’s unique identifier with the SAT
- The SAT digital seal (Timbre Fiscal Digital)
- The stamping date
Before that step, the XML sealed only with the issuer’s CSD is a draft: it cannot be handed to the recipient as a fiscal receipt or reported as revenue. The UUID is also the key value used later to check status, cancel, or generate the printable representation.
Available nodes
Section titled “Available nodes”| Node | Description |
|---|---|
| SatTimbrarCFDI | Builds, seals with the CSD and stamps a CFDI 4.0 via the PAC configured on the sat credential |
| SatCancelarCFDI | Cancels a stamped CFDI, with the SAT’s 4 cancellation reasons |
| SatConsultarEstatus | Checks whether a CFDI is valid or cancelled, directly against the SAT |
| SatRepresentacion | Generates the printable representation (HTML) with the SAT verification QR |
| FacturamaCFDI | Issues a CFDI 4.0 with the SAT using the Facturama account as the PAC |
| FacturamaCancelar | Cancels a CFDI issued through Facturama |
| FacturamaDescargar | Downloads the XML or PDF of a CFDI issued through Facturama |
Typical flow
Section titled “Typical flow”- Stamp —
SatTimbrarCFDI(with your own CSD and PAC) orFacturamaCFDI(via the Facturama account), to get the UUID. - Check or cancel —
SatConsultarEstatusto confirm it is still valid, orSatCancelarCFDI/FacturamaCancelarif it needs to be voided. - Deliver to the customer —
SatRepresentacion(HTML with QR, to convert to PDF) orFacturamaDescargar(XML/PDF already generated by Facturama), to email or store it.
Getting started
Section titled “Getting started”- Choose the
satmodule if you already have your SAT CSD and want to freely pick between Facturama, Finkok or SW as your PAC. - Choose the
facturamamodule if you’d rather have Facturama manage the CSD and stamping for you, with a single account. - Check the Use cases section for a full example of automatic invoicing from an order.