Finova 1.2.2
See the version list below for details.
dotnet add package Finova --version 1.2.2
NuGet\Install-Package Finova -Version 1.2.2
<PackageReference Include="Finova" Version="1.2.2" />
<PackageVersion Include="Finova" Version="1.2.2" />
<PackageReference Include="Finova" />
paket add Finova --version 1.2.2
#r "nuget: Finova, 1.2.2"
#:package Finova@1.2.2
#addin nuget:?package=Finova&version=1.2.2
#tool nuget:?package=Finova&version=1.2.2
Finova
<div align="center">
The Offline Financial Validation Toolkit for .NET
IBAN · Payment References · Cards · VAT · Business Numbers
🇧🇪 Belgium · 🇳🇱 Netherlands · 🇱🇺 Luxembourg · 🇫🇷 France · 🇩🇪 Germany · 🇬🇧 UK
100% Offline | Zero Dependencies | Lightning Fast
</div>
🌟 About Finova
Finova is a comprehensive offline financial validation library for .NET. It allows you to validate financial data (IBANs, Credit Cards, VAT numbers, Payment References) using official checksum algorithms (Luhn, Mod97, ISO 7064) and regex patterns directly on your server.
👉 Visit the Official Website for full documentation and feature details.
⚡ Offline Validation Only
Important: Finova performs 100% offline validation. It does NOT contact external services, APIs, or banking networks.
What Finova Does (Offline):
- ✅ Validates IBAN format and checksum (ISO 7064 Mod 97)
- ✅ Validates Payment Cards (Luhn Algorithm + Brand Detection)
- ✅ Generates and validates payment references (OGM/VCS, ISO 11649)
- ✅ Validates KBO/BCE and VAT numbers (Syntax + Checksum)
- ✅ Validates BIC/SWIFT Structure (ISO 9362)
What Finova Does NOT Do:
- ❌ Does NOT verify if an account/IBAN actually exists at the bank
- ❌ Does NOT perform real-time VIES VAT lookups
- ❌ Does NOT contact external APIs
- ❌ Does NOT require an internet connection
🚀 Features
💳 Banking & Cards
Fast, offline regex and checksum validation for European and International formats.
- IBAN Validation:
- Belgium (BE): Format + Mod97 + Bank Code extraction.
- Netherlands (NL): Format + Mod97 + Bank Code (4-letter).
- France (FR): Format + Mod97 + RIB Key + Bank Code.
- Germany (DE): Format + Mod97 + BLZ extraction.
- UK (GB): Format + Mod97 + Sort Code extraction.
- Generic: Supports parsing and validating checksums for all ISO-compliant countries.
- Payment Cards:
- Luhn Algorithm: Mod 10 validation for PAN numbers.
- Brand Detection: Identifies Visa, Mastercard, Amex, Discover.
- Secure CVV Check: Format-only validation (Safe for PCI-DSS).
- BIC/SWIFT: Structural validation (ISO 9362) & Cross-check with IBAN country code.
🧾 Payment References
- Belgian OGM/VCS: Generates and validates the
+++XXX/XXXX/XXXXX+++format with automatic check digits. - ISO 11649 (RF): Generates and validates international
RFcreditor references.
🏢 Business Numbers
- Enterprise Numbers: Validates Belgian KBO/BCE (Mod97) & French SIRET/SIREN (Luhn).
- VAT Numbers: Validates formatting and check digits for EU-27 countries.
📦 Installation
Install via the NuGet Package Manager:
dotnet add package Finova
Or via the Package Manager Console:
Install-Package Finova
📖 Quick Start
1. Validate an IBAN
using Finova.Belgium.Validators;
// Validates format and checksum (Does NOT check if account exists)
bool isValid = BelgianBankAccountValidator.ValidateBelgiumIban("BE68539007547034");
if (isValid)
{
Console.WriteLine("Structure is valid");
}
2. Validate a Payment Card
using Finova.PaymentCards;
// Validates checksum (Luhn) and detects brand
var result = PaymentCardValidator.Validate("4532123456789012");
if (result.IsValid)
{
Console.WriteLine($"Valid {result.Brand} Card"); // Output: Valid Visa Card
}
3. Generate a Payment Reference
using Finova.Belgium.Services;
using Finova.Core.Models;
var service = new BelgianPaymentReferenceService();
// Generate Belgian OGM (+++000/0012/34569+++)
string ogm = service.Generate("123456", PaymentReferenceFormat.Domestic);
// Generate ISO RF (RF89INVOICE2024)
string isoRef = service.Generate("INVOICE2024", PaymentReferenceFormat.IsoRf);
🗺️ Roadmap
Finova is strictly offline. Future updates focus on schema compliance, developer experience, and mathematical validation.
✅ v1.0.0 — Foundation (Released)
- Belgian payment references (OGM/VCS)
- ISO 11649 international references
- Comprehensive testing and CI/CD
✅ v1.1.0 — Core Expansion (Released)
- IBAN Expansion: Italy (IT) & Spain (ES) specific rules
- BIC/SWIFT: Structural format validation (ISO 9362)
- Payment Cards: Luhn Algorithm & Brand Detection (Visa/MC/Amex)
- Reference Validator: RF Creditor Reference (ISO 11649)
🔄 v1.2.0 — European Unification (In Progress)
- Finova.Europe: Unified wrapper package for all SEPA countries
- Smart Routing: Auto-detect country rules via
EuropeValidator - Extensions: FluentValidation integration package
📋 v1.3.0 — Corporate Identity (Planned)
- VAT Numbers: EU VAT checksums (VIES offline syntax)
- Enterprise Numbers: French SIRET/SIREN, Belgian KBO/BCE
- National IDs: Netherlands KVK, Spain NIF/CIF
🔮 v1.4.0 — Modern Payment Strings (Future)
- EPC QR Code: Payload builder for SEPA Credit Transfer
- Swiss QR: Bill string parsing logic
🔮 v1.5.0 — Global Routing (Future)
- USA: ABA routing number checksums
- Canada: Transit number validation
- Australia: BSB number validation
🔭 Horizon (Undetermined)
- WASM support for Blazor
- AI-assisted anomaly detection
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
📄 License
This project is licensed under the MIT License.
Made with ❤️ for the .NET Community
| 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
- Finova.Core (>= 1.2.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
-
net8.0
- Finova.Core (>= 1.2.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Finova:
| Package | Downloads |
|---|---|
|
Finova.Extensions.FluentValidation
FluentValidation extensions for the Finova financial toolkit. Easily validate IBANs, BICs, Payment Cards, VAT numbers, and National IDs. Includes specialized aliases: .MustBeValidABARoutingNumber(), .MustBeValidSiret(), .MustBeValidSiren(), .MustBeValidOgm(), etc. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.4.18 | 186 | 2/10/2026 |
| 1.4.17 | 129 | 2/9/2026 |
| 1.4.16 | 129 | 2/9/2026 |
| 1.4.15 | 136 | 2/8/2026 |
| 1.4.14 | 127 | 2/8/2026 |
| 1.4.13 | 138 | 2/7/2026 |
| 1.4.12 | 133 | 2/7/2026 |
| 1.4.11 | 228 | 1/22/2026 |
| 1.4.10 | 153 | 1/22/2026 |
| 1.4.9 | 147 | 1/22/2026 |
| 1.4.8 | 178 | 1/15/2026 |
| 1.4.7 | 192 | 1/15/2026 |
| 1.4.6 | 194 | 1/12/2026 |
| 1.4.5 | 185 | 1/11/2026 |
| 1.4.4 | 221 | 1/8/2026 |
| 1.4.3 | 183 | 1/8/2026 |
| 1.4.2 | 179 | 1/6/2026 |
| 1.4.1 | 190 | 1/3/2026 |
| 1.4.0 | 189 | 1/2/2026 |
| 1.2.2 | 571 | 12/10/2025 |