CUSTOMISATION
Stock and costing that matches how you actually buy and sell
When you purchase in one unit, sell in another, and need to know what's really on hand — a single number on the product record isn't enough. We build inventory item (BOM) structures inside Zoho that track each purchase line, allocate stock to sales orders, and roll up trustworthy figures on the product in the units your team uses every day.
CONTEXT
Most businesses don't fail at stock because they lack a product catalogue. They fail because purchase units, sell units, and warehouse reality don't line up — and the CRM tries to subtract boxes from sets.
We design a three-layer model that works together:
Layer | What it represents | What staff see |
|---|---|---|
Product | The catalogue SKU — how you buy, sell, price, and summarise stock | Sets in stock, sets on order, sets in demand, stock value |
Inventory item (BOM) | One purchase order line — a stock batch with its own unit cost | Quantity in purchase packaging (e.g. 1 box), cost for that line |
Sale item | One sales order line linked to the product and an inventory item | Quantity to ship in sell units (e.g. 3 sets) |
You shouldn't need to multiply boxes × pieces × sets in your head. The product page shows stock in the same units you sell in. Inventory items keep the detail of how stock was bought, received, and costed.
THE PROBLEM
- Product stock that shows 1 on order when the business means 25 sets on order
Subtracting purchase units from sell units — 1 box − 25 sets — instead of working in a common base
One pooled quantity and one average cost for the whole SKU when each PO line has a different landed cost
Sales, purchasing, and finance looking at different numbers for the same item
Purchase order receipt updates that don't flow through to sale lines and product summaries
WHAT WE BUILD
Three-layer stock and costing
Units — buying vs selling
Example: You buy in boxes of 100 pieces. You sell in sets of 4. One box = 25 sets.
On the product | Meaning |
|---|---|
Purchase unit | How the supplier sells to you (Box, IBC, Each…) |
Qty in purchase unit | Sellable pieces inside one purchase unit (100 per box) |
Usage / sell unit | How you quote and sell (Set, Each…) |
Qty per sell unit | Pieces in one sell unit (4 per set) |
On the product, 1 box on order shows as 25 sets on order — not 1 and not 100.
When 25 sets are sold from that box, the system works in base: 100 purchased − 100 sold = 0 remaining — never 1 box − 25 sets.
Inventory item (BOM) detail
Each inventory item tracks:
Purchase side — qty purchased, qty received, purchase unit, cost per each, supplier, PO link, estimated arrival
Sell side — qty sold, sale unit, qty available in sell units
Base formulas — purchased base, sold base, and available qty derived from purchase and sell presentation
Line analytics — demand roll-up from related sale items, projected revenue, profit on that stock line
Status — purchase status (Ordered, Received In Full, Partially Received) and inventory status (Available, Stock on Order)
Stock value uses inventory item costs — for each line, available quantity × that line's unit cost, then summed on the product. When a PO line price changes, the inventory item cost updates and flows back to the product's costing picture.
Product summary figures
Staff read the product in sell units:
Figure | Meaning |
|---|---|
Sets in stock | Physical stock available, in sell units |
Sets on order | Stock on POs not yet receipted — converted from purchase units |
Sets in demand | Sold but not yet shipped — from open sale lines |
Sets available | In stock minus in demand — what you can still promise |
Total supply | In stock plus on order |
Net position | In stock plus on order minus in demand |
Stock value | Sum of (available qty × line unit cost) across inventory items |
Average unit cost | Stock value ÷ total stock qty — weighted, not a flat guess |
Products can be flagged I Buy / I Sell / I Inventory so only the relevant sections and behaviour apply to each catalogue item.
Connected workflows
Inventory items aren't a standalone module — they sit in the middle of purchasing and sales:
Sales order → purchase order
Eligible sale lines (no stock available, not already on a PO) grouped by inventory item and vendor
Purchase order widget builds lines from BOM qty on order and line cost
After PO creation, sale items update with PO link, status, and stock availability
Purchase order receipt
Item receipt subform links to the inventory item
Receipt qty validated against qty on order
On save: updates BOM qty received, purchase status, inventory status; rolls through to purchase items and linked sale items; advances PO stage
Purchase order issued
Submit order sets BOM purchase status to Ordered and updates related sale items
Update ETA copies ship and arrival dates to linked inventory items
Confirm stock
When stock is available without a full PO cycle, BOM and sale item statuses update together so demand and availability stay aligned
IN PRACTICE
What changes day to day
BEFORE
Staff mentally convert boxes to sets. Product stock shows warehouse units while sales thinks in sell units. PO costs live on the order but don't reliably drive stock value.
AFTER
A buyer orders 1 box. The product shows 25 sets on order. A sales order for 25 sets allocates against that line in base quantity. Product stock, demand, and available-to-promise read in sets — with inventory item detail preserved for warehouse and finance.
Optional secondary display — e.g. "1 box (25 sets) on order" — so buyers and warehouse each see familiar language while sell-unit figures remain the primary numbers.
Repository-backed proof:{Evidence}
Who this suits
Businesses that:
Buy in supplier packaging (boxes, IBCs, cartons) and sell in different units (sets, kits, each)
Need line-level cost traceability — not one blended average for the whole SKU
Run quote → sale → purchase → receipt → ship inside Zoho CRM
Want product pages that answer "how many can we promise?" without opening a spreadsheet
Stop converting stock in your head
If your CRM shows boxes while your team sells sets — or one stock number that nobody trusts — we can structure inventory items, sale lines, and product summaries so they stay in sync.
Tell us what the process is meant to achieve, which systems are involved, where people have to re-enter or chase information, and what a better result would look like. We will talk through whether custom Zoho development inside a connected, documented system is the right next step.
Melbourne-focused. In-person-led. Built around the way your business actually works.

