Class Invoice

Namespace
EInvoice.Core.Model
Assembly
EInvoice.Core.dll

Represents an electronic invoice conforming to EN 16931 / EInvoice.

public sealed class Invoice
Inheritance
Invoice
Inherited Members

Properties

AdditionalDocuments

BG-1: Additional supporting documents.

public IReadOnlyList<DocumentReference> AdditionalDocuments { get; init; }

Property Value

IReadOnlyList<DocumentReference>

Allowances

BG-20: Document-level allowances.

public IReadOnlyList<Allowance> Allowances { get; init; }

Property Value

IReadOnlyList<Allowance>

Buyer

BG-7: Buyer party.

public required Party Buyer { get; init; }

Property Value

Party

BuyerAccountingReference

BT-19: Buyer accounting reference.

public string? BuyerAccountingReference { get; init; }

Property Value

string

BuyerReference

BT-10: Buyer reference (Leitweg-ID for German public sector).

public required string BuyerReference { get; init; }

Property Value

string

BuyerReferenceSchemeId

Optional scheme identifier for BT-10. Use "leitweg-id" to enable Leitweg-ID format and check digit validation.

public string? BuyerReferenceSchemeId { get; init; }

Property Value

string

Charges

BG-21: Document-level charges.

public IReadOnlyList<Charge> Charges { get; init; }

Property Value

IReadOnlyList<Charge>

ContractReference

BT-12: Contract reference.

public string? ContractReference { get; init; }

Property Value

string

Delivery

BG-13/BG-15: Delivery information.

public DeliveryInformation? Delivery { get; init; }

Property Value

DeliveryInformation

DespatchAdviceReference

BT-16: Despatch advice reference.

public string? DespatchAdviceReference { get; init; }

Property Value

string

DirectDebit

BG-19: Direct debit mandate.

public DirectDebitMandate? DirectDebit { get; init; }

Property Value

DirectDebitMandate

DocumentCurrencyCode

BT-5: Invoice currency code (ISO 4217).

public required CurrencyCode DocumentCurrencyCode { get; init; }

Property Value

CurrencyCode

DueDate

BT-9: Due date for payment.

public DateOnly? DueDate { get; init; }

Property Value

DateOnly?

Id

BT-1: Invoice number (unique identifier assigned by the Seller).

public required string Id { get; init; }

Property Value

string

InvoicePeriod

BG-14: Invoice period.

public InvoicePeriod? InvoicePeriod { get; init; }

Property Value

InvoicePeriod

InvoiceTypeCode

BT-3: Invoice type code (e.g. 380 = Commercial Invoice, 381 = Credit Note).

public required InvoiceTypeCode InvoiceTypeCode { get; init; }

Property Value

InvoiceTypeCode

InvoicedObjectIdentifier

BT-18: Invoiced object identifier.

public string? InvoicedObjectIdentifier { get; init; }

Property Value

string

InvoicedObjectSchemeId

BT-18-1: Scheme identifier for the invoiced object identifier (UNTDID 1153).

public ReferenceCodeQualifier? InvoicedObjectSchemeId { get; init; }

Property Value

ReferenceCodeQualifier

IssueDate

BT-2: Invoice issue date.

public required DateOnly IssueDate { get; init; }

Property Value

DateOnly

LegalMonetaryTotal

BG-22: Document totals.

public required MonetaryTotal LegalMonetaryTotal { get; init; }

Property Value

MonetaryTotal

Lines

BG-25: Invoice lines.

public required IReadOnlyList<InvoiceLine> Lines { get; init; }

Property Value

IReadOnlyList<InvoiceLine>

Notes

BT-22: Notes on the invoice.

public IReadOnlyList<Note> Notes { get; init; }

Property Value

IReadOnlyList<Note>

OrderReference

BT-13: Purchase order reference.

public string? OrderReference { get; init; }

Property Value

string

Payee

BG-10: Payee party (if different from the Seller).

public Payee? Payee { get; init; }

Property Value

Payee

PaymentMeans

BG-16: Payment means.

public PaymentMeans? PaymentMeans { get; init; }

Property Value

PaymentMeans

PaymentTerms

BT-20: Payment terms (free text).

public string? PaymentTerms { get; init; }

Property Value

string

PrecedingInvoices

BG-3: Preceding invoices (corrected or replaced).

public IReadOnlyList<PrecedingInvoice> PrecedingInvoices { get; init; }

Property Value

IReadOnlyList<PrecedingInvoice>

ProjectReference

BT-11: Project reference.

public string? ProjectReference { get; init; }

Property Value

string

ReceivingAdviceReference

BT-15: Receiving advice reference.

public string? ReceivingAdviceReference { get; init; }

Property Value

string

RemittanceInformation

BT-83: Remittance information.

public string? RemittanceInformation { get; init; }

Property Value

string

SalesOrderReference

BT-14: Sales order reference.

public string? SalesOrderReference { get; init; }

Property Value

string

Seller

BG-4: Seller party.

public required Party Seller { get; init; }

Property Value

Party

TaxRepresentative

BG-11/BG-12: Seller's tax representative party.

public TaxRepresentative? TaxRepresentative { get; init; }

Property Value

TaxRepresentative

TaxTotal

BG-22: Tax totals.

public required TaxTotal TaxTotal { get; init; }

Property Value

TaxTotal

TenderOrLotReference

BT-17: Tender or lot reference.

public string? TenderOrLotReference { get; init; }

Property Value

string

VatAccountingCurrencyCode

BT-6: VAT accounting currency code (when different from invoice currency).

public CurrencyCode? VatAccountingCurrencyCode { get; init; }

Property Value

CurrencyCode

VatPointDate

BT-7: Value added tax point date.

public DateOnly? VatPointDate { get; init; }

Property Value

DateOnly?

VatPointDateCode

BT-8: Value added tax point date code (UNTDID 2005).

public DateCode? VatPointDateCode { get; init; }

Property Value

DateCode