Skip to content
Direct Invoice Workflow

Direct Invoice Workflow

Not everything you buy arrives on a pallet. Rent, electricity, the accountant’s fee, the cleaning contract, a software subscription — there is no purchase order, nothing to receive, and no stock to book. This guide is for the bookkeeper or AP clerk who keys those bills. By the end of it you will have booked one of these bills straight onto a purchase invoice, put the cost in the right expense account, and posted its input tax in the month the supplier billed you. It takes about three minutes once your expense items exist.

There is one setup decision that makes the difference between this being easy and being a monthly argument with your accountant, and it is covered in Step 1: what kind of item you use on the line. Get that right once and every future bill from the same supplier posts itself to the right place.

  1. Set up the expense items once.
  2. Create the invoice.
  3. Enter the lines.
  4. Attach it and finalise.
  5. Pay it.

Meet GadgetSphere

GadgetSphere Sdn Bhd pays rent on 22 branch premises, electricity on all of them, and a long tail of professional and subscription spend from head office. Today’s bill is the March rent for branch GS-KV-01: RM 12,000 plus RM 720 SST at 6%, RM 12,720 total, payable on the 7th.

When to use this workflow

Use it when there is genuinely nothing to receive:

  • Rent, utilities, telecommunications, insurance
  • Professional fees — audit, legal, tax agent, consultancy
  • Software subscriptions and hosting
  • Repairs, maintenance and cleaning contracts
  • Freight and courier charges billed separately from the goods

Do not use it for goods that arrived. Even if nobody raised an order, the goods should be recorded on a GRN first so there is a receipt to point at — see Direct GRN Workflow.

Do not use it for stock you did order. Receive against the purchase order and knock the receipt off — see Standard Procurement Workflow.

The chain, end to end:

    flowchart LR
  IT["Service or Account Code item<br/>linked to its GL code"] --> PI["<b>Purchase Invoice</b><br/><b>posts to the ledger</b><br/>moves no stock"]
  PI -->|"one bill"| PT["Payment tab<br/>on the invoice"]
  PI -->|"a run of bills"| PV["Payment Voucher<br/>one cashbook transaction per payment line"]
  

Before you start

  • One expense item for each recurring cost, each linked to its GL code. Step 1 sets them up once; after that a bill takes about three minutes.
  • The supplier in the supplier master, with an AR/AP type. The type decides which creditor account the invoice credits. With none, the journal fails (Step 4).
  • Company default GL codes linked: the creditor account for the supplier’s AR/AP type, PURCHASE (unless every expense item carries its own GL code) and INPUT_TAX. A missing one does not stop FINAL; it leaves the invoice with no journal, or with a journal short of a line.
  • The supplier’s invoice as a PDF, to attach in Step 4.
  • The right to finalise purchase invoices. There is no approval step, so whoever holds it is your control.

Step 1: Set up the expense items once

Master Data > Doc Item Maintenance

A purchase invoice line needs an item, even when what you are buying is not a thing. BigLedger’s item types cover this: alongside the ordinary stock item there are non-stock types, including Service items and Account Code items — the latter being an item that simply stands for a General Ledger account.

Why this matters: the stock processor only writes an inventory transaction for a line whose item resolves to an inventory item. A Service or Account Code item does not, so an invoice made entirely of those lines posts to the ledger and moves no stock at all, even though the purchase invoice document type is quantity-signum +1. There is no special “expense invoice” document — the item type is what makes the difference.

Set up one item per recurring cost you book: Branch rental, Electricity, Audit fee, Cloud hosting. Link each to the GL code it should post to. Do this once, and every future bill posts to the right account with nobody having to remember which one it was.

Watch out for: some applets are configured to keep Account Code items out of the item picker on purchase orders. That setting is deliberate and does not affect purchase invoices — but if you cannot find your expense item on a line, that is the first thing to check with whoever owns your applet settings.

Step 2: Create the invoice

Finance > Purchase Invoice (Internal) > Internal Purchase Invoice > Create

Click Create. Branch and location are the only unconditionally required header fields. For branch rent, set the branch the cost belongs to — GS-KV-01 — because that is what makes the per-branch profit and loss report right without any further tagging.

Set the transaction date to the date on the supplier’s invoice. That date decides the accounting period, and with it the month your input-tax account moves. Put their invoice number in the reference field.

On the Account tab, pick the supplier — the landlord, the utility, the firm. If they are not in the supplier master, add them properly rather than booking to a generic “sundry” account; a year later you will want to know what you paid each landlord.

Step 3: Enter the lines

Finance > Purchase Invoice (Internal) > (your draft) > Line Items

Add the expense item you set up in Step 1 — Branch rental — with quantity 1 and amount RM 12,000. Set the tax code; RM 720 at 6% SST.

Where the debit lands is decided in this order: a GL code entered on the line, then a GL code on the document header, then the item’s own company GL link, then the company’s default PURCHASE code. If your items are set up as Step 1 describes, the item’s GL link does the work and you never touch the line’s GL code. If you are booking a one-off cost with no item of its own, override the GL code on the line instead of inventing a new item.

If you report by segment, project or profit centre, tag them on the Department Hdr tab. For GadgetSphere’s branch rent, the branch on the header is usually enough.

For a bill covering several things — a utility invoice with electricity, water and a late-payment charge — use one line per cost with its own item and its own tax treatment. Lumping them together makes the ledger tidy today and useless in six months.

Step 4: Attach it and finalise

Finance > Purchase Invoice (Internal) > (your draft) > Attachment, then FINAL

Attach the supplier’s PDF. For recurring bills this is the only evidence there will ever be that the amount was what they asked for.

There is no approval step on a purchase invoice and no approval queue — only the Purchase Order and Purchase Requisition screens can submit a document to BigLedger’s document-approval engine. Whoever holds the finalise permission is your control. If your policy is that expenses over a certain amount need a second signature, that policy lives in who can click FINAL, not in the system.

Before you click FINAL on your first expense invoices: check every purchase and tax code has a company default, or every expense item its own GL code. A missing one does not stop FINAL; it posts the journal wrong (the third warning below).

Click FINAL. For our rent bill:

Dr  Rental Expense                     RM 12,000
Dr  Input Tax                          RM    720
    Cr  Creditor — the landlord                RM 12,720

No inventory line is written, because no line resolves to an inventory item.

Open the Posting tab to check: Journal posted, Inventory showing nothing to post. TraceDocument shows the journal rows.

The three things that go wrong on a first expense invoice — and they behave differently:

  • A locked period stops FINAL. The supplier’s invoice date falls in a closed month, and the document stays a draft until that changes. Do not move the date to make the error go away; that puts the bill and its input tax in the wrong month. Ask for the period to be reopened, or agree with your accountant where it should sit.
  • A missing GL mapping does not stop FINAL. The document goes FINAL, and the posting job that runs afterwards fails with MISSING_DEFAULT_GL_CODE: <code> when the creditor account for the supplier’s AR/AP type is not linked. You will not see a message on the Final button; you will see it on the Posting tab, where Journal shows a failure instead of posted. Fix the mapping in the Chart of Account applet, then go to Financial Report > Error Checking > Trace Document, find the invoice under Missing Journal, and Resolve it. Nothing needs re-finalising.
  • An expense line with no GL code fails nothing — it posts wrong. When the expense item has no GL link and the company has no default PURCHASE code, or INPUT_TAX is not linked, the job leaves that line out and builds the supplier’s line from what remains; the journal balances and the Posting tab says posted. You notice it only in the payable GL account, which stops agreeing with the creditor ageing (the supplier statement and ageing are built from documents); Purchasing configuration §3 works it through on a RM 1,060 bill. A supplier with no AR/AP type is the exception: the job fails with TOTAL_DEBITS_AND_TOTAL_CREDITS_NOT_BALANCES, or NO_JOURNAL_CREATED when no line resolved at all.

Step 5: Pay it

  • One bill — record the settlement on the invoice’s own Payment tab. Methods are the ones assigned to your branch in Branch Settings.
  • A run of bills — use the Payment Voucher (Internal) applet: payee, one payment line per real bank movement, contra-linked to the invoices being settled. Each payment line becomes one cashbook transaction, which is what you will match against your bank statement.

For the ones that repeat every month at the same amount — rent, subscriptions — CLONE the previous invoice rather than retyping it, and change the date, the reference and the amount. It runs as a background job, so give it a few seconds.

What success looks like

Thirty seconds, three checks:

  1. The Posting tab shows Journal posted and no inventory movement.
  2. Open your trial balance or the expense account — the RM 12,000 is in Rental Expense, against branch GS-KV-01, in March.
  3. Open the input tax account — the RM 720 is there and will appear on the SST return for the period the invoice is dated in.

Common mistakes

Using a stock item for a service. The line resolves to an inventory item, an inventory transaction gets written, and you now have phantom stock of something that does not exist. Symptom: a stock report with an item you cannot find in the warehouse. Use Service or Account Code items.

Booking everything to one generic expense item. It posts, it balances, and it tells you nothing. One item per recurring cost, linked to its GL code, costs ten minutes once.

Dating the invoice today. The transaction date drives the accounting period, and with it the month your input-tax account moves. A March bill entered in April, dated April, understates March and overstates April, and its input tax moves in April too.

Booking to the wrong branch. Head office pays the bill, so it gets keyed against head office, and 22 branches show no rent. The branch on the header is what the per-branch report reads.

Skipping the attachment on a recurring bill. These are exactly the invoices nobody remembers and everyone queries. The PDF is thirty seconds now and the whole answer later.

Expecting a routing or approval step. There is none. If an expense should not be paid without a second look, the second look has to be a person before someone clicks FINAL.

Assuming FINAL means posted. A FINAL invoice with a red Journal status on its Posting tab has no journal behind it, and the expense is not in your ledger. After any change to the chart of accounts, open the Posting tab of the first invoice you finalise.

Related documentation

Last updated on