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

82 дописи з тегом "beancount"

Переглянути всі теги

Розуміння дебіторської та кредиторської заборгованості в Beancount

· 3 хвилини читання
Mike Thrift
Mike Thrift
Marketing Manager

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

Розуміння цих термінів є вирішальним для ефективного використання Beancount (або будь-якої системи подвійного запису). Але не хвилюйтеся, якщо ви новачок – ми розберемо все крок за кроком!

Дебіторська та кредиторська заборгованість: Основи

2023-05-30-receiveable-and-payable

В обліку «дебіторська заборгованість» та «кредиторська заборгованість» — це терміни, що використовуються для відстеження грошей, які належать. «Дебіторська заборгованість» стосується грошей, які інші винні вам, тоді як «кредиторська заборгованість» стосується грошей, які ви винні іншим.

Розглянемо приклад:

  1. Рахунки дебіторської заборгованості (A/R): Припустимо, ви володієте книжковим магазином, і клієнт купує книгу в кредит. Гроші, які вони винні вам за книгу, є рахунком дебіторської заборгованості.

  2. Рахунки кредиторської заборгованості (A/P): З іншого боку, уявіть, що ви замовляєте новий набір книг у видавця, але не платите за них одразу. Гроші, які ви винні видавцю, є рахунком кредиторської заборгованості.

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

Налаштування дебіторської та кредиторської заборгованості в Beancount

Структура вашого файлу Beancount може бути настільки простою або складною, наскільки вам це потрібно. Для дебіторської та кредиторської заборгованості ви, ймовірно, захочете створити окремі рахунки в розділах «Активи» та «Зобов'язання».

Ось простий приклад:

1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:AccountsPayable

Відстеження транзакцій

Сторона одержувача

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

2023-05-29 * "Продано книги клієнту в кредит"
Assets:AccountsReceivable 100 USD
Income:BookSales -100 USD

Тут ви додаєте 100 доларів до своєї дебіторської заборгованості, оскільки клієнт винен вам цю суму. Одночасно ви зменшуєте свій дохід на ту саму суму, щоб підтримувати баланс (оскільки ви ще не отримали грошей).

Коли клієнт зрештою заплатить, ви запишете це так:

2023-06-01 * "Отримано платіж від клієнта"
Assets:Bank:Savings 100 USD
Assets:AccountsReceivable -100 USD

Сторона платника

Той самий принцип застосовується до кредиторської заборгованості, але з протилежними знаками:

2023-05-30 * "Куплено книги у видавця в кредит"
Liabilities:AccountsPayable 200 USD
Expenses:BookPurchases -200 USD

І коли ви погашаєте свій борг:

2023-06-02 * "Погашено борг перед видавцем"
Liabilities:AccountsPayable -200 USD
Assets:Bank:Checking 200 USD

Підсумок

Дебіторська та кредиторська заборгованість є основою будь-якої облікової системи. Точно відстежуючи їх, ви отримуєте повне розуміння свого фінансового стану.

Це лише відправна точка, і Beancount здатний набагато більше. Сподіваюся, цей допис у блозі допоможе прояснити ці важливі концепції. Як завжди, успішного обліку!

Деконструкція облікової книги Beancount: Приклад для бізнес-бухгалтерії

· 3 хвилини читання
Mike Thrift
Mike Thrift
Marketing Manager

У сьогоднішньому дописі в блозі ми розберемо облікову книгу Beancount для бізнесу, що допоможе вам зрозуміти тонкощі цієї системи обліку подвійним записом у текстовому форматі.

Деконструкція облікової книги Beancount: Приклад для бізнес-бухгалтерії

Почнемо з коду:

2023-05-22-business-template

1970-01-01 open Assets:Bank:Mercury
1970-01-01 open Assets:Crypto

1970-01-01 open Equity:Bank:Chase

1970-01-01 open Income:Stripe
1970-01-01 open Income:Crypto:ETH

1970-01-01 open Expenses:COGS
1970-01-01 open Expenses:COGS:Contabo
1970-01-01 open Expenses:COGS:AmazonWebServices

1970-01-01 open Expenses:BusinessExpenses
1970-01-01 open Expenses:BusinessExpenses:ChatGPT

2023-05-14 * "CONTABO.COM" "Mercury Checking ••1234"
Expenses:COGS:Contabo 17.49 USD
Assets:Bank:Mercury -17.49 USD

2023-05-11 * "Amazon Web Services" "Mercury Checking ••1234"
Expenses:COGS:AmazonWebServices 14490.33 USD
Assets:Bank:Mercury -14490.33 USD

2023-03-01 * "STRIPE" "Mercury Checking ••1234"
Income:Stripe -21230.75 USD
Assets:Bank:Mercury 21230.75 USD

2023-05-18 * "customer_182734" "0x5190E84918FD67706A9DFDb337d5744dF4EE5f3f"
Assets:Crypto -19 ETH {1,856.20 USD}
Income:Crypto:ETH 19 ETH @@ 35267.8 USD

Розуміння коду

  1. Відкриття рахунків: Код починається з відкриття серії рахунків 01.01.1970. До них входять як рахунки активів (Assets:Bank:Mercury та Assets:Crypto), так і рахунок власного капіталу (Equity:Bank:Chase), рахунки доходів (Income:Stripe та Income:Crypto:ETH), а також рахунки витрат (Expenses:COGS, Expenses:COGS:AmazonWebServices, Expenses:BusinessExpenses та Expenses:BusinessExpenses:ChatGPT).

  2. Транзакції: Далі реєструється серія транзакцій між 01.03.2023 та 18.05.2023.

    • Транзакція від 14.05.2023 представляє платіж у розмірі 17.49 USD на адресу CONTABO.COM з рахунку Mercury Checking ••1234. Це реєструється як витрата (Expenses:COGS:Contabo) та відповідне списання з рахунку Assets:Bank:Mercury.

    • Аналогічно, транзакція від 11.05.2023 представляє платіж у розмірі 14490.33 USD на адресу Amazon Web Services з того ж банківського рахунку. Це реєструється під Expenses:COGS:AmazonWebServices.

    • Транзакція від 01.03.2023 показує надходження доходу від STRIPE, який був зарахований на рахунок Mercury Checking ••1234, на загальну суму 21230.75 USD. Це реєструється як дохід (Income:Stripe) та додаток до банківського рахунку (Assets:Bank:Mercury).

    • Остання транзакція від 18.05.2023 представляє криптотранзакцію, що включає 19 ETH від клієнта. Це відстежується під Assets:Crypto та Income:Crypto:ETH. {1,856.20 USD} показує ціну ETH на момент транзакції, тоді як @@ 35267.8 USD вказує загальну вартість транзакції 19 ETH.

У всіх транзакціях дотримується принцип подвійного запису, що гарантує постійне дотримання рівняння Активи = Зобов'язання + Власний капітал.

Заключні думки

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

Ми сподіваємося, що цей розбір допоможе вам краще зрозуміти структуру та можливості Beancount, незалежно від того, чи є ви досвідченим бухгалтером, чи новачком, який намагається відстежувати свої особисті фінанси. Залишайтеся з нами для нашого наступного допису в блозі, де ми заглибимося в розширені операції Beancount.

Повторне запровадження безкоштовного плану для нових клієнтів

· 2 хвилини читання
Mike Thrift
Mike Thrift
Marketing Manager

Ми раді повідомити, що з 1 травня 2023 року ми повторно запроваджуємо безкоштовний план для нових клієнтів. Це рішення прийнято після значних покращень нашої платформи та оптимізації наших ресурсів, щоб краще обслуговувати всіх наших клієнтів, як безкоштовних, так і платних.

Представляємо новий безкоштовний план для нових клієнтів

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

2023-04-28-start-serving-free-users

Нові клієнти, які зареєструються після 1 травня 2023 року, отримають доступ до безкоштовного плану.

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

Якщо у вас виникнуть запитання чи занепокоєння, будь ласка, не соромтеся звертатися до нас. Ми завжди готові вислухати ваші відгуки та вирішити будь-які проблеми, які у вас можуть виникнути. Дякуємо за вашу постійну підтримку, і ми з нетерпінням чекаємо можливості надати вам найкращий сервіс.

Шпаргалка Beancount

· 2 хвилини читання
Mike Thrift
Mike Thrift
Marketing Manager

Приклад назви рахунку

Assets:US:BofA:Checking

шпаргалка-uk

Типи рахунків

Assets          +
Liabilities -
Income -
Expenses +
Equity -

Товари

CNY, EUR, CAD, AUD
GOOG, AAPL, RBF1005
HOME_MAYST, AIRMILES
HOURS

Директиви

Загальний синтаксис

YYYY-MM-DD <Directive> <Parameters...>

Відкриття та закриття рахунків

2001-05-29 open Expenses:Restaurant
2001-05-29 open Assets:Checking USD,EUR ; Обмеження за валютою

2015-04-23 close Assets:Checking

Оголошення товарів (Необов'язково)

1998-07-22 commodity AAPL
name: "Apple Computer Inc."

Ціни

2015-04-30 price AAPL   125.15 CNY
2015-05-30 price AAPL 130.28 CNY

Примітки

2013-03-20 note Assets:Checking "Зателефонував, щоб запитати про знижку"

Документи

2013-03-20 document Assets:Checking "шлях/до/виписки.pdf"

Транзакції

2015-05-30 * "Деякий опис цієї транзакції"
Liabilities:CreditCard -101.23 CNY
Expenses:Restaurant 101.23 CNY

2015-05-30 ! "Cable Co" "Phone Bill" #tag ˆlink
id: "TW378743437" ; Метадані
Expenses:Home:Phone 87.45 CNY
Assets:Checking ; Ви можете пропустити одну суму

Проводки

  ...    123.45 USD                             Просто
... 10 GOOG {502.12 USD} З вартістю за одиницю
... 10 GOOG {{5021.20 USD}} З загальною вартістю
... 10 GOOG {502.12 # 9.95 USD} З обома вартостями
... 1000.00 USD @ 1.10 CAD З ціною за одиницю
... 10 GOOG {502.12 USD} @ 1.10 CAD З вартістю та ціною
... 10 GOOG {502.12 USD, 2014-05-12} З датою
! ... 123.45 USD ... З прапорцем

Твердження балансу та доповнення

; Перевіряє суму лише для вказаної валюти:
2015-06-01 balance Liabilities:CreditCard -634.30 CNY

; Автоматичне вставлення транзакції для виконання наступного твердження:
2015-06-01pad Assets:Checking Equity:Opening-Balances

Події

2015-06-01 event "місцезнаходження" "Нью-Йорк, США"
2015-06-30 event "адреса" "123 Мей Стріт"

Опції

option "заголовок" "Моя особиста книга обліку"

Інше

pushtag #поїздка-до-перу
...
poptag #поїздка-до-перу
; Коментарі починаються з крапки з комою

Магія обліку в текстових файлах з Beancount

· 5 хвилин читання
Mike Thrift
Mike Thrift
Marketing Manager

Відкрийте для себе магію обліку в текстових файлах з Beancount

Банер Beancount.io

Вступ

2023-04-18-вступ-до-beancount

Ласкаво просимо у світ, де бухгалтерський облік більше не є складним завданням. Сьогодні ми представляємо вам Beancount — потужний, гнучкий та інтуїтивно зрозумілий інструмент для обліку в текстових файлах. Beancount дає вам можливість контролювати свої фінанси, пропонуючи прозорий та простий підхід до управління вашими грошима.

У цьому вичерпному посібнику ми заглибимося в основи Beancount, пояснимо його ключові концепції та проведемо вас через його прості, але потужні функції. До кінця цього блогу ви матимете глибоке розуміння Beancount і будете готові почати використовувати його для організації та аналізу свого фінансового життя.

Що таке Beancount?

Beancount — це система обліку в текстових файлах з відкритим вихідним кодом, створена Мартіном Блезом (Martin Blais). Натхненний системою Ledger Джона Віглі (John Wiegley), Beancount прагне забезпечити надійний і стійкий метод управління особистими фінансами та фінансами малого бізнесу за допомогою текстових файлів. За допомогою Beancount ви можете легко відстежувати свої доходи, витрати, інвестиції та багато іншого.

Чому Beancount?

Облік у текстових файлах має кілька переваг перед традиційними системами обліку на основі електронних таблиць або програмного забезпечення:

  • Прозорість: Файли Beancount є зрозумілими для людини, що полегшує розуміння та аудит ваших фінансових даних.
  • Гнучкість: Beancount легко налаштовується відповідно до ваших конкретних потреб, і ви можете використовувати свій улюблений текстовий редактор та систему контролю версій для управління своїми фінансовими даними.
  • Портативність: Ваші фінансові дані доступні на будь-якому пристрої, і їх легко переносити між системами або ділитися ними з іншими.
  • Стійкість до майбутніх змін: Текстові файли є універсально сумісними, що гарантує доступність ваших фінансових даних, навіть коли технології розвиваються.

Основні концепції Beancount

Щоб ефективно використовувати Beancount, важливо зрозуміти його основні концепції:

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

Початок роботи з Beancount

Щоб почати використовувати Beancount, виконайте ці прості кроки:

  • Встановіть Beancount: Встановіть Beancount на свою систему, використовуючи надані інструкції з встановлення для вашої операційної системи.
  • Створіть свій файл Beancount: Створіть новий текстовий файл з розширенням .beancount (наприклад, my_finances.beancount).
  • Визначте свої рахунки: Використовуйте директиву "open" для визначення рахунків, які ви будете використовувати у своїх транзакціях.
  • Записуйте транзакції: Використовуйте директиву "txn" для запису ваших фінансових транзакцій.

Або просто зареєструйтесь на https://beancount.io. Ось кілька прикладів обліку в текстових файлах -

Приклад 1: Базова транзакція

2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries

2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD

У цьому прикладі ми відкриваємо два рахунки: Assets:Checking (Активи:Поточний) та Expenses:Groceries (Витрати:Продукти). 10 квітня 2023 року ми записуємо транзакцію на купівлю продуктів на суму 50 доларів США. Транзакція зменшує залишок на рахунку Assets:Checking на 50 доларів США (дебет) та збільшує залишок на рахунку Expenses:Groceries на 50 доларів США (кредит).

Приклад 2: Транзакція доходу та витрат

2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent

2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD

2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD

У цьому прикладі ми відкриваємо три рахунки: Assets:Checking (Активи:Поточний), Income:Salary (Дохід:Зарплата) та Expenses:Rent (Витрати:Оренда). 5 квітня 2023 року ми записуємо транзакцію виплати зарплати на суму 2000 доларів США. Транзакція збільшує залишок на рахунку Assets:Checking на 2000 доларів США (кредит) та зменшує залишок на рахунку Income:Salary на 2000 доларів США (дебет). 6 квітня 2023 року ми записуємо транзакцію оплати оренди на суму 1000 доларів США. Транзакція зменшує залишок на рахунку Assets:Checking на 1000 доларів США (дебет) та збільшує залишок на рахунку Expenses:Rent на 1000 доларів США (кредит).

Приклад 3: Переказ між рахунками

2023-04-01 open Assets:Checking
2023-04-01 open Assets:Savings

2023-04-15 txn "Bank" "Transfer from Checking to Savings"
Assets:Checking -500.00 USD
Assets:Savings 500.00 USD

У цьому прикладі ми відкриваємо два рахунки: Assets:Checking (Активи:Поточний) та Assets:Savings (Активи:Ощадний). 15 квітня 2023 року ми записуємо транзакцію переказу 500 доларів США з поточного рахунку на ощадний. Транзакція зменшує залишок на рахунку Assets:Checking на 500 доларів США (дебет) та збільшує залишок на рахунку Assets:Savings на 500 доларів США (кредит).

Ці приклади ілюструють основні концепції системи подвійного запису Beancount. Правильно записуючи транзакції, користувачі можуть вести точні записи своєї фінансової діяльності та генерувати звіти для отримання уявлення про свій фінансовий стан.

Генерування звітів та аналіз даних

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

Висновок

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

Незалежно від того, чи хочете ви відстежувати свої витрати, планувати майбутнє або отримувати уявлення про свої фінансові звички, Beancount пропонує гнучкість та прозорість, необхідні для досягнення ваших цілей. Завдяки своєму зручному підходу, Beancount має потенціал революціонізувати спосіб управління вашими фінансами та дати вам можливість взяти під контроль своє фінансове майбутнє.

Тепер, коли у вас є міцна основа в Beancount, настав час розпочати вашу подорож до обліку в текстових файлах. Попрощайтеся з громіздкими електронними таблицями та заплутаним програмним забезпеченням, і вітайте світ Beancount. Щасливого обліку!

Покращення вашого досвіду Beancount за допомогою користувацьких посилань та запитів

· 3 хвилини читання
Mike Thrift
Mike Thrift
Marketing Manager

Beancount, система бухгалтерського обліку за подвійним записом, яку люблять як розробники, так і фінансові ентузіасти, потужна у своїй простоті. Але для тих, хто прагне більшого контролю та швидшої навігації всередині Fava, вебінтерфейсу Beancount, користувацькі посилання бічної панелі та SQL-запити можуть вивести ваш робочий процес на новий рівень.

У цьому посібнику ми покажемо вам, як:

  • Додавати посилання швидкого доступу до бічної панелі Fava
  • Використовувати SQL-запити для розширеної фільтрації та аналізу
  • Налаштовувати свій робочий процес для щомісячних оглядів або виявлення аномалій

Навіщо налаштовувати Fava?

Fava вже є чудовим інтерфейсом для перегляду вашої бухгалтерської книги Beancount, але зі зростанням вашого журналу зростає і потреба в кращих ярликах та розумніших запитах.

Проблеми, які це вирішує:

  • Повторна навігація за часовими діапазонами
  • Фільтрація транзакцій за вкладеними рахунками
  • Швидше виявлення від'ємних залишків або аномалій

✨ Користувацькі посилання бічної панелі

Почнімо з покращення вашого щоденного робочого процесу за допомогою простих ярликів бічної панелі. Ці посилання з'являються в лівій бічній панелі Fava і можуть перевести вас безпосередньо до відфільтрованих переглядів, таких як транзакції цього місяця або дохід минулого місяця.

Додайте ці рядки до вашого файлу Beancount:

2021-01-01 custom "fava-sidebar-link" "Current Month" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "Last Month" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "Clear All" "/jump?account=&time=&filter="

Що вони роблять:

  • Поточний місяць: Відкриває перегляд транзакцій, відфільтрованих за поточним місяцем.
  • Минулий місяць: Миттєво переходить до попереднього місяця — чудово для оглядів наприкінці місяця.
  • Очистити все: Скидає фільтри, знову показуючи всі записи.

Ці ярлики усувають ручне введення часу та роблять ваш досвід роботи з Fava більш гнучким та персоналізованим.

🔍 Користувацькі SQL-запити

Для глибшого аналізу SQL-інтерфейс Fava є неймовірно потужним. Ось запит, який знаходить усі від'ємні залишки на рахунках, що відповідають шаблону — ідеально для позначення незвичайних або проблемних транзакцій.

SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account ~ '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)

Розбір:

  • account ~ '.*:BCM:.*': Фільтрує рахунки, що містять :BCM: у своїй назві.
  • number(units(position)) < 0: Позначає від'ємні залишки (наприклад, перевищені бюджети).
  • Фільтри дати звужують результат до певного 1-місячного вікна.

Варіанти використання:

  • Виявлення помилок, таких як дубльовані витрати або неправильні проводки
  • Проведення аудиту конкретного постачальника або категорії
  • Швидке отримання дієвих висновків для бюджетування

🛠 Професійна порада: Комбінуйте посилання + запити

Хоча Fava не дозволяє прямих посилань на користувацькі запити, ви можете створити звичку щомісячного огляду, зробивши наступне:

  • Використовуючи посилання "Поточний місяць", щоб розпочати свій огляд
  • Відкриваючи вкладку збережених запитів в іншій панелі
  • Одночасно переглядаючи обидва — спочатку фільтруйте, потім заглиблюйтесь

Ця комбінація допомагає вам виявляти аномалії до того, як вони розростуться, і забезпечувати чистоту вашої бухгалтерської книги.

Заключні думки

Beancount за задумом є мінімалістичним, але невеликі покращення, подібні до цих, приносять величезні вигоди в ефективності. Незалежно від того, чи переглядаєте ви свій бюджет, налагоджуєте дивні залишки або просто економите кліки, користувацькі посилання та SQL-запити дають вам більше можливостей та менше перешкод.

Бонус: Якщо ви використовуєте користувацькі звіти Fava, ви можете навіть створювати повноцінні інформаційні панелі, адаптовані до ваших ритуалів особистих фінансів.

Готові взяти під контроль?

Почніть з малого: додайте посилання "Поточний місяць". Потім створюйте власні запити. Ваше майбутнє "я" подякує вам.

Хочете більше таких порад? Підпишіться на нашу розсилку новин або досліджуйте більше рецептів Beancount на Beancount.io.

Прогнозування майбутніх транзакцій у Beancount

· Одна хвилина читання
Mike Thrift
Mike Thrift
Marketing Manager

Існує плагін для Beancount, який прогнозує майбутні повторювані транзакції. Як його застосувати в beancount.io? Додайте наступний вміст до вашого файлу обліку.

; import the plugin
plugin "fava.plugins.forecast"

; add a monthly HOA fee
2022-05-30 # "HOA fee [MONTHLY]"
Expenses:Hoa 1024.00 USD
Assets:Checking -1024.00 USD

Знімок екрана плагіна прогнозування

2022-05-30-плагін-прогнозування

І тоді ви побачите прогноз на графіку чистого прибутку.

Плагін прогнозування

Тег [MONTHLY] вище означає, що він повторюватиметься вічно. Якщо у вас є більше умов для застосування, спробуйте [MONTHLY UNTIL 2022-06-01], [MONTHLY REPEAT 5 TIMES], [YEARLY REPEAT 5 TIMES], або [WEEKLY SKIP 1 TIME REPEAT 5 TIMES].

Створення та відстеження рахунків-фактур за допомогою Beancount

· 6 хвилин читання
Mike Thrift
Mike Thrift
Marketing Manager

Простий текстовий шаблон, повторюваний робочий процес та один запит для “Хто мені ще винен?”


2022-02-12-crafting-tracking-invoices-with-beancount

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

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


Мінімально життєздатний рахунок-фактура (поля, які ніколи не слід пропускати)

Перш ніж торкнутися вашої книги обліку, вам потрібен професійний рахунок-фактура. Формат може бути простим, але вміст має бути точним. Ці поля, запозичені з перевіреної часом практики малого бізнесу, є обов'язковими.

  • Реквізити продавця: Назва вашої компанії та фізична адреса.
  • Реквізити клієнта: Ім'я вашого клієнта та (в ідеалі) його адреса.
  • Номер рахунку-фактури: Унікальний, послідовний ідентифікатор, який ніколи не повторюється. INV-045 йде після INV-044.
  • Дати виставлення та оплати: Чітко вкажіть, коли було виставлено рахунок-фактуру та коли очікується оплата.
  • Позиції рахунку: Чіткий опис послуг або товарів, а також кількість, ставка та загальна сума за позицією.
  • Проміжний підсумок, податок та загальна сума: Покажіть розрахунок, щоб клієнт міг легко його зрозуміти.
  • Додаткові примітки: Місце для подяки, інструкцій з переказу коштів або наданого клієнтом номера замовлення на покупку.

Щоб допомогти вам розпочати, ми створили набір готових до редагування шаблонів, які містять усі ці поля. Версії електронних таблиць навіть попередньо розраховують загальні суми для вас.

Note: Invoice templates are coming soon! In the meantime, you can create your own using the fields listed above in Google Docs, Word, Sheets, Excel, or any other document format.


Запис рахунку-фактури у вашій книзі обліку

Після того, як ви надіслали PDF-файл рахунку-фактури клієнту, ви повинні записати його в Beancount. Це важливий крок, який визнає дохід, коли він зароблений, а не лише коли він оплачений. Процес включає дві окремі транзакції.

1. Коли ви виставляєте рахунок-фактуру:

Ви створюєте транзакцію, яка переміщує загальну суму з вашого рахунку Income на Assets:AccountsReceivable. Це створює цифровий борг у ваших книгах.

; 2025‑07‑21 Рахунок-фактура № 045  Веб-дизайн спринт для Acme Corp.
2025-07-21 * "Acme Corp" "INV-045 Веб-дизайн спринт"
Assets:AccountsReceivable 3500.00 USD ; due:2025-08-04
Income:Design:Web
invoice_id: "INV-045"
contact_email: "[email protected]"
link: "docs/invoices/2025-07-21_Acme_INV-045.pdf"

Тут ви дебетуєте AccountsReceivable та кредитуєте свій рахунок Income. Зверніть увагу на багаті метадані: дата оплати, унікальний invoice_id та навіть пряме link: до PDF-файлу, який ви надіслали.

2. Коли клієнт платить:

Коли гроші надходять на ваш банківський рахунок, ви записуєте другу транзакцію, щоб "закрити" борг. Це переміщує баланс з AccountsReceivable на ваш розрахунковий рахунок.

2025-08-01 * "Acme Corp" "Оплата INV-045"
Assets:Bank:Checking 3500.00 USD
Assets:AccountsReceivable
invoice_id: "INV-045"

Баланс для INV-045 в Assets:AccountsReceivable тепер дорівнює нулю, а ваші книги ідеально збалансовані.

Додайте PDF-файл: Метадані link: особливо потужні при використанні з Fava, веб-інтерфейсом Beancount. Fava відобразить клікабельне посилання безпосередньо в поданні транзакції, тому вихідний документ завжди знаходиться на відстані одного кліку. Цей робочий процес був передбачений ще в 2016 році в запиті на функцію (GitHub).


Один запит для переліку всіх відкритих рахунків-фактур

Отже, хто вам ще винен гроші? З цією системою вам не потрібно шукати електронні листи чи електронні таблиці. Вам потрібен лише один простий запит.

Збережіть наступне як файл з назвою open-invoices.sql:

SELECT
meta('invoice_id') AS id,
payee,
narration,
date,
number(balance) AS outstanding
WHERE
account = "Assets:AccountsReceivable"
AND balance != 0
ORDER BY
date;

Тепер запустіть його з командного рядка:

bean-query books.beancount open-invoices.sql

За лічені секунди ви отримаєте чіткий, актуальний звіт про всі неоплачені рахунки-фактури, що показує ідентифікатор рахунку-фактури, клієнта, дату виставлення та суму заборгованості. Не потрібно додаткове програмне забезпечення.


Автоматизуйте рутинну роботу

Перевага простого тексту - це можливість написання скриптів. Ви можете автоматизувати нудні частини цього робочого процесу.

  • Шаблон + Pandoc = PDF: Підтримуйте свій шаблон рахунку-фактури в Markdown. Невеликий скрипт Python може заповнити змінні (ім'я клієнта, позиції рахунку, номер рахунку-фактури), а інструмент командного рядка Pandoc може миттєво перетворити його на професійний PDF-файл.
  • Git Pre-commit Hook: Якщо ви зберігаєте свою книгу обліку в Git, простий pre-commit hook може виконувати перевірки перед збереженням вашої роботи. Він може перевірити, чи кожен новий invoice_id є унікальним, чи транзакції збалансовані до нуля, та чи файл, на який посилається link: метадані, дійсно існує.
  • Cron Job: Налаштуйте заплановане завдання (cron job) для запуску вашого запиту open-invoices.sql щоночі та надсилання вам зведення електронною поштою. Ви починатимете кожен день, точно знаючи, кому потрібно надіслати дружнє нагадування.

Реалістичне застереження

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

Для більшості фрілансерів та невеликих магазинів цей ручний крок - це невелика ціна за надійну, перевіряєму та безкоштовну систему бухгалтерського обліку, яку ви повністю володієте та контролюєте (beancount.io).


Наступні кроки

Готові взяти під контроль свої рахунки-фактури? Ось як почати.

  1. Завантажте шаблон та використовуйте його для створення свого наступного реального рахунку-фактури, переконавшись, що використовуєте послідовний номер рахунку-фактури.
  2. Зберігайте надіслані PDF-файли в окремій папці, наприклад docs/invoices/, та використовуйте ключ метаданих link: у своїй транзакції Beancount, щоб посилатися на них.
  3. Збережіть запит open-invoices.sql та зробіть його запуск частиною вашого щотижневого фінансового огляду.

Бухгалтерський облік у простому тексті не означає відмову від точності чи контролю — це просто означає, що база даних може бути оброблена grep. З простим шаблоном та наведеними вище фрагментами коду ви будете отримувати оплату швидше та підтримувати свої книги в бездоганному стані.

Коригувальні проводки в Beancount: Ваше налаштування на кінець місяця

· 5 хвилин читання
Mike Thrift
Mike Thrift
Marketing Manager

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

У текстовому журналі Beancount ці важливі записи є прозорими, контрольованими за версіями та легко перевіряються, перетворюючи нудне завдання на чіткий та повторюваний процес.

2022-01-25-adjusting-entries-in-beancount-your-month-end-tune-up


Чому коригувальні проводки важливі

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

  • Точність нарахувань: Коригувальні проводки є рушієм методу нарахування. Вони переміщують доходи та витрати в той період, коли вони були фактично зароблені або понесені, незалежно від того, коли відбувся рух грошових коштів. Це відповідає основним принципам визнання доходів та зіставлення, які є основою сучасного бухгалтерського обліку (AccountingCoach.com).

  • Надійні КПІ: Ключові показники ефективності є настільки ж добрими, як і дані, на яких вони базуються. Такі показники, як валова маржа, чистий прибуток та прогнози руху грошових коштів, відображають правду лише після того, як відстрочки, нарахування та оцінки будуть належним чином проведені (Corporate Finance Institute).

  • Чистий аудит: Чіткі коригування на кінець місяця створюють чіткий запис вашої фінансової логіки. Це допомагає аудиторам (і вам у майбутньому) легко відстежити, що змінилося і чому, створюючи впевненість у ваших цифрах (Accountingverse).


Шість поширених категорій (зі фрагментами Beancount)

Ось шість найпоширеніших типів коригувальних проводок з прикладами того, як їх записувати у вашому журналі Beancount. Зверніть увагу на використання метаданих, таких як adj:"accrual", щоб ці записи було легко знайти та проаналізувати пізніше.

1. Нарахований дохід

Це стосується доходу, який ви заробили, але ще не виставили рахунок або не отримали оплату.

2025-07-31 * "Консалтинг—липневі години"
Assets:AccountsReceivable 12000.00 USD
Income:Consulting
; adj:"accrual" period:"Jul-25"

2. Нараховані витрати

Витрати, які ви понесли, але ще не оплатили, наприклад, рахунок за комунальні послуги, який надійде наступного місяця.

2025-07-31 * "Адвокат—липневий гонорар"
Expenses:Legal 2500.00 USD
Liabilities:AccruedPayables
; adj:"accrual"

3. Відстрочений (незароблений) дохід

Це застосовується, коли клієнт платить вам авансом. Ви визнаєте частину цього доходу в міру його отримання з часом.

2025-07-31 * "Річна передплата SaaS (визнання 1/12)"
Liabilities:UnearnedRevenue 833.33 USD
Income:SaaS
; adj:"deferral"

4. Передоплачені (відстрочені) витрати

Коли ви оплачуєте витрати авансом (наприклад, річний страховий поліс), ви списуєте частину цієї суми щомісяця.

2025-07-31 * "Страхування—1 міс. витрат з передоплати"
Expenses:Insurance 400.00 USD
Assets:PrepaidInsurance
; adj:"deferral"

5. Амортизація

Цей запис розподіляє вартість довгострокового активу (наприклад, комп'ютера або транспортного засобу) протягом терміну його корисного використання.

2025-07-31 * "Амортизація Mac Studio"
Expenses:Depreciation 1250.00 USD
Assets:Computers:AccumDepr
; asset_id:"MAC-03" adj:"estimate"

6. Резерв сумнівних боргів

Оцінка дебіторської заборгованості, яку ви не очікуєте стягнути, яка записується як витрати на безнадійні борги.

2025-07-31 * "Резерв на безнадійні борги (2% від ДЗ)"
Expenses:BadDebt 700.00 USD
Assets:AllowanceForBadDebt
; basis:"A/R" rate:0.02 adj:"estimate"

Повторюваний робочий процес

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

  • Використовуйте окремий файл. Зберігайте всі коригування за період в одному місці, наприклад, adjustments-2025-07.bean. У вашому основному файлі журналу використовуйте директиву include, щоб імпортувати його останнім. Це гарантує, що коригування застосовуються безпосередньо перед створенням остаточних звітів.

  • Стандартизуйте свої метадані. Завжди використовуйте послідовні ключі та значення метаданих, такі як adj:"accrual|deferral|estimate" та period:"Jul-25". Це спрощує запит та перегляд певних типів коригувань.

  • Виконайте попередню перевірку. Перед тим, як зафіксувати зміни в Git, запустіть bean-check у вашому файлі коригувань, щоб виявити будь-які помилки або незбалансовані проводки.

  • Виконайте однорядкову перевірку справності. Цей запит підтверджує, що всі ваші коригування за період збалансовані, що дає вам впевненість, що ви не допустили помилок.

    bean-query main.bean "SELECT account, SUM(number) WHERE meta('adj') AND meta('period') = 'Jul-25' GROUP BY account"

Поради щодо швидкого усунення несправностей 🤔

  • Чи зростає ваш баланс Liabilities:UnearnedRevenue? Перегляньте етапи вашого контракту. Можливо, ви визнаєте дохід занадто повільно порівняно з роботою, яку ви виконуєте.

  • Чи є ваш баланс Assets:PrepaidInsurance від’ємним? Ви, ймовірно, списуєте його швидше, ніж дозволяє графік активу. Перевірте свій графік амортизації.

  • Чи погіршується ваш період оборотності дебіторської заборгованості (DSO) після нарахувань? Ваш нарахований дохід може маскувати основні проблеми зі стягненням. Поєднайте цей КПІ зі звітом про старіння дебіторської заборгованості, щоб виявити клієнтів, які прострочують платежі, перш ніж це стане проблемою з рухом грошових коштів.


Заключні думки

Коригувальні проводки можуть здаватися нудними, але їх цінність стає очевидною, коли ви порівнюєте свої звіти про прибутки та збитки "до" та "після" — різниця часто є суттєвою. З Beancount ці коригування стають малими, доступними для пошуку виправленнями, які ви можете автоматизувати та переглядати, як код.

Сформуйте звичку до закриття місяця, і ваші цифри будуть такими ж точними, як і ваша інженерія.

Щасливого балансування!

Революціонізація управління особистими фінансами з Beancount.io

· 4 хвилини читання
Mike Thrift
Mike Thrift
Marketing Manager

Традиційно, користувачі Beancount (бухгалтери, що працюють з Beancount) використовують інструменти командного рядка або самостійно розміщують сервери у приватних мережах, де їм доводиться працювати через комп'ютер або універсальний текстовий редактор на мобільному пристрої. Beancount.io зменшує ці труднощі, пропонуючи мобільні додатки з відкритим вихідним кодом для Android та iOS, а також захищене хмарне сховище, завдяки чому ваш реєстр тепер доступний за кілька дотиків від вашого відбитка пальця.

Beancount — це комп'ютерна мова, яка дозволяє вести бухгалтерський облік за принципом подвійного запису у текстових файлах. Щойно ви визначите фінансові транзакції у файлі, вона згенерує різноманітні звіти. Мартін Блейс, розробник цієї мови, стверджує, що ведення бухгалтерії через командний рядок має багато переваг — це швидко, портативно, відкрито та налаштовувано.

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

Миттєвий доступ до вашого хмарного реєстру Beancount у будь-який час, будь-де

Не кожен є ентузіастом командного рядка, і саме тому ми створили Beancount.io — менеджер особистих фінансів для кожного. Ось як це працює:

Для інтенсивної роботи користувачі Beancount все ще можуть використовувати свої комп'ютери для редагування або перегляду реєстру за допомогою браузерів, відвідуючи https://beancount.io або синхронізуючись з Dropbox. Це зберігає гнучкість інструментів командного рядка, не втрачаючи при цьому крос-пристроєвого доступу хмарного рішення.

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

Майк Тріфт, інженер з бекенду, що працює над цим продуктом, говорить:

Раніше я щодня встановлював собі нагадування відкрити ноутбук і вводити записи у свої файли Beancount. Тепер, з Beancount.io, мені набагато легше змінювати свій реєстр, коли мені це потрібно, навіть коли я на вулиці щось купую в магазині.

Чжі Лі, інженер-програміст з Facebook, розповідає нам:

Я переніс усі свої файли Beancount на Beancount.io, і тепер це ідеально працює для мого щоденного використання. Я заплатив за Pro-функції, такі як автоматичне резервне копіювання даних, але відчуваю, що ви могли б зробити ще більше для покращення сервісу.

Ви можете зареєструватися зараз на https://beancount.io/sign-up/ або завантажити додаток для iOS чи додаток для Android. Ми спростили реєстрацію, щоб зібрати мінімально можливу інформацію від вас для запуску сервісу. Потім ви отримаєте попередньо налаштований порожній реєстр, готовий для негайного додавання записів.

Часті запитання

Чи буде beancount.io продавати мої дані реєстру третім сторонам?

  • Ні. Ми зобов'язуємося зберігати ваші дані захищеними та приватними, і ми ніколи не будемо продавати ваші дані реєстру.

Чи захищені мої дані?

  • Так. Ми захищаємо вашу електронну пошту та реєстр за допомогою AES256, ваш пароль — за допомогою BCrypt, а ваші мережеві запити — за допомогою SSL.

Чи зашифровані мої дані реєстру наскрізним шифруванням?

  • Ні. Через технічні обмеження нам все ще доводиться розшифровувати ваші дані в пам'яті під час індексації файлу реєстру на виробничих серверах. Тому ми обмежуємо прямий доступ для будь-кого з членів нашої команди. На жаль, ми не можемо реалізувати це в Intel SGX або будь-якому безпечному сховищі через високі витрати.

Чи є це надійним сервісом, якому я можу довіряти протягом наступних кількох років?

  • Так. Ми вперше запустили Beancount.io 4 липня 2019 року, і вже більше двох років ми безпечно та надійно експлуатуємо цей сервіс. Тому у нас немає причин не продовжувати його роботу в майбутньому.

Чи можу я запросити нові функції та спонсорувати проєкт?

  • Так. Будь ласка, не соромтеся звертатися до нас за адресою https://t.me/beancount для будь-яких відгуків та підтримайте нас, ставши Pro-користувачем за адресою https://beancount.io/pricing.