Billing a Goods Received Note
Turn a receipt into a recorded cost — without adding the stock twice.
A goods received note records that goods arrived. It moves stock and nothing else — a GRN posts no journal entry. The cost and the payable arrive only when you bill it. This page covers that conversion: how to do it, what it posts, and the two traps that come with it.
The Two Halves of One Event
| Document | Stock on hand | Ledger | Accounts Payable |
|---|---|---|---|
| Goods Received Note | Rises by the received quantity | No entry at all | Unchanged — the vendor has not billed you yet |
| Bill created from it | Unchanged — the GRN already did it | Cost or inventory, plus recoverable tax | Created — the vendor becomes a creditor |
This split is deliberate. It keeps the warehouse honest about what is on the shelf without asserting a liability the vendor has not yet claimed.
Trabalance does not post a GRNI accrual, and there is no GRNI clearing account in the chart of accounts. The gap between receipt and bill is visible instead as the list of GRNs still sitting Open. See Received, not yet billed for how to review that list at period end.
Converting
From the GRN detail page: More → Convert to → Bill.
From the Lifecycle panel: the Bills stage → Create bill.
The bill opens pre-filled with the GRN's vendor, items, quantities and rates. What you typically change:
| Field | Why you would change it |
|---|---|
| Date | The bill date is the vendor invoice date, which is rarely the delivery date. It decides the period the cost falls in. |
| Rate | The vendor invoiced a different price from the one on the order. Change it here — and expect the Lifecycle panel to flag the variance. |
| Qty | You are billing only part of what was received, or the vendor billed for more than arrived. |
| Payment terms / Due date | The GRN carries neither. The bill needs them so the payable ages correctly. |
What the Bill Posts
| Account | Debit | Credit | Description |
|---|---|---|---|
| Inventory asset | 1,616.00 | — | Cost of the goods received — the value, not the quantity |
| Purchases tax (recoverable) | 161.60 | — | Tax charged by the vendor, recorded on its own account |
| Accounts Payable | — | 1,777.60 | The vendor is now a creditor for the full amount |
For service or expense items the debit goes to the item's own expense account, or to the default Purchases account when the item has none. The stock quantity is untouched either way — the GRN already moved it.
A Short Delivery, Billed Correctly
PO000118 is raised for three lines. Status: Open.
The GRN records what actually arrived — one line is 12 units short. Stock on hand rises by 220. Nothing in the ledger. The PO moves to Partly fulfilled.
Convert the GRN to a bill for the received quantity only. Cost and payable post for what you actually have. The GRN reads Matched.
The purchase order is still Partly fulfilled, so the outstanding 12 units remain on your open-commitment list until they arrive or the order is closed.
Copying the ordered quantity onto the bill when less arrived creates a payable for goods you do not have and inventory value with no stock behind it. The Lifecycle panel will flag it — Billed quantity differs from delivered — but the cleanest fix is not to do it. Bill the received quantity; let the purchase order carry the shortfall.
Billing One GRN More Than Once
A GRN reads Matched as soon as a document is created from it, but Trabalance does not stop you creating a second bill against the same GRN. That is intentional — some vendors invoice a single delivery in parts. It also means Matched is not a guarantee that the whole receipt has been billed. When a delivery is invoiced in parts, check the totals on the Lifecycle panel rather than trusting the badge.
Related
- What a receipt records and how to raise one: Goods received notes.
- Reviewing the gap at period end: Received, not yet billed.
- Everything the bill form carries: Creating a bill.
- The variance findings on the chain: Tracking a bill — the Lifecycle panel.