Fiscalapi

Auto CFDI invoicing: your customers invoice from their purchase ticket

Your point of sale registers each paid sale as a ticket (a sales receipt your customer can later turn into a CFDI) and prints its code and a QR code. Your customer scans it, enters their tax details in your auto-invoice portal, and gets their CFDI (Mexico's electronic invoice) without your team stepping in. Each auto-invoice is a CFDI your customer requests from a ticket, and you remain the issuer.

How it works

Every ticket follows the same path.

  1. 1

    Register the ticket

    Your point of sale registers each paid sale as a ticket and gets back its code and the URL of its QR code.

  2. 2

    Print the code and the QR code

    Print them on the sales receipt. The code is split into three groups of 4 characters, so it's easy to read and spell out.

  3. 3

    Your customer generates their invoice

    They scan the QR code, enter their RFC (Mexico's taxpayer ID) and tax details in your auto-invoice portal, and download their CFDI. Fiscalapi stamps it with the ticket data (stamping: the certification by a SAT-authorized provider that makes a CFDI valid).

  4. 4

    Close the period

    Add the tickets nobody invoiced to the global invoice for tickets (global invoice: factura global, one CFDI that groups a period's sales to the general public). It's the same request you use for any global invoice.

Self-invoicing without involving your team

From the printed ticket to the stamped CFDI, and from uninvoiced tickets to the global invoice

A code and QR code for every ticket

Every ticket gets a unique, hard-to-guess 12-character code. The QR code opens the ticket directly in your portal and keeps working even if you rename it.

Your auto-invoice portal

Your portal lives at live.factura.fiscalapi.com under the name you choose. If you change the name, the old one redirects to the new one, and the links you already shared keep working.

The ticket data doesn't change

The auto-invoice uses the line items, taxes, and totals you registered on the ticket. Your customer only enters their RFC and tax details.

Configurable auto-invoice window

Decide how long a ticket can be auto-invoiced: until the end of the month of payment, until the end of the year, or with no limit. The change applies right away to all your tickets.

Global invoice for tickets

Tickets nobody invoiced go into the global invoice through the standard create-invoice request. Fiscalapi checks that each line item matches its ticket and marks the ticket as invoiced.

Usage report

See each issuer's tickets by status for any period. The report also shows the ticket credits each person used (person: any individual or company you register in Fiscalapi).

Subscription and credits

  • An add-on to your subscription

    Auto CFDI invoicing requires CFDI invoicing. The owner (the person who created the tenant) adds it in the dashboard under "Compras en línea" (Billing) > "Módulos adicionales" (Add-ons).

  • Ticket credits

    Registering a ticket uses one credit, even if the ticket is never invoiced. A rejection, a retry with the same idempotency key, or a duplicate uses no credit. Buy them under "Compras en línea" (Billing) > "Tienda en línea" (Store).

  • Stamps

    Each stamped CFDI uses one stamp (a stamping credit). That includes the auto-invoice, the global invoice, and its replacement CFDI (a corrected CFDI that replaces a canceled one).

  • Credits between people

    Transfer ticket credits between the people in your tenant, or withdraw them, the same way you do with stamps.

Frequently asked questions about Auto CFDI invoicing

What is Auto CFDI invoicing?

It's the Fiscalapi add-on that lets your customers generate their invoice from their purchase ticket without your team stepping in. Your point of sale registers each paid sale as a ticket and prints its code and a QR code. Your customer scans it, enters their tax details in your auto-invoice portal, and gets their CFDI.

Can my customer change the line items or the invoice total?

No. The auto-invoice uses the line items, taxes, and totals you registered on the ticket. Fiscalapi validates the structure, the SAT catalogs (SAT: Mexico's tax authority), and the arithmetic. You're responsible for the taxes you include on the ticket.

How long does my customer have to invoice their ticket?

You set it in the settings: until the last day of the month of payment (the default), until December 31 of the year of payment, or with no limit. The tax deadlines for issuing the CFDI are your business's responsibility, so choose the setting that meets your obligations.

What happens to tickets nobody invoices?

At the close of the period, you include them in a global invoice with the standard create-invoice request and the ticketId on each line item. Fiscalapi checks that each line item matches its ticket and marks the ticket as invoiced in the global invoice, so your customer can no longer auto-invoice it.

How is Auto CFDI invoicing billed?

Auto CFDI invoicing is an add-on to your subscription and requires CFDI invoicing. Registering a ticket uses one ticket credit, even if it's never invoiced. Each stamped CFDI uses one stamp: the auto-invoice, the global invoice, and its replacement.

Take the next step

Let your customers auto-invoice