Retainer Billing
Retainer Billing uses accrual-based revenue recognition — retainer payments are not counted as revenue until work is applied to the Retainer Bill.
Why it matters: How Canopy handles revenue for Retainer Bills affects what appears in your Aged Receivables and Revenue and Profitability reports — understanding this prevents confusion when a paid retainer doesn't show up where you'd expect it.
Required: Time and Billing Permissions.
⚠️ Beta Feature: Retainer Bills are currently in Beta and must be enabled before use. Go to Settings > Experimental Features and toggle on Retainer Billing.
Table of Contents
How Revenue Recognition Works
When a client pays a retainer invoice, that payment is held — not recognized as revenue — until work is applied to the Retainer Bill. This mirrors how traditional invoices work: revenue reflects completed work, not money collected upfront.
What this means in practice:
Paying a retainer invoice does not generate revenue in your reports
Revenue appears as WIP is applied to the Retainer Bill
If a retainer is never drawn against, it does not appear as income
Aged Receivables Report
The Aged Receivables report treats Retainer Bill retainer invoices like unpaid standard invoices until payment is received.
Unpaid retainer invoices appear in the Aged Receivables report
Paid retainer invoices are removed from the report
Revenue and Profitability Report
The Revenue and Profitability report reflects work applied to a Retainer Bill — not the retainer invoice amount itself.
Applied WIP appears as recognized revenue in the report
The retainer invoice amount is not reflected as revenue until work is applied
This matches standard invoice behavior, where revenue is based on completed work
Summary
Retainer Billing follows standard accrual revenue recognition: collecting a retainer doesn't generate revenue until work is applied against it. Use Aged Receivables to monitor unpaid retainers and Revenue and Profitability to track work-based revenue across your Retainer Bills.
Related Articles
Need help?
Contact Support or ask Penny, our AI Support Bot, for assistance.
