Importing the Shopify booking batch into DATEV
What the EXTF file from Larchline DATEV Export holds and leaves out, which header values have to match, and a sample file for a test import.
The app writes one Shopify month of sales and refunds as a booking batch in DATEV format: a CSV file with an EXTF header, format version 13, gross amounts against a collective debtor. Festschreibung is set to 0.
Shopify Payments payouts and fees are not in it. The incoming money reaches the books from another source, usually the bank statement or the payment provider's settlement report.
The sample file
An invented month, August 2026, written by the same code that writes the app's real files. No real shop, no real orders, no names. The order numbers BSP-1001 to BSP-1005 are made up.
Download: EXTF_Buchungsstapel_Beispiel_202608.csv (5 KB, Windows-1252 character set, semicolon separated).
It holds six booking records in SKR03:
- five rows for four orders, because BSP-1002 has goods at 7 % and at 19 %,
- one credit row for the refund of BSP-1001.
BSP-1005 is booked though it is not paid yet. BSP-1004 has no row: it was cancelled and never paid.
For a test import, the adviser number, client number and fiscal year have to match the test client. DATEV's help on batch processing describes how to change them before the import: Zusatzfunktionen, then Ändern (document 1044208, Abhilfe 2).
Importing in DATEV Rechnungswesen
This is how DATEV's help document "Stapelverarbeitung: Buchungsstapel und Stammdaten im DATEV-Format importieren" describes it (document 1034038, updated 25.07.2026). It covers Kanzlei-Rechnungswesen, Rechnungswesen, Rechnungswesen kommunal and DATEV Mittelstand Faktura mit Rechnungswesen.
The client's books are open, and the file is not open in any other program.
In the menu, choose Bestand, Importieren, Stapelverarbeitung.
In the Stapelverarbeitung window, click Importieren.
In the Quellverzeichnis field, choose the folder the file is in.
Click Importieren, then Verarbeiten.
When DATEV finds no data
For the message REW04506 or "Keine Daten vorhanden", DATEV's help (document 1044208, updated 25.07.2026) names these causes among others:
- The adviser number, client number, fiscal year or dates do not match the open client.
- The file name does not start with EXTF_ or does not end in .csv. The app names its files EXTF_Buchungsstapel_YYYYMM.csv.
- The file is still open in another program, Excel for example.
DATEV's two help documents:
- Document 1034038: https://wissensplattform.apps.datev.de/help/document/1034038
- Document 1044208: https://wissensplattform.apps.datev.de/help/document/1044208
What the shop needs from you
The shop enters the adviser number, client number, first day of the fiscal year and G/L account length once, in the app's settings. The app writes them into the header of every file. It takes the same ranges as DATEV's format description: adviser number 1001 to 9999999, client number 1 to 99999, account length 4 to 8.
That format description says the account length has to match the client's setting at import. The app's charts use four-digit G/L accounts. The collective debtor has one digit more, 10000 by default.
What the firm tells the shop once:
- the adviser number and client number,
- the first day of the fiscal year and the account length,
- SKR03 or SKR04,
- the collective debtor's number, if it is not 10000,
- its own revenue accounts, if the app's suggestions do not fit.
What the file holds
One row per tax rate of an order, and one per tax rate of a refund. Shipping sits in the row of its own rate.
| Field | What the app writes |
|---|---|
| 1 Umsatz, 2 Soll/Haben | gross amount, a sale on the debit side, a refund on the credit side |
| 7 Konto | the collective debtor |
| 8 Gegenkonto | the revenue account for the rate, in SKR03 for example 8400 or 8300 |
| 9 BU-Schlüssel | empty, because the suggested revenue accounts are Automatikkonten, unless the shop enters a key |
| 10 Belegdatum | the order's day, or the refund's own day |
| 11 Belegfeld 1 | the order number without #, so #1001 becomes 1001 |
| 14 Buchungstext | Bestellung #1001 or Erstattung #1001 |
| 37 KOST1 | on the Pro plan only, per product type |
| 114 Festschreibung | 0 |
| 115 Leistungsdatum, 116 tax period | the day it shipped, the order's day if it has not shipped, or the refund's day |
A refund sits in the month it was paid back in, even when the order is older.
Orders that are not paid yet are booked as sales. The app's month page counts them and lists their numbers. If the shop pays VAT on payments received, the firm finds them there.
For every file the app shows the shop a SHA-256 checksum. If it matches the file at the firm, it is the same file.
What the file leaves out
Shopify Payments payouts and fees, because the app does not read them. After the import, the collective debtor carries the month's sales less its refunds until the incoming money is booked. In the sample file that is €227.40.
Also left out:
- customers' names, addresses and email addresses, and no VAT ID,
- receipts and invoice PDFs,
- open items, cash discounts and a debtor account per customer,
- orders cancelled and never paid, orders in another currency than the batch, returns with no money back and orders whose lines do not add up to their total. The month page names each of them with its number and the reason.
What the app does not do
It makes a file. Nothing more:
It has no connection to DATEV's programs and uploads nothing.
It reads orders from the last 60 days only. Older months get no file.
It does not choose the accounts for the firm. The shop can change every suggestion from SKR03 and SKR04, and every tax key.
It is not tax advice and does not check any tax treatment.
Next
The home page shows what the shop sees in the app. Answers for the shop are on the support page. Questions about the file go to support@larchline.co, and we answer within 24 hours.