Перейти до основного контенту
База знань · виробничий облік USD41,42 ПДВ20% МЗП8 000

Реалізація · ПДВ · Базовий

Перша вихідна ПН через Odoo з реєстрацією в ЄРПН

Виставляємо першу податкову накладну з Odoo, накладаємо КЕП і дотискаємо її в ЄРПН до 15-го календарного дня — без паніки і ручних правок XML.

Час
25-30 хв
Модуль Odoo
Sales → Quotation → Invoice; Accounting → ПН
Читання
~7 хв
  • ПН
  • ЄРПН
  • перша подія
  • КЕП
  • sales-vat

Ви щойно стали платником ПДВ і закрили першу постачальну операцію — настав час виписати першу вихідну податкову накладну прямо з Odoo. Тут ви пройдете весь шлях: від визначення дати першої події до накладання КЕП і реєстрації в ЄРПН. Зробити це треба вчасно — у вас є 15 календарних днів від першої події, інакше штраф з’їсть від 10% до 50% суми ПДВ, а покупець втратить право на податковий кредит. Пройдемо крок за кроком, щоб перша ПН пройшла з першого разу й без ручних правок XML.

Результат

У ЄРПН висить ваша перша вихідна ПН зі статусом «Зареєстровано» і фіскальним номером із квитанції №2. У базі Odoo на рахунку — account.move з move_type='out_invoice', заповненим l10n_ua_pn_number, датою першої події і прив’язкою до квитанції. Покупець бачить ПН в особистому кабінеті ДПС і може брати на її основі податковий кредит.

Бухгалтерія Customer Invoices / INV/2026/06/0001
ЧернеткаПідтверджено
INV/2026/06/0001
Партнер ТОВ «Покупець» (платник ПДВ)
Дата інвойсу 03.06.2026 (перша подія)
Журнал Продажі (Customer Invoices)
Fiscal Position Стандарт UA
Номер ПН / ЄРПН l10n_ua_pn_number = 0001 · статус «Зареєстровано»
Invoice Lines
ПродуктПодатокБез ПДВПДВ 20%Разом
Постачання за SO20% продаж600 000,00100 000,00700 000,00
Разом600 000,00100 000,00700 000,00
Стилізований мокап екрана Odoo (не скріншот): вихідна ПН як account.move (out_invoice) на 600 000 ₴ бази + 100 000 ₴ ПДВ, датована першою подією.

Передумови

  • Підприємство — платник ПДВ, є чинне свідоцтво й ІПН платника.
  • В 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'. Перевірте, що рух коштів пішов правильно:

Дт 361 / Кт 701 — 600 000 ₴ · видаткова на платника ПДВ Дт 701 / Кт 6415 — 100 000 ₴ · ПЗ з ПДВ

Якщо ПН на аванс — без 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).

Перевірка

  • Статус ПН в Odool10n_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, повторіть підпис.

Дотичне