feat(backend+frontend): invoice module with ZUGFeRD XML, itemised positions, and contact decryption #286
No reviewers
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner!286
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/issue-16-invoice"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Allgemein
Altes Verhalten
decrypt(invoice.xmlPayload)wurde im Download aufgerufen aber das Ergebnis nie genutztNeues Verhalten
itemsauf Invoice: speichert Einzelpositionen[{ label, grossCents, quantity }]deriveItems()leitet Positionen ausformDefinition+formFinalab, aggregiert identischeBilledQuantity> 1decrypt(invoice.xmlPayload)fuer konsistentes XML im PDF-AnhangdecryptContactData()/decryptAddressOnly()fuer Adress-Entschluesselunginvoices.tsentschluesseln jetzt korrekt (Bugfix)Begruendung
Das ZUGFeRD-Rechnungsmodul war bisher ohne Einzelpositionen und mit unverschluesselten Adressen nicht produktiv nutzbar. Die Aufteilung in Backend/Frontend/Chore-Commits ermoeglicht fokussierte Reviews und saubere Merge-Historie.
Test-Hinweise
cd backend && npm run gen:test-pdferzeugt Test-PDF nachoutput/test-rechnung.pdfcd backend && npm run test— alle 622 Tests gruennpm run test:build— Lint + Typecheck + Testsnpm run test:integration:fast(benoetigt laufende Docker-Container)Checkliste
use:testidan neuen<button>,<a>,<form>-Elementen gesetzt?e2e/specs/angelegt?ec82f2f3593d2c913b243d2c913b24f77a883b1bfeat(backend+frontend): invoice module with ZUGFeRD XML, itemised positions, and contact decryptionto WIP: feat(backend+frontend): invoice module with ZUGFeRD XML, itemised positions, and contact decryptionf77a883b1bc613faa40ec613faa40eba7f9d0c7dWIP: feat(backend+frontend): invoice module with ZUGFeRD XML, itemised positions, and contact decryptionto feat(backend+frontend): invoice module with ZUGFeRD XML, itemised positions, and contact decryption