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

Закупівля · Середній

Інвентаризація: manual count на дату проти continuous (perpetual)

Який режим інвентаризації в Odoo обрати — разовий перерахунок на дату для річної фінзвітності чи постійну циклічну перевірку через mobile barcode app.

Час
20-25 хвилин
Модуль Odoo
Inventory → Physical Inventory
Читання
~4 хв
  • stock.quant
  • inventory adjustment
  • інв-3
  • інв-19
  • barcode

Рано чи пізно постає питання: як рахувати залишки на складі? Перед річною фінзвітністю потрібен разовий перерахунок на конкретну дату, а от щоб ловити розбіжності за ходом і не зупиняти склад — підходить безперервна циклічна звірка. Odoo вміє обидва режими, але налаштовуються й оформлюються вони по-різному. Тут ви оберете той, що відповідає вашій меті, і доведете його до підписаної відомості та правильних проводок.

Результат

Обрано режим, який відповідає вимогам Наказу МФУ №879: разовий Manual count на 31.12 для річної фінзвітності, або Continuous cycle counting для безперервної звірки фактичних залишків з обліковими — без зупинки складу.

Передумови

  • Наказ керівника про порядок інвентаризації за обліковою політикою (форма інв-22).
  • Підготовлений склад комісії: голова, члени, МВО присутня без права рахувати.
  • Для perpetual — встановлений модуль stock_barcode і налаштовані штрих-коди на товарах.
  • Закриті всі picking за період до дати інвентаризації — інакше залишки попливуть.

Як це зробити

  1. Виберіть режим за метою. Якщо це річна перевірка перед фінзвітністю — Manual count із фіксацією на конкретну дату. Якщо хочете ловити розбіжності за ходом і не зупиняти склад — Continuous (perpetual) із циклічними перерахунками за категоріями.
  2. Manual count — створіть запит на перерахунок. Перейдіть у Інвентаризація → Операції → Фізична інвентаризація і натисніть Створити запит. Оберіть локацію (наприклад, склад сировини WH/Stock), список товарів або весь warehouse, дату 31.12.2026.
  3. Manual count — комісія рахує і вносить факт. У вкладці Inventory Adjustments виведіть на друк інв-3 (через QWeb, форму дає кастомізація l10n_ua_inventory). Комісія фізично рахує і вписує фактичні кількості. Потім бухгалтер на кожному stock.quant ставить факт у полі inventory_quantity.
  4. Manual count — підтвердьте і отримайте різниці. Натисніть Apply — Odoo створить stock.move із типом inventory_loss (для недостач) і inventory_adjustment (для лишків) на віртуальну локацію «Inventory Adjustment». Сформується звіряльна відомість інв-19.
  5. Continuous — налаштуйте періодичність. На кожному stock.location у полі Cyclic count frequency (days) проставте періодичність: 30 днів для категорії А (дорогі позиції), 90 для категорії В, 180 для категорії С. Odoo щодня в Inventory Dashboard показує, які локації пора перерахувати.
  6. Continuous — комірник сканує через mobile app. Установіть Odoo Mobile (або PWA), увійдіть із роллю Inventory User. У застосунку Barcode → Physical Inventory скануйте штрих-код полиці і кожного товару — Odoo автоматично оновлює stock.quant.
  7. Continuous — оформіть результати раз на квартал. Раз на квартал бухгалтер виводить звіт Inventory Discrepancies — список усіх розбіжностей за період. На його основі складіть протокол комісії і проводки. Для річної фінзвітності в кінці року проведіть повну manual count з інв-22, навіть якщо весь рік був perpetual.

Перевірка

  • У звіті Inventory Adjustments → Filter by date видно stock.move за датою 31.12 із джерелом «Physical Inventory».
  • На рахунку 947 / 949 (недостачі, понаднормативні втрати) є проводки за датою інвентаризації, для понаднормативних — нараховані компенсуючі ПЗ за ПКУ 198.5.
  • Звіряльна відомість інв-19 підписана головою комісії, членами, МВО.
  • У режимі perpetual дашборд показує «Останній перерахунок» по кожній локації — не старший за частоту циклу.

Якщо щось пішло не так

СимптомПричинаВиправлення
Apply інвентаризації провів stock.move, проте не пройшла проводка на 947На категорії продукту порожнє поле Inventory Loss AccountНалаштування → Інвентаризація → Категорії продуктів, проставте 947 у Inventory Valuation → Loss Account
Manual count показав нуль розбіжностей, хоча на складі недостачаПеред інвентаризацією не закрили всі picking — рух у транзитіЗапустіть фільтр stock.picking у статусах assigned / confirmed із датою ≤ 31.12, валідуйте або скасуйте перед apply
Perpetual — кожне сканування створює inventory_adjustment, склад завалений рухамиПеріодичність cyclic count = 1 день, сканування йде при кожній видачіЗбільшіть cyclic_inventory_frequency до розумних 30-90 днів; для разової перевірки використовуйте окрему inventory request
На stock.quant через місяць після apply видно те саме значення, що й доApply пропущено, статус request лишився draftПеревірте статус через Дія → Фільтр статус; для draft-запитів натисніть Apply вручну або видаліть
ДПС на перевірці запросила інв-3, але вивантаження порожнєУ стандарті Odoo моделі stock.inventory нема, тільки adjustmentУстановіть кастомізацію l10n_ua_inventory із QWeb-формами інв-3, інв-19, або готуйте у Excel за вивантаженням stock.move

Дотичне