maesn

DATEV Unternehmen Online API Integration

DATEV Unternehmen Online is the platform DATEV users share their receipts and accounting data through, and the platform to share it further with DATEV Rechnungswesen. Connect DATEV via Maesn today and post data with the same REST API and the same data model as every other supported system.

Official DATEV Interface Partner
Official
DATEV Interface Partner
YOUR PRODUCT+26
Trusted by winning software teams
HubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicapHubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicap
Why it is fast

Documents land in Unternehmen Online, where the advisor works

Most systems on this site are a database your product reads and writes. Unternehmen Online is a delivery channel: your customer's documents go in, and their tax advisor takes them from there. Three things follow from that, and Maesn absorbs each one.

DATEV Unternehmen Online: The destination is someone else's desk

The advisor picks it up there

What you send lands in your customer's own Unternehmen Online environment, which is where their tax advisor already works. That replaces the export, the email and the manual upload, and it is the reason the integration is worth building at all.

DATEV Unternehmen Online: One product, two target systems

The long token, handled

DATEV issues a short token to list the companies and a long one, valid two years, to work with. Maesn runs both target systems behind one interface, so your code sees a single account key rather than a two-stage login it has to orchestrate.

DATEV Unternehmen Online: DATEV normally sells the setup

No consulting package to book

Client credentials, sandbox access and the approval of your integration run through Maesn on our interface partner status, so there is no consulting package to book with DATEV and nothing to pay before your first call. Becoming an interface partner in your own name later is a process we run with you, at DATEV's cost to you.

What reaches your code is a REST call and an account key. Teams go live in days, and the system after this one is a configuration step rather than a second project.

Unternehmen Online is one of two DATEV systems reachable through Maesn, and which one a use case needs is decided by direction rather than preference: documents go in here, bookings are recorded next door. The DATEV overview lays out the services, the partner status and the marketplace across both, so this page can stay on the one your customer actually uploads into.

A short call is usually enough to tell whether Maesn fits your use case.

Customer voice

HubSpot reaches DATEV without building for DATEV

HubSpot syncs customer data, invoices and payment reminders into the accounting systems its DACH customers run, DATEV among them, for hundreds of those customers, without building or maintaining a single one of those integrations in-house.

We integrate German accounting systems and rely on Maesn as a trusted enabler - ensuring seamless data flow, full compliance, stronger partnerships, and efficient, reliable financial processes that support our growth.
Aron Gosselin
Partnerships Manager, HubSpot
Why companies choose Maesn

Three reasons to reach the DATEV Unternehmen Online API through Maesn

With DATEV almost all of the work sits before the request: everything that has to be true for it to be allowed, and all of it German, approved and configured by someone who is not you.

01

The DATEV half stays here

The interface partner status, the OAuth client, the sandbox and the approval of your integration are the price of entry, and on the Maesn client you inherit ours, so you start without paying or waiting for any of it. Moving to your own client later is a process we run with you and whose DATEV fees you carry.

02

The advisor's environment, not a copy of it

What your product posts lands in the environment the tax advisor already works in, so nothing has to be exported, re-uploaded or reconciled afterwards. That is the whole point of this system, and it is the reason a document posted through Maesn needs no second delivery path.

03

The next system costs nothing

Once this runs, every other supported accounting and ERP system answers on the same interface. Your second integration is a configuration step, and the sibling system inside DATEV is one of them.

Authentication

One Unternehmen Online token, two years, one company

DATEV authenticates through its own login, with SmartCard or SmartLogin as the access medium, and Maesn puts the whole thing behind the same interface as every other system. What is specific here is what the flow has to end with: a long access token that is valid for two years and only for calls that name the company it was issued for.

Auth method
Long access token
Valid two years, bound to one company

One account key in your code. The two DATEV target systems and the company binding stay on our side.

Two ways to reach the token
The interactive flow
Your customer logs in, picks their company from the list DATEV returns, and confirms. The company ID is stored on the connection, so nothing downstream has to carry it. This is the route the documentation puts first.
The manual route
Three steps you drive yourself: authenticate against the short-token system, fetch the company list, then authenticate again against the long-token system with the company you chose. More work, and more control over the interface your customer sees.

The two-year lifetime is the useful part and the binding is the catch: a long token authenticates calls for the company it was issued for and no other. Model a connection per company from the start and the second one costs nothing; model it per customer and it is a migration.

How your customer connects
  1. 1

    Your customer signs in to DATEV

    With their SmartCard or SmartLogin, on DATEV's own screen. Nothing about the access medium reaches your product, and nothing about it is specific to Maesn.

  2. 2

    They choose the company

    A DATEV login can reach more than one company, so one has to be selected. That choice is what the long token is bound to, which is why a customer with two companies is two connections rather than one with a switch.

  3. 3

    You work with one account key

    Maesn stores the connection and returns an account key. From there every request carries your API key plus that account key, the same two headers you already send for every other system in the catalogue.

An access medium your customer holds in their hand, and a token exchange that runs in two stages, are exactly the kind of difference that turns into a per-system implementation. Unified authentication is what keeps it out of your code: the access medium, the company selection and the token lifetime are handled on our side, and what your product holds is the same account key it holds for a system that authenticates with a password.

Staying in sync

An async task tells you the document arrived

On a system you write to rather than read from, the question that matters is whether the document you sent arrived, and that is a question about your own request. Every writable object here answers it the same way, through an asynchronous endpoint that hands back a task id.

What Unternehmen Online sends

Nothing. There is no native event on any object here, and the reference data you do read, the accounts, the fiscal years, the tax rates and the users, changes rarely enough that a schedule is the right instrument for it anyway.

What tells you it arrived

The async task. All four objects you can create here are written through endpoints that run asynchronously, and each call returns a taskId you read back on GET /asyncTask. That is the acknowledgement a webhook would have carried, on a path that exists today.

This is the shape of a delivery channel: you own the state, DATEV owns the destination, and the only thing you need back from it is confirmation. Treat the task as part of the write rather than as an afterthought and the integration has no polling loop at all.

A missing webhook is usually a gap you have to fill. Here it is the wrong question, because a document upload is a long-running operation and the answer you need is about your own request rather than about someone else’s change. How asynchronous work is modelled covers the task object, the identifier it comes back on and what a partial response looks like, and it is the same mechanism on every system that has long-running writes rather than a DATEV special case.

Before you start

What has to be true inside your customer's DATEV

On this system the conditions live in your customer's account rather than in yours, and the documentation names them precisely. Worth walking through with the first customer before the sprint rather than during it.

A DATEV instance with a fiscal year, and Unternehmen Online enabled
The fiscal year has to exist and Unternehmen Online has to be enabled for that company, the Mandant. Both are settings in your customer's DATEV, not something an API call can create.
Belege Online in standard or erweitert
The DATEV app Belege Online has to be activated, and which of the two modes you need depends on the service your use case runs on. A request that is right in every other respect still comes back refused when the mode is wrong.
An access medium, with at least standard rights
A SmartCard or SmartLogin for secure access to the company, held by a person who has at least standard access rights for Belege Online. The rights are configured in DATEV Rechteverwaltung Online, which is the tax advisor's tool rather than yours.
A real instance to test against
The documentation calls testing against a live production environment both recommended and necessary before you offer the feature, and that instance needs the service subscriptions your use case uses. Maesn provides the sandbox for building; this step is about the last mile before your first customer.

Bring your use case and we will tell you which services and rights it needs.

One data model

Which DATEV system holds the data you need

DATEV is three target systems, not one, and the question worth answering early is which of them your use case is about.

What you send arrives in the shared common data model, so the expense you post here has the same shape as the expense you post into a system ten times its size, and the code you write once is the code you point somewhere else.

Unternehmen Online is the delivery channel: documents and transactions go in, and the advisor picks them up. Bookings are recorded next door in DATEV Rechnungswesen, which is where the export service reads journal entries, balances and open items. DATEV also runs an e-invoicing platform, a target system of its own with its own integration guide. Tell us which data your use case is about and we will name the system it lives in.

A short call is usually enough to tell which of the three DATEV systems your use case needs.

Unternehmen Online FAQ

DATEV Unternehmen Online API questions

What is DATEV Unternehmen Online?

It is one of DATEV's online applications, and the place a German business and its tax advisor exchange receipts and accounting data. It is also the route data takes from a company's own ERP or accounting system into other DATEV applications, DATEV Rechnungswesen among them. For a software team the relevant part is that it is a destination rather than a database.

What can I actually post into Unternehmen Online?

Booking proposals, expenses, files and transactions. In business terms those are your customer's invoices, bills and credit notes, and which service carries one depends on what you send: a document image on its own goes through the Belegbilderservice, while a document together with its structured data goes through the Rechnungsdatenservice 1.0 in a single call. Map your data model onto those four object names rather than onto the business terms, and the mapping holds for every other system Maesn supports.

Can I read data back out of Unternehmen Online?

Accounts, fiscal years, tax rates, users and the async task come back, which is the context your writes need. Unternehmen Online is the delivery side of DATEV: what gets booked is read in DATEV Rechnungswesen, where the Datenservice Export covers journal entries, balances and open items.

How does DATEV authentication work here?

Through DATEV's own login with a SmartCard or SmartLogin, ending in a long access token that is valid for two years. You can either use the interactive flow, where your customer picks their company and the ID is stored on the connection, or drive the three manual steps yourself. Either way your code ends up with one account key, as with every other system.

Does Unternehmen Online support webhooks?

Events are enabled per object on this system, and on a delivery channel the acknowledgement you actually want is a different one: every writable object goes through an asynchronous endpoint, so each call returns a taskId and GET /asyncTask tells you how it ended. If your product needs an event on a specific object, tell us and we enable it.

What does my customer have to set up in Unternehmen Online first?

A DATEV instance with a fiscal year, Unternehmen Online enabled for that company, the DATEV app Belege Online activated in standard or erweitert depending on the service, and an access medium whose holder has at least standard rights for Belege Online. The rights themselves are configured in DATEV Rechteverwaltung Online by the tax advisor.

Do I become a DATEV Schnittstellenanbieter myself?

Only if you want to. You can start on the Maesn client, where you inherit our status as an official DATEV Interface Partner and nothing has to be applied for first. Becoming an interface provider in your own name is a process Maesn runs with you, with no consulting packages to book at DATEV but with DATEV's own fees on your side. A DATEV Marktplatz listing is a further step with its own conditions.

Why integrate DATEV Unternehmen Online through Maesn instead of directly?

Because almost none of the work is the API. Direct means the DATEV approval, an OAuth client, a two-stage token with a company binding, a set of prerequisites that live in your customer's account and German-language documentation for every one of them, for one system. Through Maesn you build once against one data model, and every other supported accounting and ERP system is then reachable on the same interface.
Ship your ERP and accounting integrations. Connect once.
Book a demo