Real-Time EU VAT for Developers Building in Lithuania
A grounded comparison of accounting and tax platforms that handle Lithuanian and EU VAT through APIs, SDKs and webhooks, with clear notes on what each one actually covers.
Lithuania has been doing near-real-time VAT reporting since before most vendors used the phrase. Registered payers submit monthly invoice registers through i.MAS, and the tax inspectorate pre-fills the VAT return from them. The reduced-rate structure also changed on 1 January 2026: the 9% rate was abolished, a 12% rate took over accommodation, passenger transport and cultural events, and books moved to 5%. Any platform still carrying a 9% Lithuanian rate is describing a country that no longer exists.
This piece compares the developer-facing platforms that handle EU and Lithuanian VAT in real time, separates calculation from bookkeeping from filing, and says where each option actually fits.
What "real-time EU VAT management" has to include
The phrase gets stretched to cover very different products. To mean anything, a platform has to do most of the following while a transaction, invoice, settlement or ledger entry is being created:
- Work out the VAT treatment from the transaction data.
- Apply the current country and product rules.
- Cover Lithuania and the wider EU, including B2B reverse charge and B2C destination taxation.
- Expose all of that through an API, SDK or webhook.
- Keep the data for VAT, OSS, audit and accounting reporting.
Three different capabilities hide inside the words "real time":
- Real-time calculation — VAT is computed as the transaction or invoice is created.
- Real-time accounting — the transaction, the ledger entry and the VAT data land in the books immediately.
- Real-time reporting — the data is transmitted to a tax authority shortly after the transaction.
Most products do the first. Very few do all three. Lithuania is one of the countries where the second and third capabilities merge: the monthly i.SAF registers are the reporting, and the tax inspectorate pre-fills the return from them, so the registers have to come out of the books rather than be assembled by hand.
The Lithuanian and EU rules that shape the comparison
Lithuania applies a 21% standard rate, a 12% reduced rate covering accommodation, scheduled passenger transport and admission to cultural and arts events, and a 5% rate covering medicines, technical aids for the disabled, newspapers, periodicals and books, with 0% for exports and intra-EU supplies. The 12% rate is new from 1 January 2026 and replaced the former 9% rate for those categories; books moved from 9% to 5% on the same day, and the heating and firewood reliefs expired. The current rates are published by VMI. Registration is required above €45,000 of taxable turnover in the current or previous calendar year, with a separate €14,000 threshold for intra-EU acquisitions.
For qualifying intra-EU B2C distance sales and cross-border digital services, the EU-wide threshold is €10,000, set out on the European Commission's One Stop Shop portal. Above it, VAT generally follows the customer's Member State. The One Stop Shop lets a business register in one Member State and declare cross-border B2C VAT for the whole EU, but it does not remove the need for transaction-level logic.
There is also a marketplace rule that is stricter than most teams expect. Under Article 14a an electronic interface becomes the deemed supplier for distance sales of imported goods in consignments not exceeding €150, and separately for goods supplied to EU customers at any value when the underlying seller is not established in the EU. The Commission's Explanatory Notes on the VAT e-commerce rules set out both limbs. If you are building a marketplace, this changes the architecture rather than adding a field.
The shortlist at a glance
| Platform | Best fit | Real-time VAT capability | Accounting, OSS and filing scope | Main caveat |
|---|---|---|---|---|
| Stripe Tax | Products and marketplaces already on Stripe | Calculates VAT as the transaction is created, Lithuania included | EU exports and OSS data; no Lithuanian ledger, and it does not file EU returns itself | Only worth it when Stripe is already the payment rail |
| Paddle | SaaS and downloadable digital products | Calculates VAT at checkout from the customer location | Registers, files and remits as Merchant of Record | Takes over the seller-of-record role and the invoice with it |
| Quaderno | Smaller SaaS and digital commerce | Calculates at checkout, validates VAT numbers | Tax reports and records; automatic filing is not documented for every plan | A tax and invoicing layer, not a ledger |
| Avalara AvaTax | Enterprise ERP and billing stacks | Real-time determination with maintained tax content | VAT Reporting is a separate product in the Returns range | Scoped and priced for enterprise rollouts |
| Fonoa Tax Engine | Large platforms and marketplaces | Real-time determination across 190+ jurisdictions | Returns, e-invoicing and reporting; tax-number validation is a separate product | No published pricing |
| Nordlet | Embedded accounting inside marketplaces and platforms | Resolves the scheme and the rates per transaction, posted together with the ledger entry | Immutable double-entry ledger, payouts, OSS and IOSS figures, exportable audit trail | The widest country coverage: FR0600, i.SAF, i.SAF-T, i.VAZ and Intrastat all generated; filing is still a portal upload |
Stripe Tax: the quick path when Stripe is already there
For teams already running Stripe payments, Billing or Connect, Stripe Tax is the most accessible real-time calculation layer. The documentation covers calculating VAT worldwide, the Tax API with PaymentIntents, collecting tax on invoices, and using Tax with Connect as a platform or marketplace.
Where Stripe stops is stated plainly by Stripe. Its filing documentation says: "You must file and remit the tax you collect for every location where you're registered." Automated filing is offered in the United States; elsewhere Stripe works with filing partners, so an EU VAT return is filed by you or by a partner, not by Stripe Tax. It is a calculation and export layer, not a set of books.
On a Lithuanian stack, Stripe Tax answers the rate question and none of the i.MAS questions, which is where the monthly work actually is.
Paddle: hand the whole tax role to someone else
Paddle is a different category of product. It acts as Merchant of Record and takes responsibility for "calculating, filing, and remitting" tax where your customers are, so it computes VAT at checkout, issues the invoice, and files and remits for you. Its developer documentation covers Paddle.js, the catalog APIs, checkout and webhooks such as transaction.completed, which fires once a transaction reaches completed status and is the usual hook for granting access after payment.
The trade-off is structural rather than technical. Paddle becomes the seller of record, so you no longer hold the merchant, invoice and accounting model you would keep with your own checkout.
For digital products sold to Lithuanian consumers this covers VAT end to end. A Lithuanian company still files FR0600 and submits i.SAF every month.
Quaderno: a tax layer for smaller digital businesses
Quaderno is one of the clearer developer-first options for smaller digital businesses that want a tax service independent of a single payment processor. Its API documents a /tax_rates/calculate endpoint that computes the applicable rate from the customer's address and the transaction type, a /tax_ids/validate endpoint that covers EU VAT numbers, and invoice, receipt and credit-note endpoints. A documented Connect section with account resources is the part a marketplace would build on.
The limit is scope. Quaderno is a tax and invoicing layer, not an accounting system with an immutable double-entry ledger, and its public material does not establish automatic filing on every plan in every country. Treat filing responsibility as something to confirm in writing.
It handles checkout calculation, but neither FR0600 nor the i.SAF registers are within its scope, and those are the recurring obligations.
Avalara and Fonoa: the enterprise tax engines
Avalara's AvaTax performs real-time tax determination during checkout, invoicing or order processing, through REST APIs and SDKs. Note the product split: VAT Reporting sits separately under Returns, so an EU VAT compliance workflow is not simply "AvaTax" — scope the modules you actually need. Avalara documents a signup path with a 90-day free trial, while the production commercial model is enterprise-shaped.
Fonoa's Tax Engine states that it "calculates the correct indirect tax treatment for every transaction in real time" through a versioned API across more than 190 jurisdictions. One architectural detail matters: tax-number validation is a separate Fonoa product (Validate), not part of Tax Engine, so if VIES evidence matters to you, scope it explicitly instead of assuming the engine covers it.
For a Lithuanian-only build, both are far more product than the problem needs, and neither publishes a Lithuanian register capability in its public material.
Where Nordlet fits: the VAT answer and the ledger entry are the same record
Nordlet is an accounting API for marketplaces and platforms that need ledgers, payouts, EU tax and an exportable audit trail inside their own product, rather than an invoicing app attached to a checkout.
The architectural difference is that VAT determination and the accounting entry belong to one system. POST /v1/reference/vat/resolve answers the treatment question from the transaction facts:
{
"customerCountryCode": "LT",
"customerIsBusiness": false,
"supplyType": "digital"
}
{
"scheme": "oss_union",
"vatCountryCode": "LT",
"reverseCharge": false,
"deemedSupplier": false,
"zeroRated": false,
"rates": [
{ "category": "standard", "ratePercent": "21.00" },
{ "category": "reduced", "ratePercent": "12.00" },
{ "category": "reduced", "ratePercent": "5.00" }
],
"legalBasis": "Directive 2006/112/EC art. 58 — taxable where the consumer resides; report via the Union OSS"
}
Change the customer to a business with a valid Lithuanian VAT number and the same call returns reverse_charge with Directive 2006/112/EC art. 44, 196 — VAT due by the customer (reverse charge). Set actingAsMarketplace with a seller established outside the EU and it returns deemedSupplier: true under art. 14a(2). The legal basis travels with the answer, which is the part an auditor asks about years later.
Nine schemes are modelled: domestic, intra_eu_b2b, reverse_charge, oss_union, ioss, marketplace_deemed, export, out_of_scope and sme_exempt. The €10,000 distance-selling threshold is tracked rather than assumed — /v1/declarations/eu/distance-sales-threshold/get reports where a company stands against it, and /v1/declarations/eu/oss/compute and /v1/declarations/eu/ioss/compute produce the period figures, including a corrections section for earlier periods. Rates come from the European Commission's TEDB feed with effective dates, and a company can override them per country.
The determination then posts into an immutable double-entry ledger with the VAT metadata attached to the entry, so there is no second reconciliation between a tax engine and a separate system of record. Monetary amounts are decimal strings, never floating-point numbers. Around that: typed SDKs, webhooks such as sale_invoice.paid, Idempotency-Key support for safe retries, sandbox companies, VIES validation frozen against the invoice, multi-company support, and period locking so a closed month cannot be quietly edited.
Lithuania is the country Nordlet shipped first, so the coverage is the widest and the boundary is the narrowest. /v1/declarations/eu/vat-return/compute with countryCode: "LT" computes FR0600 against the VMI v04 form and its filling rules, driven by the same i.SAF VAT classifiers used in the registers. The i.SAF invoice registers (version 1.2), the i.SAF-T standard audit file (SAF-T v2.01), i.VAZ consignment note data (iVAZ 1.3.3) and Intrastat reports are all generated, and the spec versions in use are queryable at /v1/reference/compliance-versions/list. There is a Lithuanian chart of accounts and payroll declarations (GPM313, SAM, 1-SD and 2-SD). The remaining limit is the last mile: filing is a portal upload to VMI, done by a person; automatic submission clients are planned rather than shipped. Rate determination is per country and rate category rather than per product classification, so anything turning on a product code is decided upstream.
The honest summary: if you need live calculation in as many countries as possible and someone else to file, the enterprise tax engines and the Merchant of Record services are further ahead. If your central requirement is real books — a marketplace-aware double-entry ledger where settlements and VAT sit in one place — that is the gap Nordlet is built for, and none of the calculation layers fills it. The API reference shows the full surface before you commit.
What Lithuania makes you file
Lithuania asks for more than most EU countries, and the pieces are tightly coupled.
- FR0600 — the VAT return, monthly by the 25th of the following month, with payment the same day. A calendar-quarter period is possible when prior-year income was at most €300,000 and there are no intra-EU acquisitions.
- i.SAF — registers of issued and received VAT invoices, monthly by the 20th, through the i.MAS platform. VMI pre-fills the return from them.
- FR0564 — the EU sales list, monthly by the 25th, for intra-EU supplies of goods and services.
- i.VAZ — consignment note data, filed before transport starts, at most 7 days in advance, with corrections within 5 working days of delivery.
- i.SAF-T — the standard audit file, produced on VMI request during an audit.
- Intrastat — for 2026, arrivals above €600,000 and dispatches above €400,000, monthly by the 10th working day.
The coupling is the point. Because the return is pre-filled from the registers, the registers have to be right first, and both have to come from the same ledger.
The full picture for the country — corporate tax, payroll, filing calendar and the authorities behind each form — is on the Lithuania tax page.
Selection criteria worth running before you commit
Before treating any "VAT-ready" product as equivalent to another, check it against these:
- Calculation or bookkeeping — does it determine the VAT treatment, or only store a code you pass in?
- Lithuanian coverage — 21%, 12%, 5%, 0%, reverse charge, and the 2026 rate change that abolished 9%?
- EU destination logic — can it tell Lithuanian VAT from another Member State's for a B2C sale?
- B2B VAT-number validation — does it check VIES and keep the evidence?
- OSS and IOSS — does it aggregate, prepare, submit, or only export?
- Marketplace liability — can it model seller, platform and deemed-supplier roles?
- Accounting integrity — does each calculation produce a matching ledger entry?
- Developer ergonomics — REST API, SDKs, webhooks, sandbox, idempotency, versioning?
- Audit trail — rate, rule, location evidence, VAT number, timestamp, revision history?
- i.MAS registers — can it generate i.SAF, i.SAF-T and i.VAZ from the same ledger the FR0600 comes from, at the spec versions VMI currently accepts?
- Filing responsibility — exactly which step does the vendor accept?
FAQ
Which platform offers complete real-time EU VAT management in Lithuania?
None should be described as covering all three real-time capabilities for every business model, but Lithuania is where the gap is narrowest, because the registers and the return are generated from the same records. The remaining step everywhere is submission.
Is Stripe Tax enough for a Lithuanian marketplace?
For calculation and exports, often yes. For a double-entry ledger tracking payouts across many sellers, no, and neither FR0600 nor the i.SAF registers come out of it.
Does Nordlet file Lithuanian VAT returns automatically?
It computes FR0600 and generates the i.SAF, i.SAF-T, i.VAZ and Intrastat files, but the submission itself is a portal upload done by a person. Automatic submission clients are planned, not shipped. No country return is auto-submitted today.
What changed in Lithuanian VAT rates on 1 January 2026?
The 9% rate was abolished. A new 12% rate covers accommodation, scheduled passenger transport and admission to cultural and arts events; books moved from 9% to 5%; and the heating and firewood reliefs expired.
What to do first
Decide which of the three real-time capabilities you need — in Lithuania the registers make the second and third overlap. If you need live calculation on a Stripe stack, start with Stripe Tax. If you sell digital products and want filing off your plate, test Paddle. If the books, the payouts, FR0600 and the i.MAS registers have to come from one system, get started with the sandbox. Pricing is published rather than quote-only.
Sources
Every vendor claim above links to that vendor's own documentation. The rules themselves come from:
- VMI: VAT rates overview — the 21%, 12% and 5% rates
- VMI: VAT changes from 2026 — the abolition of the 9% rate and the new structure
- VMI: filing VAT returns (FR0600, FR0564) — the return deadlines and the EU sales list
- European Commission: VAT One Stop Shop — the €10,000 distance-selling threshold
Vendor capabilities and national mandates both change. Everything here was checked against public documentation on 8 September 2026; verify anything you are about to build on.