Class AltteilsteuerExchangePart

Namespace
EInvoice.Core.GermanExtensions
Assembly
EInvoice.Core.dll

The three invoice lines and BT-22 note implementing the Altteilsteuer workaround per UStAE 10.5 Abs. 3 / e-rechnung-bund.de FAQ.

public sealed class AltteilsteuerExchangePart
Inheritance
AltteilsteuerExchangePart
Inherited Members

Properties

AltteilBaseCorrectionLine

Negative Altteilsteuer line: tax category Z, 0%, net = -OldPartNetValue.

public required InvoiceLine AltteilBaseCorrectionLine { get; init; }

Property Value

InvoiceLine

AltteilBasePositiveLine

Positive Altteilsteuer line: tax category S, 19%, net = +OldPartNetValue.

public required InvoiceLine AltteilBasePositiveLine { get; init; }

Property Value

InvoiceLine

AltteilsteuerVatAmount

Altteilsteuer VAT amount = OldPartNetValue × 0.19, rounded to 2 decimal places.

public required decimal AltteilsteuerVatAmount { get; init; }

Property Value

decimal

InvoiceNote

BT-22: Invoice note referencing UStAE 10.5 Abs. 3.

public required Note InvoiceNote { get; init; }

Property Value

Note

OldPartNetValue

Computed old-part net value used to construct the two Altteilsteuer lines.

public required decimal OldPartNetValue { get; init; }

Property Value

decimal

ReplacementPartLine

The replacement part line (as provided by the caller).

public required InvoiceLine ReplacementPartLine { get; init; }

Property Value

InvoiceLine

ZeroRatedTaxableAmount

The Z-category taxable amount (BT-116) to use in the BG-23 tax breakdown. Always equal to -OldPartNetValue because EN 16931 rule BR-Z-08 requires BT-116 to equal the sum of Z-category invoice line nets — and the correction line has a negative net.

public decimal ZeroRatedTaxableAmount { get; }

Property Value

decimal

Remarks

Pass this directly as taxableAmount when calling .Add(..., TaxCategoryCode.ZeroRatedGoods, ...) inside WithTaxTotal.