Skip to content

docs: v3 documentation (hold until 3.0 GA) - #22

Draft
gdarko wants to merge 7 commits into
masterfrom
3.x
Draft

docs: v3 documentation (hold until 3.0 GA)#22
gdarko wants to merge 7 commits into
masterfrom
3.x

Conversation

@gdarko

@gdarko gdarko commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Do not merge until the 3.0 GA flip. This branch is the v3 documentation staging area, the same way the app repo keeps 3.x separate from what is currently shipped. master documents 2.4.x, which is what users are running today; merging this early would publish v3 behaviour to people who cannot use it.

Opened as a draft so the branch is visible and reviewable as it accumulates, rather than sitting unreferenced.

What is on it

pdf-generation.md — page setup is now driver-neutral, so the GOTENBERG_PAPERSIZE row is replaced by PDF_PAPER_*, PDF_ORIENTATION and PDF_MARGIN_*, all honoured by dompdf and Gotenberg alike. Margins default to nothing, because the bundled templates carry their own insets and two of them are built around a header band that only reaches the paper edge when there is no page margin. Adds the PDF/A and page-numbers sections, including the trap that page numbers draw inside the bottom margin and so need one set.

custom-templates.md — payment receipts and the five reports can now be overridden, which they could not before; the _header / _footer companion convention for repeating page furniture; and a note that a template owns its own insets.

What deliberately went to master instead

The wrong path (storage/templates/pdf/ rather than storage/app/templates/pdf/), plus the .png requirement, the shared-partial caveat and the ?preview parameter. Those are wrong or missing for 2.x as wellInvoiceShelf-2 registers the identical namespace — so they should not wait for GA. That landed in #21.

At GA

Merge this, and flip whatever else moves when 3.x becomes the shipped line.

gdarko and others added 7 commits July 29, 2026 21:07
Page setup (paper size, orientation, margins) is now honoured by both drivers
rather than being a Gotenberg-only papersize string, so GOTENBERG_PAPERSIZE is
replaced by the PDF_* variables and the section says the two drivers agree.

Adds the v3-only capabilities: PDF/A archival output, page numbers, repeating
page headers and footers via _header/_footer companion views, and overriding
payment receipts and reports -- which have no picker, so a same-named file
replaces the built-in outright.

Custom templates now get their own copy of the line-items table rather than
sharing one per type, and a missing preview image falls back to the built-in
design's rather than rendering blank, so both notes change accordingly.
The bundled templates carry their own insets, and two of them are built around a
header band that runs to the paper edge -- which it can only do when there is no
page margin. Documents the default and what setting a margin costs.

Also flags the page-numbers consequence properly: the footer draws inside the
bottom page margin, so with the new default it is invisible until one is set.
The page described the feature as it shipped: one credit note per invoice,
always the whole invoice, and never an invoice with payments on it. All three
are gone. A credit note now reverses whichever lines and quantities you pick,
an invoice can carry several of them until nothing is left to credit, and an
invoice with payments can be credited down to its unpaid remainder.

Rewritten around what the modal actually asks for, with the rules table
reworked to the guards that exist today: per-line remaining quantity, the
outstanding-balance cap, no crediting a fully paid invoice, and the new one
that a credited invoice can no longer be edited. Adds the optional reason and
the Partially credited state next to Cancelled, on screen and on the PDF.

The two neighbouring pages that repeated the old "in full" claim are corrected
to match.
docs: refresh InvoiceShelf 3 preview guidance
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant