Class InvoiceBuilder
Fluent builder for constructing XRechnung-conformant invoices.
public sealed class InvoiceBuilder
- Inheritance
-
InvoiceBuilder
- Inherited Members
Methods
AddAllowance(decimal, TaxCategoryCode?, decimal?, string?)
public InvoiceBuilder AddAllowance(decimal amount, TaxCategoryCode? taxCategoryCode = null, decimal? taxPercent = null, string? reason = null)
Parameters
amountdecimaltaxCategoryCodeTaxCategoryCodetaxPercentdecimal?reasonstring
Returns
AddAllowance(decimal, string?, decimal?, string?)
public InvoiceBuilder AddAllowance(decimal amount, string? taxCategoryCode = null, decimal? taxPercent = null, string? reason = null)
Parameters
Returns
AddAltteilsteuerExchangePart(AltteilsteuerExchangePart)
Adds all three Altteilsteuer lines and the invoice note in one call.
public InvoiceBuilder AddAltteilsteuerExchangePart(AltteilsteuerExchangePart part)
Parameters
Returns
AddAltteilsteuerExchangeParts(IReadOnlyList<AltteilsteuerExchangePart>)
Adds all lines for each exchange part and a single combined BT-22 invoice note. Use this overload when invoicing multiple exchange parts to produce exactly one note instead of one per part.
public InvoiceBuilder AddAltteilsteuerExchangeParts(IReadOnlyList<AltteilsteuerExchangePart> parts)
Parameters
Returns
AddAltteilsteuerExchangeParts(params ReadOnlySpan<AltteilsteuerExchangePart>)
public InvoiceBuilder AddAltteilsteuerExchangeParts(params ReadOnlySpan<AltteilsteuerExchangePart> parts)
Parameters
Returns
AddCharge(decimal, TaxCategoryCode?, decimal?, string?)
public InvoiceBuilder AddCharge(decimal amount, TaxCategoryCode? taxCategoryCode = null, decimal? taxPercent = null, string? reason = null)
Parameters
amountdecimaltaxCategoryCodeTaxCategoryCodetaxPercentdecimal?reasonstring
Returns
AddCharge(decimal, string?, decimal?, string?)
public InvoiceBuilder AddCharge(decimal amount, string? taxCategoryCode = null, decimal? taxPercent = null, string? reason = null)
Parameters
Returns
AddDocument(Action<DocumentReferenceBuilder>)
public InvoiceBuilder AddDocument(Action<DocumentReferenceBuilder> configure)
Parameters
configureAction<DocumentReferenceBuilder>
Returns
AddDocument(string, string?)
public InvoiceBuilder AddDocument(string id, string? description = null)
Parameters
Returns
AddLine(InvoiceLine)
Adds a pre-built invoice line directly.
public InvoiceBuilder AddLine(InvoiceLine line)
Parameters
lineInvoiceLine
Returns
AddLine(Action<InvoiceLineBuilder>)
public InvoiceBuilder AddLine(Action<InvoiceLineBuilder> configure)
Parameters
configureAction<InvoiceLineBuilder>
Returns
Build()
public Invoice Build()
Returns
WithBuyer(Action<PartyBuilder>)
public InvoiceBuilder WithBuyer(Action<PartyBuilder> configure)
Parameters
configureAction<PartyBuilder>
Returns
WithBuyerReference(string, string?)
public InvoiceBuilder WithBuyerReference(string reference, string? schemeId = null)
Parameters
Returns
WithCurrencyCode(CurrencyCode)
Sets the document currency code. Defaults to EUR if not called.
public InvoiceBuilder WithCurrencyCode(CurrencyCode code)
Parameters
codeCurrencyCode
Returns
WithCurrencyCode(string)
Sets the document currency code. Defaults to EUR if not called.
public InvoiceBuilder WithCurrencyCode(string code)
Parameters
codestring
Returns
WithDueDate(DateOnly)
public InvoiceBuilder WithDueDate(DateOnly date)
Parameters
dateDateOnly
Returns
WithId(string)
public InvoiceBuilder WithId(string id)
Parameters
idstring
Returns
WithInvoiceTypeCode(InvoiceTypeCode)
public InvoiceBuilder WithInvoiceTypeCode(InvoiceTypeCode code)
Parameters
codeInvoiceTypeCode
Returns
WithInvoiceTypeCode(string)
public InvoiceBuilder WithInvoiceTypeCode(string code)
Parameters
codestring
Returns
WithIssueDate(DateOnly)
public InvoiceBuilder WithIssueDate(DateOnly date)
Parameters
dateDateOnly
Returns
WithMonetaryTotal(Action<MonetaryTotalBuilder>)
public InvoiceBuilder WithMonetaryTotal(Action<MonetaryTotalBuilder> configure)
Parameters
configureAction<MonetaryTotalBuilder>
Returns
WithNote(string, string?)
public InvoiceBuilder WithNote(string text, string? subjectCode = null)
Parameters
Returns
WithOrderReference(string)
public InvoiceBuilder WithOrderReference(string reference)
Parameters
referencestring
Returns
WithPaymentMeans(PaymentMeansCode, string?, Action<BankAccountBuilder>?)
public InvoiceBuilder WithPaymentMeans(PaymentMeansCode code, string? paymentId = null, Action<BankAccountBuilder>? account = null)
Parameters
codePaymentMeansCodepaymentIdstringaccountAction<BankAccountBuilder>
Returns
WithPaymentMeans(string, string?, Action<BankAccountBuilder>?)
public InvoiceBuilder WithPaymentMeans(string code, string? paymentId = null, Action<BankAccountBuilder>? account = null)
Parameters
codestringpaymentIdstringaccountAction<BankAccountBuilder>
Returns
WithPaymentTerms(string)
public InvoiceBuilder WithPaymentTerms(string terms)
Parameters
termsstring
Returns
WithSeller(Action<PartyBuilder>)
public InvoiceBuilder WithSeller(Action<PartyBuilder> configure)
Parameters
configureAction<PartyBuilder>
Returns
WithTaxTotal(decimal, Action<TaxSubtotalListBuilder>)
public InvoiceBuilder WithTaxTotal(decimal taxAmount, Action<TaxSubtotalListBuilder> configure)
Parameters
taxAmountdecimalconfigureAction<TaxSubtotalListBuilder>