Works25 User Guide

Documents, Payments & Sales Figures

Why one bill can print as a Proforma today and an Invoice tomorrow, where the money goes when a payment is recorded, and why three figures in your reports are never meant to add up.

  • Updated: 28 October 2026
  • For owners, supervisors & counter staff
  • 8 parts
A

Documents: what each one actually is

Seven names your customer uses, but only one bill record is in charge of all of them.

A1. Seven names, one record

Customers say "quotation", "invoice", "receipt", "proforma" as if each were a separate document. In Works25, most of them are not separate documents — they are one bill record printed under a different name depending on its state.

Document What it is in Works25 Carries money?
Quotation A separate record with its own screen No
Proforma Invoice Not a separate document. A print-time title for a bill that is not finished No, in None mode
Bill / Sales Order The core record: the record table plus items in orderlist Yes
Delivery Order (D.O.) A bill of type D.O. — a goods document, not a sales document No
Invoice Two kinds: (1) the same bill printed as an Invoice once Done/Delivered; (2) a separate invoice record created by Invoicing (A7) Yes
Receipt A printout of one payment, not a document in its own right Reflects money in
Credit Note A separate record in the creditnote table Yes (negative)
The model in one sentence

There is only one bill record. The name printed on it is decided by three things — the bill type (S.O. / D.O. / Invoice), its status (Received → Pending → Done → Delivered), and the automateddelivered setting.

Back to contents

A2. Document numbers: one sequence

A bill number and an invoice number are the same number — branch prefix plus record id.

There is no separate invoice series for ordinary invoices. The exception: a merged invoice (A7) stores an internal id starting with INV, but the number that prints still follows the normal sequence.

So "no invoice" almost always means the bill has not reached Delivered/Done yet, not that the system failed to generate one.

Credit notes have their own series, in the same format.

Back to contents

A3. When the title becomes "Proforma"

"Proforma" is a prefix applied at print time, not a stored status. There is no flag, no table, no proforma number. Everything is decided when the document is printed.

State of the bill Title printed
Status Received (any mode) Proforma Invoice
Type S.O. — a None-mode bill that is not finished Proforma Invoice
Pending / Done / Delivered and not S.O. Invoice
Bill fully settled Receipt and Invoice (two print variants of the same page)
Type D.O. Delivery Order — or Collection Note in None mode while still Received
Why this matters

One and the same bill can print as a Proforma today and an Invoice tomorrow, with the same number and no new record.

Back to contents

A4. Two modes that both print "Proforma"

One setting changes what the word means: Settings → automateddelivered.

Option What it actually controls
Received (Invoice) The bill counts as a sale the moment it is saved. No auto-delivery.
Received (Proforma Invoice) The bill is not a sale until it is finished/delivered. The Receivable account is written only when the status becomes Done/Delivered.
Delivered, except for delivery order The system presses Delivered automatically for Received bills, except D.O.s.
Delivered, including delivery order The same, D.O.s included.
Delivered, only for paid order Auto-Delivered only once the bill is settled.

The three "Delivered…" options control when the bill's status moves forward, not when money is recorded. Only the None mode changes the accounting.

Why this confuses people

In normal mode a Received bill already prints "Proforma Invoice" but already counts in sales, because the Receivable row is written immediately. There, Proforma is only a label on a bill that has become a sale. In None mode it means what it says: no sale yet, no customer debt yet — and the Bill Due row in reports is hidden as well.

Back to contents

A5. What happens when a Proforma becomes an Invoice

When an S.O. bill in None mode moves to Done/Delivered:

1. The total is recomputed from the bill's items, after discount, with rounding according to roundingdiv.

2. The old Receivable row is deleted and a fresh charge row is written, plus a separate tax row if sales tax applies.

3. The bill type is cleared, so it is no longer treated as a proforma.

4. The bill date is rewritten to the completion/delivery moment. The original order date is kept as the pickup date.

Two consequences for the owner

The sale lands on the delivery date, not the order date — a September proforma delivered in October appears in October's Total Sales. And the invoice total can differ by a few sen from the proforma, because rounding is recalculated at the moment of promotion.

Back to contents

A6. Quotation: the only truly separate one

A quotation record stands on its own and touches no stock, no debt, no account.

When the customer agrees, the quotation is carried into the order screen; the quotation record keeps a link to the bill that resulted, as a trail.

A quotation cannot be "turned into an invoice" directly — it becomes a bill, and that bill then follows the normal path (Proforma → Invoice).

Back to contents

A7. Merging D.O.s and orders into one invoice (Invoicing)

The usual situation: a customer receives goods in several deliveries — shipped daily, invoiced once a month. Or several separate orders for the same project, but they want one invoice only. For that there is the Invoicing function on the Bills page.

Step Effect on the data
Each selected bill Becomes a D.O. and is tagged with the invoice number
All transactions of those bills Moved onto the invoice, including payments already recorded
One new record Type Invoice, status Done, total = the combined sum
One Receivable charge row Rewritten for the combined total, plus a tax row if applicable
The D.O.s under the invoice Due and charge set to 0 — the money lives only on the invoice
Invoice date Taken from the last bill date in the batch

At the reporting level: the sale is recorded once — on the merged invoice, not on each D.O.

1. Open the Bills page.

2. Use the "uninvoiced D.O." filter to see D.O.s not yet on any invoice.

3. Tick the bills to merge, then choose Convert.

4. The system asks: "Converting N bills to delivery orders under 1 invoice. This cannot be reversed." Afterwards you are offered the new invoice.

Requirement If it is not met
All bills must carry the same discount % The system refuses and lists the bills that differ
No bill dated before the locked period That bill is blocked
The list is already filtered to one customer The Convert button stays hidden until a customer is chosen
At least two bills selected Nothing happens
The customer is locked by the filter

The moment you enter Invoicing mode the system tightens the list: the bill type is locked to D.O.s not yet invoiced, and you must first filter to a single customer. Until a customer is chosen the system highlights the customer filter with "Please select a profile", and the Convert button does not appear. So one invoice cannot mix customers through this function.

Combine Bills does not lock the customer

The Combine Bills function (A7.6) can be run without picking a customer. It checks date, status, discount, account and branch — but not who owns the bills. When combining bills, satisfy yourself that the list belongs to one customer.

Adding bills to an existing invoice: select the extra bills, then "edit invoice". The new bills must follow the original invoice's discount, not their own; the total is recomputed from every D.O. beneath it.

What to watch

This action cannot be undone — the system says so itself. D.O.s already invoiced disappear from the ordinary bill list. If the invoice record is deleted, the D.O.s beneath it return with status Recalculate and must be recalculated. Payments received before the merge move too, so the invoice balance = combined total − existing payments.

Point Invoicing (Convert) Combine Bills
Result One new invoice + several D.O.s One bill survives
Original bills Remain as D.O.s, tagged with the invoice number Merged into one bill; the others disappear
Requirements One customer selected + equal discount Same date, status, discount, account and branch; no return bills; customer not checked
Use when The customer wants one invoice for many deliveries Several bills on the same day should have been one bill
Back to contents
B

The money route: from payment method to report

Every ringgit passes through the same intermediate account, and that explains almost every figure in your reports.

B1. All money passes through one account

Each time a payment is recorded, Works25 writes two rows in the journal, and both touch the Receivable account:

When Journal row
Bill saved Sales account → Receivable (bill total)
Payment recorded Receivable → payment method (cash, bank, card, e-wallet)

A charge adds to the customer's debt.

A payment reduces the debt and adds money to that payment method.

A bill's balance = charges − payments. That is Bill Due.

Back to contents

B2. A payment method is an account, not a label

This is the most expensive mistake to make. "Cash", a bank name, or a gateway name is not just a name on a receipt — each one is an account in the Chart of Accounts.

A new payment method

Adding one means creating or linking an account. Link it wrongly and your cash report and bank statement will be wrong even though every bill looks right.

Cash Register

The cash register is also an account. Cash in and out are recorded as ordinary transactions, not as some magic adjustment.

Back to contents

B3. A worked example: RM1,000 bill, RM300 paid

Step From account To account Amount
Bill saved Sales Receivable 1,000.00
First payment Receivable Cash 300.00
Balance (Bill Due) — — 700.00

Total Sales rises by RM1,000 (the charge side).

All Payments rises by RM300 (the payment side).

If the customer pays RM800 against a RM700 balance, RM700 reduces the debt and RM100 is kept as customer credit — not lost, not floating.

Back to contents

B4. Three numbers that don't have to add up

In Reports → Pay, Depo, Unpaid:

Figure What it counts
Total Sales What was billed in the period
All Payments Money collected in the period, including payments against older bills
Bill Due What this period's bills still owe, as of today

They will not sum to the same thing, and that is by design — not a fault. Legitimate causes: old debt collected this month, discounts/points/vouchers, returns, and different collection dates.

Back to contents
C

Record → correct → reverse

Three different exits for three different problems. Never mix them.

C1. Recording a payment

Payments are recorded from the bill's payment screen, never by editing the bill total.

Each payment stores its date, method and amount, so the number of payments is unlimited.

Reward points and vouchers are awarded at payment time, not when the bill is saved.

Back to contents

C2. Correcting a payment mistake

Mistake What to do Effect on the balance
Wrong payment method Change the method on the payment record Charges and debt unchanged; the cash/bank account changes
Wrong amount Change the payment amount The bill balance is recomputed
Payment on the wrong bill Delete that payment record (if your role allows), then re-record it on the right bill Two bills are updated
The principle

Fix the payment, not the bill. Changing a bill total to "make the payment fit" puts stock, commission and reports out of step.

Back to contents

C3. Cancelling a bill (Void)

The Void button lives on the order screen, not on the status button row.

It only appears while the bill is still Received and no item sits on a production shelf or station. One item at a station is enough to hide it.

Void zeroes the charges, discount, points and vouchers, sets the status to Void, and deletes the bill's items.

Void cannot be undone. A mis-click means creating a new bill.

A Delivered bill cannot be voided — its exit is a return (credit note).

Back to contents

C4. Credit Note: the way out for a finished bill

A credit note is a separate record with its own number.

It is used for returned goods, adjustments, and refunding excess money.

In reports it appears as a negative line inside Total Sales — not as a payment. That is correct and deliberate.

A credit note can be used to settle another bill; the system records it as a credit-type payment.

Back to contents

C5. Refunding money

Situation Route Effect on the accounts
Customer paid more than due Keep it as credit, or refund it Credit is reduced; cash goes out
Goods returned after delivery Credit note Total Sales falls (negative line)
Bill not finished and must be cancelled Void Charges cleared entirely

Do not mix the three. A credit note is not a bill cancellation, and Void is not a refund.

Back to contents

C6. Status Recalculate: when a bill gets stuck, and how to clear it

Recalculate is not a work status and not something staff choose. It is a park state the system applies to itself while a bill is being changed and its numbers cannot yet be trusted.

Five causes

Cause Which bill is parked
An item is added or changed on a bill that already has items That bill — and its parent invoice, if it has one
A D.O. beneath an invoice is edited The parent invoice
A D.O. is pulled out of an invoice That D.O. — its type and invoice number are cleared
The invoice record is deleted Every D.O. beneath it
The invoice total no longer matches the sum of its D.O.s (beyond the rounding tolerance) The invoice — its title reads needs Recalculation

What happens while it is parked

The status buttons are disabled — the bill cannot be moved to Done or Delivered.

The Bills page shows how many bills need recalculating, and offers a Recalculate status filter to list them.

The bill stays in the list and stays in reports according to the transaction rows that already exist — it does not "vanish" and its sale does not disappear.

The API payment path rejects only D.O. and Void bills, so Recalculate does not block payment on that path — do not assume a parked bill cannot be paid.

How to clear it, in order

1. Open the bill, edit, then Checkout again. This is the main way it clears: checkout recomputes discount, tax and rounding, rewrites the Receivable charge row, and takes the bill out of Recalculate. Opening the bill alone is not enough — it stays parked until checkout.

2. Move the status forward again. Re-checkout sets the bill to Received, so the document prints as a Proforma again. If the work is finished, press Done or Delivered once more after checkout.

3. For invoices. Open the invoice in Invoicing mode and press Recalculate Invoice — its total is recomputed from every D.O. beneath it.

Re-checkout is not a cancellation

It only rewrites the charge rows — so deposits and payments already taken stay on the bill, and the new total is computed from the current items. But because the status returns to Received, the document prints as a Proforma again until you move it to Done or Delivered.

Back to contents
D

Deposits, part payments, and overpayment

Money arriving before the sale exists — this is why a customer statement can go negative.

D1. Setting a minimum payment

Setting Meaning
depositvalue Minimum payment as an amount (for example RM50)
depositpercent Minimum payment as a percentage of the bill (for example 30%)

The system computes both and uses the larger value as the suggested deposit on the payment screen. Because the two settings overlap, use only one — otherwise staff will see two different numbers for the same bill.

The important part: this is a minimum, not a maximum. A customer can always pay in full.

Back to contents

D2. Deposits on a proforma

A payment can be recorded against a proforma. That money is real and lands in the cash/bank account.

But because the sale has not happened yet, the customer's debt on that bill goes negative until the bill is promoted to an Invoice.

Reward points and vouchers are already awarded at deposit time, even though the sale is not recorded yet.

When the bill is delivered, the invoice total is written and the balance becomes invoice total minus the deposit.

If the customer asks

"Why is my statement negative?" — the answer: they have paid, but you have not yet billed the sale.

Back to contents

D3. Overpayment

Excess payment is kept as customer credit, not discarded.

That credit can be applied to the next bill.

In reports, credit appears as an adjustment — not as a sale and not as a new payment.

Back to contents
E

LHDN e-Invoice: one paragraph only

The function exists in the system, but it is not yet mandatory for you.

E1. When you need to care

The E-Invoice button appears on bills that are already Done or Delivered, and only if the function is switched on in settings. It submits the bill's data to the LHDN portal through the integration configured for your account.

For now

The mandatory e-Invoice threshold has been raised and no Works25 customer is currently required to comply. If nobody has contacted you about this, you do not need to do anything — and this guide deliberately does not teach steps you do not yet need. When your turn comes, we will add a dedicated section.

What is worth knowing today: a proforma cannot be e-invoiced — only a bill that is finished and delivered. So if the button does not appear, it is usually because the bill is still Received.

Back to contents
F

Suspense and payment settlement

Where money "waits a moment" while it cannot yet be matched to a bill.

F1. What the Suspense account is

Suspense is an intermediate account for money that has arrived but is not yet clearly owned by a bill. It is not a bin for mistakes — it is a waiting room.

Situation Why it lands in Suspense
Money arrives with no bill reference Its owner is not yet identified
A payment made with a credit note Money moves from the credit to the bill through an intermediate account
A bank adjustment Waiting for the bank statement to confirm it

To clear it, use Account Reconciliation: match the suspense row to the right bill. Until it is matched it will show up in your reports as an unclaimed balance.

Do not change a bill total to "close" suspense

Editing the bill so the numbers match pushes the problem into stock, commission and tax. Always match at the payment level.

Back to contents

F2. Online payment gateways: when the money actually lands

The bill is recorded as paid as soon as the customer pays at the gateway, because the customer has paid at that moment.

The money reaches your bank account later, on the provider's schedule, and usually after fees. That gap in dates and the fee itself are the bank's/provider's business, not a system error.

So do not panic when sales for the week do not equal what hit the bank in the same week — check the settlement dates before assuming a payment is missing.

Back to contents
G

Which report answers which question

The Reports menu is crowded. This is the short map from question to report.

G1. Question → report

Your question Report
How much did we sell this month? Reports → Pay, Depo, Unpaid → Total Sales
How much money did we collect? The same report → All Payments, or Customer Payment Report
Who has not paid? Debtors → Outstanding Statement, Aging
What is the balance on one bill? Open that bill — Bill Due on it
Profit, not sales? Accounting Reports, General Ledger
Cash flow? Cash Flow Statement
Staff or agent commission? Sales Commission Reports
Sales tax collected? The sales tax report
Back to contents
H

Common problems

The eight most frequent complaints, and what is really going on.

H1. Symptom → cause → action

Symptom Usual cause Action
The document says "Proforma Invoice" The bill is still Received, or None mode Deliver it / move the status to Done or Delivered
There is no Bill Due row None mode and the bill is still a proforma Not a fault — the sale has not happened yet
"No invoice" The bill is not finished; or the D.O. is not yet invoiced Move the status, or use Invoicing (A7)
Balance does not match the report One figure follows payment dates, the other bill dates Read B4 before calling it an error
A payment appears twice Two transaction rows for the same payment Delete one payment row
Customer statement is negative A deposit was received on a proforma Explain D2; it resolves once the bill is delivered
The Void button does not appear Status is not Received, or an item is on a station Clear the shelf/station first
Bill status says Recalculate / "needs Recalculation" An item save was interrupted, a D.O. was pulled out of an invoice, or the invoice total drifted Open the bill, edit and Checkout again, or press Recalculate Invoice (C6)
A bill vanished from the list It is on a merged invoice, or its status is Recalculate Open its invoice; or recalculate that bill
Back to contents
Works25
Home Offers