Book web2app with Stripe cleanly

AppKonto is software that classifies Stripe sales from web checkouts under German VAT law and provides them for DATEV together with App Store and Google Play in one month close.

Stripe, October 2026 · Beispiel Apps UG

Sample data · As of October 2026

Stripe sales per tax case, example
Tax caseCountryNetVATReported in
T1Domestic, consumerDE€812.40€154.3619%Kz 81
T4EU, consumer, OSSFR€301.50€60.3020%OSS
T4EU, consumer, OSSNL€188.00€39.4821%OSS
T5EU, businessFR€240.00€0.00RCKz 21, EC list
T6Third country, consumerUS€156.10€0.00Kz 45
Total€1,698.00€254.14

Tax caseNet

  • T1Domestic, consumer
    €812.40

    DE VAT €154.36 (19%) Kz 81

  • T4EU, consumer, OSS
    €301.50

    FR VAT €60.30 (20%) OSS

  • T4EU, consumer, OSS
    €188.00

    NL VAT €39.48 (21%) OSS

  • T5EU, business
    €240.00

    FR VAT €0.00 (RC) Kz 21, EC list

  • T6Third country, consumer
    €156.10

    US VAT €0.00 Kz 45

  • Total
    €1,698.00

    VAT €254.14

VAT

VAT return

Kz 81
€812.40
Kz 21
€240.00
Kz 45
€156.10
OSS return
€489.50
  • T1: domestic consumer, 19% VAT, Kz 81.
  • T4: EU consumers above the €10,000 threshold. The rate of the destination country applies, reported under OSS.
  • T5 and T6: reverse charge only with a confirmed VAT ID, third country in Kz 45.

With web sales you are the seller

If you sell subscriptions through your own checkout with Stripe, no platform sits in between. You owe the VAT yourself, depending on buyer and country in Germany, under the OSS scheme or not at all. Stripe provides invoices and transactions for it, but no bookkeeping.

AppKonto connects to your Stripe account with a restricted key that can only read, fetches transactions, invoices, credit notes, refunds, disputes and payouts and archives the invoice PDFs. From these it creates two DATEV batches: one for revenue, one for payments.

The tax case per sale

Every line gets exactly one of nine tax cases. You see it with its reasoning on the sale.

Tax cases T1 to T9 for Stripe sales
CaseDescription
T1Domestic, consumer, 19%
T2Domestic, business
T3EU, consumer, below the threshold (taxed as domestic)
T4EU, consumer, OSS at the destination country's rate
T5EU, business with VAT ID, reverse charge
T6Third country, consumer
T7Third country, business
T8Managed Payments, sale through a Stripe entity
T9Small business (Kleinunternehmer)

The threshold for EU consumers is €10,000 net per year. AppKonto keeps the total and switches new sales to OSS once it is exceeded, or immediately if you opted into OSS.

Checks that avoid follow-up questions

AppKonto holds back sales that should not be exported without review, and says why.

  • Reverse charge with an unverified VAT ID: the sale is held until you accept or reclassify it
  • Contradicting location evidence for EU consumers, for example billing country DE and card country AT
  • OSS lines where Stripe charged no tax
  • Domestic invoices to businesses above €250, relevant for e-invoicing from 2027
  • Third-country sales where Stripe collected foreign tax

One month across all channels

Web2app studios have the same app in three channels. AppKonto shows App Store, Google Play and Stripe side by side per month: revenue before commission, commission and fees, payout, open items and the VAT figures Kz 21, Kz 45 and Kz 81 plus the OSS return. The web share and the actual fee rate per channel are visible at a glance. An app catalog links the same app across channels.

Booking rules work across channels. A rule can set the same cost centre for an app in the App Store and for Stripe sales with the matching metadata.

Web2app questions

Does AppKonto need write access in Stripe?

No. AppKonto uses a restricted key that can only read. The key is stored encrypted and never shown again.

Does it work with RevenueCat or FunnelFox?

AppKonto reads what arrives in Stripe: payments, invoices and metadata. How your funnel triggers the payment does not matter as long as the sales are in Stripe. Stripe metadata can be used in booking rules.

What about sales through Stripe Managed Payments?

They count as a supply to the Stripe entity named in the account profile, are not taxable in Germany and appear in Kz 45.

Which Stripe accounts and currencies are supported?

Several Stripe accounts per company, each as its own line in the month. Stripe Connect platforms and balances in currencies other than euro are not supported.

All three channels in one month

Try AppKonto for 14 days with your Stripe account, App Store Connect and Google Play.