/accounting/debit-notes/:id
Debit notes are listed alongside credit notes on the Credit/Debit Notes page (/accounting/credit-notes), and you create one from the source bill itself. There is no separate “new debit note” menu item — you start from a bill.
📷 Screenshot: A debit note detail page showing the source bill link, negated lines, residue and allocations — to be added.
When to use a debit note
- You returned damaged or incorrect goods to a supplier.
- A supplier granted you a discount or price correction after you’d already booked the bill.
- You need to formally reduce an outstanding payable and either apply the credit to other bills or collect a cash refund.
The debit note lifecycle
A debit note follows the same workflow states as a bill, but the meaning is reversed (its total is negative, and “paying it down” means consuming the credit):- Create draft — clone the source bill into a Draft debit note.
- Issue — post the return to the ledger and move it to Approved. The credit (residue) now exists.
- Allocate — apply the credit against one or more open bills for the same vendor.
- Refund residue — collect any leftover credit as cash back from the vendor.
- Unapply — reverse a single allocation if you made a mistake.
Step 1 — Create the debit note from a bill
A debit note can only be cloned from a regular bill (not from another debit note) that is not deleted and is in one of these states: Approved, PartiallyPaid, Paid or Overdue.- Open the source bill (
/accounting/bills/:id). - Choose Create debit note from the bill’s quick actions. (Available once the bill is submitted/posted and you have
accounting-bills:create.) - Select a reason (required):
- Return — goods returned
- Discount — price reduction granted
- Correction — fixing an error
- Damaged goods
- Other
- Choose the scope:
- Full return (default) — every source line is returned in full.
- Partial return — specify, per line, the quantity you’re returning. You can only return up to what was originally billed, minus anything already returned on earlier debit notes.
- Save. A Draft debit note is created with a generated number in the form
DN-YYYY-MM-######(e.g.DN-2026-04-000001).
Validations applied at creation
The system enforces several rules so a return can never exceed or predate the original purchase:- Quantity cap — you cannot return more than was billed (counting prior partial returns). A “fully returned” bill is greyed out in the picker.
- Rate — the original unit price is always carried forward; you can’t invent a different return price.
- Vendor — the source vendor must still exist and not be deleted.
- Date — the debit note’s date cannot be earlier than the source bill’s date.
- Same book — the debit note stays in the same accounting book (and therefore the same Accounts Payable control account) as the source bill.
GET /accounting/bills/returnable, which flags each bill with fullyReturned so the UI can disable bills with nothing left to return.
Step 2 — Issue the debit note
From a Draft debit note, choose Issue (requiresaccounting-bills:post). This posts the return to the general ledger and moves the note to Approved. The note must be a debit note and in Draft to be issued.
Behind the scenes — issuing posts a balanced entry for the absolute value of the return:
- Debit Accounts Payable for the return total (reducing what you owe the vendor), tagged against the debit note itself so it carries its own AP residue.
- Credit each source line’s expense / inventory account — putting the cost back, mirroring what the original bill debited.
Step 3 — Allocate the credit to open bills
Once Approved, apply the debit note’s credit against other open bills for the same vendor. Choose Allocate (requiresaccounting-bills:update) and enter one or more target bills with the amount to apply to each.
Rules enforced:
- The total you allocate can’t exceed the debit note’s remaining residue.
- Each target must be a regular bill belonging to the same vendor, in Approved / PartiallyPaid / Overdue state.
- You can’t allocate more to a target than that bill’s outstanding balance.
- Credit Accounts Payable (against the debit note) for the amount applied, reducing the note’s residue.
- Debit Accounts Payable (against each target bill) for the amount applied, reducing that bill’s outstanding balance.
Step 4 — Refund the residue (vendor pays you back)
If you’d rather take leftover credit as cash than apply it to other bills, choose Refund residue (requiresaccounting-bills:update). The debit note must be Approved or PartiallyPaid with a residue remaining.
Enter:
- Bank/cash account receiving the refund (required).
- Payment method (e.g. BANK, CASH, MOBILE_MONEY).
- Reference number (optional) — cheque #, mobile-money code, etc.
- Received date (optional, defaults to now).
- Debit your bank/cash account for the residue (money coming in).
- Credit Accounts Payable (against the debit note) for the residue, clearing it.
Unapplying an allocation
Made a mistake? Choose to unapply a single allocation row (requiresaccounting-bills:void). The system removes that allocation, restores the target bill’s outstanding balance, posts an offsetting reversal entry, and recomputes the debit note’s status. If it was the last allocation, the note returns to Approved with its full residue available again.
Voiding a debit note
A debit note can be voided through the standard bill Void action, but only if it’s “clean”:- It cannot be voided while any active allocations point at it — unapply each one first.
- It cannot be voided if a vendor refund payment has cleared its residue — reverse that payment first.
Multi-business note
Like bills, debit notes live inside a single accounting book and never cross businesses. A debit note must share the source bill’s book, so it always uses the same Accounts Payable control account. Switch to the correct business before raising a return.Permissions reference
Debit note actions reuse theaccounting-bills permission module:
Related
- Purchase Bills (Accounts Payable) — the source documents debit notes are raised against
- Expenses & Expense Claims
- Petty Cash