Skip to content
Portal templates

DATEV Unternehmen online: upload receipts, then check they arrived

Receipts reach Belege online through DATEV's upload channels; what nobody checks is whether all of them made it. This template signs in through a person's SmartLogin step, reads the day's receipts and reports the count against what you sent. The file upload itself is not something the browser can do yet, and this page says so.

Note · Drafted from DATEV's public pages, with one honest gap

Labels and the sign-in options come from the public Unternehmen online help as of the date above; the template has not been verified against a live DATEV account. Handing a file from your systems into the browser is not implemented in the product today, so the template checks an upload rather than performing one. The gap is listed in the product's own ledger of unfinished pieces.

Who uploads receipts to DATEV, and what they check afterwards

The upload has several channels; the check afterwards has none.

Accounts payable, daily
Incoming invoices are pushed to Belege online through DATEV Upload online, the mobile app or a scanner. At the end of the day someone signs in and looks whether the count matches the batch, because a receipt that never arrived is a payment that is never booked.
The tax advisor's office
The advisor works from Belege online; a missing receipt shows up as a question weeks later. Reporting the day's count to the client's system closes the loop the same day.
Month-end
Someone reconciles what the ERP thinks was sent against what Belege online holds. Two lists, one of which is only visible after a SmartLogin.
What breaks
SmartLogin is bound to one person's phone, a SmartCard needs a reader on a local machine, and Unternehmen online ends the session after inactivity. The check is short, the login is not.

The manual steps in Unternehmen online

From DATEV's public help pages. Where the exact wording of a menu is uncertain, the step says what it is for rather than quoting a label.

  1. Sign in

    Open Unternehmen online and choose the login method: DATEV SmartLogin (scan the QR code with the SmartLogin app and confirm), or SmartCard and mIDentity with a card reader and DATEV's security software on the local machine.

  2. Send the receipts

    Receipts reach Belege online through DATEV Upload online in the browser, DATEV Upload mobil on the phone, a scanner with the DATEV scan software, or an interface your ERP supports. Which channel is used is decided outside the portal.

  3. Open Belege online

    From the application overview, open Belege online and its list of receipts. The list shows receipt type, date received and processing status; it can be filtered by date.

  4. Compare with what was sent

    Count the receipts of the day and compare with the batch. A receipt with a status that says it needs attention is the one to look at first.

  5. Sign out

    Use the sign-out; Unternehmen online also ends the session after inactivity. A SmartLogin has to be repeated for the next visit.

Facts from DATEV's public pages

Login methods DATEV SmartLogin (smartphone app, QR code), SmartCard or mIDentity with a card reader DATEV Unternehmen online
Upload channels DATEV Upload online, DATEV Upload mobil, scanning software, ERP interfaces DATEV
Where receipts land Belege online, with a filterable list and a processing status per receipt DATEV
Session Ends after inactivity; a new visit needs a new SmartLogin confirmation
File upload from Browserberg Not implemented today; the act executor reports an upload step as not available. The template checks, it does not upload

As of 2026-09-08

The template and the run

The second validation has required set to false, so its answer is published as data (Count_matches_output) instead of ending the run when the count is short.

{
  "title": "DATEV Unternehmen online: check the receipts that arrived today",
  "parameters": [
    {
      "key": "upload_date",
      "description": "The day whose receipts you expect to see in Belege online (YYYY-MM-DD)",
      "required": true
    },
    {
      "key": "expected_count",
      "description": "How many receipts your system sent for that day",
      "required": true
    },
    {
      "key": "report_webhook",
      "description": "Endpoint that receives the reconciliation",
      "required": true
    }
  ],
  "runSequentially": true,
  "sequentialKey": "datev-duo",
  "blocks": [
    {
      "blockType": "navigation",
      "label": "Open_duo",
      "url": "https://apps.datev.de/duo"
    },
    {
      "blockType": "validation",
      "label": "Signed_in",
      "criterion": "Unternehmen online shows the application overview of a signed-in user; no SmartLogin QR code, login prompt or session-expired notice is on the page"
    },
    {
      "blockType": "action",
      "label": "Open_receipts",
      "instruction": "Open Belege online and go to the list of receipts (Belege), showing receipts received on {{ upload_date }}"
    },
    {
      "blockType": "extraction",
      "label": "Receipts",
      "instruction": "Every receipt dated {{ upload_date }} in the list: file name or receipt number, receipt type, date received, processing status",
      "schema": {
        "type": "object",
        "properties": {
          "receipts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "receivedOn": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "status"
              ]
            }
          }
        },
        "required": [
          "receipts"
        ]
      }
    },
    {
      "blockType": "validation",
      "label": "Count_matches",
      "required": false,
      "criterion": "The list shows at least {{ expected_count }} receipts dated {{ upload_date }}"
    },
    {
      "blockType": "http_request",
      "label": "Report",
      "method": "POST",
      "url": "{{ report_webhook }}",
      "headers": {
        "content-type": "application/json"
      },
      "body": "{\"receipts\": {{ Receipts_output }}, \"countOk\": {{ Count_matches_output }}}"
    }
  ]
}

SmartLogin, the session and what the run does not do

Browserberg is not affiliated with DATEV eG; Unternehmen online is DATEV's product and this page describes reading it with the account you hold.

SmartLogin through the live view

The vault holds fields and TOTP seeds, and SmartLogin is neither: it is a QR code on the screen and a confirmation on a phone. So the script creates a session, mints a watch link with takeover, and a person opens it, scans the code the page shows and confirms in the app. The takeover is released, the run starts, and the first validation checks that the application overview is really there. A SmartCard login needs a card reader and DATEV's security software on a local machine, which a hosted browser does not have; accounts that only have a SmartCard cannot use this template.

Why the template checks and does not upload

A workflow action can click, type, select, press and scroll. Handing a file from your systems into the page is an action the product names but does not carry out today, and a template that pretended otherwise would fail on its fourth block every time. The honest version does the part a browser can do: after your receipts went through DATEV's upload channels, it signs in, reads the day's list and reports the count to your system. When file handover ships, the template gains one action block and loses nothing.

Session expiry

Unternehmen online signs out after inactivity, and each visit needs its own SmartLogin. Start the run right after the person confirms; do not leave a signed-in session idle while waiting for a batch to arrive.

What the gates refuse

Reading a list is a read effect. Belege online also has controls that delete receipts or forward them for payment; the effect gates classify those elements as destructive or payment and refuse them under the default policy, whatever an instruction said. The template never asks for them, and the gate does not depend on that.

Questions before you publish

Can Browserberg upload the receipt files for me?

Not today. The upload action exists in the product's vocabulary but the executor reports it as not implemented, and this page will not pretend otherwise. Use DATEV Upload online, the mobile app or your ERP's interface for the files, and the template for the check.

Does SmartLogin work in a hosted browser?

Yes, because the QR code is on the page and the confirmation is on your phone. A person scans it from the live view. SmartCard and mIDentity need local hardware and do not work.

Why is the count check not required?

So that a short count is reported rather than treated as a crash. The validation publishes its answer as Count_matches_output, and the webhook receives it alongside the list; your system decides what to do.

Can this run on a schedule?

Not unattended, since every visit needs a SmartLogin confirmation from a person. Start it from a script or the dashboard once the person has signed in.

Is the tax advisor's access different?

The advisor's own access to DATEV is a separate matter and not what this template is for. It reads Belege online with your company's login only.

Check tonight's batch

Five browser hours, no card. One SmartLogin, one run, and a count you no longer have to remember to do.