Rechnungen: fortlaufende Nummer, Umsatzsteuer je Kategorie, E-Rechnung (ZUGFeRD) und Stornorechnung #5

Closed
opened 2026-10-16 05:58:25 +00:00 by Nick.Rosenloecher · 0 comments
Owner

Ziel

Jede bezahlte Bestellung bekommt eine rechtskonforme Rechnung als E-Rechnung; Stornos erzeugen eine Stornorechnung statt die Rechnung zu ändern.

Umgesetzt

  • Fortlaufende Rechnungsnummer RE-<Jahr>-<Nr> über Tabelle invoice_counters (e525db8, Migration 20260918010000_invoice_counter)
  • Ablage der PDFs unter INVOICE_DIR nach Jahr und Kunde, getrennt von den öffentlichen Uploads (70ede77, 6135c1f)
  • Umsatzsteuer je Produkt, je Kategorie oder als Rückfallwert, mehrere Sätze auf einer Rechnung (625b73a, 7c59283)
  • Gestaltete Rechnung mit USt-IdNr. und Gruppierung je Satz (77bdd99)
  • Hybride E-Rechnung ZUGFeRD/Factur-X EN 16931, PDF/A-3b mit eingebetteten Liberation-Schriften (508ff24, 4b15ca0, lib/einvoice/)
  • Stornorechnung ST-<Jahr>-<Nr> mit eigenem Nummernkreis, Rechnungskopie an eine Admin-Adresse (4d1bcbb, Migration 20261012010000_cancellation_invoices)
  • Befunde aus dem Sicherheitsreview behoben (4827c8f); produktiv seit 2026-10-12 (Build sha-4827c8f, heute in sha-0d254db enthalten)

Offen

  • Inhaber trägt unter Admin → Einstellungen → Firma „Rechnungskopie an“ ein (laut Memory vom 2026-10-12 leer)
  • Inhaber klärt den Steuersatz für Propolis (VAT_RATE_PERCENT_PROPOLIS, Vorgabe 19 %)
  • Für die Kategorie SONSTIGES fehlt im Cluster der Steuersatz, siehe #24

Grundlage

README, Abschnitt „Rechnungen“ mit Unterabschnitten. Übergabe an ERPNext siehe #19.

Status

Code: ja · Geprüft: ja (Unit-Tests invoice-*, cii, cancellation-invoice; XSD, Schematron und veraPDF laut README) · Gemergt: ja · Produktiv: ja (im Build sha-0d254db enthalten, laut Cluster-Abfrage 2026-10-16 live)
Stand: 2026-10-16 (Quelle: git origin/main 35e7c84, Cluster-Abfrage nur lesend am 2026-10-16, Session-Status, Memory)

## Ziel Jede bezahlte Bestellung bekommt eine rechtskonforme Rechnung als E-Rechnung; Stornos erzeugen eine Stornorechnung statt die Rechnung zu ändern. ## Umgesetzt - [x] Fortlaufende Rechnungsnummer `RE-<Jahr>-<Nr>` über Tabelle `invoice_counters` (`e525db8`, Migration `20260918010000_invoice_counter`) - [x] Ablage der PDFs unter `INVOICE_DIR` nach Jahr und Kunde, getrennt von den öffentlichen Uploads (`70ede77`, `6135c1f`) - [x] Umsatzsteuer je Produkt, je Kategorie oder als Rückfallwert, mehrere Sätze auf einer Rechnung (`625b73a`, `7c59283`) - [x] Gestaltete Rechnung mit USt-IdNr. und Gruppierung je Satz (`77bdd99`) - [x] Hybride E-Rechnung ZUGFeRD/Factur-X EN 16931, PDF/A-3b mit eingebetteten Liberation-Schriften (`508ff24`, `4b15ca0`, `lib/einvoice/`) - [x] Stornorechnung `ST-<Jahr>-<Nr>` mit eigenem Nummernkreis, Rechnungskopie an eine Admin-Adresse (`4d1bcbb`, Migration `20261012010000_cancellation_invoices`) - [x] Befunde aus dem Sicherheitsreview behoben (`4827c8f`); produktiv seit 2026-10-12 (Build sha-4827c8f, heute in sha-0d254db enthalten) ## Offen - [ ] Inhaber trägt unter Admin → Einstellungen → Firma „Rechnungskopie an“ ein (laut Memory vom 2026-10-12 leer) - [ ] Inhaber klärt den Steuersatz für Propolis (`VAT_RATE_PERCENT_PROPOLIS`, Vorgabe 19 %) - [ ] Für die Kategorie SONSTIGES fehlt im Cluster der Steuersatz, siehe #24 ## Grundlage README, Abschnitt „Rechnungen“ mit Unterabschnitten. Übergabe an ERPNext siehe #19. ## Status Code: ja · Geprüft: ja (Unit-Tests invoice-*, cii, cancellation-invoice; XSD, Schematron und veraPDF laut README) · Gemergt: ja · Produktiv: ja (im Build sha-0d254db enthalten, laut Cluster-Abfrage 2026-10-16 live) Stand: 2026-10-16 (Quelle: git origin/main 35e7c84, Cluster-Abfrage nur lesend am 2026-10-16, Session-Status, Memory)
Nick.Rosenloecher added the art/featureprio/hochstatus/erledigt labels 2026-10-16 05:58:25 +00:00
Sign in to join this conversation.