Use Cases

DATEV Automation: Accounting Workflows with Make.com and n8n

How to automate DATEV workflows for invoices, receipts and bookings.

16 min read

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:

  • DATEV Unternehmen Online - Web portal with upload capabilities
  • DATEV Interfaces - Standardized formats (DATEV CSV, XML)
  • DATEVconnect - Partner API (for certified providers)
  • Middleware Solutions - GetMyInvoices, Candis, etc.
  • Automation Possibilities Overview

    ProcessAutomatable?Method
    Upload receiptsYesDATEV Unternehmen Online
    Capture invoicesYesOCR + DATEV format
    Booking suggestionsYesAI-based
    Master data syncPartialDATEV export/import
    PayrollLimitedVia HR systems
    Annual statementsNoManual 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 Trigger
    Node: 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:

    ProviderFunctionIntegration
    GetMyInvoicesCollect receipts, OCRAPI available
    CandisReceipt capture, approvalWebhook + API
    SpendeskExpense managementAPI + DATEV export
    finwayInvoice managementDATEV interface
    n8n Workflow with GetMyInvoices:
    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 -> Settings -> Integrations -> DATEV
  • Configure automatic export
  • Accountant receives data in DATEV format
  • Option B: Custom Workflow (n8n/Make)
    Personio (Master data change)
    

    |

    Transform data

    (DATEV format)

    |

    Create CSV/XML

    |

    Upload to DATEV Unternehmen Online

    (or email to accountant)

    n8n Nodes:
  • Personio -> Watch Employees
  • Code -> Create DATEV LODAS format
  • FTP/SFTP -> Upload to accountant
  • 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 Bookings
  • Trigger: Shopify -> New Order
  • Transform: Data to DATEV format
  • Store: Google Sheets (as intermediate storage)
  • Scheduled: Daily at 8 PM -> Create DATEV CSV -> Upload
  • Scenario 2: Batch Processing
    Schedule 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

    FieldValueExplanation
    Amount119.00Gross amount
    Debit/CreditDDebit entry
    Debit Account1200Bank
    Credit Account8400Revenue 19%
    Tax Key3Automatic VAT
    Document Date15.01.2024Invoice date
    Document Field 1INV-2024-001Invoice number
    Booking TextShopify OrderDescription

    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

    AI Categorization:
    // 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:
    FieldDescriptionRequired
    AmountAmount with commaYes
    Debit/CreditD or CYes
    AccountDebit accountYes
    Counter AccountCredit accountYes
    Tax KeyTax codeNo
    Document DateDDMM or DDMMYYYes
    Document Field 1Document numberYes

    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

  • Month 1: Receipt capture only
  • Month 2: + Booking suggestions
  • Month 3: + Automatic booking
  • Costs and ROI

    Typical Costs

    ComponentCost/Month
    n8n/Make.com50-120 EUR
    OCR Service (GetMyInvoices)30-100 EUR
    Setup (one-time)2,000-8,000 EUR

    Typical Savings

    ProcessManualAutomatedSavings
    Receipt capture (200 receipts)20h2h18h
    Bank transactions (500 bookings)10h1h9h
    Payroll master data5h0.5h4.5h
    Total/Month35h3.5h31.5h
    At 50 EUR/hour = 1,575 EUR/month in savings

    Conclusion

    DATEV automation is possible - even without an official API. The key lies in:

  • Right Interfaces: DATEV formats, middleware, Unternehmen Online
  • Gradual Approach: Start small, then expand
  • Accountant Involvement: Define processes together
  • Next Steps

  • Analysis: Which DATEV processes are most time-consuming?
  • Pilot Project: Automate one workflow (e.g., receipt capture)
  • Scaling: Connect additional processes
  • We support you with DATEV automation - from concept to implementation.

    Questions About Automation?

    Our experts will help you make the right decisions for your business.