Add Kleinunternehmerregelung (§19 UStG) support
Validate e-invoices / mustang (push) Successful in 43s
Validate e-invoices / mustang (push) Successful in 43s
InvoiceOrder/CorrectionInvoiceOrder gain an optional order-level kleinunternehmer flag, snapshotted per order (same pattern as vatExempt) so a later toggle of the tenant's setting never rewrites an already-issued invoice. Takes precedence over vatExempt. - Visual PDF: "enthält X% MwSt." becomes the §19 UStG notice. - E-invoice XML: new UNTDID 5305 category "E" with a free-text exemption reason (no VATEX code — §19 UStG has none, BR-E-10 allows text alone). - New Mustang CI fixture + buildEInvoiceData unit test for the "E" path. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+13
-1
@@ -156,6 +156,16 @@ export type InvoiceOrder = {
|
||||
// figures) — this flag only controls the exemption note shown here,
|
||||
// it doesn't itself change any arithmetic in this file.
|
||||
vatExempt?: boolean;
|
||||
// Kleinunternehmerregelung (§19 UStG) — snapshotted per order at checkout
|
||||
// time (frontend's api/checkout/route.ts, from the seller's own
|
||||
// company-settings.kleinunternehmer), never read live off the seller at
|
||||
// render time: an invoice already issued must keep showing the tax
|
||||
// treatment that actually applied at the moment of sale, even if the
|
||||
// tenant later toggles this setting on/off. Takes precedence over
|
||||
// vatExempt below when both would otherwise apply — a Kleinunternehmer
|
||||
// never charges VAT in the first place, so there is nothing left to
|
||||
// "exempt" via the separate intra-community rule.
|
||||
kleinunternehmer?: boolean;
|
||||
deliveryMethod: "address" | "packstation";
|
||||
street?: string | null;
|
||||
packstationNumber?: string | null;
|
||||
@@ -394,7 +404,9 @@ export function InvoiceDocument({ order, seller }: { order: InvoiceOrder; seller
|
||||
made it read as if Netto were what contained the tax,
|
||||
which is backwards (Netto is the figure with tax
|
||||
already taken out). */}
|
||||
{order.vatExempt ? (
|
||||
{order.kleinunternehmer ? (
|
||||
<Text style={styles.vatNoteLabel}>Gemäß § 19 UStG wird keine Umsatzsteuer berechnet.</Text>
|
||||
) : order.vatExempt ? (
|
||||
<Text style={styles.vatNoteLabel}>Steuerfreie innergemeinschaftliche Lieferung (§4 Nr. 1b UStG)</Text>
|
||||
) : (
|
||||
rateGroups.map((g) => (
|
||||
|
||||
Reference in New Issue
Block a user