Invoice-First Workflow
You are the accounts-payable clerk or the buyer for an import, and the supplier’s paperwork has arrived before their goods have. Sometimes it is a pro-forma invoice asking for 30% up front; sometimes it is a full tax invoice dated the day the container left. By the end of this guide you will have paid the deposit without putting a single unit into stock, kept the order visible to everyone until the goods land, received them, booked the final bill, and cleared the deposit against it — with the exchange difference landing where it should. Allow 30 minutes for the first one.
The one thing to know before you start: in BigLedger the purchase invoice is the document that books the stock. If you key the supplier’s invoice the day it arrives, you have just told every branch that 500 laptops are on the shelf. They are at sea. So this guide does not key that invoice until the goods are here — the deposit is recorded another way.
Meet GadgetSphere
GadgetSphere Distribution Sdn Bhd (company code GSD) buys wholesale stock for the group. It has
ordered 500 units of an ultraportable laptop model from a Singapore distributor at USD 620 each —
USD 310,000 — on terms of 30% with the order and the balance on delivery. The distributor has sent a
pro-forma invoice for USD 93,000 and expects payment before the container ships. The goods will
arrive at the fulfilment centre, location GSO-FC-01, in about five weeks.
Three things worth knowing first
- A purchase order posts nothing. Finalising it locks the lines and puts them in the open queue. It has a Payment tab that will accept a deposit line, but the order itself creates no journal and no supplier balance, so a deposit recorded there is a note, not money. The deposit goes on a Payment Voucher.
- A payment voucher with no invoice to contra is how a deposit is recorded. FINAL posts Dr Creditor / Cr Bank and leaves the voucher’s own balance open — a debit sitting on the supplier’s account until an invoice is contra’d against it. There is no separate “prepayment” document.
- Foreign-currency documents post through a base-currency shadow. You key the order and the
invoice in USD at the rate on the day; at FINAL BigLedger creates a base-currency copy that
carries the posting. The difference between the rate you paid at and the rate you invoiced at is
posted to
FOREX_GAINorFOREX_LOSSwhen the invoice is settled.
Before you start
- The supplier exists, with the right AR/AP type — that decides which creditor account the deposit and the invoice post to.
- The item exists and is linked to an inventory item, with serial tracking switched on before this receipt if you track laptops by serial. GadgetSphere does.
- USD is set up as a currency with a rate in the Forex applet, and you know whether your users
may edit the rate on a document (
CANNOT_EDIT_CURRENCY_RATElocks it to the fetched value). - The bank account you will pay from is a settlement method assigned to your branch, linked to a cashbook with a GL code.
- Default GL codes for the company: the creditor code for this supplier’s type,
PURCHASE,INPUT_TAX,FOREX_GAINandFOREX_LOSS. - You have finalise permission on purchase orders, payment vouchers, GRNs and purchase invoices — or you know who does at each step.
Step 1: Raise the order in the supplier’s currency
Purchasing > Purchase Order (Internal) > Purchase Order > Create
Create the order as you normally would — branch, delivery location GSO-FC-01, the supplier on the
Account tab — and on Main Details set the Currency to USD. The rate fills from the Forex
applet; check it against the day’s rate and change it only if your setup allows.
On Lines, add the laptop model, 500 units at USD 620. Put the supplier’s pro-forma number in the reference field and write the payment terms — 30% on order, 70% on delivery — in the remarks, so the person paying the balance in five weeks does not have to ask. Attach the pro-forma on the Attachments tab; it is the only record of the terms you will have inside BigLedger.
SAVE, then FINAL. The order locks and its 500 units enter the open queue. Nothing has posted: no journal, no stock, no supplier balance. That is correct — an order is a promise.
Watch out for: the order will now appear in
Stock Availability as 500 more units
available at GSO-FC-01, because open purchase orders raise the available figure. Sales staff who
sell against availability rather than balance can sell laptops that are still in Singapore. Tell
them, or have them read the Details screen, which shows the documents behind the number.
Step 2: Pay the deposit — on a payment voucher, not on the invoice
Finance > Payment Voucher (Internal) > Internal Payment Voucher > Create
This is the step that people get wrong by keying the pro-forma as a purchase invoice. Do not. A purchase invoice books stock at FINAL; you have no stock yet.
Create a payment voucher for company GSD. On Account, pick the Singapore distributor as the
payee. On Main Details, set the currency to USD and check the rate. Leave the Expenses tab
empty — you are not paying for anything yet, you are paying in advance. On the Payment tab, add
one line: settlement method bank transfer from your USD account (or your primary bank if you
pay in converted MYR), amount USD 93,000, the transfer reference in the reference field. Leave the
Contra tab empty — there is no invoice to apply this to yet.
Write Deposit against PO
SAVE, then FINAL. BigLedger posts:
Dr Creditor — the distributor USD 93,000 (at today's rate)
Cr Bank — the cashbook you paid from USD 93,000and writes one cashbook transaction line, which is what Bank Reconciliation will match against your statement. The voucher’s own balance stays open: on the supplier’s account it is a debit of USD 93,000 with nothing against it. That open voucher is your prepayment record. It appears in the Creditor Report among the supplier’s outstanding documents until Step 6 clears it.
Watch out for: a settlement method with no cashbook behind it. FINAL still succeeds; it is the
posting job a moment later that fails with MISSING_CASHBOOK: STL_MTHD [code] (or
MISSING_GL_CODE: STL_MTHD [code] when the cashbook has no GL code), and you are left with a FINAL
voucher whose Posting tab shows Cashbook or Journal failed and nothing for Bank Reconciliation to
match. Map the method in the Cashbook applet, then Financial Report > Error Checking > Trace
Document → Resolve. Nothing needs re-finalising.
Step 3: Keep the order visible until the goods land
Nothing to key here; this is about where to look.
- The order’s lines sit in the Purchase Order Queue inside the Purchase Order applet — every committed line not yet received. Anyone chasing overdue deliveries starts there.
- PO Line with GRN KO, in the same applet, shows the order against what has been received. Until the container arrives, received is zero.
- The supplier’s account in the Creditor Report shows the open USD 93,000 voucher.
If the supplier sends a full tax invoice while the goods are still in transit — some do, dated
the day of shipment — file it on the order’s Attachments tab and wait. Keying it now books 500
laptops into GSO-FC-01. If your accountant needs the liability shown at a period end that falls
before delivery, that is a manual journal in
Ledger And Journal, reversed when the invoice posts in
Step 5 — BigLedger has no document that books a supplier liability for goods without also booking
the goods or an accrual against them.
Step 4: Receive the goods
Purchasing > Purchase GRN (Internal) > Internal Purchase GRN > Create
The container is unpacked at GSO-FC-01. Count first. Then create the GRN, set branch and
location, and pull the order in — KO For → Purchase Order, or Search Document → Search Purchase
Order on a saved draft. The 500 come across from the open queue; change the received quantity if
the count differs. Open each line and enter or scan the serial numbers; the count must equal the
quantity, and — when your GRN applet has serial validation on FINAL switched on — a serial that
already exists in the company stops FINAL.
Record the shipping documents’ reference in the header and attach the packing list. SAVE, then FINAL.
The GRN locks, knocks the 500 off the order, and — provided the company’s Knock Off Configuration has the Purchase GRN → Purchase Invoice row — queues itself for the invoice. It writes no stock and no journal — the laptops are on the floor and not yet in the ledger. Stock Availability shows them as GRN quantity.
Step 5: Book the final invoice
Finance > Purchase Invoice (Internal) > Internal Purchase Invoice > Create
Now the supplier’s tax invoice — USD 310,000 for 500 units — can be keyed, because the goods are here. Set branch and location, the invoice date, and the supplier’s invoice number in the reference field. Currency USD; the rate fills from the Forex applet for that date. On Account pick the distributor. On KO For, choose Purchase GRN and pick the receipt from Step 4. The 500 lines come across.
Compare the copied lines with the paper: 500 units, USD 620, USD 310,000. If the distributor has billed a different price, this is the moment to stop; BigLedger will not stop you.
Add the tax line your supplier charges, if any — an import from Singapore normally carries no supplier SST; any import duty and tax paid to the forwarder is its own invoice from the forwarder.
FINAL. BigLedger creates the base-currency shadow and posts:
Dr Purchase RM equivalent of USD 310,000
Cr Creditor — the distributor RM equivalent of USD 310,000and books 500 units into stock at GSO-FC-01 with their serial numbers, updating the item’s last
purchase cost. The Posting tab shows Journal and Inventory posted; TraceDocument shows the
rows.
Watch out for: This document is in USD but the company currency is MYR. Enter a non-zero exchange
rate before finalising. (FOREX_DOC_REQUIRES_NON_ZERO_XRATE) — no rate was fetched for USD on that
date. This one does stop FINAL. Enter it, or add the rate in the Forex applet, and finalise again.
Step 6: Clear the deposit and pay the balance
Two things to do, in this order.
Apply the deposit. Open the finalised invoice and go to its Contra tab. Search the supplier’s open documents; the USD 93,000 payment voucher from Step 2 is there. Tick it and enter USD 93,000 as the contra amount. Save. The invoice’s open balance drops to USD 217,000 and the voucher’s open balance drops to zero.
Pay the balance. Create a second payment voucher for the distributor — one payment line, USD 217,000, bank transfer, the invoice number in the reference — and on its Contra tab tick the invoice and enter USD 217,000. FINAL. The invoice is settled; the supplier’s account is nil.
If the exchange rate moved between the deposit, the invoice and the final payment, the difference
between what the invoice posted and what the two vouchers posted is written to FOREX_GAIN or
FOREX_LOSS on settlement. You do not calculate it.
What success looks like
Thirty seconds, four checks:
- The supplier’s Statement of Account in the Creditor Report shows the invoice, both vouchers, the contra, and a balance of zero.
- The order shows no open quantity; it is gone from the Purchase Order Queue.
- Stock Balance for the laptop at
GSO-FC-01is up by 500, and it was not up by 500 five weeks ago when you paid the deposit. - Ledger And Journal shows a forex gain or loss line dated the final payment, if the rate moved.
Common mistakes
Keying the pro-forma as a purchase invoice. The commonest one. The invoice books stock at FINAL, so every branch sees 500 laptops available that are still in transit, and the second, real invoice five weeks later books them again. Symptom: stock balance double what is on the shelf. The pro-forma is an attachment on the order; the deposit is a payment voucher.
Putting the deposit on the purchase order’s Payment tab. The tab accepts it, and the order posts nothing — no journal, no cashbook line, no supplier balance. Symptom: the bank statement shows USD 93,000 leaving and Bank Reconciliation has nothing to match it to.
Contra’ing the deposit against the wrong document. A supplier with several open vouchers and invoices makes this easy. Put the order number in the deposit voucher’s remarks and reference at the time, not later.
Selling against availability while the order is open. Open purchase orders raise the available figure. Sales staff who read availability rather than balance can sell goods at sea. The Details screen in Stock Availability names the documents behind the number.
Forgetting the rate. A USD document with no rate for its date will not finalise. Keep the Forex applet’s rates current for the currencies you buy in.
Paying the balance before the invoice is in. A second no-contra voucher is another open deposit; nothing stops it and the supplier’s account then shows two debits and no invoice. Book the invoice first, then pay against it.
Related documentation
The applets behind each step (full reference, every field and setting):
- Purchase Order (Internal)
- Payment Voucher (Internal)
- Purchase GRN (Internal)
- Purchase Invoice (Internal)
- Forex
- Creditor Report
Related guides:
- Standard Procurement Workflow — the same chain when the goods and the bill arrive in the usual order
- Bank Reconciliation Guide — matching the two payment vouchers against your statement
- Purchasing module — core concepts — the signums, and why the invoice is the document that moves stock