You sell online to consumers in other EU countries. Unless you qualify for a small-seller relief, the VAT you charge is the customer's country VAT. Three schemes let you file that VAT in one place: the Union OSS, the non-Union OSS and the Import OSS (IOSS). This post covers OSS and IOSS in ERPNext: which scheme fits your sale, what the €10,000 and €150 lines decide, and what ERPNext records. ERPNext does not file the return, so the post also lists what a quarterly extract needs and where each column comes from.
I am Manoj at MithTech, a team of Frappe specialists in Bengaluru. The ERPNext facts below are from ERPNext v16.50.0 and Frappe v16.50.0 source, read on 14 October 2026. The EU rules are those in force on that day, with the changes that start on 1 January 2027 marked. This is procedure, not tax advice: your EU VAT adviser decides your position.
What did OSS replace, and what are the three schemes?
On 1 July 2021 three schemes replaced two older arrangements. The Mini One Stop Shop (MOSS) had run since 1 January 2015 for telecom, broadcasting and electronic services sold to consumers. The per-country distance-selling thresholds (€35,000, or €100,000 in some states) let a seller charge home VAT on goods until its sales into one country passed them. Directive (EU) 2017/2455 and Directive (EU) 2019/1995 removed the thresholds, widened the MOSS to all consumer services and to goods, and added IOSS. Council Decision (EU) 2020/1109 moved the start from 1 January to 1 July 2021.
| Union OSS | IOSS | ||
|---|---|---|---|
| Who | EU-established sellers; a non-EU seller for goods sent from EU stock; marketplaces | Sellers with no business or fixed establishment in the EU | EU sellers directly; non-EU sellers through an intermediary |
| What | Distance sales of goods; consumer services taxed in another member state | Consumer services taxed in the EU | Goods sent from outside the EU in consignments of €150 or less; no excise goods |
| Register in | Where you are established (non-EU seller: where the goods are dispatched from) | Any one member state | Where you are established (or where the intermediary is) |
| Number | Your national VAT number | Starts with EU | Starts with IM |
| Return | Quarterly | Quarterly | Monthly |
All three are optional. The alternative is to register for VAT in every country where you sell to consumers, which can mean 26 more registrations. Once you register for a scheme, you declare all your eligible sales in it. The OSS returns come in addition to your domestic VAT return, not instead of it.
Which scheme applies to your sale?
Four answers settle most cases: who buys, where your business is established, what you sell and, for goods, where the parcel starts and what it is worth. The finder below asks them and names the scheme, the member state to register in and the return dates. It never prints a VAT rate. Run it once for each product line or channel, because a business that sells digital services, EU stock and imported parcels can need three registrations.
Answer the questions that apply to your sale (the tool asks only those that can change the answer) to see which EU VAT scheme applies, where to register, when the return is due and which ERPNext settings record it.
Your sale
Only the questions that can change the answer are shown. The tool stores nothing and prints no VAT rate.
Who is buying?
People buying for private use, and customers with no valid VAT number
Where is your business established?
One country, no establishments in other EU countries
What do you sell to them?
Physical products you send to the customer
Where do the goods start their journey?
Your own country's stock
Where does the customer receive them?
A different country from the one the goods leave from
Who sells to the customer?
Your website, your invoice, your checkout
Do your cross-border consumer sales stay within €10,000 a year?
In the current or the previous calendar year
Your result
Register for the Union OSS in the member state where you are established.
- Why
- Distance sales to consumers in another member state are taxed in the country where the goods arrive (Article 33(a)). Your cross-border consumer sales are over €10,000, so the destination country's rules apply (Article 59c). The Union OSS lets you declare all of them in one return, in one member state.
- Register
- In the member state where your business is established, through its OSS portal. It starts on the first day of the next quarter, or on the date of your first sale if you tell your tax office by the 10th day of the month after it.
- Number
- No new number: your existing national VAT number.
- Return
- Quarterly, in euro, by the end of the month after the quarter: 30 April, 31 July, 31 October and 31 January. A quarter with no sales still gets a nil return. Pay the same total by the same date, quoting the return's reference number.
- Charge
- The VAT rate of the member state where the goods are delivered, already at checkout. Show the VAT before the customer confirms the order.
- Scope
- Once registered you declare every eligible sale in it, goods and services, in all member states. You cannot pick some.
In ERPNext
- Set Accounts Settings, Determine Address Tax Category from, to Shipping Address, and give each customer address a Tax Category for its country.
- Make one Sales Taxes and Charges Template and one output VAT account per member state you sell to. A Tax Rule with that Tax Category picks the template.
- For reduced-rate items, add an Item Tax Template to the Item in an Item Tax row that carries the country's Tax Category.
- Each quarter, extract submitted Sales Invoices by shipping country and rate from Item Wise Tax Detail, and convert at the ECB rate of the last day of the quarter.
- Give a business customer with a checked VAT number its own Tax Category. A Tax Rule with no Tax Category only matches documents whose Tax Category is empty, so the country rules skip it.
Watch for
- VAT you pay on costs in other member states is not offset in the OSS return. Claim it through the refund route or a local return.
Basis
Directive 2006/112/EC, Articles 14(4), 33(a), 59c and 369a to 369k; Implementing Regulation 282/2011, Article 63c; Explanatory Notes, sections 3.2 and 3.3.
Register for the Union OSS in the member state where you are established.
Each result ends with its basis, the Articles and the Commission notes it rests on. Where a result says "ask your adviser", the rule depends on facts only you and your adviser have.
When does the €10,000 limit apply?
The limit is a relief for the smallest cross-border sellers (Article 59c). Below it, your cross-border consumer sales can stay taxed in your own country.
| Answer | |
|---|---|
| Who can use it? | A seller established in one member state only |
| What counts? | Digital services to consumers in other EU countries, plus goods you send from your own country to consumers in other EU countries. Without VAT. The total must be within the limit in the current calendar year, and must have been within it in the previous one |
| What does not count? | Goods sent from stock in another member state, services other than digital ones, and imports |
| Who is outside it? | Non-EU sellers and sellers established in more than one member state |
| Within the limit | The sale is taxed in your country. You may opt for the customer's country by registering for the Union OSS, and you are then bound for two calendar years |
| Past the limit | The customer's country VAT applies from the sale that takes you over (Article 59c(2)) |
Digital services and goods share one total. A seller with €6,000 of digital services and €5,000 of goods sent from home has passed the limit, even though neither line has. Check the running total each month.
What does IOSS cover, and what happens at €150?
Since 1 July 2021 every imported commercial parcel carries VAT, and the old exemption for goods worth up to €22 is gone. IOSS lets the seller collect that VAT at checkout. The parcel then enters the EU without import VAT. Four things must be true:
- the goods are sent from outside the EU VAT area;
- the consignment is worth €150 or less;
- none of the goods are excise goods (alcohol, tobacco, energy products);
- the seller is registered, directly or through an intermediary.
There is no turnover threshold to register. Once you use IOSS it covers all your distance sales of imported goods.
What €150 measures. The intrinsic value is the price of the goods themselves, without transport and insurance shown separately and without other taxes. A consignment is goods packed together and sent together to the same customer under one transport contract. The limit applies to the consignment, not to the order.
Who needs an intermediary. A seller outside the EU must appoint one, because the Commission's list of countries with a VAT mutual-assistance agreement holds only Norway (Implementing Decision (EU) 2021/942). A seller in Norway may register directly, for goods sent from Norway. An Indian, UK or US seller needs an intermediary. The intermediary registers you, files the monthly returns and pays, and you stay liable with it. You cannot have two intermediaries at once.
At customs. Give your IOSS number to whoever lodges the customs declaration. If it is valid, no import VAT is collected.
| A parcel worth €150 or less | VAT |
|---|---|
| With IOSS | Collected at checkout, declared in the monthly IOSS return, no import VAT |
| Without IOSS | Import VAT at the border: the special arrangements (the carrier collects it from the customer) or the standard procedure |
| Over €150, or excise goods | The standard import procedure; neither IOSS nor the special arrangements |
Two customs charges now sit beside IOSS. From 1 July 2026 to 1 July 2028 a flat customs duty of €3 per item applies to a consignment of €150 or less when the import is IOSS-exempt or the goods travel as postal items (Regulation (EU) 2026/382, Article 2). The Commission has announced a €2 Union handling fee from 1 November 2026. Both are customs charges, not VAT. Under IOSS, the Commission's note of 6 October 2026 says that if you charge either to the customer at the sale, it becomes part of the amount VAT is charged on. If you do not, no VAT is charged on it at import.
When is a marketplace the supplier instead of you?
A marketplace that facilitates a sale can be treated as if it bought the goods and sold them on (Article 14a). Whether it is depends on what is sold and who sells it.
| The sale | Who supplies the consumer |
|---|---|
| Imported goods, consignment of €150 or less, any seller | The marketplace |
| Goods in the EU, sold by a seller established outside the EU | The marketplace |
| Goods in the EU, sold by a seller established in the EU | You. The marketplace keeps records |
| Imported goods over €150 | Nobody is deemed: the ordinary import rules apply |
Where the marketplace is the supplier you do not register for IOSS for those sales, but you must give it complete data. A non-EU seller with stock in France that sells only through a marketplace still registers for VAT in France. Its supplies to the marketplace are exempt with the right to deduct, and the marketplace can use the Union OSS for the sales it makes. Sales from your own shop follow the other rules, so a seller with both channels runs the finder twice.
What does the OSS return contain, and when is it due?
All three returns use one common electronic message, with a column for each scheme. It has five parts:
- The VAT number or IOSS number, the tax period and the currency.
- For each member state of consumption: the standard-rate and reduced-rate figures, each as a taxable amount and a VAT amount. Goods sent from a member state other than yours are split by the country they left from, with your VAT number or tax reference there.
- Corrections to earlier periods, per member state.
- The balance per member state.
- The total for all member states.
Exempt and zero-rated supplies are not declared. A member state with no sales in the period is left out. A negative balance in one state is refunded by that state and never set against another.
| Due | ||
|---|---|---|
| Union and non-Union OSS | January to March | 30 April |
| Union and non-Union OSS | April to June | 31 July |
| Union and non-Union OSS | July to September | 31 October |
| Union and non-Union OSS | October to December | 31 January |
| IOSS | Each month | End of the next month (September sales: 31 October) |
The dates are not moved for weekends or holidays, and a return cannot be filed before the period ends. File a nil return when you made no sales and have no corrections. Pay the total by the same date, quoting the return's reference number.
Currency. The return is in euro. For sales in another currency, convert with the European Central Bank reference rate for the last day of the period (or the next publication day). A member state outside the euro may ask for its own currency and then converts for the others.
Corrections. You correct a filed return in a later return, within three years of the original due date. A credit note raised in a later period corrects the return of the period in which the sale was declared. After three years you deal directly with the member state of consumption.
Late or missing returns. The member state of identification sends a reminder on the tenth day. Reminders for three return periods in a row that go unanswered for ten days each, or records not provided within a month of a reminder, end your registration and bar all three schemes for two years.
Invoices. The Directive requires none for consumer services. For distance sales of goods you need an invoice only if you do not use the Union OSS. If you issue one under a scheme, the invoicing rules of your member state of identification apply.
No deduction. The return holds the VAT you charged. VAT on your costs in other member states goes through the refund route (Directive 2008/9/EC, or the 13th Directive 86/560/EEC if you are established outside the EU) or a local return where you are registered.
How do you set up OSS and IOSS in ERPNext?
These are the settings in the order you meet them. Everything here is in ERPNext v16.50.0 source; ERPNext adds the Address Tax Category field itself at install.
Put a country and a Tax Category on every address
The country is on the Address already. Add the Tax Category (an ERPNext field on Address) for that country. Then open Accounts Settings and set Determine Address Tax Category from: Shipping Address for goods, because the sale is taxed where the goods arrive. Leave it on Billing Address (the default) for digital services, where the customer's location decides. The setting is global, so a seller of both picks one: choose Shipping Address and give digital customers a shipping Address equal to the billing one, or set the Tax Category on the Customer.
Create the Tax Categories
One per destination country (for example "VAT DE"), one for domestic sales and one for business customers with a checked VAT number (for example "EU B2B").
Build one template and one VAT account per member state
Make a Sales Taxes and Charges Template for each country you sell into, on its own output VAT account under your liabilities. One account per state is a design choice, not an ERPNext rule. It gives you a ledger total per state to tie the extract to. Then add a Tax Rule: Tax Type Sales, the Tax Category, the template, your Company.
Know how ERPNext picks the rule
ERPNext builds the lookup from the party, the company, the document's Tax Category and the address fields (including the billing and shipping country). A rule field left blank matches anything, except Tax Category: it must equal the document's, and a blank only matches a blank. Among the rules that fit, the one matching the most fields wins, then the higher Priority number. A disabled template returns nothing.
Give reduced-rate items their rate
On the Item (or its Item Group) add an Item Tax row: an Item Tax Template and the country's Tax Category. The Item Tax Template carries the reduced rate against the same VAT account. Without it every item in that country takes the template's standard rate.
Keep business customers out
A customer with Tax Category "EU B2B" never matches a rule that has no Tax Category, so the country rules skip it and only a rule that names "EU B2B" applies. Set the category after you check the number in the Commission's VIES service. ERPNext's Customer has a plain Tax ID field with no check.
Flag the OSS sales
Add a custom field on the Sales Invoice, for example "VAT scheme" with Domestic, Union OSS, Non-Union OSS, IOSS and Other. Set it from the Tax Category with a server script. The extract then reads the flag instead of guessing from tax rows, and zero-rated lines (which are not declared) cannot slip in or out.
Test with three invoices before you rely on it: a consumer in another country, the same consumer buying a reduced-rate item, and a business customer. Check the Tax Category, the template and the VAT account on each.
What does a quarterly OSS extract need, and where does each column come from?
The extract has two jobs: the return figures, and the records the Commission calls "sufficiently detailed" (Article 63c of Implementing Regulation 282/2011). This table maps both to ERPNext v16.50.0.
11 rows · click a column to sort
| Where it is in ERPNext | Note | |
|---|---|---|
| Member state of consumption | Country of the Address named in shipping_address_name (goods) or the billing Address (digital services) | The Sales Invoice has no country field. For services taxed where they happen, add a place-of-supply field |
| Member state the goods left from, and your VAT number there | The warehouse on the Sales Invoice Item, then an Address linked to that Warehouse | A Warehouse has no country field |
| Tax period | posting_date | Check the dispatch date against it at quarter ends |
| Rate, standard or reduced | Item Wise Tax Detail, rate | One row per item and tax row; hidden on the form. ERPNext stores the number, not the label: compare it with the country's standard rate in TEDB to file it as standard or reduced |
| Taxable amount and VAT amount | Item Wise Tax Detail, taxable_amount and amount | In company currency, at the invoice's conversion_rate |
| Currency and ECB conversion | Invoice currency and conversion_rate; the ECB rate for the last day you store yourself | ERPNext converts at its own rate, not the ECB's |
| Credit notes | is_return and return_against | Treat as a correction to the period of the original sale |
| Scheme | Your "VAT scheme" custom field | Keeps zero-rated and B2B lines out |
| Where the customer is (evidence) | Billing Address; a second item such as the payment country or IP address | Two items of evidence for digital services (Regulation 282/2011, Articles 24b and 24f) |
| Order and consignment numbers (IOSS) | Sales Order, Delivery Note, carrier tracking | Required in IOSS records |
| Payments received | Payment Entry | Dates and amounts |
Group the result by member state of consumption, rate and, for stock abroad, member state of dispatch. Then tie it out: for each member state, the extract's VAT must equal the movement on that state's output VAT account for the quarter. A gap means an invoice with the wrong template, a manual journal or a missing flag.
Keep the records for ten years from the end of the year of the sale. The Commission publishes a Standard Audit File layout for OSS records (SAF-OSS), and its portal says all member states will accept it.
What does ERPNext leave to you?
OSS and IOSS in ERPNext are a recording problem, not a filing feature. ERPNext v16.50.0 records the pieces. It does not produce the return.
- The return and the extract. No file or folder named for OSS, IOSS, MOSS, VIES or Intrastat exists in the v16.50.0 repository tree.
erpnext/regionalhas no EU module. The stock Item-wise Sales Register shows tax by account, not by country. - Other countries' templates. At company creation ERPNext seeds the VAT templates of the company's own country only. For every other country you sell into, you build them.
- Rates from the seed file. The setup-wizard file is not a rate table. Of the 24 member states it lists with a plain template, eight carry a standard rate that differs from TEDB on 14 October 2026: Cyprus, Estonia, Finland, Greece, Latvia, Luxembourg, Romania and Slovakia. Take rates from TEDB.
- The ECB conversion. ERPNext converts at the invoice's
conversion_rate. For a seller whose books or sales are not in euro, you convert the period's figures at the ECB rate for the last day yourself. See ERPNext multi-currency setup. - The dispatch country. A Warehouse has no country field.
- The time of supply. The invoice date is not always the date the sale counts. From 1 January 2027 the general rule (Article 63) applies to OSS sales. Where dispatch, delivery and invoice fall in different quarters, your adviser fixes the date your books use.
- Proof of the customer's location. ERPNext holds the billing address. The second item of evidence for digital services is yours to store.
- The IOSS number on the parcel. ERPNext has no field for it. Add one on Company and print it on the shipping documents.
- VAT-number checks. Community apps exist for VIES (for example
eu_vatfor v16 anderpnext_germany). We have read them, not tested them.
If you sell from India to EU consumers, the billing side is in Bill-to-Overseas in ERPNext. For a shop feeding ERPNext, see ERPNext for e-commerce.
What changes on 1 January 2027, and what comes after?
Directive (EU) 2025/516 changes three things for OSS sellers from 1 January 2027, if your member state has transposed it by then (the deadline is 31 December 2026):
- Registering for the Union OSS counts as choosing the customer's-country rules, so you give up the €10,000 limit by registering (Article 59c(3)).
- The limit counts only goods you send from your own member state. Goods sent from stock elsewhere never count (Article 59c).
- National options on when VAT becomes chargeable no longer apply to OSS sales (Article 66). The general rule applies.
Two smaller changes: the non-Union OSS is stated to cover consumer services in the EU to any customer, and gas, electricity, heat and cooling supplied to consumers count as distance sales until 30 June 2028. A larger change starts on 1 July 2028: a wider OSS and a scheme for transfers of your own goods. This post does not cover it.
What is not covered here?
- Business customers. B2B sales follow the intra-Community supply and reverse-charge rules.
- Northern Ireland, and customs rules for Norway, Switzerland and other non-EU countries. Not covered.
- A non-EU business with a fixed establishment in the EU. Its registration state and some rules differ. Ask your adviser.
- The small-business exemption. It interacts with IOSS from 2027.
- Excise duty, customs duty rates and customs procedure. Only the VAT effect of the €3 duty and the €2 fee is covered.
- Member state portals and penalties. Each state runs its own portal and sets its own late-filing charges.
- New means of transport and goods installed or assembled by you. They are not distance sales.
- VAT rates. They change. Use TEDB.
FAQ: what do people ask most?
+Is it compulsory to register for the OSS?
No. The schemes are optional. The alternative is to register for VAT in each member state where you sell to consumers, which can mean up to 26 more registrations. Once you register for a scheme, you declare all your eligible sales in it. An EU seller established in one member state may keep charging home-country VAT while its cross-border consumer sales stay within €10,000.
+What does the €10,000 limit count?
A seller established in one member state counts digital services to consumers in other EU countries plus goods it sends from its own country to consumers elsewhere, without VAT, for the current and previous calendar year. Goods sent from stock in another member state, other services and imports do not count. Past €10,000, the customer's country VAT applies from that sale (Article 59c).
+What is the difference between OSS and IOSS?
The Union and non-Union OSS cover sales taxed inside the EU: distance sales from EU stock and consumer services. IOSS covers goods sent from outside the EU in consignments of €150 or less. VAT is collected at checkout, so no import VAT is charged at the border. OSS returns are quarterly and IOSS returns are monthly. A seller can need both.
+Does a seller outside the EU need an intermediary?
For IOSS, yes, unless it is established in Norway and ships from Norway: the Commission's list of countries with a VAT mutual-assistance agreement holds only Norway (Decision (EU) 2021/942). For the Union and non-Union OSS no intermediary is needed, and a member state may not require a tax representative for the non-Union scheme. The Union scheme's state may require one under national law.
+When is the OSS return due, and in which currency?
Quarterly returns are due by the end of the month after the quarter: 30 April, 31 July, 31 October and 31 January. IOSS returns are monthly. Returns are in euro. For sales in other currencies use the European Central Bank reference rate for the last day of the period. A period with no sales still needs a nil return.
+Can I deduct VAT on my costs through the OSS return?
No. The OSS return holds only the VAT you charged. Claim VAT on costs in another member state through the refund route (Directive 2008/9/EC, or the 13th Directive 86/560/EEC, depending on where you are established) or, if you are registered there, on that state's own return. Your home-country input VAT stays on your domestic return.
+How does ERPNext know which country's VAT to charge?
It reads the address. The Tax Category on the shipping or billing Address (you choose which in Accounts Settings) and the address country go to a Tax Rule, which picks the Sales Taxes and Charges Template. An Item Tax Template can give an item a reduced rate for the same Tax Category. ERPNext v16.50.0 creates templates only for your own country, so you build the others.
+What changes on 1 January 2027?
Three things under Directive (EU) 2025/516. Registering for the Union OSS counts as choosing destination VAT instead of the €10,000 limit. The limit counts only goods sent from your own member state. National rules on when VAT becomes chargeable stop applying to OSS sales. A larger change, with a scheme for transfers of your own goods, starts on 1 July 2028.
What should you do next?
Treat OSS and IOSS in ERPNext as a two-step job. First list last quarter's sales to consumers outside your own country. For each line note who sold it, where it was dispatched from, where it was delivered and what the consignment was worth. Run the finder on each group. Second, set the address rule and the country templates once, and build the extract before the first return is due, not after.
The rules are short. The recording is the part ERPNext leaves open.
Manoj
Comments & ratings
No comments yet. Start a new discussion.
Worked with us? Leave a Google review