Learn · Practical guide

How to run your books with the AI agent you already use

Start with one customer agreement, one recorded receivable, one completed payment, and one expense. Your agent handles the routine work; a real ledger keeps every result balanced, reviewable, and ready for the questions founders actually ask.

I was a founder who wanted an answer, not a second job. But in the early days, I was the finance department by default. Nobody decided it. It landed on me because there was no one else.

If you have just incorporated, you may be in the same spot: no bookkeeper, no books, and no desire to spend Sunday night inside accounting software. You do have Hermes, Claude Code, or Codex open already.

This guide shows how to start clean with that agent. It does not cover migration from an existing QuickBooks or Xero ledger.

Which agent do you use?

The setup, examples, and prompts below will adapt to your choice.

EconomicoClaude Code × Economico

MCP + OAuth Connected
Give me our first-week P&L, cash balance, burn, and runway. Tell me where the data is still too thin.
Economico Called 2 Economico tools
Economico Economico reports · income_statement ✓ revenue $499 · expenses $40 · net income $459
Economico Economico reports · balance_sheet ✓ cash $120,499 · books balanced
First week: $499 revenue, $40 expenses, $459 net income, and $120,499 cash. One week is not enough history for a defensible burn rate or runway. Close at least a full month before treating either as a trend.

That answer is useful because it refuses to manufacture certainty. Here is how to build the books beneath it.

What “agent-native general ledger” actually means

An agent-native general ledger is double-entry books your AI agent can read and write directly, via tools instead of a dashboard.

The agent supplies intent and the business context it already has. Typed tools perform allowed bookkeeping operations. The ledger posts the balanced entry and preserves the audit trail.

That is different from exporting a CSV, pasting it into a chatbot, and asking for a summary. A spreadsheet can show what happened to your bank account. Accrual books also show what the business earned and owes — different numbers that matter when an amount is owed but the cash has not arrived.

Dashboard-first booksAgent-native books
How work startsLog in, find the screen, enter the transactionTell the agent what happened in plain English
How AI sees the booksExport, paste, or use a separate copilotRead and write the ledger through typed tools
Accounting structureReal books, operated through a human UIReal books, operated through bounded agent actions
Founder outcomeLearn the accounting workflowAsk for the outcome and review what was recorded

The point is not “better chat.” It is real books without having to live in an accounting dashboard every month.

Before you start

This walkthrough is deliberately small. It starts a new set of books for a builder’s product business. Founders with existing books need to scope opening balances and history separately.

You need an Economico account and one supported agent. You do not need an existing chart of accounts, prior accounting knowledge, or a bookkeeper before you begin routine books. New accounts are created during the browser sign-in flow.

You still need a qualified professional for tax filings, jurisdiction-specific rules, and material edge cases. Clean routine books make that review easier; software does not turn tax judgment into a button.

Connect the agent you already use

Show setup for

Connect Hermes through the CLI

Hermes can use MCP or the Economico CLI. This guide uses the CLI: install it, then open the browser sign-in flow once.
Install the Economico CLI
npm install -g @economico/cli
Sign in
economico login

EconomicoHermes × Economico

CLI + OAuth Connected
Set up Economico for this new business, then confirm which books you can see.
Economico Called 1 Economico tool
Economico Economico business · get ✓ TinyCRM Studio · owner access
Connected to TinyCRM Studio with owner access.

See the complete Hermes setup

Connect Claude Code over MCP

Claude Code can connect directly to Economico over MCP. Add the server once. On first use, Claude Code opens the browser OAuth flow so you can grant access without pasting a bank or accounting password into chat.
Add the Economico MCP server
claude mcp add --transport http economico https://economi.co/mcp
Verify after browser sign-in
Which Economico business am I connected to, and what access do I have?

EconomicoClaude Code × Economico

MCP + OAuth Connected
Which Economico business am I connected to, and what access do I have?
Economico Called 1 Economico tool
Economico Economico business · get ✓ TinyCRM Studio · owner access
Connected to TinyCRM Studio with owner access.

See the complete Claude Code setup

Connect Codex through the CLI

Codex can use MCP or the Economico CLI. This guide uses the CLI: install it, then open the browser sign-in flow once.
Install the Economico CLI
npm install -g @economico/cli
Sign in
economico login

EconomicoCodex × Economico

CLI + OAuth Connected
Set up Economico for this new business, then confirm which books you can see.
Economico Called 1 Economico tool
Economico Economico business · get ✓ TinyCRM Studio · owner access
Connected to TinyCRM Studio with owner access.

See the complete Codex setup

All three paths arrive at the same place: one business, one ledger, and the same bounded bookkeeping tools.

The trust contract: controlled delegation, not autonomous magic

The old way
Accounting vendor inside your stack
  • Your email
  • Your CRM
  • Your bank
  • Your files
standing access — never granted here
With Economico
Economico one scoped token · revocable
Your agent already trusted
  • Your email
  • Your CRM
  • Your bank
  • Your files

Your agent reaches your systems with the access you already gave it. Economico holds no key to any of them.

Your agent keeps its existing context. Economico receives a scoped, revocable token for the businesses you approve and exposes bounded finance tools — not standing access to every system your agent can reach.

The agent does not get a blank journal-entry canvas for routine work. A contract activity command posts a receivable from recorded terms. A completed payment record clears it. A personally paid receipt records an expense and what the company owes the founder. Those operations must balance before they post.

That solves structural accuracy. It does not make business judgment infallible.

  • Context can still be wrong. The agent may misunderstand what a payment was for or choose the wrong expense context. Tell it to ask when a fact is missing.
  • Retries are safe. Stable references keep supported write paths from creating a second journal when the agent retries.
  • Corrections remain visible. Voids and reversals preserve what happened instead of deleting history.
  • Ambiguity gets reviewed. Confirm uncertain classifications, and use a qualified professional for tax and jurisdiction-specific treatment.

After a write, ask the agent to show the resulting activity statement, receipt, income statement, or balance sheet. Delegation works better when the proof is one prompt away.

Your first week: 6 prompts, one set of books

The company below is simulated, but the numbers are not improvised. Every snapshot comes from TinyCRM Studio’s modeled ledger and ties assets to liabilities plus equity.

TinyCRM Studio · the first week in six prompts

Watch the books become useful.

Every prompt changes the same reconciled ledger. Copy one into your agent, or scroll the whole first-week story from customer setup to an honest runway answer.

01

Start with the money that is actually there

Nora and Basil contribute $20,000 and close a $100,000 SAFE. The agent records both sources without pretending either is revenue.

We incorporated TinyCRM Studio with $20,000 of founder cash and a $100,000 pre-seed SAFE. Set up the opening books.
7 tool calls
  • Economicoparties.create✓
    {
      "categories": [
        "founder"
      ],
      "name": "Nora Chen",
      "partyId": "nora-chen"
    }
  • Economicoparties.create✓
    {
      "categories": [
        "founder"
      ],
      "name": "Basil Mensah",
      "partyId": "basil-mensah"
    }
  • Economicoparties.create✓
    {
      "categories": [
        "investor"
      ],
      "name": "Pre-Seed Angels",
      "partyId": "pre-seed-angels"
    }
  • Economicocontracts.create✓
    {
      "ledgerBindings": {
        "money": "led_00000000000000000000000840"
      },
      "parties": {
        "founder-a": "nora-chen",
        "founder-b": "basil-mensah"
      },
      "templateDocumentId": "doc_01KBBKB100C7V2ZHD3SEZNY6FE",
      "terms": {
        "contribute": {
          "amount": "2000000"
        }
      }
    }
  • Economicocontracts.record✓
    {
      "activityKey": "contribute",
      "contractId": "ctr_01KBBKB1007CSTAX4048NQGNQQ",
      "effectiveAt": "2026-01-01T00:00:00Z",
      "facts": {
        "bank": "mercury-checking"
      },
      "occurrenceKey": "opening",
      "sourceFactId": "mercury:founder-contribution"
    }
  • Economicocontracts.create✓
    {
      "ledgerBindings": {
        "money": "led_00000000000000000000000840"
      },
      "parties": {
        "investor": "pre-seed-angels"
      },
      "templateDocumentId": "doc_01KBBKB100609M1Q3ZBFC8F88V",
      "terms": {
        "fund": {
          "amount": "10000000"
        }
      }
    }
  • Economicocontracts.record✓
    {
      "activityKey": "fund",
      "contractId": "ctr_01KBBKB100ZN675ESE2TMA5TN6",
      "effectiveAt": "2026-01-01T00:00:00Z",
      "facts": {
        "bank": "mercury-checking"
      },
      "occurrenceKey": "fund",
      "sourceFactId": "mercury:wire:pre-seed-angels-safe"
    }
Opening books recorded: $120,000 cash, $20,000 paid-in capital, and $100,000 SAFE financing. Revenue is still $0.
02

Give the first customer a home in the books

Juniper Bio signs up for TinyCRM's $499 Growth plan. Customer, contract, and recurring obligation are linked before money moves.

Juniper Bio signed up for our $499 monthly Growth plan. Add the customer and activate the contract starting today.
3 tool calls
  • Economicoparties.create✓
    {
      "categories": [
        "customer"
      ],
      "name": "Juniper Bio",
      "partyId": "juniper-bio"
    }
  • Economicocontracts.create✓
    {
      "ledgerBindings": {
        "money": "led_00000000000000000000000840"
      },
      "parties": {
        "customer": "juniper-bio"
      },
      "templateDocumentId": "doc_01KBBKB100DX4NTC7QDJZ4JP3A",
      "terms": {
        "subscription": {
          "monthly": "49900"
        }
      }
    }
  • Economicocontracts.record✓
    {
      "activityKey": "accept",
      "contractId": "ctr_01KBBKB1004596YS5RQH74AWY1",
      "effectiveAt": "2026-01-02T00:00:00Z",
      "evidence": {
        "acceptance": [
          {
            "kind": "stripe_object",
            "ref": "sub_1QJuniperGrowth"
          }
        ]
      },
      "facts": {},
      "occurrenceKey": "accept",
      "sourceFactId": "juniper-bio:signup"
    }
Juniper Bio is active on the $499 monthly Growth plan. No invoice has posted yet, so the ledger is unchanged.
03

Record the first invoice

Recording the January service activity posts revenue and the amount Juniper owes. It does not move cash or send an email.

Record the $499 January Growth plan amount due from Juniper Bio under our agreement, due in 14 days. Show what posted.
1 tool call
  • Economicocontracts.record✓
    {
      "activityKey": "invoice",
      "contractId": "ctr_01KBBKB1004596YS5RQH74AWY1",
      "effectiveAt": "2026-01-02T00:00:00Z",
      "facts": {
        "due_days": "14"
      },
      "occurrenceKey": "2026-01",
      "sourceFactId": "TCS-INV-001"
    }
Invoice recorded. Revenue is $499 and accounts receivable is $499; cash remains $120,000 until Juniper pays.
04

Record what landed in the bank

Four days later the payment arrives. The agent clears receivables into the named operating account instead of counting the sale twice.

Juniper Bio's $499 payment landed in Mercury Checking today. Record it against their January invoice.
2 tool calls
  • Economicoreports.run✓
    {
      "as_of": "2026-01-06",
      "direction": "receivable",
      "kind": "aging",
      "party_id": "juniper-bio"
    }
  • Economicocontracts.record✓
    {
      "activityKey": "pay",
      "contractId": "ctr_01KBBKB1004596YS5RQH74AWY1",
      "effectiveAt": "2026-01-06T00:00:00Z",
      "evidence": {
        "payment": [
          {
            "kind": "other",
            "ref": "mercury:ach:juniper-2026-01-06"
          }
        ]
      },
      "facts": {
        "bank": "mercury-checking",
        "invoice": "TCS-INV-001"
      },
      "occurrenceKey": "TCS-INV-001",
      "sourceFactId": "mercury:ach:juniper-2026-01-06"
    }
Payment matched. Cash is now $120,499 and accounts receivable is $0; revenue stays $499 because it was already recorded.
05

Handle the awkward founder-paid receipt

Nora paid a $40 Vercel receipt personally. The expense belongs to TinyCRM, but company cash never moved, so the books show what the company owes her.

Nora paid our $40 Vercel Pro hosting receipt personally today. Record the company expense without reducing company cash.
3 tool calls
  • Economicoparties.create✓
    {
      "categories": [
        "vendor"
      ],
      "name": "Vercel",
      "partyId": "vercel",
      "url": "https://vercel.com"
    }
  • Economicocontracts.create✓
    {
      "ledgerBindings": {
        "money": "led_00000000000000000000000840"
      },
      "parties": {
        "vendor": "vercel"
      },
      "templateDocumentId": "doc_01KBBKB100Z6Q6WNP83Y9DJ2M8"
    }
  • Economicocontracts.record✓
    {
      "activityKey": "bill",
      "contractId": "ctr_01KBBKB100HT0KZ7N35DW2AQ1N",
      "effectiveAt": "2026-01-07T00:00:00Z",
      "facts": {
        "amount": "4000",
        "paid_by": "nora-chen"
      },
      "occurrenceKey": "2026-01",
      "sourceFactId": "vercel:receipt:pro-2026-01"
    }
Vercel hosting recorded: $40 expense and $40 due to Nora. Company cash remains $120,499.
06

Ask for the truth, even when it is early

The first useful report is not a made-up forecast. It is a tied balance sheet, a first P&L, and a clear statement that one week cannot establish a reliable burn trend.

Give me our first-week P&L, cash balance, burn, and runway. Tell me where the data is still too thin.
2 tool calls
  • Economicoreports.run✓
    {
      "from": "2026-01-01",
      "kind": "income_statement",
      "until": "2026-01-08"
    }
  • Economicoreports.run✓
    {
      "as_of": "2026-01-08",
      "kind": "balance_sheet"
    }
First week: $499 revenue, $40 expenses, $459 net income, and $120,499 cash. One week of profitable activity is not enough to estimate a defensible burn rate or runway; close at least a full month before treating either as a trend.

The critical moment is the payment. Recording the earned amount due creates revenue and accounts receivable. Recording the payment later moves that receivable into cash; it does not count the revenue twice.

EconomicoClaude Code × Economico

MCP + OAuth Connected
Juniper Bio’s $499 payment landed in Mercury Checking today. Record the completed payment against their January invoice.
Economico Called 2 Economico tools
Economico Economico reports · aging ✓ TCS-INV-001 · $499 outstanding
Economico Economico commands · contracts.record ✓ cash $120,499 · AR $0
Payment matched. Cash is now $120,499 and accounts receivable is $0. Revenue stays $499 because it was recorded when the service activity was recorded.
Try the invoice-to-payment step
A customer's payment just landed in our operating account. Find the matching open receivable, record the completed payment once, and show me how cash and accounts receivable changed.

The awkward receipt matters too. If Nora pays Vercel personally, company cash did not fall. contracts.record with a bound related-party expense activity records the $40 hosting expense and credits 2135 Due to Related Parties, so the balance sheet shows that TinyCRM owes Nora $40.

That is what real books add: not more ceremony, but fewer invented facts.

Why this is not ChatGPT on top of a spreadsheet

A spreadsheet is a reasonable lightweight record of cash. Dashboard-first accounting software gives you real books, provided someone operates its workflow. ChatGPT on top can summarize either one, but the copy-paste round trip remains and the chatbot does not become the accounting system.

An agent-native ledger changes the operating model. Your agent posts directly through bounded tools. The activity statement, payment, receipt, and reports all come from the same double-entry source.

That does not mean a new founder needs every finance feature on day one. The minimum useful loop is deliberately boring: one customer agreement, one earned amount, one completed payment, one expense, and one question you need answered. The books underneath stay real as the business grows.

What the agent still needs from you

Your agent needs the facts only the operator knows: what a transaction was for, which customer or vendor it belongs to, and whether the source document is complete.

When context is clear, routine bookkeeping should not require significant monthly supervision. When it is not clear, the right behavior is a question — not a confident guess.

You also still need a qualified professional for tax filings, jurisdiction-specific advice, and material edge cases. The agent removes repetitive work. It does not hide founder responsibility.

Common questions

Frequently asked questions

Can the agent make an accounting mistake?

Yes, it can misunderstand business context. Economico reduces a different class of error: routine operations use typed tools whose journal shape must balance. Review ambiguous classifications and ask to see the resulting document or report after a write.

Do I still need a bookkeeper or CPA?

You do not need a bookkeeper before beginning this narrow routine loop for a new business. You do need qualified help for tax filings, jurisdiction-specific rules, and material or unusual accounting questions. Clean books make that help faster and more useful.

Is this GAAP-compliant?

Economico keeps accrual, double-entry books: recorded customer activity can create receivables before cash arrives, and vendor activity can create payables before cash leaves, and every posted journal must balance. That is GAAP-shaped accounting infrastructure, not a professional assurance opinion about every business fact or tax treatment.

Is my data safe, and who can see it?

Browser OAuth gives the agent full access to the businesses you approve, and never more than your own membership allows. You do not paste a bank or accounting password into chat. Economico’s token covers its finance tools; it does not inherit standing access to your email, bank, CRM, or files.

What if I already use QuickBooks or Xero?

This guide is for a new business starting clean. Migrating an existing ledger is a separate workflow and is not promised here. Keep the existing system authoritative until a migration has been planned and reconciled.

What happens when the agent retries?

Supported write paths use stable references so a retry returns the existing result rather than posting a second journal. Ask the agent to verify the resulting document or balance instead of repeating an uncertain command with changed facts.

Can I undo a mistake?

You correct posted activity with a void, reversal, or compensating entry. The original remains in the audit trail. A contract still in draft can be revised before it is accepted.

How much work is left for me?

Provide missing business context, review ambiguity, and ask the agent to inspect open documents, credit expiries, and current reports. The aim is controlled delegation with ease and clarity — not set-and-forget autonomy.

Run the first-week loop in your agent

Start with one customer agreement, one earned amount, one completed payment, one expense, and one honest burn/runway question. That is enough to make the books useful without building a finance department.

Try it with Hermes

Hermes · MCP or CLI

Put your first week in the books with Hermes

Browser sign-in grants access to one Economico business. Then Hermes walks the loop with you.

Connect Hermes and start the loop

Try it with Claude Code

Claude Code · MCP + OAuth

Put your first week in the books with Claude Code

Connect over MCP with browser OAuth. No accounting password gets pasted into chat.

Connect Claude Code and start the loop

Try it with Codex

Codex · Skills + CLI

Put your first week in the books with Codex

The setup skill handles the connection and browser authentication. Then Codex walks the loop with you.

Connect Codex and start the loop

Then ask:

Your first-books prompt
Help me start clean books for this new company. Begin with our opening cash, then walk me through one customer, one recorded receivable, one completed payment, and one expense. Ask whenever a business fact is missing, show me what each step changed, and finish with an honest first-week P&L and balance sheet.

From there, learn what burn rate actually tells you or browse the pricing and invoicing playbooks.