Nordlet

← Документація / Посібники

Двигун ПДВ ЄС

Визначення місця постачання, декларації OSS/IOSS, звільнення для малих підприємств (СМП) та пороги дистанційних продажів.

Оподаткування ПДВ транскордонних операцій для продажів у ЄС/ЄЕЗ: визначення місця постачання, зворотне нарахування (reverse charge), облік платників, що прирівнюються до постачальників через електронні ринки (marketplace deemed-supplier), довідник ставок за країнами та декларації OSS/IOSS. Усе нижче працює за принципом API-first; для кожного ендпоінту вказано необхідні області дії (scopes).

Довідник ставок

POST /v1/reference/eu-vat-rates/list (reference:read) - законодавчо встановлені ставки ПДВ для всіх 27 країн ЄС, з можливістю фільтрації за параметрами countryCode та date. Періоди дії ставок відстежуються з 2024-01-01 (EE 24 % з 2025-07, RO 21 %/11 % з 2025-08, SK 23 %/19 % з 2025-01, FI 13.5 % та LT 12 % з 2026-01, CZ 12 % з 2024-01).

Джерело: база даних Європейської комісії „Податки в Європі“ (TEDB, https://ec.europa.eu/taxation_customs/tedb/), отримана 2026-07-16; литовські зміни 2026 року підтверджено за даними VMI (https://www.vmi.lt/evmi/pvm-tarifai), фінську зміну 2026 року - за vero.fi. Обсяг даних: лише материкові ставки / ставки для стандартних територій. Регіональні особливості (австрійський Юнгхольц, грецькі острови, Азорські острови та Мадейра, заморські території Франції та Корсика) не моделюються.

POST /v1/reference/vat-classifiers/list тепер повертає countryCode для кожного класифікатора (наявні коди i.SAF PVM* мають значення LT); POST /v1/reference/vat-classifiers/upsert (reference:write) завантажує набори класифікаторів для додаткових країн. Це шлях передачі даних для майбутніх пакетів по країнах.

Визначення режиму оподаткування

POST /v1/reference/vat/resolve (reference:read) відповідає на запитання „який ПДВ мені нарахувати?“ для конкретного постачання. Вхідні дані: partnerId або customerCountryCode (+ опціональне перевизначення customerIsBusiness, яке інакше визначається автоматично на основі ПДВ-номера контрагента), supplyType (goods | services | digital), date, а також прапорці ситуації: belowDistanceSalesThreshold, facilitatedByMarketplace (продаж здійснюється через платформу, що прирівнюється до постачальника), actingAsMarketplace (ви є такою платформою), sellerEstablishedInEu, importedConsignmentValueEur.

Вхідні дані для правил, доданих Директивою Ради (ЄС) 2025/516 (ПДВ у цифрову епоху - ViDA):

  • serviceKind (short_term_accommodation | passenger_road_transport) разом із serviceCountryCode (країна, де розташоване майно або де здійснюється перевезення). Для обох параметрів потрібен supplyType: "services".
  • underlyingSupplierGaveVatNumber та underlyingSupplierChargesVat: чи надав орендодавець або водій платформі ПДВ-номер країни постачання та чи задекларував, що він самостійно нараховує ПДВ. Лише наявність обох цих умов запобігає визнанню платформи постачальником (ст. 28a(1)).
  • goodsKind (installed | energy_network) для товарів, що встановлюються або збираються у покупця (ст. 36), а також для газу, електроенергії, тепла чи холоду через мережі (ст. 38, 39).
  • goodsLocationCountryCode - країна, де товари знаходяться в момент продажу або де починається їхнє транспортування, якщо це не країна компанії.

Вихідні дані: scheme, vatCountryCode, reverseCharge, deemedSupplier, zeroRated, меню ставок країни призначення, правова підстава (стаття Директиви 2006/112/ЄС) та інформаційні примітки (наприклад, нагадування про те, що для звільнення за ст. 138 потрібен дійсний у VIES ПДВ-номер покупця).

Реалізовані правила:

Ситуація Результат
Постачання всередині країни domestic, внутрішні ставки
Внутрішньоєвропейські B2B товари intra_eu_b2b - звільнення від ПДВ за ст. 138, покупець самостійно нараховує податок
Внутрішньоєвропейські B2B послуги reverse_charge - ст. 44/196
Внутрішньоєвропейські B2C товари/цифрові послуги понад 10 000 євро oss_union - ставки країни призначення, ст. 33(a)/58
Внутрішньоєвропейські B2C нижче 10 000 євро (belowDistanceSalesThreshold) domestic за місцем відправлення, ст. 59c
Загальні внутрішньоєвропейські B2C послуги domestic, ст. 45
Товари за межі ЄС export - нульова ставка, ст. 146(1)
Послуги/цифрові послуги за межі ЄС out_of_scope (ст. 44/59)
Продаж через маркетплейс із прирівняним постачальником (facilitatedByMarketplace) marketplace_deemed - звільнене від ПДВ постачання платформі за ст. 136a
Імпортована партія товарів ≤ 150 євро B2C ioss - ПДВ країни призначення при продажі, ст. 369l–369x; статус прирівняного постачальника за actingAsMarketplace (ст. 14a(1))
Звільнене мале підприємство (компанія не є платником ПДВ), внутрішнє постачання sme_exempt - без ПДВ, ст. 284(1)
Звільнене мале підприємство, транскордонне B2C в ЄС, має транскордонний номер EX sme_exempt - ст. 284(2); діє за умови дотримання ліміту країни призначення та загального річного обороту в ЄС до 100 000 євро
Звільнене мале підприємство, транскордонне B2C в ЄС, без номера EX зберігається oss_union/режим за місцем відправлення з приміткою про те, що наявність транскордонного номера EX забезпечила б звільнення
Платформа (actingAsMarketplace), що забезпечує короткострокове проживання до 30 ночей або пасажирські автоперевезення, з 1 липня 2028 року deemedSupplier: true, оподаткування за місцем знаходження майна або здійснення перевезення (ст. 28a, 47, 48): domestic, oss_union для споживача в іншій країні (ст. 369b(c)) або reverse_charge для бізнесу
Орендодавець або водій, які продають через таку платформу (facilitatedByMarketplace), з 1 липня 2028 року marketplace_deemed - звільнене постачання на користь платформи, ст. 136b
Будь-який із двох попередніх пунктів до 1 липня 2028 року або якщо орендодавець/водій надав свій ПДВ-номер і самостійно нараховує ПДВ місце постачання за ст. 47 або 48, без прирівняного постачальника
Товари, що зберігаються в іншій державі-члені та продаються місцевому споживачу, з 1 липня 2028 року oss_union, ст. 369b(e); до цього - domestic у тій країні з приміткою про необхідність реєстрації
Аналогічна операція для бізнесу в тій країні reverse_charge, ст. 194
Товари, відправлені з іншої держави-члена oss_union для споживача (ст. 33(a)) або intra_eu_b2b для бізнесу, з приміткою про те, що постачання прив'язане до ПДВ-реєстрації у тій країні
Товари з монтажем для споживача в іншій державі-члені oss_union з 1 липня 2028 року (ст. 36, 369b(d)), до цього - domestic у тій країні
Газ, електроенергія, тепло чи холод для споживача в іншій державі-члені oss_union з 1 січня 2027 року (ст. 39, 369aa, потім 369b(d)); reverse_charge для бізнесу (ст. 195)

Поріг у 10 000 євро (ст. 59c) можна передати явно за допомогою параметра belowDistanceSalesThreshold; якщо його не вказано, двигун автоматично відстежує його на основі даних реєстру (див. ендпоінт порогів нижче) та додає до результатів визначення поточні суми нарастаючим підсумком.

Звільнення для СМП (Директива 2020/285, починаючи з 2025 року). Якщо компанія не зареєстрована як платник ПДВ, модуль визначення розглядає її як мале підприємство, що використовує звільнення: внутрішні постачання отримують статус sme_exempt (без ПДВ), а транскордонні B2C постачання в ЄС також отримують статус sme_exempt, якщо компанія має транскордонний номер EX (smeExemptionNumber у профілі компанії). В іншому разі застосовується стандартний режим OSS або режим за місцем відправлення з приміткою про рекомендацію транскордонної схеми. Відповідальність за дотримання критеріїв (перебування нижче порогу країни призначення та загального ліміту обороту по ЄС у 10 0000 євро) покладається на особу, що подає звіт; модуль фіксує це в примітках. Встановіть номер EX через account/companies/update (smeExemptionNumber).

Рахунки-фактури

Ендпоінти sales/invoices/create|update приймають поля vatScheme (один із наведених вище режимів), vatCountryCode (держава-член споживання; обов'язкове поле, перевіряється на приналежність до ЄС для oss_union/ioss) та deemedSupplier. Замовлення електронної комерції приймають shipToCountryCode та marketplace; метод orders/fulfill автоматично визначає режим оподаткування за країною доставки та проставляє його в проекті рахунка-фактури (передбачається, що це товари та поріг дистанційних продажів перевищено - за необхідності відкоригуйте проект перед виставленням).

Поле режиму ПДВ на сторінці створення рахунка

Поле „Режим ПДВ“ (VAT scheme) на сторінці створення рахунка пропонує наведені нижче варіанти. Ставка ПДВ, введена для кожного рядка, є ставкою, яка нараховується в рахунку. Вибір варіанту з позначкою „без ПДВ“ встановлює ставку 0 % для всіх рядків (а повернення до попереднього режиму відновлює стандартну ставку). PDF-файл друкує юридично обов'язкову примітку для обраного режиму. Варіант „Автоматично“ (Automatic) під час збереження викликає описаний вище модуль визначення, використовуючи країну та ПДВ-номер контрагента, а також обраний „Тип постачання“ (товари, послуги чи цифрові послуги). Якщо у контрагента немає країни чи ПДВ-номера, збереження завершиться помилкою із запитом самостійно обрати режим.

Варіант у формі Режим Використовуйте, коли ПДВ у рахунку-фактурі
Автоматично (за партнером і типом постачання) визначається при збереженні Потрібно автоматично обрати режим на основі партнера та типу постачання Визначається обраним режимом; для режимів без ПДВ суми рядків обнуляються
Внутрішній domestic Покупець знаходиться у вашій країні Ставки вашої країни
Внутрішньоєвропейські B2B товари (0%, ст. 138) intra_eu_b2b Товари відправляються підприємству з ПДВ-номером в іншій країні ЄС; ПДВ-номер покупця має бути дійсним у VIES Без ПДВ; у PDF зазначено звільнення за ст. 138
Внутрішньоєвропейські B2B послуги (зворотне нарахування) reverse_charge Послуги підприємству з ПДВ-номером в іншій країні ЄС Без ПДВ; у PDF друкується текст „Зворотне нарахування“ (ст. 196)
Союзний режим OSS (споживачі в ЄС, ПДВ країни призначення) oss_union Товари або цифрові послуги споживачам в іншій країні ЄС перевищують загальноєвропейський поріг у 10 000 євро; потрібна країна споживання Ставка країни споживання, введена в кожному рядку; відображається у квартальній декларації OSS
IOSS (імпорт до 150 євро) ioss Товари імпортуються з-за меж ЄС споживачу в ЄС, партія ≤ 150 євро; потрібна країна споживання Ставка країни споживання, введена в кожному рядку; відображається у місячній декларації IOSS
Маркетплейс (прирівняний постачальник) marketplace_deemed Ви продаєте через платформу, яка виступає прирівняним постачальником Без ПДВ для вашого постачання на користь платформи (ст. 136a)
Експорт (нульова ставка) export Товари відправляються за межі ЄС Без ПДВ; у PDF зазначено звільнення за ст. 146
Поза межами ЄС (послуги за межами ЄС) out_of_scope Послуги замовнику за межами ЄС Без ПДВ; у PDF зазначено, що операція поза межами ПДВ ЄС (ст. 44/59)
Звільнення для СМП (не платник ПДВ) sme_exempt Ваша компанія не є платником ПДВ і використовує звільнення для малих підприємств Без ПДВ; у PDF зазначено звільнення за ст. 284

Два внутрішньоєвропейські варіанти B2B відрізняються лише тим, що саме постачається. Товари підпадають під звільнення за ст. 138: покупець звітує про внутрішньоспільнотне придбання. Послуги підпадають під зворотне нарахування за ст. 44/196: покупець самостійно розраховує ПДВ. Обидва варіанти створюють рахунок без ПДВ, але текст примітки в PDF та розділ у декларації покупця відрізняються, тому вибір має значення.

Декларації OSS / IOSS

POST /v1/declarations/eu/oss/compute (declarations:read) { year, quarter } - квартальна декларація за Союзною схемою згідно з Додатком III до Регламенту Комісії (ЄС) 2020/194: рядки у розрізі держав-членів споживання × тип ставки (STANDARD/REDUCED) × ставка із зазначенням оподатковуваної суми та ПДВ, з урахуванням кредитових нот (стовідсотковий залік) та підсумків. Включаються лише виставлені документи зі значенням vatScheme: "oss_union". Попередження сигналізують про нестандартні ставки для країни призначення та періоду, пропущені рядки з нульовою ставкою, документи без vatCountryCode, а також операції, що оподатковуються в державі-члені ідентифікації.

POST /v1/declarations/eu/ioss/compute { year, month } - аналогічна щомісячна форма для vatScheme: "ioss" (імпортовані партії товарів ≤ 150 євро).

Обидві відповіді містять масив corrections (а також поле correctionsTotal): кредитова нота, виставлена в поточному періоді, але пов'язана (через creditedInvoiceId) з початковим документом із попереднього періоду OSS/IOSS, виноситься за межі рядків поточного періоду та декларується як коригування за попередній період із зазначенням країни, оригінального року, оригінального кварталу (OSS) або місяця (IOSS) та від'ємної дельти ПДВ, як того вимагає Додаток III до Регламенту 2020/194. Кредитові ноти без параметра creditedInvoiceId зараховуються до поточного періоду та супроводжуються попередженням для їх подальшого зв'язування; коригування, старші за три роки, також позначаються попередженням (ст. 61 Регламенту 282/2011).

Доступно для будь-якої компанії, зареєстрованої в ЄС (не обмежено лише Литвою).

Декларація щодо переміщення власних товарів

POST /v1/declarations/eu/own-goods-transfers/compute (declarations:read) { year, month } - щомісячна декларація спеціального режиму переміщення власних товарів (Директива 2006/112/ЄС, ст. 369xa-369xk, з 1 липня 2028 року), яка подається до закінчення наступного місяця (dueDate) у державі-члені, де зареєстровано підприємство. Рядки містять інформацію у розрізі держав призначення та відправлення товарів: вартість переміщень за собівартістю (ст. 76) в євро, перерахована за курсом останнього дня місяця (ст. 369xh). Переміщенням вважається переміщення запасів (POST /v1/inventory/stock/transfer) між складами у двох різних державах-членах; країна складу задається параметром countryCode у методах /v1/inventory/warehouses/create або /v1/inventory/warehouses/update (склад без вказаної країни вважається розташованим у країні компанії).

Цифрова звітність ЄС

POST /v1/declarations/eu/digital-reporting/list (declarations:read) { fromDate, toDate } формує перелік усіх транзакцій, які Директива 2006/112/ЄС (ст. 262) вимагає звітувати індивідуально починаючи з 1 липня 2030 року у всіх 27 державах-членах:

  • виставлені вихідні рахунки-фактури та кредитові ноти з режимом ПДВ intra_eu_b2b (ст. 262(1)(a)) або reverse_charge (ст. 262(1)(c)), строк подання яких настає під час виставлення рахунка;
  • зареєстровані вхідні рахунки від постачальників з іншої держави-члена з рядками, ПДВ за якими компанія нараховує самостійно (ст. 262(1)(b) для товарів, (d) для послуг), строк подання - 5 днів після отримання рахунка.

Кожна транзакція містить дані за ст. 264: дату та номер рахунка, ПДВ-номери постачальника й покупця, рядки, оподатковувану суму, посилання на підставу звільнення, номер виправленого рахунка для кредитової ноти (ст. 226(16)), банківські реквізити постачальника (ст. 226(17)), ставку та суму ПДВ для придбань, державу-член для звітування (ту, яка видала використаний ПДВ-номер, ст. 262(2)), кінцевий термін, а також поле missing із переліком відсутніх у файлі елементів даних. Держави-члени зобов'язані приймати ці дані як електронний рахунок-фактуру за стандартом EN 16931 (ст. 263(3)); POST /v1/sales/invoices/peppol-xml генерує такий файл для кожного постачання. Єдине повідомлення ЄС за ст. 263(4) та національні канали передачі даних ще не опубліковані, тому Nordlet їх не надсилає.

Поріг дистанційних продажів

POST /v1/declarations/eu/distance-sales-threshold/get (declarations:read) { date? } - відстежує загальноєвропейський поріг у 10 000 євро за ст. 59c на основі даних реєстру: показники поточного та попереднього календарних років для трансграничних B2C дистанційних продажів (рахунки за схемою OSS плюс транскордонні споживчі рахунки без застосування спеціальних схем), чи залишається компанія нижче порогу, а також залишок ліміту. Документи в іншій валюті сумуються за їхньою номінальною вартістю із виведенням попередження. Модуль визначення ПДВ звертається до цього ендпоінту автоматично, якщо параметр belowDistanceSalesThreshold не передано.

Пороги звільнення для СМП

POST /v1/declarations/eu/sme-thresholds/list повертає національні пороги звільнення від ПДВ у розрізі держав-членів згідно з Директивою (ЄС) 2020/285 (включено національний ліміт у 85 000 євро та загальноєвропейський ліміт річного обороту в 100 000 євро). Показники беруться зі сторінок порталу Єврокомісії щодо СМП; у разі посилання національної сторінки на базу TEDB без вказаної цифри замість припущень повертається null. Деякі пороги встановлені в національних валютах (DKK/HUF/RON), а деякі країни публікують галузеві пороги (наприклад, Ірландія: послуги 42 500 євро, товари 85 000 євро).

POST /v1/declarations/eu/sme-threshold/get { date? } відображає позицію компанії — неплатника ПДВ щодо порогу її власної країни: оборот за поточний календарний рік плюс попередній рік (precedingTurnover), статус (below / approaching при досягненні 80% / exceeded, або not_applicable для зареєстрованого платника ПДВ, unknown, якщо поріг відсутній у базі або відрізняється валюта), залишок ліміту та попередження. Додано рекомендації щодо карантинних обмежень: перевищення порогу позначає звільнення як недоступне до кінця поточного та наступного календарного року, а компанія, яка була нижче порогу цього року, але перевищила його минулого року, отримує попередження про те, що звільнення не може бути відновлене до наступного року (обидва роки мають залишатися нижче порогу - механіка ст. 284(2); ендпоінт загальноєвропейського обороту містить аналогічну рекомендацію щодо ліміту в 100 000 євро). Для країн із національним внутрішньоєвропейським тригером (литовський ліміт у 14 000 євро для послуг, що надаються в інші держави-члени, та придбаних товарів/послуг) відповідь включає розбивку intraEu (придбання у постачальників з ЄС + послуги зі зворотним нарахуванням) із власним статусом та попередженням.

Транскордонна схема для СМП: загальноєвропейський оборот та квартальний звіт

POST /v1/declarations/eu/union-turnover/get { date? } відстежує ліміт „обороту в ЄС“ у 100 000 євро для транскордонної схеми СМП (ст. 284(2)) на основі даних реєстру — загальну вартість постачань, здійснених у межах ЄС (експорт та операції за межами дії ПДВ виключено) у поточному та попередньому календарному роках, повертаючи підсумки за обидва роки, статус, залишок ліміту та попередження (not_applicable для платника ПДВ).

POST /v1/declarations/eu/sme-cross-border-report/compute { year, quarter } формує квартальний звіт, який суб'єкт малого підприємництва на цій схемі зобов'язаний подати своїй рідній державі-члену (ст. 284b): загальну вартість постачань, здійснених у кожній державі-члені за цей квартал (по одному рядку на країну; держава-член постачання = країна споживання з рахунка-фактури, інакше країна партнера, інакше рідна країна), а також загальний підсумок. Постачання за межі ЄС виключено.

Національні пакети податкових декларацій

POST /v1/declarations/eu/vat-return/packs/list перелічує доступні пакети країн; POST /v1/declarations/eu/vat-return/compute { countryCode, year, month, months? } скеровує запит до пакета, зареєстрованого для відповідної країни, та повертає декларацію у вигляді пронумерованих комірок ({ code, label, amount }), а також попередження, примітки та офіційне source (джерело). Вимагає реєстрації компанії у відповідній країні (інакше повертається код 422). Литва (FR0600) постачається як перший пакет, що огортає наявний генератор FR0600; інші країни додаватимуться як адаптери на основі даних після перевірки офіційного макету їхніх форм.

Старий зведений метод POST /v1/reports/oss залишено як евристичне аналітичне представлення (на основі країни партнера, без вимоги щодо наявності спеціальної схеми); ендпоінти декларацій є основним шляхом для подачі офіційної звітності. Обидва підходи визначають рідну країну на основі даних компанії, а не за замовчуванням вважають її Литвою.