> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# DATEV

> Upload receipts and invoices to DATEV Unternehmen online (Belege online) and look up accessible clients via the DATEV accounting:documents API

## At a glance

* **Availability**: Experimental ([how to enable](/cloud/integrations)).
* **Auth**: OAuth 2.0.
* **Connection**: A user authorizes the connection in the provider's consent screen.
* **Scopes**: `openid`.
* **Docs**: [https://developer.datev.de/en/](https://developer.datev.de/en/)

## Credentials

Set these per environment. See [Connect an integration](/cloud/integrations).

With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.

| Variable              | Required | Description                                                                              |
| --------------------- | -------- | ---------------------------------------------------------------------------------------- |
| `DATEV_CLIENT_ID`     | Yes      | OAuth client ID of your registered DATEV app [Docs](https://developer.datev.de/en/).     |
| `DATEV_CLIENT_SECRET` | Yes      | OAuth client secret of your registered DATEV app [Docs](https://developer.datev.de/en/). |

## Setup

1. **Register in the DATEV Developer Portal**: Create an account at [https://developer.datev.de](https://developer.datev.de) and register as a developer. DATEV API access is gated through their developer/partner program: browse the API catalog under 'Products', request access to the 'accounting:documents' API, and accept the DATEV interface agreement. DATEV reviews the request before granting credentials.
2. **Create an app and get OAuth credentials**: In the Developer Portal, create an app for the accounting:documents API. Register your redirect URI (your deployment URL + /oauth/callback/datev) and note the client ID and client secret. Set them as DATEV\_CLIENT\_ID and DATEV\_CLIENT\_SECRET. The API entitlements (which DATEV APIs your app may call) are bound to the app registration rather than to free-form OAuth scopes.
3. **Test against the DATEV sandbox**: The Developer Portal provides a sandbox environment with demo clients. The sandbox uses separate endpoints: authorization at [https://login.datev.de/openidsandbox/authorize](https://login.datev.de/openidsandbox/authorize), tokens at [https://sandbox-api.datev.de/token](https://sandbox-api.datev.de/token), and the documents API at [https://accounting-documents.api.datev.de/platform-sandbox/v2](https://accounting-documents.api.datev.de/platform-sandbox/v2). Sandbox access is granted with your developer registration, so you can develop without a production DATEV account.
4. **Go live**: Production use requires a completed DATEV go-live/approval process and an end user with DATEV Unternehmen online plus a DATEV login (DATEV SmartLogin or SmartCard). The end user authorizes your app via the OAuth consent flow; tokens are then issued for their DATEV clients.

* DATEV's OAuth endpoints follow OpenID Connect; the discovery document is at [https://login.datev.de/openid/.well-known/openid-configuration](https://login.datev.de/openid/.well-known/openid-configuration). The token endpoint expects HTTP Basic client authentication and PKCE (S256) is supported.
* Most DATEV accounting interfaces (e.g. accounting:extf-files / Buchungsdatenservice) are XML/batch oriented and exchange EXTF format files rather than JSON. This connector deliberately covers only the small JSON/multipart REST surface of the accounting:documents API (client lookup, document types, document upload).
* DATEV access tokens are short-lived; refresh tokens are issued and the session is bound to the DATEV user's login. Re-authorization is required when the refresh token expires.
* The full accounting:documents API reference is only visible after logging in to the DATEV Developer Portal.

Provider API reference: [https://developer.datev.de/en/](https://developer.datev.de/en/)

## Tools

| Tool                | Access | Description                                                                                                                                                         |
| ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| List Clients        | Read   | List the DATEV clients (Mandanten) the connected user may upload documents for, including each client's ID needed by the other tools                                |
| List Document Types | Read   | List the document types (e.g. incoming invoices, outgoing invoices, cash receipts) available in Belege online for a specific DATEV client, used to classify uploads |
| Upload Document     | Write  | Upload a receipt or invoice file to DATEV Unternehmen online (Belege online) for a client so the tax advisor can process it for bookkeeping                         |

## Example prompts

* Upload this receipt to DATEV Unternehmen online for the right client so my tax advisor can book it.
* Show me the DATEV clients I can upload documents for.
