Skip to content

[Epic]: V1→V2 parity — Recurring Invoices #644

Open
0 of 11 issues completed
Open

Description

@nielsdrost7

Domain epic under the V1→V2 feature-parity umbrella (#136). Full audit: 01-recurring.md (2026-07-18 parity audit, v1 prep/v180 vs v2 develop).

Summary: RecurringInvoice is schedule-CRUD only — no generation engine, no scheduler/job infrastructure exists anywhere in the app. Settings render three toggles (cron_key, automatic_email_on_recur, generate_invoice_number_for_draft) whose backends don't exist. The single biggest blocker is the generation engine (#641) — it unblocks the frequency-parity, stop/reactivate, auto-email, and numbering issues below.

Sub-issues

Specific

Reach recurring-invoice feature parity with InvoicePlane v1: a working generation engine that materializes due invoices on schedule, full frequency-interval support, stop/reactivate lifecycle, auto-email on generation, and correct draft-numbering behavior.

Measurable

All 11 sub-issues above closed; a recurring schedule created today generates real invoices on its due dates without manual intervention, matching v1's cadence and numbering semantics.

Achievable

Sequenced by the generation engine (#641) as the critical-path dependency; the rest can proceed in parallel once its schema lands.

Relevant

Recurring billing is core SaaS/subscription functionality; today the v2 feature is entirely decorative.

Time-Bound

Engine + schema: 1 sprint. Remaining sub-issues: 2-3 sprints depending on parallelization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicrefinedRefined with SMART plan / test suggestions

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions