What the law requires
Every commercial online retailer in Germany has to document their business transactions properly, regardless of legal form, and regardless of whether the small-business rule applies.
Many underestimate the effort behind that. Working manually, several hours a week quickly go into invoices, matching payments and preparing handovers for the tax adviser.
- Every order is a business transaction that has to be documented.
- Records must be retained: eight years for invoices and accounting records since 2025, previously ten.
- Income and expenses have to be recorded completely and promptly.
- The records must be traceable, tamper-evident and verifiable by a third party.
Separate invoice details from GoBD recordkeeping
Mandatory invoice details primarily follow §14 UStG, not the GoBD alone. GoBD covers traceable handling of records and documents. A Shopify order confirmation is not automatically an invoice containing all required details.
§14(4) requires a sequential number assigned once; one or several number or letter series are allowed. An absolutely gap-free sequence across every sales channel is not a general legal requirement. Use unique numbers, document the system and make any gaps explainable. §19-exempt transactions have the separate minimum requirements in §34a UStDV.
- Full name and address of seller and buyer
- Tax number or VAT ID of the seller
- Sequential, unique invoice number
- Date of issue and date of supply
- Quantity and description of the goods supplied
- Net amount, tax rate, tax amount and gross amount
- Where tax is not charged: the relevant note, such as Section 19 or the reverse-charge mechanism
VAT: standard taxation, small business, OSS
VAT is the most complex topic for most merchants. Which rules apply depends on the business model, the turnover and the delivery country.
Taxable domestic sales commonly use 19% or, for eligible products, 7% VAT. Exemptions, foreign sales and other special cases require separate checks. VAT return obligations depend on the statutory criteria applying to your business.
Under the small-business rule in Section 19 you charge no VAT and cannot deduct input tax. Details are in Shopify and the small-business rule.
Certain EU distance sales to consumers can become taxable at destination above the shared €10,000 threshold. Where eligible, OSS enables central reporting. OSS is a reporting procedure, not an automatic exemption. Check small-business rules and other special cases separately.
Shopify Payments: why the bank account does not match the books
Shopify Payments bundles several orders into one payout and deducts fees, refunds and chargebacks. What lands in the bank account is a net figure that matches no single order.
The most common mistake here is booking the payout as revenue. The correct treatment: each order individually at the gross amount as revenue, the fee separately as an expense, refunds as cancellations or credit notes.
Under the German SKR03 chart of accounts the fees belong on account 4970, under SKR04 on 6855. Which account is right in your case is for your tax adviser to confirm.
When automation starts to pay off
Manual bookkeeping works, until it doesn't. At five orders a day the effort is manageable. At thirty the picture changes.
Create the invoice, check the customer data, assign the tax rate, book the payment: done by hand that takes three to five minutes per order. At thirty orders a day that is one and a half to two and a half hours, every day.
Worth being clear about: automated accounting does not replace your tax adviser. It replaces manual data entry. The tax judgement stays where it is.
Three ways to connect Shopify
An app is not the only route, and depending on your size it is not necessarily the best one.
- Manual export: download orders as CSV and import them into your accounting software. Costs nothing but time, does not scale, and is error-prone on tax cases.
- Your own API integration: full control, in exchange for development and maintenance. Worth it for special requirements no standard app covers.
- An off-the-shelf app: continuously turns orders into usable accounting documents. The default for shops without special logic.
What an integration should do
Not every app with „accounting“ in its name does the same thing. These points decide it in practice:
- Automatic invoice creation with its own sequential number range, not the Shopify order number.
- Tax rate detection for 19 and 7 percent, intra-Community supplies, non-EU and OSS cases.
- Traceable assignment: which tax case was chosen and why has to remain visible.
- A write-back to the order so Shopify shows whether a document exists and under which number.
- A clean approach to refunds, and the honesty to say what the app cannot do there.
Common mistakes
Recurring in practice:
- Booking payout amounts as revenue instead of the gross amount per order.
- Not running an own invoice number range and using the Shopify order number instead.
- Not recording OSS sales separately by destination country.
- Letting fees and refunds disappear inside the payout figure instead of recording them individually.
- Leaving invoices as PDFs in the shop backend without tamper-evident archiving.
Checklist
Before launch, or when reviewing an existing setup:
- Accounting software chosen and agreed with your tax adviser
- Tax model settled: standard taxation or small-business rule
- Invoice template set up with all mandatory details
- Own sequential invoice number range defined
- OSS participation checked and registered where needed
- Account for payment fees defined
- Archiving settled: where documents live and for how long
