---
title: "Delete an estimate"
description: "Breadcrumb kebab → Delete (red). Confirm in the modal. Wave hard-deletes the estimate — no undo, no trash, no recovery. Use Cancelled status if you want a reversible 'this didn't happen' state."
group: "estimates"
lane: "how-to"
status: "published"
publishedAt: 2026-05-15
sidebarOrder: 175
tags: ["workflow", "destructive", "how-to"]
relatedSlugs:
  - "estimates/change-status"
  - "estimates/lock-unlock"
  - "estimates/duplicate-estimate"
  - "reference/estimate-anatomy"
sidebarLabel: "Delete an estimate"
---

Delete is the **permanent** action on the breadcrumb kebab. Use it for accidental estimates, test data, and obvious duplicates — anything you want gone, not just out of view.

> **There is no undo.** No soft-delete, no trash, no recovery. Once you confirm, the estimate is gone.
>
> If you want a reversible "this job didn't happen" state, set the estimate's [status to Cancelled](/docs/estimates/change-status) instead.

## How to delete

1. Open the **breadcrumb kebab** (top-right of the estimate). The four actions are: Lock, Export, Duplicate, **Delete**.
2. Choose **Delete** (in red).
3. A centered confirmation modal appears:

   > **Delete Project**
   >
   > Are you sure you want to delete this project? This action cannot be undone.
   >
   > [Cancel] [Delete]

4. **Cancel** (ghost button) backs out — nothing happens.
5. **Delete** (red button) confirms — the estimate is hard-deleted.

## What happens on confirm

- Wave navigates back to `/estimates` (All Estimates).
- The estimate's row disappears from the list.
- Top-nav tab counters decrement atomically — **All Estimates** drops by 1, and the row's prior-status tab (Preliminary / Completed / Cancelled) drops by 1.
- The estimate, its chat history, its photos, and any associated data are removed.

## Delete vs. Cancelled

| Action | Reversible? | Where it lives | Use it when |
| --- | --- | --- | --- |
| **Cancelled** (status) | Yes — flip back from the status pill | Cancelled filter tab | The job isn't happening but you want a record |
| **Delete** (kebab) | **No** — gone | Nowhere; row is removed | The estimate shouldn't exist (test, accident, duplicate) |

If you're not sure, **set the status to Cancelled.** You can always Delete later. You can't un-Delete.

## Delete is greyed out while locked

If the estimate is [locked](/docs/estimates/lock-unlock), **Delete is disabled** in the kebab. Unlock first if you need to delete.

## Related

- [Change an estimate's status](/docs/estimates/change-status) — the reversible alternative (Cancelled)
- [Lock / unlock an estimate](/docs/estimates/lock-unlock) — why Delete might be greyed out
- [Duplicate an estimate](/docs/estimates/duplicate-estimate) — when you'd rather branch than delete
- [Estimate anatomy — breadcrumb kebab](/docs/reference/estimate-anatomy#breadcrumb-kebab) — all four kebab actions
