Cadence¶
Tier: Motion ยท Requirement module: Compliance Calendar ยท Status: ๐ก Designed
Purpose¶
Cadence knows who owes what, when. It materialises an obligation for every combination of licence, return template, and reporting period, computes the due date from the working-day calendar, drives reminders, flags late filing, and arms the penalty workflow.
An obligation is the spine of the platform. A submission exists to satisfy one; a review decides one; a breach is recorded against one.
Scope¶
| Capability | Status | Notes |
|---|---|---|
| Return obligations by licence class | ๐ก | Materialised from Registry ร Return Studio |
| Due-date calculator | ๐ก | Period end + notice days, then calendar adjustment |
| Holiday and weekend adjustment | ๐ก | Configurable calendar per jurisdiction; next or previous working day |
| Reminder schedule | โฌ | Configurable offsets before due, on due, after due |
| Overdue escalation | ๐ก | Late flag, supervisor notification, risk driver into Prism |
| Extension requests | โฌ | Firm requests, supervisor grants; the granted date supersedes and is sealed |
| Penalty calculation hooks | โฌ | Produces a recommendation for Docket, never an automatic charge |
| Calendar export | โฌ | iCal feed per firm and per supervisor |
Due-date arithmetic¶
Stated explicitly because it is the figure most likely to be challenged.
period end 2026-06-30 (from the template's frequency and the period)
+ notice days 45 (template dueDatePolicy.noticeDays)
= raw due date 2026-08-14
calendar check ZW_PUBLIC_HOLIDAYS
is it a working day? yes
= due date 2026-08-14
extension granted? none
= effective due date 2026-08-14
overdue when now > effective due date AND no accepted submission
Every step is stored, not just the answer. When a firm disputes lateness, the supervisor shows the arithmetic including which calendar was applied and whether an extension existed.
Obligation states¶
FORECAST โโโบ OPEN โโโบ SUBMITTED โโโบ UNDER_REVIEW โโโบ ACCEPTED
โ โ โ
โ โโโโบ OVERDUE โโโโโโโโโโโโโโโค
โ โ โโโโบ REJECTED โโโบ OPEN (resubmission)
โ โโโโบ ESCALATED โโโบ Docket
โโโโบ WAIVED (extension to a later period, or licence surrendered)
FORECAST obligations exist before their period opens so the firm's calendar shows what is
coming. They become OPEN when the period closes and the return can actually be prepared.
Owns¶
- Obligation instances and their states
- Computed due dates and the arithmetic behind them
- Working-day calendars and adjustment policy
- Reminder schedules and dispatch records
- Extension requests and grants
Does not own¶
- Templates or notice periods โ Return Studio
- Licence categories โ Registry
- Submissions โ Strata
- Penalties โ Cadence recommends, Docket decides
Open questions¶
- Event-driven returns. R08 STR logs and R29 change notifications have no period and no due date; they are triggered by an event at the firm. These need an obligation model that is open until closed rather than due on a date, or a second obligation kind. Leaning toward a second kind rather than bending the first.
- Retrospective calendar changes. A public holiday gazetted after obligations were materialised must shift due dates already computed. Mechanically fine; the question is whether a firm already flagged late becomes retroactively compliant. Policy, and it must be labelled.
Related¶
- Registry โ licence categories drive applicability
- Strata โ submissions satisfy obligations
- Architecture doctrine โ deadlines are computed