Odoo Functional Certification study materials
Odoo Functional Certification study resources

Rheinwerk GmbH: reverse charge, OSS and a 2% short payment

Odoo Functional Certification · Put your knowledge to work in context.

All case studies

Rheinwerk GmbH: reverse charge, OSS and a 2% short payment

Rheinwerk GmbH is a German company selling laboratory equipment. Domestic sales carry 19% VAT. Three problems surfaced in the same week. Loire SARL, a customer in Nantes with a validated French VAT number recorded on the contact, was invoiced with 19% German VAT instead of the intra-community exemption. Separately, the webshop took 34 orders in May from French consumers, all delivered to addresses in France, and charged 19% German VAT on every one; the accountant says this was wrong because EU distance sales passed €10,000 in March. Also, one German customer paid an invoice ten days early after deducting 2%, although no discount was ever configured, and that invoice now sits unreconciled.

1. Diagnose the Loire SARL invoice. What must be true for the reverse charge to apply, and where exactly do you look?

Read the worked answer

The tax on a line is the product's default tax transformed by the invoice's fiscal position. If the line still shows 19%, the fiscal position either was not applied or had no mapping for that tax. Three things must all hold:

  1. The VAT number is on the partner used as the invoice address. Odoo's auto-detection reads the invoice partner's country and VAT field, falling back to the parent company. If the contact used as invoice address has no VAT number (only the parent has), detection fails. The number needs the country prefix and should be validated (VIES check).
  2. A fiscal position is auto-detected for the country. Check the invoice's Fiscal Position field - if it is empty, auto-detection did not fire, and it is usually country/VAT on the wrong partner record.
  3. The mapping covers every tax actually on the line. A fiscal position maps tax→tax. If the mapping only converts 19% to the 0% intra-community tax and a line carries a 7% reduced rate, that line silently keeps German VAT.

Look at, in order: customer form (country, VAT, validated) → the invoice's Fiscal Position field → Accounting > Configuration > Fiscal Positions > Tax Mapping tab.

2. What should have happened on the 34 French consumer orders, and what do you configure?

Read the worked answer

Once total EU cross-border distance sales to consumers exceed the €10,000 threshold, you charge the VAT of the customer's country, not your own. Rheinwerk crossed it in March, so from that point the May orders should have carried French VAT (20% standard, with French reduced rates where applicable), reported through the One-Stop-Shop.

Configuration:

  • Create the French sales taxes with the country set to France and the Consumption Tax scope, so they are identifiable as OSS taxes in reporting.
  • Create an auto-applied fiscal position for Country = France, mapping each German sales tax to its French equivalent. Where a B2B intra-community position also matches France, order them carefully so the reverse-charge case wins for customers with a VAT number.
  • File quarterly from the OSS/ EU tax report rather than the domestic return.

Clean-up: the 34 May invoices understated French VAT and overstated German VAT. Correct them with credit notes and re-invoice with the right taxes - a journal entry is not enough, because the customer-facing document has to match what goes on the OSS return.

3. The customer deducted 2% that was never granted. What is the correct accounting treatment, and what is the trap?

Read the worked answer

First decide the commercial question: was a discount agreed verbally? That answer drives the accounting.

If no discount was granted: register the received amount as a payment against the invoice. It becomes a partial payment and the residual stays open. Then either chase the balance or, once you decide to abandon it, write it off - but a write-off does not reduce the taxable base, so your VAT return keeps the full output tax. On a €10,000 invoice that is €19 of VAT you will pay on money you never received.

If the discount was granted: the discount reduces the taxable amount, so the VAT must come down too. Configure the payment term with a 2% / 10-day discount line and let the cash-discount mechanism post the reduction to a dedicated discount account with the tax adjusted. If the invoice is already issued without such a term, a credit note for the 2% is the cleanest route, since it adjusts both revenue and output VAT.

The trap: leaving the invoice in 'partially paid' limbo. It ages into a false overdue balance, distorts your receivables and hides the VAT question entirely.