From f54ff267a7be1be57849168ec3c8a805d139e793 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 31 Jul 2026 22:01:29 +0000 Subject: [PATCH] Document the shared-modules section pointing to @einfach-produktiv/invoicing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Notes what moved into the shared package (VIES, VAT-ID, PLZ, carrier-tracking) and why — this repo's README previously didn't call out the modularization/dedup pass at all, only individual file references scattered through other sections. Co-Authored-By: Claude Sonnet 5 --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 080ccfd..2ad8da8 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,18 @@ specific to this project. via an httpOnly session cookie this app mints itself; see "Orders & customer accounts" below. +## Shared modules + +`@einfach-produktiv/invoicing` (a separate repo, consumed as a git +dependency — see "Invoice PDFs" below) is where framework-agnostic logic +shared with the Payload backend lives, so it's written once instead of +maintained as two independently-drifting copies. Beyond invoice/e-invoice +PDF generation and tax-breakdown math, it also holds VIES VAT-ID checking, +VAT-ID format validation, PLZ digit-count validation, and shipping-carrier +tracking-label logic — all previously hand-duplicated `app/lib/*.ts` files +in this repo, now imported from the shared package instead. See that +package's own README for what's in it and why each piece was unified. + ## Getting started ```bash