# One-time sales

A one-time sale is single, non-recurring, charge for a product or service.
Example: A one-time purchase of an internet modem.

This topic describes the current order model.

In the legacy order model, `status` is `pending`, `abandoned`, `completed`, or `canceled`.
The `billingStatus` field contains the status of the most recent invoice.
If the order has no recent invoice, `billingStatus` is `unpaid`.

In the current order model, `status` is `pending`, `voided`, `completed`, or `abandoned`.
One-time sales items do not have a separate status.
One-time sales items do not include `billingStatus`.
For more information, see [Legacy orders model](/docs/glossary#legacy-orders-model).

## One-time sale status

The statuses in this section describe an order that contains only one-time sale items.
A one-time sale item has no status.

One-time sale example: Buying a bag of coffee for 5 USD.

The following are all statuses.

| **Status**  | **Description** |
|  --- | --- |
| `pending` | A customer requests one or more one-time sale items in an order. |
| `completed` | The customer pays the order invoice.
An abandoned order is completed when the customer pays the invoice. |
| `voided` | A pending order is voided before the customer pays. |
| `abandoned` | A pending order is not activated before the abandon time.
For more information, see [Configure automatic abandonment of pending orders](/docs/dev-docs/orders#configure-automatic-abandonment-of-pending-orders). |


### Status transitions

```mermaid
%%{init: {"flowchart": {"htmlLabels": false}}}%%
graph LR;
    A(1 Pending) --> |Invoice is paid| B(Completed)
    A --> |Order is voided| C(Voided)
    A --> |Abandon time is reached| D(Abandoned)
    D --> |Invoice is paid| B
```

1. A customer requests one or more one-time sale items in an order.
The order is `pending`.
2. The order changes in one of the following ways:
  - The customer pays the invoice.
The order is `completed`.
  - A pending order is voided before the customer pays.
The order is `voided`.
  - A pending order is not activated before the abandon time.
The order is `abandoned`.
  - An abandoned order is `completed` when the customer pays the invoice.


## Related resources

- [Orders API operations](/docs/dev-docs/api/orders/)
- [Invoices API operations](/docs/dev-docs/api/invoices/)