Перший тиждень в Odoo після 1С — і ви відкриваєте інвойс, а перед вами незнайома форма з англійськими полями замість звичних «дата документа» й «субконто». В Odoo за всім цим стоїть один універсальний об’єкт — account.move: і інвойс, і платіж, і ручна проводка, і нарахування ЗП виглядають однаково. Тут ви навчитеся читати цю форму поле за полем — щоб з будь-якого запису за секунду вичитати дату, журнал, партнера, рахунки й суми та пояснити колезі, що ця проводка означає.
Результат
Ви вмієте відкрити будь-який журнальний запис в Odoo (інвойс, платіж, ручну проводку, нарахування ЗП), вичитати з нього всю потрібну інформацію — дату, журнал, партнера, рахунки, суми, аналітику, стан — і пояснити колезі-бухгалтеру, що ця проводка означає.
Ось куди ми дивимося — той самий інвойс INV/2026/00187 із прикладу нижче, відкритий на закладці Journal Items: шапка з журналом, партнером і датою вгорі, сама проводка по рахунках усередині, рядок підсумків із рівними Debit і Credit унизу.
| Рахунок | Опис | Аналітика | Дебет | Кредит |
|---|---|---|---|---|
| 361 Розрахунки з покупцями | Постачання за контрактом UOZ-2026-187 | UOZ-2026-187 · 100% | 120 000,00 | — |
| 7011 Дохід від реалізації | Постачання за контрактом UOZ-2026-187 | UOZ-2026-187 · 100% | — | 100 000,00 |
| 6411 Розрахунки за ПДВ | ПДВ 20% | — | — | 20 000,00 |
| Разом | 120 000,00 | 120 000,00 |
Передумови
- Базова орієнтація в інтерфейсі Odoo — пройдений гайд Перший день в Odoo або еквівалентний досвід.
- Розуміння подвійного запису на рівні «що в Дт, що в Кт» — Подвійний запис.
- Доступ до Accounting → Journal Entries (роль Accountant або вище).
Як це зробити
-
Відкрийте будь-який Journal Entry. Почнемо з найпростішого — просто подивимося на готову проводку зсередини. Меню: Accounting → Accounting → Journal Entries. У списку клацніть на номер запису (наприклад, MISC/2026/05/0042 або INV/2026/00187). Перед вами форма
account.move— універсальний документ-проводка. -
Прочитайте шапку зверху. Це поля рівня документа:
- Reference / Number — номер документа. Для інвойсу він формується автоматично за послідовністю журналу (
INV/2026/00187). Для ручної проводки — теж автоматично, але префікс інший (MISC/2026/05/0042). Це не код за наказом, це внутрішній номер Odoo. - Customer / Vendor / Partner — контрагент. Для інвойсу обов’язковий (інакше потім не звірите оплату), для ручної проводки — необов’язковий, але дуже бажаний, якщо проводка торкається 631, 361, 685 або інших розрахункових рахунків.
- Invoice Date / Date — дата документа. Це найважливіше поле: саме за нею проводка падає в той чи інший період. У 1С ви могли мати «дата документа» і «дата проводки» окремо — в Odoo це одна дата.
- Accounting Date — дата обліку. За замовчуванням збігається з Date. Окремо вона з’являється тільки коли документ датований минулим закритим періодом, а провести його треба в поточному.
- Journal — журнал, до якого належить запис. Sale, Purchase, Bank, Cash або Miscellaneous. Журнал визначає, на яких рахунках за замовчуванням сидітимуть «контр-рахунки» (наприклад, 361 для Sales, 631 для Purchase).
- Due Date / Payment Term — строк оплати. Для інвойсу береться з умов оплати контрагента. Для ручної проводки — рідко актуально.
- Reference / Number — номер документа. Для інвойсу він формується автоматично за послідовністю журналу (
-
Перейдіть до табличної частини — Journal Items. Це і є власне проводка. Кожен рядок таблиці — окрема
account.move.line. Найважливіші колонки:- Account — рахунок плану рахунків (
201,631,7011,6411тощо). - Label / Name — текстовий опис, що саме за рух. У ручній проводці заповнюєте самі, в інвойсі підтягується з назви продукту.
- Partner — партнер на цьому рядку. Може відрізнятися від партнера в шапці (рідко, але буває для складних розподілів).
- Analytic Distribution — аналітика. Це окрема історія, по суті — субконто з 1С: контракт, ЦФВ, проєкт. Налаштовується в Analytic Account.
- Debit — сума в Дт.
- Credit — сума в Кт.
- Tax (інколи окрема колонка) — податок, який автоматично додає рядок з ПДВ (на 6411 або 6442).
Внизу таблиці завжди є рядок підсумків: Total Debit і Total Credit. Вони мають збігатися — це той самий безпечник з XV століття.
- Account — рахунок плану рахунків (
-
Подивіться на стан (status) у правому верхньому куті. Це етапи життя документа:
- Draft — чорновик. Видно, але в облік не увійшов. Можна вільно міняти.
- Posted — запостовано. Документ увійшов в облік, цифри сіли в звіти. Редагувати рядки вже не можна (треба сторнувати).
- Cancelled — скасовано. Документ існує як запис, але в облік не входить.
У 1С аналогом «Posted» було «Проведено», а «Draft» — «Не проведено». Різниця: в Odoo після постингу справді зникає можливість редагувати рядки — це не просто галочка, а блок на рівні моделі.
-
Зверніть увагу на закладки внизу форми.
- Invoice Lines / Lines — продуктові рядки (для інвойсу). Тут видно, що саме продали або купили: товар, кількість, ціна, ставка ПДВ. Після постингу Odoo на основі цих рядків автоматично генерує Journal Items (саму проводку).
- Journal Items — самі рядки бухгалтерської проводки. Те, що ми розбирали в п.3.
- Other Info — додаткові поля: операційна одиниця, реверсована проводка-джерело, оригінальний інвойс при сторно, валюта і курс.
Корисний прийом: відкрили інвойс, спочатку дивитеся Invoice Lines («що продали»), потім перемикаєтеся на Journal Items («як це сіло на рахунки»).
-
Прочитайте чатер унизу. Внизу форми — стрічка
mail.thread. Це історія документа: хто і коли створив, хто постив, які зміни вносили, які повідомлення лишали. Аудиторський слід, без якого жоден аудитор не повірить, що проводка не була «підправлена нишком».
Перевірка
- Відкрили інвойс і за секунду назвали: який журнал, який партнер, яка дата, на яких рахунках і яких сумах сидить проводка.
- Розрізняєте Invoice Lines (товарна сторона) і Journal Items (бухгалтерська сторона) на тому самому документі.
- Бачите, що сума Debit дорівнює сумі Credit в кожному запостованому документі.
- Знаєте, де подивитися, хто і коли цей запис створив, а хто запостив.
Якщо щось пішло не так
- Journal Items порожні в інвойсі. Документ ще в Draft — проводка генерується автоматично тільки при постингу. Натисніть Confirm → Post, після цього рядки з’являться.
- Debit і Credit не сходяться, документ червоніє. Це Draft, у якому хтось ручкою тицяв у рядки. Найкраща стратегія — натиснути Reset to Draft на оригінальному документі (інвойсі) і дати Odoo самому згенерувати проводку. Не чіпайте Journal Items на інвойсі руками — для ручних коригувань є окремий журнал Miscellaneous.
- На рядку немає партнера, хоч у шапці він є. Поле Partner на рівні рядка успадковується з шапки тільки за певних умов (зокрема, для рядків на розрахункових рахунках). Якщо потім потрібна звірка — додайте партнера руками на потрібному рядку.
- Сума ПДВ в проводці інша, ніж очікувана. Перевірте, яку ставку проставлено на рядку інвойсу. Часта помилка: «20% Goods» замість «20% Goods (UA)» — це різні tax-записи з різними рахунками призначення. Тоді ПН не зв’яжеться правильно.
- Документ постнутий, але не видно в звітах. Швидше за все — Accounting Date з минулого року, а звіт фільтрує за поточним. Або документ у журналі, який виключено зі звіту (рідко, але буває).
Як це в 1С vs Odoo — словничок до полів
- «Документ реалізації» → Customer Invoice (
account.moveзmove_type='out_invoice'). - «Документ надходження» → Vendor Bill (
move_type='in_invoice'). - «Операція БУ» (ручна) → Miscellaneous Entry (
move_type='entry'). - «Не проведено / Проведено» → Draft / Posted (
state). - «Сторно» → Reverse Entry (
reversal_move_id). - «Субконто 1, 2, 3» → Analytic Distribution (один рядок може мати кілька аналітик у відсотковому розподілі).
- «Дата документа / Дата операції» → Invoice Date / Accounting Date (різниця виникає тільки тоді, коли проводите заднім числом).
Дотичне
- Accounting — модель
account.moveу деталях - Подвійний запис — теоретична основа подвійного запису
- План рахунків — український план рахунків
- Analytic Account — аналітичні рахунки як аналог субконто