Skip to content

Make an exit

An exit sends goods away: it starts from one of your internal locations and goes to a virtual location — the customer. It is the operation that consumes the batches opened by your entries, and the only one the available stock can refuse. This guide follows it from the draft to the consumed batches.

Prerequisites

  • The Inventory module activated for your organization
  • The STOCKS.OPERATION.WRITE permission
  • An operation type of the Client (customer) category in the current warehouse
  • Available stock in the source location

Steps

1. Open a new operation

On the Dashboard, the Record an exit shortcut looks in the current warehouse for the operation type named Deliveries and opens New operation on it. Without that type: No "Deliveries" operation type in this warehouse.

2. Fill in the header

An exit asks for the Partner — the customer —, the Source document, possibly Deferred and its Planned date, then the two locations, preset on those of the type:

  • Source location — necessarily internal: you only take out of your own place;
  • Destination location — necessarily virtual.

The direction of the exit is checked

A virtual source is refused — "You must pick an internal location as the source location" — and an internal destination too — "You must pick a virtual location as the destination location". A parent location cannot be the destination: "A parent location cannot serve as the destination of an operation".

The exit is the only one to accept a parent as its source

A location that carries children may serve as the source of an exit: the module then draws from its child locations, starting with the one whose stock arrived first.

3. Add the item lines

Add opens Add an item line:

  • Item — mandatory;
  • Quantity — mandatory, strictly positive;
  • Unit sale price — mandatory; the table shows Use the cost price when it is zero, and the module then values the movement at the cost of the consumed batch, or at the WAC of the item if that is the method that applies;
  • Batch to use — optional; the search offers only the batches available for that item in the source location. Left empty, the table shows To be determined.

4. Validate then execute

Like any operation: Create saves the draft and gives it its reference, Validate moves it to the Operations to perform, Execute writes the stock — or Save & Execute to chain them.

The stock is checked on execution, not on entry

A draft accepts any quantity; it is the execution that decides, and the refusal names the item and both quantities: "The stock of item Sugar 1kg is exhausted. In stock: 12.0 / To withdraw: 20.0". Nothing is written: correct the line, or bring the goods in first.

5. Understand which batches the stock is taken from

When the line designates no Batch to use, the module consumes the batches of the source location in FIFO order: the oldest first, then the next one, until the requested quantity is covered. A single line may therefore write several movements, one per batch started — the Movements screen shows it, and the Batches used action details each movement.

What the module refuses on the batches

  • "LIFO is not supported" — only FIFO is in service for the consumption of the batches.
  • "No batch is left in location Shelf A for item Sugar 1kg" — the displayed stock and the batches no longer agree.
  • "Location Shelf A does not hold batch LOT-0007" — the designated batch is not there.
  • "Batch LOT-0007 does not hold enough Sugar 1kg in location Shelf A" — it is there, but not in sufficient quantity.

6. Do not replay what is done

An executed operation is closed: it no longer has a save button, it is not deleted — "You cannot delete an executed operation" — and a movement already written refuses to have its batch changed: "The movement has already been executed".

To come back on an executed exit, the module writes the reverse operation through the return type declared on the operation type. Without it, the cancellation is refused, and an operation already canceled is not canceled twice.

What next?

Changelog

  • 1.0 (August 18, 2026): document created.