Skip to main content

Xero - Nightly Journals for Cost of Sales

Written by Michael Mulligan
Updated this week

BMS generates a Cost of Sales journal each night for every entity. These journals record the movement of stock value from the Stock on Hand asset account to the Cost of Sales expense account for each day's dispatches, and are automatically pushed to Xero. Navigate to Admin → Journals to view all journal records.

The Journals Screen

The screen lists all Cost of Sales journal records. Each row shows: Id, Journaled (the trading date the journal covers), Description (for example, "B2B Cost of Sales Journal for 23/04/2026"), Entity (the BMS business unit), Debit, Credit, Created, Updated. Use the Entity filter to narrow by organisation or branch.

How the Nightly Journal Works

Each night, BMS calculates the cost of goods dispatched for that trading day, by entity. It then generates a journal that:

  1. Credits the Stock on Hand account — reducing the asset balance to reflect stock that has left the warehouse

  2. Debits the Cost of Sales account — recognising the cost as an expense in the P&L

A separate journal is generated for each entity. For example, ADDCOM TECHNOLOGIES PTY LTD and ADDCOM TECHNOLOGIES Wollongong each receive their own journal covering only their dispatches for that day. The journals are pushed to Xero automatically via the nightly sync job.

Journal Detail View

Click a journal row to open the detail view. The journal shows:

  • Entity — the BMS entity the journal belongs to

  • Journaled On — the trading date the journal covers

  • Balanced — whether debits and credits are equal (all valid journals are balanced)

  • Account Summary — the GL accounts affected and their net movements for the day

  • Xero Integration — the last push timestamp and a link to view the journal in Xero

  • Journal Lines — the individual dispatch lines making up the journal, showing account code, product and dispatch reference, and amounts

Manual Sync

Click Sync Journal with Xero on the journal detail page to manually push a journal to Xero. Use this if the nightly sync did not complete, or if a journal needs to be re-pushed after a correction. The Last Push timestamp updates once the sync is confirmed.

Zero-Value Journals

On days with no dispatches, BMS still generates a journal for each entity showing $0.00 debit and credit. This is expected — it confirms no stock movement occurred that day and ensures there is no gap in the journal sequence in Xero.

Connection to COGS Reporting

These nightly journals are the mechanism by which stock cost is recognised in Xero's profit and loss each day. For period-end COGS reconciliation using stock valuations, see Admin - Accounting For COGS.

Related Articles

Did this answer your question?