Skip to content
Returns and Exchanges Workflow

Returns and Exchanges Workflow

A customer brings a laptop back. Whether that is a two-minute job or a three-week mess depends entirely on which document you raise in the next thirty seconds. By the end of this guide you will know which of BigLedger’s three return documents fits the situation in front of you, how to settle the money either way, and how an exchange is actually recorded. Reading it takes ten minutes. Getting it wrong takes a stock count to discover.

Meet GadgetSphere

GadgetSphere Sdn Bhd sells consumer electronics from 22 Malaysian branches, so returns are daily business. Today there are three of them at GS-KV-01:

  • A customer bought an ultraportable laptop at RM 4,200 (RM 4,452 with 6% SST) last Tuesday on a credit invoice. It is faulty and they want their money back.
  • A corporate customer was billed for 26 handsets and only received 24. Nothing is coming back; the invoice was simply wrong.
  • A walk-in wants to exchange a pair of wireless earbuds (RM 249) for the model up (RM 399), paying the difference.

Three situations, three different documents.

Start here: which document?

This is the only decision that matters, and the whole guide follows from it.

Does something physical come back?Are you paying money out?Use
YesNot now — the customer keeps a credit, or you offset it against what they oweSales Return (Internal)
YesYes, nowSales Return with a Payment line, or Sales Refund Note (Internal)
No — an overbilling, a retrospective discount, a feeEitherSales Credit Note (Internal)

What makes this a real decision rather than a preference is what each document does to your stock:

DocumentStockMoney
Sales Returncomes back in, at moving-average costReduces what the customer owes
Sales Refund Notecomes back inReduces what the customer owes, and pays it out
Sales Credit Notenever moves — the backend forces every line’s quantity to zeroReduces what the customer owes
Using a credit note for returned goods is the most expensive mistake in this section. The money comes off the customer’s account and the stock never comes back. The laptop is physically on your shelf and BigLedger says it was sold. Nobody notices until a stock count, by which point there are dozens of them and no way to tell which is which.

Step 1: Decide whether you are taking it back at all

Your own returns policy — not a BigLedger setting

BigLedger does not enforce a return window, a restocking fee or a condition test. There is no return-authorisation document and no approval routing for returns. The only product-side object in this area is the Return Reasons list, which you configure yourself.

So write the policy down somewhere your counter staff can see it — how many days, what condition, what proof of purchase — and make the reason codes match it. If your policy is “14 days, unopened, receipt required”, then your reason list should read Faulty, Wrong item supplied, Changed mind — within policy, Goods damaged in transit, and so on. That list is what you will group by when someone asks why returns doubled last quarter.

Settings → Return Reasons in the Sales Return applet is where they live. The Reason dropdown on the return header is empty until you add them.

Step 2: Goods coming back — raise a Sales Return

Sales > Sales Return (Internal) > Internal Sales Return > Create

The outcome: the laptop back in stock, RM 4,452 off the customer’s account.

The Search tab is the whole trick. Do not type the lines. Search by:

  • Customer — everything they have bought;
  • Invoice or Cashbill — a specific document;
  • Serial Number — the fastest route when the unit is in front of you and the customer has lost the receipt.

Tick the line and click Add Selected. The item, the price, the tax and the proportion of any discount all copy across, apportioned to the quantity you are returning.

Sales Return Main Details tab showing branch, location, transaction date and the Reason field
Main Details: the branch and location are where the goods physically go back to — and the Reason field is the one people leave blank.
The customer is then locked to the one on that invoice, which is deliberate — a return has to belong to the sale it reverses.

On Main Details: the branch and location the goods are physically going back to, the transaction date, and the Reason. Fill the reason in properly; it is the only structured field that will ever tell you why this happened.

SAVE, then FINAL.

Dr  Sales return — laptops               RM 4,200.00
Dr  SST output tax                       RM   252.00
    Cr  Debtor — trade retail                     RM 4,452.00

That is the whole journal. One laptop is back at GS-KV-01 — as an inventory transaction in the stock ledger, at moving-average cost, with its serial number re-activated at that location — but no Dr Inventory / Cr Cost of goods sold line posts with it. BigLedger does not post cost of sales document by document; the cost-of-goods-sold journal is the month-end job in the Financial Report applet, which picks the return up through the closing stock figure. The sale itself posts to a separate Sales Return account rather than being netted off sales, which is what lets you see the return rate on the profit and loss.

If FINAL goes through but the Trace Document tab shows no journal a minute later, the posting job failed afterwards — almost always a missing default GL code for Sales Return or the customer’s receivable. FINAL is not blocked by that; repair it in Financial Report > Error Checking > Trace Document.

The return does not check stock or blacklists. Those checks only apply to outbound movements. What it does check is the exchange rate on a foreign-currency document, the serial, batch and bin quantities, and whether the date falls in a locked accounting period.

Step 3: Settle the money

The return has created a credit on the customer’s account. Three ways to clear it, and the right one depends on the customer.

Refund them now — add a line on the return’s Payment tab before you finalise, choosing the settlement method the money is going out through. The journal then includes Dr Debtor / Cr cashbook, and the cashbook line will appear in Bank Reconciliation. Add it before FINAL; afterwards it takes both a setting and a permission.

Offset it against what they owe — use the Contra tab to tick their open invoices. Standard for a credit customer who is going to buy again next month. The contra posts on the latest of the document dates involved.

Leave it as a credit — finalise with neither, and the credit sits on their account until someone contra’s it or pays it out with a Sales Refund Note or a payment voucher. Fine for a corporate account; a good way to annoy a walk-in customer.

When to use a Sales Refund Note instead

The Sales Refund Note does the same two things a Sales Return does — brings the stock back and reverses the sale — and is built around the money going out and the LHDN credit note that goes with it. Use it where the refund, not the goods, is the point: a cash sale being refunded at the counter days later, a marketplace order reversed after settlement, a return that has to be submitted to LHDN as a credit note against the original e-Invoice.

If you are unsure, use a Sales Return with a Payment line. It is the more general document, it has the Search tab, and it posts where you expect.

The two documents do not post to the same account. A Sales Return’s item lines go to your Sales Return account. A Sales Refund Note’s item lines go straight to Sales, reducing the revenue figure instead of building a visible returns figure beside it. If your finance team uses the sales return account to watch the return rate, mixing the two documents will quietly hide part of it. Pick one as your house standard and say so in your own procedures.

Step 4: Nothing coming back — raise a Credit Note

Sales > Sales Credit Note (Internal) > Create > Search Document

The outcome: the corporate customer’s over-billing corrected, stock untouched.

They were billed for 26 handsets and received 24. The two handsets never existed — there is nothing to take back into stock, and using a return here would invent two phones out of nowhere.

Create the credit note, use Search Document to pull the original invoice, and adjust to the two units: RM 7,600 net, RM 456 SST, RM 8,056.

Dr  Sales — smartphones                  RM 7,600.00
Dr  SST output tax                       RM   456.00
    Cr  Debtor — trade retail                     RM 8,056.00

No inventory transaction, no cost-of-sales entry. Then either Contra it against their open invoices, or settle it out on the Settlement tab if you are actually sending money back.

The same document handles a retrospective discount you agreed after billing, a marketplace commission you are absorbing, and a service reversal.

Step 5: An exchange is two transactions, not one

There is no exchange document. An exchange is a return followed by a sale, and thinking of it that way keeps both your stock and your revenue honest.

At the counter, both halves fit on one cash bill. Add the returned earbuds as a return line and the replacement pair as a normal sale line. The return line brings the RM 249 pair back into stock and posts to the sales return account; the sale line takes the RM 399 pair out. The bill’s total is the RM 150 difference plus tax, and the customer pays that. POS recognises a bill with one of each as an exchange, so a straight like-for-like swap at RM 0 is accepted too. What it refuses is a bill where the return is worth more than the sale — if the customer is trading down and you owe them money, either switch on allow a return larger than the sale in the POS settings or raise the return separately.

Away from the counter, raise the two documents separately: a Sales Return for what came back, then a new Sales Invoice for the replacement. Contra the return’s credit against the new invoice so the customer’s account nets out to the difference.

Like-for-like warranty swaps are not exchanges. If the customer is getting an identical replacement unit under warranty, no money changes hands and the sale was never reversed. The clean record is a Swap Serial Number on the original invoice or cash bill, which exchanges the sold serial for another available one and corrects both stock records — no return, no credit, no new sale.

Step 6: Put the goods somewhere sensible

BigLedger has put the returned laptop back at GS-KV-01 as ordinary sellable stock. That is very often wrong: a faulty unit should not be the next one someone sells.

The product does not decide this for you. What you can do is choose the return’s location to match what is really going to happen — a quarantine or RMA location for anything faulty, the sales floor location only for genuinely resellable goods. That single field is the difference between a controlled returns process and a faulty laptop going back out of the door next week.

What success looks like

  1. Stock Balance for the item at the return’s location is one higher, and it is the location you meant.
  2. The customer’s Statement of Account shows the original invoice and the return, and the balance is what you told the customer it would be.
  3. The return’s Reason field is filled in. If it is blank, go back and fill it — the return is the only place that question gets asked.
  4. If you refunded, the cashbook line for the refund is there waiting for the bank statement.
  5. Nothing went out on a credit note that physically came back. Search your credit notes for stock item codes; a credit note carrying a serialised product is a return that was raised on the wrong document.

Common mistakes

Credit note for returned goods. Said three times in this guide because it is that common. Goods back means Sales Return or Sales Refund Note. Always.

Typing the return lines by hand instead of searching the original sale. The Search tab copies the price, the tax and the apportioned discount. Typed lines get the list price, which means you refund more than the customer paid on anything that was discounted.

Returning to the sales floor location by default. Faulty stock goes straight back into sellable inventory and out to the next customer. Set the location deliberately, every time.

Adding the refund payment after FINAL. On a return the Payment tab is open only while the document is not final; afterwards it needs a setting and a permission that most users do not have. Add it before you finalise.

Finalising a return with no Reason. Six months later you have a returns rate and no idea what is driving it.

Trying to void the original invoice instead. Voiding reverses everything — including settlements and knock-offs — and leaves no trace that a customer returned something. Void is for a document that should never have existed. A return is a real event and deserves its own record.

Forgetting the e-Invoice. If the original invoice went to LHDN, the return or credit note has to go too, referencing the original. And a return cannot be voided once it has been submitted — cancel it through My E-Invoice Admin Applet first, within the allowed window.

Related documentation

Last updated on