Уяви, що ти купив хліб за 50 гривень. Що сталося?
З одного боку, у тебе стало на 50 ₴ менше готівки. З іншого — з’явився хліб вартістю 50 ₴. Дві сторони однієї події. Гроші не зникли — вони перетворилися на хліб.
Це і є подвійний запис. Кожна операція — це перетворення одного ресурсу в інший (або зміна структури боргів). Завжди дві сторони. Завжди симетрично.
Спробуй своїми руками
Sandbox подвійного запису
Натискайте операції — дивіться, як рухаються сальдо. Дт завжди = Кт. Якщо не дорівнює — система не дала б зберегти.
Тицяй на операції зверху. Зверни увагу: суми у «Усього Дт» і «Усього Кт» завжди рівні. Це не налаштування — це властивість самого подвійного запису.
Дебет і кредит — найзаплутаніші терміни
Якщо ти не венеційський купець XV століття, перше питання — навіщо взагалі дві сторони і чому вони так чудно називаються. Слова debere («бути винним») і credere («вірити, довіряти») прийшли з італійської. У купця у книзі стояв стовпчик «що цей контрагент мені винен» (debere) і стовпчик «що я цьому контрагенту довірив» (credere).
З часом ці слова відірвалися від буквального значення і стали технічними. Сьогодні у бухгалтерії:
- Дебет (Дт) — ліва сторона рахунку
- Кредит (Кт) — права сторона рахунку
Усе. Не «приход» і «розход». Не «плюс» і «мінус». Просто ліва і права. А що саме збільшується або зменшується — залежить від типу рахунку (про це окрема стаття).
Ось де починаються складнощі для не-бухгалтерів. Розробник чує «у мене 100 000 на банку, дебет» — і думає: «о, дебет = приход, бо гроші є». Це випадково правильно для активних рахунків (банк — актив). Але для пасивних (наприклад, кредит банку) — навпаки. Тож не плутай.
Чому Дт=Кт завжди
Це не правило, придумане Пачолі. Це математична тавтологія.
У компанії є 1 млн ₴ активів. Обладнання, гроші, товари. Питання — звідки воно взялось? Якщо ти не отримав цих активів з повітря, вони мають джерело: або власник вклав свої гроші (це капітал), або компанія взяла у борг (це зобов’язання).
Тобто завжди:
Те, що у мене є = Звідки воно взялось
Активи = Зобов'язання + Капітал
Це не закон бухгалтерії, це закон збереження. Кожна операція впливає на обидві сторони рівняння симетрично — інакше воно перестане бути рівнянням.
Подвійний запис — механізм, який цю симетрію записує. Кожна проводка має дебетову частину і кредитну частину однакових сум. Якщо ти не зміг записати симетрично — щось не так у твоєму розумінні події, а не у бухгалтерії.
Перший конкретний приклад
ТОВ «УкрПром-Тех» купує сировину на 10 000 ₴ через банк. Що сталося у реальності — з банку пішло 10 000 ₴, на склад приїхала сировина на ті самі 10 000 ₴. Один актив перетворився на інший. Загальна сума активів — не змінилась.
Записуємо так:
Дт 201 (Сировина і матеріали) 10 000 ₴
Кт 311 (Поточні рахунки в банку) 10 000 ₴
Читається: «Дебет 201, кредит 311, на суму 10 000 ₴». Або словами: збільшили склад сировини, зменшили банківські гроші, на одну й ту саму суму.
Зверни увагу: ми не пишемо «-10 000 з банку» і «+10 000 на склад» як два окремі рядки. Ми пишемо одну операцію з двома сторонами. Це дисципліна — вона змушує побачити повну картину, а не половинку.
Другий приклад — з відстроченим платежем
Та сама компанія купує сировину на 10 000 ₴ у постачальника з оплатою через 30 днів. Тут сталося трохи інакше: на склад приїхала сировина на 10 000 ₴, а ще з’явився борг перед постачальником на 10 000 ₴. Один актив виріс, одне зобов’язання виросло. Активи виросли на 10 000 ₴, пасиви — рівно на стільки ж. Рівняння тримається.
Запис:
Дт 201 (Сировина і матеріали) 10 000 ₴
Кт 631 (Розрахунки з постачальниками) 10 000 ₴
Через 30 днів, коли заплатимо:
Дт 631 (Розрахунки з постачальниками) 10 000 ₴
Кт 311 (Поточні рахунки в банку) 10 000 ₴
Тепер борг зник, гроші пішли. Рівняння знову тримається.
Зверни увагу: один економічний акт «купити з відстрочкою і заплатити» — це дві окремі проводки у часі. Подвійний запис їх не «об’єднує». Кожна подія — своя проводка зі своєю датою. Саме тому звіти за період сходяться: кожна сума лягає в той місяць, коли вона справді сталася.
? Перевірка розуміння
Підказка: де гроші були — і куди перейшли
Компанія купила обладнання на 50 000 ₴ і одразу заплатила з банку. Як це записати?
Що це означає для Odoo-розробника
Тепер до коду. Якщо ти пишеш код, який створює бухгалтерські операції в Odoo, — ти маєш справу з моделлю account.move (документ) і account.move.line (рядки документа). Кожна account.move містить кілька account.move.line, сума debit і сума credit яких завжди має збігатися.
Якщо спробуєш зберегти непідбалансований документ — Odoo не дасть. Це не баг, це фіча. Той самий безпечник, який венеційці винайшли у XV столітті, тепер у Python.
# Це типова перевірка в Odoo accounting
if not float_is_zero(move.balance, precision_rounding=move.currency_id.rounding):
raise UserError("Cannot create unbalanced journal item")
Якщо колись побачиш цю помилку — значить, десь забув врахувати другу сторону операції. Повернися до моделі: що збільшилось, а що зменшилось? Запиши обидві сторони.
Чому бухгалтери не плутаються
Здається, з усіма цими дебетами-кредитами легко заблукати. На практиці досвідчений бухгалтер за секунду розуміє, у який бік писати, бо знає «натуру» кожного рахунку — активний він чи пасивний. Це окрема стаття у нашій серії — aktyvnyi-pasyvnyi.
Поки достатньо запам’ятати три речі:
- Кожна операція = дві сторони.
- Сума Дт = сума Кт. Завжди.
- Якщо не сходиться — десь помилка.