Before getting started, ensure that your customers have the following services enabled in their DATEV account

  • Buchungsdatenservice
1

Authorize end user

Your end user must first authorize your application to access their data in DATEV Rechnungswesen through maesn Connect.

2

Get user info (optional)

Fetch the user info associated to your end users’s DATEV account using the GET /user-info endpoint. Display the retrieved information in your application’s UI as required by DATEV (see last step).

3

Get companies

Fetch all the companies associated to your end users’s DATEV account using the GET /companies endpoint. The user will need to select a company to proceed, as the company ID will be needed for subsequent steps.

4

Decide your path

At this point, decide whether your use case requires

  • Create or update individual contacts : proceed with Individual contacts.
  • Create or update a miscellaneous account : proceed with Miscellaneous account.
5

Check status

Check the status of the contacts batch using the GET /asyncTask endpoint. This will allow you to verify if the batch was successfully processed by DATEV.

6

Check DATEV general requirements

Review the DATEV interface requirements to ensure that your application complies with DATEV’s specifications.

Optional:

1

Delete end user

If your user deletes their account, you may delete the end user from our API and revoke their token using the the POST /delete-end-users. This step ensures both actions are handled on the backend.

Individual contacts

It is possible to create individual contacts in DATEV Rechnungswesen, which are typically used for specific customers, suppliers, or other business partners. Each contact is identified by a unique accountNumber, which is essential for managing and referencing these contacts within the DATEV system.

Debtor account numbers are usually assigned in the range from 10000 to 69999. Creditor account numbers, on the other hand, lie in the range from 70000 to 99999.

To create or update individual contacts, use the POST /batch/contacts endpoint. This endpoint allows you to create new contacts or update existing ones by providing the necessary details.

  • To create individual contacts, each contact entry in the JSON request must have a unique dedicated accountNumber (e.g. 10000, 10001, 70000, 70001 etc.). If a contact with the provided accountNumber already exists, it will be updated automatically.
  • To update existing contacts, provide the accountNumber field for each contact in the list with the account number of the contacts you want to update. If a contact with the specified accountNumber does not exist, a new contact will be created.

Miscellaneous account

DATEV allows the creation of miscellaneous accounts (“Diverse Addressen” in DATEV) to group and manage business partners who do not have individual account numbers. This approach is useful for managing one-time customers or suppliers — for example, when issuing an invoice to a partner with whom there is unlikely to be future collaboration.

Instead of creating a new account for each of these partners, all their transactions can be posted to a shared miscellaneous account, thereby simplifying bookkeeping.

IMPORTANT: To create and use a miscellaneous account, the end user must first activate OPOS (Offene-Posten-Buchführung) in their DATEV client. This enables open item accounting, which is required for tracking individual transactions under shared miscellaneous accounts.

To create a miscellaneous account, use the POST /batch/contacts endpoint.

  • To create a miscellaneous account, all contact entries in the JSON request must share the same dedicated accountNumber, indicating they belong to the new shared account. (e.g. 20000). If a shared account associated to the provided accountNumber already exists, the new contacts are added to it.
  • The update function is not directly applicable to miscellaneous accounts, as they are designed to group multiple contacts under a single account number. However, it is possible to add new contacts to an existing miscellaneous account.