A subledger beside your ledger, not instead of it.
Your general ledger books the invoice and the receivable — it always has. RevRec runs the subledger next to it: what is owed, what has been chased, what has been collected, and where the two disagree.
Your GL keeps the receivable.
This is the question worth answering before anything else, because the expensive mistake in this category is two systems booking the same invoice.
RevRec does not post the receivable. Your ledger books the invoice, the AR balance and the deferred credit, exactly as it does today. What RevRec posts is the recognition release — moving deferred revenue to revenue as the obligation is satisfied.
So the subledger runs alongside, in shadow, and you keep one AR balance with one owner. Nothing about your month-end changes on day one.
| Event | Booked by | Entry |
|---|---|---|
| Invoice issued | Your GL | Dr AR / Cr Deferred |
| Cash received | Your GL | Dr Cash / Cr AR |
| Revenue recognised | RevRec | Dr Deferred / Cr Revenue |
| What is owed, aged | RevRec | subledger, derived |
| Chasing it | RevRec | email only |
It never touches the money.
RevRec never takes custody of your customers’ funds and never initiates a transfer. What it can do is hand a payer to your own processor — a checkout session opened in your Stripe account, under your keys, with no platform fee and no destination but yours.
Reminders are email. A step fires once; payment, a promise to pay, or a pause stops the sequence. Both the sending switch and the reminder switch are off until an admin turns them on.
- It never charges a card or sends a payment
- A payment is matched to its invoice by a person, or by your payment system's verified feed
- A payment that doesn't match waits for you, rather than being applied to a likely invoice
Before you switch reminders on
The cadence sends the step an invoice has already reached. Enable it on a book that is already aged and the oldest invoices receive their final notice on the first run, not a first reminder.
Preview the sweep before you enable it — what the preview lists is exactly what the run will send.
Receivables you can defend.
A history you can't lose
Balances are always worked out from the events. A correction is a new entry, never an edit, so what a customer owed on any date stays readable.
An issued invoice stays as issued
Once you issue an invoice it's locked, and the same instalment can't be invoiced twice.
Reminders that know when to stop
Each reminder goes out once. A payment, a promise to pay, or a pause stops the sequence.
Preview exactly what will send
The reminder preview lists exactly what the next daily run will send, so there are no surprises in a customer's inbox.
It asks rather than guesses
A payment that doesn't match an invoice waits for a person, rather than being applied to the most likely one.
It tells you what it can't see
Entries made directly in your GL are outside RevRec's view, so it checks what's posted there and tells you when the two disagree.
Run it in shadow until it earns the ledger.
Watch the subledger agree with your GL for a period or two before anything about your posting changes.