Skip to content
Invoice-First Workflow

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_GAIN or FOREX_LOSS when 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_RATE locks 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_GAIN and FOREX_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 in the remarks. The remark becomes the journal description, and in five weeks it is how the person booking the final invoice will find this voucher.

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,000

and 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 DocumentResolve. 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,000

and 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:

  1. The supplier’s Statement of Account in the Creditor Report shows the invoice, both vouchers, the contra, and a balance of zero.
  2. The order shows no open quantity; it is gone from the Purchase Order Queue.
  3. Stock Balance for the laptop at GSO-FC-01 is up by 500, and it was not up by 500 five weeks ago when you paid the deposit.
  4. 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):

Related guides:

Last updated on