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

Odoo

Модуль

AVCO: як Odoo рахує середньозважену собівартість

AVCO — це один «змішаний» цінник на товар, що перераховується з кожним приходом і не ворушиться на виході. Зручно для номенклатури з плаваючими цінами — і саме тут легко не помітити, як середня попливла.

Шлях у меню
Inventory → Configuration → Product Categories → Costing Method: Average Cost (AVCO)
Технічна модель
product.template (cost_method=average), stock.valuation.layer
Редакція
2026-06-01

AVCO (середньозважена) — це коли Odoo не пам’ятає ціну кожної окремої одиниці, а тримає одну спільну середню й перераховує її з кожним приходом. Метод зручний для матеріалів із плаваючою ціною. Зворотний бік у тому, що середня весь час змішується: за нею легко не встежити, а саме вона визначає собівартість продажу.

Як рахується — простими словами

Уяви один кошик з одним цінником. Щоразу, як приходить нова партія, Odoo не кладе її окремо, а підмішує до кошика й перераховує цінник як зважене середнє:

нова середня = (залишок × стара середня + прихід × ціна приходу) / (залишок + прихід)

Списання (продаж, видача у виробництво) бере поточну середню — і самої середньої не змінює. Тобто ціна рухається лише на вході, ніколи на виході.

На цифрах. На складі 100 кг по 50 ₴ (разом 5 000 ₴). Прийшло 100 кг по 70 ₴ (7 000 ₴). Тепер 200 кг на 12 000 ₴ → середня 60 ₴/кг. Продали 50 кг — спишеться 50 × 60 = 3 000 ₴, а для решти 150 кг середня лишиться 60 ₴. Купили ще 100 кг по 90 ₴ — Odoo знову перемішає: (150 × 60 + 100 × 90) / 250 = 72 ₴/кг.

Як це влаштовано в Odoo

Поточна середня живе в полі standard_price на товарі — так, Odoo тримає AVCO у тому самому полі, що й «стандартну» ціну, просто перераховує його сам після кожного приходу.

За автоматичної (perpetual) оцінки кожен рух запасу створює запис stock.valuation.layer — «шар оцінки». Саме ці шари, а не одне число в картці, є джерелом правди про вартість запасу: сальдо рахунка запасів у балансі дорівнює сумі шарів. І кожен прихід чи списання Odoo одразу проводить у головну книгу за поточною середньою: на вході Дт запаси / Кт (постачальник або транзит), на виході Дт собівартість / Кт запаси.

Тонкі місця

  • Від’ємний залишок. Якщо списуєш більше, ніж фізично є (товар «у мінусі»), Odoo оцінює вихід за останньою середньою, а коли прихід нарешті надходить — рівняє різницю окремим коригуванням. На звітній даті це дає тимчасово криву собівартість. Тримай залишки невід’ємними, особливо на закритті місяця.
  • Landed costs (доставка, мито, розмитнення). Самі по собі вони в середню не зайдуть. Їх треба провести окремим механізмом Landed Costs — інакше середня занижена, а отже й собівартість продажу, а отже й маржа на папері більша за реальну.
  • Повернення. Повернення товару на склад не завжди повертає рівно ту суму, що колись списалася — у AVCO для цього є окрема логіка (див. джерело). На великих обсягах вона помітно зсуває середню.
  • Метод — на категорії, не на одиниці. Costing Method задають на категорії товару; зміна методу на льоту перераховує вартість усієї категорії. Це не та річ, яку перемикають «спробувати».

AVCO, FIFO чи Standard

  • AVCO згладжує коливання цін і не вимагає нічого вручну. Але не скаже, з якої саме партії конкретна одиниця.
  • FIFO списує «що раніше прийшло — те першим». Дає точнішу собівартість при сильних стрибках цін, проте важчий в обліку й чутливий до порядку рухів.
  • Standard — фіксована планова ціна, різниці осідають окремими рахунками. Добре для виробництва за нормативами.

Критерій вибору: багато однорідної номенклатури з плаваючою ціною → AVCO; сильні цінові стрибки й потреба точно знати собівартість конкретної партії → FIFO; виробництво за нормативами → Standard. Для defense-виробництва з фіксованими контрактами AVCO на сировину — частий і розумний дефолт, але звіряй маржу після перших партій.

Дотичне

  • Собівартість — собівартість як концепт і свідомий вибір методу
  • Inventory — складський модуль, де живе оцінка запасів
  • Accounting — як рухи запасів стають проводками в головній книзі
  • Закриття НЗВ — собівартість у виробництві й закриття незавершеного

Джерела2

  1. Automatic inventory valuation — Odoo documentationodoo.com ↗офіційний опис методів оцінки; AVCO перераховується з кожним отриманням як зважена середня
  2. Average price on returned goods — Odoo documentationodoo.com ↗окрема логіка оцінки повернень при AVCO — найтонше місце методу

Де цей модуль зустрічається1