Skip to main content

Refunds, credit notes and write-offs

When a payment lands in the wrong place β€” a duplicate card transaction, an overpayment, a course of treatment the client returned, an invoice the practice has decided to forgive β€” the money has to be unwound somewhere. Lupa gives you three distinct tools to do that cleanly: a refund sends money back to the client, a credit note reduces a balance without moving money, and a write-off clears a debt the practice has decided not to chase.

πŸ’‘ In short: Refund the payment when money has to go back to the client. Issue a credit note when an invoice needs to come down but no money moves. Issue a write-off when an unpaid debt is being forgiven and won't be recovered.


Why this matters

⚠️ Pick the right tool, don't just zero a balance. A refund moves real money. A credit note is a paper-trail adjustment that stays on the client's account. A write-off accepts a loss. Mixing these up β€” for example using a credit note to "refund" a card payment β€” leaves your bank reconciliation, your debtor list, and your VAT records all telling different stories. The right choice is rarely a matter of preference.

Benefit

What it does for the practice

Clean books

Each tool maps to a specific accounting concept β€” refunds reduce cash, credit notes adjust receivables, write-offs reduce debtors. Your end-of-month figures stay accurate without manual cleanup

Stock comes back when it should

Issuing a credit note against an invoice line for a stock-controlled product creates a reverse stock movement automatically β€” the unit goes back to its location, ready to dispense again

A complete audit trail

Every refund, credit note, and write-off has its own reference, status, reason, and history. Auditors, partners, and the next staff member to read the file see exactly what happened and why

Card refunds without leaving Lupa

For payments taken on a paired DOJO or Lupa Pay terminal, the refund instruction goes back to the card processor automatically β€” no separate trip to the terminal portal

Permission-aware

Refunds, write-offs, and each type of credit note (invoice, goodwill) are gated by separate permissions, so reception staff can take payments while only managers can write off debts


Which one do I use?

Scenario

Use

Why

Client paid twice for the same invoice

Refund

Money needs to go back to them. Reason: Overpayment

Card was charged in error before the appointment was confirmed

Refund

The transaction shouldn't have happened. Reason: Sold in Error

Client returned an unopened box of medication

Credit Note (invoice)

Reduces the invoice line and restocks the product, ready to dispense to someone else

Goodwill gesture for a complaint β€” Β£25 off their next visit

Credit Note (goodwill)

Sits on the account as available credit, applied to a future invoice. No specific invoice to attach it to

Client has owed Β£80 for 18 months and won't respond

Write-off

The debt is real but unrecoverable. Removes the outstanding balance and records a bad-debt entry

Client wants to "cancel" a payment you took 5 minutes ago

Refund

Payments can't be edited or deleted once created. Refund reverses the transaction cleanly

You issued an invoice with the wrong client / wrong items

Credit Note (invoice) + new invoice

Reverses the original invoice in full, then re-bill correctly. Don't try to edit a completed invoice

The client's Transactions tab β€” net balance, credits and debts at a glance, with refunds, credit notes and write-offs all triggered from here

The client's Transactions tab β€” net balance, credits and debts at a glance, with refunds, credit notes and write-offs all triggered from here

πŸ“ All three actions live on the client's Transactions tab. Refunds and write-offs are also available from individual rows via the β‹― kebab menu, and credit notes can be issued directly from the invoice page.


How to issue a refund

A refund reverses money the client has already paid β€” fully or partially. It's tied to a specific payment record, and for card refunds Lupa instructs the original card processor (DOJO, Lupa Pay) to send the money back to the client's card.

Step 1: Open the Add Refund dialog

There are two natural starting points:

Where you are

What to click

Client profile β†’ Transactions tab

Tick the payment (or credit note) you're refunding, then click Add Refund at the top of the table. Use this when you're refunding a single payment in isolation

On a payment row directly

Click the β‹― kebab on the payment row β†’ Refund Payment (or Refund Credit Note for a credit note). Faster when you already know the row you want

The Add Refund option only shows up when the selected item has an available balance to refund β€” a fully-allocated payment (already used to clear an invoice) can't be refunded directly. If the option is greyed out, the tooltip will tell you why. To refund a invoice, you must first remove the allocation to that invoice and leave the payment as floating credit on the account. You will then be able to tick it and the "add refund" button will appear.

Step 2: Pick the reason and the source payment

The Add Refund dialog with Date, Reason and Select Payment populated, the Items to Refund table showing the Β£150 payment to refund in full, and a short note explaining why

The Add Refund dialog with Date, Reason and Select Payment populated, the Items to Refund table showing the Β£150 payment to refund in full, and a short note explaining why The dialog opens with these fields:

Field

What it does

Date

Defaults to today. Backdating into a financially locked period is blocked β€” see the related article on cashups and financial locking

Reason

Pick from Sold in Error, Goods Not Collected by Client, Goods Not Received by Client, Overpayment, or Unknown. The reason flows through to the refund's audit trail and PDF receipt

Select Payment

Lists every completed payment for this client, newest first, with the amount still available to refund. Pick the one the client originally used

Items to Refund

Editable amounts per item. Lower the Amount to Refund for a partial refund; leave at full for a complete reversal. The Total Refund at the bottom recalculates as you change each line

Notes

Optional internal note. Useful for context the next person reading the file will need ("processed in person; client took receipt")

Step 3: Choose how the money goes back

By default the refund uses the same method as the original payment, shown in the Override default refund payment method label. Toggle it on if you need to send the money back a different way β€” for example, the original payment was on a card terminal that's no longer paired, and you'd rather hand cash back at reception.

Refund method

How it works

Cash, Cheque, Bank Transfer, Other

Lupa records the refund instantly. You handle the actual money movement separately (handing over cash, posting a cheque, sending the bank transfer)

DOJO or Lupa Pay terminal

Lupa sends the refund instruction to the terminal, the device processes it, and the result comes back to the dialog. Don't close the dialog while it's processing

Lupa Pay online

Refund flows back through the original online transaction. Partial refunds aren't supported β€” the refund must equal the full payment amount

Stripe (legacy)

Lupa records the refund, but you must complete the actual transfer in the Stripe portal. The dialog shows a notice reminding you of this

πŸ”’ Don't close the dialog while a card refund is processing. The terminal or online provider may still be working β€” closing early can leave the refund in an inconsistent state. Wait for the Refund completed confirmation before navigating away.

Step 4: Create the refund

Click Create Refund. For manual methods this finishes immediately with a Refund created successfully. For card methods, the dialog shows Processing refund… with the message "This may take 1–2 minutes" β€” Lupa is talking to the card processor and waiting for the result.

The refund opens in its own detail page once complete. At the top, a coloured status indicator shows the refund's current state β€” green for completed, amber for pending, red for cancelled. The page also has Cancel Refund, Download PDF and Send Email buttons for the receipt.

Payment confirmation emails can also be sent β€” or reviewed β€” directly from the payment row on an invoice. Next to each completed payment you'll see a mail icon:

  • If no confirmation has been sent yet, clicking it opens the email editor pre-loaded with the payment details and a Payment Confirmation subject, ready to send to the client.

  • If a confirmation has already been sent, clicking the same icon opens the Email Details pop-up showing the sent message.

⚠️ A completed refund is final. Manual refunds (cash, bank transfer, cheque) can be cancelled from the refund detail page if the refund hasn't been allocated yet β€” that voids the record. This applies even if the original payment has since been voided. Card refunds initiated through DOJO, Lupa Pay or Stripe can't be cancelled in Lupa once the processor confirms them; the money has already started moving.


How to issue a credit note

A credit note reduces a balance without moving any money. It comes in two flavours you can create manually, plus one that Lupa generates automatically:

Type

When to use it

Invoice

Linked to a specific completed invoice. Use when the client returns a product, you cancel a service after invoicing, or a line was charged in error. Issuing an invoice credit note for a stock-controlled product also reverses the stock movement automatically β€” the unit goes back to its location

Goodwill

A discretionary credit not tied to any specific invoice. Use for complaint resolution, loyalty gestures, or partial-discount adjustments after the fact. Sits on the client's account and applies to future invoices

Early payment

Generated automatically by Lupa when an early-payment discount is applied across multiple invoices. You won't create these manually β€” they appear on the client's account and their PDF groups line items under each source invoice number (Invoice #) so you can see exactly which charges were adjusted

Step 1: Open the Create Credit Note dialog

Credit note type

Where to start

Invoice credit note

Open the invoice you're crediting. Click the β–Ύ chevron next to the Add Payment button β†’ Issue Credit Note. Or, on the Transactions tab, click the β‹― kebab on the invoice row β†’ Issue Credit Note

Goodwill credit note

From the client's Transactions tab, choose Issue Credit Note in the table action menu. Pick Goodwill credit as the type

Step 2: Pick the reason and add notes

The Create Credit Note dialog β€” Reason set to Dissatisfied Client, with a short note describing what was returned and why. Create Credit Note finalises it

The Create Credit Note dialog β€” Reason set to Dissatisfied Client, with a short note describing what was returned and why. Create Credit Note finalises it The reason list adapts to the credit note type:

Type

Reasons available

Invoice

Dissatisfied Client, Goods Damaged, Goods Not Collected by Client, Goods Not Required by Client, Medication Not Suitable, Sold in Error

Goodwill

Dissatisfied Client, Store Incentive Scheme, Sold in Error

The Notes field is optional but worth using β€” credit notes are easy to forget the context for once a few months pass.

Step 3: Set the amount and issue

For an invoice credit note, you set the credit amount per line item β€” partial credit one product, full credit another. The dialog calculates the total automatically as you type. For a goodwill credit note, you set a single total amount. Click Create Credit Note to save it as a draft, then Issue to commit it. On issue:

  • The client's account balance updates to reflect the new credit

  • For an invoice credit note, Lupa allocates as much of the credit as it can to the original invoice automatically

  • For stock-controlled product lines, a reverse Stock Movement is created β€” the units come back to their original location and become dispensable again

  • The credit note transitions from Draft to Issued, gets a transaction reference, and locks for further editing (only the notes can still be changed)

⚠️ Issued credit notes can be voided, not edited. If you issued a credit note in error, void it (status dropdown β†’ Void) and start a new one. Voiding undoes the balance change but leaves the audit record visible. Like refunds, voiding inside a financially locked period is blocked β€” see the related article on cashups.


How to issue a write-off

A write-off says "we're not collecting this debt." It's used for genuinely uncollectable balances β€” a client who's moved away with no contact details, a small balance that costs more to chase than it's worth, an invoice abandoned after multiple reminders. Write-offs only apply to completed invoices with an outstanding balance (debts).

Step 1: Open the Create Write-off dialog

Where you are

What to click

Client profile β†’ Transactions tab (one debt at a time)

Click the β‹― kebab on the unpaid invoice row β†’ Issue Write-off. The option is disabled with a tooltip if the row has no negative balance

Client profile β†’ Transactions tab (multiple debts)

Tick every unpaid invoice you want to write off, click the β‹― options dropdown next to the action buttons β†’ Issue Write-off. The dialog walks you through them one by one

Step 2: Review the debt and acknowledge any warnings

The Create Write-off dialog β€” items list on the left, full invoice context on the right showing Invoice Number, Invoice Date, Due Date, Original Invoice Amount and Amount Paid, with the Write-off amount highlighted and a Notes field at the bottom

The Create Write-off dialog β€” items list on the left, full invoice context on the right showing Invoice Number, Invoice Date, Due Date, Original Invoice Amount and Amount Paid, with the Write-off amount highlighted and a Notes field at the bottom The left column lists every item you're writing off with its due amount; the right column drills into the currently-selected one. The 0 of 1 items written off counter at the bottom tracks progress when you're writing off several at once. If any of the debts are less than six months old, the dialog shows an amber alert: Writing off recent debt β€” Some debt being written off is only X months old. Please double-check whether this debt should be written off. This isn't a hard block, but it's a deliberate prompt to pause β€” recent debt is more often a billing error or follow-up needed than a true bad-debt write-off. Read the warning, confirm you really want to proceed, and continue.

Step 3: Add notes and issue

Each write-off needs a short note explaining the rationale. Practices typically use this to record the recovery steps tried β€” "two reminders sent, one phone call, no response" β€” so the audit trail has a story attached. Click Create Write-off. The result page lists the line-by-line breakdown, including the VAT split (Net, VAT and Total amounts). For multiple debts, the dialog moves to the next item once the current one succeeds, with a green tick on the completed item and a Next item button to continue.

⚠️ Write-offs are atomic but not reversible by editing. Once issued, the invoice's outstanding balance is zero and the debt is recorded as bad. If you issued a write-off in error you can void it (status dropdown β†’ Void) β€” the balance returns and the original debt re-appears. You can't simply edit a write-off after the fact.


Tips for clean reversals

βœ… What practices that run Lupa well do every day:

  • Always pick a real reason. "Unknown" exists for migrated data β€” for new transactions, the specific reason becomes the audit trail. Future-you will thank present-you

  • Refund to the original method when you can. It keeps the bank reconciliation simple and avoids a card payment in the books with cash going out the same day

  • For returned products, use an invoice credit note β€” not a goodwill one. The invoice credit note triggers the stock restock; goodwill doesn't, so your inventory drifts

  • Write off in batches at month-end, not ad-hoc. Practices that run a monthly debtor review tend to have cleaner debtor reports than those that write off whenever the topic comes up

  • Add a note when you write off. "Two reminders sent, no response β€” agreed with practice manager" beats a blank field every time

  • Don't refund a payment that's already been allocated to an invoice. Edit the allocation off the invoice first (transactions tab β†’ kebab β†’ Edit Allocations), then refund the payment. Otherwise the invoice flips back to outstanding without you noticing


Troubleshooting

Problem

What to do

Add Refund is greyed out on a payment row

The payment has no available balance to refund β€” it's fully allocated to invoices, or already refunded. Edit allocations off an invoice first, or pick a different payment. The tooltip will say "No balance to refund" or similar

Issue Credit Note is missing on the invoice page

The invoice is still in Draft state, or the linked appointment hasn't been completed. Credit notes are only available on Completed invoices β€” finalise the invoice first, then come back

Issue Write-off is disabled in the kebab menu

The row isn't a debt β€” outstanding balance is zero or positive. You can't write off something that isn't owed. If it's a refund or credit note in error, void it instead from the detail page

The card refund is stuck on Processing refund…

Don't close the dialog. The processor can take 1–2 minutes. If it never completes, the refund will move to Cancelled automatically and you can retry. Check the terminal screen if you're using DOJO or Lupa Pay

The amber Writing off recent debt warning appears

This is a soft prompt β€” the debt is less than six months old. Check whether it's truly bad debt or just an in-progress collection, then continue if appropriate

The error Cannot create write-off: All items must have a negative balance appears

One of the selected rows isn't a debt. Untick it and try again β€” the dialog requires every selected item to have an outstanding balance

The action is disabled with a tooltip mentioning a financial lock

The transaction date falls inside a closed cashup or month-end period. Pick today's date instead, or speak to whoever owns financial locking for the practice. See the related cashups article

The button is disabled and the tooltip says You are not permitted…

Refunds, write-offs, and each credit note type are gated by separate permissions. Ask an administrator to grant the relevant permission via Roles and permissions


Frequently asked questions

  • What's the difference between a credit note and a refund? A refund moves money out of the practice and back to the client β€” cash, card, bank transfer. A credit note doesn't move any money; it just reduces an invoice or adds available credit to the client's account. If the client says "I want my money back" you need a refund. If they say "can you take this off my bill" or "use it for my next visit" you need a credit note.

  • Can I refund part of a payment, or does it have to be the full amount? Most refund methods support partial refunds β€” leave the Amount to Refund lower than the original. The exception is Lupa Pay online: partial refunds aren't supported by the underlying provider, so the refund must equal the full original payment amount. The dialog will show a notice if this applies.

  • Will issuing a credit note on a returned product put the stock back? Yes β€” but only if it's an invoice credit note linked to that product line, and the product is stock-controlled. Lupa creates a reverse Invoice Sale Reversal stock movement automatically when the credit note is issued, restocking the units to their original location. Goodwill credit notes don't restock anything because they're not tied to specific items.

  • Can I undo a write-off if I sent it in error? Yes β€” open the write-off detail page and change the status from Issued to Void in the status dropdown. The original debt comes back to the client's account exactly as it was, and the write-off record stays visible in the audit trail as voided. You'll need the Void Write-offs permission to do this.

  • Why can't I edit the items on an issued credit note? Once a credit note is issued, the line items, amounts, and allocations are locked β€” only the notes field stays editable. This protects the financial record from drift after it's been counted in reports or shared with the client. To make a substantive change, void the credit note and issue a new one.

  • The client paid by card and now wants the money back as cash. Can I do that? Yes, but be deliberate. In the refund dialog, toggle Override default refund payment method and choose Cash. Lupa records the refund as cash; you hand the money over from the till. Be aware that your bank reconciliation will show a card payment with no matching card refund β€” record the rationale in the Notes field so the next person reviewing the books understands why.

  • Do refunds and credit notes show up on the client's statement? Yes. The client's statement (generated from the Transactions tab) includes every payment, refund, credit note, and write-off as a separate line, with its own transaction reference and date. Both the running balance and the period totals reflect them.

  • Who needs which permission to do these? Refunds require Refunds permission. Invoice credit notes and goodwill credit notes each have their own permission so you can grant them separately. Write-offs require Write Offs permission. Voiding any of these requires the matching Void permission. See the Roles and permissions article for how these are configured.


Related articles

Did this answer your question?