BFBambooForge Labs

OSS & IOSS VAT Returns | EU Distance Selling

The quarterly OSS return and the monthly IOSS one, built from posted invoices - VAT per member state and rate - with a distance-selling check.

Buy on the Odoo Apps StoreOpen the live demoAccounting€232Community & Enterprise

Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_oss.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0
Full walkthrough on a live Odoo 19.0 database, with subtitles. It ends with what this app deliberately does not do.

OSS & IOSS VAT Returns | EU Distance Selling

What this is for

l10n_eu_oss builds the taxes and fiscal positions that charge the right VAT on distance sales into other member states. It does not produce the return — the list of what was sold into each country at each rate — which is the thing that has to be filed and paid.

Preparing a return

Accounting ▸ Reporting ▸ OSS / IOSS

Pick the scheme and the period. The period follows the scheme: the Union scheme is quarterly, IOSS is monthly, and choosing the wrong one is the most common reason a return comes back. Setting a date inside a quarter snaps to that quarter.

Generate builds one line per country of consumption and per rate, with the taxable amount and the VAT. Credit notes net off inside the line rather than appearing as a second one, which is how the return is meant to read.

Export writes a CSV with country, rate, taxable amount and VAT — the four columns every national portal asks for, whatever shape it wraps them in.

The threshold

Under 10,000 EUR of EU-wide distance sales in a year, a seller charges home VAT and files nothing. Over it, VAT is due in the customer's country from the very next sale. Companies usually discover they crossed the line when an auditor tells them, which is a year of wrong VAT and a year of interest.

The figure is shown on every return: what has been sold to consumers in other member states this year, and how much is left. Business customers with a VAT number are excluded, because the threshold is about selling to consumers.

Known limits

  • This produces the return; it does not submit it. Every member state has its own portal and its own credentials.

  • The threshold is computed from invoices in this database. A company selling through a marketplace that files on its behalf has to net that off by hand.

  • One registration per company. Sellers registered in several member states under separate schemes need one company per registration.

Screens

Return - bambooforge_oss
Return