Skip to main content

2 posts tagged with "financial management"

View all tags

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

· 5 min read
Mike Thrift
Mike Thrift
Marketing Manager

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


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

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

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


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

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

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

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

Завантажте наші шаблони тут: beancount.io/invoice‑templates (Доступні у форматах Google Docs, Word, Sheets, Excel та PDF)


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

Після того, як ви надіслали 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: "ap@acme.example"
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: шлях до чистого обліку через простий текст

· 7 min read
Mike Thrift
Mike Thrift
Marketing Manager

Ви не можете керувати бізнесом, якщо не знаєте, куди йдуть гроші. Точний облік перетворює здогадки на розуміння. (Investopedia)

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

2019-03-24-bookkeeping-basics

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

Що таке бухгалтерський облік?

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

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

Чому це важливо?

Ретельний бухгалтерський облік – це не просто адміністративна акуратність; це стратегічна перевага.

  • Впевненість у податках: Коли настає податковий сезон, чисті записи – ваш найкращий друг. Податкова вимагає чіткої документації щодо доходів та відрахувань. Добре ведений реєстр означає, що ви можете подавати документи з упевненістю та значно скоротити будь-які потенційні аудити. (IRS)
  • Чіткіші рішення: Чи достатньо високі ваші ціни? Чи справді вигідний певний контракт на обслуговування? Чи зростають витрати на підписку поза контролем? Фінансові звіти, такі як звіт про прибутки та збитки та баланс, виявляють витоки цін, неконтрольовані витрати та проблеми з грошовими потоками, надаючи менеджерам та інвесторам дані, необхідні для прийняття розумних рішень. (Investopedia)
  • Легше фінансування: Кредитори та інвестори не приймають рішення на основі інтуїції. Перш ніж перераховувати кошти, вони попросять фінансові звіти. Хороші книги дозволяють вам за лічені секунди створити баланс або звіт про прибутки та збитки, демонструючи професіоналізм та фінансове здоров’я. (Investopedia)
  • Попередження про шахрайство та помилки: Регулярна звірка ваших книг з банківськими виписками – це ваша перша лінія захисту від помилок. Ця проста звичка допомагає вам швидко виявляти дублікати платежів, банківські помилки або шахрайську діяльність, перш ніж вони стануть серйозними проблемами. (IRS)

Семикроковий план простого тексту

Готові розпочати? Ось як побудувати вашу систему бухгалтерського обліку на базі Beancount з нуля.

1. Розділіть бізнес-рахунки та особисті рахунки

Це перший крок, який не підлягає обговоренню. Відкрийте окремий розрахунковий рахунок для бізнесу та, за потреби, бізнес-кредитну картку. Змішування коштів створює кошмар для бухгалтерського обліку та може розмити межі відповідальності між вами та вашим бізнесом. Чітке розділення є важливим для точного відрахування та правового захисту. (Small Business Administration)

У Beancount ви оголошуєте про існування цих рахунків за допомогою директиви open:

; Початкові залишки на ваших рахунках
2025-07-22 open Assets:Bank:Business USD
2025-07-22 open Assets:Bank:Personal USD

2. Виберіть систему бухгалтерського обліку

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

3. Визначтеся з методом бухгалтерського обліку

У вас є два основних варіанти:

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

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

; Приклад нарахування: виставлений рахунок, оплата пізніше
2025-07-22 * "Рахунок за дизайн №101"
Assets:AccountsReceivable 3000.00 USD
Income:Design

2025-08-15 * "Клієнт оплачує рахунок №101"
Assets:Bank:Business 3000.00 USD
Assets:AccountsReceivable

4. Зберіть свій набір інструментів

Краса Beancount полягає в його мінімалістській, модульній природі. Ваш основний набір включає:

  • Редактор + Git: Ваш улюблений текстовий редактор для журналювання транзакцій та Git для контролю версій, що дає вам повну, перевіряєму історію кожної зміни.
  • bean-report / bean-balance / Fava: Інструменти командного рядка, такі як bean-report, та приголомшливий веб-інтерфейс Fava, надають вам миттєві фінансові звіти, інформаційні панелі та потужні можливості фільтрації.
  • Імпортери: Багата екосистема імпортерів, створених спільнотою, може підключатися до ваших банківських каналів через CSV, Plaid або API для таких служб, як Stripe та PayPal, автоматизуючи більшу частину введення даних.

5. Класифікуйте кожну транзакцію

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

2025-07-30 * "Щомісячний рахунок AWS"
Expenses:Hosting:AWS 124.50 USD
Assets:Bank:Business
tag: "ops"

У цьому прикладі витрати чітко подані в розділі Expenses:Hosting:AWS. Використання tag: "ops" також дозволяє створювати перехресні звіти, наприклад, перегляд усіх операційних витрат незалежно від їхньої основної категорії. (IRS)

6. Зберігайте вихідні документи безпечно

IRS із задоволенням приймає цифрові копії квитанцій та рахунків-фактур. Скануйте паперові квитанції або пересилайте рахунки-фактури електронною поштою до спеціальної папки в хмарному сховищі (наприклад, Google Drive або Dropbox). Потім посилання на файл безпосередньо у вашому записі Beancount за допомогою метаданих. Це створює герметичний, автономний запис.

; Зображення квитанції, пов’язане як метадані
2025-07-18 * "Обід команди"
Expenses:Meals 85.10 USD
Assets:Bank:Business
receipt: "receipts/2025-07-18-team-lunch.jpg"

7. Зробіть бухгалтерський облік звичкою

Послідовність – ключ до успіху. Відкладання перетворює бухгалтерський облік на стресову, трудомістку роботу. Виділіть періодичний блок часу – щотижневий або щомісячний «Bean-день» – для імпорту транзакцій, звірки рахунків та перегляду ваших фінансових звітів. Ця проста процедура перетворює бухгалтерський облік з щоквартальної метушні на швидку, ефективну перевірку стану бізнесу. (IRS)

Самостійна робота проти професійної допомоги

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

Контрольний список швидкого старту

  • Відкрийте окремі банківські рахунки для бізнесу.
  • Клонуйте стартовий репозиторій Beancount та визначте свої рахунки у accounts.bean.
  • Виберіть касовий метод або метод нарахування та дотримуйтесь його.
  • Налаштуйте імпортери для автоматизації введення даних з вашого банку (CSV), Stripe, PayPal тощо.
  • Позначайте та пишіть чіткі описи для кожної транзакції.
  • Звіряйте свою книгу з банківськими виписками щотижня або щомісяця.
  • Створюйте щомісячні звіти про доходи, баланс та грошові потоки за допомогою Fava або bean-report.
  • Регулярно створюйте резервні копії своїх файлів .bean (Git + зовнішнє сховище).

Додаткова література

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