A stock transfer moves inventory from one branch, and optionally one company, to another, so that stock is on the books at every moment of the move. It sits between holding stock at the source and selling or using it at the destination. The usual form is two documents: an Outward transfer that the source creates and releases, and an Inward transfer that the release generates for the destination to receive and post. A Single Step transfer books both sides at once for moves that do not travel.
Overview
Every transfer is one header plus one set of lines, and the header's Type decides which lines it carries:
| Type | Who creates it | Lines | What moves the stock |
|---|---|---|---|
| Outward | You, a requisition release or a van-load release | Transfer Outward Lines | Release Outward or Selective Release Outward takes the quantity out of the source and puts it in transit to the destination. |
| Inward | Only the release of an outward transfer (or a van run) | Transfer Inward Lines, one per released line | Inward Recieve or Selective Inward Receive records what arrived; Post Inventory brings it into the destination's stock. |
| Single Step | You | Transfer Lines | Selective Transfer or Post Inventory posts the source and destination effects together. There is no in-transit stage. |
The two documents of a two-step move point at each other: the outward transfer's Inward Document and the inward transfer's Outward Document. Each one is a separate row in the transfer list.
When to use it
- Outward then inward. Use this when goods physically travel between branches or between companies in your organisation, and the destination should confirm what arrived.
- Single Step. Use this when the move is immediate, for example between two branches that share a building, and nobody needs to confirm a receipt.
- Not for a stock correction. Use an adjustment to correct stock in one place.
- Not for goods from a supplier. Supplier goods come in on a goods receipt.
How xMatix handles it
Nothing moves when you save. Creating a transfer or adding lines records intent only. Stock moves when a release or posting action runs, and each moved line is linked to its inventory ledger entry through Inventory Ledger.
What each action posts:
| Action | Ledger effect |
|---|---|
| Release on an outward line with Transfer Type On Hand Transfer | A Transfer Outward entry at the source for the quantity released in that run. The same quantity is added to an in-transit balance held against the destination branch, with no storage location. For a lot-tracked line it is also added to the destination lot's in-transit quantity. |
| Release on an outward line with Transfer Type Pending Deliveries Transfer | A Transfer Outward entry that reduces the source's pending-deliveries quantity instead of its on-hand stock. Nothing is put in transit. |
| Post Inventory on an inward transfer | For every inward line not yet posted: a Transfer Inward entry for the line's Quantity into the line's Storage Location, a matching reduction of the in-transit balance (and of the lot copy's in-transit quantity), and separate Shortage, Damaged and Excess entries where those quantities are above zero. For a line with Transfer Type Pending Deliveries Transfer, the Transfer Inward entry adds to the destination's pending-deliveries quantity instead, and there is nothing in transit to clear. |
| Selective Transfer or Post Inventory on a single-step transfer | A Transfer Outward entry at the source and a Transfer Inward entry into the destination's bin, each for the line's Quantity. At the destination, it also posts a Shortage entry for Quantity minus Received Quantity, a Damaged entry and an Excess entry, each where it is above zero. See Step 7 for how Received Quantity is filled in. |
Lots travel as copies. When an outward line with an Item Lot is released, xMatix creates a copy of the lot for the destination. The copy has the same batch, serial number, cost, MRP and dates. It belongs to the To Branch and the To Partner Account, or to the From Partner Account when no destination company is set. The outward line's Related Item Lot points at the copy, and the generated inward line carries it as its Item Lot.
Three ways to read progress:
- Progress Details on the transfer shows Outward Released, Inward Received and IL Posted. They are calculated from the lines, so they are always current. Outward Released means no outward line has pending release quantity. Inward Received means every inward line is received. IL Posted means every line has a ledger entry.
- Status drives the stepper at the top of the record. It starts as Draft. Two seeded business rules move it: to Released when every outward line is fully released, and to Received when every inward line is received, every outward line's Closed Quantity has reached its Quantity, or every single-step line is posted. These rules run when the transfer is saved, so the stepper can trail an action until the next save. The values Pending Approval - Outward, Approved - Outward, Pending Approval - Inward and Approved - Inward are set by nothing seeded. They are there for an approval process your administrator builds.
- Document State is a read-only field that records the last lifecycle action that did something: Draft, Outward Released, Inward Received or Inventory Posted. It is not on the seeded screens. An administrator can add it as a list column.
Prerequisites
- Access to the Inventory app or the Warehouse app. Both have a Transfers tab showing the same list.
- A security profile that lets you create transfers and run the actions you need (see Permissions).
- The source and destination branches. For a transfer between companies, also the destination company.
- Stock of each item at the source. Release does not check that the source holds enough, so check the Item 360 stock card on the line's Quick Add form before you release.
- If you name a Transferred By or Received By person, they must be assigned to the source company and branch, or have no assignment that excludes them (see Resources).
Procedure
Step 1 — Create the transfer

- Open Inventory → Transfers (or Warehouse → Transfers) and select New.
- Fill in From Partner Account and From Branch, the source.
- Fill in To Branch, the destination. Fill in To Partner Account only when the destination is a different company. Leave it blank for a move inside one company.
- Set Type to Outward for a two-step move, or Single Step for an immediate one. You cannot choose Inward: saving an Inward transfer by hand is refused with Inward Document cannot be generated without an Outward Transfer Document.
- Optionally, under Additional Details, fill in Transferred By (who sends the goods) and Received By (who will accept them).
- Select Save.

The transfer opens on its record page with Status Draft and a number such as TR-11102026-000001 in Document Number. Document Date and Transfer Time are set to the moment of saving. Any Transfer Time you typed on the New form is replaced, but you can change it afterwards with Edit. Document Date cannot be changed.
Step 2 — Add the outward lines

- On the Lines tab, select Quick Add. The form asks for three things:
- Transfer Type. It defaults to On Hand Transfer. Choose Pending Deliveries Transfer only to move stock that is already committed to deliveries.
- Item. It must be an active item.
- Quantity. It cannot be negative.
Beside them, the Item 360 card shows the item's stock at the transfer's From Branch. Open it to compare the stock with the quantity you plan to send.
- Save the line. It gets a number such as
TOL-22102026-000001in Name. - Open the line from the list. On the line's record page, fill in what the quick form does not ask for. These fields edit in place:
- Item SKU.
- Item Lot Type and Item Lot, for items that track lots. The Item Lot picker lists every lot, not only this item's lots at the source, so check that you pick a lot of this item held at the From Branch.
- Storage Location, the bin the goods leave from. This picker is not filtered by branch either.
The Lines tab lists each line's Name, Transfer, Transfer Type, Item, Item SKU, Item Lot, Storage Location and Quantity. Use Edit or Delete on a row to change or remove a line.
Items that need a SKU. If the item has SKU Required set, saving the line is refused with SKU is required for this item. The seeded Quick Add form has no Item SKU box, so such items cannot be added by hand until your administrator adds Item SKU to the Transfer Outward Line create layout (see Configuration). Lines that a requisition release creates already carry the SKU.
Stock on the line's record page. Stock Available and Stock In Hand under Inventory Details read one stock record for the item at the source. It is matched when the line is first saved and can belong to a different bin from the line's Storage Location. Each shows 0 when no record was matched. After the release, it is the record of the bin the goods left from. For the full picture, use the Item 360 card or the stock balances.
The line's quantity trail stays readable through partial moves:
- Released Quantity is the running total dispatched.
- Pending Release Quantity is Quantity minus Released Quantity, so it is what is still on the shelf.
- Closed Quantity is what the destination has received.
- Pending Inward Quantity is Released Quantity minus Closed Quantity, so it is what is still on the road.
Step 3 — Release outward
When the goods leave, use one of these on the transfer's header:
- Release Outward releases every line's whole pending quantity.
- Selective Release Outward opens a dialog listing the lines that still have pending release quantity. Tick the lines to send. Each line's Requested Quantity starts at its pending release quantity. It must be greater than zero and no more than the pending quantity.
Release each line in one go, at its full pending quantity. Only a line's first release posts an outward ledger entry. If you release the rest of a line later, the new inward line is still created for it, but nothing is taken out of the source's stock. Posting that inward transfer then adds stock at the destination that never left the source. So if only part of an item travels now, split it into two lines before the first release, one for each dispatch.
For an item that tracks lots, set Item Lot on the line first. A release of a lot-tracked line without one stops with Product Lot was not selected for the transaction. This is required for Inventory posting.
Each release does the following:
- Adds the released quantity to each line's Released Quantity.
- Posts the outward ledger entries described in How xMatix handles it.
- Copies lots for the destination.
- Creates a new Inward transfer with one inward line per released line, carrying the released quantity, the lot copy, the unit cost and both branches and companies. The new document is linked through Inward Document.
You can release a transfer again for the lines you have not released yet. Each release creates its own inward transfer, and Inward Document then points at the newest one. Once nothing is pending, Outward Released turns on and another release is refused with Outward document is already released.
Step 4 — Follow the goods in transit
Between release and posting, the released quantity is in neither branch's bins. It shows on the outward line as Pending Inward Quantity. At the destination it sits in the in-transit balance and, for lots, in the lot copy's in-transit quantity. Open the transfer's Related tab to see the inward transfers it generated. Use the Pending Inward Transfers view to see inward documents not yet posted.
Step 5 — Receive at the destination
- Open the inward transfer, either from the source transfer's Related tab or from Details → Related Documents.
- On Lines, check the Transfer Inward Lines. The release made one for each released outward line, numbered like
TRI-23102026-000001, with the item, SKU, the destination copy of the lot, the unit cost and the released Quantity already filled in. - Open each line with Edit. The form shows Item Details (Item, Item SKU, Item Lot Type, Item Lot, Related Item Lot, Storage Location) and Quantity Details (Quantity, Received Quantity, Damaged Quantity). Choose the Storage Location the goods go into. If goods arrived damaged, enter Damaged Quantity here. Leave the other fields as the release set them, and save.
- Use one of these on the transfer's header:
- Inward Recieve receives every line's whole pending quantity.
- Selective Inward Receive opens a dialog. Tick the lines that arrived and enter the quantity that arrived in Requested Quantity. It starts at the line's Pending Received Quantity.
Receiving adds to Received Quantity. It also writes the received quantity back to the outward line's Closed Quantity. A line is marked Is Received when nothing is left to receive on it. Inward Received on the header turns on when every line is received.
Things to know about the receive steps:
- Only Requested Quantity counts in the dialog. Selective Inward Receive takes nothing else from the dialog. Damage, bin and anything else must be set on the line with Edit, before posting.
- Zero means everything. In Selective Inward Receive, a Requested Quantity of 0, or a blank one, receives the line's whole pending quantity. To leave a line for later, untick it.
- Receive with the actions, not with Edit. Typing Received Quantity on the Edit form changes the line's shortage and excess figures, but it does not tick Is Received and does not update the outward line's Closed Quantity. If no line has Is Received ticked, Post Inventory stops with No received lines found for Inventory Posting on Inward Transfer.
- The bin follows the lot. When you save a line that carries an Item Lot, the lot copy's storage location is set to the line's Storage Location.
Receiving does not post stock. Nothing reaches the destination's stock until Step 6.
Receiving less or more than was sent:
- Less. After a partial receipt, check the line's Pending Received Quantity. While it is above zero you can receive the rest later. When it reads zero, the line cannot be received again, and the difference shows as Shortage Quantity.
- More. The receive actions do not cap the quantity. Anything above the line's Quantity shows as Excess Quantity.
Step 6 — Post the inward transfer
Select Post Inventory on the inward transfer. The button shows on an inward transfer that has quantity and is not yet posted.
Posting needs at least one line with Is Received ticked. It then posts every inward line that has no ledger entry yet, received or not, at the line's full Quantity. So post only when every line has been received. For each line, posting does the following:
- Posts the stock into the line's Storage Location.
- Takes the quantity out of transit.
- Records any shortage, damage or excess as entries of their own.
After posting, each line's Inventory Ledger links to its entry, and IL Posted and Inward Posted turn on once every line has one. Set Damaged Quantity before posting: changing it on a posted line posts nothing. Changing a posted line's Quantity posts the line again at the new quantity, so leave Quantity as the release set it.
- 1
Type Inward — this document was generated by releasing the outward transfer; it cannot be created by hand.
- 2
Details holds the header and the reconciliation sections; Lines holds the Transfer Inward Lines you receive.
- 3
Key Information: source and destination partner account and branch, type and status label.
- 4
Related Documents links the paired Outward Document (and, on an outward document, the Inward Document).
- 5
Handover Details: Transferred By, Received By and the transfer/received times.
- 6
Progress Details — Outward Released, Inward Received, IL Posted — are computed from the lines. Received without IL Posted means stock is still in transit.
Step 7 — Move stock in one step
A single-step transfer has one kind of line, the Transfer Line. Each line moves one item from a bin at the source to a bin at the destination. It is posted once, and both ends post together.
- Create a transfer with Type Single Step (Step 1).
- On Lines, select Quick Add and fill in the line:
- Transfer Type: keep On Hand Transfer. Choose Pending Deliveries Transfer only to move the source's pending-deliveries quantity rather than its stock on hand.
- Item and Quantity.
- Source Storgae Location, the bin the goods leave, and Destination Storgae Location, the bin they go into. Neither picker is filtered by branch, so check that each bin belongs to the right branch.
- Leave Received Quantity and Damaged Quantity at zero for now. The next two items explain when to fill them in.
- Post the lines in one of two ways:
- Selective Transfer (recommended). A dialog lists the transfer lines. Tick the lines to post. Each line's Requested Quantity starts at its Pending Received Quantity, which is Quantity minus Received Quantity. Keep it as it is for a full move. Lower it only when less arrived than the line's Quantity: the difference is then posted as a shortage at the destination. The requested quantity is added to the line's Received Quantity. It must be above zero and no more than the pending quantity.
- Post Inventory. This posts every line that is not yet posted, and it does not change Received Quantity. Before you use it, open each line with Edit and set Received Quantity to what arrived, normally the full Quantity. A line left at zero has its whole quantity recorded as a shortage at the destination, which cancels the stock it has just received.
- If some goods arrived damaged, enter Damaged Quantity with Edit before posting. It is posted as a separate Damaged entry at the destination.
Each line posts once, for its full Quantity, at both ends: out of the source bin and into the destination bin. The line's Inventory Ledger then links to the entry, and IL Posting Approved is ticked. The Pending Single Step Transfers view lists single-step transfers that are not yet fully posted.
Things to know about single-step lines:
- Post each line once, in full. After a line is posted, nothing posts it again. That stays true if you change its Quantity, run Selective Transfer for the rest of a reduced quantity, or delete the line. Deleting a posted line does not reverse its ledger entries. To correct a posted move, transfer the stock back or use an adjustment.
- Lines split for one-per-lot items. When the item's SKU has Maximum Lot Quantity 1, saving a line with a larger Quantity splits it into lines of 1. If the SKU has no maximum, the item's own Maximum Lot Quantity is used. Each line carries the same item, bins and transfer type.
- Lot-tracked items need a lot. For an item that tracks lots, posting stops with Product Lot was not selected for the transaction. This is required for Inventory posting. The line's record page shows Item Lot Type, Item Lot and Related Item Lot, but neither the Quick Add form nor Edit asks for a lot. Move lot-tracked items with a two-step transfer, or ask your administrator to add Item Lot to the Transfer Line create layout. When a lot is set, Post Inventory or Selective Transfer copies it to the destination, as a release does (see How xMatix handles it). The copy is shown as Related Item Lot.
- The line's record page is read-only. Open a line from the Lines tab to see its Transfer Details, Item Details and Quantity Details. Change the line with Edit in its header, or with Edit on its row in the list. The Partner Account, Branch, Related Partner Account and Related Branch fields mirror the transfer header as text, not as names.
Step 8 — Find, change or remove a transfer
- Find. The list has four views:
- All Transfers (the default).
- Pending Outward Transfers: outward transfers not fully released.
- Pending Inward Transfers: inward transfers not fully posted.
- Pending Single Step Transfers.
The summary cards count the last 30 days' documents by type.
- Change. Edit on the record header reopens the header form. Avoid changing Type once lines exist. The Lines tab shows only the line set that matches the Type, so the existing lines disappear from view, and Total Quantity counts only that set.
- Remove. Delete is on the record header. The inward transfer of a released outward transfer has no New button for lines, so lines are only ever added by a release. Inward lines cannot be removed either: Delete on the Lines tab is refused with There are downstream transactions. The record cannot be deleted., because every inward line carries the quantity that was released to it.
- Change or remove an outward line before release. Change it freely with Edit, or delete it from the Lines tab. Nothing has moved yet. Changing Quantity before release fills the line's Inventory Ledger with an entry of zero quantity. That entry moves no stock, and the release posts the real one.
- After release, leave the outward line alone. Nothing locks a released line, but its posted entry and its inward line keep the values of the release:
- Changing Item, Item Lot or Storage Location does not move the posted stock.
- Deleting a released line reverses its outward entry, so the stock returns to the source and leaves transit. The inward line it generated stays on the inward transfer, though, and posting that transfer would add the same stock at the destination.
To undo a released move, receive and post it, then transfer the stock back.
On the mobile app
Transfers are part of the Inventory app in the xMatix mobile app. The record page shows the same tabs and lets you do the following:
- Release Outward, Selective Release Outward, Inward Recieve and Selective Inward Receive.
- Post Inventory on inward transfers.
- Selective Transfer on single-step transfers. This is the only way to post a single-step transfer on the mobile app.
- Edit and Delete.
Transfers created for you
- From a requisition. Release Transfer and Selective Release Transfer on a requisition create an outward transfer:
- From Branch is the requisition's From Branch, and To Branch is the requisition's Branch.
- Purchase Requisition links back to the requisition.
- Each line carries the requisition line's item, SKU and unit cost, for its pending quantity or the quantity you requested.
- The outward lines' quantities count towards the requisition line's Stock Transfer Quantity.
You then add storage locations and lots and release the transfer as in Steps 2 to 6.
- From a van run. The field-sales run's load, take-in and unload actions create outward and inward transfers linked through Field Sales. See Van sales.
- From a partner takeover. When Transfer Partner on an account moves Stock, it creates one draft Single Step transfer for each source branch, from the outgoing partner to the incoming one. Each line carries the item, SKU, lot, source bin and quantity, and is valued at the outgoing partner's average cost. Check the lines, set each Received Quantity or use Selective Transfer, and post as in Step 7. See Accounts.
Fields
Transfer
| Field | What it means | Notes |
|---|---|---|
| From Partner Account | The company the stock leaves. | Required. |
| From Branch | The branch the stock leaves. | Required. |
| To Partner Account | The destination company. | Optional. Blank means the same company; lot copies are then owned by the From Partner Account. For a two-step transfer, To Branch or To Partner Account must be filled in. |
| To Branch | The destination branch. | Required. The in-transit balance is held against it. |
| Type | Inward, Outward or Single Step. | Required. Inward is only created by a release. |
| Status | The stepper value: Draft, Pending Approval - Outward, Approved - Outward, Released, Pending Approval - Inward, Approved - Inward, Received. | Defaults to Draft. Seeded rules set Released and Received. |
| Purchase Requisition | The requisition this transfer was released from. | Filled in by the requisition release. |
| Inward Document | On an outward transfer, the inward transfer its latest release created. | Read it, do not set it. |
| Outward Document | On an inward transfer, the outward transfer that generated it. | Read it, do not set it. |
| Transferred By | The person who sends the goods. | Optional. Must be allowed for the source company and branch. |
| Received By | The person who will accept the goods. | Optional, and not needed to release. Must be allowed for the source company and branch. |
| Transfer Time | When the transfer was created. | Set when the transfer is saved for the first time. It is not updated at release. |
| Received Time | When the goods were received. | Typed by hand. No action fills it in. Must not be earlier than Transfer Time. |
| Outward Released | All outward lines fully released. | Calculated. |
| Inward Received | All inward lines received. | Calculated. |
| IL Posted | Every line has a ledger entry. | Calculated. |
| Document Number | The transfer's number. | Automatic, for example TR-11102026-000001. |
| Document Date | The date of the document. | Set when the transfer is saved for the first time. Cannot be changed. |
Transfer outward line
| Field | What it means | Notes |
|---|---|---|
| Name | The line's number. | Automatic, for example TOL-22102026-000001. |
| Transfer Type | On Hand Transfer or Pending Deliveries Transfer. | Defaults to On Hand Transfer. Copied to the inward line. |
| Item | What is sent. | On the Quick Add form. Must be active. |
| Item SKU | The SKU sent. | Set on the line's record page. Required when the item has SKU Required set, and it must be one of the item's SKUs. |
| Item Lot Type, Item Lot | The source lot for lot-tracked items. | Set on the line's record page. Required at release when the item tracks lots. The Item Lot picker is not filtered by item or branch. |
| Related Item Lot | The destination copy of the lot. | Filled in by the release. The inward line carries it as its Item Lot. |
| Storage Location | The bin the goods leave from. | Set on the line's record page. Not filtered by branch. |
| Partner Account, Branch, Related Partner Account, Related Branch | The source and destination of the header. | Calculated from the transfer. Shown as text under Transfer Details. |
| Quantity | The planned quantity. | On the Quick Add form. Cannot be negative. |
| Released Quantity | Total dispatched so far. | Written by the release. |
| Pending Release Quantity | Quantity minus Released Quantity. | Calculated. |
| Requested Quantity | The quantity entered in the Selective Release Outward dialog. | Starts at Pending Release Quantity. Not stored. |
| Closed Quantity | Total received at the destination. | Written by the receive actions. A seeded check refuses a save where it is above Quantity. |
| Pending Inward Quantity | Released Quantity minus Closed Quantity. | Calculated. |
| Stock, Stock Available, Stock In Hand | One source stock record for the item, and its available and in-hand figures. | Read-only. Matched when the line is first saved. Each figure shows 0 when no record was matched. |
| Inventory Ledger | The ledger entry the release posted. | Read-only. |
| Unit Cost | The value per unit carried into the ledger and onto the inward line. | Not on the seeded forms. Filled in on lines a requisition release creates. |
| Requisition, Requisition Line | The requisition line this line fulfils. | Filled in by a requisition release. Not on the seeded forms. |
Transfer inward line
The line's record page groups these under Transfer Details, Item Information, Quantity Details and Inventory Details.
| Field | What it means | Notes |
|---|---|---|
| Name | The line's number. | Automatic, for example TRI-23102026-000001. Lines a van run creates are named after the run. |
| Transfer Type | On Hand Transfer or Pending Deliveries Transfer. | Copied from the outward line. Decides whether posting fills the bin and clears transit, or adds to the destination's pending deliveries. |
| Partner Account, Branch | The destination company and branch. | Set by the release. Shown as text. |
| Related Partner Account, Related Branch | The source company and branch. | The other way round from the outward line. Shown as text. |
| Item, Item SKU, Item Lot Type | What arrives. | Copied from the outward line. |
| Item Lot | The destination copy of the source lot. | Copied from the outward line's Related Item Lot. Its in-transit quantity is cleared at posting. |
| Related Item Lot | Not used on released lines. | Empty: the lot copy is in Item Lot. |
| Storage Location | The bin the goods go into. | Empty after release. Set it with Edit before posting. Saving it also moves the lot copy to this bin. |
| Quantity | The quantity released to this line. | Must be greater than zero. Posting uses it in full. Do not change it. |
| Received Quantity | Total received so far. | Written by the receive actions. Typing it with Edit does not tick Is Received. |
| Pending Received Quantity | Quantity minus Received Quantity minus Shortage Quantity. | Calculated. The receive actions only take lines where it is above zero. |
| Requested Quantity | The quantity entered in the Selective Inward Receive dialog. | Not stored. Zero or blank receives the whole pending quantity. No upper limit. |
| Shortage Quantity | Quantity minus Received Quantity, once something has been received. | Calculated. Posted as a Shortage entry. |
| Damaged Quantity | Goods that arrived damaged. | Enter it with Edit, before posting. Posted as a Damaged entry. Not taken from the receive dialog. |
| Excess Quantity | Received Quantity above Quantity. | Calculated. Posted as an Excess entry. |
| Is Received | Nothing left to receive on the line. | Ticked only by the receive actions. Needed on at least one line before Post Inventory. |
| Inventory Ledger | The ledger entry posting created. | Read-only. A line with an entry is never posted again. |
| Stock, Stock In Hand, Stock Available | One destination stock record for the item, and its in-hand and available figures. | Read-only. Matched when the line is created. Each figure shows 0 when the item had no stock record at the destination yet. |
| Unit Cost | The value per unit. | Copied from the outward line, so the destination takes the stock at the source's cost. Not on the seeded forms. |
| Transfer Outward Line | The outward line this line was released from. | Not on the seeded forms. Its Closed Quantity is the total received on all its inward lines. |
Transfer line (single step)
| Field | What it means | Notes |
|---|---|---|
| Transfer Type | On Hand Transfer or Pending Deliveries Transfer. | Defaults to On Hand Transfer. Pending Deliveries Transfer moves the pending-deliveries quantity between the branches instead of stock on hand. |
| Item | What is moved. | On the Quick Add and Edit forms. |
| Item SKU | The SKU moved. | Shown on the record page only. Its Maximum Lot Quantity decides whether the line is split into lines of 1. |
| Item Lot Type, Item Lot | The source lot for lot-tracked items. | Shown on the record page, but not on the seeded forms. Required for posting when the item tracks lots. |
| Related Item Lot | The destination copy of the lot. | Filled in by posting. |
| Quantity | The quantity posted at both ends. | Defaults to 0. A line with Quantity 0 posts nothing. |
| Received Quantity | The quantity confirmed as arrived. | Defaults to 0. Selective Transfer adds the requested quantity to it. Post Inventory leaves it as it is, so set it before posting. |
| Damaged Quantity | Goods that arrived damaged. | Defaults to 0. Posted as a Damaged entry at the destination. |
| Shortage Quantity | Quantity minus Received Quantity, when Received Quantity is lower. | Calculated. Posted as a Shortage entry at the destination. Equal to the whole Quantity while Received Quantity is 0. |
| Excess Quantity | Received Quantity above Quantity. | Calculated. Posted as an Excess entry. Only a Received Quantity typed with Edit can exceed Quantity. |
| Pending Received Quantity | Quantity minus Received Quantity. | Calculated. Selective Transfer offers it as the starting Requested Quantity and refuses lines where it is zero. |
| Requested Quantity | The quantity entered in the Selective Transfer dialog. | Not stored. |
| Source Storgae Location | The bin the goods leave. | Not filtered by branch. |
| Destination Storgae Location | The bin the goods go into. | Not filtered by branch. The destination's Transfer Inward, Shortage, Damaged and Excess entries post here. |
| Unit Cost | The value per unit carried into the ledger. | Not on the seeded forms. Filled in on lines a partner takeover creates. |
| IL Posting Approved | The line has been sent for posting. | Ticked by Post Inventory and Selective Transfer. Read-only. |
| Inventory Ledger | The ledger entry posting created. | Read-only. A line with an entry is never posted again. |
| Partner Account, Branch, Related Partner Account, Related Branch | The source and destination of the header. | Calculated from the transfer. Shown as text. |
Every field of every transfer entity is listed in the Transfer reference.
Business rules
- Numbering. New transfers are numbered by the Transfer Name Setting: series
TR, date as day-month-year, a hyphen, and a six-digit counter. - Saving checks:
- An Inward transfer without an Outward Document is refused.
- A two-step transfer needs a To Branch or a To Partner Account.
- Document Date cannot be changed.
- Received Time cannot be earlier than Transfer Time.
- Transferred By and Received By must be allowed for the source company and branch.
- Release checks:
- The transfer must be Outward.
- It must have lines and must not be fully released.
- A selective quantity must be above zero and within the line's pending release quantity.
- Release does not check available stock. The ledger refuses only a release that would take a counter it moves below zero.
- Outward line checks:
- A new line's Quantity, Closed Quantity and Pending Inward Quantity cannot be negative.
- The item must be active, a SKU is needed when the item has SKU Required set, and the SKU must belong to the item.
- Closed Quantity cannot be greater than Quantity.
- Lines are numbered by the Transfer Outward Line Name Setting: series
TOL, date as day-month-year, a hyphen, and a six-digit counter.
- Outward line posting:
- Saving a line posts nothing. A line's first release posts its outward entry for the quantity released in that run. A later release of the same line posts nothing more.
- Deleting a released line reverses its outward entry. The inward line it generated is not removed.
- Changing Item, Item Lot or Storage Location after release does not re-post the line.
- A line from a requisition counts its Quantity towards the requisition line's Stock Transfer Quantity. Changing or deleting the line updates that figure.
- Receive checks. At least one inward line must have pending quantity. A selective quantity cannot be negative. There is no upper limit, and zero receives the whole pending quantity.
- Inward lines:
- Lines are numbered by the Transfer Inward Line Name Setting: series
TRI, date as day-month-year, a hyphen, and a six-digit counter. - Quantity must be greater than zero.
- An inward line can never be deleted, because it always carries a quantity.
- Saving a line with an Item Lot sets the lot's storage location to the line's Storage Location.
- Changing Quantity or Unit Cost on a posted line posts the line again. Changing Damaged Quantity or Received Quantity with Edit posts nothing and does not update the outward line.
- Lines are numbered by the Transfer Inward Line Name Setting: series
- Posting checks:
- There must be at least one unposted line.
- On an inward transfer, at least one line must be received.
- Lines already posted are skipped, so posting twice does not double the stock.
- Single-step checks:
- Selective Transfer works only on Single Step transfers.
- At least one ticked line must have pending quantity.
- Each requested quantity must be above zero and no more than the line's Pending Received Quantity.
- A lot-tracked item must have an Item Lot.
- Items that do not track inventory are skipped by posting.
- Single-step lines are posted once. Editing a posted line, posting it again or deleting it never changes or reverses its ledger entries.
- Line splitting. A new single-step line with Quantity above 1 is split into lines of 1 when the SKU's Maximum Lot Quantity is 1, or the item's is when the SKU has none.
- Status. Status is set by the seeded rules Set Transfer Status : Released and Set Transfer Status To Received when the transfer is saved (see How xMatix handles it). No action writes Status directly.
- Clone. The generic Clone action is not on the seeded record header.
Example
A distribution company moves 40 cartons of floor cleaner from its North Depot to its City Store, within one company.
- The depot clerk creates a transfer with these details:
- From Partner Account: the company.
- From Branch: North Depot.
- To Branch: City Store.
- Type: Outward.
It is numbered TR-11102026-000014.
- Only 30 cartons fit on today's truck, so the clerk quick-adds two lines of Floor Cleaner 5 L, both On Hand Transfer: Quantity 30 and Quantity 10. On each line, they set Storage Location Rack B2 and the item lot. Stock Available reads 120.
- The clerk uses Selective Release Outward, ticks only the line of 30 and keeps Requested Quantity at 30. That line shows Released 30 and Pending Release 0. An inward transfer for 30 appears on the Related tab.
- At City Store, the receiver opens the inward transfer and edits the line to Storage Location Aisle 4. Two cartons are crushed, so they enter Damaged Quantity 2. Then they run Inward Recieve. Received Quantity is 30, Is Received is ticked, and the outward line's Closed Quantity is 30.
- The receiver selects Post Inventory. The ledger shows Transfer Inward 30 into Aisle 4 and a Damaged entry of 2, and transit for this line returns to zero.
- The next day the depot runs Release Outward, which releases the remaining line of 10. That creates a second inward transfer, which City Store receives and posts the same way.
Training
Practice exercise
In a sandbox, move 10 units of a stocked item between two branches of one company.
- Create an Outward transfer and add two lines of the item, Quantity 6 and Quantity 4, each with a storage location.
- Run Selective Release Outward for the line of 6 only, then Release Outward.
- Open each of the two inward transfers from the Related tab, set a storage location on each line, receive it and post it.
Expected result:
- Both outward lines show Closed Quantity equal to Quantity and Pending Inward 0.
- Both inward transfers show Inward Received and IL Posted.
- The item's stock at the source is 10 lower and at the destination 10 higher.
- Running Release Outward again stops with Outward document is already released.
Then move 5 units of an item that does not track lots in one step. Create a Single Step transfer, quick-add one line with both storage locations and Quantity 5, and post it with Selective Transfer at Requested Quantity 4.
Expected result: the line shows Received Quantity 4 and Shortage Quantity 1, with an Inventory Ledger link. The ledger shows Transfer Outward 5 at the source, Transfer Inward 5 into the destination bin and a Shortage of 1 at the destination.
Quick reference
- Outward → release → inward → receive → post. Single Step → post.
- Saving moves nothing. Release and Post Inventory move stock.
- You never create an Inward transfer. A release does.
- Set Storage Location (and Item Lot) on each outward line on its record page before releasing.
- Release each line once, in full. Only a line's first release takes stock out of the source. Split a line beforehand if it travels in parts.
- Never delete a released outward line. Its inward line stays behind.
- Every release, full or selective, creates its own inward transfer.
- On inward lines, use Edit only for Storage Location and Damaged Quantity. Receive with the actions; a Requested Quantity of 0 receives everything.
- Inward lines cannot be added or deleted by hand.
- Receiving records quantities. Post Inventory puts stock into the destination bin.
- Post only after every inward line is received.
- Single Step: prefer Selective Transfer. Before Post Inventory, set each line's Received Quantity, or the whole quantity posts as a shortage.
- Trust Progress Details and the line quantities when reconciling. Status follows them on save.
Permissions
New, Edit and Delete follow the Transfer, Transfer Outward Line, Transfer Inward Line and Transfer Line entity permissions in the user's security profile. The transfer's own actions are server actions, and each needs an explicit grant on the profile's Actions tab:
| Action | Shipped profiles with it |
|---|---|
| Release Outward, Selective Release Outward, Inward Recieve, Selective Inward Receive, both Post Inventory actions, Selective Transfer | Sales Manager, Standard User, System Admin |
| Clone | Sales Executive, Standard User, System Admin |
On Transfer Inward Lines, the shipped Sales Executive, Sales Manager, Standard User and System Admin profiles all have full entity access and the Edit grants, so any of them can set a line's bin and damage. Their delete grants do not help, because inward lines cannot be deleted.
Sales Executive holds none of the release, receive or posting grants, and no Quick Add grant on Transfer Outward Lines, so it can edit and delete outward lines but not add them. A user without a grant cannot run that action. The Transfers tab appears only to users whose profile includes the Inventory or Warehouse app. xMatix does not ship a warehouse profile, so grant the entities and these actions on the profile your warehouse team uses.
Configuration
| Setting | Where | What changing it does |
|---|---|---|
| Transfer numbering | Setup → Feature Hub → Platform → Document Settings, Transfer Name Setting | Changes the series, date format, separator and counter length for transfers created afterwards. See Document numbering. |
| Status rules | Setup → Process Studio → Business Rules, the three seeded Transfer rules | Change or extend when Status moves. Add your own rules, for example on Document State. See Business rules. |
| Approvals | Setup → Process Studio → Approvals | Nothing is seeded for transfers. Build a process if releases or receipts need sign-off, and use the Pending Approval and Approved Status values. See Approvals. |
| Save checks | Setup → Design Studio → Entities → Transfer → Logic → Validations | The seeded checks are listed under Business rules. The Branch can't be same check (From Branch equal to To Branch) ships inactive; activate it to refuse same-branch two-step transfers. |
| Line numbering | Setup → Feature Hub → Platform → Document Settings, Transfer Outward Line Name Setting and Transfer Inward Line Name Setting | Changes the TOL and TRI series and format of new outward and inward line numbers. |
| Inward line forms | Setup → Design Studio → Entities → Transfer Inward Line (layouts) | The create layout is the form Edit opens on an inward line. Remove Quantity and Received Quantity from it if you do not want receivers to type them by hand, since the receive actions keep them correct. |
| Forms and views | Setup → Design Studio → Entities → Transfer (layouts and views) | Add Document State, an Item Lot on single-step lines or Unit Cost to the forms or lists. See Designing a form layout. |
| Outward line forms | Setup → Design Studio → Entities → Transfer Outward Line (layouts) | Add Item SKU to the create layout if you transfer items with SKU Required set. Add Item Lot and Storage Location there to let users set them on Quick Add. A lookup filter on Item Lot (under Logic) would limit the picker to the item's lots at the source; none is seeded. |
| Posting rules | Setup → Feature Hub → Inventory → Inventory Ledger Settings | Read-only. Shows which transfer lines post which ledger entries. See Inventory configuration. |
| Van capacity check | Setup → Feature Hub → Sales → Settings, Van Sales group, Van capacity check on load release | Warns about or blocks van-load releases over the van's capacity. See Warehouse configuration. |
| People on transfers | Resources → Administration → Partner Resources | Decides which companies and branches a Transferred By or Received By person is allowed for. See Resources. |
Common problems
"Inward Document cannot be generated without an Outward Transfer Document."
You chose Type Inward on a new transfer. Inward transfers are created only by releasing an outward transfer. Choose Outward, or open the inward transfer the release already created.
"Selection of To Partner Account and To Branch is mandatory."
A two-step transfer has neither destination filled in. Select at least the To Branch.
"Outward Document can't be created for Inward Transfer. You can perform receive inward."
You ran Release Outward on an Inward or Single Step transfer. Release only works on Outward transfers. On an inward transfer, receive and post. On a single-step transfer, use Selective Transfer or Post Inventory.
"Outward document is already released."
Every outward line has been released in full. The goods are on their way; continue on the inward transfer.
"No Transfer Outward Lines found to Release Outward Document."
Add at least one line on Lines before releasing.
"Requested quantity must be greater than zero." or "Requested quantity (…) cannot exceed the pending quantity (…)."
In a selective dialog, enter a quantity above zero and no higher than the line's pending quantity.
"No pending release quantities found in selected outward lines."
Every line you ticked in Selective Release Outward has already been released in full. Tick a line that still shows Pending Release Quantity, or continue on the inward transfer.
"Selective Outward Release is only applicable for Outward Transfer."
You ran Selective Release Outward on an Inward or Single Step transfer. Use the receive and posting actions for those types.
"SKU is required for this item."
The line's item has SKU Required set and the line has no Item SKU. The seeded Quick Add form for outward lines does not ask for a SKU. Ask your administrator to add Item SKU to the Transfer Outward Line create layout, then add the line again and choose the SKU.
"Invalid SKU selected for this item." or "Item is Inactive."
The line's Item SKU does not belong to its Item, or the item has been made inactive. Choose a SKU of the item, or ask for the item to be reactivated.
"Closed Quantity cannot be greater than Quantity!"
The quantities received at the destination for an outward line add up to more than that line's Quantity. Check Received Quantity on the inward lines it generated. Bring extra goods in with an adjustment instead.
Released stock is still at the source, or the destination has more than was sent
A line was released more than once. Only its first release took stock out of the source, but every release created an inward line, and posting those adds the full quantity at the destination. Check the line's Released Quantity against the outward entries for it in the inventory ledger, and correct the difference with an adjustment. From now on, release each line once, and split it beforehand if it travels in parts.
Stock Available on the outward line shows 0
The line is linked to one stock record, matched when it was first saved. It shows 0 when no record matched, for example when the item had no stock record at the source yet. The release links the line to the record of the bin the goods leave from. Before that, check the Item 360 card or the stock balances instead.
"No pending inward lines found to receive." or "Inward document is already received."
No inward line still has pending quantity. Either everything was received, or short receipts closed the lines with a shortage. Check Received Quantity and Shortage Quantity on each line. Bring a late arrival in with a new transfer or an adjustment, not by editing the closed line.
"No received lines found for Inventory Posting on Inward Transfer."
No inward line has Is Received ticked yet. Receive the remaining quantity of the lines first, then post. Use Inward Recieve or Selective Inward Receive: a Received Quantity typed with Edit does not tick Is Received.
"There are downstream transactions. The record cannot be deleted."
You tried to delete a Transfer Inward Line. Inward lines always carry the quantity released to them, so they cannot be deleted. If goods did not arrive, receive what did arrive; the rest is recorded as Shortage Quantity when you post.
"RequestedQuantity or DamagedQuantity cannot be less than 0."
A line in the Selective Inward Receive dialog has a negative quantity. Enter zero or more. Zero receives the line's whole pending quantity, so untick a line you do not want to receive now.
"Quantity should be greater than zero"
An inward line's Quantity was set to zero or less with Edit. Put back the quantity the release gave it. It is the outward line's released quantity for that dispatch.
"No lines found for Inventory Posting on … Transfer."
Every line of the transfer already has a ledger entry. Nothing is left to post.
"Transfer lines are already posted."
You ran the single-step Post Inventory on a single-step transfer whose lines are all posted. Nothing is left to do.
"Resource is not authorized for Partner Account '…'." or "Resource is not authorized for branch '…'."
The person in Transferred By or Received By has company or branch assignments that do not cover the source on the document date. Choose someone else, or extend their assignment under Resources.
"Insufficient stock: … cannot go negative (result: …)."
The posting would take a stock or lot counter below zero. For example, a Pending Deliveries Transfer line can try to move more than the source's pending deliveries. Correct the line's quantity, lot or storage location and run the action again.
A single-step transfer posted, but the destination shows no extra stock
The line was posted with Post Inventory while its Received Quantity was still 0. The whole Quantity was then also recorded as a Shortage at the destination, which offsets the stock it received. Open the line and check Shortage Quantity. A posted line cannot be posted again, so correct the destination with an adjustment. Next time, use Selective Transfer, or set Received Quantity before Post Inventory.
"Product Lot was not selected for the transaction. This is required for Inventory posting."
The item tracks lots and the line has no Item Lot. On an outward line, set Item Lot on the line's record page and release again. Changing an outward line's Quantity before its lot is set can stop with the same message, so set the lot first. The seeded single-step line forms do not ask for a lot. Move the item with a two-step transfer and set the lot on the outward line, or ask your administrator to add Item Lot to the Transfer Line create layout.
"No pending posting quantities found in selected transfer lines."
Every line you ticked in Selective Transfer already has Pending Received Quantity 0, because its Received Quantity has reached its Quantity. If the line has no Inventory Ledger yet, use Post Inventory to post it.
"Selective Transfer Posting is only applicable for Single Step Transfer."
Selective Transfer was run on an outward or inward transfer. Use the release, receive and post actions for those types.
My single-step line turned into several lines
The item's SKU, or the item itself, has Maximum Lot Quantity 1, so the line was split into lines of 1 when it was saved. This is expected for items moved one unit per lot. Post the lines together.
The stock has not arrived at the destination
Open the inward transfer's Progress Details. Inward Received without IL Posted means the goods are received but still in transit, so run Post Inventory. If no inward transfer exists yet, the outward transfer has not been released.
Common questions
Do I need to fill in Received By before releasing?
No. Release does not require Received By. It is a record of who is expected to accept the goods, and the release copies it onto the inward transfer. If you fill it in, the person must be allowed for the source company and branch. Otherwise the save is refused with a Resource is not authorized message. Received Time is never filled in automatically; enter it with Edit if you track it.
Can I release or receive a transfer in parts?
Yes, by line. Selective Release Outward lets you send some lines now and the rest later, and each run creates its own inward transfer. Release each line at its full quantity; to split one item across dispatches, add it as two lines before the first release. On the inward side, Selective Inward Receive records what arrived. Whether the rest of a short line can be received later depends on its Pending Received Quantity: above zero, receive again; zero, the rest is recorded as shortage. Post each inward transfer once all its lines are received, because posting takes every unposted line at its full quantity.
What can I change on an inward line?
Set Storage Location and Damaged Quantity with Edit, before you post. Everything else on a Transfer Inward Line comes from the release: the item, SKU, the destination copy of the lot, the unit cost, the transfer type and the released Quantity. Leave those as they are, because the outward line is not updated when you change them, and changing Quantity on a posted line posts it again. Record what arrived with Inward Recieve or Selective Inward Receive, not by typing Received Quantity, so that Is Received and the outward line's Closed Quantity stay correct. You cannot add or delete inward lines.
Which branch does in-transit stock count against?
The destination, but in a separate in-transit balance with no storage location. It is not part of the destination's bin stock until the inward transfer is posted, and the source stopped counting it at release. A stock check at either end therefore looks short by exactly the travelling quantity. Lot-tracked stock also shows it in the destination lot copy's in-transit quantity.
Which Post Inventory do I see?
There are two posting actions with the label Post Inventory, but the record header shows only one at a time. An inward transfer that is not yet posted shows the one that posts inward lines. A single-step transfer shows the one that posts transfer lines, and that one also copies lots to the destination. An outward transfer shows neither, because its release posts it. On a single-step transfer, Selective Transfer posts the same way, but it also fills in Received Quantity. On the mobile app, Post Inventory appears on inward transfers only, so use Selective Transfer for single-step moves there.
Should I use Selective Transfer or Post Inventory for a single-step transfer?
Use Selective Transfer in most cases. It shows each line's pending quantity, adds what you confirm to Received Quantity, and posts any difference as a shortage, so the line's figures and the ledger agree. Post Inventory posts every unposted line at once, but it reads Received Quantity as it stands. Use it only after you have set Received Quantity on every line, for example on lines a partner takeover created. Either way, each line posts once, so check the quantities first.
Why does the stepper still say Draft after I released?
Status is moved by business rules that run when the transfer is saved, and Released needs every line to be fully released. After a selective release with quantity still pending, Draft is correct. To see the actual progress, read Progress Details, the line quantities, or Document State if your administrator has added it to a list.
