OpenCashFlow is an open-source, self-hosted cash-flow management system for small companies, consultants, accounting studios, and teams that need a transparent way to track payments, cash movements, users, company setup, audit events, and basic operational reporting.
Developer Preview / Early Self-Hosted Preview
OpenCashFlow is not production-ready yet. The repository is being stabilized in public with a focus on self-hosted core workflows, clean architecture, security hardening, test coverage, and open-source project hygiene.
Use it for evaluation, local development, architecture review, and early feedback. Do not use it for regulated or business-critical financial operations until the release blockers in Docs/ROADMAP.md are resolved.
- A self-hosted ASP.NET Core and PostgreSQL application.
- A core cash-flow tool for payments, cash ledger, company setup, users, roles, dashboard, audit, and basic exports.
- A developer-preview codebase moving toward a clean architecture split:
DomainApplicationInfrastructureContractsAPIWebApp
- AGPL-licensed software intended to remain useful without mandatory SaaS services.
- Not a production-ready accounting suite.
- Not a certified fiscal, tax, payroll, or invoicing product.
- Not a hosted SaaS that requires subscriptions to run.
- Not dependent on Stripe, Billing, pricing plans, customer portal flows, or a separate Admin runtime.
- Not a replacement for professional accounting review.
Historical Billing/Stripe/Admin artifacts may still appear in migration notes or schema-compatibility documentation. They are legacy references, not active core runtime features.
The self-hosted core currently focuses on:
- first-instance setup;
- company/workspace data;
- users, roles, and permissions;
- payment registration;
- cash ledger and balances;
- dashboard views;
- audit trail;
- basic API/WebApp operation;
- Docker Compose based local evaluation.
Planned module work is documented in Docs/modules/architecture.md.
- .NET 10
- ASP.NET Core
- Entity Framework Core
- PostgreSQL
- Bootstrap and jQuery in the WebApp
- Docker Compose for local evaluation
- .NET 10 SDK
- Docker and Docker Compose
- PostgreSQL 16+ if running manually without Docker
git clone https://github.com/Reckonry/OpenCashFlow.git
cd OpenCashFlow
dotnet restore OpenCashFlow.sln
dotnet build OpenCashFlow.sln --configuration Release --no-restore
dotnet test OpenCashFlow.sln --configuration Release --no-buildcp .env.example .env
docker compose up --buildLocal endpoints:
- WebApp:
http://localhost:5200 - API health:
http://localhost:5100/health - PostgreSQL:
localhost:5432
The default Docker Compose configuration is for local evaluation. Change secrets, database credentials, TLS, backups, reverse proxy configuration, and operational settings before exposing any instance.
On a fresh database, opening the WebApp redirects to /Setup. The first-run wizard creates the first company and admin
user, generates a temporary password, shows it once, and then requires a password change after login. See
Docs/setup/first-run-setup-wizard.md.
Configure DEFAULT_CONN_STRING or ConnectionStrings:DefaultConnectionString, then run:
dotnet run --project src/OpenCashFlow.API/OpenCashFlow.API.csproj
dotnet run --project src/OpenCashFlow.WebApp/OpenCashFlow.WebApp.csprojInstallation notes are in Docs/installation.md.
The active solution contains:
src/OpenCashFlow.APIsrc/OpenCashFlow.Applicationsrc/OpenCashFlow.Contractssrc/OpenCashFlow.Domainsrc/OpenCashFlow.Infrastructuresrc/OpenCashFlow.WebApptests/*
The current dependency shape is documented in Docs/architecture/current-dependencies.md.
OpenCashFlow is still an early preview. Security-sensitive areas such as authorization, tenant isolation, password reset, PIN/fast-login flows, dependency security, CSP, and deployment hardening are active stabilization areas.
Before reporting a vulnerability, read SECURITY.md. Do not open public issues containing secrets, tokens, passwords, private deployment details, or exploitable vulnerability details.
Contributions are welcome, especially around tests, documentation, security hardening, setup reliability, and core self-hosted workflows.
Read CONTRIBUTING.md before opening a pull request. For smaller first contributions, prefer:
- documentation corrections;
- missing test coverage;
- issue reproduction cases;
- cleanup of legacy references;
- small UI maintainability improvements.
See Docs/ROADMAP.md. The roadmap is intentionally conservative and does not claim production readiness.
There are no stable releases yet. Until the project reaches a first stable release, changes may be breaking and migration paths may be incomplete.
The intended future policy is Semantic Versioning:
MAJORfor incompatible API/database/runtime changes;MINORfor backwards-compatible features;PATCHfor fixes and security updates.
Release notes will be tracked in CHANGELOG.md.
OpenCashFlow is licensed under the GNU Affero General Public License v3.0. See LICENSE.
If you run a modified version as a network service, the AGPL requires you to provide the corresponding source code to users of that service.
