Бухгалтерія у звичайному тексті запозичує лексику з подвійного запису та додає кілька власних термінів Beancount. Цей глосарій визначає терміни, які ви зустрінете під час читання цієї документації або свого файлу книги, кожен із коротким прикладом, де це допомагає. Кожен запис має власне посилання, щоб ви могли вказати колезі прямо на визначення.
Рахунок
Рахунок — це іменований контейнер, який відстежує один потік вартості, записаний як
ієрархію, розділену двокрапками, під одним із п'яти кореневих типів: Assets (Активи),
Liabilities (Зобов'язання), Equity (Капітал), Income (Доходи) або Expenses (Витрати).
Ієрархія є основною організаційною структурою ваших книг — Assets:US:BofA:Checking та
Expenses:Food:Restaurant сортуються та згортаються автоматично. Кожен рахунок має бути оголошений перед використанням. Див.
Синтаксис мови Beancount для правил найменування.
Метод нарахування
Облік за методом нарахування реєструє доходи, коли вони зароблені, та витрати, коли вони виникли, незалежно від того, коли фактично рухаються гроші. Касовий метод обліку робить навпаки: він визнає доходи та витрати лише тоді, коли гроші змінюють власника. Метод нарахування дає більш правдиву картину результатів діяльності за період, тому рахунок-фактура, виставлений у березні, належить до березня, навіть якщо клієнт платить у травні.
Амортизація
Амортизація розподіляє одноразовий великий платіж на періоди, які він фактично покриває, так що кожен місяць несе свою частку вартості. Річна страховка, сплачена в січні, є витратою всіх дванадцяти місяців, а не лише січня. У Beancount ви можете або написати розподілені проведення вручну, або згенерувати їх за допомогою плагіна — див. Амортизація.
Перевірка балансу
Перевірка балансу — це директива balance, яка стверджує, яким має бути залишок на рахунку
на початок певної дати, щоб ваша банківська виписка стала автоматичною
перевіркою ваших книг. Якщо обчислений залишок відрізняється, Beancount повідомить про помилку, вказавши очікувану та фактичну суми. Додавання однієї перевірки на рахунок на виписку — це
найдешевший спосіб підтримувати книгу достовірною.
2026-01-01 balance Assets:US:BofA:Checking 4,321.00 USDBeancount
Beancount — це система бухгалтерії з відкритим кодом, книга якої є файлом у звичайному тексті, який ви редагуєте в будь-якому текстовому редакторі та перевіряєте за допомогою інструмента командного рядка. Вона надає строгий синтаксис для розбору, мову запитів та веб-інтерфейс, без бази даних або власницького формату файлу. Оскільки книга є текстом, вона чудово живе в Git поряд із вашим кодом. Почніть із Вступу до Beancount.
Мова запитів Beancount (BQL)
Мова запитів Beancount, зазвичай скорочувана як BQL, — це мова, подібна до SQL, яку ви використовуєте для
запитань до вашої книги. Вона працює з розібраними директивами, а не з базою даних,
тому SELECT account, sum(position) WHERE year = 2026 миттєво дає відповідь із того самого
файлу, який ви редагуєте. Прочитайте
посібник з мови запитів для повної граматики.
Метод обліку (Booking method)
Метод обліку — це правило, яке Beancount застосовує, коли при списанні потрібно вибрати, яку
існуючу партію використати. Варіанти: STRICT (ви повинні вказати партію
самостійно), FIFO, LIFO, AVERAGE та NONE, встановлюється для рахунку в директиві open.
Обраний метод впливає на ваш реалізований прибуток, тому виберіть той,
якого очікує ваша податкова юрисдикція, і дотримуйтесь його.
План рахунків
План рахунків — це повний перелік рахунків, які використовує ваша книга, разом із
структурою, що їх організовує. У Beancount немає окремого файлу плану рахунків — набір
директив open і є вашим планом рахунків. Добре продуманий план на початку заощадить
багато перейменувань пізніше; див.
Галузеві налаштування для стартових точок.
Директива закриття
Директива close позначає дату, після якої рахунок більше не може використовуватися. Це
спосіб закрити банківський рахунок або погашений кредит, не видаляючи його історію. Минулі
транзакції залишаються дійсними та відображаються у звітах; лише нові проведення відхиляються. Закриття невикористовуваних
рахунків робить звіти більш читабельними, оскільки книга старіє.
2026-03-31 close Assets:US:OldBank:CheckingТовар/Актив (Commodity)
Товар або актив — це будь-яка одиниця вартості, яку відстежує ваша книга — валюта на кшталт USD, тикер
акції як AAPL, криптоактив як BTC або щось, що ви вигадали, наприклад
ВІДПУСТКА-ДНІ. Beancount ніколи не конвертує між активатами без вашого відома, тому
сума завжди є числом, пов'язаним з активом, у якому вона номінована. Необов'язкова
директива commodity дозволяє додати метадані, такі як назва або клас активу.
Собівартість (Cost basis)
Собівартість — це те, що ви фактично заплатили за актив, записане у валюті, якою ви платили,
і яке супроводжує актив, поки він у вас є. Beancount записує її
у фігурних дужках — 10 AAPL {150.00 USD} означає десять акцій, придбаних по 150 доларів кожна.
Оскільки собівартість подорожує разом із позицією, прибуток/збиток від продажу автоматично обчислюється
при продажу. Див. Управління запасами.
Директива
Директива — це одна датована інструкція у файлі Beancount, і директиви — це все, що
містить книга. Кожен рядок, що починається з дати, є директивою: open, close, balance,
price, note, document, pad, event, commodity та сама транзакція.
Beancount сортує директиви за датою перед обробкою, тому ви можете розташовувати їх у будь-якому
порядку, який зручніше читати.
Подвійний запис
Подвійний запис — це практика реєстрації кожної економічної події щонайменше двома відповідними записами, так що суми завжди дорівнюють нулю. Гроші ніколи не створюються та не знищуються — вони лише переміщуються між рахунками, саме тому ця техніка виявляє помилки, яких однорядковий список ніколи б не показав. Beancount суворо дотримується цього правила: транзакція, проведення в якій не балансуються, є помилкою, а не попередженням.
Бюджетування за конвертами
Бюджетування за конвертами — це метод, за якого гроші відкладаються на певну мету до їх витрачання, тому кожна категорія має власний ліміт замість того, щоб конкурувати за один спільний залишок. Назва походить від паперових конвертів, які люди колись наповнювали готівкою в день зарплати. У текстовій книзі ви моделюєте конверти за допомогою окремих рахунків або бюджетних директив — див. Бюджети.
Fava
Fava — це веб-інтерфейс для Beancount: діаграми, балансовий звіт, звіт про прибутки та збитки, редактор запитів та форма для введення, які обслуговуються з вашого файлу книги. Він переважно призначений для читання та працює локально, тому він змінює те, як ви бачите свої книги, не змінюючи спосіб їх ведення. beancount.io надає керовану версію разом із власними інструментами; посібник Можливості інтерфейсу описує, що ви можете з ним робити.
Інвентар/Запас (Inventory)
Інвентар — це колекція позицій, які наразі зберігаються на рахунку, кожна зі своїм активом і, де це доречно, власною собівартістю та датою придбання. Брокерський рахунок, який купив ту саму акцію тричі, містить три окремі партії в одному інвентарі, а не одне усереднене число. Збереження партій окремо дозволяє точно розраховувати прибутки/збитки.
Журнал (Journal)
Журнал — це хронологічний список всього, що відбувалося у ваших книгах — необроблений потік транзакцій у порядку дат, до будь-якого групування або узагальнення. Це те, що ви переглядаєте, коли хочете відповісти на запитання "що я насправді робив у березні?". Сторінка журналу Fava зазвичай є найшвидшим місцем, щоб помітити неправильно класифікований запис.
Книга (Ledger)
Книга — це повний набір бухгалтерських записів для однієї особи або організації, що в Beancount означає ваш текстовий файл (плюс усе, що він включає). Слово використовується як для позначення всієї сукупності рахунків, так і для самого файлу. Оскільки це текст, книгу можна порівнювати (diff), переглядати, створювати відгалуження (branch) та зливати (merge), як вихідний код.
Партія (Lot)
Партія — це одне конкретне придбання активу, ідентифіковане за його собівартістю та датою придбання. Купівля одного й того ж ETF у січні та знову в червні створює дві партії, і при подальшому продажі потрібно вибрати, яку партію ви продаєте. Партії — це причина, чому Beancount може точно обчислити реалізований прибуток замість його апроксимації.
2026-06-15 * "Broker" "Buy VTI"
Assets:US:Broker:VTI 5 VTI {260.00 USD, 2026-06-15}
Assets:US:Broker:Cash -1,300.00 USDОпис (Narration)
Опис — це текстове пояснення того, для чого була транзакція, записане як другий рядок у лапках у рядку транзакції. Він призначений для людей: "Орендна плата", "Продукти та господарські товари". Beancount не аналізує його, але це те, що ви будете читати, коли запис через півроку перестане мати сенс.
Директива відкриття
Директива open оголошує рахунок, дату, з якої він починає бути придатним для використання, та
необов'язково активи, які він може містити, та метод обліку, який він використовує. Beancount
вимагає, щоб кожен рахунок був відкритий до свого першого проведення, що запобігає
випадковому створенню нового рахунку через друкарську помилку. Обмеження дозволених активів
перетворює ще один цілий клас помилок на помилки, які Beancount виявляє.
2026-01-01 open Assets:US:Broker:VTI VTI "FIFO"Вирівнювання (Pad)
Директива pad наказує Beancount вставити суму, необхідну для виконання наступної
перевірки балансу на рахунку, записавши різницю на другий рахунок.
Вона існує рівно для одного завдання: відкриття книги посеред життєвого шляху без
реконструкції років історії. Використання вирівнювання після початкового налаштування зазвичай означає, що
маскується справжня помилка.
Отримувач (Payee)
Отримувач — це той, з ким ви здійснювали транзакцію, записаний як перший рядок у лапках у
рядку транзакції. Узгодженість отримувачів — завжди "Whole Foods", а не іноді
"WholeFoods" — це те, що робить звіти за отримувачами та автоматичні імпортери працездатними.
Beancount вважає отримувача необов'язковим; транзакція може містити лише опис.
Бухгалтерія у звичайному тексті
Бухгалтерія у звичайному тексті — це практика ведення книг у текстових файлах, зрозумілих людині, під контролем версій, які обробляються інструментами командного рядка з відкритим кодом. Вона обмінює графічний інтерфейс на довговічність, можливість аудиту та автоматизацію: ваші дані переживуть будь-якого постачальника, кожна зміна є переглядуваною різницею (diff), і будь-який скрипт може їх прочитати. Beancount, Ledger та hledger — три найвідоміші реалізації.
Плагін
Плагін — це модуль Python, який Beancount завантажує під час обробки вашого файлу, що дозволяє йому
додавати, трансформувати або перевіряти директиви до побудови звітів. Плагіни — це спосіб реалізації
прогнозування, графіків амортизації та користувацьких перевірок без зміни
основної мови. Ви вмикаєте його рядком plugin на початку вашої книги —
посібник Плагін прогнозування розглядає реальний приклад.
Проведення (Posting)
Проведення — це одна сторона транзакції: рахунок, сума та, необов'язково, собівартість або ціна. Транзакція потребує щонайменше двох проведень, і їхні суми повинні дорівнювати нулю. Не більше одного проведення може мати порожню суму; в цьому випадку Beancount обчислить балансуючу цифру за вас.
Директива ціни
Директива price записує обмінний курс між двома активами на певну дату; це те,
як Beancount конвертує актив у його ринкову вартість для звітів. Ціни — це чисті довідкові
дані — вони ніколи не рухають гроші та ніколи не з'являються в транзакції. Без
них портфель все ще балансується за собівартістю, але не може бути оцінений за ринковою вартістю.
2026-06-30 price VTI 271.40 USDЗвірка (Reconciliation)
Звірка — це дія з доведення того, що ваші книги узгоджуються із зовнішнім записом, таким як банківська або брокерська виписка. У бухгалтерії у звичайному тексті вона значною мірою механічна: додайте перевірку балансу для кожної дати виписки та дозвольте інструменту сказати вам, чи збігаються числа. Книга, яка щомісяця звіряється без помилок, — це книга, на основі якої можна подавати податки без страху.
Теги та посилання
Теги та посилання — це дві мітки, які ви прикріплюєте до транзакцій, щоб групувати їх поза
ієрархією рахунків: тег з # позначає тему, наприклад #trip-japan, а посилання з
^ пов'язує пов'язані записи, наприклад ^invoice-2026-014. Теги відповідають на "покажи мені все в цій
категорії"; посилання відповідають на "покажи мені записи, що належать до цієї
однієї події". І те, і інше можна фільтрувати у Fava та запитувати в BQL — див.
Фільтрація та пошук.
Транзакція
Транзакція — це датована економічна подія разом із проведеннями, що її реєструють; це
директива, яку ви будете писати найчастіше. Вона містить прапорець (* для підтвердженої,
! для потребує перевірки), необов'язкового отримувача, опис та два або більше проведень, суми
яких дорівнюють нулю. Все інше у файлі Beancount існує для оголошення, перевірки або
анотування транзакцій.
2026-02-14 * "Blue Bottle" "Coffee with Dana"
Expenses:Food:Coffee 9.50 USD
Assets:US:BofA:Checking -9.50 USDДосі застрягли на слові? Центр допомоги містить покажчик усіх посібників на цьому сайті, а Шпаргалка подає синтаксис для кожної директиви поруч.