Імпорт компонентів — це той випадок, коли звичне правило «перша подія» не працює: товар їде через кордон, ПДВ ви платите митниці окремо й за іншою датою, а до контрактної ціни ще додаються мито, акциз і транспорт. Тут ви проведете таку партію від замовлення нерезиденту до рядка 11.1 декларації: оприбуткуєте товар за повною собівартістю, визнаєте імпортний ПК за датою сплати на митниці й коректно закриєте курсові різниці. Помилитеся з датою чи рахунком — і ПДВ або зависне на 644, або поїде в декларацію не того періоду, тому крокам нижче варто слідувати по порядку.
Результат
Імпортна партія оприбуткована на склад за повною собівартістю (контрактна ціна + мито + транспорт), вхідний ПДВ за датою сплати на митниці потрапляє у ПК поточного періоду, курсові різниці нараховані коректно.
Передумови
- Активований модуль
stock_landed_costsі налаштована fiscal position «Імпорт» (без вхідного ПДВ на постачальника-нерезидента). - Заведено валютний журнал у валюті контракту (USD або EUR) із курсом НБУ на дату операції.
- Митний брокер передав скан МД із підсумками: мито, акциз, ПДВ-імпортний.
- У плані рахунків є 632 (розрахунки з нерезидентами), 377 (розрахунки з митницею), 641-ПДВ-імпортний субрахунок.
Як це зробити
- Почніть із замовлення — воно задає валюту й режим ПДВ для всієї операції. Створіть PO на нерезидента у валюті: перейдіть у Закупівлі → Замовлення, оберіть постачальника-нерезидента, у полі
currency_idпоставте USD або EUR. На постачальникові у вкладці Sales & Purchase має бути проставлена fiscal position «Імпорт» — тоді ПДВ на рядках PO автоматично не нараховується. - Підтвердьте PO і прийміть товар на карантин. Створіть приходний picking у спеціальний warehouse «Транзит-імпорт» або карантинну локацію — товар фізично прибув, але МД ще не оформлена і у виробництво не йде.
- Внесіть Vendor Bill на контрактну вартість. На PO натисніть Створити рахунок. Сума буде у валюті — Odoo перерахує за курсом НБУ на дату документа. Цей
account.moveпроводиться DR 281 / CR 632 (без ПДВ, бо fiscal position «Імпорт»). - Створіть окремий Bill на митні платежі. У журналі купівель створіть новий
account.moveіз постачальником «ДМС / Митниця». Додайте три рядки безproduct_id, лише з рахунками:- DR 377 / CR 685 — ввізне мито.
- DR 377 / CR 685 — акцизний податок (якщо є).
- DR 641-ПДВ-імпортний / CR 685 — ПДВ за МД (20% × митна вартість).
- Зробіть Landed Cost на товар. Перейдіть у Інвентаризація → Операції → Витрати на доставку (Landed Costs), створіть документ, прив’яжіть до picking з імпортом. У рядках додайте: мито, акциз, транспорт від кордону до складу, послуги брокера. Метод розподілу —
by quantity,by weightабоby valueзалежно від характеру витрат. Натисніть Compute → Validate — собівартість наstock.valuation.layerоновиться. - Зафіксуйте ПДВ за датою сплати. В UA-обліку ПК з імпортного ПДВ виникає за датою сплати на митниці (підтвердженою МД), а не за датою отримання товару. Якщо платіж і МД у різних періодах — перенесіть проводку на правильну дату через ручний
account.moveу журналі «ПДВ-Імпорт». - Сплатіть нерезиденту через валютний банк. Створіть
account.paymentіз валютного рахунку, прив’яжіть до Vendor Bill постачальника. Якщо курс на дату Bill і на дату оплати різниться, Odoo сам нарахує курсову різницю: DR/CR 714 або 945. - Перевірте відображення в декларації ПДВ. Сума імпортного ПДВ із МД має лягти у рядок 11.1 декларації як ПК на підставі МД. На картці МД має бути збережена скан-копія з номером і датою оформлення.
Перевірка
- На
stock.quantімпортного товаруvalue_svl= контрактна вартість + всі landed costs. - У
account.move.lineза рахунком 641-ПДВ-імпортний дата = дата сплати на митниці. - Vendor Bill на нерезидента — без ПДВ, у валюті, із прив’язкою до PO.
- Звіт Облік → Звіти → Декларація ПДВ показує рядок 11.1 з імпортним ПК.
- На контрагенті ДМС / Митниця залишок 0 після проведення банківської оплати.
Якщо щось пішло не так
| Симптом | Причина | Виправлення |
|---|---|---|
| На Vendor Bill нерезидента додався ПДВ 20% | Не призначена fiscal position «Імпорт» на постачальникові | Відкрийте контакт → вкладка Sales & Purchase → проставте fiscal position; на існуючому Bill — скасуйте і створіть наново |
| Landed Cost не змінив собівартість | Метод обліку запасів стоїть standard, а не fifo/average | Перейдіть у категорію продукту → Costing Method = AVCO або FIFO; для існуючої партії — Recompute |
| ПДВ-імпортний потрапив на 644 замість 641 | Конфігуратор податків неправильно зв’язав «Імпорт 20%» з рахунками | У Налаштування → Облік → Податки перевірте, що Tax Group для імпорту веде на 641 напряму (без проміжного 644 — імпортний ПК визнається одразу) |
| Курсова різниця не нарахувалася при оплаті | Не виконано Перерахунок валют на дату звіту | Запустіть у меню Облік → Дії на кінець періоду → Перерахунок валют, перевірте account.move на рахунках 714/945 |
| Декларація показала ПК у наступному періоді | Дата на Bill імпортного ПДВ — наступного місяця, а не дата сплати | Виправте дату на account.move (DR 641 / CR 685): має бути дата фактичної сплати на митниці, не отримання товару |
Дотичне
- Перша подія в закупівлі — загальне правило, і чому імпорт — виняток.
- Документ: митна декларація — реквізити і вкладення.
- Odoo Multi-currency — як працюють курсові різниці.
- Odoo Inventory —
stock.valuation.layerі landed costs.