Skip to content

[Epic]: V1→V2 parity — PDF, Templates, Themes, QR #665

Description

@nielsdrost7

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

Summary: Core invoice PDF generation works. A large slice (quote PDF service, per-document templates, list-row download) is already implemented but unmerged on feature/130-report-builder (PR #608). Two issues were closed as done but their list-row download actions are still empty-closure stubs on develop — reopened with failing-test evidence on branch chore/verify-pdf-list-stub-and-wkhtmltopdf-bug. A genuine latent bug (wkhtmltopdf driver instantiates a nonexistent class) was also found and filed.

Cross-domain note: #255/#262 (public template settings) are attached under the Guest/Client Portal epic (#650) since they gate the public-link surface; #526 (PDF email attachment) is attached under the Email Pipeline epic since it's fundamentally an email-delivery feature. Both remain relevant here and are cross-referenced.

Sub-issues

Specific

Reach PDF/document-template feature parity with v1: working quote PDF generation, per-document templates, sent-PDF archival, per-document password protection, and SEPA QR rendering — with the two verifiably-broken "done" issues actually fixed on develop.

Measurable

All sub-issues closed; downloading a PDF works identically for invoices and quotes from every entry point (list, edit page, email, print); archived copies are retrievable; passworded/QR-enabled invoices render correctly.

Achievable

PR #608 (Report Builder) delivers a large share of this once merged — #200/#196/#411/#130/#506 become verification-only at that point. The remaining items (archive, password, QR, wkhtmltopdf fix, theme selection) are independent.

Relevant

PDF generation is core invoicing functionality; two of these issues were incorrectly marked done while broken on develop, and one is an outright latent bug with no parity relationship at all.

Time-Bound

#200/#196 fixes: immediate (pure wiring or straightforward service addition). Archive/password/QR: 1 sprint each, ordered after the list-action wiring.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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