Skip to main content

Cancellation motives (CFDI 4.0)

Since 2022, every cancellation requires a motive:

Cancel a CFDI

string
required
Identifier of the document to cancel. You’ll find it in the Id field in the invoice issuance response or when querying issued invoices.
string
required
For API Web, use issued for income, expense, and complement invoices, and payroll for payroll receipts.
string
Cancellation motive, explained in the table above (01, 02, 03, 04).
string
UUID of the receipt that replaces the cancelled one (only required for cancellation motive «01 - Receipt issued with errors with a related document»).
Using the uuidReplacement field when it is not required can cause errors or prevent the invoice from being cancelled, even if a null or empty value is assigned.
In sandbox, only invoices that use the RFC EKU9003173C9 as the issuer can be cancelled.
Example — Motive 02 (no substitute):
Example — Motive 01 (with substitute CFDI):

Response to a cancellation request

  • Status Cancellation status.
    • canceled Cancelled.
    • active The CFDI is still valid; the cancellation did not take place.
    • pending Awaiting acceptance from the receiver.
  • Message Detail of the cancellation status.
  • IsCancelable Indicates whether the invoice is cancellable and under what conditions, or if it is not cancellable.
    • Cancelable sin aceptación
    • Cancelable con aceptación
    • No cancelable
  • Uuid UUID of the CFDI to cancel.
  • RequestDate Cancellation request date.
  • ResponseDate SAT response date.
  • ExpirationDate Deadline by which the receiver can issue a response.
  • AcuseXmlBase64 Acknowledgement XML in Base64 format.
  • AcuseStatus Cancellation status code.
  • AcuseStatusDetails Description of the cancellation AcuseStatus.

Cancellation flow

Depending on the amount and the receiver, the cancellation may require acceptance:
Immediate cancellation (without acceptance):
  • CFDIs issued the same day, within the first 3 days
  • Amounts less than 1,000 MXN
  • Payroll and Transfer CFDIs
Require receiver acceptance:
  • CFDIs with higher amounts or issued more than 3 days ago

Check the status of a CFDI

Query parameters

string
required
Unique identifier of the CFDI.

Successful response

The Status field in the response indicates the current status within Facturama:

Get the cancellation acknowledgement

After a successful cancellation:
string
required
Format of the file to retrieve (pdf|html).
string
required
CFDI type.
string
required
CFDI identifier.
Returns the cancellation acknowledgement issued by the SAT in Base64.
In sandbox, cancellations are immediate and do not require receiver acceptance.