Mavusi.Financials
1.0.0
See the version list below for details.
dotnet add package Mavusi.Financials --version 1.0.0
NuGet\Install-Package Mavusi.Financials -Version 1.0.0
<PackageReference Include="Mavusi.Financials" Version="1.0.0" />
<PackageVersion Include="Mavusi.Financials" Version="1.0.0" />
<PackageReference Include="Mavusi.Financials" />
paket add Mavusi.Financials --version 1.0.0
#r "nuget: Mavusi.Financials, 1.0.0"
#:package Mavusi.Financials@1.0.0
#addin nuget:?package=Mavusi.Financials&version=1.0.0
#tool nuget:?package=Mavusi.Financials&version=1.0.0
Mavusi.Financials
Mavusi.Financials is a .NET class library that provides practical fintech and financial-planning calculators. It is designed for application teams that need reusable financial logic with descriptive result messages suitable for UI output.
What is included
- Loan repayment calculator
- Amortization schedules
- Extra payment simulations
- APR/EAR calculations
- Compound interest
- Investment growth projections
- NPV/IRR/XIRR
- Debt payoff optimization (Avalanche and Snowball)
- Retirement projections
- Affordability calculations
- Tax estimations
- Business-day/date handling
- Currency and rounding utilities
- Inflation adjustment
- Scenario simulations
Supported target frameworks
- .NET 8.0
- .NET 9.0
- .NET 10.0
Installation
From NuGet
After publishing:
- dotnet add package Mavusi.Financials
Local package source
- Build and pack this project.
- Add the local package source in NuGet configuration.
- Install with dotnet add package.
Quick usage
using Mavusi.Financials;
var loan = LoanRepaymentCalculator.CalculateMonthlyRepayment( principal: 500_000m, annualInterestRatePercent: 14m, months: 60);
Console.WriteLine(loan.Message); // Example: You will be paying back R697,630.80 over 60 months at 14.00% interest.
var schedule = AmortizationScheduleCalculator.BuildSchedule( principal: 500_000m, annualInterestRatePercent: 14m, termMonths: 60, extraMonthlyPayment: 500m);
Console.WriteLine(schedule.Message);
var projection = InvestmentGrowthProjector.Project( startingBalance: 100_000m, annualReturnPercent: 9m, annualContribution: 24_000m, years: 15, annualContributionGrowthPercent: 5m);
Console.WriteLine(projection.Message);
var xirr = NpvIrrXirrCalculator.CalculateXirr(new[] { new CashFlowPoint(new DateOnly(2024, 1, 1), -120_000m), new CashFlowPoint(new DateOnly(2024, 7, 1), 20_000m), new CashFlowPoint(new DateOnly(2025, 7, 1), 30_000m), new CashFlowPoint(new DateOnly(2026, 7, 1), 95_000m) });
Console.WriteLine(xirr.Message);
API shape
Most calculators return strongly typed result records that include:
- Numeric outputs
- Structured breakdown rows where applicable
- A Message field for direct user-facing explanation
Packaging for upload
Run the following from the repository root:
- export PATH=$HOME/.dotnet:$PATH
- dotnet pack Mavusi.Financials/Mavusi.Financials.csproj -c Release
Packages are output to:
- artifacts/packages
License
MIT
| 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 is compatible. 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
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release with calculators for lending, investments, payoff optimization, and financial utility tooling.