UAE e-invoicing · .NET NuGet
AeInvoice
Native .NET library for UAE / Dubai e-invoices (PINT AE, UBL, VAT, FTA XML). Install from NuGet — no Java at runtime.
Install
dotnet add package AeInvoice --version 0.1.0-preview.2
Targets net8.0 and net10.0. Depends on InvoiceLint.Core only at runtime.
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
MVP builder coverage for UAE / Dubai e-invoice shapes (PINT AE / UBL):
- 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
Validation
AeValidator.Validate runs the PINT AE Billing rule pack (pint-ae):
302 / 302 catalog rules (100%).
Inspect result.IsValid and result.Issues for rule IDs and locations.
License
Community Preview License — free for development and production until 31 December 2026. Redistribution inside another SDK requires permission.
FAQ — AeInvoice
What is AeInvoice? +
AeInvoice is a .NET library that creates, reads, and validates UAE PINT AE 1.0.4 (UBL 2.1) e-invoices natively — no Java at runtime and no remote calls.
How do I install AeInvoice? +
Run: dotnet add package AeInvoice --version 0.1.0-preview.2. The package targets .NET 8 and .NET 10 and depends on InvoiceLint.Core.
Is AeInvoice free to use? +
Yes under the Community Preview License: free for development and production until 31 December 2026. Redistribution inside another SDK requires permission.
Does AeInvoice cover UAE / Dubai / FTA e-invoicing rules? +
The PINT AE Billing rule pack implements 302 of 302 catalog rules (100%). Use AeValidator.Validate on UBL XML to get rule IDs and locations.
Where is the NuGet package? +
https://www.nuget.org/packages/AeInvoice/ — install from nuget.org; public how-to lives on this page and the linked GitHub gist.