AeInvoice 0.1.0-preview.2

This is a prerelease version of AeInvoice.
dotnet add package AeInvoice --version 0.1.0-preview.2
                    
NuGet\Install-Package AeInvoice -Version 0.1.0-preview.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AeInvoice" Version="0.1.0-preview.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AeInvoice" Version="0.1.0-preview.2" />
                    
Directory.Packages.props
<PackageReference Include="AeInvoice" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AeInvoice --version 0.1.0-preview.2
                    
#r "nuget: AeInvoice, 0.1.0-preview.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AeInvoice@0.1.0-preview.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AeInvoice&version=0.1.0-preview.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=AeInvoice&version=0.1.0-preview.2&prerelease
                    
Install as a Cake Tool

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:

  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

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.Core only. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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