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

# Cancel a work order

> Cancel a job and know what gets cleaned up and what gets voided

export const Touches = ({systems}) => <p>
    <strong>Systems involved:</strong>{" "}
    {systems.split(",").map((s, i) => <span key={s}>
        {i > 0 ? " · " : ""}
        <a href={"/systems/" + s.trim()}>{s.trim().replace(/-/g, " ")}</a>
      </span>)}
  </p>;

<Touches systems="zoho-crm, supabase-backend, quickbooks, the-7am-app" />

Cancel the work order in Zoho and the engine cleans up behind it: open appointments are cancelled here and in Zoho, checklists that were never completed are removed, and an invoice that has taken no money is voided. Completed work is never touched.

## Before you start

* The work order open in Zoho.

## Steps

<Steps>
  <Step title="Set the status">
    Set **Status** to **Cancelled** and save.
  </Step>
</Steps>

## How you know it worked

* Every appointment on the job that was not already completed shows **Cancelled** in Zoho. A completed appointment stays completed.
* The checklists on those appointments are gone, unless they were completed.
* Each technician on a cancelled appointment gets an **Appointment Cancelled** push.
* If the job was already invoiced, the invoice reads Void here and in QuickBooks. An invoice that has taken any money, part or whole, is left standing instead: that is a business decision for a person. A payment still running on the pay page holds the void back until it finishes. See [Void an invoice](/handbook/invoicing/void-an-invoice).
* The work order's billing status is not changed by the cancel. It keeps the value it had.

## Related

* [How booking works](/handbook/booking/how-booking-works)
* [Void an invoice](/handbook/invoicing/void-an-invoice)
