DATEV and Anaplan integration
DATEV runs accounting and tax filing for German businesses. Anaplan runs the budgeting, forecasting, and workforce planning that sets the numbers. Connecting the two lets approved plan and budget figures from Anaplan flow into DATEV as bookings without re-keying. ml-connector exports the agreed values from Anaplan, formats them as DATEV EXTF or DXSO booking files, and submits them into DATEV Rechnungswesen or DATEV Unternehmen Online on a schedule you control. Because both systems are pull-only, the connector drives every step by polling rather than waiting for a push.
What moves between them
The main flow runs from Anaplan into DATEV. ml-connector runs an Anaplan export action to pull approved budget, forecast, and actual planning values, then writes them into DATEV as an EXTF booking batch for Rechnungswesen or a DXSO booking suggestion for Unternehmen Online, mapped to the correct DATEV accounts and cost centers. Reference data such as cost centers and accounts is aligned so each booking line lands on a valid DATEV dimension. The cadence follows your planning cycle, typically after each budget approval or month-end close. DATEV finalized bookings are write-only and its chart of accounts is not readable, so ml-connector does not read posted journals back into Anaplan.
How ml-connector handles it
ml-connector stores both credential sets encrypted. For DATEV it completes the OAuth2 Authorization Code with PKCE login, refreshes the 15-minute access token with the client ID only, and sends the X-DATEV-Client-Id header on every call. For Anaplan it holds the Basic auth or OAuth2 token and refreshes it before the 35-minute expiry. It maps Anaplan list members to DATEV accounts and cost centers up front, because DATEV does not expose its chart of accounts and the EXTF format demands valid account numbers. EXTF files are written as UTF-8 with precomposed characters and deterministic filenames so DATEV duplicate detection allows safe retries, and document uploads use the GUID-based PUT so they are idempotent. Because neither side pushes events and both bulk jobs are asynchronous, ml-connector polls the Anaplan export task and the DATEV import job to completion with exponential backoff. It serializes work against a single Anaplan model since a model locks during a task, and backs off on the Anaplan 600-per-minute rate limit. Every record carries a full audit trail and can be replayed if a step fails.
A real-world example
A mid-sized German manufacturer with around 300 staff runs its statutory accounting through a DATEV tax advisor and builds its annual budget and rolling forecast in Anaplan. Before the integration, the finance team approved the budget in Anaplan, exported it to a spreadsheet, and a bookkeeper keyed the opening budget and monthly accruals into DATEV by hand, reconciling cost center codes line by line. With DATEV and Anaplan connected, each approved plan version exports from Anaplan and posts into DATEV as a booking batch allocated to the right accounts and cost centers, so the ledger reflects the agreed plan without re-keying. The manual export-and-type step disappears and the planning numbers and the books stay in step.
What you can do
- Export approved budget, forecast, and actual figures from Anaplan and submit them into DATEV as EXTF or DXSO booking files.
- Map Anaplan list members to DATEV accounts and cost centers, since DATEV does not expose its chart of accounts through the API.
- Bridge the DATEV OAuth2 PKCE login session and Anaplan Basic or OAuth2 token, refreshing each before it expires.
- Drive the asynchronous Anaplan export task and DATEV import job by polling to completion, because neither system supports webhooks.
- Write retry-safe EXTF files with deterministic filenames and back off on Anaplan rate limits, with a full audit trail on every record.
Questions
- Which direction does data move between DATEV and Anaplan?
- The main flow is Anaplan into DATEV. Approved budget, forecast, and actual planning values are exported from Anaplan and submitted into DATEV as EXTF or DXSO booking files. DATEV finalized bookings are write-only and its chart of accounts is not readable through the API, so ml-connector does not read posted journal entries back into Anaplan.
- Does Anaplan hold invoices or GL accounts that can post to DATEV?
- No. Anaplan is a planning platform and has no native invoice, vendor, or GL account objects. Its data lives in a workspace and model as lists, modules, and line items, so ml-connector exports the planned values and maps them to valid DATEV accounts and cost centers when it builds the booking file.
- How does the integration handle that neither system supports webhooks?
- Both DATEV and Anaplan are pull-only, and their bulk jobs run asynchronously. ml-connector starts the Anaplan export action and the DATEV import job, receives a task or job ID for each, and polls the status endpoints with exponential backoff until they report complete. It serializes work against a single Anaplan model because the model locks while a task runs.
Related integrations
More DATEV integrations
Other systems that connect to Anaplan
Connect DATEV and Anaplan
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started