Jahresabschluss.io
DESign inRegister →

ChatGPT + custom GPT

Connect ChatGPT or a custom GPT to accounting

There is no ChatGPT plugin for your bookkeeping — and you do not need one. A custom GPT reaches your German ledger through GPT Actions calling the open REST API directly. You paste the base URL, set Bearer authentication with your jab_live_ key, and the model can read the ledger or, with a write key, post entries. Same key, same scopes, same GoBD guarantees — until OpenAI retires custom GPTs on 11 December 2026; Codex connects with your key today.

Last reviewed: 2026-07-03

How the connection actually works

Be clear-eyed: this is the REST API behind a custom GPT, not a marketplace plugin.

A custom GPT can call external HTTP endpoints through Actions. You point an Action at the bookkeeping REST API, describe the endpoints, and set the authentication to an API key sent as a Bearer token. From then on, when you ask the GPT a bookkeeping question, it invokes the matching endpoint and answers from your real data.

Nothing here is a special integration: it is the same open REST API any developer uses, driven by the GPT instead of a script. Heads-up: OpenAI has announced that custom GPTs stop working on 11 December 2026; their Actions are not migrated and would have to be rebuilt as an app or a custom MCP server. ChatGPT connects custom MCP servers only via OAuth or without authentication — it cannot present an API key. With your OpenAI account, Codex (CLI or IDE extension) connects to the bookkeeping directly with your key today: in ~/.codex/config.toml add [mcp_servers.buchhaltung] with url = "https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp" and bearer_token_env_var = "JAB_API_KEY". The German guide is at /ki-agent/buchhaltung-mit-chatgpt.

Set up the Action

Base URL, Bearer auth, and the endpoints you want to expose.

# ChatGPT → custom GPT → Configure → Actions
# Authentication: API Key  →  Auth Type: Bearer
# API key value: jab_live_…
# Server / base URL: $BASIS_URL
#
# Example request the Action performs under the hood
# (list open payables so the GPT can propose postings):
curl "$BASIS_URL/open-items?kind=kreditor" \
  -H "Authorization: Bearer jab_live_…"

What a custom GPT can do

The same read and write surface as any other client.

  • Read the trial balance, journal entries, accounts, open items, invoices and bank lines for the one company its key belongs to.
  • Summarise, group and explain the numbers in plain language for a founder or a finance team.
  • With a write key, post a manual entry, issue or book an invoice, or reverse a booking via Storno.
  • Prepare and tidy figures that later flow into your annual accounts inside the app.

Keep the write scope deliberate

A custom GPT is shareable, so treat the key with care.

If you share a custom GPT, remember the key behind its Action is what grants access. Start with a read-scope key so the GPT can analyse but not change anything. Only issue a read-plus-write key when a trusted person drives the posting flow, choose the shortest expiry that fits, and revoke the key the moment you are done.

The company is derived from the key, so a GPT can never reach another company's books by changing a parameter. And because every write runs through the GoBD booking core, even a write-enabled GPT cannot delete history or unbalance an entry.

What it will not do

Honest limits keep expectations right.

  • The API never files anything with the tax office by itself: it checks tax filings and prepares them, and you release the ELSTER filing in the app.
  • No SQL and no free-form query — only the fixed endpoint allowlist.
  • No cross-company access — one key, one company, always.
  • No way to switch off GoBD; the booking core is the same one the UI uses.

Frequently asked questions

Is there an official ChatGPT plugin?

No. A custom GPT connects through GPT Actions calling the open REST API directly. There is no plugin or marketplace connector — just the documented endpoints and your Bearer key.

How does ChatGPT authenticate?

Set the Action's authentication to an API key used as a Bearer token, with your jab_live_ key as the value and the API base URL as the server. No separate apikey header is needed.

Can a shared custom GPT leak my books?

Access is exactly the key behind the Action. Use a read-only, time-limited key for anything shared, and revoke it when done. The company is derived from the key, so no other company's data is reachable.

Can ChatGPT post entries?

Yes, if the Action uses a read-plus-write key. Posts run through the GoBD booking core, so reversals are Storno operations and Soll must equal Haben — the same rules as the manual UI.

Can ChatGPT file my annual accounts?

No. The API is bookkeeping data and postings only. ChatGPT can prepare the figures, but the annual accounts are compiled and filed inside the app, not via the API.