Agents do the books. People keep control.
Ledgers is open-source accounting where AI agents read invoices, match payments and draft entries. Policy decides what they may post. You approve the rest.
A beautiful, useful UI for the people who sign off.
Agents work through the CLI and MCP. People supervise in the app, in the browser or on their phone: review what was extracted, see why it stopped, approve or reverse. The UI, the CLI and the agents use the same commands.
Acme GmbH RE-2026-0418
[email protected]tier Post ≤ €5,000 · run r_8f2c Needs approval: above the €5,000 limitpolicy bills.post_limit+49 30 5557 2210
Kaiserstraße 9
60311 Frankfurt am Main
| Pos. | Beschreibung | Menge | Betrag |
|---|---|---|---|
| 1 | Design-System-Audit | 1 | 2.400,00 € |
| 2 | Komponentenbibliothek | 24 h | 3.480,00 € |
| 3 | Lizenz Icon-Set (Team) | 1 | 204,03 € |
IBAN DE89 3704 0044 0532 0130 00
BIC COBADEFFXXX
HRB 201 448 B
Extracted fields
2 below 80%Agent run
09:41:02 → 09:41:04 · 2.1 s- ReceivedEmail to [email protected] · 2-page PDF
- Extracted10 fields · 2 below 80%
- MatchedPO-1182 + GR-0931
- Drafted3 lines · balanced
- StoppedAbove €5,000 limit → you
Journal entry preview
dry run · 02 Oct 2026 · EURCopy as CLI3-way match
qty ✓
amount ✓
Browser, desktop and phone.
One app, everywhere you work. Approve a bill from a push notification. It keeps working offline and syncs when you’re back.
- Browser appChrome, Safari, Firefox and Edge. Nothing to install.
- PWAOne app for every screen size. Install on macOS, Windows, iOS or Android.
- NotificationsPush alerts when an agent needs you, with approve and reject right from the notification (high-risk approvals open the app for a passkey). Badge count on the app icon. Also send them to webhooks, Discord, Slack or email.
- OfflineReview and approve without a connection. Actions queue and sync when you’re back online.
- CapturePhotograph a receipt or share a PDF to Ledgers from any app. An agent picks it up.
See what the agent saw
Each extracted field links to its spot on the source document, with a confidence score. Low-confidence fields are flagged for you.
Know what will post
A dry-run preview shows every debit and credit before anything is posted. Approve in one click, confirm high-risk ones with a passkey, reverse any time.
Fast from the keyboard
⌘K runs any action and shows its CLI, MCP and API equivalent. Dense tables, tabular figures, light and dark themes.
Agents propose, policy decides.
Every agent key gets a tier and limits per amount and currency. Paying money out, closing a period and filing tax always need a person, and high-risk approvals are signed with a passkey. Every action is audited and can be reversed.
-
Read
Look up accounts, balances, documents and reports. Changes nothing.
ledgers reports tb --period 2026-09 -
Draft
Extract invoices, propose matches and draft journal entries for review.
ledgers bills match --dry-run -
Post within limits
Post entries up to a set amount, per currency. Anything above goes to a person.
limit = 5_000.00 EUR -
Human only
Paying money out, closing periods, filing tax and anything above a limit. Agents can prepare these. A person signs with a passkey.
requires = "human+passkey"
From one founder to a group of companies.
Freelancer
One company, one currency. Forward invoices to an inbox and an agent books them. You approve the few it isn’t sure about.
ledgers init --country DE
Finance team
Several agents with their own limits, multi-currency bank feeds, approval queues and a monthly close.
ledgers agents add --tier post --limit 5000EUR
One company, many units
One legal entity split into internal sub-companies: plants, brands or product lines. Each gets its own books, budgets and reports. Tax and the year-end close stay on the single entity.
ledgers reports pl --unit plant-2
Group
Many entities in many currencies, intercompany matching and consolidated reports. Same product, same commands.
ledgers reports bs --consolidate --in USD
Eight crates. Take what you need.
Each module will be a Rust crate on Cratefield. Every one ships a CLI, MCP tools and an HTTP API.
Coming soon[dependencies] # coming soon ledgers-ledger = "0.1" ledgers-bills = "0.1" ledgers-matching = "0.1" ledgers-bank = "0.1"
- ledgersoon
Chart of accounts, double-entry journal, periods. Entries are reversed, never edited.
ledgers ledger … - invoicesoon
Sales invoices, credit notes and e-invoicing formats.
ledgers invoice … - billssoon
Vendor bills from email or upload, extracted by agents.
ledgers bills … - matchingsoon
Invoice, order, receipt and payment matching with confidence.
ledgers match … - banksoon
Bank feeds and statement import in any currency.
ledgers bank … - taxsoon
VAT, GST and sales tax rules. Filing always needs a person.
ledgers tax … - documentssoon
Source files stored next to the entries they produced.
ledgers docs … - reportssoon
Trial balance, P&L and balance sheet, per entity or consolidated.
ledgers reports …
Every currency, every language.
Amounts keep their own decimals and are formatted for the reader’s locale. Right-to-left layouts are built in. Crypto comes later: stablecoins and wallets booked like any other currency.
| Locale | Currency | Status line | Amount |
|---|---|---|---|
| en-US | USD | Needs approval: above the $5,000 limit | $12,480.50 |
| de-DE | EUR | Freigabe erforderlich: über dem Limit von 5.000 € | 7.240,00 € |
| ja-JP | JPY · 0 decimals | 承認が必要です:上限 ¥500,000 を超えています | ¥1,284,000 |
| hi-IN | INR | Needs approval: above the ₹4,50,000 limit | ₹1,23,456.00 |
| id-ID | IDR | Perlu persetujuan: di atas batas Rp 80.000.000 | Rp 18.250.000 |
| crypto | USDC · 6 decimals | Crypto, coming later: stablecoins and on-chain wallets | 7,240.000000 USDC |
| ar-BH | BHD · 3 decimals | يحتاج إلى موافقة: أعلى من حد ٢٬٠٠٠ د.ب. | ٢٬٧٣١٫٨٧٥ د.ب. |
Open and portable.
MIT licence
Read the code, fork it, run it. Your books never depend on our roadmap.
One-command export
Every entry, document and audit event.
ledgers export --all ./booksBuilt on Cratefield
Modules are crates with manifests. Add your own next to ours.
Self-host or managed
Run it on your own servers, or let us run it for you. Same software either way.
Pricing
Open source is free for a single user with your own AI model key. Managed plans include the agents. These are planned prices: nothing is for sale yet.
| Plan | Price | What you get | Action |
|---|---|---|---|
Open source1 user · own key | $0 | Self-hosted, every feature, bring your own AI model key | Self-host |
Solo | $12/mo | 100 documents/mo processed by agents, multi-currency, CLI, MCP and API | Join the waitlist |
Team | $49/mo | Unlimited people, 1,000 documents/mo, approval rules, e-invoicing | Join the waitlist |
Business | $149/mo | 5,000 documents/mo, 3-way matching, audit export | Join the waitlist |
Group | from $499/mo | Several companies, consolidation, single sign-on, uptime guarantee | Talk to us |
Let the agents start on your books.
Open the app
browser · PWAUse it in the browser, or install it as an app on desktop and phone. Press ⌘K to run any command.
See the UIInstall the CLI
macOS · Linux · Windows# not released yet: the install command ships with the first release $ ledgers init --country DE $ ledgers bills inboxFollow on GitHub
Connect my agent
MCP · read tier by default{
"mcpServers": {
"ledgers": {
"command": "ledgers",
"args": ["mcp", "serve", "--tier", "read"]
}
}
}