Item Master
For: Anyone maintaining the products, materials, and services the business buys, sells, or manufactures
This is the central catalogue every transaction in ABSS Books draws from. Invoices, purchase orders, bills, and production orders all reference an item from here. Every item is built from six tabs that cover how it's purchased, sold, stocked, and manufactured, and the choices you make on those tabs genuinely change how the item behaves elsewhere in the system.
What this module does
1. Item Type, Category, and what actually tracks stock
Two fields look similar but do very different jobs. Item Category is the real switch; Item Type is mostly a label.
Item Code: Auto-generated (default I- prefix). Change prefix, next number, or auto-generate under Configure Item Number Preferences on Add Item — you cannot type a one-off code on the form.
Item Category (Goods or Service): A Service item never gets an inventory record and never moves stock on any document, though it can still be added to invoices, bills, and every other transaction.
Track Inventory: On a Goods item, this is what actually turns stock movement on or off when the item appears on a transaction. Turning it off doesn't delete the item's inventory record, and it can't be turned off while stock is still on hand.
Item Type: RM, FG, SEMI RM, TRADE, CONSUMABLE, or SCRAP is mostly a reporting label. It only changes real behaviour in two places: the FG dropdown when adding a Purchase Order, and the raw-material and scrap pickers on Submit Production.
2. Setting opening stock per warehouse
The Inventory Data tab lists every company warehouse with its own opening-stock row, and what you enter there posts straight to the ledger.
Total Opening Stock: Adds up automatically from whatever you enter per warehouse below it.
The Active checkbox per warehouse: Doesn't currently gate anything. You can leave a warehouse unchecked and still enter opening stock there, and it still posts.
Editing opening stock later: Only works until that warehouse's opening batch has actually been sold or consumed from. After that, the opening quantity is locked.
What an edit does: Recalculates the total and reposts the whole opening-balance journal entry from scratch, rather than adding an adjustment on top.
3. Minimum and Maximum Stock Level trigger real alerts
Unlike several fields on this form, these two are genuinely wired up.
Minimum / Maximum Stock Level: Checked every time this item's stock changes through an Invoice, Delivery Challan, or Recurring Invoice, and again when the item itself is created or edited.
Crossing either boundary: Sends a real-time notification. Users only receive it if Settings → Notifications has their alerts on.
View Inventory: Shows a Stock Status for each item: Below Minimum, Above Maximum, or Normal. You can filter the report by that status.
4. What Sellable and Purchasable actually control
Both checkboxes are meant to hide the item from pickers it shouldn't appear in. Right now, only one of them fully does that.
Purchasable: Works as expected. Turn it off and the item disappears from every purchase document's item picker: Purchase Order, GRPO, Bill, Debit Note, Recurring Bill.
Sellable: Currently only respected on Credit Note. Turning it off does not remove the item from Invoice, Quote, Sales Order, Delivery Challan, or Recurring Invoice pickers.
Note: Neither flag is enforced on the server once a document is being saved. They only control what shows up in the dropdown.
5. Producing this item: Process Route vs BOM-based
Production Manage Method decides how this item gets made, and it's checked differently depending on how the production order starts.
BOM-based: The item is produced from a bill of materials you build on the item itself.
Process Route: The item is produced by routing it through a Recipe of processes instead.
From a Sales Order: Sending a sold item to production checks its Process Route or BOM setup first and blocks with an error if it isn't configured.
Directly on Add Production: This check doesn't happen. You can start a production order without the item's production data being complete.
6. Where this item posts in your books
Three accounts on the item decide where its money lands in the ledger. All three are read live at the moment a document is saved.
Sales Account: Credited when the item is sold on an Invoice or reversed on a Credit Note.
Purchase Account: Debited on a Bill or Debit Note, but only for the portion of the item that isn't tracked as stock.
Inventory Account: Debited or credited on Invoices, GRPOs, Bills, Credit Notes, Debit Notes, Production, and Inventory Adjustments, anywhere this item's stock value moves.
Warning: There's no fallback account. If the relevant account is missing, saving the document fails outright. Each account also locks the moment the item is actually used on that kind of document.
7. How stock cost is calculated
Inventory Sales Method offers four choices, but only one of them does anything.
FIFO: The only method that's actually implemented. Stock is consumed oldest batch first, and that batch's purchase price is what becomes the cost of goods sold.
Nearest Expiry Date, Sales to Option, LIFO: All three appear in the dropdown marked Coming soon. Selecting one doesn't change how stock is actually consumed.
8. Fields that are stored but don't change behaviour yet
The Purchasing Data and Sales Data tabs hold a number of fields that save correctly and display back on the item, but don't yet do anything on a transaction. Worth knowing before you rely on them.
IQC / FQC / OQC quality standards: Link to a standard defined in Quality Master and display on the item, but nothing checks or blocks a GRPO, Bill, Delivery Challan, or Production Order against them yet.
Batch Number and Batch Expiry Mandatory: Enforced in the GRPO and Bill forms themselves, so the app won't let you skip them there, but not enforced at the API level underneath.
Import Item Mandatory BOE Number: Saves, but no purchase document actually requires a BOE number yet.
Purchase-to-Sales UOM Convert: Stores your purchasing unit and packaging details, but doesn't convert quantities anywhere. Buying in cartons doesn't automatically become pieces in stock.
Preferred Vendor: Informational only. It doesn't default the vendor on a new Purchase Order.
Print On Document: Saves, but no invoice, PO, or other printed document currently reads it.
9. Deactivating and deleting
Both actions are guarded, but not in the same way or to the same degree.
Mark Item As Inactive: Blocked while the item appears on any still-open document, checked across quotes, invoices, orders, production, and more. Closed or cancelled history doesn't block it. Reactivating has no such check.
Delete: A real, permanent delete, not a soft flag. Blocked if the item is referenced anywhere at all, including inside another item's own bill of materials or scrap list.
Business rules
| Topic | Rule |
|---|---|
| Item code | Auto-generated with an I- prefix unless you change prefix, next number, or auto-generate under Configure Item Number Preferences on Add Item. You cannot type a one-off code on the form itself — change the company numbering setting instead |
| Goods vs Service | A Service item can never track inventory or hold an Inventory Account — the form blocks both |
| Track Inventory | Cannot be turned off while the item still has stock on hand |
| Opening stock | Editable per warehouse only until that warehouse's opening batch has been sold or consumed from; editing it re-posts the whole opening journal, not an adjustment |
| Min / Max Stock Level | When stock crosses min or max, a real-time notification is sent to users who have alerts on under Settings → Notifications. Also drives the Stock Status filter on View Inventory |
| Item Type | Mostly a label. The only places it changes behaviour are the FG dropdown on Purchase Orders and the raw-material/scrap pickers on Submit Production |
| Producing this item | Sales Order → Production checks the item's Process Route or BOM setup first and blocks if it's missing. Creating a Production Order directly does not check it |
| Sellable / Purchasable | Purchasable correctly hides the item from every purchase document's picker. Sellable currently does not hide it from Invoice, Quote, Sales Order, Delivery Challan, or Recurring Invoice pickers — only Credit Note respects it |
| Accounts lock after use | Sales Account locks once the item is on an Invoice or Credit Note; Purchase Account once it's on a Bill or Debit Note; Inventory Account once the item has any stock |
| Inventory Sales Method | FIFO is the only method actually implemented. Nearest Expiry Date, Sales to Option, and LIFO are visible in the dropdown but marked Coming soon and don't change anything if picked |
| Deactivating | Blocked while the item sits on any open document across 15 document types (quotes, invoices, orders, production, and more). Reactivating has no such check |
| Deleting | A real, permanent delete. Blocked if the item is referenced anywhere at all, including inside another item's BOM or scrap list |
| Quality standards, BOE, UOM Convert | IQC/FQC/OQC, BOE Mandatory, and UOM Convert all save correctly but don't yet gate or affect any transaction |
| Preferred Vendor, Print On Document | Both save correctly but are informational only — neither affects a Purchase Order or a printed document |