Finper is a self-hosted personal finance management application built for people who want complete control over their financial data. Instead of trusting a third-party service with your bank accounts, spending habits, and savings goals, Finper runs entirely on your own infrastructure — your data lives in a single SQLite file on your machine or server, with zero cloud dependency. It covers the full spectrum of personal finance: from day-to-day account transactions and monthly budgets all the way to loan amortization schedules, recurring subscriptions, pension tracking, and property supply readings.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/soker90/finper/llms.txt
Use this file to discover all available pages before exploring further.
What Finper covers
Accounts & Transactions
Manage bank accounts and log income, expenses, and transfers with per-category tagging and annual financial overviews.
Budgets & Categories
Set monthly spending caps by category and track how your actual transactions measure up against each budget.
Loans
Model French-amortization loans with full payment schedules, interest-rate change events, and outstanding balance tracking.
Subscriptions
Track recurring charges, receive detected subscription candidates, and keep all fixed monthly costs in one place.
Debts & Goals
Record money lent to or borrowed from third parties, and define savings goals with target and current amounts.
Pensions & Stocks
Log pension plan contributions and track stock purchases and sales with live price lookups via Yahoo Finance.
Supplies & Utilities
Associate properties with utility meters, record supply readings, and monitor electricity tariffs and consumption over time.
Tickets
Digitise receipts through the optional
finper-bot integration — list, review, and delete pending ticket records from the app.Technology stack
| Layer | Technology |
|---|---|
| Runtime | Node.js 24 |
| Backend framework | Express 5 + TypeScript |
| Database | SQLite (better-sqlite3) + Drizzle ORM |
| Auth | Passport (local + JWT strategy), jsonwebtoken |
| Validation | Joi |
| Error handling | @hapi/boom |
| Frontend framework | React 19 + Vite |
| UI library | Material UI v9 (MUI) |
| Routing | React Router v7 |
| Data fetching | SWR + axios |
| Testing (API) | Jest + Supertest |
| Testing (Client) | Vitest + Testing Library + MSW |
Monorepo structure
Finper is a pnpm workspaces monorepo. All runnable packages live underpackages/:
@soker90/finper-db and @soker90/finper-types from their compiled dist/ output; both db and types are built before the API starts.
Finper is released under the GNU General Public License v3.0 or later (GPL-3.0+). Any modifications you distribute must be shared under the same license. See the LICENSE file for the full text.