# Reservation on POS

**URL:** https://discuss.tryton.org/t/reservation-on-pos/9404
**Category:** Feature
**Tags:** sales
**Created:** [September 23, 2026, 3:06pm UTC](https://discuss.tryton.org/t/reservation-on-pos/9404 "2026-09-23T15:06:26Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [September 23, 2026, 3:06pm UTC](https://discuss.tryton.org/t/reservation-on-pos/9404/1 "2026-09-23T15:06:26Z")

</div>

## Rationale

Some businesses are using POS, but they do not always have the products on hand. For example, it is frequent in pharmacies that they are missing some drugs from a prescription, but they will order them from the supplier for the afternoon or the next day.  
Such businesses need a way to reserve those products (to be supplied) and keep track of them to finish the sale later.

## Proposal

In a new module `sale_point_reservation`:

- on sale, we add a `Float` field `quantity_on_hold` which stores the quantity not delivered.
- a state ‘On Hold’ is added between “Open” and “Done” (available only if there is some quantity on hold). It sets a number to the sale and creates draft stock moves for the lines (which are deleted if reset to “Open” or cancel).
- a wizard is added to the line to decrease the `quantity_on_hold` of the delivered or not delivered quantity. And the reservation stock move is updated accordingly.
- the `amount_to_pay` does not include the quantity on hold.
- the sale is forbidden to go to “Done” until all the quantity on hold is delivered.
- a delay is configured and a deadline is set to keep the reservation. A scheduled task removes the reservation when it is passed.

## Implementation
