Вам потрібно закупити щось для компанії — від комплектувальних до канцелярії. Спершу ви питаєте в постачальника ціну (RFQ), потім підтверджуєте замовлення (PO), приймаєте товар на склад і заводите рахунок постачальника. У цьому гайді ми пройдемо весь цей ланцюжок в Odoo за один підхід. Наприкінці три документи — замовлення, прихід і рахунок — будуть зв’язані трирівневим звірянням, яке не дасть вам заплатити за те, чого ви не отримали.
Результат
У вас підтверджений purchase.order, валідований stock.picking з приходом на склад і чернетка Vendor Bill, прив’язана до PO через трирівневе звіряння.
| Продукт | Кількість | Од. | Ціна без ПДВ | ПДВ | Сума |
|---|---|---|---|---|---|
| Кабель з'єднувальний КГ 4×2,5 | 200,000 | м | 48,00 | 20% | 9 600,00 |
| Роз'єм герметичний IP67 8-pin | 50,000 | шт | 210,00 | 20% | 10 500,00 |
| Разом без ПДВ | ПДВ 20% | 20 100,00 |
Передумови
- У довіднику Contacts заведено постачальника з повними реквізитами (ЄДРПОУ, ІПН платника ПДВ).
- У довіднику Products існує позиція з ненульовою закупівельною ціною та категорією, що має
property_account_expense_categ_id. - Налаштовано хоча б один warehouse і одну incoming-локацію.
- Користувач має права групи Purchase / User та Inventory / User.
Як це зробити
- Створіть RFQ. Усе починається із запиту на пропозицію — фіксуємо, у кого, що й за скільки збираємося купити. Перейдіть у Закупівлі → Замовлення → Запити на пропозиції і натисніть Створити. Оберіть постачальника, у полі
date_plannedпоставте очікувану дату надходження. У табличній частині додайте рядок з товаром, кількістю і ціною без ПДВ. Збережіть. - Надішліть запит. Натисніть Надіслати електронною поштою — Odoo сформує лист із прикріпленим QWeb-документом RFQ. Постачальник побачить ваші позиції, кількість і умови.
- Перетворіть RFQ на PO. Коли постачальник дав згоду, відкрийте RFQ і натисніть Підтвердити замовлення. Документ перейде у стан
purchase, аpurchase.orderотримає номер PO/2026/00XXX. Одночасно Odoo створить очікуванийstock.pickingтипуincomingіstock.moveна кожен рядок. - Перейдіть на picking. На картці PO натисніть smart-кнопку «Receipt» — відкриється створене переміщення. Перевірте, що
source location— це Vendors, аdestination— ваш складський warehouse. - Прийміть товар фізично. Коли вантаж прибув, у picking натисніть Перевірити (Validate). Якщо кількість збігається,
stock.moveпереходить уdone, а на quant’і додається наявність. Odoo автоматично сформує проводку DR 201 / CR Stock Input (anglo-saxon). - Створіть Vendor Bill. Поверніться на PO і натисніть Створити рахунок (Create Bill). Odoo підтягне рядки з PO і кількості з picking. Перевірте дату документа постачальника, реквізити, суму ПДВ. Збережіть і підтвердьте — створиться
account.moveтипуin_invoice. - Звірте три документи. На картці PO відкрийте розділ Звіряння — там видно сумарний збіг PO ↔ Picking ↔ Bill. Червоні цифри означають розбіжність.
Перевірка
- На картці PO у статусі
purchaseвсі smart-кнопки активні: Receipt (1, done), Bills (1, posted). - Через Інвентаризація → Звіти → Оцінка запасів позиція збільшилася на прийняту кількість.
- На
account.moveVendor Bill стоїть посиланняinvoice_origin = PO/2026/00XXX.
Якщо щось пішло не так
| Симптом | Причина | Виправлення |
|---|---|---|
| Кнопка Підтвердити замовлення не з’являється | Постачальник без partner_id або не позначений як is_company | Відкрийте контакт, перевірте поле «Тип» — має бути юрособа з повним найменуванням ТОВ «УкрПром-Тех» |
Picking створено, але stock.move у стані confirmed, а не assigned | На складі нема резервів або не запустився scheduler | Натисніть Перевірити наявність (Check Availability) вручну, або запустіть stock.scheduler |
| Vendor Bill каже «продукт не має рахунку витрат» | На product.category пуста property_account_expense_categ_id | Перейдіть у Налаштування → Інвентаризація → Категорії продуктів, проставте рахунок 631 або відповідний витратний |
| Трирівневе звіряння показує червоне «Bill ≠ Picking» | Фактично прийняли менше, ніж постачальник виставив | Поверніться на picking, відредагуйте qty_done, валідуйте знову; або приймайте частково (див. сусідній гайд) |
| Дата документа на Bill автоматично сьогоднішня, а в постачальника інша | Не заповнили invoice_date вручну | Завжди ставте дату з паперового документа постачальника — від неї рахується перша подія за ПКУ 198.2 |
Дотичне
- Перша подія в закупівлі — коли виникає податковий кредит з ПДВ.
- Оформлення М-4 — український прибутковий ордер.
- Документ: прихідна М-4 — форма і реквізити.
- Odoo Purchase — як модуль улаштовано.