What was built
DATEV Connect only speaks to software on the firm's own network. That is the whole problem. Aside from the problem that DATEV itself is archaic and not ready for AI use at all.
The API sits behind the office firewall, the data is protected by §203 StGB, and nothing about it was reachable from a chat assistant. So we built two halves: an MCP server that exposes DATEV as tools, and a signed Windows agent that lives on the firm's server and does the actual talking to DATEV.
The firm's staff now work DATEV in chat. They ask for a client's master data, search the DMS for a document, pull postings for a period, and create a new client record when a Pipedrive deal crosses the qualification threshold. No clicking through the DATEV client for lookups anyone else could have done.
| Area | Description |
|---|---|
| Endpoint inventory | We turned the DATEV API documentation into a capability matrix and a prioritised tool list, so we wrapped what the firm needs first instead of wrapping endpoints at random. |
| Client & master data | The tools the team uses daily. |
| Documents & postings | DMS document lookup and accounting data reads, with pagination and error handling. |
| Tenant isolation | Fail closed firm resolution. |
| On premise relay agent | A .NET 8 Windows service that polls for work and runs an allowlisted set of DATEV commands. Shipped as a WiX MSI, code signed, and upgrades preserve the existing config. |
| Sync backend | Tenant auth, heartbeats and a command orchestrator with retries and a dead letter queue. Deletion log and absence alerts catches the case where DATEV suddenly reports fewer records than yesterday. |
| Cached reads | The MCP serves from a cache with a pending overlay and a visible last_synced_at, so the team always knows how fresh the answer is. |
| Write path | Create only with note deduplication and acknowledgement id linking. Write intents pass a confirm gate and a schema check, then report back through job_status. |
| CRM handoff | Pipedrive to DATEV client handoff fires at the qualification threshold, so the CRM and the accounting system stop drifting apart. Benefit: CRM holds up to date mandate information and passes new mandates into DATEV without manual steps. |
| Compliance | AVV under Art. 28 GDPR plus an explicit §203 StGB commitment, settled before the pilot install. |
The DATEV tools are exposed to users based on their permissions. Only staff that is allowed to use DATEV in the first place has access to data they have permission for in DATEV.
Tech stack
- MCP server over the DATEV Connect API, exposed through the Kanzlei MCP alongside Pipedrive
- .NET 8 on premise relay agent
- Postgres for the sync cache
- Windows Server 2025 dev VM and CI runner, with a build, sign and MSI smoke test matrix
- xUnit for the agent suite, plus a fake DATEVconnect harness for full loop end to end tests
- Pipedrive as the source of the qualification trigger that creates the DATEV client
Recently touched
- 2026-09-25 M5 — On-prem relay agent (.NET 8, MSI, signed) Open
- 2026-09-25 Agent setup check: DATEV test times out on a real Kanzlei — name the failing endpoint, log it, bypass proxy Review
- 2026-09-25 Schauer tenant on VNet variant 1: delegated subnet, private endpoints, public access off, NAT egress IP In Progress
- 2026-09-24 Pagination, error handling & tests vs. Dr. Schauer env In Progress
- 2026-09-24 Invoice sync: DATEV EO comfort invoices + PDFs → Pipedrive Open
Other projects in this case study
CRM
The client-acquisition process of a German tax and advisory firm, rebuilt in Pipedrive. The Neumandatsprozess starts with a qualification form and ends with an onboarded client, and every step in…
Read case studyWhat we built
- Qualification form
- Classification routing
- Pipedrive structure
- Reception path
- Telephony
- Inbound sync
Kanzlei MCP
Ask in Outlook, get the mandate, the last meeting and the open tasks. No new app to learn, no DATEV screens to click through. Kanzlei Dr. Schauer is a German tax and advisory firm where only…
Read case studyWhat we built
- Tool surface
- Inbound sync
- Alerting
- Meeting notes
- Playbooks