> ## Documentation Index
> Fetch the complete documentation index at: https://docs.transitive.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel a CFDI

> Cancel a CFDI with motive 02 or 03, and read the result.

Use this procedure to cancel a CFDI without a replacement. To cancel a CFDI and stamp a replacement, refer to [Replace a CFDI](/guides/replace-a-cfdi).

## Before you start

Select the motive. Use motive **02** or **03** in this procedure. Refer to [Choose a cancellation motive](/guides/choose-a-cancellation-motive).

## Cancel a CFDI

<Steps>
  <Step title="Open the document">Open the document in the correct environment.</Step>

  <Step title="Select Cancel">
    Select **Cancel**. If the version has two valid CFDIs, select the CFDI by its UUID.
  </Step>

  <Step title="Select the motive">
    Select motive **02** or **03**. Then confirm the cancellation.
  </Step>

  <Step title="Wait for the answer">
    The status changes to **Waiting for response**. The CFDI stays valid until the SAT cancels it.
  </Step>
</Steps>

## Results

| Result | Status | What to do |
| - | - | - |
| The SAT cancels the CFDI. | **Cancelled** | No action. To stamp again, use **Stamp**. |
| The receiver or the SAT does not accept. | **Cancellation didn't go through** | Read the timeline. Cancel again if necessary. |

## Receiver acceptance

In some conditions, the receiver must accept the cancellation. Then the timeline shows **Waiting for the receiver to accept the cancellation**. You can tell the receiver to accept it.

If the receiver does not accept or reject in time, the result depends on the SAT rules. Transitive does not use the time to find the result. It reads the status of the CFDI at the SAT and shows that result.

## When you can cancel

**Cancel** is available on a valid CFDI that Transitive stamped. It is not available in these conditions:

* A cancellation of that CFDI is open.
* A different system stamped the CFDI. Cancel it in that system.
* The CFDI is cancelled.

<Note>There is no separate retry. To try a cancellation again, use **Cancel** again.</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.