CFDI Status Query Web Service

Check the status of a CFDI before and after submitting it for cancellation: you will know whether it can be cancelled directly or whether you first need to query its related CFDIs.

✓ Before you start
1 Have the CFDI data at hand: issuer RFC (re), receiver RFC (rr), total (tt), UUID (id) and the last 8 characters of the issuer’s seal (fe).
2 Query it before cancelling to know whether the CFDI can be cancelled directly or whether you first need to query its related CFDIs, and after submitting it for cancellation to see how it ended up.
3 This is a SOAP service: the request and the response travel as XML, not JSON.

URLs

Select your active environment. The copy buttons and the code examples below are built with the base URL you choose here.

💡 Important note: the production query service is SOAP-based and is provided directly by the SAT.
🚨 Important: the testing query service is SOAP-based and is emulated by SW: it will only return a response for valid or cancelled invoices issued in our testing environment.

🔗 Endpoint

POST
💡 Note: this service does not use an Authorization header and requires no token.

Request Example


        

Response

The service returns the values of the response fields (CodigoEstatus, Estado, EsCancelable, EstatusCancelacion) in Spanish, so they are shown here exactly as received.


        
💡 Important note: this service always responds with HTTP 200. If any value is incorrect you will not receive a 400 error: it is reflected in the content of the response (for example, CodigoEstatus with N - 601 and Estado set to No Encontrado). Always check those fields.

📋 Possible response values

The CodigoEstatus, Estado, EsCancelable, EstatusCancelacion and ValidacionEFOS fields can return the following values. The API returns these values in Spanish, exactly as listed.

Field
Possible values
CodigoEstatus
S Invoice successfully retrieved.
N - 601 The printed expression provided is not valid. This response code is returned when the validation request did not follow the defined format.
N - 602 Invoice not found. This response code is returned when the invoice UUID is not found in the SAT database.
Estado
VigenteCanceladoNo Encontrado
EsCancelable
Cancelable con aceptaciónCancelable sin aceptaciónNo cancelable
EstatusCancelacion
(null)En procesoPlazo vencidoSolicitud rechazadaCancelado sin aceptaciónCancelado con aceptación
ValidacionEFOS
100 The issuer’s RFC is on the list of Companies that Invoice Simulated Transactions (EFOS, per its Spanish acronym). Relate it to this message: “The issuer of the verified invoice is published in the list of companies that invoice simulated transactions in accordance with paragraphs one through five of Article 69-B of the CFF (Federal Tax Code).”
200 The issuer’s RFC is not on the EFOS list.
The 5 parameters are sent together, as a single string, inside the expresionImpresa node of the SOAP request: ?re=…&rr=…&tt=…&id=…&fe=…
This service does not take path parameters: all the information goes in the body of the SOAP request.

In SW® we strive to be the best for You, wich is why your opinion is very important. Please help us by rating this article and leaving your comments.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Updated on octubre 8, 2026

Related Articles