Neriyam
Open App

Stock Ownership

How Neriyam tracks own stock vs customer-owned stock across transactions, including the section-level rules for Production and Scrap entries.

Stock Ownership#

Neriyam tracks two ownership categories for stock at every warehouse:

  • Own stock — material that belongs to your organisation
  • Customer-owned stock — material that belongs to a specific customer but is physically at one of your warehouses (typical in job shops handling customer-supplied material)

Ownership is captured at the line level on every stock entry. Two lines for the same item in the same warehouse can have different owners, and they are tracked as separate balances.

Which transactions allow which ownership#

Different transaction types have different ownership rules based on what they represent:

TransactionOwnership rule
Opening Stock (OPN)Own or customer-owned (per-line picker)
Stock Adjustment (ADJ)Own or customer-owned (per-line picker)
Stock Transfer (TRF)Own or customer-owned (per-line picker; preserved across warehouses)
Goods Receipt (PPR)Own only
Purchase Return (PPT)Own only
Sales Delivery Note (SPD)Own only
Sales Return (SPT)Own only
Production (MFG)Header-level: Own or one customer; section rules apply (see below)
Scrap (SCR)Header-level: Own or one customer; section rules apply (see below)

Why purchase and sales transactions are own-only#

A Goods Receipt (PPR) records goods we purchased. Customer material does not arrive through this path — it arrives via Job Work Receipt (a different transaction type, planned).

Similarly, a Sales Delivery Note (SPD) ships goods we sold. We cannot sell a customer their own material back — that is not a sale. Customer-owned material returns to the customer via Job Work Delivery (also planned).

The same logic applies in reverse for the return transactions: Purchase Returns (PPT) and Sales Returns (SPT) are own-only because the original receipt or sale was own-only.

This separation keeps audit trails clean: GRN/SDN/PPT/SPT concern OUR stock; the planned Job Work transactions concern customer stock.

Header-level ownership for Production and Scrap#

Production (MFG) and Scrap (SCR) entries make a single header-level ownership choice — Manufacturing for: Own / Customer X on MFG, and Scrapping for: Own / Customer X on SCR. That choice applies to some sections of the entry but not all.

Production Entry — four sections:

SectionOwnership
InputsFollows header (Own or single Customer)
OutputsFollows header (Own or single Customer)
ConsumablesAlways Own — even on a customer run
By-productsAlways Own — even on a customer run

All four sections always render on the form, even when empty. Consumables and By-products do not have a per-line ownership override — to use customer material as a real input, place it in the Inputs section; to return a by-product to the customer, place it in the Outputs section.

Scrap Entry — two sections:

SectionOwnershipRequired
Items Being ScrappedFollows header (Own or single Customer)Yes
Resulting ScrapAlways Own — even when scrapping customer materialOptional

Resulting Scrap is optional — entries with no recoverable scrap are valid. When used, items in this section must have item type SCRAP; the picker filters accordingly.

See Production Entry and Scrap Entry for the full per-page rules.

Mixed-ownership entries#

For free-form transactions (OPN, ADJ, TRF), a single entry may have lines with different ownership. The picker on each line lets you choose Own or a specific customer. A single OPN entry can, for example, seed your own raw material on line 1 and a customer's free-issue stock on line 2 — both lines post to the stock ledger under the right owner.

The only OPN-specific block is the duplicate rule: you cannot create two opening-stock balances for the same (item, warehouse, owner) combination. That's a different concern from "mixing"; it prevents accidentally double-counting the same balance.

For transactions that constrain ownership at the header (MFG, SCR), a single entry is either fully own or fully one customer's, and per-section rules apply. To handle a truly mixed scenario, create separate entries.

How ownership is enforced#

Ownership rules are enforced in two places:

  • In the UI — on MFG and SCR, the per-line ownership picker is hidden in the always-own sections (Consumables, By-products, Resulting Scrap). On OPN/ADJ/TRF, the picker is available per line. On PPR/PPT/SPD/SPT, no ownership picker appears at all.
  • At the API — both at line save and at submit. If a line carries an ownership value that conflicts with the transaction's rule (for example, a customer set on a PPR line), the save is rejected with an error naming the offending line.

How customer ownership flows through workflows#

When customer material arrives at our warehouse (via the planned Job Work Receipt), it is recorded as customer-owned stock. From there:

  • Production using customer material → MFG with Manufacturing for: Customer X; Inputs and Outputs are X's stock; Consumables and By-products stay own.
  • Storage transfer → TRF preserves ownership across warehouses.
  • Returning processed goods to customer → Job Work Delivery (planned).

Customer material never moves into "own stock" without an explicit ownership-change transaction (planned). It also never crosses customers — one MFG/SCR entry can only involve one customer (or own stock).

Visualising ownership#

The Stock Ledger lets you filter by ownership: Own only, Customer-owned only, or All. Use this to:

  • Verify your own stock balance at a warehouse.
  • Reconcile customer stock at month-end.
  • Investigate discrepancies between what you have and what you owe a customer.

Last updated