A reliable, deterministic
ledger for your AI.
OpenLedger is the harness that keeps your AI from hallucinating your money: it turns scattered bank and credit-card statements into the source of truth behind any financial app it can build.
npm install -g @aquartier/openledgerThen paste one line into your AI. Two steps, about a minute.
Works with the AI you already use
ChatGPT
Claude
Gemini
Claude Code
Codex
Cursor
OpenCode
- PIPI
OpenClaw
Why OpenLedger
Apps never fit, and raw AI failed you too
Every finance app is someone else’s idea of your money: someone else’s categories, someone else’s dashboard, someone else’s idea of a good month. The one that fits you is the one you build.
A deterministic place for every number
Your AI reads the statements you already receive and records what it finds as double-entry bookkeeping. Every number lives in your ledger, not in a model’s memory.
Private by default
Everything stays on your machine in a local SQLite database. PII is redacted before anything reaches an AI provider. No bank logins, no cloud aggregator, no telemetry.
What your AI builds
Every app below is a prompt away. One ledger underneath, so the numbers agree across all of them.
Spending Tracker
Prompt:
“Install OpenLedger and set up my ledger from my statements. Then build me a spending tracker that sorts every dollar into envelopes.”
A private YNAB that already knows where your money goes.
Personal CFO
Prompt:
“Install OpenLedger and set up my ledger from my statements. Then be my CFO: review my month and tell me what to fix.”
An advisor that knows you best and tells no one.
Budget Planner
Prompt:
“Install OpenLedger and set up my ledger from my statements. Then build me a budget planner that charts my what-ifs.”
See your money in ways no app ever shipped.
And your own.
Describe it. It ships tonight.
Whatever you imagine, running on numbers that balance.
How it works
Give your AI a ledger
One command, one skill file. Your AI gets a deterministic home for every number. No more making them up.
Hand it your statements
Drop in the PDFs your bank sends every month. Each line becomes double-entry bookkeeping, and anything unclear becomes a question, not a guess.
“Ingest my new statements.”
Vibe-code your dream finance app
A budget planner, a spending tracker, a subscription auditor, a retirement planner. Any app you imagine, on numbers that add up.
“Build me a money coach that knows my spending.”
Install
AI apps
ChatGPT · Claude · Gemini
Install the CLI
npm install -g @aquartier/openledgerInstalls the
oledcommand.Paste into your AI chat
Fetch https://cdn.jsdelivr.net/npm/@aquartier/openledger/ skills/SKILL.md and follow it. oled is installed; help me set up my ledger. If your app can’t fetch URLs,
oled setup --print | pbcopycopies the skill itself. Drop it into the first message.
Coding agents
Claude Code · Codex · Cursor · OpenCode · PI · OpenClaw
Install the CLI
npm install -g @aquartier/openledgerInstalls the
oledcommand.Add the skill
npx skills add phureewat29/openledgerOr run
oled setup. It writes the skill to.agents/skills/, the shared directory most agents read. Pass--dir <path>, e.g.--dir .claude/skillsfor Claude Code.
Under the hood
The model reads your statements; the ledger checks the math. Every posting balances, or it doesn’t post.

Double-entry ledger
Every transaction debits one account and credits another, so the same input always produces the same books.

Local SQLite
One file in ~/.oled with 0600 permissions. Your machine is the database.

PII redaction
Names, account numbers, and free text are masked before anything goes to your AI provider. The ledger file itself never leaves.

Reference datasets
Built-in institution data for the US, Japan, Thailand, and China, so your AI recognizes the bank behind every statement.

Questions, not guesses
When a line is ambiguous, OpenLedger surfaces it for you to resolve instead of letting the model pick.
100%
of your ledger stays in one local file
Zero
bank logins or credentials
9B
smallest model benchmarked
2B
smallest OCR benchmarked
Benchmarked with small models
The harness carries the bookkeeping, so the model doesn’t have to be huge. Small, even local, models run the same statement through the same checks, and the books come out identical.
google/gemini-3.6-flash · 126-row card statement
PASS
Statement rows posted
126 of 126
Charge rows matched
120 of 120
Refund rows matched
5 of 5
Card payment rows matched
1 of 1
Uncategorized rows
0 of 126
Truthful claims
3 of 3
Statements read through Typhoon OCR 1.5 2B.