What Is the CFDI Use Code and Why Does the SAT Require It?
The CFDI use code (uso de CFDI) is the field on a Mexican electronic invoice where the receiver declares what they will actually do with it for tax purposes: claim it as a deductible expense, record a merchandise purchase, mark it as having no fiscal effect, or apply it as a personal deduction. It isn't chosen by whoever issues the invoice — it's chosen by whoever receives it, because only the receiver knows how that expense will be applied in their own accounting or annual tax return.
Since CFDI 4.0, this field stopped being a simple formality: the SAT now validates that the CFDI use code matches the receiver's registered tax regime, and if it doesn't, the authorized certification provider (PAC) rejects the invoice before it ever becomes valid.
How the CFDI Use Catalog (c_UsoCFDI) Works Under CFDI 4.0
The official catalog is called c_UsoCFDI, and it's one of the reference lists the SAT publishes alongside the other CFDI 4.0 catalogs, like tax regime or payment method. Each code has two or three characters — a letter marking the family (G for general, D for deductions, S for no fiscal effect, I for investments) plus a number within that family.
Under CFDI 4.0, whoever issues an invoice must capture the receiver's RFC, legal name, and tax regime exactly as registered with the SAT. If the CFDI use code declared doesn't match that regime — for example, using a personal-deduction code against a company's RFC — the PAC's system stops the stamping process on the spot. That cross-validation is why getting the CFDI use catalog right isn't optional or cosmetic anymore.
G01, G03 and S01: The Most Common CFDI Use Codes
In day-to-day business, three codes cover most of the invoices issued:
- G01 — Acquisition of merchandise. Used when the invoice corresponds to goods the buyer will resell or add to inventory, typical in retail and distribution.
- G03 — General expenses. The most commonly used code for everyday operations: services, supplies, work tools, subscriptions, or any expense that doesn't fit a more specific category. When someone isn't sure which CFDI use code to pick, G03 is usually the right answer for general operating expenses.
- S01 — No fiscal effect. Declared when the receiver won't deduct or credit anything with that invoice — for example, a final consumer who asks for an invoice just as proof of purchase, with no intention of using it for tax purposes.
These three codes, along with G02 (returns, discounts, or rebates), account for most invoicing volume between businesses and with the general public.
D01 through D10: CFDI Use Codes for Personal Deductions
The D family is reserved for individuals (not companies) who will deduct an expense on their annual tax return, and the catalog covers specific categories:
- D01 — Medical, dental, and hospital fees.
- D02 — Medical expenses due to disability or incapacity.
- D03 — Funeral expenses.
- D04 — Donations.
- D05 — Real interest paid on mortgage loans (primary residence).
- D06 — Voluntary contributions to the retirement savings system (SAR).
- D07 — Health insurance premiums.
- D08 — Mandatory school transportation expenses.
- D09 — Deposits into savings accounts or pension-plan premiums.
- D10 — Payments for educational services (tuition).
These ten codes are exclusive to individuals: if an issuer tries to stamp an invoice with D01 against a company's RFC, the PAC rejects it because a corporate tax regime isn't compatible with a personal deduction. That's why every clinic, school, or insurance provider issuing invoices under these codes needs to capture the patient's or student's own tax regime correctly, not the institution's.
CP01 and CN01: The Codes You Don't Get to Choose
Two codes in the catalog work differently from the rest because they're tied to a specific type of document, not to a free choice by the receiver:
- CP01 — Payments. This is the mandatory code for the payment complement, the CFDI issued when an invoice is paid after it was originally stamped (deferred or installment payments). It isn't picked from several options: if the document is a payment complement, CP01 is the only valid CFDI use code. You can read more about how this document works in our guide to the payment complement.
- CN01 — Payroll. This code is reserved for payroll CFDIs that companies issue to employees for wages and benefits. It's not a choice either: every payroll CFDI is stamped with this code.
The practical difference is that while G01, G03, S01, and the D codes depend on what the receiver plans to do with the expense, CP01 and CN01 depend only on the type of document being generated.
Which CFDI Use Code Should You Pick When You're Not Sure?
When a customer asks for an invoice and isn't sure which CFDI use code applies, two quick questions usually settle it before you stamp the document:
- Will you deduct or credit this expense? If not,
S01is almost always the right code. - Are you an individual with a specific personal expense (medical, educational, funeral) or a business with an operating expense? Individuals with that kind of personal expense need one of the
Dcodes; a general business operating expense defaults toG03, unless it's merchandise for resale, in which caseG01applies.
The issuer can't guess the answer or default to whichever code is easiest — the receiver defines it, because only they know the real tax destination of the expense, and only they answer to the SAT if they declare something that doesn't fit.
Common Mistakes When Choosing a CFDI Use Code
Rejections and after-the-fact corrections almost always trace back to the same handful of slip-ups:
- Defaulting to
G03for everything out of habit, even when the expense fits a more specific code, which can complicate the receiver's deduction later on. - Picking a
Dcode against a company's tax regime, which triggers an immediate stamping rejection. - Confusing
S01with "I'm not sure what to put," whenS01actually means the invoice specifically has no fiscal effect, not that the choice is undecided. - Not updating the receiver's tax regime before invoicing, so the CFDI use code captured no longer matches what's registered with the SAT.
- Letting the issuer decide the CFDI use code without asking the customer, when it's really a detail only the receiver can confirm with certainty.
Avoiding these mistakes cuts down on cancellations, returned invoices, and accounting corrections that eat into your team's time, especially once the business also has to meet the invoicing requirements the SAT enforces on every document.
Frequently Asked Questions
What happens if I use the wrong CFDI use code?
If the code isn't compatible with the receiver's tax regime, the PAC rejects the stamping and you have to fix the field before the invoice can be issued. If the invoice was already stamped with a code that doesn't reflect the real use, the usual fix is to cancel it and issue a new one with the correct code.
Who picks the CFDI use code, the issuer or the receiver?
The receiver does, because only they know whether they'll deduct the expense, under which category, and under which tax regime. The issuer simply captures the value the customer provides when requesting the invoice.
Can I use G01 for services instead of merchandise?
That's not recommended. G01 is meant for merchandise acquired for resale or inventory; for services, supplies, or operating expenses that aren't merchandise, G03 is usually the right code.
Do the D01 through D10 codes apply to businesses?
No. All ten codes in the D family are exclusive to individuals deducting personal expenses on their annual tax return; a corporate RFC isn't compatible with any of these codes.
Can CP01 and CN01 be used on a regular invoice?
No. CP01 is exclusive to the payment complement and CN01 to payroll CFDIs; neither one is declared on a standard income, expense, or transfer invoice.
Picking the right CFDI use code on every document avoids stamping rejections, cancellations, and accounting headaches for your customers. At AISDC we build CFDI invoicing systems that automatically validate the receiver's tax regime against the SAT's catalog, including the most common CFDI types and tax regimes, so every invoice stamps correctly the first time.