# DATEV trial balance and posting history via MCP

Query DATEV trial balance and accounting postings via Cortena MCP.

Ask Claude, ChatGPT, or Dust connected to Cortena for **DATEV Rechnungswesen trial balance (sums & balances)** and **synced booking history** from DATEV, Twinfield, or Exact Online · without opening spreadsheets or the accounting UI.

**Who this is for:** Power users and finance assistants who already use the **Cortena MCP server** and need account balances, monthly debit/credit columns, or posting drill-down for analysis and reconciliation questions.

Related: [MCP server](https://help.cortena.ai/guides/advanced/mcp-server), [MCP security](https://help.cortena.ai/guides/advanced/mcp-security), and [DATEV Rechnungswesen](https://help.cortena.ai/guides/integrations/datev-rechnungswesen).

## 1. Prerequisites

1. **MCP access** · A tenant admin enables **MCP access** under **Settings → User permissions** for your user (see [MCP server](https://help.cortena.ai/guides/advanced/mcp-server)).
2. **View accounting postings** · You need the **View accounting postings** permission on the workspace you query. Without it, posting tools return forbidden.
3. **Connected accounting data**
   - **Trial balance** · **DATEV Datenservice Export Rechnungswesen** (standalone or combined with **DATEV Buchungsdatenservice**). Import reference data in **Settings → Integrations** so Cortena has synced sums & balances.
   - **Posting history** · Synced booking history from **DATEV**, **Twinfield**, or **Exact Online** (same integrations you use in the app).

## 2. Trial balance tools (DATEV)

Your assistant can call:

| Tool | Purpose |
| --- | --- |
| `cortena_datev_trial_balance_status` | Row count, fiscal years, last sync time |
| `cortena_datev_trial_balance_list` | Flat rows with `month_01_balance` … `month_12_debit_credit` columns |

**Typical flow**

1. `cortena_datev_trial_balance_status(tenantId)` · confirm data exists and which fiscal years are available.
2. `cortena_datev_trial_balance_list(tenantId, fiscalYearId?, accountNumber?, page?, limit?)` · page through accounts.

**Account numbers (SKL)** · Filter and read accounts in your tenant **Sachkontenlänge (SKL)** form (e.g. `4400`), not DATEV’s zero-padded wire format (e.g. `44000000`). The assistant should use the same numbers you see in Cortena’s chart of accounts.

## 3. Posting history tools (DATEV / Twinfield / Exact)

| Tool | Purpose |
| --- | --- |
| `cortena_accounting_postings_dimensions` | Connected sources, dimension names, `groupBy` syntax |
| `cortena_accounting_postings_status` | Row counts and last sync per source |
| `cortena_accounting_postings_list` | Filtered posting lines |
| `cortena_accounting_postings_aggregate` | Totals with `groupBy` (e.g. by cost center or tax rate) |
| `cortena_accounting_postings_transaction_get` | All lines for one booking (transaction key) |

**Filters** · Use `dimension=name:value` (DATEV examples: `markOfOrigin`, `kost1`, `postingDescription`, `taxRate`).

**Amounts** · `amountMode`: `debit`, `credit`, `both`, `net`, or `gross`. For Exact Online, `amountCurrency`: `original` (default) or `normalized`.

**DATEV accounts** · `accountNumber` and `contraAccountNumber` in results are **SKL-normalized**. Twinfield and Exact account numbers are shown as stored in those systems.

## 4. Example questions for your assistant

- "For tenant `{name}`, show trial balance status and list accounts 4000-4999 for the current fiscal year."
- “Aggregate DATEV postings by `dimension=kost1:901` last month, net amounts.”
- “Open transaction `{key}` and list all lines for that DATEV booking.”

Always name the **tenant** (or pass `tenantId`) so the assistant queries the correct workspace.

## Tips and limitations

- Tools are **read-only** · they do not export invoices or change bookings.
- Trial balance requires **Datenservice Export** sync; posting tools require **View accounting postings** and a successful history sync for that source.
- MCP enforces the **same permissions** as the web app; you only see tenants where you have **MCP access**.
- For connector setup, OAuth, and prepare/commit approvals, see [MCP server](https://help.cortena.ai/guides/advanced/mcp-server).

## Quick reference

| Task | Where / tool |
| --- | --- |
| Enable MCP | **Settings → User permissions** → **MCP access** |
| Enable postings read | **View accounting postings** permission |
| Connect DATEV trial balance data | **Settings → Integrations** → **DATEV Datenservice Export Rechnungswesen** · reference import |
| Trial balance status | `cortena_datev_trial_balance_status` |
| Trial balance rows | `cortena_datev_trial_balance_list` (SKL account numbers) |
| Posting dimensions | `cortena_accounting_postings_dimensions` |
| List / aggregate postings | `cortena_accounting_postings_list` / `_aggregate` |
| One booking drill-down | `cortena_accounting_postings_transaction_get` |
| MCP setup guide | [MCP server](https://help.cortena.ai/guides/advanced/mcp-server) |
