A Retainer records money received from a customer in advance, before any invoice has been issued. Use it for:
- a deposit at the start of a project,
- a prepayment on a future service or order,
- a security advance you'll later apply against the customer's invoices.
The retainer sits as a liability on the books — it's the customer's money until you earn it by issuing an invoice and applying the retainer against it.
Compared with a Credit note: a credit note is issued by you (reduces a receivable). A retainer is received from the customer (creates a liability). Both can end up offsetting future invoices.
Step by step
Browse retainers
Use the Open retainers view to see every retainer with money still on it. Each row shows the retainer number, date, customer, amount received, amount allocated, unallocated balance, and status.
Create a retainer
- Start a new retainer (or use Create retainer invoice when you want a numbered document to send the customer requesting the deposit).
- Pick the Customer.
- Set the Date.
- Pick the Deposit account (Cash / Bank).
- Enter the Amount and a Reference / method ("Cash", "Cheque", "Bank Transfer").
- Save.
Posting writes the journal:
- Debit the Cash / Bank account.
- Credit the Customer Deposits / Retainer Liability account.
Apply a retainer to an invoice
There are two ways in:
- From an open invoice, click Apply Retainer — pick the customer's retainer and the amount to apply.
- From a retainer with an unallocated balance, allocate it across one or more of the customer's open invoices. The total cannot exceed the retainer's unallocated balance.
Applying writes a journal:
- Debit the Customer Deposits / Retainer Liability account.
- Credit the AR control account (reducing the invoice's open balance).
Reverse an allocation
Removes a specific allocation, freeing the retainer to be applied elsewhere or refunded.
Refund a retainer
If the project is cancelled or the customer asks for the deposit back, refund the unallocated balance. This creates a Refund receipt linked to the retainer — money out of Cash / Bank, and the retainer liability is cleared.
Void a retainer
Reverses the retainer's journal, removes any allocations, and marks the retainer Void. The document number stays for the audit trail. Only users allowed to void will see this action.
How the journal looks
A JOD 500 retainer received from a customer for an upcoming project:
| Account | Debit | Credit |
|---|---|---|
| Bank | 500.00 | |
| Customer Deposits (liability) | 500.00 |
No revenue is recognised yet — the money is a liability until you earn it.
Applying JOD 300 of the retainer against a JOD 300 invoice for milestone 1:
| Account | Debit | Credit |
|---|---|---|
| Customer Deposits (liability) | 300.00 | |
| AR — Customer control | 300.00 |
The retainer's unallocated balance drops to JOD 200; the invoice flips to Paid.
Refunding the remaining JOD 200 unallocated balance because the project was cancelled (this creates a linked Refund receipt):
| Account | Debit | Credit |
|---|---|---|
| Customer Deposits (liability) | 200.00 | |
| Bank | 200.00 |
The retainer's unallocated balance becomes zero and the deposit liability is fully cleared.
When to use which customer-advance pattern
| Situation | Use this |
|---|---|
| Customer pays before any service is delivered or invoice exists | Retainer (this page) |
| You've issued an invoice already and want a deposit line on it | Deposit line on the invoice |
| You over-billed and want to reduce AR without cash moving | Credit note |
| Customer cancelled — return their unallocated retainer balance | Refund receipt linked to the retainer |
The retainer is the cleanest pattern when the money lands before you know exactly what invoices it will cover.
Common mistakes
- "My retainer didn't reduce the customer's AR." That's correct — a retainer sits as a liability, not as negative AR. Until you apply it against an invoice, it shows on the customer's profile as an unallocated retainer, separate from their AR balance.
- Allocation greater than retainer balance. Allocations cannot exceed the retainer's unallocated balance — the form blocks it. Apply only what's available; create a new retainer (or take more cash) if you need more.
- "Voided retainer left allocations behind." Void reverses the books and removes every allocation — invoices it was settling flip back to open. Re-allocate from a different retainer or take a fresh payment.
- Period locked. Posting, voiding, applying, and refunding all require an open period — see Fiscal years and lock dates.
- Currency. The retainer is in the customer's currency. Applying it to an invoice in a different currency is not allowed — match currencies, or take a fresh payment.
Behaviour and rules
- Retainers are a liability, not income. Receiving a retainer does not affect revenue — it parks the money on the books until you earn it.
- Applying moves the money from liability to AR. Only when applied against an invoice does the customer's receivable balance change.
- Journal label. On the Journal entries page, the retainer's entry is labelled as a Retainer and links back to the document.
- Payments page. Retainers also surface on the Payments page under money in.
- Period lock. Posting / voiding / applying require the date's period to be open.
Related
- Customers — retainer balances shown on the customer profile.
- Invoices — Apply Retainer settles open invoices from the deposit.
- Refund receipts — refund an unallocated retainer.
- Payments — every retainer appears here too.
- Reports — Customer Balance Summary and receivables reports.