DATEV and Monday.com integration
DATEV is the accounting backend for German and Austrian businesses, and Monday.com is the work operating system where teams approve invoices and onboard vendors on boards. This connection takes the items your team has reviewed and signed off in Monday.com and turns them into real entries in DATEV, uploading the invoice document to DATEV Unternehmen Online and submitting the booking data as a file job. ml-connector handles the very different APIs on each side, the OAuth login the tax advisor must grant, and the asynchronous polling DATEV requires. Because Monday.com has no native general ledger and DATEV will not let bookings be read back, the flow is one direction into accounting, with job status returned to the board.
What moves between them
The flow runs from Monday.com into DATEV. ml-connector reads items from the finance boards you nominate, typically invoice rows that have reached an approved status, and submits each one to DATEV: the attached invoice PDF goes to DATEV Unternehmen Online as a document, and the booking data goes in as an EXTF CSV job to DATEV Rechnungswesen or a DXSO XML job to DUO. The DATEV client list flows the other way as reference data, so each Monday.com board can be tied to the correct DATEV client. Bookings cannot be read back out of DATEV and Monday.com holds no ledger, so ml-connector never writes posted journal entries back to the board; it writes only the job status. Cadence is a scheduled poll of the boards, optionally triggered sooner by a Monday.com webhook when an item reaches the approved state.
How ml-connector handles it
ml-connector stores both credential sets encrypted. On the Monday.com side it sends the personal API token as the raw Authorization header with no Bearer prefix, or refreshes nothing because OAuth tokens there do not expire, and it pages items with the cursor returned by items_page, restarting the pass if a cursor expires. On the DATEV side it runs the OAuth Authorization Code with PKCE flow the tax advisor consents to, keeps a 20-plus character state value, and refreshes the 900-second access token using client_id only. Each approved Monday.com item is mapped from its columns to the DATEV fields a booking needs: a numbers column to the amount, a status column to the debit or credit indicator, dropdown columns to the DATEV account, cost center, and tax code, since DATEV will not hand back its chart of accounts and those values must be configured in advance. Because document types in DATEV are client-specific, ml-connector fetches the document-types list before any upload rather than hardcoding a type. EXTF files are written as UTF-8 with precomposed characters and deterministic filenames, so a retry re-sends the same file and DATEV rejects the duplicate instead of double-posting; DXSO jobs are tracked by job ID locally. After submission ml-connector polls the DATEV job endpoint with exponential backoff and jitter, writes complete or failed back onto the Monday.com item, and can replay any submission whose downstream call fails. A real edge case: Monday.com basic webhooks carry no signature, so the connector treats a push only as a trigger to re-read the board and never as the booking source.
A real-world example
A 200-person German engineering services firm runs DATEV through its tax advisor for all statutory accounting and uses Monday.com as the day-to-day hub where department heads code and approve incoming supplier invoices on a shared board. Before the integration, an accounts clerk watched the board, then re-typed each approved invoice into DATEV and uploaded the PDF by hand, which meant invoices sat for days, account and cost center codes were sometimes mistyped, and the team had no record on the board of what had actually been booked. With DATEV and Monday.com connected, an invoice that reaches the approved status is picked up on the next poll, its PDF lands in DATEV Unternehmen Online, the booking goes in as a file job against the cost center the approver chose, and the job result is written back onto the item. The clerk stops re-keying, the coding errors fall away, and every row shows whether its booking succeeded.
What you can do
- Submit approved Monday.com invoice items to DATEV as document uploads to DATEV Unternehmen Online plus EXTF or DXSO booking jobs.
- Map Monday.com board columns to DATEV account, cost center, and tax code so each booking lands on valid values.
- Bridge the Monday.com personal token and the DATEV OAuth login the tax advisor grants, refreshing the short-lived DATEV token automatically.
- Poll each asynchronous DATEV job to completion and write the complete or failed status back onto the Monday.com item.
- Use deterministic EXTF filenames and local job tracking so a retried submission is deduplicated rather than double-posted.
Questions
- Which direction does data move between DATEV and Monday.com?
- The flow is Monday.com into DATEV. Approved items from your Monday.com finance boards are submitted to DATEV as a document upload plus an EXTF or DXSO booking job, while the DATEV client list flows back as reference data. DATEV bookings cannot be read out through the API and Monday.com has no ledger, so ml-connector writes only the job status back to the board, never posted journal entries.
- How does the integration handle DATEV's asynchronous bookings and lack of webhooks?
- DATEV processes booking files as jobs rather than confirming them synchronously, and it sends no outbound webhooks. After submitting an EXTF or DXSO job, ml-connector polls the DATEV job status endpoint with exponential backoff and jitter until it reports complete or failed, then records that result on the Monday.com item. Monday.com items are read on a schedule, and a Monday.com webhook can trigger an earlier poll when an item reaches the approved state.
- Monday.com has no invoice or GL objects, so how does the mapping work?
- Monday.com stores finance data as items with typed columns on a board, not as native invoices or accounts, so the connector is configured with your board and column IDs. Each column is mapped to the DATEV field a booking needs, such as a numbers column to the amount and dropdown columns to the account, cost center, and tax code. DATEV does not return its chart of accounts through the API, so those account and cost center values are set in the mapping in advance.
Related integrations
More DATEV integrations
Other systems that connect to Monday.com
Connect DATEV and Monday.com
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started