Local books for you and your agents

Own every fact about your money.

Your financial life is spread across an accounting system, bank feeds, spreadsheets, portfolios and a folder of statements. ownpurse pulls all of it into one record on your own machine, a log of facts that only ever grows, so you and your agents can make sense of it together.

ownpurse demo # try it offline, no setup
ownpurse0.17 · roast, household · 2026-09-30
$ ownpurse sync all
roast · hold · 3 sources · 214 new versions · chain verified

agent 3 card payments are split between roast and household.
agent Two halves are posted. One is held:

  bill-2041/b   household · Home upkeep        32.80
  ◌ held  proposed by agent, waiting for you

  roast          53.60   household        32.80
  card 4417                                (86.40)
  ● balanced once posted

hint: ownpurse tui  ·  press p to post
The problem

Your books no longer live in one place.

A business on Xero, a household in a spreadsheet, a card that pays for both, a brokerage account, a folder of PDFs in a cloud drive. Each holds part of the truth, and none of them will show you the whole.

Locked in your provider

Your history lives in someone else's database, shaped by their chart of accounts and their export button.

Rationed by the API

A new Xero app gets 1,000 calls a day per organisation. Real analysis runs out of calls before it runs out of questions.

Exported and stashed

Every question starts with a CSV, a spreadsheet and an afternoon. Next month you do it again.

Moving is a nightmare

Switching bookkeeping systems means rebuilding years of history by hand, or leaving it behind.

Sovereignty

Your financial data belongs to you, not to the tool that recorded it.

On your machine

The record is a file you hold, on your laptop or your own server. Reading it costs no API calls and sends nothing anywhere.

Complete and tamper-evident

Every version of every document is kept. A SHA-256 chain proves nothing was edited after the fact.

Portable by design

Changing providers becomes one sentence: here is my data, make it work there.

Why now

Connectors were the bottleneck. Agents removed it.

Tools that tried to unify personal and business finance were ahead of their time. Every bank, every provider, every spreadsheet needed a connector, and someone had to build and maintain each one.

An agent can now write a connector for your bank's export in an afternoon. The hard problem has moved: once everything arrives, where does it go, and how do you make sense of it? ownpurse is that place.

The record

Atomic facts over time. Every view is a query.

Underneath, ownpurse keeps one kind of thing: a fact. This entity has this attribute with this value, as of this moment, from this source. A correction is a new fact; nothing is overwritten. A profit and loss, a household budget and a card reconciliation are all questions asked of the same facts.

$ ownpurse show bill-2041 --history
EntityAttributeValueTxSource
bill-2041amount86.401184xero
bill-2041paid-bycard-44171184xero
bill-2041/abook · accountroast · 6420 Repairs1185xero
bill-2041/bbook · accounthousehold · Home upkeep1191sheet
stmt-0930/17lineHardware Depot 86.401190bank
5 facts, 3 sources, nothing overwrittenExample data
You and your agents

Your agent builds the view. You decide what gets posted.

Instead of digging through the complexity yourself, work through it together. An agent finds the facts, shows you the view, and walks you through what it found. Reconciliations, manual journals and reports become small, reviewable events on top of the record.

Proposed
Post 32.80 of card 4417's Hardware Depot payment to household, Home upkeep. The other 53.60 is already in roast, 6420 Repairs.
Card 4417, Septembercard
DR
09-03 roast, repairs53.60
09-03 household, upkeep32.80
86.40
CR
09-30 statement, line 1786.40
86.40
Nil balance
The stack

Simple at the bottom. Yours at the top.

The closer you get to the record, the less ownpurse decides for you. Facts at the base, a small daemon above them, and a CLI that does everything, so you and your agents can build any tool or view on top. A fast terminal UI comes with it.

How it works
Your tools, reports and viewsbuilt by you and your agents
Terminal UIone state, every screen derived
CLIthe whole surface, agent-first output
Daemonlocal, lightweight, always on
The recordappend-only facts, hash-chained
xerobanksheetsfiles
Connectors

Xero today. Anything with your numbers in it, next.

A connector only has to turn a source into facts. The record, the views and the agents work the same for all of them, and anything you write back goes out as a planned, recorded operation.

Xero

available

Every organisation from one login: invoices, bills, bank transactions, journals, reports and attachments.

QuickBooks Online

planned

The same record and views for books kept in QuickBooks.

Bank exports

planned

CSV, OFX and QIF statements, matched to what your books already say.

Spreadsheets

planned

Household budgets, trackers and the one sheet you keep for everything else.

Portfolios

planned

Brokerage and retirement holdings, as positions and transactions over time.

Files

planned

Statements and receipts in a cloud drive or a local folder, read into facts with their source attached.

Want a connector sooner? Writing a connector explains what one has to do.

It always was, and always will be, atomic events over time.

Bookkeeping got complicated. The thing underneath never did. ownpurse gives it back to you.