Ви щойно стали платником ПДВ і закрили першу постачальну операцію — настав час виписати першу вихідну податкову накладну прямо з Odoo. Тут ви пройдете весь шлях: від визначення дати першої події до накладання КЕП і реєстрації в ЄРПН. Зробити це треба вчасно — у вас є 15 календарних днів від першої події, інакше штраф з’їсть від 10% до 50% суми ПДВ, а покупець втратить право на податковий кредит. Пройдемо крок за кроком, щоб перша ПН пройшла з першого разу й без ручних правок XML.
Результат
У ЄРПН висить ваша перша вихідна ПН зі статусом «Зареєстровано» і фіскальним номером із квитанції №2. У базі Odoo на рахунку — account.move з move_type='out_invoice', заповненим l10n_ua_pn_number, датою першої події і прив’язкою до квитанції. Покупець бачить ПН в особистому кабінеті ДПС і може брати на її основі податковий кредит.
| Продукт | Податок | Без ПДВ | ПДВ 20% | Разом |
|---|---|---|---|---|
| Постачання за SO | 20% продаж | 600 000,00 | 100 000,00 | 700 000,00 |
| Разом | 600 000,00 | 100 000,00 | 700 000,00 |
Передумови
- Підприємство — платник ПДВ, є чинне свідоцтво й ІПН платника.
- В Odoo встановлений модуль
l10n_ua(абоl10n_ua_ediвід локального партнера) та налаштовано шлюз до ЄРПН — через M.E.Doc API, СОТА чи власний конектор. - КЕП директора (або уповноваженої наказом особи) під’єднано до Odoo. Сертифікат і носій ключа на місці.
- Налаштовані базові податки:
tax_20_sale,tax_0_export,tax_exempt_197якaccount.tax-записи з правильними repartition lines і тегами декларації. - Контрагент-покупець заведений у
res.partnerз ІПН платника ПДВ та КВЕД. - Видаткова накладна (або акт виконаних робіт) уже підписана з боку покупця, або є виписка про надходження авансу — потрібна для визначення першої події.
⚖Сила законуПКУ ст. 187.1 · ⚖Сила законуПКУ ст. 201.10 · Наказ МФУ №1307
Як це зробити
1. Визначте дату першої події
Ця дата керує всім: вона стає датою ПН і відлічує ті самі 15 днів на реєстрацію. Подивіться в account.payment і stock.picking за цим контрагентом. Дата ПН — це дата найранішої з двох подій:
- зарахування коштів на ваш банківський рахунок (за випискою банку — не дата платіжного доручення покупця);
- фактичне відвантаження (
stock.picking.date_doneабо датаaccount.move.lineз видаткової).
Якщо аванс зайшов 03.06.2026, а відвантаження було 10.06.2026 — перша подія саме 03.06, і ПН складаєте на цю дату. Запишіть її собі — далі вона потрібна в полі l10n_ua_first_event_date.
2. Створіть інвойс із замовлення на продаж
Меню Sales → Замовлення → [ваш SO] → Створити інвойс. Odoo згенерує account.move з move_type='out_invoice' і перетягне рядки із замовлення. Якщо ви виставляєте ПН на аванс, тип буде той самий, але кількість і номенклатура — за оплаченим обсягом.
На формі інвойсу перевірте:
- Партнер — той самий
res.partnerз повним ІПН; - Дата інвойсу (
invoice_date) — дорівнює даті першої події; - Fiscal Position —
Стандарт UAдля звичайного постачання за 20%; - Журнал — журнал продажів (не «Різне», бо тоді не потрапить у звіт);
- Податок на кожному рядку —
20% продажіз тегом рядка 1.1 декларації.
3. Заповніть українські поля ПН
Розгорніть вкладку ПН / ЄРПН (або «Український облік» — назва залежить від модуля). Тут:
l10n_ua_pn_number— порядковий номер з наскрізної нумерації. Перевірте, що цей номер ще не використано —account.moveмає констрейнт_sql_constraintsна унікальність;l10n_ua_first_event_date— та сама дата з пункту 1;l10n_ua_pn_reason_code— лишаємо порожнім для звичайного постачання платнику ПДВ; для роздрібу/неплатника — «02», для зведеної — «04»;- одиниці виміру — за КСПОВО (модуль
l10n_uaзазвичай мапить їх зuom.uom); - код УКТЗЕД для товарів (10 знаків) або ДКПП для послуг — заповніть на
product.template, інакше згенерований XML не пройде валідацію ЄРПН.
4. Підтвердьте інвойс і перевірте проводки
Натисніть Підтвердити. Odoo переведе state='posted'. Перевірте, що рух коштів пішов правильно:
Якщо ПН на аванс — без 701, бо доходу ще немає:
Дт 311 / Кт 681 — 600 000 ₴ · аванс від покупця Дт 643 / Кт 6415 — 100 000 ₴ · ПЗ за авансомЗгодом, коли відвантажите товар, аванс закриється: Дт 681 / Кт 361 — 600 000 ₴ і Дт 701 / Кт 643 — 100 000 ₴ .
5. Згенеруйте XML і накладіть КЕП
На формі інвойсу натисніть Виписати ПН (або Згенерувати XML для ЄРПН — залежить від модуля). Odoo сформує файл за схемою J1201010, відкриється wizard з прев’ю. Перевірте «шапку»: ваш ІПН, ІПН покупця, дату ПН, загальну суму.
Натисніть Підписати КЕП. Модуль звернеться до бібліотеки IIT (або сервісу M.E.Doc), запросить ключ директора, накладе підпис на XML. Підпис зберігається в полі l10n_ua_pn_signed_xml.
6. Надішліть до ЄРПН і дочекайтесь квитанції №2
Кнопка Надіслати до ЄРПН надсилає підписаний XML до шлюзу ДПС. У l10n_ua_pn_status спершу з’явиться sent, потім — accepted або rejected. Очікуйте 1–5 хвилин на квитанцію №1 (про приймання) і до 30 хвилин на квитанцію №2 (про реєстрацію).
Коли прийде квитанція №2, в l10n_ua_pn_erpn_id запишеться фіскальний номер. Це і є офіційне підтвердження, що ПН зареєстрована.
7. Збережіть квитанції у вкладеннях
Відкрийте Документи на інвойсі (ir.attachment) і перевірте, що там лежать: підписаний XML, квитанція №1, квитанція №2. Зберігайте їх до закінчення строку давності — 1095 днів від подання декларації, у якій ПН врахована (ПКУ ст. 102.1).
Перевірка
- Статус ПН в Odoo —
l10n_ua_pn_status='accepted'абоregistered, з фіскальним номером уl10n_ua_pn_erpn_id. - Дата складання vs дата реєстрації — реєстрація не пізніше ніж через 15 календарних днів від дати першої події.
- Декларація з ПДВ — після закриття періоду цей
account.moveпотрапляє в рядок 1.1 декларації (постачання на митній території за 20%) і в Додаток Д5. - Особистий кабінет покупця — попросіть покупця перевірити, що ПН з’явилася в його реєстрі (часто це швидший канал зворотного зв’язку, ніж чекати квитанцію №2).
- Сальдо 6415 збільшилося на суму ПДВ — це і є нараховане ПЗ, яке піде до бюджету в наступному звітному періоді.
Якщо щось пішло не так
Помилка валідації XML — «Невірний код УКТЗЕД». На картці продукту немає 10-значного коду, або стоїть 8 цифр. Заповніть product.template.x_uktzed_code, повторно згенеруйте XML.
ЄРПН повернув: «Дата складання раніше за дату попередньої ПН з тим самим номером». Збили наскрізну нумерацію — Odoo дав той самий номер двічі. Зайдіть у ir.sequence для ПН і перевірте лічильник. Створіть нову ПН з наступним номером, стару скасуйте через Скасувати → Чорнетка.
Квитанція №2 з відмовою «Платник не є зареєстрованим». Контрагент-покупець вказав не той ІПН, або його реєстрацію анульовано. Перевірте за порталом ДПС у реєстрі платників ПДВ. Якщо покупець справді неплатник — складіть ПН з типом причини «02» та умовним ІПН 100000000000.
Зупинка реєстрації за СМКОР. Прийшло повідомлення «Реєстрацію зупинено». Подайте Таблицю даних платника (форма J1312303) і пояснення з документами. Розблокування — до 5 робочих днів. Якщо це регулярна номенклатура — подайте Таблицю заздалегідь, не чекаючи зупинки.
Прострочили 15 днів. За ПКУ ст. 120-1.1 — штраф від 10% до 50% від суми ПДВ. Реєструйте якомога швидше: затримка на 1–15 днів — 10%, 16–30 днів — 20%, 31–60 днів — 30%, 61–365 — 40%, понад 365 — 50% і втрата права покупця на ПК.
КЕП не накладається — «Сертифікат не довірений». Сертифікат директора закінчився або не оновлений на стороні ДПС. Перевипустіть КЕП у АЦСК, оновіть конфігурацію l10n_ua.cert_config, повторіть підпис.
Дотичне
- Виписка та реєстрація вихідної ПН в ЄРПН — повний розбір механіки, ризиків і управлінського боку процесу.
- Вихідна податкова накладна — реквізити та зразок документа.
- Перша подія для ПДВ — чому саме «перша з двох».
- Fiscal Position на покупця-ЗСУ — наступний крок, якщо в портфелі з’являється оборонне замовлення.