This document describes the configuration options that DATEV customers (Mandanten) can adjust, and how they affect data transfer via the Rechnungsdatenservice 1.0 and Maesn API.
Understanding these options is critical for validation and error handling when sending booking proposals to DATEV.
The most important configuration that varies per client.
| Setting | Range | Description |
|---|---|---|
| Sachkontenlänge (G/L accounts) | 4-8 digits | Customer configures the length of G/L account numbers |
| Personenkontenlänge (Business partner accounts) | 5-9 digits | Always Sachkontenlänge + 1 |
accountNo must have exactly account_length digitsbpAccountNo must have exactly account_length + 1 digitsSee com.getorcha.schema.integration.datev:
AccountNumber schema (lines 495-499)BusinessPartnerAccountNumber schema (lines 502-506)validate-account-length helper (lines 1012-1019)make-account-number-schema for dynamic validation (lines 1029-1037)Number ranges are fixed by DATEV based on the first digit.
| Account Type | 5-digit Range | 6-digit Range | 7-digit Range |
|---|---|---|---|
| Debitoren (Customers) | 10000-69999 | 100000-699999 | 1000000-6999999 |
| Kreditoren (Suppliers) | 70000-99999 | 700000-999999 | 7000000-9999999 |
Customers can configure fiscal years that differ from the calendar year.
| Parameter | Format | Description |
|---|---|---|
| Wirtschaftsjahresbeginn | DDMM | Start of fiscal year (e.g., 0104 for April 1st) |
| Wirtschaftsjahresende | DDMM | End of fiscal year |
| Rumpfwirtschaftsjahr | Variable | Short fiscal year (<12 months) for business transitions |
fiscal_year_beginfiscal_year_endDATEV provides standard charts that customers can customize.
| SKR | Description | Structure | Typical Use |
|---|---|---|---|
| SKR03 | Process-oriented (Prozessgliederung) | Organized by business processes | Most common for SMEs |
| SKR04 | Balance sheet-oriented (Bilanzgliederung) | Aligned with annual statements | Growing adoption |
| Industry-specific | Pharmacies, schools, etc. | DATEV-provided variants | Specialized businesses |
Ledger names can be customized by customers.
| Default Name | English | Customizable |
|---|---|---|
| Rechnungseingang | Accounts Payable Ledger | Yes |
| Rechnungsausgang | Accounts Receivable Ledger | Yes |
| Kassenbuch | Cash Ledger | Yes |
ledger_folder_names via API before transferledgerName field accepts: "Rechnungseingang" or "Rechnungsausgang"is_accounts_payable_ledger_available - Must be true for AP datais_accounts_receivable_ledger_available - Must be true for AR dataledgers - List of enabled ledgers for the fiscal yearTax codes control VAT calculation and reporting.
| Range | Description |
|---|---|
| 0-9999 | Valid BU-Schlüssel range |
| Code | Description |
|---|---|
| 9 | 19% Umsatzsteuer (standard VAT on sales) |
| 8 | 7% Umsatzsteuer (reduced VAT on sales) |
| 40 | 19% Vorsteuer (standard VAT on purchases) |
| 48 | Skonto with 19% Vorsteuer |
| 19 | Skonto with 19% Umsatzsteuer |
Customers configure their own cost accounting structure.
| Field | Purpose | Max Length |
|---|---|---|
| KOST1 | Primary cost allocation | 36 characters |
| KOST2 | Secondary cost allocation | 36 characters |
| KOST-Systeme | Named cost systems | Up to 9 systems |
KOST1 does not necessarily mean Kostenstellen (cost centers), and KOST2 does not necessarily mean Kostenträger (cost objects). Customers decide the semantics.
costCategoryId maps to KOST1costCategoryId2 maps to KOST2Payment terms are customer-defined.
| Parameter | Range | Description |
|---|---|---|
| paymentConditionsId | 9-999 | Customer-defined payment term ID |
The processing mode determines available features.
| Mode | Description | API Support |
|---|---|---|
| Basis | Basic document storage | Limited |
| Erweitert (Extended) | Full accounting integration | Required for RDS 1.0 |
basic_accounting_information must not be null for Extended modeEach DATEV client is separately configured and authenticated.
| Parameter | Range | Description |
|---|---|---|
| Beraternummer (Consultant number) | 1000-9999999 | Assigned by DATEV, identifies the tax advisor |
| Mandantennummer (Client number) | 0-99999 | Unique per consultant, identifies the company |
For testing with DATEV sandbox:
Before sending data to DATEV, validate:
| Check | API Field | Validation |
|---|---|---|
| Account length | account_length |
4-8 digits |
| G/L account format | accountNo |
Must match account_length |
| BP account format | bpAccountNo |
Must equal account_length + 1 |
| AP ledger available | is_accounts_payable_ledger_available |
Must be true for incoming invoices |
| AR ledger available | is_accounts_receivable_ledger_available |
Must be true for outgoing invoices |
| Extended mode | basic_accounting_information |
Must not be null |
| Fiscal year exists | fiscal_year_* |
Target year must be configured |
| Ledger enabled | ledgers |
Target ledger must be in list |
When using Maesn API for DATEV integration:
{
"number": "INV-2024-001",
"ledgerName": "Rechnungseingang",
"totalGrossAmount": 119.00,
"lineItems": [
{
"description": "Office supplies",
"totalGrossAmount": 119.00,
"taxRatePercentage": 19.00,
"accountNumber": "4930",
"dimension1": "KOST001"
}
]
}
| Value | Description |
|---|---|
"Rechnungseingang" |
Incoming invoices (AP) |
"Rechnungsausgang" |
Outgoing invoices (AR) |
datev-uo: Standard authentication with short-term tokensdatev-uo-longtoken: Extended authentication valid for 2 yearssrc/com/getorcha/schema/integration/datev.clj - DATEV field validation schemas