AeInvoice 0.1.0-preview.2
dotnet add package AeInvoice --version 0.1.0-preview.2
NuGet\Install-Package AeInvoice -Version 0.1.0-preview.2
<PackageReference Include="AeInvoice" Version="0.1.0-preview.2" />
<PackageVersion Include="AeInvoice" Version="0.1.0-preview.2" />
<PackageReference Include="AeInvoice" />
paket add AeInvoice --version 0.1.0-preview.2
#r "nuget: AeInvoice, 0.1.0-preview.2"
#:package AeInvoice@0.1.0-preview.2
#addin nuget:?package=AeInvoice&version=0.1.0-preview.2&prerelease
#tool nuget:?package=AeInvoice&version=0.1.0-preview.2&prerelease
AeInvoice
Create, read, and validate UAE e-invoices (PINT AE 1.0.4, UBL 2.1) natively in .NET. No Java at runtime. No remote calls.
Install
dotnet add package AeInvoice --version 0.1.0-preview.2
Quickstart
using AeInvoice.Building;
using AeInvoice.Model;
using AeInvoice.Ubl;
using AeInvoice.Validation;
var invoice = InvoiceBuilder.TaxInvoice("INV-2026-0001", new DateOnly(2026, 12, 1))
.DueDate(new DateOnly(2026, 12, 31))
.Currency("AED")
.Seller(s => s.Name("Supplier LLC").Trn("100000000000003")
.TradeLicense("1122334455", "Dubai Economy and Tourism")
.Address("Sheikh Zayed Road", "Dubai", "DXB", "AE"))
.Buyer(b => b.Name("Buyer LLC").Trn("100000000100003")
.TradeLicense("5566778899", "Dubai Economy and Tourism")
.Address("Al Wasl Road", "Dubai", "DXB", "AE"))
.Line(l => l.Item("Laptop").Quantity(2, "EA").UnitPrice(1000m).Vat(VatCategory.Standard))
.PaymentMeans("30", "AE070331234567890123456")
.Build();
string xml = UblWriter.Write(invoice);
ValidationResult result = AeValidator.Validate(xml);
Invoice parsed = UblReader.Read(xml);
Scenarios
Builder coverage for the MVP corpus:
- 380 standard-rated, AED, 3 lines
- 380 mixed S + Z + E lines
- 380 foreign currency (USD) with AED tax currency and exchange rate
- 380 with document-level allowance and charge
- 380 exports with predefined category
- 380 free-zone beneficiary
- 380 deemed supply
- 380 disclosed agent
- 380 reverse charge
- 480 out of scope
- 381 credit note
- VD credit note
- 81 credit note
Rule coverage
PINT AE Billing rule pack (pint-ae): 302 / 302 catalog rules implemented (100%).
Generated from src/AeInvoice/Validation/rules.catalog.json (status Implemented).
Limitations
- Preview package under the Community Preview License (free use until 2026-12-31; no SDK redistribution without permission). Lawyer review required before treating this as a 1.0 license.
- Runtime depends on BCL and
InvoiceLint.Coreonly. Official OpenPeppol Schematron/XSLT are never shipped. - Self-billing profiles and non-MVP edge cases may still expand after 0.1.0-preview.
- Oracle / Java tooling is for CI and conformance only; it is not a runtime dependency.
Docs
Public how-to (install, quickstart, scenarios, validation API, license summary):
| Resource | What |
|---|---|
| Product page | Canonical docs + NuGet link |
| Getting started gist | Same how-to mirror for search / AI |
| NuGet Gallery | Package versions and downloads |
| CHANGELOG.md | Release history |
License
Community Preview License — see LICENSE.txt. Free for development and production until 31 December 2026; redistribution inside another SDK requires permission.
Build (contributors)
Requires the .NET 10 SDK (library targets net8.0 and net10.0).
dotnet build -warnaserror
dotnet test tests/AeInvoice.Tests
Do not add official OpenPeppol files (Schematron, XSLT, spec text, example XML) to this repository.
| 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
- InvoiceLint.Core (>= 0.1.0-dev.1)
-
net8.0
- InvoiceLint.Core (>= 0.1.0-dev.1)
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 |
|---|---|---|
| 0.1.0-preview.2 | 37 | 10/16/2026 |
| 0.1.0-preview.1 | 46 | 10/14/2026 |