Skip to content
Cash Sales Workflow

Cash Sales Workflow

You are on the counter. Someone puts a pair of earbuds on the desk, taps their card, and expects to be out of the shop in under a minute. By the end of this guide you will know how to open your till at the start of a shift, ring a sale through, take any tender the shop accepts, and close the day so that the cash in the drawer matches what BigLedger says it should be. The selling part takes about thirty seconds once you have done it twice. The opening and closing take five minutes each and they are what keep you out of trouble.

Everything here happens in one applet: POS General.

Meet GadgetSphere

GadgetSphere Sdn Bhd runs 22 consumer-electronics branches across Malaysia. You are on the counter at GS-KV-01 in Klang Valley. The shop takes cash, cards, e-wallets, gift vouchers and member points. Today’s sale is a pair of wireless earbuds at RM 249 and a USB-C cable at RM 39 — RM 288 net, RM 17.28 SST at 6%, RM 305.28 to collect. The customer wants to pay RM 100 in cash and the rest on a card.

The one thing to understand before you start

A counter sale in BigLedger is a single document called a cash bill. It is not an order followed by an invoice followed by a receipt — it is one record that does all three jobs at once. When you press FINAL:

  • the items come out of stock at your branch’s location, straight away;
  • the sale is posted to the ledger — revenue and SST (cost of goods sold is a month-end journal, not part of the bill);
  • each payment you took is written into the cashbook behind that payment method, ready to be reconciled against the bank;
  • and, if your company is registered for e-Invoice, the bill is queued for submission to LHDN.

There is no separate “post” or “issue invoice” step afterwards. FINAL is the whole thing. That is why the rest of this guide is mostly about what to check before you press it.

Before your first shift

You do not set these up — your branch manager or the finance team does — but it helps to know what they are, because when one is missing the error message you see at the counter points straight at it.

  • Your branch has settlement methods linked to it. These are the payment buttons. If the settlement panel is empty, nobody has linked your branch in Cashbook → Settlement Method → Branch.
  • Your branch has a default location. The bill must sell from it. If it does not, FINAL is refused with “The location does not match the branch’s default location.”
  • The company’s default GL codes are mappedSALES, DEBTOR, OUTPUT_TAX, SALES_RETURN, SALES_DISCOUNT (and COGS for month-end). At GadgetSphere those are SALES-ACCESSORY, DEBTOR-TRADE-RETAIL, LIAB-SST-OUTPUT, COST-ACCESSORY and so on. A missing one does not stop FINAL — the bill goes through and the posting job behind it fails, which is why the Posting tab check in What success looks like matters.
  • A rounding item exists. Malaysian cash rounding to the nearest 5 sen is added to the bill as a line, using the item set in Default Selection. Without it, cash bills that need rounding cannot balance.
  • You have a walk-in customer. Every bill needs a customer; the default one is pre-selected so you never have to think about it.

Step 1: Open your session and count your float

POS General > Session > Create

Start here, before your first customer. Opening a session records who is on the till, on which terminal, and how much money was in the drawer when you started.

Give the session a code and a name — your branch’s convention, something like KV01-AM-15SEP. Enter the Opening Amount: the cash you counted in the drawer. If your shop uses the denomination Float Count, key the notes and coins in and let it total for you; it is slower but it is the version that survives an argument at 9 pm.

If there is no Session menu, your tenant has session and float control switched off. That is a legitimate setup — smaller branches often run without it — and you can skip straight to Step 2. You lose the opening/closing float figures on the Z Report; you do not lose anything else.

Step 2: Ring the sale

POS General > Create Cash Bill

The counter screen opens with the walk-in customer already filled in and the cursor in the item box. Scan the earbuds. Scan the cable. The lines appear with their retail price from the pricing scheme linked to your branch.

POS counter screen with the item search box and the Add button
Scan into the search box, or click Add to search by name.

Three things worth knowing while you are here:

  • To change quantity or price, click into the line. Price edits are permission-controlled; if the price box is read-only, that is deliberate, and a supervisor can do it.
  • If the customer is a member, click the customer field and search for them. Points earned are worked out on save, and points can be used as a payment method later. Do this before you finish the bill — adding a member afterwards means voiding and starting again.
  • If the item is serialised — phones, laptops — scan the serial on the line’s Serial Number tab. The number of serials must equal the quantity, or FINAL is refused. This is the single most common counter error on high-value items.

Need to park this customer and serve someone else? Hold Bill keeps the draft and gives you a clean screen. Pick it back up from the same tab.

Step 3: Take the payment

POS General > Create Cash Bill > settlement panel

Each payment method your branch accepts is a button. Click Cash, enter RM 100 — or use one of the quick-cash buttons — then click the card method and enter RM 205.28. The card method may ask for an approval code, the last digits, the issuer; which of those are required is set per method.

Settlement panel showing one button per configured payment method
One button per settlement method your branch offers. If this panel is empty, the branch has no methods linked.

The rule that catches people out: the payments must add up to the bill exactly. If they do not, FINAL is refused with GENERIC_DOC_PNS_AND_STL_MTHD_DOES_NOT_MATCH. Nine times out of ten the missing amount is rounding — a cash bill of RM 305.28 paid entirely in cash needs a RM 0.02 rounding line to make RM 305.30.

You can also settle against something the customer already has with you — a credit note, an overpayment — using Contra, if your branch has it switched on.

Step 4: FINAL

POS General > Create Cash Bill > FINAL

Read the total back to the customer, then press FINAL.

BigLedger now checks, in one pass: that the payments match the total; that the location is the branch’s default; that the customer is not blacklisted; that serials, batches and bins add up; that there is stock at the location; that any points being redeemed are actually in the member’s balance; and that the date is not in a locked accounting period. If anything fails you get all the failures at once, and the bill stays open so you can fix it.

When it passes, the receipt prints (and the cash drawer opens, if your terminal runs the POS Agent), and the posting happens behind the scenes:

Dr  Cash — primary bank, KV01            RM 100.00
Dr  Card receivable — card acquirer      RM 205.28
    Cr  Sales — accessories                       RM 288.00
    Cr  SST output tax                            RM  17.28

and two items leave the shelf at GS-KV-01 at their moving-average cost. There is no cost-of-sales line on the bill: cost of goods sold is written once a month by the Financial Report applet’s month-end processing.

Step 5: Fix a mistake without panicking

Three things go wrong at a counter, and each has its own repair.

Wrong payment method — the customer paid by card and you keyed cash. Do not void. Use Settlement Adjustment: open the bill, remove the wrong payment line, add the right one, and click Adjust Settlement. The cashbook side re-posts. This needs both the setting and the permission, so it is usually a supervisor’s job. One caution if the bill is in a month finance has already reconciled: the adjustment deletes the old cashbook line and writes a new one, which undoes any bank-reconciliation match on it, and nothing stops you. Tell finance, or have them unreconcile that line first — see Payment Aggregators and Branch Settlement Methods.

Wrong serial number scanned — you sold unit A and handed over unit B. Use Swap Serial Number on the sold line. It corrects both stock records without touching the bill.

Wrong everything — void it. Open the bill from Cash Bill Listing, click VOID, give a reason. The stock comes back, the journal and cashbook lines reverse, and the void is counted separately on the Z Report so the day still balances.

The customer wants to return something they bought earlier. That is not a void — the original sale was correct. For a small counter return, add return lines to a new bill. For anything with a refund to arrange or goods to inspect, use Sales Return (Internal) and read the Returns and Exchanges guide.

Step 6: Close the day

POS General > Z Report, then Session > close

Run the Z Report for your branch and today’s date. It gives you, in one screen:

  1. what you took, per payment method, with a total;
  2. the same, broken out per cashier;
  3. gross sales, discount, rounding, net sales and tax;
  4. sales per item category;
  5. counts — transactions, discounted transactions, items sold — and the void and draft counts.
Z Report screen with branch and date fields and the Search and Export to PDF buttons
The Z Report takes one branch and one date. Export to PDF for the day's file.

Count the drawer. Compare the cash line on the Z Report against what you counted. If your session had an opening float and cash in/out movements, those appear on the report too, so the arithmetic is: opening float + cash sales + cash in − cash out − refunds = what should be in the drawer.

Then close the session with the Closing Amount you counted, and export the Z Report to PDF for the day’s file.

The Z Report does not cover everything that happened today. It sums exactly four document types: cash bills, sales invoices, sales returns and sales refund notes. A credit note raised at your branch, or a receipt voucher from a customer paying off an old invoice, is real money and is not on the Z Report. If your branch does either, reconcile them separately — or your drawer will look right and your bank will not.

What success looks like

Thirty seconds at the end of your shift:

  1. Z Report cash line = cash you counted (after opening float and cash in/out). A difference of a few sen is rounding; a difference of tens of ringgit is a keying error, and it is easier to find today than tomorrow.
  2. Open Cash Bill Listing, filter to today, status FINAL. Every bill you rang is there. Anything still showing as a held draft is a customer you parked and forgot.
  3. Pick one high-value bill and open its Posting tab. Journal, Cashbook and Inventory all show as posted. If Journal or Cashbook failed, a GL code or a settlement method’s cashbook is unmapped; the bill is still FINAL, and finance repairs it from Financial Report > Error Checking > Trace Document once the mapping exists — before the month closes.

Common mistakes

Waiting for something else to reduce the stock. The cash bill did it, at FINAL. There is no picking document, no delivery note, no second step. If your stock figures look high, check whether bills are sitting on hold rather than finalised.

Adding the member after the bill is finalised. Points are generated on save for a bill that has a member. Finalise without one and the points are gone — the fix is to void and re-ring, which nobody enjoys at a busy counter. Ask for the member card first, every time.

Scanning the wrong number of serials. The count must equal the quantity. Two phones means two serials. The error at FINAL names the item, but by then the customer is waiting.

Forcing a bill to balance by changing the price. When the payments do not match the total, the answer is almost always a missing rounding line or a mistyped payment amount — not the price. Changing the price to make it fit posts the wrong revenue and the wrong SST.

Backdating a bill for yesterday. POS only lets you backdate about a week, and even then the money lands in the wrong day’s Z Report. For anything older, finance raises a Sales Invoice (Internal) instead.

Closing the shift without running the Z Report. It is the only record that ties the drawer to the ledger for that day. Once tomorrow’s bills start, reconstructing today is an afternoon’s work.

Related documentation

Last updated on