Skip to content
Cash Flow Inventory / Docs
Operations

Sales Returns & Credit Notes

This is how you handle a customer sending goods back — cleanly separated into three distinct, honest steps: the Return (goods came back), the Credit Note (you owe the customer value), and the Refund (actual money changed hands). Not every return involves all three — a return might end in store credit, an exchange, or nothing at all — and the system lets each stage happen independently instead of forcing one rigid "return = refund" assumption.

Who this is for

  • Retailers and wholesalers who process customer returns regularly and need accurate inventory and accounting impact, not just a manual note.
  • Businesses that offer store credit or exchanges instead of always refunding cash.
  • Finance teams who need returns, credits, and refunds to each post correctly and separately to the books.

Sales Returns & Credit Notes — the main screen

drop a screenshot at assets/screenshots/guides/sales-returns-credit-notes.png to replace this

1. RECORDING A RETURN — STEP BY STEP

  1. Open the original invoice or order the return relates to.
  2. Select which line items — and what quantities — are being returned. You don't have to return an entire order; partial returns are fully supported.
  3. Decide whether the returned stock goes back into sellable inventory (a customer returning an unopened, resalable item) or not (damaged goods that shouldn't be resold as new).

[DOCS FLAG — added 2026-08-08, needs a maintainer pass: step 3 above does not appear to be implemented. Grepping sales-return.php, quick-sales-return.php, and sales/returns/data-save.php end to end found no resalable/non-resalable field, checkbox, or condition of any kind (checked every plausible name: resalable, non_resalable, is_damaged, damaged_qty, restock_qty, return_condition -- zero hits across the whole codebase). The stock-update logic in sales/returns/data-save.php unconditionally increments current_stock/available_stock for every returned line, with no branch. Either this per-line choice was never built, or it lives somewhere not yet found -- needs a maintainer to confirm and either implement it or correct this section. Verified by grepping the live codebase on 2026-08-08.]

  1. A quicker path — Quick Sales Return — is available for a fast return where you don't need to pull up the full original order first.
  2. Save. The return is recorded with its own Return No and Status, and appears on the Sales Returns list filterable by Customer, Invoice Ref, Order Ref, Location, and date.

2. APPROVAL

Returns go through an Approve Return step before they're finalized — so a return recorded by staff is confirmed by someone with the right permission before it affects stock and the books.

Return-to-refund pipeline

Return Recorded Approved Credit Note Refunded

Side exits: Store Credit · Exchange

3. CREDIT NOTES — Recording What You Owe the Customer

Once a return is approved, a Credit Note is generated recording the Credit Amount owed to the customer — this is the formal accounting document that says "we owe this customer this much value," separate from whether or how it actually gets paid out. Every Credit Note tracks its Credit Total, Credited Date, and links back to the original Invoice Ref, Order Ref, and Delivery Ref so the whole chain from "customer bought this" to "customer returned this" to "we owe this much" stays connected and traceable.

4. CUSTOMER REFUNDS — Recording the Actual Money

A Customer Refund is a deliberately separate step from the Credit Note, because owing a customer money and actually paying it back are two different events that can happen at different times — or not at all:

  • Cash/original payment method refund — money actually goes back.
  • Store credit — the credit stays on the customer's account for a future purchase instead of being paid out.
  • Exchange — the customer gets a different item instead of money. This separation means your books never show a refund that didn't happen, or hide a credit that's sitting unused on a customer's account.

5. HOW IT CONNECTS TO THE REST OF THE SYSTEM

  • Inventory — returned stock marked as resalable goes straight back into Available Stock through the same central inventory ledger used everywhere else, fully traceable in the Transaction Log.
  • Accounting — Returns, Credit Notes, and Refunds each post their own correct entries to the general ledger (reversing revenue, recording a liability for the credit owed, and recording the cash/store-credit movement respectively) — not one blended, ambiguous transaction.
  • Customer record — a customer's Payment History and balance reflect credits and refunds alongside their regular invoices and payments, for one full relationship view.

6. WHY IT SCALES FROM SMB TO ENTERPRISE

01

Small business

Quick Sales Return handles the common case — a customer walks in with an item — in seconds.

02

Growing business

Partial returns and the resalable/non-resalable choice keep your inventory numbers honest instead of assuming every return is a full, clean one.

03

Enterprise

The Return / Credit Note / Refund separation gives Finance the accounting precision auditors expect — you can prove exactly what was returned, what was owed, and what was actually paid, as three separate, traceable facts.

Quick Reference

Quick reference — where things live
  Sales Returns list ....................... Sales > Returns
  Quick return ............................. Sales > Returns > Quick Return
  Credit Notes list ........................ Sales > Credit Notes
  Customer Refunds ......................... Sales > Returns > Customer Refunds

See this running in your own account

Free to start, no credit card required — most businesses are set up and creating real records within minutes.

Create free account