Negative invoices from Stripe (goodwill, commission, marketing)
Updated
Some merchants send their customers a negative invoice in Stripe: "Kulanz −€67.40", "Commission October" or "Marketing allowance". Stripe adds the amount to the customer's credit balance, and the customer's next invoice is paid from it, in full or in part. Rechnungskit spots these invoices, suggests a classification and books them only after you or your tax advisor (Steuerkanzlei) have confirmed it.
- StripeNegative invoice, credit for the customerRechnungskit opens a case, with no document of its own
- SuggestionRule and original invoiceprice reduction or service of the customer, plus the tax case
- You or your tax advisorConfirm or changecategory, account, tax key, debtor
- DATEV exportBooking in the revenue batchprice reduction when the credit is used, commission on the invoice day
What Rechnungskit does with a negative invoice
A Stripe invoice with a negative total is not a sale. Rechnungskit creates no invoice and no cancellation invoice for it: the Stripe invoice itself stays the document. You find it in the list, linked to the hosted Stripe invoice and the PDF. Keep it like any other business document (§ 147 (1) no. 4 AO).
Every negative invoice becomes a case under Invoices → Negative invoices. The invoice list shows the "Negative invoices" tab once there is at least one negative invoice; the number on the tab is the count of open cases. While cases are open, the dashboard shows the task "Classify negative invoices". Negative invoices Stripe sent before this feature existed are picked up automatically at the next reconciliation.
A note on terms: in German VAT law a "Gutschrift" is a self-billing document that the recipient of a service issues for that service (§ 14 (2) sentence 5 UStG). Your negative Stripe invoice is not one, so Rechnungskit calls it a "negative invoice".
The three categories
Price reduction
If you give the customer something back after the fact and they do nothing in return, your consideration for the original supply goes down (§ 17 (1) UStG). Your reason does not matter (section 10.3 (1) sentence 3 UStAE). A bonus for renewing a contract and an advertising allowance with no duty to advertise are reductions of consideration too (section 10.3 (2) UStAE).
The correction follows the original supply. Rechnungskit looks up the same Stripe customer's last invoice before the negative one and takes its tax case: domestic 19% or 7%, intra-EU supply, reverse charge, export, non-EU, or OSS with the customer's country and rate. If the negative Stripe invoice carries original_invoice or invoice_number in its metadata with the number of the original Stripe invoice, Rechnungskit uses exactly that one. If no invoice turns up, or it had several tax cases, you pick the tax case in the case itself.
Service of the customer (commission, advertising)
If the customer gets money because they do something for you, say they refer a new customer or advertise for you under a contract, the payment is for a separate supply by the customer to you (section 10.3 (2) sentence 5 UStAE; BFH, judgment of 07.03.1995, XI R 72/93). Your own sale to the customer stays as it is.
How the VAT works depends on the customer:
- EU business with a VAT ID, or a business outside the EU: you owe the VAT yourself (§ 13b (1) and (2) no. 1 UStG). Rechnungskit books to a DATEV automatic account that posts output and input VAT at the same time.
- Business in Germany: the customer sends you an invoice with VAT, or you agree that you settle their service with a self-billing document (§ 14 (2) sentence 5 UStG). Only with that invoice or self-billing document can you claim input VAT (§ 15 (1) sentence 1 no. 1 UStG).
- Private person or small business: no VAT; the amount is a plain expense.
Why a commission needs the customer's invoice
Your negative Stripe invoice names you as the seller. It is neither the customer's invoice nor a self-billing document for their service, and the two supplies may not be netted against each other on one invoice (section 14.3 (2) UStAE). So Rechnungskit books a commission from a German business net, without input VAT. The export sets tax key 9 (19% input VAT) only after you tick "The customer's invoice or a self-billing document is on file" in the case. A rule can never set that key.
When it books
For a price reduction, the VAT is corrected in the period in which the money actually flows back to the customer (section 17.1 (2) UStAE; BFH, judgment of 18.09.2008, V R 56/06). With a Stripe credit balance, that is when Stripe sets the balance off against a later invoice. Rechnungskit therefore books the revenue reduction on the day of that set-off, for exactly the amount used. If Stripe uses only part of it, only that part books; the rest follows with the next invoice. If a customer has several negative invoices, the oldest is used up first.
If your tax advisor sees this differently, they set "Timing of the correction" under Settings → DATEV, tab Negative invoices, to "as soon as the credit is granted". The whole amount then books on the day of the negative invoice. The setting applies to cases confirmed from then on.
A service of the customer, by contrast, books on the day of the negative invoice, for the whole amount.
The later invoice that Stripe pays from the balance stays unchanged: it shows the full amount, and the balance counts as payment (§ 389 BGB). More in Connect Stripe.
Accounts in the DATEV export
All bookings land in the revenue batch. The debtor is on the credit side and is the same debtor as on the invoice that used up the balance (for a commission: as on the customer's last invoice). Document field 1 (Belegfeld 1) is the number of the Stripe invoice. The export leaves the tax key empty on automatic accounts.
| Case | Key | SKR03 | SKR04 | Tax key |
|---|---|---|---|---|
| Price reduction, domestic 19% | neg_reduction_19 |
8720 an Debitor | 4720 an Debitor | none |
| Price reduction, domestic 7% | neg_reduction_7 |
8710 an Debitor | 4710 an Debitor | none |
| Price reduction, domestic 0% | neg_reduction_0 |
8719 an Debitor | 4719 an Debitor | none |
| Price reduction on an intra-EU supply | neg_reduction_igl |
8724 an Debitor | 4724 an Debitor | none |
| Price reduction on an OSS supply of goods | neg_reduction_oss |
8727 an Debitor | 4727 an Debitor | 240, with EU country and rate |
| Price reduction on an OSS service | oss_service |
8331 an Debitor | 4331 an Debitor | 250, with EU country and rate |
| Price reduction on a reverse-charge service | reverse_charge |
8336 an Debitor | 4336 an Debitor | none |
| Price reduction on an export | export |
8120 an Debitor | 4120 an Debitor | none |
| Price reduction, non-EU | outside_scope |
8338 an Debitor | 4338 an Debitor | none |
| Commission from a business in Germany | neg_commission_domestic |
4760 an Debitor | 6770 an Debitor | 9 only with invoice or self-billing document |
| Commission from an EU business (§ 13b) | neg_commission_eu_rc |
3123 an Debitor | 5923 an Debitor | none |
| Commission from a non-EU business (§ 13b) | neg_commission_third |
3125 an Debitor | 5925 an Debitor | none |
DATEV has no dedicated revenue reduction account for reverse charge, exports, non-EU sales and OSS services. There Rechnungskit uses the revenue account the sale was booked to. All accounts are defaults. Your tax advisor changes them under Settings → DATEV, tab Revenue accounts, or per case in the "Account" field. If the rows for negative invoices are not in your account mappings yet, Rechnungskit books with your chart's standard account from this table. The list marks it with an asterisk, and the first confirmation adds it to the account mappings. If your tax advisor deactivated one of these rows, the case books only once an account is entered.
Rules
Settings → DATEV has its own "Negative invoices" tab for this (in the tax advisor portal, the same tab on the client's DATEV page). A rule reads: line text contains "…" → category, optionally with its own account. An empty account field takes the default account from the revenue accounts, shown in grey in the field. The first matching rule from the top applies. The defaults (they match German line texts) are:
- "Provision", "Empfehlung", "Referral", "Vermittlung" → service of the customer
- "Kulanz", "Rabatt", "Nachlass", "Gutschrift", "Verlängerung", "Erstattung" → price reduction
"Marketing" deliberately has no rule: whether a marketing allowance is a price reduction or a service of the customer depends on whether the contract obliges the customer to advertise. A rule only suggests; each case is still confirmed on its own. When you change the rules, Rechnungskit recalculates all open suggestions.
Reviewing and confirming cases
Under Invoices → Negative invoices, each case is one row: date, Stripe number with a link to the Stripe invoice, customer and line text, suggestion, tax case with the booking it leads to (for example "Revenue reduction 19% · 8720 to debtor 1400"), and amount. At the top you switch between Open, Confirmed and Ignored.
- Suggestions that can book as they are come already ticked. "Apply 2 suggestions" (the number follows your selection) confirms them. You can tick a commission, but it is not preselected: whether the customer's own invoice exists decides whether input VAT applies. Cases without a checkbox (category open, tax case missing) need a look; the note above the list gives the reason.
- Otherwise open the case with "Review": you can change the category, tax case or customer type, account, tax key and debtor, and add a note. The PDF link and the original invoice are there too.
- "Ignore" (in the opened case) is for negative invoices that need no booking, such as a voided test invoice.
Your tax advisor sees the same list in their access under Reports → Negative invoices and can decide there too. Every decision and every rule change is in the log with its before and after.
Changing a case after locking
If a case's booking sits in a locked DATEV batch, Rechnungskit does not change it silently. If you confirm the case differently, reopen it or ignore it, two new lines appear: the reversal of the old line on the same day and the new booking. Both come with the next late-entry export.
OSS return and EC Sales List
A revenue reduction on an OSS supply or an intra-EU supply also changes the basis for the OSS return (§ 18j UStG) and the EC Sales List (§ 18a UStG). Rechnungskit's OSS and EC Sales List pages do not include negative invoices yet, but they show a note with the number and amount of affected cases in the period. Your tax advisor accounts for them in the filing; the list shows their tax case with the country.
Limits
- Negative invoices from Stripe Billing are connected. Other sources will follow.
- If Stripe pays a balance out to the customer instead of setting it off, Rechnungskit does not see it. For such customers, set the timing to "as soon as the credit is granted", or let your tax advisor book the payout.
- Balances from Stripe credit notes on an invoice still run as a cancellation (Storno). Rechnungskit assigns set-offs to negative invoices only; anything used beyond them stays where it came from.
- The export does not book negative invoices in a foreign currency yet; "Ready to export?" lists them.
This page explains what Rechnungskit books. It is not tax or legal advice. Which classification and which accounts fit your case is something to settle with your tax advisor.
Where to find it in the app
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.