DATEV Automation: Accounting Workflows with Make.com and n8n
How to automate DATEV workflows for invoices, receipts and bookings.
DATEV is the backbone of German accounting. Over 2.5 million businesses use DATEV software. Yet many processes around DATEV still run manually: receipts are sent by email, data is transferred by hand, and invoices are captured one by one. In this guide, we'll show you how to automate DATEV processes.
The Challenge: DATEV and Automation
The Problem:DATEV is a closed system. There's no public REST API like modern SaaS tools offer. This makes direct integrations difficult.
The Solution:There are several ways to automate DATEV nonetheless:
Automation Possibilities Overview
| Process | Automatable? | Method |
|---|---|---|
| Upload receipts | Yes | DATEV Unternehmen Online |
| Capture invoices | Yes | OCR + DATEV format |
| Booking suggestions | Yes | AI-based |
| Master data sync | Partial | DATEV export/import |
| Payroll | Limited | Via HR systems |
| Annual statements | No | Manual with accountant |
Workflow 1: Automatic Receipt Capture
The Goal
Automatically capture incoming invoices and transfer them to DATEV.
The Workflow
Email with invoice
|
OCR Extraction
(GetMyInvoices/Candis)
|
AI Categorization
|
Create DATEV format
|
Upload DATEV Unternehmen Online
|
Notify accountant
Implementation with n8n
Step 1: Email TriggerNode: IMAP Email Trigger
- Mailbox: invoices@company.com
- Attachments: download
Step 2: OCR Processing
Node: HTTP Request
- URL: GetMyInvoices or Mindee API
- Method: POST
- Body: PDF attachment
Step 3: Validate Data
Node: IF
- Condition: Required fields present?
- Yes: continue
- No: send for manual review
Step 4: Create DATEV Format
Node: Code (JavaScript)
// Create DATEV CSV line
const datevLine = {
amount: item.amount,
debitCredit: 'D',
debitAccount: item.costCenter || '4400',
creditAccount: item.creditor || '70000',
documentDate: formatDate(item.date),
documentField1: item.invoiceNumber,
bookingText: item.vendor
};
return datevLine;
Step 5: Upload
Node: HTTP Request
- DATEV Unternehmen Online API
- Or: Google Drive/Dropbox as intermediate storage
Alternative: Use Middleware
Instead of building yourself, you can integrate middleware solutions:
| Provider | Function | Integration |
|---|---|---|
| GetMyInvoices | Collect receipts, OCR | API available |
| Candis | Receipt capture, approval | Webhook + API |
| Spendesk | Expense management | API + DATEV export |
| finway | Invoice management | DATEV interface |
GetMyInvoices Webhook (new invoice)
|
Fetch data
|
Create booking suggestion
|
Slack: Request approval
|
On approval: DATEV export
Workflow 2: Personio to DATEV Payroll
The Goal
Automatically transfer personnel master data and changes to DATEV LODAS.
The Challenge
DATEV LODAS (payroll) has no direct API. The path goes through:
- DATEV personnel master data format
- DATEV Unternehmen Online upload
- Or: DATEV-certified HR software
Implementation
Option A: Direct Integration (Personio DATEV Connector)Personio offers a native DATEV export:
Personio (Master data change)
|
Transform data
(DATEV format)
|
Create CSV/XML
|
Upload to DATEV Unternehmen Online
(or email to accountant)
n8n Nodes:
DATEV LODAS Export Format
"EmployeeNumber";"LastName";"FirstName";"StartDate";"EndDate";"TaxClass"
"001";"Smith";"John";"01.01.2024";"";"1"
"002";"Johnson";"Anna";"15.03.2024";"";"4"
Workflow 3: Shopify/WooCommerce to DATEV
The Goal
Automatically capture e-commerce transactions for accounting.
The Workflow
Shopify (New order)
|
Extract invoice data
|
Create DATEV booking entry
|
Collect daily batch
|
Evening: DATEV export
Implementation with Make.com
Scenario 1: Individual BookingsSchedule Trigger (daily 8 PM)
|
Shopify: Get Orders (today)
|
Iterator: For each order
|
Create DATEV line
|
Aggregator: Collect all lines
|
Create CSV
|
Email to accountant
DATEV Booking Entry for E-Commerce
| Field | Value | Explanation |
|---|---|---|
| Amount | 119.00 | Gross amount |
| Debit/Credit | D | Debit entry |
| Debit Account | 1200 | Bank |
| Credit Account | 8400 | Revenue 19% |
| Tax Key | 3 | Automatic VAT |
| Document Date | 15.01.2024 | Invoice date |
| Document Field 1 | INV-2024-001 | Invoice number |
| Booking Text | Shopify Order | Description |
Workflow 4: Automatically Categorize Bank Transactions
The Goal
Automatically assign bank transactions to booking accounts.
The Workflow
Bank API (new transactions)
|
AI categorization
(based on reference)
|
Create booking suggestion
|
Submit for approval
|
DATEV export
Implementation with n8n
Bank Integration:- finAPI (aggregator for German banks)
- Or: CSV import from bank
// Use OpenAI for categorization
const prompt =
Categorize this bank transaction:
Amount: ${item.amount} EUR
Reference: ${item.reference}
Recipient: ${item.creditor}
Possible categories:
- 4400 Office supplies
- 4500 Vehicle costs
- 4600 Advertising costs
- 4900 Other costs
Reply only with the account number.
;
Understanding DATEV Formats
DATEV CSV (Booking Batch)
The standard format for bookings:
"Amount";"Debit/Credit";"Account";"Counter Account";"Tax Key";"Document Date";"Document Field 1";"Booking Text"
119.00;"D";1200;8400;3;"1501";"RE-001";"Product sale"
Important Fields:
| Field | Description | Required |
|---|---|---|
| Amount | Amount with comma | Yes |
| Debit/Credit | D or C | Yes |
| Account | Debit account | Yes |
| Counter Account | Credit account | Yes |
| Tax Key | Tax code | No |
| Document Date | DDMM or DDMMYY | Yes |
| Document Field 1 | Document number | Yes |
DATEV XML (ASCII)
For more complex data (with header):
<?xml version="1.0" encoding="utf-8"?>
<LedgerImport>
<Header>
<DataCategory>21</DataCategory>
<FormatName>BookingBatch</FormatName>
</Header>
<Document>
<!-- Bookings -->
</Document>
</LedgerImport>
Best Practices for DATEV Automation
1. Involve Your Accountant
- Coordinate on chart of accounts
- Define validation rules
- Test phase with feedback
2. Error Handling
- Flag unclear bookings for review
- Daily report on issues
- Quarantine for faulty receipts
3. Consider Compliance
- GoBD-compliant archiving (German regulations)
- Immutability after booking
- Audit-proof logging
4. Introduce Gradually
Costs and ROI
Typical Costs
| Component | Cost/Month |
|---|---|
| n8n/Make.com | 50-120 EUR |
| OCR Service (GetMyInvoices) | 30-100 EUR |
| Setup (one-time) | 2,000-8,000 EUR |
Typical Savings
| Process | Manual | Automated | Savings |
|---|---|---|---|
| Receipt capture (200 receipts) | 20h | 2h | 18h |
| Bank transactions (500 bookings) | 10h | 1h | 9h |
| Payroll master data | 5h | 0.5h | 4.5h |
| Total/Month | 35h | 3.5h | 31.5h |
Conclusion
DATEV automation is possible - even without an official API. The key lies in:
Next Steps
We support you with DATEV automation - from concept to implementation.