Drop the Netto row for Kleinunternehmer invoices
Validate e-invoices / mustang (push) Successful in 24s
Validate e-invoices / mustang (push) Successful in 24s
Netto = Gesamt is structural under §19 UStG (no tax component ever existed), not the coincidental 0%-this-one-sale case vatExempt orders are in — showing it right under the §19 notice just duplicated Gesamt. At the user's own request after reviewing a real invoice. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+22
-13
@@ -425,19 +425,28 @@ export function InvoiceDocument({ order, seller }: { order: InvoiceOrder; seller
|
||||
by hand. Shown on every invoice, not just B2B/non-exempt
|
||||
ones — on a vatExempt order Netto and Gesamt happen to be
|
||||
the same figure (0% tax), but the row stays for layout
|
||||
consistency across every invoice this shop issues. Placed
|
||||
last (after the MwSt annotation, not before it) — see
|
||||
that annotation's own comment above for why the order
|
||||
matters here. Styled with the same small/muted
|
||||
vatNoteLabel/vatNoteValue as that annotation, not the
|
||||
larger summaryLabel/summaryValue the build-up rows above
|
||||
Gesamt use — Netto is supplementary detail *below* the
|
||||
hero Gesamt figure, same visual tier as the tax
|
||||
breakdown, not another primary line competing with it. */}
|
||||
<View style={styles.nettoRow}>
|
||||
<Text style={styles.vatNoteLabel}>Netto</Text>
|
||||
<Text style={styles.vatNoteValue}>{formatPrice(rateGroups.reduce((sum, g) => sum + g.net, 0))}</Text>
|
||||
</View>
|
||||
consistency across every invoice this shop issues. The one
|
||||
exception is `kleinunternehmer` (built 2026-07-24, at the
|
||||
user's own request): there Netto = Gesamt for a
|
||||
structural reason, not a coincidental one (§19 UStG means
|
||||
there was never a tax component to subtract in the first
|
||||
place), and the row would just look like a second,
|
||||
redundant total sitting directly under the §19 notice
|
||||
above rather than genuinely new information. Placed last
|
||||
(after the MwSt annotation, not before it) — see that
|
||||
annotation's own comment above for why the order matters
|
||||
here. Styled with the same small/muted vatNoteLabel/
|
||||
vatNoteValue as that annotation, not the larger
|
||||
summaryLabel/summaryValue the build-up rows above Gesamt
|
||||
use — Netto is supplementary detail *below* the hero
|
||||
Gesamt figure, same visual tier as the tax breakdown, not
|
||||
another primary line competing with it. */}
|
||||
{!order.kleinunternehmer && (
|
||||
<View style={styles.nettoRow}>
|
||||
<Text style={styles.vatNoteLabel}>Netto</Text>
|
||||
<Text style={styles.vatNoteValue}>{formatPrice(rateGroups.reduce((sum, g) => sum + g.net, 0))}</Text>
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
{paid && (
|
||||
<View style={styles.paidBadgeRow}>
|
||||
|
||||
Reference in New Issue
Block a user