Database-enforced double entry
Balance validation, posting, reversals, and period closes are PL/pgSQL functions. The engine refuses unbalanced entries at the storage layer — no application bug can corrupt the books.
Open-Core · On-Premise · AI-Native
ApexLedger enforces double-entry integrity inside PostgreSQL — not in application code. Post journals, close periods, and read reports with an optional AI assistant. No cloud. No data leaves the host.
Balance validation, posting, reversals, and period closes are PL/pgSQL functions. The engine refuses unbalanced entries at the storage layer — no application bug can corrupt the books.
UPDATE and DELETE privileges on journal tables are revoked at the database level. Corrections happen through reversing entries, preserving the full audit trail forever.
Bring your own key (OpenAI) or run a local model (Ollama). The assistant records transactions through the same secured RPCs — it can never leave your entity or bypass role checks.
A dark, keyboard-first interface with virtualized journals for thousands of rows, live debit/credit balance indicators, and a trial balance that proves itself.
apexledger init prepares the container, database, and migrations. A first-boot wizard creates your entity, admin, and fiscal calendar — no manual SQL.
apexledger backup dumps a timestamped, gzipped snapshot. Updates are opt-in and never install themselves.
Every table is entity-scoped. JWT claims are injected into the PostgreSQL session so policies evaluate the caller without trusting the application.
Read endpoints filter by entity again at the application layer. Isolation holds even if a connection bypasses RLS.
Only finance roles can create or post journals — checked inside the database function, not just the API.
Free
Subscription
Pick how you want to run ApexLedger. All three use the same core.
Linux · macOS · WSL
Full stack on one machine: Postgres container, migrations, API server. One line via terminal:
curl -fsSL https://raw.githubusercontent.com/faqihrayhan/apexledger/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/faqihrayhan/apexledger/main/install.ps1 | iexRequires git, Python 3.11+, Docker. Then open http://localhost:8000.
Windows · macOS · Linux
Native app for employees — install on each PC, then point it at your factory server.
All downloads: GitHub Releases. First launch asks for the server address (e.g. http://192.168.1.100:8000). GitHub Releases
Any device on the LAN
Zero install for employees: the server machine already serves the web UI.
# on the server machine
python cli.py serve # API + UI on :8000
# then, from any PC on the LAN
http://192.168.1.100:8000No app to install — just a browser. Same features, same data.
Manual / advanced setup (no Docker, custom Postgres): see docs/SETUP.md. docs/SETUP.md