Neriyam
Open App

Stock Transfer

Move stock between warehouses while preserving valuation.

Stock Transfer#

Stock Transfer (transaction type TRF) moves material from one warehouse to another within your organization. It is the only stock entry with a paired-line model — each line has both a From Warehouse and a To Warehouse.

On submit, the source warehouse's balance drops and the destination's rises. Critically, the rate travels with the stock — the destination receives at the source's current moving-average cost — so organization-level stock value is preserved.

When to use stock transfer#

  • Moving material between physical warehouses (Main → Factory Floor)
  • Shifting material to a dedicated "Scrap" or "Rejected" warehouse before write-off
  • Reallocating stock to a dispatch/staging warehouse before delivery
  • Moving customer-owned material between your warehouses (customer stock transfers preserved as-is)

Rules#

  • Paired lines — same item, same quantity, two warehouses (from and to)
  • From ≠ To — you cannot "transfer" within the same warehouse
  • Source must have stock — you cannot transfer what does not exist; Neriyam validates on submit
  • Rate carries over — destination receives at the source's current average cost

Creating a stock transfer#

  1. Navigate to Inventory › Stock Transfer
  2. Click + New Stock Transfer
  3. Fill in the header (optionally set a default from/to warehouse to speed up line entry)
  4. Add paired lines — item, from warehouse, to warehouse, quantity (always positive).
  5. Click Save as Draft — you land on the detail page.
  6. On the detail page, review and click Submit for Approval to post to the stock ledger.

The create page only has Cancel and Save as Draft buttons; the Submit for Approval action lives on the detail page once the draft exists.

Header fields#

FieldRequiredNotes
Posting DateYesEffective date
Default From WarehouseNoPre-fills the From on every new line
Default To WarehouseNoPre-fills the To on every new line
Stock OwnerYesOwn or Customer
CustomerConditionalRequired when Stock Owner = Customer
RemarksNoReason for the transfer

Line fields#

FieldRequiredNotes
ItemYes
From WarehouseYesSource
To WarehouseYesDestination (must differ from source)
QuantityYesAlways positive — represents the qty moved
Batch NoNoBatch carries over
Customer OwnerNoPer-line ownership override

Fill in the two header defaults when you are about to add many lines going the same route. Each new line starts with those warehouses already selected — saves a lot of clicks.

How the ledger shows a transfer#

Each paired line produces two entries in the stock ledger:

WarehouseDirectionQtyRate
From WarehouseOutward−NSource's current average cost
To WarehouseInward+NSame rate as the outward

Both entries share the same transfer document code so you can see them as a pair when drilling in from the ledger.

Valuation impact#

  • Source warehouse — balance drops at current average cost
  • Destination warehouse — balance rises at the same rate
  • Destination's moving-average is re-blended: (prevQty × prevAvgCost + transferQty × sourceAvgCost) / (prevQty + transferQty)
  • Organization-level total value is unchanged (because the same value left and entered)

If the destination warehouse had zero stock, its new average cost becomes the source's rate. If it had stock, the two are weighted.

Statuses#

DS → optionally C. Same as other stock entries.

Cancelling a transfer#

Cancellation posts both reversals — an inward at the source and an outward at the destination — at the same rate. The pair is voided symmetrically.

Ownership during transfer#

A transfer changes the location of stock, not its ownership. Customer-owned material transferred from one warehouse to another remains customer-owned at the destination — each transferred line carries its ownership marker forward.

The header Stock Owner sets the default ownership for new lines, but each line's ownership is captured per line in the line dialog. You can therefore:

  • Transfer your own stock — keep Stock Owner = Own Stock
  • Transfer a customer's stock between your warehouses (e.g., receiving area → shop floor) — set Stock Owner = Customer Material and pick the customer; ownership stays with the customer at the destination
  • Mix own and customer lines on a single transfer — override ownership per line in the line dialog

List page#

  • Columns: Code/Ref, Posting Date, Item Count, Total Qty, Status
  • Filter by date, status, source or destination warehouse
  • Row actions: View, Submit, Cancel

Permissions#

ActionPermission
ViewINVENTORY.VIEW_STOCK_ENTRIES
Create, submit, cancelINVENTORY.MANAGE_STOCK_OPERATIONS

FAQ#

Can I transfer between customers?
No. Ownership is not a warehouse; it is a tag on the stock itself. To "transfer" from one customer's stock to another's (unusual), you need two entries: a negative adjustment on the first customer and a positive on the second.

Can a single transfer include multiple items?
Yes. Each line is independent — different items, different from/to warehouses, different batches. The posting date and header remarks are shared.

Does the destination have to be one of my warehouses?
Yes. Stock Transfer moves between your warehouses. If you are shipping to a customer, use Sales Delivery. If you are sending to a supplier, use Purchase Return.

Validation rules#

A Stock Transfer entry can only be created/submitted when these rules are met:

Item requirements

  • All items must be stockable (is_stockable = true).

Quantity

  • Always positive — the system pairs each line into a source-warehouse decrement and a destination-warehouse increment.

Ownership

  • Per line: own or a specific customer. Ownership is preserved across warehouses — customer-owned material stays customer-owned at the destination.

Approval state

  • All items and customers must be Approved to be selectable.

If a rule is violated, submission fails with a specific error naming the line and the problem.

Last updated