Cretia
← Back to blog

Validate a SAT invoice: how to verify a Mexican CFDI

By Montserrat Devars

Published

Updated

A professional scanning a code with her phone camera at a bright desk.

To validate a Mexican invoice, open the SAT's free verification service at verificacfdi.facturaelectronica.sat.gob.mx, enter the invoice's folio fiscal (UUID), the issuer's RFC and the recipient's RFC, type the digits shown in the image and click "Verificar CFDI". No login is required, and within seconds the SAT (Servicio de Administración Tributaria, Mexico's tax authority) tells you whether the invoice is in its records and whether it is valid or cancelled.

This guide walks through the validation in English, since the SAT page is only in Spanish: the three ways to do it, what each result means and what to do when an invoice does not appear. It is general guidance, not tax advice.

What invoice validation means in Mexico

Every Mexican invoice is a CFDI (Comprobante Fiscal Digital por Internet), an XML file certified for the SAT; see what a CFDI is for the basics. Because the SAT receives every CFDI when it is certified, anyone can ask the SAT whether a given invoice exists. Mexicans call this validar or verificar una factura.

The legal basis is article 29 of the Código Fiscal de la Federación (CFF), Mexico's Federal Tax Code (in Spanish): taxpayers may check the authenticity of the CFDIs they receive on the SAT website. Rule 2.7.1.4 of the Resolución Miscelánea Fiscal for 2026, the SAT's annual rulebook, requires the SAT to offer a validation service where the data is entered invoice by invoice, a free bulk validation tool and a bulk download service.

What you need to validate an invoice

The lookup by folio asks for four mandatory fields:

  • Folio fiscal: the invoice's unique identifier, a UUID of 36 characters including hyphens, for example 5803EB8D-81CD-4557-8719-26632D2FA434.
  • RFC emisor: the tax ID (RFC, Registro Federal de Contribuyentes) of whoever issued the invoice. It has 12 characters for a company and 13 for an individual; see RFC and homoclave.
  • RFC receptor: the tax ID of the party the invoice was issued to. For a foreign customer with no Mexican registration this is normally the generic RFC XEXX010101000; for sales to the general public it is XAXX010101000.
  • The digits in the image: the security code displayed on the page.

The first three appear in the XML file and on the PDF. The form does not ask for the total or the digital seal: those travel inside the QR code printed on the invoice.

How to validate a SAT invoice step by step

  • Go to verificacfdi.facturaelectronica.sat.gob.mx. You do not need an account.
  • Keep the first option, "Consulta por Folio Fiscal" (lookup by folio), selected.
  • Type the folio fiscal with its hyphens, the RFC emisor and the RFC receptor.
  • Enter the digits from the image.
  • Click "Verificar CFDI".
  • Read the result and use the "Imprimir" (print) button to keep a record of the lookup.

Validate with the XML file or the QR code

The same page has a second option, "Consulta por archivo XML" (lookup by XML file). Click "Buscar", choose the invoice's XML file (up to 6 MB), enter the digits and verify. According to the SAT's e-invoicing support material (in Spanish), this option reviews the whole file, including its supplements, and detects whether the XML was modified or altered and whether its content matches the SAT's records. It is the most thorough check, and one more reason to ask Mexican suppliers for the XML and not just the PDF.

The third way is to scan the QR code on the printed invoice. The CFDI technical standard requires that code to contain the verification URL, the folio fiscal, both RFCs, the total and the last eight characters of the issuer's digital seal, so scanning it opens the lookup without typing anything.

What each result means

The service returns one of these results:

  • Found and Vigente (valid): the invoice is registered with the SAT and has not been cancelled. The page shows its basic data.
  • Found and Cancelado (cancelled): the invoice existed but the issuer cancelled it. It no longer supports the transaction.
  • Not found: the page shows the message "Este comprobante no se encuentra registrado en los controles del Servicio de Administración Tributaria, reporte la situación al emisor", that is, this invoice is not registered in the SAT's controls, report the situation to the issuer.
  • EFOS notice: the service flags issuers published on the SAT's list of companies that invoice simulated transactions (EFOS), kept under article 69-B of the CFF.

For a valid invoice the SAT also shows a cancellation status, which matters mostly to the issuer:

  • Cancelable sin aceptación: the issuer can cancel without the recipient's approval.
  • Cancelable con aceptación: the recipient gets the request in its SAT tax mailbox (Buzón Tributario) and has three business days to accept or reject it; silence counts as acceptance.
  • No cancelable: the invoice has at least one related document that is still valid.

The cases behind each status are in the SAT's CFDI cancellation scheme (in Spanish).

Why an invoice does not appear in the SAT

When the service cannot find an invoice there are only a few possible explanations. Check them in this order:

  • A typing error. Rule this out first: a letter O instead of a zero, a missing hyphen or a wrong RFC. Copy the values from the XML or use the lookup by XML file.
  • The RFC receptor is not the one you expect. If the supplier invoiced the generic foreign RFC or the general public instead of your own RFC, searching with your RFC will not find it.
  • The document was never stamped. A PDF with no folio fiscal and no SAT digital seal is a draft or pro forma, not a CFDI. The invoice only exists once a certification provider (PAC) validates it and assigns the folio.
  • It was stamped moments ago. Rule 2.7.2.8 requires the certification provider to send the CFDI to the SAT when it certifies it, so it should show up almost immediately; if you received it minutes ago, try again later before drawing conclusions.
  • It is a withholdings receipt. The CFDI de retenciones e información de pagos has a separate verification page, linked from the SAT support material above.
  • The invoice is fake: it looks like a CFDI but was never certified.

An invoice that is not registered lacks the folio and SAT seal that article 29-A of the CFF requires, and that article says amounts covered by receipts that do not meet the requirements cannot be deducted or credited. Do what the SAT message says: report it to the issuer, ask for the XML and validate again.

Valid does not mean deductible

The service confirms that the invoice exists at the SAT and has not been cancelled. It does not confirm the rest:

  • That the transaction is real. Article 29-A, section IX, of the CFF requires a CFDI to cover transactions that exist and are true; one that does not is considered false.
  • That the data is right: your RFC, name, tax regime, postal code and the CFDI use code (uso de CFDI). See CFDI use.
  • That it will still be valid tomorrow. The issuer can cancel an invoice after sending it to you, up to the month in which the annual tax return for the year of issue is due. Validate your expense invoices again before filing.

Checking many invoices, or all of your own

For volume, the SAT publishes a CFDI lookup web service that needs no authentication and that accounting and invoicing systems call for each invoice. Its technical documentation (in Spanish) says it returns the invoice status, whether it can be cancelled and whether the issuer is on the EFOS list.

Taxpayers registered in Mexico can also list every invoice they issued or received. On sat.gob.mx go to Trámites y servicios, then Factura electrónica, Servicios de factura and Consulta, cancela y recupera, and sign in with RFC and password or with the e.firma (the SAT's electronic signature). From there you can filter by folio fiscal or issue date and download the PDF or XML.

Keep the XML of every invoice you deduct so you can repeat the check at any time. Invoices you issue from Cretia's invoicing module come with their XML and PDF. Cretia is not a PAC: a certified PAC stamps the CFDI.

FAQ

How do I check if a Mexican invoice is valid?

Go to verificacfdi.facturaelectronica.sat.gob.mx, enter the folio fiscal (UUID), the issuer's RFC, the recipient's RFC and the digits in the image, and click "Verificar CFDI". You can also upload the XML file or scan the QR code on the invoice.

Do I need a SAT account to validate an invoice?

No. The verification service is free and needs no login, password or e.firma. Anyone holding the invoice data can run the check, from inside or outside Mexico.

What is the folio fiscal or UUID of a SAT invoice?

The folio fiscal is the unique identifier the invoice receives when it is certified. It is a UUID of 36 characters including hyphens and appears in the XML and on the PDF.

Why does my invoice not appear in the SAT?

Usually because of a typing error in the folio or an RFC, because the invoice was issued to a different RFC than the one you searched with, or because the document was never stamped and is only a PDF draft. If the data is right and it still does not appear, the invoice is not registered with the SAT.

What does "vigente" mean on a CFDI?

Vigente means the invoice is registered with the SAT and has not been cancelled. It does not guarantee deductibility: the transaction must be real, the data must be correct and the issuer can still cancel it later.

Continue to Cretia’s Electronic invoicing module

Simplify your business with Cretia

Invoicing, CRM, accounting and more. All in one platform.

Start for free