Operations

Account Mapping

How items connect to ledger accounts — and what journal entries fire on every transaction type.

Account mapping is the bridge between Operations and Finance. When a transaction involving an item is approved, the system uses the item's ledger slots — or the business defaults where a slot is blank — to construct the journal entry automatically. The quality of your account mappings determines the accuracy of your financial statements.

The Ledger Accounts section on the item form, and the card that verifies it on the item page.

Mapping by Item Type

Each item type has a specific set of ledger slots. Every slot is optional on the form; a blank slot uses the business default shown below. The table shows what each slot is used for.

Ledger slots by item type
Item TypeSlot (form label)Default when blankElement TypeWhat It Records
ProductSales AccountSalesIncomeCredited when a sales invoice for this product is approved
ProductCost of Sales AccountCost of SalesExpenseDebited when a delivery note dispatching this product is approved
ProductInventory AccountInventoryAssetDebited on purchase (GRN), credited on sale/delivery, adjusted on stock changes
ServiceService Revenue AccountSalesIncomeCredited when a service invoice is approved
ServiceService Cost AccountCost of SalesExpenseDebited when service cost is recorded (e.g., subcontractor cost). For margin tracking.
MaterialMaterial Inventory AccountInventoryAssetDebited on purchase receipt, credited on production consumption or write-off
MaterialMaterial Cost of Sales AccountCost of SalesExpenseDebited when material cost is recognized outside production
ExpensePurchases / Expense AccountPurchasesExpenseDebited on every purchase bill line containing this expense item

How Journals Fire by Transaction Type

Product — Sold on Invoice and Delivered

When a product is sold, two separate journal events occur:

Event 1 — Invoice approval (revenue recognition):

Product Sale — Invoice Approved
AccountDebitCreditDescription
Accounts ReceivableInvoice amount (qty × selling price)—Customer owes this amount
Sales Account (mapped)—Invoice amountRevenue recognized on the sale

Event 2 — Delivery note approval (COGS recognition):

Product Sale — Delivery Note Approved
AccountDebitCreditDescription
COGS Account (mapped)Qty dispatched × WAC at time of delivery—Cost of goods recognized on dispatch
Inventory Account (mapped)—Qty dispatched × WAC at time of deliveryInventory removed from the balance sheet

Product — Purchased on GRN

Product Purchase — GRN Approved
AccountDebitCreditDescription
Inventory Account (mapped)Qty received × purchase unit cost—Stock added to inventory at cost
Accounts Payable—Qty received × purchase unit costLiability to the supplier created

Service — Invoiced

Service Sale — Invoice Approved
AccountDebitCreditDescription
Accounts ReceivableInvoice amount—Customer owes this amount
Sales Account (mapped)—Invoice amountService revenue recognized

Material — Received on GRN

Material Purchase — GRN Approved
AccountDebitCreditDescription
Inventory Account (mapped)Qty received × purchase cost—Raw material stock added to balance sheet
Accounts Payable—Qty received × purchase costLiability to supplier

Material — Consumed in Production

Material Consumption — Production Batch Finalized
AccountDebitCreditDescription
Inventory Account (output item mapping)Cost allocated to each Main / Co-Product output—Finished goods added to inventory
Inventory Account (material mapping)—Qty consumed × the rate on the batch line (WAC unless overridden)Raw material inventory reduced

Expense — On Purchase Bill

Expense Item — Bill Approved
AccountDebitCreditDescription
Expense Account (mapped)Bill line amount—Expense recognized in P&L
Accounts Payable—Bill line amountLiability to supplier

Setting Account Mappings

Account mappings are set when creating an item and can be updated from the item page at any time.

Navigate to: Operations → Items → select item → Edit → Ledger Accounts section

The section is collapsed by default; its caption names the defaults in force ("Using defaults — Sales · Cost of Sales · Inventory"). Each picker lists only accounts of the matching element under a "Recommended" group — the Sales Account field only offers income accounts, so you cannot pick a cost account by mistake. If a mismatched account is submitted anyway, the save is refused with a message such as "Item inventory account must be an Asset ledger account". The item page's Overview shows a Ledger Accounts card with the resolved accounts and a "Missing" warning for any slot still reading "Not set".

💡Use sub-accounts for detailed P&L reporting

Rather than mapping all products to a single "Sales Revenue" account, consider creating sub-accounts by product category: "4010 — Electronics Sales", "4020 — Accessories Sales", "4030 — Service Revenue". The Profit and Loss report can then be expanded to show revenue by line, giving you category-level margin visibility without running custom reports.

Common Mapping Mistakes

Account mapping errors and their consequences
MistakeSymptomHow to Fix
Leaving every slot blank on every itemAll products post to the same default Sales, Cost of Sales and Inventory accounts — the P&L and balance sheet show one line each with no product-level detail.Create sub-accounts by product group and set the slots on the items that should post there.
Mapping a Material to the same Inventory Account as a ProductRaw materials and finished goods are lumped together on the balance sheet. Stock reports cannot distinguish between the two.Create separate inventory sub-accounts: "1300 — Finished Goods" and "1310 — Raw Materials". Remap items accordingly.
Picking an account of the wrong elementThe pickers only offer matching accounts; a mismatched account that reaches the server is refused with "Item [slot] account must be an [Income / Expense / Asset] ledger account" and the item is not saved.Choose an account from the Recommended group for that slot.
Expecting a missing slot to block transactionsIt does not — a blank slot posts to the business default account, so cost silently lands on the general Cost of Sales account.Check the Ledger Accounts card on the item page for any slot reading "Not set" and fill it before posting.
Mapping all services to a single revenue accountNo granularity in the P&L — you cannot see which service lines are growing or shrinking.Create sub-accounts per service type and remap items. Future transactions will use the new mapping; historical transactions retain the old account.