Skip to content

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):

  1. 380 standard-rated, AED, 3 lines
  2. 380 mixed S + Z + E lines
  3. 380 foreign currency (USD) with AED tax currency and exchange rate
  4. 380 with document-level allowance and charge
  5. 380 exports with predefined category
  6. 380 free-zone beneficiary
  7. 380 deemed supply
  8. 380 disclosed agent
  9. 380 reverse charge
  10. 480 out of scope
  11. 381 credit note
  12. VD credit note
  13. 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.