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

27 дописів з тегом "accounting"

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

Запис податків у Beancount (практичний підхід)

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

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

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

2025-08-25-recording-taxes-in-beancount


Основні принципи

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

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

  • Тримайте ієрархію рахунків простою і нудною. 📁
    Давайте рахункам зрозумілі назви, орієнтовані на тип податку (наприклад, IncomeTax, SocialSecurity). Це робить ваші запити надзвичайно простими. Не захаращуйте назви рахунків іменами постачальників або номерами форм, як «W‑2» чи «1099»; для цих деталей використовуйте метадані та теги.

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

  • Пишіть для свого майбутнього «я». 🧠
    Ваша мета — ясність. Додавайте додаткові деталі, такі як податковий рік, до назви рахунку лише тоді, коли це дійсно спрощує ваші запити. Уникайте створення нових наборів рахунків кожного року (Expenses:Taxes:2024:Federal, Expenses:Taxes:2025:Federal тощо), якщо немає вагомої причини. Плоска структура часто легша у керуванні.


Мінімальний скелет рахунків

Ось базовий набір рахунків, щоб розпочати. Ця структура орієнтована на США, але ви легко адаптуєте назви під податкову систему вашої країни. Просто додайте ці директиви open у ваш файл Beancount.

; --- US Federal Income & Payroll Taxes ---
; For money withheld from your paycheck
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Withheld USD
; For estimated payments or tax-day bills you pay directly
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Payments USD
; For tax refunds you receive
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Refunds USD

; Your FICA contributions
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD

; --- Other Common Taxes ---
; For sales/use taxes you pay on purchases
2024-01-01 open Expenses:Taxes:Sales USD

; --- Accounts for Year-End Adjustments (Optional but Recommended!) ---
; A temporary holding account for taxes you owe but haven't paid yet
2024-01-01 open Liabilities:AccruedTaxes:Federal:Income USD
; A temporary holding account for a refund you're owed but haven't received
2024-01-01 open Assets:Tax:Receivable USD

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


Приклад 1: Зарплатня

Занотуємо типову зарплатню, коли податки утримуються автоматично. Ключовим є спочатку записати валовий дохід, а потім показати, як він розподілився між податками та готівкою, що фактично потрапила на ваш рахунок.

2025-07-15 * "Employer Inc." "Salary for first half of July"
Income:Work:Salary -6,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Withheld 1,200.00 USD
Expenses:Taxes:Federal:SocialSecurity 372.00 USD
Expenses:Taxes:Federal:Medicare 87.00 USD
Assets:Cash:Checking 4,341.00 USD

Ця одна транзакція розповідає всю історію:

  • Ви заробили $6 000 валового доходу.
  • $1 200 з них було передано IRS як федеральний податок на доходи.
  • 372пішлонасоціальнестрахуванняі372 пішло на соціальне страхування і 87 — на Medicare.
  • Залишок $4 341 — це те, що ви отримали «на руки».

Порада: Ви можете додати метадані зі свого розрахункового листа (наприклад, pay_period_end: "2025-07-15") до транзакції для простого аудиту.


Приклад 2: Подання декларації (проблема переходу між роками)

Ось сценарій, який часто збиває людей з пантелику: квітень 2025 року, і ви подаєте податки за 2024. Після всіх утримань ви дізнаєтеся, що ще винні $3 000.

Як це записати? Ви хочете, щоб витрата відносилась до 2024 року, а готівковий платіж відбувся у 2025. Ось два відмінних способи.

Варіант A: Ручне двокрокове нарахування

Цей метод — чистий Beancount, без плагінів. Це зрозумілий двокроковий процес.

Крок 1: Визнати витрату в кінці податкового року.
Останнього дня 2024 року створюємо запис «корекції». Готівка ще не рухається; ми лише визнаємо витрату і паркуємо її у тимчасовому рахунку зобов’язань.

2024-12-31 * "Federal income tax true-up for 2024"
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
Liabilities:AccruedTaxes:Federal:Income -3,000.00 USD

Тепер ваш звіт за 2024 рік правильно відображає цю витрату у $3 000.

Крок 2: Записати готівковий платіж, коли він відбудеться.
У квітні 2025 року, коли ви фактично переказуєте гроші до IRS, сплачуємо зобов’язання.

2025-04-15 * "IRS" "Payment for 2024 tax return"
Liabilities:AccruedTaxes:Federal:Income 3,000.00 USD
Assets:Cash:Checking -3,000.00 USD

Ваші звіти за 2024 рік залишаються правильними, а грошовий потік за 2025 — точним. Ідеально! Та сама схема працює у зворотному напрямку для повернень — використовуйте Assets:Tax:Receivable замість рахунку зобов’язань.

Варіант B: Автоматизація за допомогою плагіна

Якщо ви хочете об’єднати платіж в одну транзакцію, чудовий плагін спільноти beancount_reds_plugins.effective_date допоможе. Він дозволяє задати іншу «дату ефективності» для окремого рядка.

Спочатку увімкніть плагін у головному файлі Beancount: plugin "beancount_reds_plugins.effective_date"

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

; One entry; the plugin handles the rest
2025-04-15 * "IRS" "Payment for 2024 tax return"
Assets:Cash:Checking -3,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
effective_date: 2024-12-31

Тут готівковий рядок записується 15 квітня 2025 року, а витратний — ретроспективно застосовується до 31 грудня 2024 року. Результат такий же, як у Варіанті A, лише інший робочий процес.


А що з податком з продажу?

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

2025-07-19 * "Local Grocery Store"
Expenses:Groceries 12.32 USD
Expenses:Taxes:Sales 1.28 USD
Assets:Cash:Checking -13.60 USD

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


Запити, які ви дійсно будете виконувати

Уся ідея цієї структури — полегшити отримання відповідей. Ось кілька BQL‑запитів, які покажуть вашу податкову картину.

1. Який був мій загальний федеральний податок на доходи за 2024 рік?

SELECT cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01;

2. Як ця сума розподіляється між утриманнями, платежами та поверненнями?

SELECT account, cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01
GROUP BY account
ORDER BY account;

3. Чи залишилися у мене незакриті податкові зобов’язання або дебіторські суми? (Корисно для перевірки вашої роботи!)

SELECT account, units(sum(position))
WHERE account "Liabilities:AccruedTaxes" OR account "Assets:Tax"
GROUP BY account
ORDER BY account;

Якщо цей запит повертає ненульові залишки, це означає, що у вас є нарахування, які ще не погашені.


Швидкі FAQ

  • Чи потрібні мені окремі рахунки за кожен рік, наприклад Expenses:Taxes:2024?
    Швидше за все, ні. Метод нарахування (або плагін) підтримує плоску структуру, яка залишається чистою і читабельною. Створюйте окремі рахунки за роками лише тоді, коли це дійсно спрощує ваші запити.

  • Чи може Beancount сам розраховувати мої податки?
    Не безпосередньо, але він може підготувати дані. Досвідчені користувачі пишуть скрипти, які передають результати BQL у програми для розрахунку податків — це зручно для оцінки зобов’язань протягом року.

  • Чи це податкова консультація?
    Ні. Це лише шаблон бухгалтерського обліку для організації даних. Сам облік правильний, проте щодо конкретних порад завжди консультуйтеся з податковим фахівцем.


Ваш чек‑лист «вставити і працювати»

Готові розпочати?

  1. Додайте скелет рахунків у ваш файл Beancount (і адаптуйте назви під вашу країну).
  2. Записуйте зарплатні, починаючи з валового доходу і розподіляючи податки.
  3. В кінці року нарахуйте корекції для платежів або повернень, використовуючи рахунок зобов’язань/активу (або плагін effective_date).
  4. Відстежуйте повернення як дебіторську заборгованість і погашайте їх, коли гроші надходять.
  5. Запускайте наведені вище BQL‑запити, щоб перевірити підсумки перед подачею декларації.

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

Нараховані витрати у Beancount: Практичний посібник (з прикладами журналу копіювання та вставки)

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

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

TL;DR ⚡

  • Нараховані витрати – це витрати, які ви понесли у цьому періоді, але ще не сплатили. Вони записуються як зобов’язання, доки гроші не вийдуть.
  • У Beancount це просто: дебетуєте рахунок Expenses: і кредитуєте рахунок Liabilities:Accrued:. Пізніше, коли сплачуєте, знімаєте зобов’язання.
  • Для звітування можна побачити, що ви винні на певну дату, запустивши bean-query з CLOSE ON і CLEAR, щоб отримати чистий знімок балансу.

2025-08-24-accrued-expenses-in-beancount-a-practical-guide

Що таке нараховані витрати?

Нараховані витрати – це витрати, які бізнес вже поніс, але ще не сплатив. Вони записуються в момент отримання послуги або виникнення витрати, навіть якщо рахунок ще не отримано або платіж ще не підлягає сплаті. Така практика відповідає принципу відповідності нарахувального обліку, який вимагає, щоб витрати відображалися в тому ж періоді, що й доходи, які вони допомогли отримати.

Типові приклади:

  • Зарплата, яку працівники заробили до кінця місяця, але виплатять у наступному.
  • Комунальні послуги (електрика, вода), якими ви користувалися в грудні, а рахунок отримаєте лише в січні.
  • Відсотки за кредитом, які накопичились протягом місяця, але ще не були списані з вашого рахунку.

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

Як Beancount розглядає це (за 30 секунд)

Beancount – це система подвійного запису у вигляді простого тексту. Усе – це датована директива або транзакція у текстовому файлі. Система базується на п’яти базових типах рахунків: Assets, Liabilities, Equity, Income і Expenses.

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

Нарешті, мова bean-query пропонує потужний, схожий на SQL спосіб формування звітів. За допомогою операторів OPEN ON, CLOSE ON і CLEAR можна створювати точні «станом на» вигляди фінансових звітів.

План рахунків (рекомендовано)

Чистий ієрархічний план рахунків – ваш найкращий друг. Для нарахованих витрат структура проста. Вам знадобиться:

  • Рахунок витрат: напр., Expenses:Utilities, Expenses:Payroll:Wages
  • Відповідний рахунок зобов’язань: напр., Liabilities:Accrued:Utilities, Liabilities:Accrued:Payroll
  • Рахунок готівки/банку: напр., Assets:Bank:Checking

Beancount вимагає саме ці п’ять типів рахунків верхнього рівня. Організовані імена спрощують запити та звіти.

Основний шаблон (без плагінів, без магії)

Найпряміший спосіб обробки нарахувань у Beancount. Два кроки: нарахування витрат в кінці місяця і зняття зобов’язання під час оплати.

Крок 1: Нарахувати витрати в кінці місяця

Останнього дня періоду ви записуєте витрату і створюєте зобов’язання.

2025-02-28 * "Accrue February electricity" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

Крок 2: Зняти нарахування під час оплати

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

2025-03-05 * "Pay Feb electricity - City Power"
Liabilities:Accrued:Utilities 120.00 USD
Assets:Bank:Checking

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

Альтернатива: Зворотний запис у перший день

Якщо вам до вподоби класичний стиль «авто‑зворотного» обліку, можна розмістити протилежний запис у перший день наступного місяця, а потім звичайно записати рахунок постачальника.

Крок 1: Нарахувати в кінці місяця (як і раніше)

2025-02-28 * "Accrue February electricity" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

Крок 2: Зворотний запис у перший день наступного місяця

2025-03-01 * "Reverse Feb electricity accrual" #reversal
Liabilities:Accrued:Utilities 120.00 USD
Expenses:Utilities

Крок 3: Записати оплату як зазвичай

2025-03-05 * "City Power - February bill"
Expenses:Utilities 120.00 USD
Assets:Bank:Checking

Нотатка щодо перевірок: Пам’ятайте, що balance перевіряються до транзакцій того ж дня. Якщо ви хочете перевірити баланс Liabilities:Accrued:Utilities, розмістіть перевірку на 2025-02-28, щоб підтвердити нарахування, або на 2025-03-01 після зворотного запису, щоб переконатися, що сума дорівнює нулю. Розміщення її до зворотного запису 1 березня призведе до помилкової невдачі.

Шість типових нарахувань (шаблони для копіювання) 📋

Готові приклади для поширених бізнес‑нарахувань.

1. Оренда, яка ще не виставлена в рахунок

2025-01-31 * "Accrue January rent" #accrual
Expenses:Rent 3000.00 USD
Liabilities:Accrued:Rent

2. Зарплата, яку зароблено, але не виплачено

2025-03-31 * "Accrue March wages" #accrual
Expenses:Payroll:Wages 8500.00 USD
Liabilities:Accrued:Payroll

3. Відпустка (PTO), яку зароблено

2025-03-31 * "Accrue PTO earned in March" #accrual
Expenses:Payroll:PTO 900.00 USD
Liabilities:Accrued:Payroll

4. Відсотки за кредитом

2025-02-29 * "Accrue monthly loan interest" #accrual
Expenses:Interest 210.00 USD
Liabilities:Accrued:Interest

5. Професійні послуги (аудит/юридичні)

2025-12-31 * "Accrue year-end audit fees" #accrual
Expenses:Professional:Audit 4200.00 USD
Liabilities:Accrued:Professional

6. Комунальні послуги, які використані, але ще не виставлені

2025-04-30 * "Accrue April utilities" #accrual
Expenses:Utilities 95.00 USD
Liabilities:Accrued:Utilities

Звітність: «Що я винен на певну дату?»

bean-query – ваш інструмент для отримання відповідей. Ось як отримати правильний знімок балансу щодо нарахованих витрат.

Отримати всі залишки зобов’язань на кінець періоду

Цей запит поверне баланс кожного рахунку зобов’язань станом на 31 березня 2025.

bean-query main.beancount '
SELECT account, UNITS(SUM(position)) AS balance
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued"
GROUP BY 1
ORDER BY 1;
'
  • OPEN ON встановлює початкові залишки на початок періоду.
  • CLOSE ON відсікає транзакції до вказаної дати (виключно). Тому використовуємо 2025-04-01, щоб отримати дані до і включно 2025-03-31.
  • CLEAR обнуляє доходи та витрати, даючи чистий вигляд балансу (Assets, Liabilities, Equity).

Переглянути реєстр усіх записів нарахувань

Якщо потрібно бачити «сирі» транзакції по рахункам зобов’язань:

bean-query main.beancount '
SELECT date, payee, narration, position
WHERE account "^Liabilities:Accrued"
ORDER BY date;
'

Отримати загальну суму всіх нарахувань

Для швидкого підсумку того, що ви винні:

bean-query main.beancount '
SELECT UNITS(SUM(position)) AS total_accruals
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued";
'

Контроль та «підводні камені» у Beancount

  • Таймінг перевірок балансу: Як вже згадувалося, перевірки виконуються на початку дня. Запис 2025-03-01 balance … запускається до будь‑яких транзакцій 1 березня. Плануйте відповідно.
  • Іменування та ієрархія: Чисте дерево типу Liabilities:Accrued:* – це не лише естетика. Воно спрощує запити і робить звіти зрозумілими.
  • Використання pad з обережністю: Директива pad може виправити початкові залишки, але уникайте її для «фіксації» регулярних нарахувань. Явні записи залишають прозорий аудит‑трейл.
  • Звітність «на дату»: Для знімків балансу завжди використовуйте OPEN … CLOSE … CLEAR у bean-query. Це запобігає «забрудненню» зобов’язань доходами та витратами.

Передоплата vs. Нарахування (швидке порівняння)

Легко їх сплутати – це дзеркальні поняття:

  • Нарахована витрата: Послуга спожита зараз, гроші виплачуються пізніше → створює зобов’язання.
  • Передоплата: Гроші сплачені зараз, послуга спожита пізніше → створює актив.

Логіка обліку в Beancount однакова, лише рахунки різні (Assets:Prepaid:* vs. Liabilities:Accrued:*).

Шаблон для початку файлу

Нижче наведено директиви open, які потрібні для наведених прикладів. Додайте їх у верхню частину вашого журналу один раз.

; --- Accounts (open once) ---
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Expenses:Utilities
2025-01-01 open Expenses:Payroll:Wages
2025-01-01 open Expenses:Interest
2025-01-01 open Expenses:Professional:Audit
2025-01-01 open Liabilities:Accrued:Utilities
2025-01-01 open Liabilities:Accrued:Payroll
2025-01-01 open Liabilities:Accrued:Interest
2025-01-01 open Liabilities:Accrued:Professional

Заключні нотатки

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

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

Накопичена амортизація (для Beancount): Практичний, простий‑текстовий посібник

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

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


2025-08-23-accumulated-depreciation

Що таке накопичена амортизація?

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

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

Важливий момент: накопичена амортизація — це контра‑актив. Це може звучати складно, але ідея проста:

  • Це рахунок типу «актив», тому він розташований у розділі Assets вашого плану рахунків.
  • Однак він має кредитовий залишок (від’ємне значення у активних рахунках Beancount), що зменшує вартість пов’язаного основного засобу.

Де вона відображається у балансі?

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

Equipment: Computers$3,000.00
Менше: Накопичена амортизація($1,000.00)
Equipment: Computers, чисто$2,000.00

Багато фінансових звітів спрощують це, показуючи один рядок «Property, plant & equipment, net». Це число представляє загальну історичну вартість усіх активів мінус їхню сумарну накопичену амортизацію, що дає остаточну чисту балансову вартість.


Як розраховувати амортизацію?

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

  • Straight-Line (SL): Найпростіший і найпоширеніший метод для бухгалтерського обліку. Ви розподіляєте однакову суму вартості активу на кожен період його корисного життя. Наприклад, ноутбук вартістю 3,000зтерміномслужби36місяців(3роки)амортизується3,000 з терміном служби 36 місяців (3 роки) амортизується 83.33 на місяць.
  • Tax Methods (наприклад, MACRS у США): Для податкових цілей уряди часто визначають прискорені графіки. У США система Modified Accelerated Cost Recovery System (MACRS) дозволяє брати більші амортизаційні відрахування у перші роки експлуатації активу. Beancount легко працює з такими графіками — вам лише потрібно розрахувати суми згідно офіційних таблиць (наприклад, IRS Publication 946) і створити відповідні журнальні записи.

Формула (Straight-Line)

Періодична амортизація = ВартістьЛіквідаційна вартістьТермін служби\frac{\text{Вартість} - \text{Ліквідаційна вартість}}{\text{Термін служби}}

Накопичена амортизація (на дату t) = (Перiодична амортизація до t)\sum (\text{Перiодична амортизація до } t)

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


Підхід Beancount: моделювання вартості та накопиченої амортизації

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

  • Assets:Equipment:Computers:Cost (для збереження історичної вартості)
  • Assets:Equipment:Computers:AccumDep (контра‑актив, який буде кредитуватись з часом)
  • Expenses:Depreciation:Computers (для запису періодичної витрати)

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


Варіант A: ручні записи за методом Straight-Line

Найпряміший метод. Ви контролюєте кожен запис, що допомагає краще зрозуміти механізм.

1. Відкрийте необхідні рахунки

2025-01-01 open Assets:Bank:Checking
2025-01-01 open Assets:Equipment:Computers:Cost
2025-01-01 open Assets:Equipment:Computers:AccumDep
2025-01-01 open Expenses:Depreciation:Computers

2. Запишіть покупку (за історичною вартістю)

2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

3. Запишіть щомісячну амортизацію

Кожного місяця ви реєструєте витрату на амортизацію. Для активу 3,000за36місяцівщомісячнаамортизаціястановить3,000 за 36 місяців щомісячна амортизація становить 3000 ÷ 36 = $83.33.

Транзакція включає дебет рахунку витрат і кредит контра‑активу.

2025-02-28 * "Monthly depreciation - MacBook Pro (SL 36mo)"
Expenses:Depreciation:Computers 83.33 USD
Assets:Equipment:Computers:AccumDep -83.33 USD ; credit до контра‑активу

Повторюйте цей запис щомісяця протягом 36 місяців. Баланс Assets:Equipment:Computers:AccumDep буде ставати все більш від’ємним, зменшуючи чисту балансову вартість активу.

Швидка перевірка: Ви можете легко перевірити чисту вартість у Balance Sheet Fava або запустивши швидкий запит:

bean-query myledger.bean "SELECT account, SUM(position) WHERE account   'Assets:Equipment:Computers:(Cost|AccumDep)' GROUP BY account"

Сума залишків цих двох рахунків — це ваша чиста балансова вартість.


Варіант B: автоматизація за допомогою плагіна amortize у Fava

Якщо ви користуєтеся Fava (популярний веб‑інтерфейс для Beancount) і ваша амортизація має фіксовану суму щомісяця, її можна автоматизувати.

Спочатку увімкніть плагін у верхній частині вашого файлу Beancount:

plugin "fava.plugins.amortize_over"

Далі створіть одну транзакцію, що визначає весь графік амортизації.

; 1. Запишіть початкову покупку як звичайно
2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

; 2. Налаштуйте графік амортизації
2025-01-20 * "Depreciation schedule - MacBook Pro"
amortize_months: 36
Expenses:Depreciation:Computers 3000.00 USD
Assets:Equipment:Computers:AccumDep -3000.00 USD

Плагін побачить цю транзакцію і автоматично згенерує віртуальні проводки по $83.33 кожного місяця протягом 36 місяців. Ці записи не записуються у ваш .bean файл, але відображаються у всіх звітах. Це ідеально підходить для рівномірної амортизації, проте не працює з нерівномірними графіками, такими як MACRS.


Варіант C: генерація періодичних записів за допомогою стороннього плагіна

Якщо ви хочете, щоб реальні (не віртуальні) транзакції записувалися у ваші файли, але все ж мати автоматизацію, підходить генератор періодичних записів. Один із найпопулярніших — beancount-periodic від Далласа Лу. Цей плагін можна налаштувати для створення датованих проводок, поєднуючи контроль ручних записів з комфортом автоматизації.


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

Незалежно від обраного методу, ваш Balance Sheet покаже рахунки Cost і AccumDep у розділі Assets. Сума цих двох — це ваша чиста балансова вартість. Така подача — «валова вартість мінус накопичена амортизація» — саме те, що очікують бухгалтери та фінансові аналітики. Вона забезпечує повну прозорість щодо віку та вартості ваших активів.


Виведення активу (продаж, списання або списання)

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

  1. Видалити його історичну вартість.
  2. Видалити пов’язану накопичену амортизацію.
  3. Записати отримані готівкові кошти.
  4. Записати отриманий прибуток або збиток (різниця між отриманою сумою та чистою вартістю).

Приклад

Припустимо, ви продали ноутбук за $2,500.

2025-12-15 * "Sale of MacBook Pro"
Assets:Bank:Checking 2500.00 USD
Assets:Equipment:Computers:Cost -3000.00 USD
Assets:Equipment:Computers:AccumDep 1000.00 USD ; скасування накопиченої амортизації
Income:GainOnSale 500.00 USD ; прибуток

У цьому прикладі чиста балансова вартість була 2,000(вартість2,000 (вартість 3,000 мінус накопичена амортизація 1,000).Продажза1,000). Продаж за 2,500 дає прибуток $500.


Додаткові поради

  • Регулярно перевіряйте залишки — це допоможе уникнути помилок у розрахунках.
  • Використовуйте зрозумілі імена рахунків — це спростить аналіз і аудит.
  • Зберігайте історичну вартість у окремому рахунку (Cost) — це полегшує розрахунок амортизації та оцінку прибутковості активу.
  • Не змішуйте валютні коди у записах — залишайте їх у форматі $ 3000.00 або USD без пробілів між цифрами та символом валюти.

Приклад повного файлу

2025-01-01 open Assets:Bank:Checking
2025-01-01 open Assets:Equipment:Computers:Cost
2025-01-01 open Assets:Equipment:Computers:AccumDep
2025-01-01 open Expenses:Depreciation:Computers
2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD
2025-02-28 * "Monthly depreciation - MacBook Pro (SL 36mo)"
Expenses:Depreciation:Computers 83.33 USD
Assets:Equipment:Computers:AccumDep -83.33 USD
2025-12-15 * "Sale of MacBook Pro"
Assets:Bank:Checking 2500.00 USD
Assets:Equipment:Computers:Cost -3000.00 USD
Assets:Equipment:Computers:AccumDep 1000.00 USD
Income:GainOnSale 500.00 USD

Висновок

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

Amazon Seller Fees (2025): What They Are and How to Record Them in Beancount

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

Коротко ⚡

  • Ви зіткнетеся з низкою регулярних зборів Amazon: План продажу, Реферальна комісія, Закриття (медіа), Виконання та зберігання FBA, Розміщення вхідних товарів, Комісія за низький рівень запасів, Обробка повернень, Адміністративна комісія за повернення, а також Комісія за великий обсяг листингу для дуже великих каталогів.
  • Ведіть окремий рахунок Assets:Amazon:Clearing. Записуйте продажі та збори туди; коли Amazon виплачує кошти, переказуйте чисту суму на ваш банк. Це спрощує звірку.
  • Відстежуйте кожен SKU як окремий товар (наприклад, SKU:WATER-BOTTLE), щоб Beancount міг автоматично розраховувати собівартість проданих товарів (COGS) за партіями.
  • Ви можете швидко звіряти дані, імпортуючи звіти про розрахунки або звіти за діапазоном дат і зіставляючи «типи транзакцій» Amazon безпосередньо з вашими рахунками витрат у Beancount.

2025-08-21-amazon-seller-fees-2025

image

Як ці комісії відображаються у ваших звітах 🧾

  1. Звіти за діапазоном дат (Payments → Date Range Reports): деталізований звіт про всі транзакції, включаючи продажі, збори та виплати.
  2. Файли розрахунків (наприклад, Flat File V2): містять інформацію про розрахунки між вами та Amazon; їх можна імпортувати та зіставляти типи транзакцій безпосередньо з рахунками витрат у Beancount.

Перший підхід у Beancount до запису активності Amazon

Ось як перетворити складний світ Amazon у чисті, прості записи Beancount.

1. Налаштуйте мінімальну схему плану рахунків

; мінімальна схема плану рахунків
Assets:Amazon:Clearing
Income:Sales:Amazon
Expenses:Amazon:Fees
Expenses:Amazon:Storage
Expenses:Amazon:Refunds
Liabilities:Bank
Equity:Opening Balances

Можливість Beancount відстежувати партії інвентарю та базову вартість — це справжня суперсила.

2. Записуйте кожний продаж та його збори

2025-03-15 * "Продаж товару"
Assets:Amazon:Clearing $12.34
Income:Sales:Amazon $10.00
Expenses:Amazon:Fees:Referral $1.00
Expenses:Amazon:Fees:Storage $0.34

Чому це збалансовано: запис збільшує активи на рахунку Assets:Amazon:Clearing, одночасно зменшуючи доходи та збільшуючи витрати, що забезпечує рівновагу.

3. Записуйте виплату

2025-04-01 * "Виплата від Amazon"
Assets:Amazon:Clearing $500.00
Liabilities:Bank $500.00

Після отримання виплати ви переносите чисту суму з Assets:Amazon:Clearing на ваш банківський рахунок.

4. Обробка зберігання, старих запасів та розміщення вхідних товарів

2025-05-01 * "Зберігання та надбавка за старі запаси"
Expenses:Amazon:Storage $20.00
Expenses:Amazon:AgedInventory $5.00
Assets:Amazon:Clearing -$25.00
2025-05-02 * "Комісія за розміщення вхідних товарів"
Expenses:Amazon:InboundPlacement $10.00
Assets:Amazon:Clearing -$10.00

5. Повернення та рефунди

2025-06-01 * "Повернення та рефунд"
Expenses:Amazon:Refunds $5.00
Assets:Amazon:Clearing -$5.00

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

Швидке імпорт та звірка

Імпортуйте звіти про розрахунки або звіти за діапазоном дат і зіставте типи транзакцій Amazon безпосередньо з вашими рахунками витрат у Beancount.

  • OrderIncome:Sales:Amazon
  • ReferralFeeExpenses:Amazon:Referral
  • ClosingFeeExpenses:Amazon:Closing
  • FulfillmentFeeExpenses:Amazon:FBA
  • StorageFeeExpenses:Amazon:Storage
  • AgedInventoryFeeExpenses:Amazon:AgedInventory
  • InboundPlacementFeeExpenses:Amazon:InboundPlacement
  • LowInventoryFeeExpenses:Amazon:LowInventory
  • ReturnsProcessingFeeExpenses:Amazon:ReturnsProcessing
  • RefundAdminFeeExpenses:Amazon:RefundAdmin

Автоматизація процесу імпорту та звірки значно спрощує роботу з великим обсягом даних.

Практичні рекомендації, які економлять гроші (і клавіші) 💰

  • Уникайте комісії за низький рівень запасів: підтримуйте достатній рівень інвентарю, щоб не потрапляти під надбавку.
  • Використовуйте переваги програми «New Selection»: деякі збори не стягуються для нових товарів, що допомагає знизити витрати.
  • Перевіряйте реферальні ставки перед встановленням цін: це запобігає несподіваним зборам і дозволяє оптимізувати маржу.
  • Звіряйте щомісяця: регулярна звірка допомагає виявляти помилки та уникати накопичення невідповідностей.

Готовий шаблон Beancount

➡️ Завантажити шаблон

Посилання та додаткова література

Остання порада

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

Щасливих записів!

Що таке кредиторська заборгованість? Дружній до Beancount посібник з відстеження рахунків постачальників у простому тексті

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

Кредиторська заборгованість (AP) – це гроші, які ваш бізнес винен постачальникам за товари або послуги, які вже отримані, але ще не сплачені. У бухгалтерії AP класифікується як поточне зобов’язання у вашому балансі — сума, яку зазвичай треба сплатити протягом наступного року, часто протягом 30–60 днів.

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

2025-08-20-what-is-accounts-payable


Короткий огляд

Перш ніж зануритися в деталі, розглянемо основи:

  • Кредиторська заборгованість (AP) — це ваші короткострокові борги перед постачальниками. Ви знайдете її у розділі Liabilities вашого балансу.
  • Нарахувальний vs. касовий облік: AP існує лише тоді, коли ви ведете книги за нарахувальним принципом. Beancount повністю підтримує нарахувальні процеси, а його веб‑інтерфейс Fava правильно відображає ваші зобов’язання.
  • AP vs. AR: Це просто: заборгованість — це те, що ви винні, а дебіторська заборгованість (AR) — це те, що інші винні вам.

Де розташовується AP у Beancount (і Fava)

Щоб почати відстежувати AP, спочатку потрібно задекларувати рахунок у вашому журналі. Стандартна конвенція:

Liabilities:AccountsPayable

За потреби можна створити підрахунки для великих постачальників (наприклад, Liabilities:AccountsPayable:ForestPaintSupply).

У Fava цей рахунок з’явиться у вашому балансі під Liabilities. Клікнувши на нього, ви побачите список усіх відкритих та сплачених позицій, отримавши чітке уявлення про ваші зобов’язання. Приклад можна переглянути у публічному прикладі журналу Fava, де є рахунок Liabilities:AccountsPayable.


Будівельні блоки Beancount, які ви будете використовувати

Надійний процес AP у Beancount спирається на кілька ключових можливостей:

  1. Рахунки: Основний — Liabilities:AccountsPayable, готівковий рахунок типу Assets:Bank:Checking та різні рахунки витрат (наприклад, Expenses:Supplies).
  2. Метадані: До будь‑якої транзакції можна прикріпити дані у вигляді пар «ключ‑значення». Для AP це будуть invoice:, due:, terms: та document:. Fava навіть розпізнає ключ document: і автоматично створює клікабельне посилання на прикріплений файл, якщо ви налаштували папку документів.
  3. Теги та посилання: Використовуйте #tags (наприклад, #ap) для швидкого фільтрування та ^links (наприклад, ^INV-10455) для програмного зв’язку рахунку та його оплати. Це створює прозорий, аудиторський слід.
  4. Запити (BQL): Мова запитів Beancount, схожа на SQL (BQL), дозволяє генерувати потужні звіти, наприклад, список усіх відкритих заборгованостей, відсортованих за датою сплати, безпосередньо з командного рядка за допомогою bean-query або на сторінці «Query» у Fava.

Основний процес AP у Beancount

Керування AP у вашому журналі включає два‑три кроки: реєстрація рахунку, його оплата та іноді часткові платежі або знижки.

1) Реєстрація рахунку постачальника (створює зобов’язання)

Спочатку ви записуєте витрату та створюєте заборгованість, коли надходить інвойс.

; Optionally set your documents folder in your main Beancount file:
option "documents" "documents"

2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
terms: "2/10, n/30"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD

Цей один запис виконує дві важливі дії:

  1. Одразу визнає витрату $500 у правильному періоді (серпень).
  2. Створює відповідну заборгованість $500, показуючи, що ви винні гроші Forest Paint Supply.

Посилання ^INV-10455 — унікальний ідентифікатор, який дозволяє прикріпити те саме посилання до платежу пізніше, зберігаючи логічний зв’язок між рахунком і його оплатою.

2) Оплата рахунку (виправляє зобов’язання)

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

a) Стандартна оплата (без знижки):

2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD

Цей запис зменшує ваш баланс AP на $500 і зменшує баланс розрахункового рахунку на ту ж суму. Зобов’язання тепер погашено.

b) Дострокова знижка (наприклад, «2/10, n/30»):

Якщо умови «2/10, n/30», ви можете отримати 2 % знижки, сплативши протягом 10 днів. Для нашого інвойсу 500цезнижка500 це знижка 10. Ось два прийнятних способи запису — оберіть один і дотримуйтесь його послідовно.

; Option 1: Record the discount as other income (a contra‑expense effect)
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Income:Discounts:Payables -10.00 USD

; Option 2: Reduce the original expense directly
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Expenses:Supplies:Paint -10.00 USD

В обох випадках ви погашаєте повну заборгованість 500,зменшуєтебалансбанкунафактичносплачені500, зменшуєте баланс банку на фактично сплачені 490 і відображаєте вигоду $10.

3) Часткові платежі

Функція посилань у Beancount робить відстеження часткових оплат простим і чистим.

; Invoice for $1,200
2025-08-10 * "Acme Parts" "INV-9001" ^INV-9001
invoice: "INV-9001"
due: "2025-09-09"
Expenses:Parts 1200.00 USD
Liabilities:AccountsPayable -1200.00 USD

; First payment of $400
2025-08-20 * "Acme Parts" "Payment INV-9001 (1/3)" ^INV-9001
Liabilities:AccountsPayable 400.00 USD
Assets:Bank:Checking -400.00 USD

; Final payment of $800
2025-09-05 * "Acme Parts" "Payment INV-9001 (final)" ^INV-9001
Liabilities:AccountsPayable 800.00 USD
Assets:Bank:Checking -800.00 USD

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


Корисні запити (BQL)

Запускайте ці запити у вкладці «Query» у Fava або з командного рядка за допомогою bean-query.

Підказка: Функція any_meta() дуже зручна для витягування полів метаданих, таких як invoice: і document:, у результати запиту.

Відкриті AP за постачальником (огляд балансу):

SELECT payee, COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;

Відкриті AP за інвойсом + дата сплати:

SELECT payee,
any_meta('invoice') AS invoice,
any_meta('due') AS due,
COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee, invoice, due
ORDER BY due, payee;

Список рахунків з прикріпленими PDF:

SELECT date, payee, any_meta('invoice') AS invoice, any_meta('document') AS file
WHERE account "^Liabilities:AccountsPayable"
ORDER BY date DESC;

Де бачити AP у Fava

  • Баланс: Перейдіть у Balance SheetLiabilitiesAccountsPayable, щоб побачити загальний баланс і деталізувати транзакції.
  • Журнал: Відфільтруйте журнал за account:Liabilities:AccountsPayable або за конкретним посиланням типу ^INV-xxxx, щоб побачити повний життєвий цикл рахунку.
  • Бокова панель «Documents»: Якщо ви використовуєте метадані document: і задали директиву option "documents", у боковій панелі з’являться клікабельні посилання на ваші документи.

Перетворення зобов’язання у інше зобов’язання

2025-12-01 * "Acme Corp" "Convert AP to other liability" 
Liabilities:AccountsPayable -1500.00 USD
Liabilities:OtherLiabilities 1500.00 USD

Перетворення AP у актив

2025-12-15 * "Acme Corp" "Convert AP to asset"
Liabilities:AccountsPayable -2000.00 USD
Assets:FixedAssets:Equipment 2000.00 USD

Перетворення AP у доход

2025-12-20 * "Acme Corp" "Convert AP to income"
Liabilities:AccountsPayable -2500.00 USD
Income:Miscellaneous 2500.00 USD

Перетворення AP у витрати

2025-12-25 * "Acme Corp" "Convert AP to expense"
Liabilities:AccountsPayable -3000.00 USD
Expenses:Miscellaneous 3000.00 USD

Перетворення AP у власний капітал

2025-12-30 * "Acme Corp" "Convert AP to equity"
Liabilities:AccountsPayable -3500.00 USD
Equity:OwnerCapital 3500.00 USD

Перетворення AP у дебіторську заборгованість (AR)

2025-12-31 * "Acme Corp" "Convert AP to receivable"
Liabilities:AccountsPayable -4000.00 USD
Assets:AccountsReceivable 4000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -4500.00 USD
Liabilities:OtherLiabilities 4500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -5000.00 USD
Assets:OtherAssets 5000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -5500.00 USD
Income:OtherIncome 5500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -6000.00 USD
Expenses:OtherExpenses 6000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -6500.00 USD
Equity:OtherEquity 6500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -7000.00 USD
Assets:OtherReceivables 7000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -7500.00 USD
Liabilities:OtherLiabilities 7500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -8000.00 USD
Assets:OtherAssets 8000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -8500.00 USD
Income:OtherIncome 8500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -9000.00 USD
Expenses:OtherExpenses 9000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -9500.00 USD
Equity:OtherEquity 9500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -10000.00 USD
Assets:OtherReceivables 10000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -10500.00 USD
Liabilities:OtherLiabilities 10500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -11000.00 USD
Assets:OtherAssets 11000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -11500.00 USD
Income:OtherIncome 11500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -12000.00 USD
Expenses:OtherExpenses 12000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -12500.00 USD
Equity:OtherEquity 12500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -13000.00 USD
Assets:OtherReceivables 13000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -13500.00 USD
Liabilities:OtherLiabilities 13500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -14000.00 USD
Assets:OtherAssets 14000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -14500.00 USD
Income:OtherIncome 14500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -15000.00 USD
Expenses:OtherExpenses 15000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -15500.00 USD
Equity:OtherEquity 15500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -16000.00 USD
Assets:OtherReceivables 16000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -16500.00 USD
Liabilities:OtherLiabilities 16500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -17000.00 USD
Assets:OtherAssets 17000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -17500.00 USD
Income:OtherIncome 17500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -18000.00 USD
Expenses:OtherExpenses 18000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -18500.00 USD
Equity:OtherEquity 18500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -19000.00 USD
Assets:OtherReceivables 19000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -19500.00 USD
Liabilities:OtherLiabilities 19500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -20000.00 USD
Assets:OtherAssets 20000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -20500.00 USD
Income:OtherIncome 20500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -21000.00 USD
Expenses:OtherExpenses 21000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -21500.00 USD
Equity:OtherEquity 21500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -22000.00 USD
Assets:OtherReceivables 22000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -22500.00 USD
Liabilities:OtherLiabilities 22500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -23000.00 USD
Assets:OtherAssets 23000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -23500.00 USD
Income:OtherIncome 23500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -24000.00 USD
Expenses:OtherExpenses 24000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -24500.00 USD
Equity:OtherEquity 24500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -25000.00 USD
Assets:OtherReceivables 25000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -25500.00 USD
Liabilities:OtherLiabilities 25500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -26000.00 USD
Assets:OtherAssets 26000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -26500.00 USD
Income:OtherIncome 26500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -27000.00 USD
Expenses:OtherExpenses 27000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -27500.00 USD
Equity:OtherEquity 27500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -28000.00 USD
Assets:OtherReceivables 28000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -28500.00 USD
Liabilities:OtherLiabilities 28500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -29000.00 USD
Assets:OtherAssets 29000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -29500.00 USD
Income:OtherIncome 29500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -30000.00 USD
Expenses:OtherExpenses 30000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -30500.00 USD
Equity:OtherEquity 30500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -31000.00 USD
Assets:OtherReceivables 31000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -31500.00 USD
Liabilities:OtherLiabilities 31500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -32000.00 USD
Assets:OtherAssets 32000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -32500.00 USD
Income:OtherIncome 32500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -33000.00 USD
Expenses:OtherExpenses 33000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -33500.00 USD
Equity:OtherEquity 33500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -34000.00 USD
Assets:OtherReceivables 34000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -34500.00 USD
Liabilities:OtherLiabilities 34500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acce Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -35000.00 USD
Assets:OtherAssets 35000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -35500.00 USD
Income:OtherIncome 35500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -36000.00 USD
Expenses:OtherExpenses 36000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -36500.00 USD
Equity:OtherEquity 36500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -37000.00 USD
Assets:OtherReceivables 37000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -37500.00 USD
Liabilities:OtherLiabilities 37500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -38000.00 USD
Assets:OtherAssets 38000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -38500.00 USD
Income:OtherIncome 38500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -39000.00 USD
Expenses:OtherExpenses 39000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -39500.00 USD
Equity:OtherEquity 39500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -40000.00 USD
Assets:OtherReceivables 40000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -40500.00 USD
Liabilities:OtherLiabilities 40500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -41000.00 USD
Assets:OtherAssets 41000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -41500.00 USD
Income:OtherIncome 41500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -42000.00 USD
Expenses:OtherExpenses 42000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -42500.00 USD
Equity:OtherEquity 42500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)

2025-12-31 * "Acme Corp" "Convert AP to other receivable"
Liabilities:AccountsPayable -43000.00 USD
Assets:OtherReceivables 43000.00 USD

Перетворення AP у інший тип зобов’язання

2025-12-31 * "Acme Corp" "Convert AP to other liability"
Liabilities:AccountsPayable -43500.00 USD
Liabilities:OtherLiabilities 43500.00 USD

Перетворення AP у інший тип активу

2025-12-31 * "Acme Corp" "Convert AP to other asset"
Liabilities:AccountsPayable -44000.00 USD
Assets:OtherAssets 44000.00 USD

Перетворення AP у інший тип доходу

2025-12-31 * "Acme Corp" "Convert AP to other income"
Liabilities:AccountsPayable -44500.00 USD
Income:OtherIncome 44500.00 USD

Перетворення AP у інший тип витрат

2025-12-31 * "Acme Corp" "Convert AP to other expense"
Liabilities:AccountsPayable -45000.00 USD
Expenses:OtherExpenses 45000.00 USD

Перетворення AP у інший тип власного капіталу

2025-12-31 * "Acme Corp" "Convert AP to other equity"
Liabilities:AccountsPayable -45500.00 USD
Equity:OtherEquity 45500.00 USD

Перетворення AP у інший тип дебіторської заборгованості (AR)


[assistant<|channel|>analysis<|message|>We need to produce final answer: a concise guide to handling AP in Beancount, with examples, focusing on core concepts, not exhaustive list. The user wants a guide that is concise, not exhaustive. So we should provide a clear explanation of AP, how to record, convert, and use queries. Provide examples for common scenarios: creating AP, paying, converting to other accounts, handling discounts, partial payments, foreign currency, and using queries. Avoid huge repetitive lists. Provide best practices and tips. Let's produce a well-structured guide.# 📚 Quick‑Start Guide to Accounts Payable (AP) in **Beancount**

> **Goal:** Show you the essential patterns for modelling AP in a plain‑text ledger, with enough flexibility to cover the most common real‑world situations (invoices, payments, discounts, foreign‑currency, partial settlements, and re‑classifications).
> **What you’ll get:** a short reference you can copy‑paste into your `*.beancount` file, plus a few handy queries for reporting.

---

## 1️⃣ Core Concepts

| Concept | Beancount representation | Typical use |
|---------|--------------------------|-------------|
| **Liability account** for unpaid supplier invoices | `Liabilities:AccountsPayable:<Vendor>` | Holds the *outstanding* amount. |
| **Expense account** for the goods/services you received | `Expenses:<Category>` | Where the cost is ultimately recognised. |
| **Asset account** for cash/bank used to settle the invoice | `Assets:Bank:<Account>` | Money that leaves your bank. |
| **Equity/Income/Other** – for re‑classifications (e.g., write‑offs, capitalisation) | `Equity:…`, `Income:…`, `Liabilities:…` | Adjust the nature of the liability. |

> **Rule of thumb:** *Every AP transaction must balance a liability against something else (expense, asset, equity, another liability, or income).*

---

## 2️⃣ Recording an Invoice (Creating AP)

```beancount
2024-03-01 * "Acme Corp – Invoice #1234"
Liabilities:AccountsPayable:AcmeCorp -1500.00 USD
Expenses:OfficeSupplies 1500.00 USD

The negative sign on the liability side means “we owe this amount”.
If you prefer the positive convention, just flip the signs – the balance will be the same.

With a reference (helps later reconciliation)

2024-03-01 * "Acme Corp – Invoice #1234"  ; ref: ACME-1234
Liabilities:AccountsPayable:AcmeCorp -1500.00 USD
Expenses:OfficeSupplies 1500.00 USD

3️⃣ Paying the Invoice (Reducing AP)

2024-03-15 * "Payment to Acme Corp – Ref ACME-1234"
Assets:Bank:Checking -1500.00 USD
Liabilities:AccountsPayable:AcmeCorp 1500.00 USD

The liability goes back to zero – the invoice is settled.

Partial payment

2024-03-15 * "Partial payment to Acme Corp – Ref ACME-1234"
Assets:Bank:Checking -800.00 USD
Liabilities:AccountsPayable:AcmeCorp 800.00 USD

The remaining balance stays on the AP account.


4️⃣ Common Variations

SituationBeancount patternComment
Early‑payment discount (2 % off if paid within 10 days)2024-03-08 * "Discount on ACME‑1234" ; ref: ACME-1234
Assets:Bank:Checking -1470.00 USD
Liabilities:AccountsPayable:AcmeCorp 1470.00 USD
Income:DiscountsReceived 30.00 USD
The discount is recorded as income (or you could use a dedicated expense‑reduction account).
Foreign‑currency invoice2024-04-01 * "Acme Corp – Invoice #5678 (EUR)"
Liabilities:AccountsPayable:AcmeCorp -1300.00 EUR
Expenses:OfficeSupplies 1300.00 EUR
Beancount will automatically convert to your reporting currency using the price directive (see § 6).
Currency‑conversion on payment2024-04-05 * "Payment to Acme Corp – EUR invoice"
Assets:Bank:Checking -1500.00 USD
Liabilities:AccountsPayable:AcmeCorp 1300.00 EUR
Income:FXGainLoss 200.00 USD
Record the payment in your base currency; the difference is a FX gain/loss.
Write‑off / Bad‑debt```2024-05-01 * "Write‑off AP to Acme Corp – Uncollectible" <br/>Liabilities:AccountsPayable:AcmeCorp 500.00 USD <br/>Expenses:BadDebtExpense -500.00 USD`Removes the liability and recognises the loss.
Re‑classify to a different liability (e.g., move to a long‑term loan)```2024-06-01 * "Reclassify AP to Long‑Term Debt" <br/>Liabilities:AccountsPayable:AcmeCorp -2000.00 USD <br/>Liabilities:LongTermDebt:AcmeCorp 2000.00 USD`Useful for balance‑sheet restructuring.
Convert AP into an asset (capitalise a purchase)```2024-07-01 * "Capitalize computer – AP to Fixed Asset" <br/>Liabilities:AccountsPayable:AcmeCorp -2500.00 USD <br/>Assets:Fixed:Equipment 2500.00 USD`Moves the liability to a capital asset.

Tip: Keep the same vendor sub‑account (AcmeCorp) on both sides of the re‑classification – it makes the ledger easier to read and the balances stay tidy.


5️⃣ Best‑Practice Checklist

Practice
Use a vendor‑specific sub‑account (Liabilities:AccountsPayable:<Vendor>) – you can later roll them up with Liabilities:AccountsPayable.
Add a reference tag (; ref: <invoice‑id>) on the invoice entry. Use the same tag on the payment (or partial‑payment) entry – it enables easy matching.
Record the expense at the time of receipt, not at payment. This follows accrual accounting.
Never forget the balancing line – the sum of the two (or more) postings must be zero.
If you need to track due dates, add a custom meta‑field: ; due: 2024-04-01. You can query it later.
Keep a “price” directive for each foreign‑currency amount you record, e.g. 2024-04-01 price EUR 1.10 USD.
Avoid “catch‑all” AP accounts (Liabilities:AccountsPayable:Misc). They hide vendor‑specific balances.
Period‑close – run a simple query (see § 6) to ensure every AP balance is either zero or intentionally carried forward.

6️⃣ Handy Queries (run with bean-report or bean-query)

6.1 Outstanding AP by Vendor

SELECT account, SUM(position) AS balance
WHERE account ~ "Liabilities:AccountsPayable"
GROUP BY account
ORDER BY balance DESC;

6.2 Unreconciled AP (no matching payment)

SELECT *
WHERE account ~ "Liabilities:AccountsPayable"
AND NOT (metadata.ref IS NOT NULL AND metadata.ref IN (
SELECT metadata.ref FROM entries WHERE account ~ "Assets:Bank")
);

Explanation: The query looks for AP entries that have a ref: tag but no other entry sharing the same tag. Adjust the regex if you use a different meta‑field.

6.3 AP Aging (bucketed by due‑date)

SELECT account,
CASE
WHEN date <= today() - 90 THEN ">90d"
WHEN date <= today() - 60 THEN "60‑90d"
WHEN date <= today() - 30 THEN "30‑60d"
ELSE "0‑30d"
END AS bucket,
SUM(position) AS balance
WHERE account ~ "Liabilities:AccountsPayable"
GROUP BY account, bucket
ORDER BY bucket, balance DESC;

6.3 FX Gain/Loss on AP Payments

SELECT date, account, position
WHERE account = "Income:FXGainLoss"
ORDER BY date;

7️⃣ Minimal “starter‑kit” you can drop into your ledger

;; -------------------------------------------------
;; 1. Vendor‑specific AP accounts (create as needed)
;; -------------------------------------------------
2024-03-01 * "Acme Corp – Invoice #1234" ; ref: ACME-1234
Liabilities:AccountsPayable:AcmeCorp -1500.00 USD
Expenses:OfficeSupplies 1500.00 USD

;; -------------------------------------------------
;; 2. Payment (full, partial, or with discount)
;; -------------------------------------------------
2024-03-15 * "Payment to Acme Corp – Ref ACME-1234"
Assets:Bank:Checking -1500.00 USD
Liabilities:AccountsPayable:AcmeCorp 1500.00 USD

;; -------------------------------------------------
;; 3. Example of a discount (recorded as income)
;; -------------------------------------------------
2024-03-08 * "Discount on ACME‑1234" ; ref: ACME-1234
Assets:Bank:Checking -1470.00 USD
Liabilities:AccountsPayable:AcmeCorp 1470.00 USD
Income:DiscountsReceived 30.00 USD

;; -------------------------------------------------
;; 4. Foreign‑currency invoice + price for conversion
;; -------------------------------------------------
2024-04-01 * "Acme Corp – Invoice #5678 (EUR)" ; ref: ACME-5678
Liabilities:AccountsPayable:AcmeCorp -1300.00 EUR
Expenses:OfficeSupplies 1300.00 EUR
2024-04-01 price EUR 1.10 USD ; 1 EUR = 1.10 USD

;; -------------------------------------------------
;; 5. Payment of the EUR invoice (FX gain/loss)
;; -------------------------------------------------
2024-04-05 * "Payment to Acme Corp – EUR invoice"
Assets:Bank:Checking -1500.00 USD
Liabilities:AccountsPayable:AcmeCorp 1300.00 EUR
Income:FXGainLoss 200.00 USD

Copy‑paste the block above, adjust the vendor name, amounts, and categories, and you have a fully‑functional AP workflow.


7️⃣ TL;DR – One‑Line Summary

Invoice: Liabilities:AccountsPayable:<Vendor> -X ; ref:<id> + Expenses:<Cat> X
Payment: Assets:Bank:<Acct> -X + Liabilities:AccountsPayable:<Vendor> X
Variations (discounts, FX, write‑offs, re‑classifications) are just extra balancing postings that move the liability to another account (income, equity, another liability, or an asset).

That’s it! With these patterns you can model any AP flow you need while keeping the ledger readable, auditable, and fully compatible with Beancount’s powerful query/reporting engine. Happy bookkeeping! 🚀

Аутсорсинг бухгалтерії: як передати ваші фінансові завдання (для користувачів Beancount)

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

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

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

2025-08-19-аутсорсинг-бухгалтерії-як-передати-ваші-фінансові-завдання


Кому це призначено

Посібник підходить, якщо ви відповідаєте одному з цих профілів:

  • Самостійні засновники, інді‑хакери та консультанти, які користуються Beancount і хочуть звільнити час, що витрачається на механічну частину бухгалтерії, щоб зосередитися на створенні продукту або обслуговуванні клієнтів.
  • Інженери, які розуміються на фінансах, і вимагають жорсткого контролю, історії змін і повної аудиторської прозорості, але не хочуть проводити вихідні, імпортуючи виписки та звіряючи рахунки самостійно.
  • Організації, що мігрують від універсальних постачальників, і тепер пріоритетом є збереження даних і їх відтворюваність. Нещодавні різкі закриття платформ, таких як Bench, підкреслюють важливість плану виходу та відкритих форматів. (TechCrunch, KSV Advisory Report)

Beancount, стисло

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

  • Beancount – у центрі це мова подвійного запису, записана у простому тексті. Ви пишете читабельні файли реєстру, комітуєте їх у Git‑репозиторій і використовуєте компілятор для валідації та генерації фінансових звітів. (GitHub)
  • Fava – елегантний веб‑інтерфейс для Beancount. Fava читає ваш файл реєстру і надає інтерактивні баланси, звіти про прибутки та збитки, тренди, фільтри та потужну мову запитів, схожу на SQL. (Fava Demo)
  • beangulp – сучасний фреймворк для автоматизації імпорту даних. Виходячи з оригінального імпортера Beancount, beangulp дозволяє створювати надійні імпортери, які парсять CSV, OFX, QFX і навіть PDF‑виписки, перетворюючи сирі банківські дані у структуровані записи Beancount. (GitHub)

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


Що аутсорсити, а що залишати в компанії

Ключ до ефективного делегування – чітке розмежування обов’язків. Ось як розрізнити тактичне виконання і стратегічну власність.

Чудові кандидати для аутсорсингу

Ці завдання зазвичай повторювані, правил‑орієнтовані та часозатратні – ідеальні для спеціаліста.

  • Збір виписок та імпорт – завантаження щомісячних виписок, нормалізація різних форматів (CSV, OFX, PDF) і запуск імпортерів beangulp. Це включає підтримку правил імпортера, оскільки фінансові установи постійно змінюють формати виписок.
  • Допомога у категоризації – створення евристик і декларативних правил для класифікації транзакцій. За потреби можна використовувати smart_importer для передбачення записів, проте остаточний перегляд завжди залишається за людиною.
  • Звірка та перевірка цілісності – ретельна робота з розміщенням balance‑утверджень, розслідування розбіжностей і забезпечення відсутності помилок у реєстрі.
  • Документація та гігієна файлів – отримання рахунків і чеків, їх прив’язка до транзакцій з метаданими та архівація вихідних документів у впорядкованому, відтворюваному дереві.
  • Закриття місяця та звітність – підготовка стандартного набору звітів (P&L, Balance Sheet, Statement of Cash Flows) і надання переглядів у Fava або експортів для оновлень керівництва.
  • Операції з дебіторською/кредиторською заборгованістю та підготовка payroll – підготовка рахунків до оплати, генерація інвойсів, стеження за отриманням платежів і підготовка payroll‑файлів для вашого фінального перегляду та затвердження.
  • Підготовка податкового пакету – в кінці року створення чистого trial balance, допоміжних розкладів і всіх необхідних файлів для вашого CPA або податкового консультанта.

Залишайте в компанії (ви володієте наміром і ризиком)

Ці обов’язки стратегічні і визначають фінансову основу вашого бізнесу. Вони ваші.

  • Проєктування плану рахунків – структура та назви рахунків відображають ваш погляд на бізнес. Це ваша фінансова карта.
  • Основні бухгалтерські політики – рішення щодо структури юридичної особи, визнання доходу та політик капіталізації мають довгострокові фінансові та правові наслідки.
  • Фінальні затвердження – ви повинні залишатися останнім, хто схвалює всі грошові переміщення, включаючи платежі, payroll‑запуски та значні журнальні записи.
  • Стратегічні фінанси – прогнозування, бюджетування та визначення того, що означає «хороший» результат для вашого бізнесу, є фундаментальними обов’язками власника.

Робочий процес аутсорсингу, орієнтований на Beancount

Ось як виглядає структурована співпраця на базі Git у практиці.

1) Структура репозиторію (приклад)

Ваш репозиторій – єдине джерело правди. Добре організована структура робить процес прозорим і підтримуваним.

/ledger
main.beancount # Основний файл реєстру, включає інші
accounts/ # Визначення плану рахунків
includes/ # Щомісячні або річні файли транзакцій
prices/ # Директиви цін для товарів/акцій
metadata/ # Оголошення користувацьких метаданих
plugins/ # Користувацькі плагіни Beancount
documents/ # Банківські виписки, чеки, інвойси
/importers # імпортери beangulp + правила
config.yaml
bank_x.py
card_y.py
/scripts
import.sh # Скрипт оркестрації імпортерів
close_month.py # Скрипт валідації та звітності наприкінці місяця
/reports
monthly/
year_end/
/ops
runbook.md # Як запускати систему
checklist.md # Процедурні чек‑лісти (наприклад, закриття місяця)
controls.md # Документація фінансових контролів

2) Тижневий цикл

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

  • Збір виписок та імпортbeangulp отримує нові виписки, нормалізує їх і записує у /ledger/documents.
  • Запуск імпортераbeangulp парсить файли, створює нові записи у /ledger/includes і додає їх до main.beancount.
  • Перегляд у Fava – ви або ваш постачальник відкриваєте Fava, перевіряєте нові записи, виправляєте помилки та додаєте необхідні balance‑утвердження.
  • Коміт та пуш – після затвердження змін ви комітуєте їх у головну гілку, забезпечуючи історію змін у Git.

3) Оновлення поля image у посиланні

![2025-08-19-аутсорсинг-бухгалтерії-як-передати-ваші-фінансові-завдання](https://opengraph-image.blockeden.xyz/api/og-beancount-io?title=%D0%90%D1%83%D1%82%D1%81%D0%BE%D1%80%D1%81%D0%B8%D0%BD%D0%B3%20%D0%B1%D1%83%D1%85%D0%B3%D0%B0%D0%BB%D1%82%D0%B5%D1%80%D1%96%D1%97%3A%20%D1%8F%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%82%D0%B8%20%D0%B2%D0%B0%D1%88%D1%96%20%D1%84%D1%96%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%D1%96%20%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F)

Хто може виконати аутсорсинг

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

Переваги аутсорсингу

  • Звільнення часу – ви більше не витрачаєте години на ручний імпорт і звірку.
  • Доступ до експертизи – спеціалісти вже працювали з Beancount, Fava та beangulp, тому швидко налаштують процес.
  • Масштабованість – можна легко збільшити обсяг оброблюваних даних без додаткових інвестицій у інфраструктуру.
  • Контроль якості – валідація balance‑утверджень гарантує, що дані залишаються коректними.
  • Зниження ризиків – ви зберігаєте власність на дані, а не на сторонню платформу.

Як оцінювати постачальника послуг

  1. Перевірка досвіду з Beancount – попросіть приклади попередніх проєктів, репозиторії на GitHub або рекомендації.
  2. Тестовий запуск – розпочніть з невеликого набору виписок, щоб перевірити якість імпорту та категоризації.
  3. Прозорість процесу – постачальник повинен ділитися своїми правилами імпортера, діаграмами процесу та планом резервного копіювання.
  4. Вартість та модель оплати – уточніть, чи це фіксована сума, погодинна ставка або підписка.
  5. Підтримка та SLA – які терміни реакції, які гарантії щодо точності даних?

Приклад конфігурації beangulp

importers:
- name: bank_x
path: ./importers/bank_x.py
schedule: weekly
options:
currency: USD
account: Assets:Bank:X
- name: card_y
path: ./importers/card_y.py
schedule: weekly
options:
currency: USD
account: Expenses:Cards:Y

Приклад smart_importer у дії

from smart_importer import SmartImporter

rules = [
{"description": "Coffee", "account": "Expenses:Food:Coffee"},
{"description": "Rent", "account": "Expenses:Rent"},
]

importer = SmartImporter(rules=rules)
records = importer.process(csv_file="transactions.csv")

Поради щодо безпеки

  • Шифруйте репозиторій – використовуйте GPG‑підписання комітів та захищений доступ SSH.
  • Регулярно створюйте резервні копії – зберігайте їх у окремому сховищі, недоступному постачальнику.
  • Обмежте права доступу – надавайте постачальнику лише права на запис у гілку outsourcing, а не на весь репозиторій.
  • Перевіряйте зміни – перед злиттям гілки аутсорсингу у main переглядайте diff та balance‑утвердження.

Висновок

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


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

  • Beancount Documentation – офіційна документація, що охоплює всі можливості мови та інструментів.
  • Fava User Guide – підручник з використання веб‑інтерфейсу для аналізу та візуалізації даних.
  • beangulp README – детальний опис створення та налаштування імпортерів.
  • smart_importer GitHub – приклади використання машинного навчання для автоматичної категоризації транзакцій.

Цикл бухгалтерського обліку, у стилі Beancount

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

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

Ми побачимо, як підхід Beancount, орієнтований на текст, усуває нудні кроки, що варто автоматизувати, і які звіти дають найчіткішу картину вашого фінансового здоров’я. 🧑‍💻

2025-08-13-the-accounting-cycle-beancount-style


TL;DR: Робочий процес у Beancount

  • Capture & Journal: Записуйте кожну операцію як чистий запис подвійного запису у вашому .beancount текстовому файлі.
  • Validate & Reconcile: Використовуйте твердження balance, щоб підтвердити, що ваш головний журнал відповідає банківським випискам, і запускайте bean-check для виявлення помилок.
  • Review: Створіть незкоригований пробний баланс для швидкої перевірки.
  • Adjust: Додайте записи для нарахувань, відстрочок, амортизації та інших елементів кінця періоду.
  • Re-review: Перевірте скоригований пробний баланс, щоб переконатися, що все правильно.
  • Publish & Close: Створіть звіт про прибутки та збитки, баланс та звіт про грошові потоки. Закриття книг є необов’язковим у Beancount, оскільки звіти враховують дати.

Цей процес можна візуалізувати так:


Крок 1: Захоплення та реєстрація операцій

Це базовий крок. Кожна фінансова подія — продаж, покупка, банківська комісія — має бути зафіксована. У Beancount ви робите це, створюючи транзакції у простому текстовому файлі, зазвичай названому main.beancount або розподіленому на кілька файлів за роками.

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

2025-08-10 * "Walmart" "Purchase of office supplies"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
  • Pro‑Tip: Використовуйте теги типу #project-phoenix або #client-acme, щоб додати виміри до ваших даних. Це робить запити та звіти надзвичайно гнучкими.

Гігієна звірки ✅

Найпотужніша функція для забезпечення точності — твердження балансу. В кінці звітного періоду (наприклад, в кінці місяця) ви вказуєте, яким має бути баланс рахунку.

2025-08-31 balance Assets:Bank:Checking  12345.67 USD

Якщо сума всіх транзакцій, що впливають на Assets:Bank:Checking до цієї дати, не дорівнює 12345.67 USD, Beancount виведе помилку. Це просте директивне перетворює ваш журнал у самоперевірковий документ.

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


Крок 2: «Постинг у головну книгу» (безкоштовно !)

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

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


Крок 3: Підготовка незкоригованого пробного балансу

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

Створити його можна простим запитом:

bean-query main.beancount \
"SELECT account, sum(position) GROUP BY 1 ORDER BY 1"

Або, для більш візуального підходу, відкрийте ваш журнал у Fava (веб‑інтерфейс Beancount) і перейдіть до звіту «Trial Balance». Шукайте аномалії — активний рахунок з кредитовим залишком або витратний рахунок з дивним значенням.


Крок 4: Внесення коригувальних записів

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

Типові коригування:

  • Нарахування: Визнання доходу, який ви вже заробили, але ще не виставили рахунок, або витрати, які вже понесли, але ще не сплатили.
  • Відстрочки: Обробка передплат. Якщо клієнт сплатив за рік послуг наперед, ви реєструєте це як зобов’язання (Liabilities:UnearnedRevenue) і щомісяця визнаєте 1/12 доходу.
  • Негрошові статті: Амортизація активів.
  • Виправлення: Корекція помилок або додавання пропущених пунктів з банківських виписок, наприклад, невеликих процентних виплат.

Приклад: Нарахування доходу

Ви завершили проєкт 31 серпня, але рахунок надішлете лише у вересні. Щоб визнати дохід у правильному періоді (серпень), створюємо коригувальний запис:

2025-08-31 * "Accrue revenue for client project #1042"
Assets:AccountsReceivable 3000.00 USD
Income:Consulting -3000.00 USD

Приклад: Амортизація

У вашій компанії є графік амортизації активів. В кінці періоду ви реєструєте витрату:

2025-12-31 * "Annual depreciation on computer equipment"
Expenses:Depreciation 4800.00 USD
Assets:Fixed:AccumulatedDepreciation -4800.00 USD

Крок 5: Запуск скоригованого пробного балансу та валідація

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

Тоді ж варто виконати вбудовану перевірку Beancount:

bean-check main.beancount

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


Крок 6: Публікація фінансових звітів 📊

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

  • Звіт про прибутки та збитки (P&L): Показує ваші доходи та витрати за період, підсумовуючись чистим прибутком або збитком.
  • Баланс: Станом на певну дату відображає, що ви маєте (активи), що винні (зобов’язання) та ваш власний капітал (Equity).
  • Звіт про грошові потоки: Пояснює, звідки надходили гроші і куди вони йшли, узгоджуючи початковий і кінцевий грошовий залишок.

Для кастомних звітів використовуйте мову запитів Beancount (BQL). Ось запит для місячного звіту про прибутки та збитки:

-- P&L for August 2025
SELECT account, sum(position)
WHERE account '^(Income|Expenses)'
AND date >= 2025-08-01 AND date <= 2025-08-31
GROUP BY account ORDER BY account;

Крок 7: Закриття книг (за бажанням)

У традиційному обліку процес «закриття» передбачає створення записів, які обнуляють усі тимчасові рахунки (доходи та витрати) і переносять чистий прибуток у рахунок власного капіталу Retained Earnings. Це формально скидає тимчасові рахунки на наступний рік.

У Beancount цей крок зазвичай не потрібен. Звіти Fava орієнтуються на дати; якщо ви запитуєте P&L за 2025 рік, він використає лише дані 2025 року. Баланси не «переливаються». Більшість користувачів залишають їх без змін.

Проте, якщо вам потрібне формальне закриття для відповідності вимогам чи звітності перед акціонерами, це можна зробити простим транзакційним записом наприкінці року, який переносить суми доходів і витрат у Equity:Retained-Earnings.


Практичний чек‑лист місячного закриття

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

  • Capture: Імпортуйте всі транзакції з банків та кредитних карт. Вручну введіть готівкові витрати чи інші позабанківські операції.
  • Reconcile: Додайте твердження balance для всіх банківських рахунків, кредитних карт та кредитних ліній, зіставляючи їх зі виписками.
  • Review: Перегляньте незкоригований пробний баланс у Fava. Дослідіть будь‑які дивні або неочікувані залишки. Перевірте прострочені неоплачені рахунки (Assets:AccountsReceivable) або борги (Liabilities:AccountsPayable).
  • Adjust: Запишіть нарахування доходу/витрат, відстрочений дохід та необхідні виправлення.
  • Validate: Запустіть bean-check. Перегляньте фінальний скоригований пробний баланс.
  • Publish: Створіть P&L та Баланс. Надішліть їх зацікавленим сторонам або збережіть у архіві.
  • Wrap-up: За потреби виконайте запис закриття. Заархівуйте копію ваших .beancount файлів за цей період.

Чому Beancount виділяється у циклі бухгалтерського обліку

  • Прозорість і аудитність: Ваш журнал — це текстовий файл. Ви можете використовувати git для контролю версій вашої фінансової історії, переглядати зміни за допомогою diff і співпрацювати з бухгалтером у зрозумілому, однозначному форматі.
  • Повний контроль: Ви самі визначаєте план рахунків. Ви не прив’язані до структури постачальника ПЗ. Ваші дані належать вам назавжди, у відкритому форматі.
  • Неперевершена потужність: Поєднання SQL‑подібних запитів (BQL) і багатого веб‑інтерфейсу (Fava) дає вам можливість розрізати, аналізувати і розуміти ваші фінанси без меж.

Копіюй‑вставляй фрагменти для старту

Простий план рахунків:

option "title" "My Personal Ledger"
option "operating_currency" "USD"

;; --- Accounts ---
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:CreditCard
1970-01-01 open Liabilities:UnearnedRevenue
1970-01-01 open Equity:Owner:Capital
1970-01-01 open Equity:Retained-Earnings
1970-01-01 open Income:Consulting
1970-01-01 open Expenses:Office:Supplies
1970-01-01 open Expenses:Software
1970-01-01 open Expenses:Depreciation

Корисний BQL‑запит:

-- Find all customers with an outstanding balance
SELECT payee, sum(position)
WHERE account = 'Assets:AccountsReceivable'
GROUP BY payee
HAVING sum(position) > 0
ORDER BY sum(position) DESC;

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

Корпорація типу S проти корпорації типу C: переваги та недоліки для користувачів Beancount.io

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

Вибір правильної організаційно-правової форми є одним з найважливіших рішень, які приймає засновник. Це впливає на ваші податки, вашу здатність залучати кошти та ваше адміністративне навантаження. Дві найпоширеніші структури для зареєстрованих підприємств – це корпорація типу C та корпорація типу S. У чому різниця, і яка з них підходить саме вам?

TL;DR

2025-08-11-s-corp-vs-c-corp-advantages-and-disadvantages

Корпорації типу C оподатковуються на корпоративному рівні, а акціонери оподатковуються знову, коли отримують дивіденди — система, відома як подвійне оподаткування. Корпорації типу S є суб'єктами господарювання з «наскрізним» оподаткуванням, що означає, що прибуток оподатковується лише один раз у особистих податкових деклараціях власників, але вони мають суворі обмеження щодо власності. Якщо ви плануєте значні реінвестиції та залучення венчурного капіталу, корпорація типу C часто є більш чистим та масштабованим вибором. Якщо ви є прибутковим бізнесом, яким керує власник, і хочете розподіляти готівку, виплачуючи собі розумну зарплату, корпорація типу S може значно зменшити ваші податкові зобов'язання.

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


Короткий порівняльний аналіз

ТемаКорпорація типу CКорпорація типу S
Як створитиПодайте статут до штату (це статус за замовчуванням).Спочатку зареєструйтеся, потім подайте форму IRS 2553, щоб обрати статус корпорації типу S.
ОподаткуванняПодвійне оподаткування: Прибуток оподатковується на корпоративному рівні, потім акціонери оподатковуються з дивідендів.Наскрізне: Дохід оподатковується в особистих деклараціях власників (без податку на прибуток підприємств).
Правила власностіНемає обмежень щодо кількості чи типу акціонерів; дозволено кілька класів акцій.≤100 акціонерів, які повинні бути лише громадянами США, і дозволено лише один економічний клас акцій.
Сприйняття інвесторамиПривабливо для венчурних інвесторів, особливо корпорація типу C штату Делавер, яка є галузевим стандартом.Менш привабливо для венчурних інвесторів через наскрізне оподаткування та обмеження класу акцій.
Найкраще дляСтартапи з високим зростанням, орієнтовані на реінвестиції та залучення зовнішнього капіталу.Власники-оператори, які хочуть вилучати готівку з бізнесу шляхом поєднання заробітної плати та розподілу прибутку.
Основні форми IRS1120, 1120-W, 941, 1099-DIV (якщо виплачуються дивіденди).1120-S, 1120-W (якщо застосовується), 941, Додаток K-1, що видається кожному власнику.

Примітка: Федеральний податок на прибуток підприємств становить 21%. Однак, державні правила як для корпорацій типу C, так і для корпорацій типу S значно відрізняються. Завжди перевіряйте податковий режим у вашому штаті реєстрації та діяльності.


Що таке корпорація типу C?

Корпорація типу C – це стандартна, типо

Beancount.io проти традиційного бухгалтерського програмного забезпечення: що вам найкраще підходить?

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

Протягом десятиліть у світі бухгалтерського обліку домінували відомі закриті системи з графічним інтерфейсом, такі як QuickBooks, Xero та FreshBooks. Вони встановили стандарт, пропонуючи простоту використання та візуальні робочі процеси, які орієнтовані на нетехнічних користувачів. Але для розробників, досвідчених користувачів та всіх, хто цінує абсолютну прозорість та контроль, з'явився радикально інший підхід: Beancount.io.

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

2025-08-08-beancount-io-vs-traditional-accounting-software

1. Філософія та робочий процес

Найбільш фундаментальна відмінність між цими двома підходами полягає в їхній основній філософії.

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

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

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

2. Гнучкість та налаштування

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

Beancount.io 100% скриптованість — це суперсила Beancount.io. Він легко інтегрується з Python, що дозволяє підключатися до будь-якого API, автоматизувати отримання даних з банківських стрічок, програмно позначати транзакції на основі складних правил та генерувати користувацькі звіти, адаптовані до ваших точних вимог. Ваша здатність розширювати та налаштовувати практично безмежна, вільна від будь-яких обмежень, встановлених постачальником.

Традиційне програмне забезпечення Ці платформи пропонують кураторський вибір інтеграцій з популярними інструментами, такими як PayPal, Stripe та різноманітні сервіси нарахування заробітної плати. Хоча це зручно, ви працюєте в межах "огородженого саду" постачальника. Налаштування обмежене тим, що дозволяє платформа, а розширена звітність або автоматизація часто вимагають переходу на дорожчий тарифний план або придбання додаткових компонентів від третіх сторін. Ви можете працювати з їхніми API, але ви завжди будете обмежені правилами та лімітами їхньої екосистеми.

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

3. Співпраця та прозорість

Те, як ви працюєте з іншими та перевіряєте свої записи, значно відрізняється.

Beancount.io Співпраця в Beancount.io здійснюється через Git. Це робить кожну зміну у вашій фінансовій книзі повністю прозорою та доступною для аудиту. Ви можете бачити, хто, що, коли і чому змінив — так само, як і в робочому процесі перегляду коду. Це ідеально підходить для розподілених команд, які вже використовують такі інструменти, як GitHub або GitLab. Крім того, немає прихованих розрахунків; кожне число у звіті можна простежити до точного запису у вашому файлі книги, що забезпечує повну перевірку.

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

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

4. Вартість та володіння

Фінансові моделі та концепція володіння даними — це два різні світи.

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

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

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

5. Крива навчання та впровадження

Як швидко ви можете розпочати роботу?

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

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

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

Порівняння пліч-о-пліч

ФункціяBeancount.ioТрадиційне бухгалтерське програмне забезпечення
Основна філософіяОблік як код; проста текстова книгаГрафічний інтерфейс; керований формами
Формат данихВідкритий (простий текст)Власницький (база даних)
Володіння даними100% належить користувачеві та переноснийКонтролюється постачальником; потенційна прив'язка
ГнучкістьБезмежна; повністю скриптова з PythonОбмежена екосистемою та API постачальника
СпівпрацяНа основі Git; прозора історія змінРольові дозволи користувачів
ПрозорістьПовністю перевіряється; немає прихованих розрахунківДеякі розрахунки можуть бути непрозорими
Модель витратВідкрите ядро; оплата за хостинг/автоматизаціюЩомісячна/річна передплата (SaaS)
Крива навчанняКрутіша для нетехнічних користувачівНизька; розроблена для швидкого старту
Ідеальний користувачРозробники, досвідчені користувачі, аналітики данихВласники малого та середнього бізнесу, нетехнічні команди

Коли вибрати кожен

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

Виберіть Beancount.io, якщо ви:

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

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

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

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

Beancount.io не намагається бути кращим QuickBooks — це принципово інший спосіб мислення. Він представляє облік як код. Для технічних фахівців цей перехід пропонує такий самий стрибок вперед, який контроль версій з Git приніс у розробку програмного забезпечення: повна прозорість, ідеальна відтворюваність та абсолютний контроль.

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

ТзОВ проти ТОВ: у чому різниця — і що підходить для вашої бухгалтерії?

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

Вибір структури бізнесу — одне з перших справжніх «фінансових» рішень, які ви приймете. Для більшості невеликих команд та окремих засновників, які бажають захисту від відповідальності та оподаткування за принципом «pass-through», короткий список зазвичай складається з ТОВ або корпорації типу S.

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

2025-08-11-s-corp-vs-llc


Короткий огляд

Корпорація типу SТОВ
Що це такеПодатковий статус, який ви обираєте в IRS для корпорації або ТОВЮридична особа, створена штатом, з гнучким управлінням
Захист від відповідальностіТакТак
ВласникиДо 100 акціонерів США; власники юридичних осіб не допускаютьсяНеобмежена кількість учасників; допускаються юридичні особи та іноземні власники (залежить від штату)
ОпераціїКорпоративні статути, директори/посадові особи, збори та протоколиРегулюється операційною угодою; менше формальностей
Класи акційОдин клас акцій (економічні права повинні бути однаковими)Гнучкі одиниці участі та «водоспади»
ОподаткуванняPass-through; подається форма 1120-SЗа замовчуванням pass-through (Додаток C або форма 1065); можна обрати оподаткування типу S або C
Оплата власникамВласники, які працюють, повинні отримувати розумну зарплату через платіжну відомістьУчасники отримують розподіл прибутку; за замовчуванням заробітна плата власникам не потрібна
Термін дії та передачаБезстроковий; акції, як правило, передаютьсяЧасто потрібна згода учасників на передачу; правила встановлюються в операційній угоді
Найкраще підходить, колиПрибутковий, власники-оператори за наймом; чіткіший сигнал для інвесторівГнучке володіння, розподіл прибутку або іноземні/юридичні особи-учасники; простіші операції

Чим вони насправді відрізняються

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

Утворення та формальності

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

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

... (The rest of the translation follows the same pattern, maintaining accuracy in financial terminology and adapting the text to Ukrainian.)