Sign in

Administration · Explanation

Accounting For Stock And Cogs

Published documentation for BMS Cloud.

Accounting for stock and cost of goods

Two things have to be accounted for as stock moves through the business: what it cost to get in, and what it cost when it went out. BMS handles them separately, and both end up in Xero without anyone posting a journal by hand.

Receiving stock: the purchase accruals bridge

BMS deliberately separates receiving stock from recording the supplier's invoice for it, because companies do these at different times and often for different values. A Purchase Accruals account bridges the gap:

Event Entry
Stock receipted Debit Stock, Credit Purchase Accruals
Supplier invoice processed Debit Purchase Accruals, Credit Creditors

The invoicing side happens as purchase invoices are processed to Xero. The receipt side is generated as a manual journal by a daily background job.

The point of the accrual is that it forces the difference to be visible. If what you receipted and what you were invoiced disagree, the balance sits in Purchase Accruals until someone resolves it — rather than quietly disappearing into stock value.

Selling stock: cost recognised on dispatch, not invoice

When BMS raises an invoice it is pushed to Xero as revenue — Credit Sales Revenue, Debit Debtors and GST. The cost of that sale is not recorded then.

It is recorded when the stock is dispatched: Credit Stock on Hand, Debit Cost of Sales.

That is a real choice. Invoicing and dispatch can be days apart, and recognising cost against the physical movement rather than the paperwork keeps the stock asset balance tracking what is actually in the warehouse.

The nightly journal

Each night BMS generates a Cost of Sales journal per entity, covering that trading day's dispatches, receipts and adjustments, and pushes it to Xero.

A separate journal per entity, so branches that share an organisation still account separately. View them at Admin → Journals, which lists Id, Journaled date, Description, Entity, Debit, Credit, Created and Updated, filterable by entity.

Opening one shows the entity, the trading date, whether it is Balanced, an account summary, the Xero integration state with its last push and a link into Xero, and the individual dispatch lines making it up.

Note

On a day with no dispatches BMS still writes a journal, for $0.00. That is intentional: it confirms nothing moved rather than leaving a gap in the journal sequence in Xero. An empty journal is evidence, not noise.

Sync Journal with Xero on the detail page pushes one by hand — for when the nightly sync did not complete, or a journal needs re-pushing after a correction.

Reconciling at period end

Monthly or quarterly, the accountant runs a stock valuation for the period (in the Stock module). It produces a reconciliation of stock movements, and a reconciliation of purchase accruals covering variances between receipted and invoiced stock.

Where there is a variance, there are two remedies and they are not interchangeable:

If Do
The invoiced value was wrong Void and re-invoice at the correct value
The receipt value was wrong Raise a value adjustment against the Purchase Accruals account

Related