Коли в Odoo ввімкнено автоматичну оцінку запасів, система починає не просто вести склад кількісно, а й автоматично створювати бухгалтерські проводки за рухом товарів. І саме в цей момент облік вартості товарів перестає бути “чисто складською темою” і стає питанням правильної бухгалтерської логіки.
Одна з найчастіших ідей, які здаються невинними, але на практиці створюють проблеми, це ручна зміна типів рахунків у stock valuation, stock input і stock output, особливо коли компанія використовує англо-саксонський підхід. Ззовні це виглядає як дрібне налаштування. Насправді ж це втручання в саму логіку автоматичного обліку запасів, проміжних рахунків і собівартості. Odoo прямо вказує, що при автоматичній оцінці використовуються окремі рахунки valuation, input та output, а в англо-саксонському обліку stock input і stock output працюють як interim accounts для балансування між рухом товару та рахунками постачальника або клієнта.
Що таке автоматична оцінка запасів в Odoo
При автоматичній оцінці запасів Odoo створює бухгалтерські записи під час складських рухів так, щоб облік у Inventory і Accounting був пов’язаний. Для цього на категорії товарів задаються щонайменше три ключові рахунки: Stock Valuation Account, Stock Input Account і Stock Output Account. Stock Valuation Account тримає поточну вартість запасів, а input/output рахунки використовуються як проміжні рахунки для автоматичних проводок по надходженню та вибуттю.
Що таке англо-саксонський облік у контексті Odoo
У контексті Odoo англо-саксонський облік означає, що собівартість товару не визнається як витрата в момент його надходження на склад. Спочатку товар потрапляє в запаси, а витрата у вигляді собівартості продажу визнається пізніше, у момент продажу товару клієнту.
Для цього Odoo використовує проміжні рахунки, зокрема stock input і stock output. Коли товар надходить від постачальника, система спочатку відображає його через проміжний рахунок stock input. Коли товар відвантажується клієнту, використовується stock output. Такі рахунки потрібні для того, щоб пов’язати складські операції з бухгалтерськими документами і не визнавати собівартість занадто рано.
Простіше кажучи, логіка така: товар фізично вже рухається на складі, але бухгалтерський ефект повністю завершується не в момент руху, а через зв’язок із рахунком постачальника або інвойсом клієнта. Саме тому в англо-саксонському підході важливу роль відіграють проміжні рахунки, а собівартість продажу визнається в логіці продажу, а не просто в момент надходження товару.
Простими словами, в англо-саксонському підході:
- товар фізично рухається на складі;
- Odoo створює проміжні записи на stock interim received / delivered;
- собівартість продажу не повинна “вистрілювати” хаотично через неправильно підібрані типи рахунків;
- логіка замикається через коректно налаштовані balance sheet interim accounts і expense/revenue logic у момент продажу.
Чому тип рахунку тут критично важливий
У налаштуваннях рахунку важлива не лише назва, а й type. Для Odoo це не косметика. Тип рахунку впливає на бухгалтерську поведінку, відображення у звітності та на те, чи рахунок сприймається як balance sheet account або як P&L account.
Для automatic inventory valuation Odoo документація прямо вказує, що stock valuation account тримає поточну вартість запасів, тобто це логіка активу. Для англо-саксонського підходу Odoo окремо вказує, що stock input і stock output слід налаштовувати як Current Assets. Саме тому зміна цих рахунків на expense, liability “бо так звичніше” або на будь-який інший тип, який не відповідає логіці interim stock accounts, ламає бухгалтерський сенс автоматичних проводок.
Чому погана ідея змінювати типи рахунків при automatic valuation
1. Ви ламаєте бухгалтерську природу stock interim accounts
Якщо stock input або stock output мають невідповідний тип, Odoo все одно продовжить створювати автоматичні проводки, але сенс цих проводок у звітності вже буде спотворений. Те, що мало тимчасово висіти як актив до моменту закриття через vendor bill або customer invoice, раптом починає виглядати як витрата, зобов’язання або інша сутність. Тоді проміжний рахунок перестає бути проміжним по суті й починає псувати баланс і P&L. Це прямо суперечить логіці, яку Odoo описує для англо-саксонського обліку та automatic valuation.
2. Починають розходитися склад і бухгалтерія
Automatic valuation існує саме для того, щоб рухи складу та бухгалтерські записи були узгоджені. Якщо ж valuation/input/output налаштовані на рахунки з неправильним типом, ви можете отримати ситуацію, де товар на складі є, а бухгалтерське відображення його вартості сидить не там, де повинно. Потім це вилазить у звірках inventory valuation, balance sheet і в аналізі собівартості. Odoo окремо попереджає, що навіть сама зміна режиму valuation потребує обережності через ризик розбіжностей між stock valuation та accounting journals. Коли ж ще й типи рахунків перекручені, ризик лише зростає.
3. Ви отримуєте “красиві” проводки, які бухгалтерськи не мають сенсу
Це одна з найгірших проблем. У системі все ніби проводиться: дебет є, кредит є, move posted. Але економічний зміст уже пошкоджений. Наприклад, тимчасовий складський рахунок раптом починає відображатися серед витрат або зобов’язань, хоча за логікою автоматичної оцінки він мав бути частиною схеми балансових рахунків до моменту остаточного закриття. Такі помилки особливо підступні, бо система не завжди “кричить”, що все зламано. Вона просто тихо псує звітність.
4. Перекручуються COGS і момент визнання витрати
В англо-саксонському підході ключова ідея саме в тому, що stock interim accounts працюють як місток між фізичним рухом товару та фінансовим визнанням собівартості. Якщо типи рахунків змінені неправильно, момент визнання витрати починає поводитися не так, як задумано. У підсумку можна отримати або передчасне, або некоректне відображення витрат, або просто хаотичні залишки на проміжних рахунках. Odoo прямо пов’язує англо-саксонську логіку з окремими interim current asset accounts і балансуванням цих рахунків через bill/invoice flow.
Особливо погана ідея: “поміняємо тип рахунку, щоб Odoo проводив так, як ми хочемо”
Це дуже типова пастка. Компанія бачить, що проводка не подобається, і замість того, щоб розібратися в бізнес-логіці, намагається “виправити” результат зміною account type.
Проблема в тому, що тип рахунку не є інструментом тонкого кастомного сценарію. Це базова бухгалтерська властивість рахунку. Якщо ви міняєте її лише для того, щоб локально підправити проводку, ви майже напевно ламаєте інші сценарії:
- закупівлі;
- продажі;
- повернення;
- inventory adjustment;
- dropship або special flows;
- valuation reporting;
- closing and reconciliation logic.
Тобто ви не лікуєте причину. Ви зсуваєте фундамент.
Що робити замість цього
Правильний підхід такий:
Спочатку треба зрозуміти, який обліковий підхід реально використовує компанія. Не “ми десь чули про англо-саксонський”, а який саме процес закупівлі, продажу, моменту визнання собівартості й оцінки запасів потрібен бізнесу.
Потім треба перевірити:
- чи правильно ввімкнено automatic valuation;
- чи правильно вибрано costing method;
- чи на категоріях товарів стоять коректні valuation/input/output accounts;
- чи відповідають type цих рахунків їхній бухгалтерській природі;
- чи не намагався хтось раніше “підкрутити” логіку через тип рахунку замість правильної настройки процесу.
І лише після цього вже вирішувати, чи проблема в налаштуванні, в обліковій моделі бізнесу чи в кастомізації.
Які типові рахунки мають бути в automatic valuation
У загальній логіці Odoo:
- Stock Valuation Account має тримати вартість запасів і працювати як рахунок активу;
- Stock Input Account і Stock Output Account при automatic valuation використовуються як проміжні рахунки;
- в англо-саксонському підході Odoo прямо рекомендує робити stock input і stock output рахунками типу Current Assets.
Якщо в когось рука тягнеться поставити там expense, current liabilities або будь-що інше просто “бо так красивіше в проводці”, це майже завжди ознака, що потрібно переглянути налаштування процесу, а не ламати account types.
Висновок
Англо-саксонський облік в Odoo це не просто галочка і не просто набір назв рахунків. Це конкретна логіка визнання вартості товарів, interim stock accounts і собівартості продажу. Automatic inventory valuation працює коректно лише тоді, коли valuation, input і output рахунки не просто існують, а ще й мають правильну бухгалтерську природу.
Саме тому зміна типів рахунків при automatic valuation є поганою ідеєю. Вона не “налаштовує Odoo під бізнес”, а спотворює логіку обліку, ризикує розірвати зв’язок між складом і бухгалтерією, псує звітність і створює дуже дорогі для діагностики проблеми.
Якщо проводки виглядають не так, як очікується, майже ніколи не варто починати з питання “а давайте змінимо type рахунку”. Починати треба з питання “чи правильно налаштований обліковий підхід і чи ми взагалі не намагаємось лікувати симптом замість причини”.
Облік вартості товарів в Odoo: що таке англо-саксонський облік і чому небезпечно змінювати типи рахунків при автоматичній оцінці запасів