Overview
These codes apply when requesting cancellation of a Mexican CFDI. Choose the reason that matches the transaction. A submitted cancellation request can remain pending; HTTP200 alone does not establish that the fiscal document is cancelled.
Cancellation Motives Table
What We See
The cancel operation usesDELETE /invoices/{id} with
motive and, when applicable, substitution_uuid at the top level. The ID in the URL
identifies the invoice; do not send an invoice_uuid or cancellation wrapper.
How to Use It
Before changing anything, retrieve the original invoice, identify any related complements or replacement documents, and confirm the team and mode. A refund, a credit note, and cancellation are separate operations with separate results. Use Credit note, refund, or cancellation? to choose the API task.Detailed Motive Explanations
Motive 01: Error with Substitution
Issue the corrected CFDI with relationship04 referring to the original UUID.
Then request cancellation of the original with motive 01 and the new UUID in
substitution_uuid. The relationship code 04 and cancellation motive 04
come from different catalogs and mean different things.
Motive 02: Error without Substitution
This motive describes an error without a related replacement in the cancellation request. It does not prove the sale vanished or that no corrected invoice will be needed. Follow the case-specific procedure in the SAT’s cancellation guidance.Motive 03: Operation Not Completed
Use this for an operation that did not take place. A late or declined payment by itself does not establish that the underlying sale or service never occurred. Returning any money already received requires a separate refund or bank action.Motive 04: Global Invoice Customer Request
A CFDI is cancelled as a document; this is not a partial cancellation of one line while the original global invoice remains valid. The SAT’s questions 6 and 10 describe cancellation of the original global invoice, a new global excluding the sale that needs its own CFDI, and the individual customer invoice. See the SAT cancellation FAQ.Implementation Examples
API Request Examples
These are the complete JSON bodies for the cancellation operation, not full shell commands. Select an actual invoice and the applicable motive deliberately. For motive01, replace the placeholder with the already-issued replacement UUID:
Business Scenarios and Decision Matrix
Important Considerations
SAT Approval Process
Whether cancellation needs recipient acceptance depends on the applicable SAT rules and the document’s circumstances; do not infer automatic acceptance from the motive alone. Read the returned cancellation state, then retrieve the invoice again. For Mexican invoices, look for the resultingcancellation_status and document
status; an accepted cancellation should be distinguished from a still-valid,
pending request. A later read can differ from the initial provider response.
Customer Impact
Only tell a customer that cancellation completed after verifying the final state. Preserve the original and replacement UUIDs and any cancellation receipt for reconciliation. This catalog does not describe Colombian annulment; use Colombia.Error Prevention
- A
403mode mismatch requires the key for the invoice’s mode, not a different motive. - A
422for an imported invoice means it must be cancelled through its original issuer/provider. - If a request times out, retrieve the existing invoice before submitting another cancellation.
- If a provider rejects cancellation, preserve its actual message and examine the related documents.
- Do not delete payment history or assume balances/refunds were corrected because cancellation was requested.
Cancellation Workflow Examples
Error Correction Workflow (Motive 01)
- Read the original invoice and confirm the correction needed.
- Issue the corrected replacement with relationship
04to the original UUID. - Request original cancellation with
motive: "01"and the replacement UUID. - Retrieve the original and verify the resulting cancellation state.
- Reconcile both UUIDs and communicate the actual result.
Simple Cancellation Workflow (Motive 02/03)
- Confirm the motive represents the actual operation and record the original UUID.
- Submit the cancellation request.
- Retrieve the invoice and inspect the final state; pending is not completed.
- Handle any replacement or money return separately if the case requires it.
Global Invoice Conversion Workflow (Motive 04)
- Identify the original global CFDI and the exact sale to separate.
- Request cancellation of the original global CFDI with motive
04; verify its result. - Issue the replacement global CFDI excluding that sale.
- Issue the customer’s individual CFDI for that sale.
- Reconcile all UUIDs and totals so the same sale is not counted twice.