Skip to main content
Financial reports — Trial Balance, Balance Sheet, Profit & Loss, Cash Flow, General Ledger, Account Ledger, Aged Receivables and Aged Payables — usually get run with the same filters over and over (same date range style, same branch, same cost centre). A preset saves a report’s current filter set under a name so you can reload it in one click. A schedule takes a preset and emails the report to a list of recipients on a recurring cadence (e.g. “Trial Balance, first of every month, to the finance team”).
Presets and schedules are per accounting book. Each business has its own book, so presets you save are scoped to the business you’re working in.
You’ll find this on each report page, in the Saved presets panel — for example /accounting/reports/trial-balance, /accounting/reports/balance-sheet, /accounting/reports/aged-receivables, and the other report routes under /accounting/reports/....
📷 Screenshot: A financial report page with the Saved presets panel shown above the report body — to be added.

Presets

A preset stores the exact filter values showing on the report at the moment you save it. Reloading the preset re-applies those filters to the page.

Save the current filters as a preset

  1. Open a report and set its filters the way you want them.
  2. In the Saved presets panel, type a name into “Save current filters as” (for example, Monthly TB — All branches).
  3. Optionally tick Share with team (see below).
  4. Click Save.
📷 Screenshot: Saved presets panel with the name field, “Share with team” checkbox and Save button — to be added.

Load a preset

Click a preset’s name in the list — its saved filters are applied to the report immediately.

Delete a preset

Click the trash icon on the preset row and confirm. Deleting a preset also removes any schedules attached to it.
📷 Screenshot: A preset row showing the name, a “Shared” badge, and the schedule (clock) and delete (trash) icons — to be added.

Private vs shared

  • Private (default): only you can see, load, edit, delete, or schedule the preset.
  • Shared: the whole team can see and load it. But only you, the owner, can edit it, delete it, or attach/change schedules on it. Sharing makes a preset reusable without handing the team control over its outbound email schedules.

Schedules — recurring email delivery

A schedule runs a preset automatically on a cron cadence and emails the rendered report to a recipient list. Open the schedule editor with the clock icon on a preset row.
📷 Screenshot: “Schedule recurring run” modal showing existing schedules and the “Add a schedule” form — to be added.

Create a schedule

  1. Click the clock icon on the preset you want to schedule.
  2. In Add a schedule, choose:
    • Cadence — pick a ready-made cadence or Custom cron… for your own expression.
    • Format — PDF, Excel (.xlsx) or CSV.
    • Timezone — the IANA zone the cadence is read in (defaults to your browser’s zone).
    • Recipients — one or more email addresses, comma- or newline-separated.
  3. Click Create schedule.
Built-in cadence options:
Format support — known limitation. The schedule form offers PDF, Excel and CSV and defaults to PDF, but the server currently accepts CSV schedules only (PDF/XLSX rendering is synchronous-only and not yet wired into scheduled delivery). If you try to create a non-CSV schedule it will be rejected with a message to that effect. Choose CSV when creating a schedule until this is lifted.

Manage existing schedules

Each schedule in the list shows its cron expression, format, timezone, status, recipients, next run time, and the last error (if any). Per schedule you can:
📷 Screenshot: An existing schedule row with cron code, format badge, timezone badge, status, and the run-now / pause / delete actions — to be added.
Statuses: active (running), paused (manually paused), failed (a run errored — check Last error).

Frozen-period snapshots (for reference)

Separately from presets, the accounting module can freeze a report’s result for a closed period so that re-running the same report at the same as-of date returns the exact same numbers byte-for-byte — an auditor-grade close. Open periods always recompute live. This freezing is part of period-close, not something you set up on the presets panel, but it’s why a report for a closed month never drifts.

Who can use this

Ownership — not just sharing — gates every mutation and every outbound-email schedule. A teammate can reuse your shared preset but cannot point a schedule at a recipient list using it.

Tips

  • Name presets so the cadence is obvious, e.g. Monthly TB — All branches.
  • Set the timezone deliberately for month-end runs so a “1st at 06:00” schedule fires on your local first-of-month, not UTC’s.
  • Use Run now to test a freshly created schedule before relying on the cron.
  • If a schedule shows failed, open it and read Last error, fix the cause (often a bad recipient or cron), and resume it.