DustInTheWind.NN.Toolkit
1.6.0
Prefix Reserved
dotnet add package DustInTheWind.NN.Toolkit --version 1.6.0
NuGet\Install-Package DustInTheWind.NN.Toolkit -Version 1.6.0
<PackageReference Include="DustInTheWind.NN.Toolkit" Version="1.6.0" />
<PackageVersion Include="DustInTheWind.NN.Toolkit" Version="1.6.0" />
<PackageReference Include="DustInTheWind.NN.Toolkit" />
paket add DustInTheWind.NN.Toolkit --version 1.6.0
#r "nuget: DustInTheWind.NN.Toolkit, 1.6.0"
#:package DustInTheWind.NN.Toolkit@1.6.0
#addin nuget:?package=DustInTheWind.NN.Toolkit&version=1.6.0
#tool nuget:?package=DustInTheWind.NN.Toolkit&version=1.6.0
NN Toolkit
NN Toolkit is a .NET library for working with files exported from NN (Nationale-Nederlanden), currently focused on
parsing PDF contribution statements for the Romanian Mandatory Private Pension (Pilon II).
NN Group reference:
The package is published as DustInTheWind.NN.Toolkit.
What The Library Does Today
The current public functionality is centered around one workflow:
- Load a PDF exported from the NN Direct mobile app.
- Parse the contributions table across all pages:
ContributionsDocument - Provide parsing diagnostics:
DocumentParsingDiagnostics
Installation
Package Manager:
Install-Package DustInTheWind.NN.Toolkit
.NET CLI:
dotnet add package DustInTheWind.NN.Toolkit
Runtime Requirements
- Library target framework:
.NET 8.0(net8.0) - The parser relies on PDF table extraction via
Tabula.
If you are consuming the NuGet package, transitive dependencies are resolved automatically.
Quick Start
a) Export the Contributions PDF From NN Direct
In NN Direct mobile app:
- Log in.
- Open Pensie privata obligatorie.
- Open Istoric contribuții.
- Select the full interval you need.
- Use the menu (three dots) and tap Descarcă raport.
You will get a PDF containing contribution rows that can be parsed with this toolkit.
b) Parse the Exported Document
Create a small console app and parse your exported file:
using DustInTheWind.NN.Toolkit.MandatoryPrivatePension;
DocumentLoadResult result = ContributionsDocument.LoadFromFile("contributions.pdf");
ContributionsDocument document = result.Document;
foreach (Contribution contribution in document)
{
...
}
Contribution Record
Each row is mapped to:
Month(MonthDate)- expects date in the
MM/YYYYstyle.
- expects date in the
GrossValue(decimal)AdministrationFee(decimal)NetValue(decimal)UnitValue(decimal)UnitCount(decimal)PaidInMonth(MonthDate)- expects date in the
MM/YYYYstyle.
- expects date in the
Parsing Diagnostics
When a document is parsed using ContributionsDocument.LoadFromFile(), both the parsed data and parsing diagnostics are
returned.
using DustInTheWind.NN.Toolkit.MandatoryPrivatePension;
using DustInTheWind.NN.Toolkit.MandatoryPrivatePension.Pdf;
DocumentLoadResult result = ContributionsDocument.LoadFromFile("contributions.pdf");
foreach (PageParsingDiagnostics page in result.Diagnostics.Pages)
{
...
}
End-To-End Example: Export To CSV
The repository includes a sample CLI project in sources/NN.Toolkit.Cli that demonstrates:
- reading
contributions.pdf - writing CSV files (
NN_transactions.csv,NN_cash_transactions.csv) - printing parsed data and diagnostics.
You can use this project as a reference implementation for your own importer/exporter tools.
| 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 was computed. 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. |
-
net8.0
- Tabula (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.