Skip to content

Releases: carlosinho/invoice

Initial post-fork

05 Feb 13:16

Choose a tag to compare

This release adds a bunch of new features compared to the original repo. I needed to make it more versatile to be able to use it for creating invoices in the EU - lots more info needed.

Main things added:

  • Logo scaling: Added a logoScale parameter to JSON and CLI so you can precisely control the logo size in the top‑right corner without editing the image itself.
  • Richer JSON config: Extended the example input to support more fields (dates, currency, tax name, paid amount, bank details, etc.) so a single JSON file can fully describe an invoice.
  • Invoice layout redesign: Realigned the PDF layout (logo, title, invoice number, dates, seller/buyer columns, dividers) for better readability and to fit more information consistently.
  • Custom tax label (taxName): Added support for a custom tax label (e.g. VAT, GST), used in both per‑item and totals sections instead of a hard‑coded “Tax”.
  • Totals currency labels: Updated the totals section to display amounts as 123.45 USD (currency code after the number) instead of using symbols like $123.45.
  • ISO date format: Standardized invoice dates (issue, sale, due) to ISO format YYYY-MM-DD to avoid locale ambiguity.
  • Paid amount & total due: Added a paid field and now show both “Paid” and “Total due” in the totals section (total gross minus paid).
  • Billing period: Optional billingPeriod parameter (JSON/YAML/CLI). When set, it is displayed on the invoice below the due date; the label comes from the language file. Omit to hide.
  • Multilingual support: Introduced JSON‑based language files in lang/ (e.g. en.json, pl.json) for all fixed labels, with validation to ensure language files are complete.
  • Skip zero‑quantity items: Items whose quantity is explicitly set to 0 are no longer rendered on the invoice.
  • Config/dep cleanup: Removed non‑functional environment‑variable wiring and the related README section, and cleaned up unused Go dependencies to match the current code.