*Overview › Core concepts*

# Statuses

> Most statuses are closed lists of text values. For orders, the field shows one of 12 raw statuses while the list filter uses seven broader buckets.

A new value would be a documented, additive change, so a client should tolerate a value it does not know. The statuses of credit notes and proformas are not closed lists at all: they are free text, so tolerate any value there. The tables below are the ones an integrator needs most; the generated table at the end lists every status enum. The app's own view of the order lifecycle is in [Order lifecycle](https://www.filmo.io/help/reference/orders/create-and-build-an-order/order-lifecycle-and-statuses).

## Orders

**Order statuses: 12 raw values, 7 filter buckets**
- draft → draft
- reserved → reserved
- prepared_partially, prepared → prepared (Includes partial preparation.)
- picked_up → in_use (Picked up or in use.)
- returned_partially, returned, checked_in_partially → returned (Includes partial return and partial check-in.)
- checked_in → completed (Checked in and completed.)
- cancelled → cancelled
- The filter description places picked_up_partially and archived in no bucket. archived is one of the DTO's values, but an archived order can be neither listed nor read.

The `status` field of an order shows the raw status, one of 12 values. The `status` filter of [`GET /api/v1/orders`](https://docs.filmo.io/rest-api/endpoint-reference/orders/list-orders) uses operational buckets, the same view as the app. Do not send a raw value to the filter or expect a bucket in the field.

| Raw status (field) | Filter bucket |
| --- | --- |
| `draft` | `draft` |
| `reserved` | `reserved` |
| `prepared_partially`, `prepared` | `prepared` (includes partial preparation) |
| `picked_up` | `in_use` (delivered or in use) |
| `picked_up_partially` | `in_use`. The spec's wording lists only picked up, so if you need exactly this status, read the orders and check the raw status yourself |
| `returned_partially`, `returned` | `returned` (includes partial return) |
| `checked_in_partially` | `returned` (includes partial check-in) |
| `checked_in` | `completed` (checked in and completed) |
| `cancelled` | `cancelled` |
| `archived` | None. Filmo never produces this value: an archived order is no longer visible to the API, is not listed, and its GET answers 404 |

To filter by several buckets at once, use [`statuses`](https://docs.filmo.io/rest-api/endpoint-reference/orders/list-orders#param-statuses), a list of up to 50 values that returns what matches any of them.

## Invoices

**Invoice and quote statuses**
- Invoice status: draft (A draft.); validated (Validated and numbered.); voided (Voided.)
- Invoice paymentStatus: unpaid (Nothing collected yet (also for invoices without a recorded collection).); partially_paid (Collected in part.); paid (Collected in full.); overpaid (Collected above the total.); overdue (Past due and unpaid.); voided (The document is voided.)
- Quote status: draft (A draft.); validated (Validated and numbered.)
- Quote operativeStatus: pending (Awaiting an answer.); confirmed (Accepted.); cancelled (Rejected or cancelled.); superseded (Replaced by another version.)
- The two statuses of each document are independent: one says where the document is in its lifecycle, the other how its payment or its commercial answer stands.

An invoice has two fields. `status` is the document lifecycle; `paymentStatus` is the payment state. The list filter [`paymentStatus`](https://docs.filmo.io/rest-api/endpoint-reference/invoices/list-invoices#param-paymentStatus) uses the same values the `paymentStatus` field returns, and [`GET /api/v1/invoices`](https://docs.filmo.io/rest-api/endpoint-reference/invoices/list-invoices) returns documents of type invoice only.

| Field | Value | Meaning |
| --- | --- | --- |
| `status` | `draft` | Not yet validated |
| `status` | `validated` | Validated and numbered |
| `status` | `voided` | Voided |
| `paymentStatus` | `unpaid` | Nothing collected yet, also for invoices without a recorded collection |
| `paymentStatus` | `partially_paid` | Part of the total collected |
| `paymentStatus` | `paid` | Collected in full |
| `paymentStatus` | `overpaid` | Collected above the total |
| `paymentStatus` | `overdue` | Past due and unpaid |
| `paymentStatus` | `voided` | The document is voided, whatever was collected before |

## Quotes

A quote also has two fields, and the detail flattens the active version of the quote. `status` is the document lifecycle of that version; `operativeStatus` is the commercial status, and [`PATCH /api/v1/quotes/{quoteId}/status`](https://docs.filmo.io/rest-api/endpoint-reference/quotes/change-the-commercial-status-of-a-quote) changes it. Confirming a version leaves the others as `superseded`.

| Field | Value | Meaning |
| --- | --- | --- |
| `status` | `draft` | Not yet validated |
| `status` | `validated` | Validated and numbered |
| `operativeStatus` | `pending` | Awaiting a reply |
| `operativeStatus` | `confirmed` | Accepted |
| `operativeStatus` | `cancelled` | Rejected or cancelled |
| `operativeStatus` | `superseded` | Replaced by another version |

## All status enums

This table is generated from the spec and lists the status enums of every resource, including projects, tasks, contracts and the rest.

| Field | Values |
| --- | --- |
| `ContactDto.status` | `active`, `inactive`, `archived` |
| `ContactDetailDto.status` | `active`, `inactive`, `archived` |
| `RelatedContactDto.status` | `active`, `inactive`, `archived` |
| `OrderDto.status` | `draft`, `reserved`, `prepared_partially`, `prepared`, `picked_up_partially`, `picked_up`, `returned_partially`, `returned`, `checked_in_partially`, `checked_in`, `archived`, `cancelled` |
| `OrderDetailDto.status` | `draft`, `reserved`, `prepared_partially`, `prepared`, `picked_up_partially`, `picked_up`, `returned_partially`, `returned`, `checked_in_partially`, `checked_in`, `archived`, `cancelled` |
| `OrderLineDto.status` | `draft`, `reserved`, `prepared`, `picked_up`, `sold`, `returned`, `checked_in`, `cancelled`, `lost` |
| `InvoiceDto.status` | `draft`, `validated`, `voided` |
| `InvoiceDto.paymentStatus` | `unpaid`, `partially_paid`, `paid`, `overpaid`, `overdue`, `voided` |
| `InvoiceDetailDto.status` | `draft`, `validated`, `voided` |
| `InvoiceDetailDto.paymentStatus` | `unpaid`, `partially_paid`, `paid`, `overpaid`, `overdue`, `voided` |
| `QuoteDto.status` | `draft`, `validated` |
| `QuoteDto.operativeStatus` | `pending`, `confirmed`, `cancelled`, `superseded` |
| `QuoteDetailDto.status` | `draft`, `validated` |
| `QuoteDetailDto.operativeStatus` | `pending`, `confirmed`, `cancelled`, `superseded` |
| `ProjectDto.status` | `draft`, `budgeted`, `confirmed`, `in_progress`, `invoiced`, `completed`, `cancelled`, `archived` |
| `ProjectDetailDto.status` | `draft`, `budgeted`, `confirmed`, `in_progress`, `invoiced`, `completed`, `cancelled`, `archived` |
| `RepairTicketDto.status` | `draft`, `sent`, `partially_converted`, `fully_invoiced`, `closed` |
| `RepairTicketDetailDto.status` | `draft`, `sent`, `partially_converted`, `fully_invoiced`, `closed` |
| `VehicleDto.status` | `active`, `maintenance`, `inactive` |
| `SubrentDto.status` | `pending`, `active`, `completed`, `cancelled` |
| `PurchaseOrderDto.status` | `draft`, `pending`, `completed`, `cancelled` |
| `ContractDto.status` | `draft`, `validated`, `voided` |
| `ContractDto.operativeStatus` | `pending`, `signed`, `cancelled` |
| `OpportunityDto.status` | `open`, `won`, `lost` |
| `OpportunityDetailDto.status` | `open`, `won`, `lost` |
| `TreasuryAccountDto.status` | `active`, `needs_reauth`, `disconnected`, `archived` |
| `CreditNoteDto.status` | `draft`, `validated`, `voided` |
| `OrderLineReturnResultDto.status` | `returned`, `failed` |
| `UserDto.status` | `active`, `pending`, `inactive` |

---

Canonical URL: https://docs.filmo.io/concepts/statuses  
Last updated: 2026-10-09