← Documentatie / Handleidingen
EU BTW-motor
Bepaling van de plaats van de dienst, OSS/IOSS-aangiften, kmo-vrijstelling en drempels voor afstandsverkopen.
Grensoverschrijdende btw-behandeling voor EU/EER-verkopen: bepaling van de plaats van de dienst resp. levering, verlegd btw-regime, afhandeling van de fictieve leverancier via een marktplaats, referentie per land voor btw-tarieven en OSS/IOSS-aangiften. Alles hieronder is API-first; scopes worden per endpoint weergegeven.
Tariefreferentie
POST /v1/reference/eu-vat-rates/list (reference:read) - wettelijke btw-tarieven voor alle 27 EU-lidstaten, te filteren op countryCode en date. Vensters waarin tarieven geldig zijn, worden bijgehouden vanaf 2024-01-01 (EE 24% vanaf 2025-07, RO 21%/11% vanaf 2025-08, SK 23%/19% vanaf 2025-01, FI 13,5% en LT 12% vanaf 2026-01, CZ 12% vanaf 2024-01).
Bron: databank "Taxes in Europe" van de Europese Commissie (TEDB, https://ec.europa.eu/taxation_customs/tedb/), opgehaald op 2026-07-16; de Litouwse wijzigingen voor 2026 zijn bevestigd aan de hand van VMI (https://www.vmi.lt/evmi/pvm-tarifai), de Finse wijziging voor 2026 aan de hand van vero.fi. Scope: uitsluitend tarieven voor het vasteland en de standaardterritoria, regionale varianten (het Oostenrijkse Jungholz, de Griekse eilanden, Azoren/Madeira, Franse overzeese gebieden en Corsica) zijn niet gemodelleerd.
POST /v1/reference/vat-classifiers/list retourneert voortaan een countryCode per classificatie (bestaande i.SAF PVM*-codes zijn LT); POST /v1/reference/vat-classifiers/upsert (reference:write) laadt classificatiesets voor extra landen, wat het datapad vormt voor toekomstige landpakketten.
Bepaling van de behandeling
POST /v1/reference/vat/resolve (reference:read) beantwoordt de vraag "welke btw moet ik in rekening brengen?" voor een levering of dienst. Invoer: partnerId of customerCountryCode (+ optionele customerIsBusiness-override, die anders wordt afgeleid uit het btw-nummer van de partner), supplyType (goods | services | digital), date en situatievlaggen: belowDistanceSalesThreshold, facilitatedByMarketplace (je verkoopt via een platform met een fictieve leveranciersstatus), actingAsMarketplace (jij bent het platform), sellerEstablishedInEu, importedConsignmentValueEur.
Invoergegevens voor de regels die door Richtlijn (EU) 2025/516 van de Raad (VAT in the Digital Age) worden toegevoegd:
serviceKind(short_term_accommodation|passenger_road_transport) metserviceCountryCode, het land waar het pand zich bevindt of waar het vervoer plaatsvindt. Beide vereisensupplyType: "services".underlyingSupplierGaveVatNumberenunderlyingSupplierChargesVat: of de verhuurder of chauffeur het platform heeft voorzien van een btw-nummer van het land van levering en heeft verklaard dat deze de btw in rekening brengt. Alleen als beide waar zijn, wordt voorkomen dat het platform optreedt als de fictieve leverancier (art. 28a, lid 1).goodsKind(installed|energy_network) voor goederen die bij de afnemer worden geïnstalleerd of gemonteerd (art. 36) en voor gas, elektriciteit, warmte of koude via een netwerk (art. 38, 39).goodsLocationCountryCode, het land waar de goederen zich bevinden op het moment van verkoop of waar het transport begint, wanneer dit niet het land van de onderneming is.
Uitvoer: scheme, vatCountryCode, reverseCharge, deemedSupplier, zeroRated, het tarievenoverzicht van het bestemmingsland, de juridische grondslag (artikel van Richtlijn 2006/112/EG) en adviesnotities (bijv. een herinnering dat de vrijstelling van art. 138 een via VIES geldig btw-nummer van de klant vereist).
Geïmplementeerde regels:
| Situatie | Resultaat |
|---|---|
| Levering binnen hetzelfde land | domestic, binnenlandse tarieven |
| Intra-Europese b2b-goederen | intra_eu_b2b - levering met 0% btw op grond van art. 138, afnemer past verlegging toe |
| Intra-Europese b2b-diensten | reverse_charge - art. 44/196 |
| Intra-Europese b2c-goederen/digitale diensten boven € 10.000 | oss_union - tarieven van het bestemmingsland, art. 33(a)/58 |
Intra-Europese b2c onder € 10.000 (belowDistanceSalesThreshold) |
domestic op basis van herkomst, art. 59c |
| Algemene intra-Europese b2c-diensten | domestic, art. 45 |
| Goederen naar niet-EU | export - levering met 0% btw op grond van art. 146, lid 1 |
| Diensten/digitale diensten naar niet-EU | out_of_scope (art. 44/59) |
Verkoop via marktplaats met fictieve leveranciersstatus (facilitatedByMarketplace) |
marketplace_deemed - levering met 0% btw aan het platform op grond van art. 136a |
| Gemporteerde zending ≤ € 150 b2c | ioss - btw van het bestemmingsland bij verkoop, art. 369l–369x; fictieve leverancier indien actingAsMarketplace (art. 14a, lid 1) |
| Vrijgestelde kleine onderneming (bedrijf is geen btw-plichtige), binnenlandse levering | sme_exempt - geen btw, art. 284, lid 1 |
| Vrijgestelde kleine onderneming, grensoverschrijdende EU b2c, beschikt over een grensoverschrijdend EX-nummer | sme_exempt - art. 284, lid 2; geldig zolang de drempel van het bestemmingsland en de Unieomzet van € 100.000 niet worden overschreden |
| Vrijgestelde kleine onderneming, grensoverschrijdende EU b2c, geen EX-nummer | behoudt oss_union/herkomst met de notitie dat een grensoverschrijdend EX-nummer vrijstelling zou verlenen |
Platform (actingAsMarketplace) dat een verblijf van maximaal 30 nachten of personenvervoer over de weg faciliteert, vanaf 1 juli 2028 |
deemedSupplier: true, belast waar het pand zich bevindt of waar het vervoer plaatsvindt (art. 28a, 47, 48): domestic, oss_union voor een consument in een ander land (art. 369b(c)) of reverse_charge voor een bedrijf |
Verhuurder of chauffeur die via een dergelijk platform verkoopt (facilitatedByMarketplace), vanaf 1 juli 2028 |
marketplace_deemed - vrijgestelde levering aan het platform, art. 136b |
| Een van beide bovenstaande situaties vóór 1 juli 2028, of wanneer de verhuurder of chauffeur een btw-nummer heeft verstrekt en de btw in rekening brengt | plaats van de dienst resp. levering volgens art. 47 of 48, geen fictieve leverancier |
| Goederen aangehouden in een andere lidstaat en daar verkocht aan een consument, vanaf 1 juli 2028 | oss_union, art. 369b(e); daarvoor domestic in dat land met een notitie om zich daar te registreren |
| Hetzelfde aan een bedrijf aldaar | reverse_charge, art. 194 |
| Goederen verzonden vanuit een andere lidstaat | oss_union voor een consument (art. 33(a)) of intra_eu_b2b voor een bedrijf, met de notitie dat de levering behoort tot de btw-registratie van dat land |
| Geïnstalleerde goederen voor een consument in een andere lidstaat | oss_union vanaf 1 juli 2028 (art. 36, 369b(d)), daarvoor domestic aldaar |
| Gas, elektriciteit, warmte of koude voor een consument in een andere lidstaat | oss_union vanaf 1 januari 2027 (art. 39, 369aa, daarna 369b(d)); reverse_charge voor een bedrijf (art. 195) |
De drempel van € 10.000 (art. 59c) kan expliciet worden doorgegeven als belowDistanceSalesThreshold; indien weggelaten, houdt de motor deze automatisch bij op basis van grootboekgegevens (zie het drempel-endpoint hieronder) en voorziet deze de bepaling van een notitie met de lopende totalen.
Kmo-vrijstelling (Richtlijn 2020/285, vanaf 2025). Wanneer het bedrijf geen geregistreerde btw-plichtige is, behandelt de resolver dit als een kleine onderneming die van de vrijstelling gebruikmaakt: binnenlandse leveringen worden omgezet naar sme_exempt (geen btw), en grensoverschrijdende EU b2c-leveringen worden eveneens omgezet naar sme_exempt wanneer het bedrijf over een grensoverschrijdend EX-nummer beschikt (smeExemptionNumber op het bedrijfsprofiel), anders behoudt het de normale OSS-/herkomstbehandeling met een notitie waarin de grensoverschrijdende regeling wordt aanbevolen. Het controleren van de in aanmerking komende criteria (onder de drempel van het bestemmingsland en de Uniebrede omzetlimiet van € 100.000 blijven) is de verantwoordelijkheid van de aangever; de resolver geeft hiervoor een waarschuwing in de notities. Stel het EX-nummer in via account/companies/update (smeExemptionNumber).
Facturen
sales/invoices/create|update accepteren vatScheme (een van de bovenstaande regelingen), vatCountryCode (de consumptielidstaat; vereist en gevalideerd als EU voor oss_union/ioss) en deemedSupplier. E-commercebestellingen accepteren shipToCountryCode en marketplace; orders/fulfill bepaalt de behandeling automatisch op basis van het afleverland en voorziet de conceptfactuur van een stempel (gaat uit van goederen en een overschreden drempel voor afstandsverkopen; pas het concept vóór verzending aan indien dit niet het geval is).
Veld voor de btw-regeling op de pagina voor nieuwe facturen
Het veld "Btw-regeling" op de pagina voor een nieuwe factuur biedt de onderstaande opties. Het btw-percentage dat per regel wordt ingetypt, is het percentage dat op de factuur in rekening wordt gebracht. Het kiezen van een optie met de vermelding "geen btw" zet elke regel op 0% (en het terugschakelen herstelt het standaardtarief). De pdf drukt de wettelijk verplichte vermelding af voor de gekozen regeling. "Automatisch" roept bij het opslaan de bovenstaande resolver aan, waarbij gebruik wordt gemaakt van het land en het btw-nummer van de partner plus het gekozen "Type levering/dienst" (goederen, diensten of digitale diensten); als de partner geen land of btw-nummer heeft, mislukt het opslaan met een melding en dien je zelf een regeling te kiezen.
| Optie in het formulier | Regeling | Gebruik dit wanneer | Btw op de factuur |
|---|---|---|---|
| Automatisch (op basis van partner en type levering/dienst) | bepaald bij opslaan | Je wilt dat de regeling wordt gekozen op basis van de partner en het type levering/dienst | Ingesteld door de bepaalde regeling; regels worden op nul gezet voor regelingen zonder btw |
| Binnenlands | domestic |
De koper bevindt zich in je eigen land | De tarieven van je eigen land |
| Intra-EU b2b-goederen (0%, art. 138) | intra_eu_b2b |
Goederen verzonden naar een voor de btw geregistreerd bedrijf in een ander EU-land; het btw-nummer van de koper moet geldig zijn in VIES | Geen btw; de pdf vermeldt de vrijstelling op grond van art. 138 |
| Intra-EU b2b-diensten (verlegd) | reverse_charge |
Diensten aan een voor de btw geregistreerd bedrijf in een ander EU-land | Geen btw; de pdf drukt "Btw verlegd" af (art. 196) |
| Unie-OSS (EU-consumenten, btw bestemmingsland) | oss_union |
Goederen of digitale diensten aan consumenten in een ander EU-land boven de EU-brede drempel van € 10.000; vereist het consumptieland | Het tarief van het consumptieland, ingetypt op elke regel; wordt gerapporteerd in de kwartaalaangifte OSS |
| IOSS (invoer tot € 150) | ioss |
Goederen geïmporteerd van buiten de EU naar een EU-consument, zending ≤ € 150; vereist het consumptieland | Het tarief van het consumptieland, ingetypt op elke regel; wordt gerapporteerd in de maandaangifte IOSS |
| Marktplaats (fictieve leverancier) | marketplace_deemed |
Je verkoopt via een platform dat optreedt als de fictieve leverancier | Geen btw over je levering aan het platform (art. 136a) |
| Export (0%) | export |
Goederen verzonden naar een locatie buiten de EU | Geen btw; de pdf vermeldt de vrijstelling op grond van art. 146 |
| Buiten de scope (diensten buiten de EU) | out_of_scope |
Diensten aan een klant buiten de EU | Geen btw; de pdf vermeldt dat de levering/dienst buiten de EU-btw valt (art. 44/59) |
| Kmo-vrijgesteld (geen btw-plichtige) | sme_exempt |
Je bedrijf is geen btw-plichtige en maakt gebruik van de kmo-vrijstelling | Geen btw; de pdf vermeldt de vrijstelling op grond van art. 284 |
De twee intra-Europese b2b-opties verschillen alleen in wat er wordt geleverd. Goederen vallen onder de vrijstelling van art. 138: de koper rapporteert een intracommunautaire verwerving. Diensten vallen onder de verleggingsregeling van art. 44/196: de koper berekent de btw zelf. Beide leveren een factuur zonder btw op, maar de vermelding die op de pdf wordt afgedrukt en het veld waar het bedrag op de aangifte van de koper terechtkomt, verschillen, dus de keuze is belangrijk.
OSS- / IOSS-aangiften
POST /v1/declarations/eu/oss/compute (declarations:read) { year, quarter } - kwartaalaangifte voor de Unieregeling volgens bijlage III van Uitvoeringsverordening (EU) 2020/194 van de Commissie: rijen per consumptielidstaat × tarieftype (STANDARD/REDUCED) × tarief met de maatstaf van heffing en btw, creditnota's verrekend, plus totalen. Alleen uitgevoerde documenten met vatScheme: "oss_union" worden meegenomen. Waarschuwingen attenderen op niet-wettelijke tarieven voor de bestemming en periode, overgeslagen regels met 0% btw, documenten zonder vatCountryCode en leveringen belast in de identificatielidstaat.
POST /v1/declarations/eu/ioss/compute { year, month } - dezelfde opmaak, maar dan maandelijks voor vatScheme: "ioss" (geïmporteerde zendingen ≤ € 150).
Beide responses bevatten een array corrections (plus correctionsTotal): een creditnota die in de huidige periode is uitgegeven maar is gekoppeld (via creditedInvoiceId) aan een oorspronkelijke factuur uit een eerder OSS-/IOSS-tijdperk, wordt uit de perioderijen gehaald en gerapporteerd als een correctie voor een voorgaande periode - land, oorspronkelijk jaar, oorspronkelijk kwartaal (OSS) of maand (IOSS), en de negatieve btw-delta - zoals vereist door bijlage III van 2020/194. Creditnota's zonder creditedInvoiceId worden verrekend in de huidige periode en voorzien van een waarschuwing zodat ze kunnen worden gekoppeld; correcties die ouder zijn dan drie jaar worden gemarkeerd (art. 61 van Verordening 282/2011).
Beschikbaar voor elk bedrijf dat in de EU is gevestigd (niet beperkt tot LT).
Aangifte overbrengingen van eigen goederen
POST /v1/declarations/eu/own-goods-transfers/compute (declarations:read) { year, month } - de maandaangifte voor de bijzondere regeling voor overbrengingen van eigen goederen (Richtlijn 2006/112/EG art. 369xa-369xk, vanaf 1 juli 2028), in te dienen in de lidstaat waar het bedrijf is gevestigd vóór het einde van de daaropvolgende maand (dueDate). Rijen tonen per lidstaat waarheen de goederen zijn gegaan en per lidstaat vanwaar ze zijn verzonden, de waarde van de overbrengingen tegen kostprijs (art. 76) in euro, omgerekend tegen de wisselkoers van de laatste dag van de maand (art. 369xh). Een overbrenging is een voorraadoverdracht (POST /v1/inventory/stock/transfer) tussen magazijnen in twee verschillende lidstaten; stel het land van het magazijn in met countryCode bij /v1/inventory/warehouses/create of /v1/inventory/warehouses/update (een magazijn zonder land bevindt zich in het land van het bedrijf).
Digitale EU-rapportage
POST /v1/declarations/eu/digital-reporting/list (declarations:read) { fromDate, toDate } geeft een overzicht van elke transactie die op grond van art. 262 van Richtlijn 2006/112/EG vanaf 1 juli 2030 stuk voor stuk moet worden gerapporteerd in alle 27 lidstaten:
- uitgevoerde verkoopfacturen en creditnota's met
vatSchemeintra_eu_b2b(art. 262, lid 1, onder a) ofreverse_charge(art. 262, lid 1, onder c), verschuldigd op het moment dat de factuur wordt uitgereikt; - geregistreerde inkoopfacturen van een leverancier in een andere lidstaat met regels waarvan het bedrijf de btw zelf aangeeft (art. 262, lid 1, onder b, voor goederen, en onder d, voor diensten), verschuldigd 5 dagen nadat de factuur is ontvangen.
Elke transactie bevat de gegevens op grond van art. 264: factuurdatum en -nummer, btw-nummers van leverancier en afnemer, regels, maatstaf van heffing, de vrijstellingsverwijzing, het nummer van de gecorrigeerde factuur in het geval van een creditnota (art. 226, lid 16), de bankrekeningen van de leverancier (art. 226, lid 17), het btw-tarief en bedrag voor verwerving, de te rapporteren lidstaat (degene die het gebruikte btw-nummer heeft uitgegeven, art. 262, lid 2), de uiterste inzenddatum en missing met vermelding van elk gegevensbestanddeel dat niet in de administratie aanwezig is. Lidstaten zijn verplicht om de gegevens te accepteren als een e-factuur volgens EN 16931 (art. 263, lid 3); POST /v1/sales/invoices/peppol-xml bouwt dat bestand voor elke levering. Het gemeenschappelijke EU-bericht van art. 263, lid 4, en de nationale kanalen voor het verzenden van de gegevens zijn nog niet gepubliceerd, dus Nordlet verzendt dit niet.
Drempel voor afstandsverkopen
POST /v1/declarations/eu/distance-sales-threshold/get (declarations:read) { date? } - houdt de Uniedrempel van € 10.000 op grond van art. 59c bij op basis van grootboekgegevens: totalen van het lopende en het voorgaande kalenderjaar van grensoverschrijdende b2c-afstandsverkopen (facturen volgens de OSS-regeling plus grensoverschrijdende consumentenfacturen zonder regeling), of het bedrijf zich nog onder de drempel bevindt en de resterende ruimte. Documenten in andere valuta dan EUR worden op basis van de documentwaarde bij elkaar opgeteld en voorzien van een waarschuwing. De btw-resolver raadpleegt dit automatisch wanneer belowDistanceSalesThreshold niet wordt meegeleverd.
Drempels voor de kmo-vrijstelling
POST /v1/declarations/eu/sme-thresholds/list retourneert de binnenlandse btw-vrijstellingsdrempels per lidstaat op grond van Richtlijn (EU) 2020/285 (het nationale plafond van € 85.000 en het Unieomzetplafond van € 100.000 zijn inbegrepen). Cijfers zijn afkomstig van de landeninformatiepagina's van de kmo-portal van de Commissie; wanneer op een nationale pagina naar de TEDB wordt verwezen zonder een opgegeven bedrag, is de waarde null in plaats van een schatting. Sommige drempels zijn vastgesteld in de nationale valuta (DKK/HUF/RON) en sommige landen publiceren sectorale drempels (bijv. Ierland: diensten € 42.500, goederen € 85.000).
POST /v1/declarations/eu/sme-threshold/get { date? } rapporteert de positie van een niet-btw-plichtig bedrijf ten opzichte van de drempel van zijn eigen land: omzet in het lopende kalenderjaar plus die van het voorgaande jaar (precedingTurnover), status (below / approaching bij 80% / exceeded, of not_applicable voor een geregistreerde btw-plichtige, unknown wanneer de drempel niet bekend is of de valuta afwijkt), resterende ruimte en waarschuwingen. Er worden quarantaine-adviezen verstrekt: bij overschrijding van de drempel wordt de vrijstelling gemarkeerd als niet beschikbaar voor de rest van het lopende en het volgende kalenderjaar, en een bedrijf dat dit jaar onder de drempel zit maar er vorig jaar boven zat, wordt gewaarschuwd dat de vrijstelling pas vanaf het daaropvolgende jaar kan worden hervat (beide jaren moeten onder de drempel blijven - mechanisme van art. 284, lid 2; het endpoint voor de Unieomzet bevat dezelfde waarschuwing voor het plafond van € 100.000). Voor landen met een nationale intra-Europese trigger - de € 14.000 van Litouwen voor diensten verleend aan en goederen/diensten afgenomen van andere lidstaten - bevat de response een uitsplitsing op het gebied van intraEu (verwervingen van EU-leveranciers + verlegde diensten) met een eigen status en waarschuwing.
Grensoverschrijdende kmo-regeling: Unieomzet en kwartaalrapportage
POST /v1/declarations/eu/union-turnover/get { date? } houdt het plafond van € 100.000 voor de "omzet in de Unie" voor de grensoverschrijdende kmo-regeling (art. 284, lid 2) bij op basis van grootboekgegevens - de totale waarde van leveringen en diensten verricht binnen de EU (exclusief export en handelingen buiten de scope) in het lopende en het voorgaande kalenderjaar - en retourneert de totalen van beide jaren, de status, de resterende ruimte en waarschuwingen (not_applicable voor een btw-plichtige).
POST /v1/declarations/eu/sme-cross-border-report/compute { year, quarter } genereert de kwartaalrapportage die een kmo die van de regeling gebruikmaakt aan zijn lidstaat van vestiging verschuldigd is (art. 284b): de totale waarde van leveringen en diensten verricht in elke lidstaat in dat kwartaal, één rij per land (de lidstaat van levering = het consumptieland op de factuur, anders het land van de partner, anders het eigen land), plus het totaal. Niet-EU-leveringen en -diensten worden uitgesloten.
Nationale btw-aangiftepakketten
POST /v1/declarations/eu/vat-return/packs/list somt de beschikbare landpakketten op; POST /v1/declarations/eu/vat-return/compute { countryCode, year, month, months? } stuurt het verzoek door naar het landpakket dat voor dat land is geregistreerd en retourneert de aangifte als genummerde rubrieken ({ code, label, amount }) plus waarschuwingen, notities en de officiële source. Vereist dat het bedrijf in dat land is geregistreerd (anders wordt 422 geretourneerd). Litouwen (FR0600) wordt geleverd als het eerste pakket, waarin de bestaande FR0600-generator is verpakt; verdere landen worden toegevoegd als adapters op basis van uitsluitend data zodra hun officiële formulierindeling is geverifieerd.
De oudere samenvatting POST /v1/reports/oss blijft behouden als een heuristische weergave voor analyse (op basis van het partnerland, geen regeling vereist); de aangifte-endpoints vormen de methode die geschikt is voor officiële indiening. Beide leiden het eigen land af van het bedrijf in plaats van uit te gaan van Litouwen.