Field notes · AI agents, Hermes & Claude Code By Julian Goldie

Hermes Agent For Accounting: Build A Separate Books Profile In 8 Steps (2026)

The operator build order for a bookkeeping agent that preps the paperwork and leaves every figure, payment and send to a person.

Get The AI Profit Stack Join AIPB →
  • 01 1,000+ done-for-you AI agent workflows
  • 02 5 live coaching calls / week with me
  • 03 7-day refund, cancel anytime
  • 04 3,400+ AI operators inside

Hermes Agent for accounting is safest when you build it as its own "books" profile that reads paperwork, fills a prep workbook and drafts emails, while a person checks every figure and presses every Send.

This is the build order I'd follow for a plumber, a café or a two-person bookkeeping practice.

Every command and config key below comes from the official Hermes Agent docs and the v0.23.0 release, which Nous Research shipped on 5 November 2026.

Nothing here is tax, legal or financial advice: it covers the admin set-up around the books, not the decisions in them.

If you want my team to look at where an agent fits in your firm first, book a free SEO strategy session.

What The Books Profile Will And Won't Touch

Write the boundary down before you install anything, because it becomes your skill and your cron prompts later.

  • Will: read PDF, Word and Excel files, fill a prep workbook, read payment data from Stripe, Square or PayPal, run checklists on a schedule and draft emails.
  • Won't: post to your ledger, pay a supplier, issue a refund, file a return or send a client email on its own.

I checked the plugin catalog and the Nous-approved MCP catalog at tag v0.23.0.

Neither one lists Xero, QuickBooks, Sage, Wave, FreshBooks or Zoho Books.

So your accounting software stays the record, and files move into it by export and import, done by a person.

Step 1: Create A Separate Profile For The Books

The profiles docs describe a profile as its own Hermes home with its own config.yaml, .env, SOUL.md, memories, sessions, skills, cron jobs and state database.

That separation is the whole point here: your finance logins never sit in the same .env as your marketing agent.

hermes profile create books
books setup
books chat

Creating the profile also creates the books command, so every later step runs against the right home.

The docs warn against pointing two agent processes at one profile, because both write memory and each loads the other's writes.

One profile, one job family, one person who owns it.

A practice with several clients can go one step further and give each client a profile of its own, so one client's memories and files never show up in another client's session.

Step 2: Pick The Model, And Consider Keeping It Local

The providers page says Hermes works with any OpenAI-compatible endpoint, and local Ollama is reached through the Custom Endpoint flow at http://localhost:11434/v1 with no key.

The same page lists privacy-sensitive work and offline use as what local Ollama is best for, which is a fair description of client paperwork.

One gotcha from that page: with small local models, the full default toolset plus the system prompt can go past a 32k context window.

The fix it gives is to restrict the toolset, for example -t file,web, or load the model with a larger context.

Whatever you choose, pin it for scheduled work with cron.model so a later change to your chat model doesn't move your month-end jobs.

Step 3: Give The Agent Its Own Receipts Mailbox

The email gateway uses plain IMAP and SMTP, and the docs ask for a dedicated account rather than your personal one.

Put the settings in the books profile's .env, using an app password:

EMAIL_ADDRESS=receipts@yourfirm.example
EMAIL_PASSWORD=<app password>
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_SMTP_HOST=smtp.gmail.com
EMAIL_ALLOWED_USERS=owner@yourfirm.example,office@yourfirm.example
EMAIL_AUTHSERV_ID=mx.google.com
EMAIL_HOME_ADDRESS=owner@yourfirm.example

Then start it with books gateway start, or install it as a service so it survives a reboot.

On first start the adapter marks everything already in the inbox as seen, so only new mail gets processed.

PDF attachments are cached for file access, and photos of receipts go to the vision tool.

Gotcha: Automated Invoice Emails Never Reach The Agent

This one catches people on day one.

The adapter silently ignores senders such as noreply@, no-reply@ and bounce@, plus any mail carrying Auto-Submitted, Precedence: bulk or List-Unsubscribe headers.

If a supplier's billing system mails from an address like that, the invoice sits there unread.

Forward those invoices yourself from an address on the allowlist, or drop the PDF into a folder the agent reads.

Two more traps: leave out EMAIL_AUTHSERV_ID and every message needing an authenticated sender is dropped, and the gateway replies in-thread to each message it handles, so keep the allowlist to your own staff.

🔥 Want the books profile built with you, not just described? Inside the AI Profit Boardroom you get step-by-step video trainings, the installable Agent OS, four coaching calls a week and 3,400+ members working through set-ups like this one. → Join the AI Profit Boardroom

Step 4: Test How It Reads Your Actual Paperwork

The document extraction page says read_file converts .docx and .xlsx out of the box.

PDFs need the optional firecrawl-anydoc converter, which installs on first use where security.allow_lazy_installs allows it.

Scanned receipts are the weak spot: PDF conversion reads the text layer only, so an image-only page comes back empty.

When more than 20% of a document (or 10+ pages) yields no text, read_file adds a coverage warning that names the empty page ranges.

The recovery paths in the docs are rendering a few pages and reading them with vision_analyze, or the ocr-and-documents skill for bulk OCR.

Before you schedule anything, hand it ten real documents from last month and compare every field it pulls with the original.

Step 5: Write Your House Rules As A Skill

Skills live in ~/.hermes/skills/ as a SKILL.md file, per the skills docs.

Lean on the bundled ones listed in the skills catalog: microsoft-office creates, reads and edits Excel and CSV files offline, pdf handles PDF work, and document-to-action-items keeps every extracted field tied to where it came from.

Then add your own short skill for the way your firm works:

---
name: books-house-rules
description: How this firm preps documents for the bookkeeper.
---
1. Name each file YYYY-MM-DD_supplier_docnumber.pdf and move it to prep/inbox/.
2. Add one row per document to prep/intake.xlsx: date, supplier, doc number, file name.
3. Copy figures exactly as printed. If a field is unclear, write UNSURE.
4. Never edit any file in exports/. Work on copies in prep/.
5. Draft only. Never send email. Save drafts to prep/drafts/.

Then switch on the write-approval gate so the agent can't quietly rewrite those rules:

skills:
  write_approval: true

With that on, every skill create, edit or delete is staged for you to approve instead of committed straight away.

Step 6: Connect Stripe, Square Or PayPal Read-First

The Nous-approved MCP catalog has vendor-hosted entries for all three, each signing in over OAuth.

In the manifests, Stripe reads "Payments, customers, and invoices", Square reads "Catalog, orders, and payments" and PayPal reads "Payments, invoices, and subscriptions".

Sign in with hermes mcp login stripe, then tighten the entry using the keys from the MCP config reference:

mcp_servers:
  stripe:
    url: "https://mcp.stripe.com"
    auth: oauth
    trust: untrusted
    tools:
      exclude: [delete_customer, refund_payment]

That exclude list is the exact one the docs use for Stripe.

With trust: untrusted, every write-capable call stops for Allow Once, Session or Always before it runs.

Never run this profile in YOLO mode or with approvals.mode: off, because both skip that prompt.

Skip the Plaid entry for this job: its manifest describes the Plaid dashboard for integration debugging, not a bank feed.

Step 7: Schedule The Checklists With Cron

The cron docs accept plain language or cron expressions, let you attach skills and deliver results to a chat, a file or a platform.

hermes -p books cron create "0 8 * * 1-5" \
  "File yesterday's new documents into prep/ and list anything marked UNSURE." \
  --skill books-house-rules

hermes -p books cron create "0 9 1 * *" \
  "Build last month's prep pack: intake list, unmatched items, missing documents. Draft only." \
  --skill books-house-rules --skill microsoft-office

Results go to EMAIL_HOME_ADDRESS if you set it, or to the chat you pick.

Leave cron_mode: deny as it is: the security page says it blocks dangerous commands in scheduled runs, so the agent has to find another path.

A scheduled job also can't create, edit or remove other jobs unless you opt in.

Step 8: Let Stripe Events Wake The Agent

The webhooks page lists Stripe among the services that can trigger runs, with HMAC signature checks.

The docs' automation blueprints include a Stripe payment-monitoring example along these lines:

hermes webhook subscribe stripe-payments \
  --events "payment_intent.payment_failed,charge.dispute.created" \
  --prompt "Summarise this Stripe event for the office. Flag disputes as urgent. Draft only."

Webhook sessions run with unattended_mode: deny by default, so a risky command is refused instead of waiting for someone who isn't there.

What lands in your chat is a summary; the follow-up stays a human call.

For an online shop, that means a failed card payment becomes a short note with the reason Stripe gave, and the owner decides whether to retry or contact the customer.

Outbound Email: Write "Draft Only" Into Every Job

Hermes approvals cover dangerous shell commands and write calls on untrusted MCP servers.

No docs page describes an approval step before the gateway sends a message.

The bundled email-inbox-triage skill defaults to read and draft rather than send or delete, which helps.

Still, put "draft only, never send" in the skill and in every cron prompt that touches clients.

For a client who owes you statements, the agent writes the chase email into prep/drafts/, and the owner reads it and sends it.

Worked Example: A Plumber's Supplier Invoices

A plumbing firm with two vans gets merchant invoices by email and receipts on paper.

  1. The office forwards each invoice email to the receipts mailbox; the drivers send phone photos of paper receipts.
  2. The 8am job files each document into prep/inbox/ and adds a row to the intake workbook.
  3. Anything blurred or scanned without text gets marked UNSURE with the page number.
  4. On the 1st, the month-end job builds the prep pack and drafts a note listing missing receipts per van.
  5. The bookkeeper checks the pack against the originals, then imports what's right into the accounting software.

The agent never touches the ledger in that flow, and nobody has to retype a supplier name.

Run that loop by hand for one full month before you trust the schedule, and keep a list of every field the bookkeeper had to correct.

Each correction becomes a new line in the house-rules skill, which is how the prep gets cleaner month after month.

📞 Want a second pair of eyes on your agent set-up? Book a free SEO strategy session and my team will walk through where automation fits your business and where it shouldn't. → Book your free call with my team

The Pre-Flight Checklist Before The First Month-End Run

  • EMAIL_ALLOWED_USERS holds staff addresses only, and EMAIL_AUTHSERV_ID is pinned.
  • skills.write_approval is true.
  • Every payment server is trust: untrusted with refund and delete tools excluded.
  • No YOLO, and approvals.mode is not off.
  • Checkpoints are switched on with checkpoints: enabled: true, since they're opt-in.
  • The cron model is pinned, and every client-facing prompt says draft only.

The AI Profit Boardroom trainings walk through checklists like this one on live calls, if you want to see it done on screen.

Where Hermes Stops And Your Bookkeeper Takes Over

Hermes is the prep layer: it collects, names, extracts, lists and drafts.

Your bookkeeper or accountant decides how things are coded, what gets posted and what goes to the tax office.

If you'd rather run this on a hosted agent with built-in draft-and-send email, compare our Grok Bot for accounting build.

For the wider rollout across sales and support, the AI Profit Boardroom has the templates, and my team can map it with you on a free call.

Also On Our Network

FAQ: Hermes Agent For Accounting

Which accounting software does Hermes connect to?

None directly. The v0.23.0 plugin catalog and Nous-approved MCP catalog have no Xero, QuickBooks, Sage, Wave, FreshBooks or Zoho Books entry, so a person exports and imports the files.

Why does the agent ignore some invoice emails?

The email gateway silently drops mail from noreply-style senders and mail with bulk or List-Unsubscribe headers. Forward those invoices from an allowlisted address instead.

Can Hermes read scanned receipts?

PDF conversion reads the text layer only, so image-only pages come back empty. read_file warns about the gaps, and the docs point to vision_analyze or the ocr-and-documents skill to fill them.

How do I stop it issuing a Stripe refund?

Mark the Stripe server trust: untrusted and exclude refund_payment and delete_customer, as the docs show. Write-capable calls then ask before they run.

Will Hermes ask before it emails a client?

No docs page describes an approval step for outgoing messages. Write draft only into the skill and every cron prompt, and have a person send.

📺 Video notes + links to the tools 👉

🎥 Learn how I make these videos 👉

🆓 Get a FREE AI Course + Community + 1,000 AI Agents 👉

About Julian

I'm Julian Goldie, an SEO entrepreneur, author and founder of the AI Profit Boardroom, which has 3,400+ members.

I help business owners scale with AI agents, automation and SEO.

  • I've built a 7-figure SEO and link building agency, Goldie Agency, with a team of 70+ SEO experts.
  • I've grown a YouTube channel to 400,000+ subscribers.
  • I wrote "Link Building Mastery".
  • My Udemy courses have taught over 29,000 students.

→ Get my best AI training inside the AI Profit Boardroom

Build the books profile this week, run one month by hand, and book a free strategy session if you want my team to plan the rest of your Hermes Agent for accounting set-up.

§ Field reports

Real wins from inside the AI Profit Boardroom

See all 3,400+ members →
AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot AIPB member win screenshot

Scroll sideways →

⚑ Next step

Ready to run AI agents that actually do the work?

Join 3,400+ operators inside the AI Profit Boardroom. Get 1,000+ plug-and-play AI agent workflows, 5 coaching calls a week, and a community that holds you accountable.

Join The AI Agent Community →

7-day no-questions refund · Cancel anytime

Found this useful? Get more of this site in your Google.

One tap adds us as a preferred source — Google then shows you our posts more often in Search, Top Stories, and AI Overviews.

← Back to all posts