Key Takeaways
DATEV API Authentication & Data Access Limitations
Before retrieving or sending data, authentication is required. DATEV API supports multiple authentication methods, such as:
- OAuth-based authentication (common in modern APIs).
- Certificate-based authentication (complex and requiring setup).
However, data retrieval is extremely limited within DATEV's API. The table below explains this. As you can see:
- No endpoint exists for fetching account numbers.
- Even account names are only available for user-created cash ledgers.
This means that a full list of accounts (including standard ones) cannot be retrieved—a major limitation for automation.
Understanding DATEV API File Formats: CSV vs. XML
A common misconception is that developers can choose between CSV and XML for DATEV integration. This is not the case.
- XML is for sending booking suggestions to DATEV Unternehmen Online (DUo).
- CSV is for sending finalized bookings to DATEV Rechnungswesen (ReWe).
If you are working with DATEV Unternehmen Online, you must use XML. If you are working with DATEV Rechnungswesen, you must use CSV.
Extra Tipps on DATEV API file formats
- CSV files cannot be validated before upload, making debugging extremely difficult.
- XML files require strict schema validation, which is complex and time-consuming.
- Both file types must be uploaded via batch job processing (extf for CSV, dxso for XML), a non-intuitive process.
Batch Processing in DATEV API: dxso-Jobs and EXTF-Jobs
When integrating with DATEV API, data cannot be submitted through simple REST API calls. Instead, DATEV relies on batch processing mechanisms, which require job creation, execution, and monitoring. This adds significant complexity to the integration process.
What Are dxso-Jobs and EXTF-Jobs?
dxso-Jobs: Processing XML Files
- Purpose: Used for processing XML-based booking suggestions in DATEV Unternehmen Online.
- Process:
- Create a dxso-job with the XML file.
- Start the job in DATEV's system.
- Poll for status updates until processing is complete.
- Retrieve and evaluate the results, checking for errors.
EXTF-Jobs: Processing CSV Files
- Purpose: Used for processing CSV-based bookings in DATEV Rechnungswesen.
- Process:
- Create an EXTF-job and upload the CSV file.
- Start the job and wait for DATEV to process the data.
- Poll for the job status to see if it has completed.
- Retrieve processing results and check for any validation errors.
Why Batch Processing Makes DATEV API Integration Difficult
Unlike modern APIs that use stateless REST calls, DATEV’s batch processing system requires a structured workflow:
Challenges Developers Face
- Asynchronous Processing: Since batch jobs are processed in the background, there is no immediate response. Developers must continuously poll the job status to check for completion.
- Multiple Steps Required: Each batch job must be created, started, monitored, and evaluated separately, requiring additional logic and handling.
- Difficult Debugging: If an error occurs, developers must retrieve and analyze job logs manually, rather than receiving immediate API error messages.
Steps to Post Booking Suggestions (Cash Ledger) Using DATEV API
DATEV’s API requires a multi-step process to post financial data into the cash ledger.
Step-by-Step Process Using DATEV API
- Retrieve Company ID (ClientID)
- Fetch a list of all Company IDs and select one.
- Retrieve Accounts (Limited Availability)
- Only cash ledgers created by the user can be retrieved—no full account lists are available.
- Verify Posting Rights
- Ensure that the selected Company ID has the correct permissions.
- Check Posting Period
- Validate that bookings can be posted for the selected year and month.
- Generate the XML File (if using Unternehmen Online)
- Must contain expense data, account names, and all required fields.
- Validate XML Against DATEV’s XSD Schemas
- Ensures compliance with DATEV’s data structure requirements.
- Upload the XML File via dxso-job
- Submit the validated XML to DATEV’s processing system.
- Generate & Validate document.xml (if attaching files)
- This file contains metadata about uploaded files and must also be validated.
- Upload document.xml
- Submit metadata to DATEV.
- Start Processing
- The batch job is triggered once all files are correctly uploaded.
- Periodically check the status of the job
- The job must finish processing before the result of each individual booking suggestion is available.
- Evaluate job results
- Once the status indicates that the job has completed, either successfully, partially successful or failed, feedback can be given to the end user with the appropriate call to action
Problems with This Approach
- Manually generating and validating XML files is extremely tedious.
- Submitting data via batch jobs is counter-intuitive and difficult to debug.
- If any validation fails, the entire process must be restarted.
A Unified API Provider: No CSV, No XML, No Batch Jobs—Just JSON
A unified API provider eliminates these complexities by allowing businesses to submit data using JSON and standard REST API calls—without dealing with DATEV’s rigid file formats and batch job processing.
Step-by-Step Process Using a Unified API
- Retrieve Company ID (ClientID)
- Get a list of Company IDs and select one.
- Retrieve Accounts (Same Limitations as DATEV API)
- A unified API provider cannot offer more account details than DATEV but does provide an easier way to access them.
- Create Expenses in One Step
- Use the Create Expenses Endpoint, sending:
- Selected Company ID
- Chosen Account
- All required financial data
- (Optional) Attach supporting files
- Use the Create Expenses Endpoint, sending:
Key Benefits of a Unified API Provider
Why a Unified API Provider is the Better Choice
→ No more XML validation pain—just send JSON like any other modern API.
→ No more un-debuggable CSV files—all data is structured and validated automatically.
→ No more batch job processing—just use normal REST API calls.
Conclusion
Working with DATEV API requires using either CSV or XML, depending on the use case. Developers cannot choose between them—they must follow DATEV’s strict format requirements.
However, by using a unified API provider, businesses can:
- Skip CSV and XML entirely.
- Submit data via JSON.
- Eliminate the need for batch jobs.
A unified API provider is the clear winner for businesses looking to simplify their DATEV integration.
Would you like to explore how a unified API can optimize your accounting workflows? Let’s discuss how to make your integration seamless.




