Перейти до основного вмісту

Глосарій

Прості визначення термінів plain-text accounting і Beancount, які ви зустрінете у своєму журналі — рахунки, директиви, постинги, собівартість, методи бронювання, балансові твердження и так далі.

Plain-text accounting запозичує словник з подвійного запису бухгалтерії і додає кілька власних слів, специфічних для Beancount. Цей глосарій визначає терміни, которые вы зустрінете, читаючи цю документацію або власний файл журналу, кожен з коротким прикладом, де это допомагає. Кожен запис має власне посилання, так что ви можете направити товарища прямо на визначення.

Рахунок

Рахунок — это именованний контейнер, который відстежує один потік ценности, записаний як ієрархия з розділителем двокрапки под одним из п'яти корневих типів: Assets, Liabilities, Equity, Income или Expenses. Ієрархия — это вся організаційна структура ваших книг — Assets:US:BofA:Checking и Expenses:Food:Restaurant сортируются и суммируются автоматически. Кожен рахунок повинен бути оголошений до того, как використовується. Див. Синтаксис мови Beancount для правил именування.

Начислений метод

Начислений метод (accrual basis) записує доходи, когда вони зароблені, а витрати — когда вони понесені, независимо от того, коли гроши фактично перейшли. Касовий метод (cash basis) робить навпаки: визнає и те, и те только когда гроши змінюють владельца. Начислений дає більш точну картину результативности периода, поэтому рахунок, відправлений у березні, належить березню, навіть если клиент платить у травні.

Амортизація

Амортизація розподіляє один великий платіж на періоди, которые он фактично покрыває, так что кожен месяц несе свою справедливу долю витрат. Річний страховий взнос, сплачений у січні, — это витрата всіх дванацяти місяців, а не тільки січня. В Beancount вы либо пишете розділені постинги вручну, либо генеруєте их с помощью плагіна — див. Амортизація.

Балансове твердження

Балансове твердження — это директива balance, яка вказує, яким повинен бути баланс рахунку на початок заданої дати, так що ваш банковський звіт стає автоматичною перевіркою ваших книг. Если обчислений баланс відрізняється більш ніж допустимий допуск, Beancount голосно провалюється с очікуваним и фактичним суммами. Цей допуск — одна одиниця останнього десятичного розряда, который вы написали — 4.27 RGAGX приймає все від 4.26 до 4.28 — а ~ перед валютой встановлює ваш власний. Розкидання одного твердження на рахунок на звіт — это найдешевшій спосіб зберегти журнал довіреним.

2026-01-01 balance Assets:US:BofA:Checking   4,321.00 USD

Beancount

Beancount — это відкритий кодова система подвійного запису бухгалтерії, чий журнал — это plain-text файл, который вы редагуєте в любому текстовому редакторі и проверяєте за допомогою командного інструмента. Він дає вам строгий, парсинговий синтаксис, мову запитів та веб-інтерфейс, без бази данних или власного формату файлів. Тому що журнал — это текст, він спокойно живе в Git поруч с вашим кодом. Почніте с Введення в Beancount.

Мова запитів Beancount

Мова запитів Beancount, зазвичай аббревиювана BQL, — это SQL-подобна мова, которую вы використовуєте, щоб задати питання вашому журналу. Він проходить по розібраним директивам, а не по базі данних, так что SELECT account, sum(position) WHERE year = 2026 відповідає миттєво з того же файла, который вы редагуєте. Прочитайте посібник по мові запитів для повної грамматики.

Метод бронювання

Метод бронювання — это правило, которое Beancount застосовує, когда зменшення повинно вибрати, which існуючих лотів списати. Beancount 3.2.3 приймає семь імен: STRICT (за умовчування, де вы самі ідентифікуєте лот), STRICT_WITH_SIZE, NONE, FIFO, LIFO, HIFO и AVERAGE. Встановіть один на рахунок в его директиви open, или для всего файла з option "booking_method". Шість из семи реалізовані: AVERAGE парситься, але піднімає AVERAGE method is not supported в момент, коли треба забронировать зменшення. Метод, который вы виберуте, змінює ваші реалізовані капітальні прирости, так что виберіть той, який очікує ваш податковий юрисдикція, и тримайте его стабильним. Управління запасами прогоняє все семь на одних и тех же лотах и публикує журнал, который провалюється под AVERAGE.

План рахунків

План рахунків — это повний список рахунків, которые використовує ваш журнал, разом с структурою, которая их організує. В Beancount немає окремого файлу плану — набор директив open и є ваш план рахунків. Добре спроектуваний з самого початку зберегає багато переіменовань пізніше; див. Галузеві настройки для відправних точок.

Директива close

Директива close позначає дату, після которой рахунок більш не може використовуватися, — это як вы закриваєте банковський рахунок или виплачений кредит без видалення его історії. Минулі транзакції залишаются валідними и звітними; только нові постинги відкидаються. Закрыття невикористовуємих рахунків тримає звіти читаємими, коли журнал старіє.

2026-03-31 close Assets:US:OldBank:Checking

Товар

Товар — это люба одиниця ценности, которую відстежує ваш журнал — валюта як USD, тикер акцій як AAPL, крипто-актив як BTC, або що-то, що вы вигадали, наприклад VACATION-DAYS. Beancount ніколи не конвертує між товарами за вашей спиною, так что сума — это завжди число, парне с товаром, в якому він номинирован. Опціональна директива commodity дозволяє прикріпити метаданні, такі як назву або класс активів.

Собівартість

Собівартість — это то, що вы фактично заплатили за володіння, записано в валюті, якою ви платили, и несется поруч с володінням, поки воно ваше. Beancount записує його в фигурних дужках — 10 AAPL {150.00 USD} означає десять акцій, придбаних по 150 доларів кожна. Подвойні дужки робять число загальною сумою, а не ціною за одиницю, так что 10 AAPL {{1,500.00 USD}} записує той же лот. Тому що база подорожує з позицією, капітальні прирости випадають з арифметики, коли ви продаєте. Див. Управління запасами.

Директива

Директива — это одна інструкція в файлі Beancount, зазвичай датована, и директивы — это то, из чого складається журнал. Дванацять видів несуть дату: open, close, balance, price, note, document, pad, event, commodity, custom, query и сама транзакція. Кілька не несуть ніякої дати и діють на файл, а не на день — option, include, plugin и пара pushtag/poptag. Beancount сортирує датовані за датою перед обробкою, так что вы можете тримати их в любому порядку, який краще читається; недатована набуває сили там, де написана.

Подвійний запис бухгалтерії

Подвійний запис бухгалтерії — это практика записувати кожну економічну подію як мінімум два відповідних записа, так что их ваги завжди сумуються в нуль. Гроши ніколи не створяются и не зничтожаются — вони только переходять між рахунками, ось чому ця техника ловить помилки, которые одноколоночний список ніколи не поймав. Вага — это власна сума постинга, або его собівартість чи ціна, конвертовані назад в одну валюту, так что дві ноги в різних товарах все одно сокращаются. Beancount виконує правило строго: транзакція, чиї постинги не балансуються, — это помилка, а не попередження.

2026-03-02 * "Bank" "Buy euros"
  Assets:US:BofA:EUR       100.00 EUR @ 1.08 USD
  Assets:US:BofA:Checking -108.00 USD

Бюджетування конвертами

Бюджетування конвертами відкладає гроши на ціль перед тим, як ви их витрачаєте, так что кожна категорія має власну границу замість того, щоб конкурувати за один загальний баланс. Назва походить від паперових конвертів, которые люді колись наполняли грошами в день зарплати. В plain-text журналі вы моделюєте конверти з окрестними рахунками або бюджетними директивами — див. Бюджети.

Fava

Fava — это веб-інтерфейс для Beancount: графіки, балансові звіти, звіти про доходи, редактор запитів и форма вводу, які обслуживаются з вашого файлу журналу. Він читає-здебільшого и запускається локально, так что он змінює те, як вы бачите свої книги, без зміни того, як вы их записуєте. beancount.io хостить управляєму версію поруч с власними інструментами; посібник Функції інтерфейсу покрыває те, що вы можете там робити.

Інвентарь

Інвентарь — это колекція позицій, которые рахунок зараз тримає, кожна з власним товаром и, где треба, власною собівартістью и датою придбання. Брокерський рахунок, який купив ту же акцію три раза, тримає три окрестні лота в одному інвентарі, а не одно змішане число. Тримання лотів окрестними — это що робить можливим точні розрахунки приростів.

Журнал

Журнал — это хронологичний список всього, що сталося в ваших книгах — сирий поток транзакцій, в порядку дат, до будь-якого группування або сумування. Это вид, который вы проглядаєте, коли хотите відповісти на питання "що я фактично робив у березні?". Сторінка журналу в Fava зазвичай — найшвидше місто, щоб помітити неправильно класифікований запис.

Журнал (Ledger)

Журнал — это повний набор бухгалтерських записів для одної сутності, що в Beancount означає ваш plain-text файл (плюс все, що він включає). Слово двократно використовується: і як назва всієї книги рахунків, і як назва самого файлу. Тому що это текст, журнал можна диффити, рецензувати, гілкувати и зливати, як сирці код.

Лот

Лот — это одна конкретна придбання товару, ідентифікована по собівартості и даті придбання. Купив той же 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

Описання

Описання — это вільнотекстове описання того, для чого була транзакція, написане як друга цитована строка на лінії транзакції. Воно для людей: "Місячна оренда", "Продукти и домашні". Beancount не парсить його, але воно — те, що вы будете читати, коли запис перестане мати смисл через шість місяців.

Директива open

Директива open оголошує рахунок, дату, з которой він починає бути використоємим, и опціонально товари, которые він може тримати, и метод бронювання, який він використує. Beancount вимагає, щоб кожен рахунок був відкритий до его першого постинга, — это що зупиняє опечатку від мовчаливого створення нового рахунку. Обмеження дозволених товарів перетворює ще один цілий клас помилок в ошибки.

2026-01-01 open Assets:US:Broker:VTI   VTI   "FIFO"

Пад

Директива pad каже Beancount вставити ту кількість, яка потрібна, щоб зробити наступне балансове твердження на рахунку успішним, записуючи різницю на другий рахунок. Воно існує для рівно одної роботи: відкриття журналу на половині шляху життя без реконструкції років історії. Падинг понад цієї початкової настройки здебільшого означає, що реальна помилка прикривається.

Платіжник

Платіжник — это те, з ким вы здійснили транзакцію, написаний як перша цитована строка на лінії транзакції. Тримання платіжників консистентними — завжди "Whole Foods", не коли "WholeFoods" — это що робить можливими звіти по платіжникам и автоматичні імпортери. Beancount вважає платіжника опціональним; транзакція може нести тільки описання.

Plain-text accounting

Plain-text accounting — это практика тримання ваших книг в читаємому для людини текстовому файлі під версіонним контролем, обробленному відкритокодовыми командними інструментами. Воно обмінює інтерфейс "клікни и поїхали" на довговічність, аудитовність и автоматизацію: ваші данні переживають будь-якого вендора, кожна зміна — это переглядуємий диф, и будь-який скрипт може читати його. Beancount, Ledger и hledger — три найкраще відомих реалізації.

Плагін

Плагін — это Python-модуль, который Beancount загружає, обробляючи ваш файл, дозволяючи йому додавати, трансформувати або валідувати директивы перед тим, як будуються звіти. Плагіни — это як форкастинг, амортизаційні графіки и кастомні проверки реалізуються без зміни ядрової мови. Вы вмикаєте один з помочью самостоятельной лінії plugin на верху вашого журналу, ніколи з optionoption "plugin" "…" відкидається с Option 'plugin' may not be set. Посібник Плагін форкастинга проходить через реальний приклад.

Постинг

Постинг — это одна нога транзакції: рахунок, сума, и опціонально собівартість або ціна. Те, що повинно сумуватися в нуль через транзакцію, — не сирі суми, а их ваги: проста сума важить сама себе, 10 FUND @ 38.46 USD важить 384.60 USD, а 10 FUND {384.61 USD} важить 3,846.10 USD, тому що однократні дужки тримають собівартість одної одиниці. Максимум один постинг може залишити свою суму порожньою, в цьому випадку Beancount обчислює балансуючу цифру замість вас. Див. Точність и допуски для повних правил вагів.

Директива price

Директива price записує обмінний курс між двома товарами на дату, — это як Beancount конвертує володіння в его рыночну вартість в звітах. Директива price — это чисто довідкові данні: воно не рухає гроши и не належить ніякій транзакції. Не плутайте його с ціною @, написаною всередині постинга, — та арифметична: воно дає 10 FUND @ 38.46 USD вагу 384.60 USD и так рішає, балансується транзакція чи ні. Без директив price портфель все одно балансується по собівартості, але не може бути оцінений по рыночній вартості.

2026-06-30 price VTI   271.40 USD

Реконциляція

Реконциляція — это акт доведення, що ваші книги згодні з окрестним записом, таки як банковський або брокерський звіт. В plain-text accounting воно здебільшого механічне: добавьте балансове твердження для кожной дати звіту и дайте інструменту сказати вам, чи числа сходятся. Журнал, который чисто реконцилюється кожен місяць, — это такий, з якого можна подаватить податки без страха.

Теги и лінки

Теги и лінки — дві мітки, которые вы прикріпляєте до транзакцій, щоб групувати их поза ієрархії рахунків: тег с # позначає тему, таку як #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

Ще застряли на слові? Центр допомоги індексує кожен посібник на цьому сайті, а Шпаргалка ставить синтаксис для каждой директиви поруч.

Джерело: https://beancount.io/uk/docs/glossary