Recurring Journal Entries
Every month, the same $2,500 of prepaid insurance amortizes into expense. Every month, someone could type that journal — or a Recurring Template could generate it on schedule, perfectly, forever. Recurring templates are the same feature that automates repeat invoices; pointed at journals, they automate the steady heartbeat of period-end bookkeeping.
Access you'll need. Creating and scheduling recurring templates requires the Accounting Admin v2 or Accounting Controller v2 permission set. The Accounts Payable v2, Accounts Receivable v2, and Read Only v2 sets can view templates but not create or schedule them.
Setting one up
Create the template with Document Type = Journal Entry
On the Recurring Templates tab. Pick the entity and — optionally — a JE Type for the generated entries (Adjusting for a monthly accrual pattern, for instance); left blank, generated entries are typed Recurring. The document type locks once saved.
Add balanced template lines
Lines carry GL Account, Debit or Credit, optional Cost Center, Account, a line Entity override (yes — recurring intercompany journals work), and descriptions. The template enforces the same discipline as a real entry: "Total Debit (…) must equal Total Credit (…)", and an active template needs at least one line.
Schedule it and go Active
Frequency (daily to annually), Start Date, and an end — by date, by number of occurrences, or open-ended. Decide Auto Post: off, each run creates a Draft for review; on, the generated journal posts itself immediately — reserve that for amounts that never vary.
The template, field by field
| Field | What it controls |
|---|---|
| Document Type | Journal Entry for this article's purpose (the same template feature also generates invoices and orders). Locked after save: "Document Type cannot be changed once a Recurring Template has been saved." |
| JE Type | The Type stamped on generated entries — Adjusting for period-end accrual patterns, Intercompany for cross-entity recharges. Left blank, generated entries are typed Recurring. |
| Entity / Ledger | Whose books the generated journals write to. |
| Frequency | Daily · Weekly · Bi-Weekly · Monthly · Quarterly · Semi-Annual · Annually. |
| Start Date / End Date / Occurrences | When the rhythm begins and how it ends — by date, by count, or open-ended. |
| Next Run Date / Last Run Date / Completed Count | The template's own bookkeeping — where the schedule stands, maintained automatically. |
| Auto Post | Off: each run delivers a Draft for review. On: the generated journal posts itself immediately. |
| Description / Reference | Carried onto every generated entry. |
Template lines mirror journal lines: GL Account, Debit or Credit, optional Account (customer/vendor), Cost Center, Description — and a line-level Entity override, which is what makes recurring intercompany journals possible.
The rules templates live by
| The message | What it means / what to do |
|---|---|
| "An Active Journal Entry recurring template must have at least one line." | An empty template can't generate anything — add the lines before activating. |
| "Total Debit (…) must equal Total Credit (…). Difference: …" | Templates enforce balance up front, so every generated journal is born balanced. |
| "Document Type cannot be changed once a Recurring Template has been saved." | A journal template stays a journal template — create a new one for a different document type. |
| "No open accounting period found for the generation date and entity." | A run landed in a period that doesn't exist yet; that run fails cleanly and is logged. Generate the period and the next run proceeds. |
Each run
- Creates a journal named after the template ("<Template>-3"), dated the generation date, in the period that date resolves to, lines copied from the template.
- Links it to the template — the template's generated-documents list is the full history.
- Advances Next Run Date, increments Completed Count, deactivates itself when the end condition is met.
- With Auto Post on, the journal passes the full posting gates immediately; a failure rolls the whole generation back and is logged for the administrator.
Generation is performed by the recurring-transactions scheduler your administrator runs (cadence and logs in the Admin Console): Recurring Transaction Batch.
Common mistakes to avoid
| Mistake | Why it hurts | Do this instead |
|---|---|---|
| Auto Post on a variable-amount pattern | The template's number posts to the ledger every period, right or wrong | Auto Post is for amounts that never vary; otherwise let each run deliver a Draft for the one-number edit |
| Forgetting to create next year's periods | January's run fails ("No open accounting period found…") and waits | Have the administrator generate the new year's periods before the year turns |
| Expecting generated accruals to auto-reverse by themselves | The Reversing Date is a per-entry decision — the template doesn't set one | Review each generated Adjusting draft, give it its Reversing Date, then post |
| Retiring a template by deleting it | The generation history and lineage go with it | Pause via Status = Draft, or let the End Date / occurrence count retire it — history stays |
| One template for "roughly monthly" work | Journals that need judgment each period get generated without it | Templates for the steady heartbeat; cloning for the almost-repeats |
Where to go next
- Reversing Journal Entries — pair with Adjusting-type templates for self-cleaning accruals.
- Cloning a Journal Entry — repetition without a schedule.
- Recurring Transaction Batch — the machinery.
Frequently asked questions
Set the template's JE Type to Adjusting and give each generated entry its Reversing Date when you review the draft — the auto-reversal batch handles the rest. (A fully hands-free accrue-and-reverse loop needs that one manual touch per cycle, by design: the reversing date is a per-entry decision.)
That run fails cleanly and is logged ("No open accounting period found for the generation date and entity.") — generate the period and the next run proceeds. Nothing half-created is left behind.
Set its Status back to Draft to pause (reactivate anytime); let it reach its End Date or occurrence count to retire. History stays on the template either way.
Yes — generated journals are ordinary journal entries. Drafts edit freely (that's the review workflow); posted ones follow the normal reopen-fix-repost path. The link back to the template stays either way.
Template name plus a run number — "Monthly Insurance Amortization-3" for the third run — dated the generation date, in whatever period that date resolves to. The template's generated-documents list collects them all, so the full history is one click away.
Was this article helpful?