Skip to content

Internal Orders

A shop or a branch asks the central warehouse: "bring these items to us". An internal order is that request: from which location, to which one, and how much of what.

Where to find it: Modules → Stock → Registers → Internal Orders

The document itself does not move stock and makes no GL transactions: after it is saved, no stock level changes anywhere. The goods are moved by a stock movement created from the order. The order remembers what of the request is already in progress, what has arrived and what is left.

The route

  1. The request. Create an internal order: "From Location" — where to take the goods from, "To Location" — where to bring them (your own location by default), and in the rows — the item and "Qty".
  2. The movement. In the order window, the menu item "Create stock movement" creates a draft stock movement "From Location" → "To Location" for the remainder of each row — whatever has not yet gone into other movements. The item works only with a saved order: in a new window or one open for editing it answers "Save the record!".
  3. Posting. Once the movement is posted, the goods have moved. The order sees it by itself.

An order can be fulfilled in parts — by several movements, each for what is left. With one exception: if the setting says "Close by the first stock movement", the order closes right after the first one, and no new movement can be created from it (see "Closing").

What the rows count

Row counters are kept by the server — nobody edits them by hand. They are recounted every time a linked movement is saved or deleted:

  • "Treated" — how much of this row is in all linked movements, drafts included;
  • "Deliv." — only in posted movements;
  • "Outstanding" (a checkbox in the header) — the order is open and something in it has not been moved yet.

Closing

An order is closed with the "Closed" checkbox — by hand or automatically, as set in the internal order settings:

  • "Close internal orders manually" — only by the checkbox;
  • "Close by the first stock movement" — as soon as the first movement appears, even a draft or a partial one;
  • "Close when all items are moved" — when at least the ordered quantity has been posted in every row.

A trap of the "Close by the first stock movement" mode: the order closes already on a draft movement. If that draft is deleted later, the order still stays closed.

A closed order never reopens, in any mode — neither by itself nor by hand: the "Closed" checkbox can no longer be cleared. Only the comment can still be edited. So closing by hand is final too — tick the checkbox only when the order is really finished. To order the rest, duplicate the order (see Duplicating a document: what is copied and what is not). The duplicate starts with zero counters, but its "Qty" is the same as in the original, not the remainder: reduce it to what is still needed, otherwise you order everything again. The date and "User" are also taken from the original — check them before saving.

What the system will not allow

  • "From Location" and "To Location" being the same location;
  • "Qty" that is zero, negative or less than what is already "Treated";
  • saving an order with an empty "Date" or "To Location" field ("To Location" comes from your user card; if it has none, choose the location yourself);
  • a set (kit) in a row;
  • a terminated item — in a new row or in place of another item in a row (in rows that were already there it stays, and their quantity can still be changed);
  • deleting a row that is already in movements, or changing its item;
  • deleting an order from which a movement has already been created;
  • "Create stock movement" when everything ordered is already in movements — drafts count too (the remainder is "Qty" minus "Treated").

Without "From Location" the order will save, but no movement can be created from it — set the source location first.

Do not change the number of an order that already has movements, and keep the locations of such a movement the same as in the order.

Typical situations

The rules below apply to a stock movement created from an order: they are the same for the menu item, the movement window and the API.

You added a new row to the movement. Refusal "Row 3 does not belong to internal order 12! A movement created from an internal order can contain only its rows". This happens even for an item that is in the order: the added row is not linked to the order — change the quantity in the row that came from the order. Such a movement carries only what was requested. Move the rest with a separate movement, without an order number.

You changed the item in a movement row. Refusal "Row 2: the item differs from the internal order row (…)!", with the order's item code in brackets. The row's item comes from the order. The item of an order row can be changed only while that row is in no movement at all: if a different item has to go, first remove this row from the movement or delete the draft movement itself, then change the item in the order row and use "Create stock movement" again (while the order is not closed). Or make a separate movement without an order number.

You increased the quantity. Refusal "Row 1: the quantity is greater than ordered in internal order 12 (ordered 10, in other movements 6)!". All movements of this order count, drafts included. In the example this movement can carry at most 4. A minus in a row is refused separately: "The quantity cannot be negative", and a zero — «Field "Qty" is required!».

You entered the number of a closed order in a new movement. Refusal "Internal order 12 is closed! Duplicate the order to request the remaining items". A draft linked before the order closed can still be edited and posted: in the "Close by the first stock movement" mode it is exactly that draft that closes the order.

You removed the order number from the header, but its rows stayed. Refusal "Row 1 has an internal order link, but the document has no internal order number!". Put the number back or delete those rows and add the items again.

A mistyped order number. Refusal "Internal order '99' was not found! Check the internal order number".

Where to look next