International.EInvoicing.Countries.Denmark
1.1.0
dotnet add package International.EInvoicing.Countries.Denmark --version 1.1.0
NuGet\Install-Package International.EInvoicing.Countries.Denmark -Version 1.1.0
<PackageReference Include="International.EInvoicing.Countries.Denmark" Version="1.1.0" />
<PackageVersion Include="International.EInvoicing.Countries.Denmark" Version="1.1.0" />
<PackageReference Include="International.EInvoicing.Countries.Denmark" />
paket add International.EInvoicing.Countries.Denmark --version 1.1.0
#r "nuget: International.EInvoicing.Countries.Denmark, 1.1.0"
#:package International.EInvoicing.Countries.Denmark@1.1.0
#addin nuget:?package=International.EInvoicing.Countries.Denmark&version=1.1.0
#tool nuget:?package=International.EInvoicing.Countries.Denmark&version=1.1.0
International.EInvoicing.Countries.Denmark
What Danish electronic invoicing adds on top of the norms.
Denmark exchanges Peppol BIS Billing over NemHandel, with Danish rules that travel inside the Peppol rule
set. So this package builds on International.EInvoicing.Peppol, and what lives here is genuinely national:
the CVR number in the schemes Peppol reserves for it, and the payment means codes Denmark accepts.
DanishEInvoicing danmark = DanishEInvoicing.Create();
EInvoice invoice = danmark.Invoice() // Peppol BIS Billing, UBL, DKK
.WithNumber("2026-0001")
.IssuedOn(new DateOnly(2026, 9, 1))
.WithBuyerReference("REF-2026-0001") // BT-10: Peppol requires it, EN 16931 does not
.From(seller => danmark.Describe(seller, "DK12345670", "Leverandør ApS"))
.To(buyer => buyer.Named("Kunde A/S"))
.AddLine(line => line.WithItem("Rådgivning").WithNetAmount(3000m).WithVat("S", 25m))
.WithComputedVatBreakdown()
.WithComputedTotals()
.Build();
The trap worth knowing about. Payment means code 30, plain credit transfer, is perfectly valid
EN 16931 and is refused by DK-R-005 between two Danish parties. DkPaymentMeans carries the codes Denmark
does accept, taken from the rule itself:
invoice.Payment!.MeansTypeCode = DkPaymentMeans.SepaCreditTransfer; // 58
Two things this package does not carry, both by choice. OIOUBL 2.1, the national format still used domestically, is its own syntax rather than a profile of EN 16931. And NemHandel BIS 4, which the Danish Business Authority committed to in March 2026 as the single domestic format by 2029, is built on Peppol BIS 4 and EN 16931-1:2026 — neither of which is published.
Full documentation: https://github.com/Epic-Dice-Studio/International.EInvoicing
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- International.EInvoicing (>= 1.1.0)
- International.EInvoicing.Peppol (>= 1.1.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
-
net8.0
- International.EInvoicing (>= 1.1.0)
- International.EInvoicing.Peppol (>= 1.1.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.0 | 98 | 9/7/2026 |
| 1.0.1-alpha.0.3 | 64 | 9/7/2026 |
| 1.0.1-alpha.0.2 | 60 | 9/7/2026 |
| 1.0.1-alpha.0.1 | 63 | 9/7/2026 |
| 1.0.0 | 94 | 9/5/2026 |
| 0.1.0-preview.1.107 | 60 | 9/5/2026 |
| 0.1.0-preview.1.106 | 57 | 9/4/2026 |
| 0.1.0-preview.1.105 | 57 | 9/4/2026 |
| 0.1.0-preview.1.104 | 46 | 9/4/2026 |
| 0.1.0-preview.1.103 | 58 | 9/4/2026 |
| 0.1.0-preview.1.102 | 59 | 9/3/2026 |
| 0.1.0-preview.1.101 | 62 | 9/3/2026 |
| 0.1.0-preview.1.96 | 82 | 9/3/2026 |
| 0.1.0-preview.1.95 | 66 | 9/3/2026 |
| 0.1.0-preview.1.94 | 62 | 9/3/2026 |
| 0.1.0-preview.1.93 | 57 | 9/3/2026 |
| 0.1.0-preview.1.92 | 60 | 9/3/2026 |
| 0.1.0-preview.1.91 | 55 | 9/3/2026 |
| 0.1.0-preview.1.90 | 58 | 9/3/2026 |
| 0.1.0-preview.1.89 | 55 | 9/3/2026 |