LedgerOS
Open LedgerOS
Knowledge HubPipeline & tasksRecurring work
Pipeline & tasks

Recurring work

Set up monthly, quarterly, and annual work that creates itself — and decide what happens when last period is still open.

6 min readUpdated July 24, 2026

Most of a firm's work is the same work, again. A recurring schedule creates it for you on a cadence, so nobody's job is remembering that the Q3 filings exist.

Where to find it

Recurring

Create a schedule

  1. Name it under Schedule name — for example, Monthly Bookkeeping.
  2. Choose the Client.
  3. Set Repeats every to the cadence.
  4. Pick First period it covers.
  5. Choose what it spawns under What this spawns each cycle.
  6. Set the Pipeline and Starting status.
  7. Set a Default assignee and a Due rule.
  8. Choose the overlap behaviour.
  9. Save.

Cadence

Six options under Repeats every: Week, 2 weeks, Month, Quarter, Year, and Custom.

The period each instance covers is derived from the cadence, so a quarterly schedule produces calendar quarters and a monthly one produces calendar months. You don't configure that separately.

What it spawns

A schedule can create an Job, a Task, or a Blank task each cycle.

Choosing Job means picking an Job template, and each period gets a full job built from it. Choosing Task creates a single task in the pipeline and status you nominate.

Naming with tokens

The schedule name accepts tokens that resolve when each instance is created. Click a token to drop it into the name at your cursor.

  • {period} — the period this schedule runs for, so a quarterly schedule reads Q1 2026
  • {client} — the client's name
  • {current period} and {prior period} — the month being billed with its year, and the month before
  • {current quarter} and {prior quarter}
  • {current month}, {prior month}, {current year}, {prior year}

The prior-period tokens carry the correct year across a boundary, so a January instance using {prior month} reads December with 2025 rather than 2026.

This matters more than it sounds. Monthly Bookkeeping twelve times over is unreadable in a task list. Bookkeeping — January 2026 — Henderson LLC is not.

When the last one is still open

The setting labelled If the prior instance is still open when the next is due is the one worth thinking about, because it decides what your firm does with work that slipped.

Three behaviours:

  • Stack — open both, so last period and this period run side by side.
  • Roll-forward — carry the open instance into the new period, creating no duplicate.
  • Skip — don't spawn the next one until the prior closes.

Stack is right when each period is genuinely separate work that still has to be done. December's bookkeeping doesn't stop mattering because January arrived.

Roll-forward is right when the work is continuous rather than periodic and two open copies would be meaningless.

Skip is right when spawning ahead of an unfinished instance would only create noise. It's also the setting most likely to hide a problem, because nothing appears to be wrong while nothing is happening.

Job schedules always stack, one job per period. The overlap choice applies to task schedules.

Managing schedules

The list can be filtered by client, by what it spawns, and by state — Active only, Paused only, or Active and paused.

Pausing stops future instances without deleting the schedule or touching anything it already created. It's the right move for a client who's stepped away for a season.

Spawned history shows every instance a schedule has produced, which is how you check a schedule is doing what you think.

Notes and limits

  • Pausing does not close instances that are already open.
  • Editing a schedule changes future instances, not ones already created.
  • A schedule with no default assignee spawns unassigned work, which is filterable but easy to lose.
  • Recurring is a filter on the task list, so you can separate self-generating work from work someone created deliberately.
Was this article helpful?
Related articles