Bookkeeping

Save a budget

books_save_budget · Changes data · Markdown

Saves a budget per income and expense account and month, like Xero's budget manager: amounts, monthly or yearly.

$0.001 a call

From your agent’s balance. A call that fails costs nothing.

An example

Plan 2026: 25,000 euros of sales a month, rent 2,400 a month and 6,000 for advertising over the year.

Your agent callsbooks_save_budget$0.001 a call

The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.

With these arguments
{
  "name": "2026",
  "start": "2026-01",
  "lines": [
    {
      "account": "4000",
      "monthly": 25000
    },
    {
      "account": "6500",
      "monthly": 2400
    },
    {
      "account": "6000",
      "yearly": 6000
    }
  ]
}
What comes back
{
  "budget": {
    "name": "2026",
    "start": "2026-01",
    "months": 12,
    "currency": "EUR",
    "lines": [
      {
        "account": "4000",
        "name": "Sales",
        "type": "income",
        "amounts": [
          "25000.00",
          "25000.00"
        ],
        "total": "300000.00"
      },
      {
        "account": "6000",
        "name": "Advertising",
        "type": "expense",
        "amounts": [
          "500.00",
          "500.00"
        ],
        "total": "6000.00"
      }
    ]
  }
}

Use it when

The business plans its year, or a plan changes; then compare with books_report budget_variance.

What it does

A budget, like Xero's budget manager: an amount per income or expense account for each month from start (12 months unless months says otherwise). Each line gives amounts (one per month), monthly (the same every month) or yearly (spread evenly); a line for an account already in it replaces that line, and remove takes one out. Hold it against what happened with books_report budget_variance. Matched by name. Not a team's spending budget at Conecto.

What comes back

budget: its name, first month, number of months, currency and each line with its monthly amounts and total. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
nameRequiredstringThe budget's name, e.g. "2026". 1 to 80 characters.
new_namestringUp to 80 characters.
startstringIts first month, like 2026-01. Up to 7 characters.
monthsinteger1 to 36.
linesarray of objectsUp to 300 items.
lines[].accountRequiredstringAn account code from the chart, e.g. "6600". 1 to 20 characters.
lines[].amountsarray of number or stringOne amount per month of the budget. 1 to 36 items.
lines[].monthlynumber or stringThe same amount every month. Up to 24 characters.
lines[].yearlynumber or stringA year's amount, spread evenly over the months. Up to 24 characters.
lines[].removebooleanTake the account out of the budget.

The call

Over MCP, call books_save_budget on https://api.conecto.chat/mcp/books. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/books_save_budget \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"2026","start":"2026-01","lines":[{"account":"4000","monthly":25000},{"account":"6500","monthly":2400},{"account":"6000","yearly":6000}]}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
no_books409The business keeps no books yet.Set them up with books_setup (base currency, start date).
not_found404No account, tax, entry or file of the books has that code, name or id.Check the codes with books_list_accounts and the taxes with books_get.
archived409The account or tax is archived.Use another one, or un-archive it with books_save_accounts.
invalid_input400start is not a month like 2026-01, a line is not for an income or expense account, gives no amount or more than one way, or its amounts are not one per month.Fix what the message names.
name_taken409new_name is another budget's name.Pick another name.
limit_reached409The account has 20 budgets.Delete one with books_delete_budget.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md