VAT profile, Kleinunternehmer, OSS and EC sales list
Updated
Your VAT profile controls how Rechnungskit shows tax: standard taxation or small business (Kleinunternehmer), EU sales to consumers or businesses, OSS and the EC sales list (Zusammenfassende Meldung, ZM).
This page answers which tax goes on which invoice, when the €10,000 threshold applies, which exchange rate applies to foreign currencies and when you file an EC sales list.
Where you set your profile
| What | Where |
|---|---|
| Kleinunternehmer status and your own VAT ID | Settings, company details |
| Deliberately not using OSS | in onboarding in the tax profile, as its own status |
| "OSS registriert" (registered for OSS) and prior sales from your previous system | /oss |
| Country rates | Settings → VAT rates |
Kleinunternehmer (§ 19 UStG)
As a Kleinunternehmer (small business exempt from charging VAT), Rechnungskit issues invoices for domestic sales without VAT. The invoice carries the note on the tax exemption for small businesses (§ 19 Abs. 1 UStG, § 34a UStDV). This also applies to exports and supplies to EU business customers.
The EC sales list does not apply (§ 18a Abs. 4 UStG). The rules for incoming foreign services (§ 13b UStG) still apply (Abschn. 19.1 Abs. 1 Satz 3 UStAE). You set the status under Settings in the company details.
No § 19 note when the place of supply is abroad
The exemption only covers sales that are taxable in Germany (§ 19 Abs. 1 Satz 1 in conjunction with § 1 Abs. 1 Nr. 1 UStG). If the place of supply is abroad, Rechnungskit therefore writes no § 19 note on the invoice:
| Case | What the invoice shows |
|---|---|
| Service to an EU business with a checked VAT ID | The customer owes the tax in their country (§ 3a Abs. 2 UStG). Note "Steuerschuldnerschaft des Leistungsempfängers" (reverse charge) (§ 14a Abs. 1 Satz 1 UStG). You still don't file an EC sales list. |
| Service to a business in a third country, or digital service to consumers in a third country | Not taxable in Germany. The invoice shows it accordingly, without a § 19 note. |
| Distance sales and digital services to EU consumers below the €10,000 threshold | The § 19 note stays. |
| the same sales above the threshold | The VAT of the customer's country, which § 19 does not exempt. Rechnungskit shows it, reported through OSS. |
Sources: § 19 UStG, § 34a UStDV, § 14a UStG, § 18a UStG, Abschn. 19.1 UStAE
EU sales to consumers: OSS
The €10,000 threshold
Up to €10,000 in EU-wide distance sales per year, you may invoice at German rates, as long as the threshold was exceeded neither in the previous year nor in the current year (§ 3c Abs. 4 Satz 1 UStG). Rechnungskit monitors the threshold and warns from 80 %.
Digital services to EU consumers count toward the same threshold (§ 3a Abs. 5 Satz 3 UStG).
Above it, the destination principle applies: the tax rate of the country of destination, reported through the OSS scheme (One-Stop-Shop) at the Federal Central Tax Office (BZSt).
Deadlines after you exceed it
In principle, you announce OSS participation before the start of the quarter from which it should apply (§ 18j Abs. 1 UStG).
If you exceed the threshold for the first time and register with the BZSt by the 10th of the following month, the OSS scheme already applies from the day of the first sale above the threshold (Abschn. 18j.1 Abs. 1 Satz 7 UStAE).
If you miss the deadline, you have to declare the sales up to the date the registration takes effect in each country of destination (Abschn. 3c.1 Abs. 1, example 2 UStAE).
- ongoingWarning from 80 %Rechnungskit monitors the threshold
- day you exceed itDestination country ratedestination principle from the first sale above the threshold
- by the 10th of the next monthRegister with the BZStOSS then applies back to that sale
- deadline missedDeclare in the destination countryfor sales until the registration takes effect
The OSS quarterly return
After registering, you tick "OSS registriert" (registered for OSS) under /oss. Rechnungskit then prepares the quarterly return, as a CSV export for the BOP import.
Deliberately not using OSS, or opting out of the threshold
- Deliberately not using OSS: you choose this status in onboarding in the tax profile. Rechnungskit then invoices EU supplies to consumers with German VAT. Threshold monitoring still runs and speaks up before it gets tight.
- Voluntarily opting out of the threshold: this is possible, but it applies from the start of the calendar year and binds you for at least two calendar years (§ 3c Abs. 4 Satz 2 und 3 UStG, Abschn. 3a.9a Abs. 1 UStAE).
Switching during the year
Distance sales and digital B2C services from your previous system still count toward the threshold. Enter the net totals (current year and previous year) under /oss as "Vorumsätze aus dem Altsystem" (prior sales from the previous system). They feed into the monitoring and into the tax decision of every new invoice.
SaaS and digital services
OSS is relevant for pure SaaS and software providers without shipping goods too. Electronically supplied services (software as a service, downloads, online access) to consumers in other EU countries are taxed where the customer lives (§ 3a Abs. 5 UStG).
Below the €10,000 threshold, the place of supply is Germany and you invoice at the German rate. Above it, the tax rate of the customer's country applies, reported through OSS.
An example: a SaaS subscription of €100 net to a consumer in Austria carries €19 German VAT below the threshold, and the sale goes through your German VAT return. Above the threshold it carries €20 Austrian VAT, reported in the OSS quarterly return at the BZSt.
The threshold is one shared limit for digital B2C services and physical distance sales together, not per country and not separate for goods and services. So there is no separate SaaS allowance on top of goods sales.
OSS only applies to consumers (B2C). Depending on the customer, you invoice SaaS like this:
| Customer | Invoice | Return |
|---|---|---|
| Consumer in the EU, below the threshold | German rate | no OSS return |
| Consumer in the EU, above the threshold | rate of the customer's country | OSS |
| Business with a valid VAT ID in another EU country | net without German VAT, note "Steuerschuldnerschaft des Leistungsempfängers" (§ 14a Abs. 1 UStG). The service is supplied where the customer is established (§ 3a Abs. 2 UStG) | EC sales list (§ 18a Abs. 2 UStG), not OSS |
| Business in Germany | normally at 19 percent (§ 12 Abs. 1 UStG) | no OSS return, no EC sales list |
| Customer in a third country (outside the EU) | not taxable in Germany, because it is supplied where the customer is established or lives (§ 3a Abs. 2 and 5 UStG), so without German VAT | no EC sales list |
Rechnungskit decides the case automatically based on the checked VAT ID.
How Rechnungskit tells B2B from B2C
Rechnungskit tells B2B from B2C only by the customer's VAT ID, not by the company name:
- VAT ID present and confirmed by a qualified check at the BZSt: the customer counts as a business (reverse charge or intra-community supply).
- No VAT ID, or the check does not confirm it: Rechnungskit treats the sale as B2C and shows the VAT. An unchecked case becomes a task to clear up, never a silent tax exemption.
For Stripe Billing, Rechnungskit reads the VAT ID from the Stripe customer's tax IDs. With your own API, you pass it in the field vat_id of the billing address.
Country rates, using coffee as an example
A public reference with the VAT rates on coffee in 39 European countries is at VAT on coffee in Europe. It separates EU and third countries and classifies each country: OSS, EC sales list or tax-free export.
It also explains that a destination country's national rate only applies to a German shipper if the goods are actually shipped to that country. Shipping to a third country is a tax-free export (§ 4 Nr. 1 Buchst. a, § 6 UStG). Shipping from a local warehouse abroad is a local domestic supply in the warehouse country.
Sources: § 3a UStG, § 3c UStG, § 18j UStG, § 14a UStG, § 18a UStG, § 6 UStG, Abschn. 3a.9a, 3c.1 and 18j.1 UStAE
Foreign currency: which rate applies when
Yes, Rechnungskit supports multi-currency. Invoices are created in EUR and in CHF, USD, GBP, SEK, DKK, NOK, PLN and CZK. Details are under Invoices in foreign currency and euro conversion.
What the document shows
For a foreign-currency invoice, Rechnungskit determines the EUR tax amount with the method chosen in the project. It shows it in structured form in the e-invoice (invoice currency BT-5, tax currency EUR BT-6, EUR tax amount BT-111) and freezes the rate, rate date and rate source on the document. The DATEV export contains the rate and the EUR base revenue for foreign-currency documents.
§ 14 Abs. 4 UStG does not explicitly require the EUR amount on the invoice. Rechnungskit shows it as additional, transparent information.
Which rate for what
| For | Rate | Basis |
|---|---|---|
| VAT, statutory default | official monthly average rate published by the Federal Ministry of Finance (BMF) for the month of supply | § 16 Abs. 6 Satz 1 UStG |
| VAT with daily rates | only with permission from your tax office | § 16 Abs. 6 Satz 3 UStG |
| Default for new projects | BMF monthly rate of the month of supply, provisionally the ECB daily rate until that is published | |
| OSS return | ECB rate of the last day of the quarter | § 16 Abs. 6 Satz 4 UStG |
Projects still on the earlier ECB default see a notice with a switch button under Settings → DATEV settings. Agree on the rate method with your tax advisor.
ECB rates and rate changes
The ECB reference rates are synchronized automatically every day and kept with their history. So the right daily rate is available for older documents too. You don't have to maintain any rates.
Exchange rate changes between supply and payment are disregarded for VAT, because § 16 Abs. 6 UStG refers to the month of supply. The frozen document does not change.
OSS sales in a foreign currency
You can also invoice OSS-relevant sales (EU distance sales to consumers) in a foreign currency. For the OSS return, Rechnungskit converts them at the legally required ECB rate of the last day of the quarter (§ 16 Abs. 6 Satz 4 UStG). The rate used is documented in the locked return.
While the quarter is running, the preview shows a provisional rate. You can only lock once the final quarterly rate is available.
Other currencies
Payments in other currencies (JPY, for example) or in a currency that does not match the order create no document but a task to clear up under /payments.
Source: § 16 UStG
EU sales to businesses: VAT ID and EC sales list
Tax exemption only with a checked VAT ID
Tax exemption (intra-community supply, reverse charge) only comes with usable evidence. For the intra-community supply, the buyer's valid VAT ID is even a requirement for the exemption (§ 6a Abs. 1 Nr. 4 UStG).
Rechnungskit checks the customer's VAT ID with a qualified check at the BZSt. Only a fully confirmed check switches on the exemption automatically; everything else needs your explicit decision.
Every check response is archived unchanged and tamper-proof, until the end of the eighth following year. You find them under Settings → VAT ID checks.
The EC sales list
Rechnungskit creates the EC sales list (§ 18a UStG) under /zm:
- Period: quarterly or monthly. From more than €50,000 in intra-community supplies of goods in the quarter, it is automatically filed monthly (§ 18a Abs. 1 UStG).
- Format: CSV for ELSTER, with a check file and SHA-256.
- Corrections run as a separate return.
The requirement is your own valid VAT ID (DE + 9 digits). Kleinunternehmer do not file an EC sales list (§ 18a Abs. 4 UStG).
Sources: § 6a UStG, § 18a UStG
Special cases stay out
Chain transactions, consignment stock and construction services (§ 13b) are flagged by Rechnungskit as special cases and are not processed silently through the matrix.
Where to find it in the app
- Settings Account Kleinunternehmer status and your own VAT ID
- Settings VAT rates Country rates (TEDB, updated monthly)
- Reports & export OSS export Threshold monitor, OSS status, quarterly export
- Reports & export ZM EC sales list with ELSTER CSV
- Settings VAT rates VAT ID checks Log of the VAT ID checks
Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.