BareBones + Hermes

If Hermes can call tools, it can keep your books. Give it a single tool — “add a ledger entry” — and you can just say “log the $128 water bill” or hand it a receipt photo, and the line lands in your ledger.

tool · add_ledger_entry
{
  "name": "add_ledger_entry",
  "description": "Add one line to the ledger.",
  "parameters": {
    "type": "object",
    "required": ["amount", "type", "category"],
    "properties": {
      "amount":   { "type": "number" },
      "type":     { "enum": ["INCOME","EXPENSE","CHARGE"] },
      "category": { "type": "string" },
      "property_id": { "type": "integer" }
    }
  }
}

What you'll need

The call behind the tool

POST/api/v1/ledger

Authorization: Bearer <your_api_key>

Create a key on your dashboard. Full reference in the API docs.

FieldTypeNotes
amount*numberDollar amount, e.g. 142.50
type*enumINCOME, EXPENSE, or CHARGE
category*enumRENT, UTILITIES, REPAIRS, INSURANCE, TAXES, …
property_idintegerWhich property (optional)
unit_idintegerSpecific unit; omit = property-wide
transaction_datestringYYYY-MM-DD; defaults to today
reason_descriptionstringFree-text note for the line
statusenumPAID or UNPAID (default UNPAID; ignored for INCOME)

* required

Step by step

Give Hermes one job

The tool schema mirrors the API, so Hermes already knows how to fill it in.

    1

    Create an API key

    Generate one under API keys on your dashboard, and keep it in Hermes’ server-side config — never in a prompt.

    2

    Define the tool

    Register one tool, add_ledger_entry, with the schema above. Following Hermes’ own tool / function-calling setup, point its handler at your backend.

    3

    Forward the call to the API

    When Hermes calls the tool, your handler makes a POST /api/v1/ledger with the Bearer header and the tool’s arguments as the JSON body.

    4

    Talk to it naturally

    Say “log a $340 plumbing repair on Unit 3C,” or send a receipt image. Hermes extracts the amount, picks a category from the allowed list, and calls the tool.

    5

    Return the result

    Pass the 201 response back so Hermes can confirm “logged $340 to Repairs” — and fix a field if it guessed wrong.

Setup varies by assistant. The tool schema and the API call above are exact; where you register the tool depends on your Hermes setup. See its tool / function-calling docs for that step, or start from our tool-agnostic AI agents guide.

Let Hermes keep your books.

Create a key, wire up one tool, and your assistant logs expenses the moment you mention them.