Преминете към основното съдържание

22 публикации маркиран с/със "Plain-Text Accounting"

Вижте всички етикети

Beancount.io v3.0: Вашите финансови данни, под ваш контрол

· 8 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Повечето финансови софтуери ви принуждават да им се доверите с вашите данни. Те ги притежават, контролират и ви заключват в тях. Ние вярваме, че заслужавате по-добро.

Днес стартираме следващото поколение на Beancount.io, изградено на прост принцип: вашите финансови данни трябва да принадлежат на вас, а не на нас. С вградената Git интеграция можете да изтеглите пълния си счетоводен отчет на собствената си машина, да го редактирате с всеки инструмент, който искате, и да върнете промените обратно. Без заключване. Без патентовани формати. Просто вашите данни, под ваш контрол.

Тази версия се фокусира върху три основни цели, които са най-важни за хората, управляващи финансите си с plain-text accounting:

  1. Истинска собственост върху данните чрез вградена Git интеграция
  2. Безпроблемно сътрудничество за екипи, партньори и счетоводители
  3. Интуитивен интерфейс, който прави plain-text accounting достъпен за всеки

Dashboard Overview

Мощни финансови отчети на една ръка разстояние

Новото табло включва изчерпателни инструменти за финансово отчитане, които ви помагат да разберете финансовото си състояние с един поглед:

Отчет за приходите и разходите

Income Statement Dashboard

Проследявайте нетната си печалба, приходите и разходите за различни стоки с течение на времето. Изгледът "Отчет за приходите и разходите" предоставя ясен разбивка на вашите потоци от приходи и модели на разходи, като ви помага да идентифицирате тенденциите и да вземате информирани финансови решения. Визуализирайте финансовите си резултати с интерактивни графики, които показват как приходите и разходите ви се развиват месец след месец или година след година.

Баланс

Balance Sheet Dashboard

Наблюдавайте нетната си стойност за различни стоки с течение на времето с изчерпателния изглед "Баланс". Вижте своите активи, пасиви и собствен капитал във всеки момент от времето, с историческо проследяване, което показва как се променя финансовото ви състояние. Този мощен инструмент ви помага да разберете цялостното си финансово състояние и да проследявате напредъка към финансовите си цели.

Оборотна ведомост

Trial Balance Dashboard

Изгледът "Оборотна ведомост" предоставя пълен моментен кадър на всички салда по сметките ви в определен момент от времето. Перфектен за съгласуване и гарантиране, че книгите ви са балансирани, този изглед показва дебити и кредити един до друг, което улеснява проверката на точността на вашите счетоводни записи.

Изглед "Детайли на сметката"

Account Detail Dashboard

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

Модерен файлов редактор

File Editor Dashboard

Новото табло представя напълно преработен файлов редактор, който превръща редактирането на вашите Beancount ledger файлове в удоволствие. Изграден с модерни, отзивчиви дизайнерски принципи, новият редактор предоставя гладко, интуитивно изживяване при редактиране, независимо дали сте на настолен компютър, таблет или мобилно устройство.

Git интеграция: Вашият Ledger, по вашия начин

Една от най-търсените функции вече е тук: вградена Git интеграция. С новата версия можете безпроблемно да изтеглите ledger сметките си с помощта на стандартни Git протоколи, което ви дава пълен контрол върху вашите финансови данни.

Какво можете да направите:

# Клонирайте ledger си на вашата машина
git clone ssh://[email protected]:2222/you/ledger.git

# Редактирайте локално с любимите си инструменти
vim 2025.bean

# Върнете промените обратно
git commit -am "Added Q4 transactions"
git push

Защо това е важно (суверенитет на данните):

  • Истински план за изход: Пълната ви финансова история е в стандартно Git хранилище. Спирате да ни плащате? Запазвате всичко.
  • Агностик към инструменти: Редактирайте с VS Code, Vim, Emacs или специализирани инструменти на Beancount. Ваш избор, не наш.
  • Пълна одитна следа: Всяка промяна се проследява с пълната история на Git, показвайки точно кой какво е променил и кога. Перфектно за съответствие и спокойствие.
  • Разпределено архивиране: Разпределената природа на Git означава, че имате автоматични, версиирани резервни копия на вашата машина.

Това прави Beancount.io единствената платформа, която прави данните ви по-преносими, а не по-малко.

Екипно сътрудничество: Създадено за начина, по който екипите всъщност работят

Независимо дали управлявате малък бизнес, работите със счетоводител или управлявате домакински финанси с партньор, сътрудничеството е важно.

Collaborate with Your Team

Новата система за сътрудничество прави това естествено и достъпно:

  • Поканете сътрудници: Просто поканете други чрез имейл да се присъединят към вашия ledger като сътрудници
  • Актуализации в реално време: Вижте промените, направени от сътрудници в реално време, като държите всички в синхрон
  • История на дейността: Проследявайте кой какви промени е направил и кога, поддържайки пълна отчетност

Перфектен за малки фирми, фрийлансъри, работещи със счетоводители, или всеки, който трябва да сподели отговорности за финансово управление. Сътрудничеството никога не е било по-лесно или по-сигурно.

Поддръжка на множество Ledgers: Организирайте финансите си по вашия начин

Новата версия поддържа създаването на множество ledgers, което ви дава гъвкавостта да организирате финансите си точно както трябва. Независимо дали искате отделни ledgers за лични и бизнес финанси, различни проекти или различни субекти, новата версия го прави лесно.

Предимства на поддръжката на множество ledgers:

  • Разделяне на отговорностите: Поддържайте личните и бизнес финансите напълно разделени
  • Организация, базирана на проекти: Създайте специални ledgers за различни проекти или клиенти
  • Гъвкава структура: Организирайте счетоводната си система по начин, който има смисъл за вашата уникална ситуация
  • Лесно превключване: Премествайте се между ledgers безпроблемно с интуитивния превключвател на ledgers

Създайте толкова ledgers, колкото са ви необходими, за да поддържате финансовите си записи организирани и управляеми.

Публични Ledgers: Споделяйте и се учете от общността

Новата версия въвежда публично споделяне на ledgers, което ви позволява да споделяте добре структурираните си ledgers с общността на Beancount. Тази функция насърчава споделянето на знания и помага на другите да научат най-добрите практики за организиране на собствените си счетоводни системи.

Как работят публичните ledgers:

  • Споделете своя опит и го оставете да стане вирусен: Направете своя ledger публичен, за да помогнете на другите да се учат от вашата настройка
  • Открийте най-добри практики: Разгледайте публични ledgers, за да видите как другите организират финансите си
  • Общностно обучение и социална мрежа: Учете се от реални примери за ефективно използване на Beancount
  • Контрол на поверителността: Вие решавате кои ledgers да направите публични - вашите частни ledgers остават напълно частни

Като споделяме отлични примери за ledgers, ние изграждаме по-силна, по-компетентна общност на Beancount, където всеки може да се учи и да се усъвършенства заедно.

Подобрени Fava и Beancount Community функции

Интегрирахме популярни функции от общността на Beancount, които решават реални проблеми с работния процес:

  • Амортизация на разходите (amortize_over): Автоматично разпределяйте годишните абонаменти или предплатените разходи за няколко месеца
  • Финансово прогнозиране (forecast): Прогнозирайте бъдещия паричен поток въз основа на повтарящи се транзакции
  • Свързване на документи (link_documents): Поддържайте връзка между разписки и фактури и транзакции
  • Автоматично откриване на документи (tag_discovered_documents): Автоматично маркирайте и организирайте поддържащи документи

Това не са експериментални функции - това са тествани в битки инструменти от общността на Beancount, които вече са безпроблемно интегрирани.

По-бърза производителност, по-гладко изживяване

Под капака новата версия включва значителни оптимизации на производителността, които правят всичко да се усеща по-бързо:

  • По-бързо време за зареждане: Страниците и отчетите се зареждат забележимо по-бързо, дори и при големи ledgers
  • По-плавни взаимодействия: UI взаимодействията са по-отзивчиви, с намалено забавяне при навигация между изгледи
  • Оптимизирана обработка на данни: Сложните изчисления и генерирането на отчети се случват по-ефективно
  • По-добро управление на ресурсите: Системата използва ресурсите по-интелигентно, осигурявайки постоянна производителност дори по време на пиково натоварване

Тези подобрения означават, че прекарвате по-малко време в чакане и повече време в ефективно управление на финансите си.

Поверителност и сигурност: Вашите данни, вашите правила

Ние защитаваме суверенитета на вашите данни, като защитаваме вашия ledger в частно, криптирано Git хранилище, което изцяло притежавате, можете да експортирате и изтриете по желание. Този контрол изисква отговорност: вие определяте достъпа, като управлявате доверени сътрудници, и трябва да проявявате изключително внимание, когато публикувате ledgers, разбирайки, че публичните данни са постоянно видими в интернет и трябва да бъдат старателно почистени от чувствителни данни. В крайна сметка вашите данни остават ваши - защитени от нашата инфраструктура, но управлявани стриктно от вашите правила.

Какво следва?

Новата версия е само началото на нашето пътуване към превръщането на Beancount.io в най-добрата налична платформа за plain-text accounting, насочена към GitHub на финансите. Традиционният финансов софтуер разчита на "Заключване на данни". Beancount.io изгражда различен вид защита: Протоколно заключване. Ние вече работим върху:

  • Подобрения на мобилното приложение за счетоводство в движение
  • Допълнителни интеграции с популярни финансови услуги
  • По-разширени функции за отчитане и анализ
  • Подобрени инструменти за сътрудничество за екипи

Ще се радваме да чуем вашите отзиви за новата версия! Вашата обратна връзка ни помага да приоритизираме какво да изградим след това.

Приятно счетоводство!

Екипът на Beancount.io

Детокс на финансите на вашия малък бизнес — по начина на Beancount

· 10 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Превърнете една объркана главна книга в спокоен, уверен в паричните средства бизнес за 30 дни—използвайки plain-text счетоводство.


2025-09-04-detox-your-small-business-finances

TL;DR

  • Разделете, опростете и заключете вашите книги с лаконична сметкопланова схема, последователни импорти и автоматизирани проверки на баланса.
  • Покажете важното—COGS, накладни разходи, паричен резерв—чрез бързи bean-query отчети.
  • Намалете шума (неизползвани абонаменти, дублиращи се инструменти) и кодифицирайте добри навици (седмично съверяване, месечно затваряне, прикачени разписки).
  • Направете данъчния сезон скучен като поддържате извлечения, разписки и баланси проверими на едно място.

Защо "Детокс"?

Финансовата бъркотия в малкия бизнес не е просто неподредена—тя е скъпа. Тя скрива разточителните разходи, затъмнява истинската ви печеливост и превръща данъчния сезон в паническо търсене. Финансовият детокс е фокусиран, 30-дневен рестарт: идентифицирате какво движи (и изтича) пари, премахвате сложността и след това институционализирате прости, повторяеми рутини за поддържането му чисто.

Beancount е перфектният инструмент за това, защото е прозрачен, скриптуем и проверим. За разлика от софтуера "черна кутия", главната книга с обикновен текст означава, че всяко число може да бъде обяснено. Всяка проверка и баланс могат да бъдат автоматизирани с директиви и заявки, създавайки самоодитираща система, която принуждава към яснота. Този ръководител ще ви проведе през четириседмичен план за постигането точно на това.


Седмица 0 — Задайте своята база

Преди да можете да почистите, се нуждаете от солидна основа. Тази седмица е за определяне структурата на вашия финансов свят.

Създайте лаконична сметкопланова схема

Вашата сметкопланова схема е скелетът на вашата финансова система. Целта тук е минимализъм. Не създавайте сметка за всеки възможен разход, който може би ще имате. Започнете с основните неща, които използвате днес; винаги можете да добавите повече по-късно. Объркана сметкопланова схема насърчава грешна категоризация и прави анализа на високо ниво труден.

Ето една проста, ефективна отправна точка:

; Основни субекти
2025-01-01 open Assets:Bank:Checking USD
2025-01-01 open Assets:Bank:Savings USD
2025-01-01 open Liabilities:CreditCard:Business USD
2025-01-01 open Income:Sales
2025-01-01 open Expenses:COGS
2025-01-01 open Expenses:Overhead:Rent
2025-01-01 open Expenses:Overhead:Utilities
2025-01-01 open Expenses:SaaS
2025-01-01 open Equity:Opening-Balances

Заключете баланси, които можете да проверите

Най-мощната функция в plain-text счетоводството е способността да утвърждавате реалността. Директивата balance казва на Beancount: "На тази дата този акаунт имаше точно толкова пари." Ако не е така, Beancount ще покаже грешка. Това е вашата основна предпазна мрежа.

Когато започвате, използвайте pad в комбинация с balance за инициализиране на вашите сметки от банково извлечение. Директивата pad създава транзакция, която принуждава сметката към правилния начален баланс, записвайки разликата в equity сметка.

; Инициализирайте от извлечения
2025-01-01 pad Assets:Bank:Checking Equity:Opening-Balances
2025-01-01 balance Assets:Bank:Checking 12345.67 USD

Предупреждение: Използвайте pad рядко. То е за чисто започване, не за прикриване на повтарящи се грешки при съверяване.


Седмица 1 — Разделете и опростете потоците

С поставена структура, време е да изясните как парите се движат през вашия бизнес.

Поддържайте Бизнес ≠ Личен

Това е златното правило на финансите на малкия бизнес. Смесването на средства е рецепта за объркване и главоболия по време на данъци.

  • Поддържайте една посветена бизнес банкова сметка и една бизнес кредитна карта.
  • Отразете това разделение във вашата главна книга: Assets:Bank:Business:Checking, Liabilities:CreditCard:Business.
  • Ако си плащате, го записвайте като разпределение към Equity:Owner-Draws. Никога не категоризирайте лични разходи директно от бизнес сметки.

Стандартизирайте категориите на доставчиците

Плащате ли за AWS, Google Cloud и Vercel? Не създавайте три отделни сметки. Картографирайте ги всички към една логическа категория като Expenses:Cloud. Избягвайте създаването на микро-сметки, които няма да анализирате наистина. Целта е да виждате модели, не да следите всеки отделен доставчик с негова собствена сметка.


Седмица 2 — Автоматизирайте входове и разписки

Ръчното въвеждане на данни е бавно, склонно към грешки и неустойчиво. Тази седмица е за изграждане на машина, която да храни вашата главна книга надеждно.

Изградете безпроблемен път за импорт

Рамката за импорт на Beancount ви позволява да я научите как да чете CSV или OFX файлове от вашата банка и автоматично да генерира транзакции. Инвестирайте времето, за да настроите това веднъж, и ще спестите стотици часове в дългосрочен план. Поддържайте правилата си за импорт под контрол на версии (като Git), така че вашата система да бъде повторяема и резервирана.

  • Започнете с официалното ръководство на Beancount Importing External Data.
  • За по-интерактивен работен процес, помислете за инструмент като beancount-import, който предоставя уеб интерфейс за полуавтоматично съпоставяне.
  • Много потребители разчитат на вградените ingest или по-новите beangulp рамки за изграждане на техните персонализирани импортери. Изберете един и се придържайте към него за последователност.

Прикачете документи където им е мястото

Транзакция без разписка е неподкрепено твърдение. Beancount и неговият уеб интерфейс, Fava, правят тривиално свързването на изходни документи с записи, създавайки непоклатима одиторска следа.

Имате два отлични варианта:

  1. Папка с документи + Директива: Съхранявайте всички ваши разписки и извлечения в специална папка. След това свържете файл към транзакция, използвайки директивата document.
  2. Плъзгане и пускане във Fava: Просто плъзнете PDF или изображение файл върху транзакция в Fava интерфейса. Fava автоматично съхранява файла и вмъква правилната document директива във вашия главен файл за вас.
; В основния ви файл на главната книга, кажете на Fava къде живеят вашите документи
option "documents" "/home/acme/docs"

; Свържете разписка към конкретно транзакционно записване
2025-08-07 * "Figma" "Monthly Subscription"
Assets:CreditCard:Business -12.00 USD
Expenses:SaaS 12.00 USD
document: "receipts/figma-2025-08-07.pdf"

Седмица 3 — Вижте истината (Бързи заявки, които ще използвате отново)

Вашата главна книга сега е чиста и подхранвана с данни. Време е да й задавате важни въпроси. Стартирайте инструмента за командния ред bean-query, за да получите незабавни отговори.

1) Къде са моите пари?

Получете бърза снимка на вашите ликвидни активи.

bean-query business.beancount 'BALANCES FROM year = 2025 AND (account ~ "Assets:Bank" OR account ~ "Liabilities:CreditCard")'

Това ви дава незабавен, в реално време поглед върху вашата паричната позиция без влизане в множество банкови портали.

2) За какво харча за накладни разходи спрямо COGS?

Разберете къде отиват парите ви наистина. Харчите ли повече за неосновни накладни разходи или за разходите, пряко свързани с доставката на вашия продукт (Себестойност на продадените стоки)?

SELECT
account,
units(sum(position))
WHERE
account ~ "^Expenses:(Overhead|COGS)" AND year = 2025
GROUP BY
account
ORDER BY
account

Тази заявка разделя основните ви оперативни разходи от административната тежест, критично прозрение за печеливостта.

3) Кои абонаменти изглеждат "зомби"?

Намерете повтарящи се, малки разходи, които често летят под радара. Тези "зомби" абонаменти могат да изсмучат вашия паричен поток.

SELECT
payee,
COUNT(*) AS num_transactions,
SUM(number) AS total_spent
WHERE
account ~ "^Expenses:SaaS" AND date >= '2025-01-01'
GROUP BY
payee
ORDER BY
num_transactions DESC,
total_spent DESC

Тази заявка незабавно разкрива доставчици, на които плащате често. Ако видите някой, който не разпознавате или вече не се нуждаете, време е да го отмените.


Седмица 4 — Подредете и заключете системата

Последната седмица е за изграждане на навиците и предпазните механизми, които поддържат финансите ви чисти завинаги.

Поставете прости бюджети

Fava може да чете budget директиви от вашата главна книга и да показва полезни ленти за напредък в своите отчети, показвайки ви дали сте на правилния път. Това предоставя нежно, постоянно напомняне за вашите цели за харчене.

; Ограничете SaaS харченето до $100 на месец
2025-01-01 custom "budget" Expenses:SaaS "monthly" 100.00 USD

Задайте ги за ключови променливи категории разходи като софтуер, реклама или изпълнители, за да забележите отклонение преди да стане проблем.

Затваряйте месеца, всеки път

Установете прост, неподлежащ на преговори месечен процес на затваряне:

  1. Съверявайте: За всяка банкова и кредитна карта сметка, добавете balance утвърждение, съответстващо на крайното число във вашето месечно извлечение.
  2. Прикачете: Прикачете самото PDF извлечение към balance записа, използвайки директивата document.
  3. Отчетете: Стартирайте вашите три запазени заявки (пари, накладни разходи/COGS, абонаменти) и поставете изходите в кратка месечна преглеждана бележка.

Утвърждението за баланс е автоматичен аларма. Ако вашата главна книга не съответства на банковото извлечение, Beancount ще покаже грешка, казвайки ви точно къде да търсите разминаването.


Направете данъчния сезон скучен (по добрия начин)

Следвайки тази система, трансформирате подготовката за данъци от криза в просто упражнение за отчитане.

  • Разписките са прикачени към транзакции, така че няма паническо търсене. Във Fava сте на едно кликване от изходния документ за всеки разход.
  • Данъчно-релевантните елементи могат да бъдат етикетирани (напр., #tax-deductible), позволявайки ви да извлечете чист отчет с bean-query за вашия счетоводител.
  • Годишните баланси са заключени и проверени с balance утвърждения, давайки на вас и вашия подготвящ увереност в числата.

30-дневен контролен списък (Отпечатайте това)

  • Ден 1–3
    • Създайте минимална сметкопланова схема.
    • Добавете pad + balance за всяка банка/карта, използвайки най-новите извлечения.
  • Ден 4–10
    • Настройте един импортен канал и предайте правилата си под контрол на версии.
    • Попълнете 90 дни транзакции; стартирайте първа BALANCES снимка.
  • Ден 11–15
    • Стандартизирайте доставчиците към съответните им сметки (SaaS, Cloud, Shipping и др.).
    • Прикачете PDF извлечения за съверените периоди; потвърдете, че се появяват във Fava.
  • Ден 16–20
    • Стартирайте заявката за накладни разходи спрямо COGS; поправете всички неправилно категоризирани елементи.
    • Стартирайте заявката за честота на абонаментите; отменете или консолидирайте неизползвани услуги.
  • Ден 21–25
    • Добавете един или два бюджетни лимита за ключови променливи разходи чрез custom "budget".
    • Запазете вашите три най-важни bean-query команди в скрипт за лесно повторно използване.
  • Ден 26–30
    • Съверете всички сметки с месечни balance утвърждения.
    • Напишете кратка бележка за "месечно затваряне", обобщаваща ключовите числа и свързваща към документи.

Общи фрагменти, които ще използвате отново

Чисто записване на разход

2025-08-05 * "Figma" "Pro plan"
Expenses:SaaS 12.00 USD
Assets:Bank:Checking -12.00 USD

Утвърждение за баланс от извлечение

2025-09-01 balance Assets:Bank:Checking  8423.17 USD

Бюджетна предпазна мярка за наем

2025-01-01 custom "budget" Expenses:Overhead:Rent "monthly" 2500.00 USD

Поддържайте го просто, поддържайте го скриптовано

Философията на финансовия детокс, задвижван от Beancount, е проста:

  • Скриптовайте това, което повтаряте: Автоматизирайте импортите и отчитането.
  • Нека утвържденията се провалят шумно: Те са вашите предпазни релси, не неудобство.
  • Предпочитайте по-малко, по-ясни сметки пред перфектна, детайлна категоризация.

Приемете тези навици и вашият бизнес ще работи на стегнати обратни връзки: видимост на парите ежедневно, отклонението в харченето видимо седмично и наистина скучна година-край. Това е яснотата и контролът, който този детокс е проектиран да доставя.


Справки и допълнително четене

Този пост е само за образователни цели и не е данъчен или правен съвет.

10 практични стъпки за бързо и надеждно приключване на месец в Beancount

· 7 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

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

Ето контролният списък за безболезнено приключване:

2025-09-02-month-end-close

  1. Съберете извлечения и импортирайте всички необработени транзакции.
  2. Нормализирайте получателите, описанията и метаданните.
  3. Съгласувайте всяка кешова, банковска и кредитна сметка с balance директиви.
  4. Съгласувайте трансферите и междусметковите движения.
  5. Актуализирайте цени за инвестиции и проверете оценките.
  6. Прикрепете или посочете документи (разписки, фактури) в регистъра си.
  7. Стартирайте заявки и табла за П&Л и проверки на отклонения.
  8. Публикувайте начисления и корекции при нужда.
  9. Валидирайте регистъра с автоматизирани проверки.
  10. Комитнете, тагнете и архивирайте месеца.

1. Задайте основните правила (и ги използвайте отново)

Последователното приключване започва със стабилна основа. Планът на сметките и ключовите опции на Beancount трябва да бъдат декларирани централизирано и рядко променяни. Опции като operating_currency и documents осигуряват предвидимо поведение на вашите отчети и импорти всеки път.

Съвет: Третирайте файла с опциите като „инфраструктура“. Промяната му може да промени начина, по който се изчисляват числата. Версионирайте го внимателно в Git.


2. Импортирайте всичко — след това никога повече не въвеждайте ръчно

Автоматизирането на импорта на данни е най-голямото ускорение за приключване на книгите. Използвайте мощните инструменти за импорт на Beancount и общностните импортери, за да изтеглите банкови потоци, CSV/OFX файлове от кредитни карти, данни от брокери и справки за заплати.

Целта е една команда за импорт, която генерира балансирани записи, които само трябва да прегледате и комитнете. Това премахва ръчното въвеждане, основният източник на грешки и закъснения.


3. Нормализирайте получателите и метаданните предварително

Чистите данни са надеждни данни. Стандартизирайте получателите, описанията и етикетите по време на импорта, за да останат търсенията, правилата и отчетите ви точни месец след месец.

Плъгин системата на Beancount ви позволява да добавяте леки трансформации и валидации, докато файловете се зареждат. Това е идеално за налагане на персонализирани проверки за последователност или за използване на вградения плъгин noduplicates, който маркира повторни транзакции преди да станат проблем.


4. Съгласувайте с директиви balance

За всяка сметка, за която имате извлечение (текуща сметка, спестовна, кредитна карта), използвайте директивата balance на Beancount, за да заявите затварящия баланс. Този прост ред превръща съгласуването от ръчна проверка в точно автоматизирано тестиране.

; Заявява, че балансът е точно 1234.56 в началото на деня
2025-09-01 balance Assets:Bank:Checking 1234.56 USD

Тъй като балансите се проверяват в началото на деня, най‑лесно е да използвате първия ден на следващия месец за извлечение от края на месеца. Ако изчисленият от Beancount баланс не съвпада с вашата заявка, ще получите точна грешка и дата, от която да започнете разследването. Винаги първо поправяйте източника на истината (транзакциите); не „принуждавайте“ съгласуване.


5. Съгласувайте междусметковите трансфери

Уверете се, че всеки трансфер се появява и от двете страни на транзакцията. Плащане от текущата ви сметка към кредитната карта, например, трябва да се отрази и в двете сметки. Несъответстващите трансфери са честа причина за проблеми при съгласуване.

Използвайте директивата pad само за задаване на исторически начални баланси, когато за пръв път създавате сметка. Това е инструмент за настройка, а не за поправка на разлики в края на месеца.


6. Проверете позиции и цени за инвестиции

За да получите точна представа за нетната си стойност, се нуждаете от актуални пазарни стойности за инвестициите и чуждестранните валути. Използвайте директивата price на Beancount, за да запишете тези стойности към датата на приключване.

2025-08-31 price VTI  290.14 USD
2025-08-31 price EUR 1.11 USD

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


7. Прикрепете разписки и изходни документи

Поддържайте чиста следа за одит, като свързвате транзакциите с техните изходни документи. Използвайте опцията documents във вашия главен Beancount файл, за да посочите архива с разписки и фактури.

option "documents" "/path/to/Finance/Documents"

Ако именувате файловете по дата (напр. 2025-08-13.vendor.receipt.pdf), Beancount и Fava могат автоматично да ги открият и свържат, което позволява да покажете разписка за всяка транзакция с едно кликване.


8. Прегледайте месеца с Fava и BQL

Бързият обратен цикъл е критичен. Използвайте Fava, за да визуално инспектирате финансите си. Неговите графики и отчети са идеални за разбивка на разходите по категории, проверка на тенденциите в приходите и откриване на аномалии с едно поглеждане.

За по‑прецизни проверки използвайте Beancount Query Language (BQL). Тази заявка, например, ви дава класирана разбивка на всички разходи за август 2025:

SELECT
account,
ROUND(SUM(position), 2) AS total
WHERE
date >= 2025-08-01 AND date < 2025-09-01
AND account 'Expenses'
GROUP BY
account
ORDER BY
total DESC;

9. Публикувайте начисления и корекции

Ако използвате начислително счетоводство, запишете вашите месечни корекции като явни, датирани транзакции. Това може да включва натрупани разходи (например сметка за комунални услуги, която още не сте получили), амортизация на предварително платени разходи или признаване на приходи. Дръжте ги прости и добре документирани в описанието, за да са лесни за разбиране при бъдещи прегледи.


10. Валидирайте, тагнете и архивирайте

Преди да финализирате месеца, изпълнете последна проверка за структурна цялост:

bean-check your-ledger.beancount

Тази команда ще открие дисбаланси, препратки към сметки, които не сте отворили, и други чести грешки. Коригирайте всичко, което тя маркира.

След като всичко е наред, комитнете промените в система за контрол на версии (например Git) с ясно съобщение и таг, като close-2025-08. Накрая архивирайте банковите извлечения и смятайте месеца заключен.


Примерен скрипт за приключване, който можете да адаптирате

Можете да автоматизирате повечето от тези стъпки с прост shell скрипт. Това превръща приключването в една повторима команда.

#!/usr/bin/env bash
set -euo pipefail

# Example: ./close.sh 2025-08
MONTH=${1:?Please provide a month in YYYY-MM format}
LEDGER= /finance/ledger.beancount

# 1. Import new transactions
echo "Importing transactions for $MONTH..."
make import MONTH="$MONTH"

# 2. Update market prices for the last day of the month
PRICE_DATE=$(date -d "$MONTH-01 +1 month -1 day" +%F)
echo "Fetching prices for $PRICE_DATE..."
make prices DATE="$PRICE_DATE"

# 3. Validate the entire ledger
echo "Running bean-check..."
bean-check "$LEDGER"

# 4. Generate a key report (e.g., expense breakdown)
echo "Generating expense report for $MONTH..."
bean-query "$LEDGER" -f txt "
SELECT account, SUM(position)
WHERE date >= '${MONTH}-01' AND date < '${MONTH}-01' + 1 month
AND account 'Expenses'
GROUP BY account ORDER BY SUM(position) DESC;
" > "reports/${MONTH}-expenses.txt"

# 5. Commit and tag the close in Git
echo "Committing and tagging the close..."
git -C /finance add .
git -C /finance commit -m "Close ${MONTH}"
git -C /finance tag "close-${MONTH}"

echo "Month ${MONTH} is closed and tagged."

Защо това работи

Процесът е бърз и надежден, защото се основава на няколко ключови принципа:

  • Заявки, а не погледи: Директивата balance превръща съгласуването в точна автоматизирана проверка.
  • Детерминирани входове: Автоматизираните импортери и нормализираните метаданни правят вашия регистър възпроизводим и последователен.
  • Разгледаеми данни: Fava и BQL предоставят мощни инструменти за валидиране на резултати и незабавно задълбочаване в отклонения.
  • Одитируеми промени: Корекциите са записи в чист текст, което ги прави лесни за преглед и разбиране години след това.

Добро приключване на месец е предимно логистично. С Beancount можете да го превърнете в кратък, скриптов ритуал: импорт, заявка, цена, проверка и комит. Поддържайте работния процес стабилен и вашето приключване ще остане бързо — дори и финансовият ви живот да се усложнява.

Натрупани разходи в Beancount: Практически наръчник (с примери за копиране и поставяне в дневника)

· 8 минути четене
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 след обратния запис, за да потвърдите, че е нула. Поставянето й преди обратния запис на 2025-03-01 ще доведе до фалшив провал.

Шест често срещани начислявания (шаблони за копиране и поставяне) 📋

Ето готови примери за типични бизнес начислявания.

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 нулира приходите и разходите, давайки ви чист изглед на баланса (Активи, Задължения, Капитал).

Регистър на всички записи за начислявания

Ако искате да видите суровата история на транзакциите за вашите сметки за натрупани задължения:

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
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued";
'

Контроли и „Gotchas“ специфични за Beancount

  • Внимание при проверки: Проверките за balance се изпълняват преди обработката на транзакциите от същия ден.
  • Без плъгини: Моделът работи изцяло с чист текст и стандартните функции на Beancount.
  • Ясни сметки: Двойното записване (debit/credit) е изрично посочено в кода, което намалява риска от грешки.

Предплатени срещу натрупани (бързо сравнение)

  • Натрупани разходи – разходи, които са вече понесени, но все още не са платени.
  • Предплатени разходи – разходи, за които парите са вече платени, но услугата/стоката все още не е получена.

Примери

  • Натрупани: Заплатите за текущия месец, които ще се платят следващия.
  • Предплатени: Годишен абонамент, платен предварително, но валиден през следващата година.

Шаблон за вмъкване (начало на файла)

Това е готовият план на сметките, който можете да копирате директно във вашия .beancount файл.

; Примерен план на сметките
; Активи
2020-01-01 open Assets:Bank:Checking "USD"
2020-01-01 open Assets:Bank:Savings "USD"

; Задължения
2020-01-01 open Liabilities:CreditCard "USD"
2020-01-01 open Liabilities:Accrued:Utilities "USD"

; Разходи
2020-01-01 open Expenses:Utilities "USD"
2020-01-01 open Expenses:Rent "USD"
2020-01-01 open Expenses:Payroll "USD"

Финални бележки

Този наръчник цели да ви даде практичен, стъпка‑по‑стъпка подход към натрупаните разходи в Beancount. Като следвате предложените модели и използвате bean-query за отчитане, ще имате чист, прозрачен и точен финансов запис, който отразява реалната икономическа дейност на вашия бизнес.

Избор на S-Corp, обяснен за потребители на Beancount

· 15 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Какво представлява, кога се изплаща и как да го моделирате чисто във вашия ledger (с примери).

⚠️ Това ръководство е специфично за САЩ и е само за образователни цели. Консултирайте се с данъчен специалист за вашата ситуация.

TL;DR

  • S-corp е данъчен статус, който избирате с IRS (чрез Формуляр 2553), така че бизнес печалбите да преминават към личните данъчни декларации на собствениците. Ключово изискване е да плащате на собствениците-оператори разумна W-2 заплата, преди да вземете каквато и да е печалба като дивиденти или разпределения.
  • Крайните срокове са важни: За съществуващ бизнес трябва да подадете не по-късно от 15-ия ден на 3-тия месец от данъчната година, в която искате да започне статусът на S-corp. За избор за календарната 2025 година, 15 март 2025 г. се пада в събота, така че практическият краен срок е следващият работен ден, понеделник, 17 март 2025 г..
  • Защо да правите това? Основната атракция е потенциалното спестяване на данъци за самонаети лица. Докато вашата W-2 заплата е обект на данъци FICA, разпределенията не са. Тази полза обаче е свързана с допълнителни разходи за заплати, съответствие и в някои щати допълнителни данъци на ниво предприятие.
  • В Beancount е важно да разделяте заплатите от разпределенията. Ще трябва да проследявате задълженията за заплати, да обработвате специалното счетоводство за здравно осигуряване за акционери, притежаващи повече от 2% от компанията, и да записвате разпределенията изрично чрез сметки за собствен капитал.

2025-08-08-s-corp-election

Какво представлява изборът на S-corp?

По същество изборът на S-corp е заявка, която правите към IRS, за да промените начина, по който се облага вашият бизнес. Чрез подаване на Формуляр 2553 вие молите IRS да облага вашата корпорация или LLC съгласно Подглава S от Данъчния кодекс на вътрешните приходи. Това прави вашия бизнес "проходно" предприятие, което означава, че неговите приходи, загуби, удръжки и кредити се прехвърлят директно към личните данъчни декларации на акционерите. Това е чисто данъчна класификация, а не различен вид юридическо бизнес предприятие.

Ключови ефекти за собственик-оператор

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

Това разграничение е от решаващо значение. Възнаграждението, което получавате за вашия труд, трябва да се изплаща като W-2 заплати, които са обект на стандартни данъци върху заплатите (социално осигуряване и Medicare). Всяка останала печалба може да бъде изплатена като разпределения, които обикновено не са обект на данъци за самонаети лица. IRS настоява да си плащате разумна заплата за вашата работа, преди да вземете каквито и да е разпределения.

Трябва ли да изберете статут на S-corp?

Изборът на S-corp често си струва да се оцени, след като вашият бизнес генерира стабилна и значителна печалба. Общо правило е да го обмислите, когато вашата текуща бизнес печалба може удобно да поддържа пазарна заплата за вашата роля, като остава достатъчно, за да направи разпределенията си струващи след покриване на всички нови административни разходи.

Точната точка на рентабилност е уникална за вашата ситуация и зависи от няколко фактора:

  • Вашата "Разумна заплата": Какво би платил бизнес за някой с вашите умения и отговорности във вашата индустрия? Тази цифра е базовата линия за вашите W-2 заплати и е обект на контрол от IRS.
  • Щатски данъци и такси: Някои щати имат свои собствени правила. Калифорния, например, налага данък от 1,5% върху нетния доход на S-corp, плюс минимален годишен франчайз данък от $800.
  • Допълнителни разходи: Ще ви е необходима услуга за заплати и ще плащате за осигуряване за безработица. Вашите такси за счетоводство и данъчна подготовка също вероятно ще се увеличат поради добавената сложност.
  • QBI приспадане (Раздел 199A): Изборът на S-corp може да повлияе на вашето приспадане на квалифициран бизнес доход. W-2 заплатите, които си плащате, могат или да ви помогнат да се класирате за пълното приспадане, или при по-високи нива на доход да се превърнат в ограничаващ фактор.

Право на участие и време

Не всеки бизнес може да стане S-corp. Ето основните изисквания:

  • Трябва да е местна корпорация или отговаряща на условията LLC.
  • Може да има не повече от 100 акционери.
  • Може да има само един клас акции.
  • Акционерите трябва да бъдат физически лица, определени тръстове или имущества (т.е. без партньорства, корпорации или акционери, които не са местни чужденци).

Кога да подадете формуляр 2553

Времето е от решаващо значение и правилата се различават леко за новите спрямо съществуващите бизнеси.

  • За нов бизнес: Трябва да подадете в рамките на 2 месеца и 15 дни след първия ден от вашата първа данъчна година. Например, ако данъчната година на вашия бизнес започва на 7 януари, крайният ви срок е 21 март.
  • За съществуваща C-corp (или LLC, облагана като C-corp): Можете да подадете по всяко време през предходната данъчна година или до 15-ия ден на 3-тия месец от годината, в която искате изборът да влезе в сила. Ако тази дата се пада в уикенд или празник, крайният срок се измества към следващия работен ден, разпоредба, предоставена съгласно Раздел 7503 от IRC.

Какво ще стане, ако сте пропуснали крайния срок? Не се паникьосвайте. IRS предоставя път за облекчение при късен избор съгласно Резолюция за приходите 2013-30. Често можете да подадете заявление за това облекчение в рамките на 3 години и 75 дни от предвидената дата на влизане в сила, при условие че имате основателна причина за късното подаване.

Разумна заплата: Частта, която спъва хората

Това е най-проверяваният аспект на структурата на S-corp. IRS е много ясен: на акционерите-служители трябва да се изплаща разумно възнаграждение за услугите, които предоставят преди каквато и да е печалба да бъде взета като разпределения.

Какво означава "разумно"? Няма единна сума в долари. IRS и съдилищата разглеждат различни фактори, за да определят дали вашата заплата е подходяща, включително вашите задължения и отговорности, времето, което прекарвате в работа, вашето ниво на опит и какво биха платили сравними бизнеси за подобни услуги. Очаквайте IRS да разгледа внимателно, ако си плащате много ниска W-2 заплата, докато вземате големи разпределения. Това често се разглежда като червен флаг за опит за избягване на данъци върху заплатите.

Здравно осигуряване и допълнителни обезщетения за акционери >2%

Има специално правило за това как S-corps обработват здравното осигуряване за акционери, които притежават повече от 2% от компанията. Ако S-corp плаща или възстановява тези премии за здравно осигуряване, разходът е приспадаем от S-corp.

Стойността на тези премии обаче трябва също да бъде включена в W-2 заплатите на акционера-служител. Докато тази сума е обект на удържане на федерален данък върху дохода, тя е освободена от данъци за социално осигуряване и Medicare (FICA), стига да се обработва правилно. Трябва да се координирате с вашия доставчик на заплати, за да гарантирате, че тези суми са отчетени правилно във вашия W-2.

Щатски уловки (примери)

Федералният статус на S-corp не винаги се превежда директно на щатско ниво. Винаги проверявайте специфичните правила на вашия щат.

  • Калифорния: S-corps подлежат на 1,5% данък върху нетния си доход от Калифорния. Освен това повечето корпорации трябва да плащат минимален франчайз данък от $800 всяка година (въпреки че някои изключения важат за първата година).
  • Ню Йорк: Само федералният избор на S-corp не е достатъчен. Трябва също да подадете отделен избор на щатско ниво, Формуляр CT-6, за да бъдете третирани като S-корпорация в Ню Йорк. Ако не го направите, означава, че ще бъдете облагани като стандартна C-corp на щатско ниво.

Как да моделирате S-corp чисто в Beancount

Обикновеното текстово счетоводство е идеално за управление на добавената сложност на S-corp. Ето как да структурирате вашия ledger.

Предложена схема на сметките (начална)

Тази основна структура разделя вашите разходи за заплати от разпределенията и създава сметки за пасиви, за да проследява данъците, които дължите.

; Основна банка и доход
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Income:Sales USD
1970-01-01 open Income:Other USD

; Разходи за заплати и пасиви
1970-01-01 open Expenses:Payroll:Wages USD
1970-01-01 open Expenses:Payroll:EmployerTaxes USD
1970-01-01 open Expenses:Benefits:HealthInsurance USD
1970-01-01 open Liabilities:Payroll:Federal:FIT USD
1970-01-01 open Liabilities:Payroll:FICA USD
1970-01-01 open Liabilities:Payroll:Medicare USD
1970-01-01 open Liabilities:Payroll:State:Withholding USD

; Собствен капитал
1970-01-01 open Equity:ContributedCapital USD
1970-01-01 open Equity:Distributions USD
1970-01-01 open Equity:RetainedEarnings USD

Типично изпълнение на заплати (опростено)

Вашият доставчик на заплати (напр. Gusto, ADP) ще дебитира вашата банкова сметка за вашата нетна заплата и общото данъчно задължение. Вашата Beancount транзакция трябва да разбие това на брутни заплати, данъци на работодателя и съответните пасиви.

; Тази транзакция записва годишна заплата от $100 000, изплащана месечно.
2025-01-31 * "Gusto" "Януарска заплата — акционер-служител"
Expenses:Payroll:Wages 8,333.33 USD ; Брутни заплати
Expenses:Payroll:EmployerTaxes 637.50 USD ; Данъци FICA/Medicare на работодателя
Liabilities:Payroll:Federal:FIT -1,200.00 USD ; Удържане на служител
Liabilities:Payroll:FICA -516.67 USD ; Удържане на служител
Liabilities:Payroll:Medicare -120.83 USD ; Удържане на служител
Assets:Bank:Checking -7,133.33 USD ; Нетна заплата, дебитирана от банката

Когато вашият доставчик на заплати преведе тези данъци на правителството от ваше име, ще запишете друга транзакция, за да изчистите пасивите.

; Това представлява данъчното плащане, извършено от вашия доставчик на заплати.
2025-02-15 * "EFTPS" "Федерален депозит за данък върху заплатите"
Liabilities:Payroll:Federal:FIT 1,200.00 USD
Liabilities:Payroll:FICA 516.67 USD
Liabilities:Payroll:Medicare 120.83 USD
Assets:Bank:Checking -1,837.50 USD ; Тази сума съответства на данъчната част от дебита на Gusto.

Здравно осигуряване за акционер >2%

Запишете плащането на премията като бизнес разход. Можете да използвате метаданни, за да си напомните, че това трябва да бъде отчетено във W-2.

2025-02-01 * "BlueCross" "Здравно осигуряване за акционер (отчет във W-2)"
Expenses:Benefits:HealthInsurance 600.00 USD ; w2: "true"
Assets:Bank:Checking -600.00 USD

Разпределения на собственика (не заплати)

Разпределенията са намаление на собствения капитал, а не бизнес разход. Записвайте ги отделно от заплатите.

2025-03-31 * "Разпределение на собственика" "Разпределение за Q1"
Equity:Distributions 20,000.00 USD
Assets:Bank:Checking -20,000.00 USD

Проследяване на базата на акционерите (по избор, но препоръчително)

Базата на вашите акционери определя дали разпределенията са освободени от данъци и дали можете да приспаднете бизнес загуби от вашата лична декларация. Докато официалното изчисление се извършва във вашата данъчна декларация, можете да проследите оценка в Beancount, като използвате специална подсметка за собствен капитал или метаданни. Ще съгласувате това с Приложение K-1, което получавате от S-corp годишно.

Забележка относно QBI приспадането (Раздел 199A)

Собствениците на проходни бизнеси, включително S-corps, могат да имат право на приспадане до 20% от квалифицирания си бизнес доход (QBI). За данъкоплатци с доход над определен праг обаче това приспадане може да бъде ограничено от размера на W-2 заплатите, които бизнесът плаща. Това създава сложно взаимодействие: плащането на разумна заплата е задължително за S-corp, а същите тези заплати могат да повлияят на вашето QBI приспадане — понякога му помагайки, понякога ограничавайки го. Това е ключова област, която да моделирате с вашия данъчен специалист.

Какво се променя оперативно след като изберете?

Преминаването към S-corp добавя няколко административни слоя:

  • Изпълнение на заплати: Трябва официално да изпълнявате заплати, заедно с удържане на данъци, плащане на данъци на работодателя, тримесечни подавания и W-2 в края на годината.
  • Подаване на формуляр 1120-S: Това е годишната данъчна декларация на S-корпорацията. Ще издадете и Приложение K-1 на всеки акционер, в което се посочва техният дял от финансовите резултати на компанията.
  • Правилно обработване на здравното осигуряване на акционерите: Уверете се, че премиите за собственици >2% са включени в техните W-2 заплати.
  • Спазване на щатските правила: Бъдете в крак с всички изисквани избори на S-corp на щатско ниво или данъци върху предприятията (както в Калифорния и Ню Йорк).

Често срещани клопки, които трябва да избягвате

  • Късен или невалиден избор: Проверете два пъти крайните срокове и се уверете, че всички необходими акционери са подписали Формуляр 2553. Ако го пропуснете, проучете облекчението съгласно Резолюция за приходите 2013-30.
  • Неразумна заплата: Не се изкушавайте да си плащате изкуствено ниска заплата. Документирайте защо вашето възнаграждение е разумно въз основа на вашата роля и пазарните данни.
  • Смесване на заплати и разпределения: Поддържайте тези транзакции чисти и отделни във вашите книги. Разпределенията не са заплати.
  • Пренебрегване на щатските изисквания: Забравянето на щатски избор или неплащането на данък на ниво предприятие може да доведе до глоби и проблеми със съответствието.

Бърз контролен списък

  • Потвърдете, че отговаряте на условията и че потенциалните данъчни спестявания надвишават новите разходи.
  • Отбележете в календара крайния срок за подаване на Формуляр 2553 (и не забравяйте правилото за уикенд/празник).
  • Създайте услуга за заплати и определете добре документирана, разумна заплата.
  • Планирайте да вземате разпределения само след като са платени заплатите и бизнес разходите.
  • Проучете и спазвайте специфичните изисквания за подаване и данъци за S-corp на вашия щат.
  • Актуализирайте вашия Beancount ledger с необходимите сметки за заплати, пасиви и собствен капитал на акционерите.

Beancount S‑Corp Starter (неутрален шаблон)

;
; Beancount S‑Corp Starter (неутрален шаблон)
; Генерирано: 2025-08-09
; ---
; Как да използвате това:
; 1) Потърсете "ЗАДАЧА" и попълнете вашия щат(и), доставчик на заплати, EIN и имена на банки.
; 2) Дръжте заплатите и разпределенията на собственика отделно.
; 3) Координирайте с вашия доставчик на заплати, за да отчетете здравното осигуряване на акционери >2% във W‑2 (Поле 1).
; 4) Изтрийте или адаптирайте примерите за Калифорния/Ню Йорк, ако сте в друг щат.
;
; Бележки:
; - Това е шаблон за счетоводство, а не данъчен съвет.
; - Валута на работа се приема USD. Променете, ако е необходимо.
;

option "title" "S‑Corp Ledger"
option "operating_currency" "USD"
commodity USD

; === Сметки (отворени от 2025-01-01; коригирайте датите, ако е необходимо) ==================
2025-01-01 open Assets:Bank:Checking USD ; ЗАДАЧА: Преименувайте на вашата банка (напр. Assets:Bank:Chase:Operating)
2025-01-01 open Assets:Bank:Savings USD
2025-01-01 open Assets:AccountsReceivable USD
2025-01-01 open Assets:PrepaidExpenses USD

2025-01-01 open Liabilities:CreditCard:Corporate USD
2025-01-01 open Liabilities:Payroll:Federal:FIT USD
2025-01-01 open Liabilities:Payroll:Federal:FICA USD
2025-01-01 open Liabilities:Payroll:Federal:Medicare USD
2025-01-01 open Liabilities:Payroll:Federal:FUTA USD
2025-01-01 open Liabilities:Payroll:State:Withholding USD ; ЗАДАЧА: Преименувайте щата (напр. CA, NY)
2025-01-01 open Liabilities:Payroll:State:Unemployment USD
2025-01-01 open Liabilities:Payroll:Local USD

2025-01-01 open Equity:ContributedCapital USD
2025-01-01 open Equity:Distributions USD
2025-01-01 open Equity:RetainedEarnings USD
2025-01-01 open Equity:OpeningBalances USD

2025-01-01 open Income:Sales USD
2025-01-01 open Income:Other USD

2025-01-01 open Expenses:COGS USD
2025-01-01 open Expenses:Payroll:Wages USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:FICA USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:Medicare USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:FUTA USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:State USD
2025-01-01 open Expenses:Benefits:HealthInsurance USD
2025-01-01 open Expenses:Benefits:HSA USD
2025-01-01 open Expenses:Benefits:Retirement:Match USD
2025-01-01 open Expenses:Taxes:State:S‑Corp USD ; напр. 1,5% данък върху предприятието в Калифорния
2025-01-01 open Expenses:Taxes:State:Franchise USD ; напр. минимален франчайз данък от $800 в Калифорния
2025-01-01 open Expenses:Professional:Payroll USD
2025-01-01 open Expenses:Professional:Accounting USD
2025-01-01 open Expenses:Professional:Legal USD
2025-01-01 open Expenses:BankFees USD
2025-01-01 open Expenses:Software USD
2025-01-01 open Expenses:Office USD
2025-01-01 open Expenses:Meals USD
2025-01-01 open Expenses:Travel USD
2025-01-01 open Expenses:Insurance:GeneralLiability USD

; === Пример: Капитализация на собственика =================================================
2025-01-02 * "Собственик" "Първоначален капиталов принос"
Assets:Bank:Checking 25,000.00 USD
Equity:ContributedCapital -25,000.00 USD

; === Пример: Плащане от клиент =====================================================
2025-01-15 * "Stripe" "Януарски постъпления от абонамент"
Assets:Bank:Checking 12,000.00 USD
Income:Sales -12,000.00 USD


; === Пример: Месечна заплата (единичен акционер-служител) ========================
; Числата са избрани да се балансират перфектно. Адаптирайте FIT/щатските числа към вашата реалност.
; Брутна заплата: 8,333.33 | Служител FIT: 1,200.00 | Щатско удържане: 300.00
; Служител FICA (6.2%): 516.67 | Служител Medicare (1.45%): 120.83
; Работодател FICA: 516.67 | Работодател Medicare: 120.83
; Нетна заплата: 6,195.83
2025-01-31 * "Gusto" "Януарска заплата — акционер-служител"
Expenses:Payroll:Wages 8,333.33 USD
Expenses:Payroll:EmployerTaxes:FICA 516.67 USD
Expenses:Payroll:EmployerTaxes:Medicare 120.83 USD
Liabilities:Payroll:Federal:FIT -1,200.00 USD
Liabilities:Payroll:Federal:FICA -1,033.34 USD ; служител + работодател
Liabilities:Payroll:Federal:Medicare -241.66 USD ; служител + работодател
Liabilities:Payroll:State:Withholding -300.00 USD
Assets:Bank:Checking -6,195.83 USD

; === Пример: Депозити за данък върху заплатите (EFTPS & Щат) =================================
2025-02-15 * "EFTPS" "Федерален депозит за заплата (FIT, FICA, Medicare)"
Liabilities:Payroll:Federal:FIT 1,200.00 USD
Liabilities:Payroll:Federal:FICA 1,033.34 USD
Liabilities:Payroll:Federal:Medicare 241.66 USD
Assets:Bank:Checking -2,475.00 USD

2025-02-16 * "STATE DOR" "Щатско удържане на заплата"
Liabilities:Payroll:State:Withholding 300.00 USD
Assets:Bank:Checking -300.00 USD

; === Пример: Здравно осигуряване за акционер >2% =================================
; Координирайте с отдела за заплати, така че общата годишна премия да бъде включена в W‑2 Поле 1.
; Самата премия е приспадаема тук; НЕ удържайте SS/Medicare върху нея, когато се обработва правилно.
2025-02-01 * "BlueCross" "Здравно осигуряване за акционер (включването във W‑2 се обработва от отдела за заплати)"
Expenses:Benefits:HealthInsurance 600.00 USD ; w2: "true"
Assets:Bank:Checking -600.00 USD

; === Пример: Разпределение на собственика (не заплати) =======================================
2025-03-31 * "Разпределение на собственика" "Разпределение за Q1"
Equity:Distributions 20,000.00 USD
Assets:Bank:Checking -20,000.00 USD

; === Примери за щати (изтрийте/редактирайте, ако не е приложимо) =================================
; Минимален франчайз данък в Калифорния (не винаги през първата година; проверете правилата)
2025-04-15 * "California FTB" "Годишен франчайз данък"
Expenses:Taxes:State:Franchise 800.00 USD
Assets:Bank:Checking -800.00 USD

; 1,5% данък върху предприятието S‑Corp в Калифорния (примерно плащане на оценка)
2025-06-15 * "California FTB" "Оценка на данък S‑Corp"
Expenses:Taxes:State:S‑Corp 1,500.00 USD
Assets:Bank:Checking -1,500.00 USD

; Отделният S избор в Ню Йорк (CT‑6) няма пряко въздействие върху книгата; заместваща бележка.
2025-01-05 note Equity:RetainedEarnings "S‑избор в Ню Йорк (CT‑6) подаден — само счетоводна бележка (без запис)"

; === Проследяване на базата (по избор — бележка извън книгата) =====================================
2025-12-31 note Equity:RetainedEarnings "Превъртане на базата: +Капитал 25,000 +Доход 60,000 −Разпределения 20,000 = Крайна база 65,000 (съгласуване с K‑1)"

; === Съвети за импортиране (CSV от Gusto/ADP) =============================================
; - За CSV регистри на заплати от Gusto, съпоставете колоните:
; Брутна заплата -> Expenses:Payroll:Wages
; Служител FIT/FICA/Medicare -> Liabilities:Payroll:Federal:FIT/FICA/Medicare (отрицателно)
; Щатско удържане -> Liabilities:Payroll:State:Withholding (отрицателно)
; Работодател FICA/Medicare/FUTA/SUTA -> Expenses:Payroll:EmployerTaxes:* (положително) И
; ако вашият CSV изброява данъците на работодателя като дължими суми, отразете ги като Liabilities:* (отрицателно),
; след това изчистете с вашите EFTPS/щатски плащания.
; Нетна заплата -> Assets:Bank:Checking (отрицателно, съответства на датата на плащане)
; - Здравно осигуряване, платено от компанията:
; Плащане на доставчика -> Expenses:Benefits:HealthInsurance (положително) / Bank (отрицателно);
; уверете се, че заплатата включва годишната премия в W‑2 Поле 1 за акционер >2%.
;
; Съвети:
; - Дръжте разпределенията извън сметките за заплати.
; - Използвайте етикети като #заплата #разпределение, за да филтрирате във Fava.
; - Обмислете отделни подсметки за банки за данъчни резерви (федерални/щатски).

Потребителски опит и обратна връзка за счетоводство в чист текст, подпомогнато от езикови модели

· 5 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Счетоводството в чист текст (PTA) отдавна е тайното оръжие на технологично грамотните финансови маниаци. Използвайки прости текстови файлове и инструменти като Beancount или Ledger, получавате несравним контрол, прозрачност и собственост върху вашите финансови данни. Но нека бъдем честни – винаги е имало репутация, че е, ами, трудно. Кривата на обучение е стръмна, въвеждането на данни е досадно и една неправилно поставена запетая може да ви изпрати на разочароващо търсене на грешки.

Но какво ще стане, ако можете да имате силата на PTA без болката? Въведете големите езикови модели (LLM). Изкуственият интелект започва да се промъква във всеки ъгъл на работния процес на PTA, обещавайки да автоматизира скучните неща и да направи тази мощна система достъпна за всички. Въз основа на задълбочено проучване на обратната връзка от потребителите, нека проучим как изкуственият интелект революционизира счетоводството в чист текст – и дали отговаря на очакванията.


Старият начин: Ръчното смилане на PTA

В продължение на години опитът с PTA се определя от няколко често срещани препятствия:

  • Стената на сплашването: Новодошлите често се чувстват претоварени. Както призна един потребител, "Бях твърде уплашен в продължение на години... но изглеждаше полезно и в крайна сметка щеше да се изплати." Между изучаването на двойно записване и навигирането в инструментите на командния ред, започването е трудно.
  • Цикълът "Редактиране-Компилиране-Дебъгване": За разлика от GUI софтуера, който ви крещи в секундата, в която направите грешка, грешките в PTA често се крият, докато не извършите проверка. Този бавен цикъл на обратна връзка се усеща като дебъгване на код, превръщайки проста задача за въвеждане на данни в досадна работа.
  • Кошмарът с импортирането: Вкарването на вашите данни в системата е основен проблем. Често включва ръчно изтегляне на CSV файлове от множество банки, почистването им и изпълнението на персонализирани скриптове – крехък и отнемащ време процес. Един потребител прекара "около 4 часа, за да навакса с импортирането на последните ~8 месеца" транзакции, дори с известна автоматизация.

Въведете AI асистента: Как LLM намаляват натоварването

Тук изкуственият интелект променя играта, действайки като мощен асистент за справяне с най-досадните части на PTA.

Автоматизиране на черната работа: Категоризация и импортиране

Това е ниско висящият плод за AI. Вместо да пишете сложни правила, за да разберете какво е "STARBUCKS #12345", можете просто да попитате LLM.

Потребителите съобщават за голям успех, като подават описания на транзакции на модели като GPT-4 и получават перфектни категоризации, като Expenses:Food:Coffee. Инструменти като Beanborg дори интегрират ChatGPT, за да предлагат интелигентно категории, когато собствените му правила се провалят.

Още по-добре, LLM се превръщат в импортьори на данни в движение. Вместо да пишете Python скрипт, за да анализирате разхвърляния CSV файл на банка, сега можете да поставите данните в прозорец за чат и да помолите AI да го конвертира във формат Beancount. Не винаги е 100% перфектно, но превръща часове кодиране в няколко минути бързо проектиране.

Правене на PTA по-малко страшно: Обучение и обработка на грешки

Тази начална стена на сплашване? LLM помагат на потребителите да я изкачат. Един нов потребител описа използването на GPT-4 като "учител, който държи за ръка", за да ги преведе през настройването на първия им регистър. AI обясни концепции, генерира примерни записи и им помогна да изградят увереност, за да продължат сами.

AI също така предоставя обратна връзка в реално време, която PTA винаги е липсвала. Разработчиците изграждат разширения за редактори, които използват LLM, за да проверяват вашия синтаксис докато пишете, като подчертават дисбаланси или грешки с познатата червена вълнообразна линия. Представете си AI, който не само маркира грешка, но и обяснява защо е грешна и предлага решение.

Чат с вашите финанси

Може би най-вълнуващото развитие е възходът на разговорния анализ. Вместо да пишете конкретна заявка от командния ред, сега можете просто да задавате въпроси на вашия регистър на обикновен език.

Потребителите експериментират с експортиране на данните си и използване на инструменти като Claude, за да задават въпроси като "Колко похарчих за хранителни стоки през март в сравнение с април?" AI може да анализира данните, да забележи тенденции и дори да предложи прозрения. В света на бизнеса компании като Puzzle.io предлагат Slack ботове, които позволяват на ръководителите да правят заявки за фирмените финанси в реално време. Този вид интерфейс на естествен език е промяна на играта за достъп до финансови данни.


Уловката: Не уволнявайте мозъка си още

Въпреки че възможностите са вълнуващи, потребителите са прави да бъдат предпазливи. Два основни проблема постоянно се появяват: поверителност и доверие.

  • Поверителността е от първостепенно значение: Вашата финансова история е невероятно чувствителна. Както каза един потребител, "Притеснявам се, че захранвам някакъв API с моята финансова история." Изпращането на вашите данни до облачна услуга на трета страна като OpenAI е неприемливо за мнозина. Решението? Нарастващ брой потребители изпълняват LLM с отворен код локално на собствените си машини, като гарантират, че данните им никога не напускат техния контрол.

  • Доверете се, но проверете: LLM могат да бъдат уверено грешни. Понякога "халюцинират" имена на сметки или правят малки математически грешки, които дисбалансират запис. Консенсусът на общността е ясен: използвайте AI като асистент, а не като автономен счетоводител. Винаги проверявайте регистъра си с финална проверка (bean-check) и дръжте човек в цикъла за окончателно одобрение.


Бъдещето е разширено, не заменено

LLM помощта бързо трансформира счетоводството в чист текст от нишова, само за експерти система в мощен инструмент, който става все по-достъпен всеки ден. AI е фантастичен в справянето с повтарящите се, смазващи душата части на счетоводството – въвеждане на данни, категоризация и анализ.

Това освобождава хората да правят това, което правят най-добре: преглед, интерпретация и вземане на решения. Бъдещето не е за това да оставите робот да управлява парите ви. Става дума за партньорство, при което AI върши тежката работа, като ви дава чистите, точни данни, от които се нуждаете, за да разберете наистина вашата финансова история.

Както уместно каза един потребител, "Нека роботите вършат повтарящото се счетоводство, за да могат хората да се съсредоточат върху разбирането и вземането на решения." С този балансиран подход, някога болезненият свят на счетоводството в чист текст изглежда по-светъл от всякога.

Техническо предимство на Beancount спрямо Ledger, hledger и GnuCash

· 6 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Изборът на лична счетоводна система включва компромиси между производителност, архитектура на данните и разширяемост. За инженери и други технически потребители, изборът често се свежда до това коя система предоставя най-стабилната, предвидима и програмируема основа.

Въз основа на подробен сравнителен доклад, нека анализираме техническите спецификации на Beancount спрямо неговите популярни алтернативи с отворен код: Ledger-CLI, hledger и GnuCash.

2025-07-22-beancounts-technical-edge-a-deep-dive-on-performance-python-api-and-data-integrity-vs-ledger-hledger-and-gnucash


Скорост и производителност: Количествени показатели 🚀

За всеки сериозен набор от данни, производителността е от съществено значение. Beancount е проектиран да обработва десетилетия транзакционни данни без компромис със скоростта. Въпреки че е имплементиран в Python (v2), неговият силно оптимизиран парсер е изключително ефективен.

  • Beancount: Реалното използване показва, че може да зарежда и обработва счетоводни книги със стотици хиляди транзакции за приблизително 2 секунди. Използването на памет е умерено; парсирането на ~100 000 транзакции конвертира изходния текст в обекти в паметта, използвайки само десетки мегабайти RAM.
  • Тест за натоварване с 1 милион транзакции: Тест с използване на синтетична счетоводна книга с 1 милион транзакции, 1000 сметки и 1 милион ценови записи разкри значителни архитектурни разлики:
    • hledger (Haskell): Успешно завърши пълно парсиране и отчет за ~80,2 секунди, обработвайки ~12 465 транзакции/сек, използвайки ~2,58 GB RAM.
    • Ledger-CLI (C++): Процесът беше прекратен след 40 минути без завършване, вероятно поради известна регресия, причиняваща прекомерно използване на памет и процесор при силно сложни счетоводни книги.
    • Beancount: Въпреки че не е включен в този специфичен тест с 1 милион транзакции, неговата крива на производителност предполага, че би се справил ефективно със задачата. Освен това, предстоящият Beancount v3, с новото си C++ ядро и Python API, се очаква да достави още едно порядъчно подобрение в пропускателната способност.
  • GnuCash (C/Scheme): Като GUI приложение, зареждащо целия си набор от данни в паметта, производителността се влошава забележимо с размера. XML файл от ~50 MB (представляващ 100 000+ транзакции) отне 77 секунди за отваряне. Преминаването към SQLite backend само незначително подобри това до ~55 секунди.

Заключение: Beancount осигурява изключителна производителност, която се мащабира предвидимо, ключова характеристика за дългосрочно управление на данни. Той избягва проблемите с производителността, наблюдавани в Ledger, и латентността, свързана с потребителския интерфейс на GnuCash.


Архитектура на данните: Обикновен текст срещу непрозрачни бази данни 📄

Начинът, по който системата съхранява вашите данни, определя нейната прозрачност, преносимост и издръжливост. Beancount използва чист, четим от човек текстов формат, който е превъзходен за технически потребители.

  • Компактен и ефективен: Файл на Beancount със 100 000 транзакции е само ~8,8 MB. Това е по-компактно от еквивалентния Ledger файл (~10 MB), отчасти защото синтаксисът на Beancount позволява извеждане на крайния балансиращ размер в транзакция, намалявайки излишъка.
  • Структурно наложен: Beancount изисква изрични директиви YYYY-MM-DD\ open\ Account. Този дисциплиниран подход предотвратява печатни грешки в имената на сметките да създават мълчаливо нови, неправилни сметки - често срещан капан в системи като Ledger и hledger, които създават сметки в движение. Тази структура прави данните по-надеждни за програмна манипулация.
  • Готов за контрол на версиите: Счетоводна книга в обикновен текст е идеално подходяща за контрол на версиите с Git. Получавате пълна, проверяема история на всяка финансова промяна, която правите.
  • Контраст с GnuCash: GnuCash използва по подразбиране gzip-компресиран XML файл, където данните са подробни и обвити в тагове с GUID за всяка единица. Въпреки че предлага SQLite, MySQL и PostgreSQL backends, това абстрахира данните от проста, директна текстова манипулация и версииране. Редактирането на суровия XML е възможно, но е много по-тромаво от редактирането на Beancount файл.

Заключение: Форматът на данните на Beancount не е просто текст; това е добре дефиниран език, който максимизира яснотата, налага коректност и се интегрира безпроблемно с инструменти за разработчици като git и grep.


Убийствената функция: Истинско Python API и плъгин архитектура 🐍

Това е определящото техническо предимство на Beancount. Той не е монолитно приложение, а библиотека със стабилно, първокласно Python API. Това дизайнерско решение отключва неограничени възможности за автоматизация и интеграция.

  • Директен програмен достъп: Можете да четете, заявявате и манипулирате данните от счетоводната си книга директно в Python. Ето защо разработчиците мигрират. Както отбеляза един потребител, фрустрацията от опитите за скриптиране срещу лошо документираните вътрешни връзки на Ledger изчезва с Beancount.
  • Плъгин тръбопровод: Зареждащото устройство на Beancount ви позволява да вмъквате персонализирани Python функции директно в тръбопровода за обработка. Това позволява произволни трансформации и валидации на потока от данни, докато се зарежда - например, писане на плъгин, за да се гарантира, че всеки разход от конкретен доставчик трябва да има определен етикет.
  • Мощна рамка за импортиране: Преминете отвъд тромавите CSV съветници за импортиране. С Beancount, вие пишете Python скриптове за парсиране на финансови отчети от всеки източник (OFX, QFX, CSV). Инструменти на общността като smart_importer дори използват модели за машинно обучение, за да предсказват и присвояват автоматично сметки за осчетоводяване, превръщайки часове ръчно категоризиране в процес от няколко секунди с една команда.
  • Как се сравняват другите:
    • Ledger/hledger: Разширяемостта е предимно външна. Вие предавате данни към/от изпълнимия файл. Въпреки че могат да извеждат JSON/CSV, не можете да инжектирате логика в основния им цикъл на обработка, без да модифицирате C++/Haskell изходния код.
    • GnuCash: Разширяемостта се обработва чрез стръмна крива на обучение с Guile (Scheme) за персонализирани отчети или чрез Python връзки (използвайки SWIG и библиотеки като PieCash), които взаимодействат с GnuCash двигателя. Той е мощен, но по-малко директен и "Pythonic" от родния библиотечен подход на Beancount.

Заключение: Beancount е проектиран за програмиста. Неговият дизайн, ориентиран към библиотеката, и дълбоката интеграция с Python го правят най-гъвкавата и автоматизируема система от четирите.


Философия: Строг компилатор за вашите финанси 🤓

Кривата на обучение на Beancount е пряк резултат от основната му философия: вашите финансови данни са формален език и трябва да са правилни.

Парсерът на Beancount функционира като строг компилатор. Той извършва стабилна синтактична и логическа проверка. Ако транзакцията не е балансирана или сметката не е отворена, той ще откаже да обработи файла и ще върне описателна грешка с номер на ред. Това е функция, а не грешка. Гарантира, че ако вашият файл се "компилира", основните данни са структурно здрави.

Този детерминистичен подход осигурява ниво на целостта на данните, което е безценно за изграждането на надеждни автоматизирани системи върху него. Можете да пишете скриптове, които консумират изхода на Beancount с увереност, знаейки, че данните вече са строго валидирани.

За кого е Beancount?

Въз основа на този технически анализ, Beancount е оптималният избор за:

  • Разработчици и инженери, които искат да третират финансите си като контролиран от версии, програмируем набор от данни.
  • Любители на данните, които искат да пишат персонализирани заявки, да изграждат уникални визуализации с инструменти като Fava или да подават финансовите си данни в други аналитични модели.
  • Всеки, който цени доказуема коректност и автоматизация пред удобството на графичен потребителски интерфейс или снизходителността на по-малко структуриран формат.

Ако желаете сурова C++ производителност за стандартни отчети, Ledger е претендент. За изключителна мащабируемост във функционална парадигма на програмиране, hledger е впечатляващ. За GUI, пълен с функции, с минимална настройка, GnuCash е отличен.

Но ако искате да изградите наистина стабилна, автоматизирана и дълбоко персонализирана система за управление на финанси, Beancount предоставя превъзходната техническа основа.

Пълно ръководство за счетоводство на криптовалути с Beancount.io

· 13 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Давите ли се в крипто транзакции в множество борси, борите ли се със сложността на DeFi или изпадате в паника заради данъчния сезон? Не сте сами. Пейзажът на криптовалутите експлодира от прости покупки на Биткойн до сложна екосистема от DeFi протоколи, награди от стейкинг, добив на доходност (yield farming) и междуверижни дейности, които предизвикват традиционните счетоводни методи.

Ето суровата реалност: всяка крипто транзакция е потенциално облагаема, и IRS наблюдава. Независимо дали сте обикновен притежател на Биткойн или напреднал потребител на DeFi, управляващ позиции в десетки протоколи, поддържането на точни финансови записи не е по избор – то е от съществено значение за съответствието и финансовата яснота.

Проблемът? Традиционният счетоводен софтуер има ограничена вградена поддръжка за сложността на криптовалутите. Докато инструменти като QuickBooks могат да обработват крипто с допълнителни плъгини, и Excel може да импортира блокчейн данни със скриптове, повечето решения изискват значителна персонализация за цялостно крипто счетоводство.

Решението? Системата за счетоводство в обикновен текст на Beancount.io, изградена върху мощния език за счетоводство с отворен код Beancount. Важна забележка: Beancount е език за двустранно счетоводство с отворен код, създаден от Мартин Блейс, докато Beancount.io е търговска хостинг услуга, която предоставя удобен за потребителя интерфейс и облачна инфраструктура за Beancount. Това ръководство обхваща както основните принципи на Beancount, така и как да ги използвате ефективно чрез платформата Beancount.io.

Пълно ръководство за счетоводство на криптовалути

Кошмарът на криптовалутното счетоводство (И защо се влошава)

Вашето крипто портфолио е разпръснато навсякъде

Нека бъдем честни относно вашата настройка. Вероятно имате:

  • 3-5 различни борси (Coinbase за лесни покупки, Binance за алткойни, Kraken за онзи един токен...)
  • Множество портфейли (MetaMask за DeFi, Ledger за дългосрочни притежания, онзи стар портфейл, за който сте забравили...)
  • DeFi позиции в над 10 протокола (Uniswap, Compound, Aave и всяка нова "ферма за доходност", която е привлякла вниманието ви)
  • Награди от стейкинг, постъпващи от различни валидатори
  • Случайни еърдропи, появяващи се във вашия портфейл като крипто коледни подаръци

Всяка платформа говори на различен език. Coinbase ви дава CSV файл, който изглежда съвсем различно от експорта на Binance. Uniswap дори няма експорти. И да не започваме с проследяването на вашите DeFi позиции в Layer 2 мрежи.

Видове транзакции, които предизвикват традиционното счетоводство

Вашите крипто дейности включват видове транзакции, които традиционните счетоводни системи не са били първоначално проектирани да обработват:

  • Непостоянна загуба от осигуряване на ликвидност (опитайте се да обясните това на QuickBooks)
  • Флаш заеми, които заемат и изплащат милиони в една-единствена транзакция
  • Добивно фермерство, при което печелите 5 различни токена за осигуряване на ликвидност
  • Междуверижни мостове, които карат активите да изчезват в една мрежа и да се появяват в друга
  • Стейкинг деривати като stETH, които натрупват стойност по различен начин от базовия актив
  • DAO токени за управление, които сте получили за използване на протоколи

Минното поле на данъчното съответствие

Ето какво държи крипто инвеститорите будни през нощта:

  • Всяка отделна сделка е облагаема (да, дори този суап от ETH към USDC)
  • Проследяването на цената на придобиване става невъзможно при стотици микротранзакции
  • Наградите от стейкинг са доход в момента, в който ги получите (по справедлива пазарна стойност)
  • DeFi наградите са доход, дори ако все още не можете да ги продадете
  • IRS изисква Формуляр 8949 с всяка изброена транзакция
  • Наказанията са тежки за грешки

Традиционният счетоводен софтуер изисква значително персонализиране за тази сложност. Макар и да съществуват решения, те често изискват допълнителни плъгини, скриптове или ръчни процеси, за да се справят с пълния обхват на криптовалутните дейности.

Представяме Beancount.io: Счетоводното решение за криптовалути, което чакахте

Ами ако ви кажа, че съществува счетоводна система, създадена точно за този хаос? Beancount.io не е просто поредният счетоводен инструмент — това е революция в счетоводството с обикновен текст, която се справя със сложността на криптовалутите, сякаш е създадена за това.

Защо Beancount.io доминира в крипто счетоводството

🔍 Пълна прозрачност: Всяко изчисление е видимо. Без черни кутии, без алгоритми от типа „довери ни се“. Виждате точно как се изчислява вашата базова стойност, как се изчисляват печалбите и къде е отишло всяко сатоши.

📊 Неограничена гъвкавост: Създайте всяка счетоводна структура, от която се нуждаете. Проследявайте DeFi позиции, деривати от стейкинг, междуверижни активи или онзи странен токен, който сте получили от гласуване в DAO. Ако можете да си го представите, можете да го проследите.

🎯 Прецизна базова стойност: Проследяване по партиди със специфична идентификация. Изберете точно кой Биткойн продавате за оптимални данъчни резултати. FIFO, LIFO или подберете партидите си – ваш избор.

🔗 Устойчивост на бъдещето: Форматът на обикновен текст означава, че данните ви са ваши завинаги. Без обвързване с доставчик, без собственически формати, без имейли от типа „съжаляваме, затваряме“.

⚡ Програмируема мощ: Автоматизирайте импортирането, генерирайте персонализирани отчети и интегрирайте с всеки инструмент. Тъй като вашето крипто портфолио е уникално, вашето счетоводство също трябва да бъде такова.

Настройване на Вашия крипто команден център

Изграждане на вашата счетоводна архитектура

Представете си това като проектиране на план за вашата крипто империя. Създаваме структура, която може да обработва всичко – от първата ви покупка на Биткойн до сложни многопротоколни DeFi стратегии:

Забележка: Примерите използват 1970-01-01 като дата за отваряне на сметка. За реална употреба, заменете с вашите действителни дати на откриване на сметки, особено ако използвате автоматизирани инструменти за импортиране, които филтрират транзакциите по дата.

; Сметки за борси
1970-01-01 open Assets:Crypto:Coinbase:USD
1970-01-01 open Assets:Crypto:Coinbase:BTC
1970-01-01 open Assets:Crypto:Coinbase:ETH
1970-01-01 open Assets:Crypto:Binance:USD
1970-01-01 open Assets:Crypto:Binance:BTC
1970-01-01 open Assets:Crypto:Binance:ETH
1970-01-01 open Assets:Crypto:Binance:ADA

; Сметки за портфейли
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC
1970-01-01 open Assets:Crypto:Wallet:MetaMask:UNI
1970-01-01 open Assets:Crypto:Wallet:Ledger:BTC
1970-01-01 open Assets:Crypto:Wallet:Ledger:ETH

; Сметки за DeFi протоколи
1970-01-01 open Assets:DeFi:Compound:cUSDC
1970-01-01 open Assets:DeFi:Uniswap:ETH-USDC-LP
1970-01-01 open Assets:Staking:Ethereum:ETH
1970-01-01 open Assets:Crypto:Mining:BTC

; Сметки за приходи
1970-01-01 open Income:Crypto:Staking:ETH
1970-01-01 open Income:Crypto:Mining:BTC
1970-01-01 open Income:Crypto:Airdrops
1970-01-01 open Income:Crypto:DeFi:Yield
1970-01-01 open Income:CapitalGains:Crypto
1970-01-01 open Income:Crypto:Trading:Margin

; Сметки за разходи
1970-01-01 open Expenses:Crypto:Fees:Trading
1970-01-01 open Expenses:Crypto:Fees:Network
1970-01-01 open Expenses:Crypto:Fees:Withdrawal

; Допълнителни сметки за напреднали сценарии
1970-01-01 open Assets:Crypto:Binance:BTC-Margin
1970-01-01 open Liabilities:Crypto:Binance:Borrowed
1970-01-01 open Liabilities:Crypto:Binance:BTC
1970-01-01 open Assets:Checking
1970-01-01 open Expenses:Crypto:Mining:Electricity

Дефиниции на стоки

Дефинирайте вашите криптовалути като стоки с подходящи метаданни:

1970-01-01 commodity BTC
name: "Bitcoin"
asset-class: "cryptocurrency"
price-source: "coinbase"

1970-01-01 commodity ETH
name: "Ethereum"
asset-class: "cryptocurrency"
price-source: "coinbase"

1970-01-01 commodity ADA
name: "Cardano"
asset-class: "cryptocurrency"
price-source: "binance"

1970-01-01 commodity USDC
name: "USD Coin"
asset-class: "stablecoin"
price-source: "coinbase"

1970-01-01 commodity UNI
name: "Uniswap"
asset-class: "cryptocurrency"
price-source: "coinbase"

1970-01-01 commodity UNI-V2-ETH-USDC
name: "Uniswap V2 ETH-USDC LP Token"
asset-class: "liquidity-pool"

Овладяване на крипто трансакциите: От прости до сложни

Готови ли сте да видите Beancount.io в действие? Нека разгледаме реални сценарии, които биха затруднили други счетоводни системи, но тук се обработват елегантно.

1. Вашата първа покупка на Биткойн (Първата стъпка към пристрастяване)

Всяко крипто пътешествие започва отнякъде. Ето как да запишете този променящ живота момент, когато купихте първия си Биткойн:

2024-01-15 * "Покупка на 0.5 BTC в Coinbase"
Assets:Crypto:Coinbase:BTC 0.5 BTC {30000.00 USD}
Assets:Crypto:Coinbase:USD -15025.00 USD
Expenses:Crypto:Fees:Trading 25.00 USD

2. Реализиране на печалби (или ограничаване на загуби) като професионалист

Моментът на истината: продажбата на вашата криптовалута. Това е мястото, където повечето счетоводни системи се провалят, но Beancount.io се отличава с прецизно проследяване на себестойността:

2024-03-20 * "Sell 0.3 BTC on Coinbase"
Assets:Crypto:Coinbase:BTC -0.3 BTC {30000.00 USD}
Assets:Crypto:Coinbase:USD 10470.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Income:CapitalGains:Crypto 1440.00 USD ; 10470 - (0.3 × 30000) - 30 = 1440

3. Награди от стейкинг: Печелене, докато спите

Пасивен доход в най-добрата си форма. Но помнете, IRS изисква наградите от стейкинг да се отчитат като облагаем доход при получаването им, въз основа на справедливата пазарна стойност към момента на получаване (съгласно указанията на IRS за цифрови активи, 2024 г.). Въпреки че има текущо съдебно дело (Джарет срещу Съединените щати), текущата официална позиция изисква незабавно отчитане. Ето как да ги проследявате правилно:

2024-02-01 * "ETH Staking Rewards"
Assets:Staking:Ethereum:ETH 0.05 ETH {2500.00 USD}
Income:Crypto:Staking:ETH 125.00 USD

4. DeFi Добивно Земеделие: Където нещата стават пикантни 🌶️

Добре дошли в напредналото DeFi счетоводство. Добивното земеделие в DeFi включва сложни транзакции с множество токени, които изискват прецизно проследяване. Ето как правилно да осчетоводите позиция за ликвидност в Uniswap:

; Initial liquidity provision
2024-01-10 * "Add liquidity to ETH-USDC pool"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -25000 USDC {1.00 USD}
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V2-ETH-USDC {500.00 USD}

; Claiming rewards
2024-02-10 * "Claim Uniswap LP rewards"
Assets:Crypto:Wallet:MetaMask:UNI 50 UNI {8.00 USD}
Income:Crypto:DeFi:Yield 400.00 USD

5. Трансфери между борси

Прехвърляне на Биткойн от Coinbase към портфейл Ledger:

2024-01-20 * "Transfer BTC from Coinbase to Ledger"
Assets:Crypto:Coinbase:BTC -1.0 BTC {30000.00 USD}
Assets:Crypto:Wallet:Ledger:BTC 0.9995 BTC {30000.00 USD}
Expenses:Crypto:Fees:Withdrawal 0.0005 BTC {30000.00 USD}

Разширени сценарии с криптовалути

Маржин търговия

Записване на ливъридж позиции:

; Откриване на ливъридж дълга позиция (заемане на BTC)
2024-02-15 * "Open 2x leveraged BTC position"
Assets:Crypto:Binance:BTC-Margin 1.0 BTC {35000.00 USD}
Liabilities:Crypto:Binance:BTC -1.0 BTC {35000.00 USD}
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Binance:USD -50.00 USD

; Затваряне на позицията с печалба
2024-02-20 * "Close leveraged BTC position"
Assets:Crypto:Binance:BTC-Margin -1.0 BTC {35000.00 USD}
Assets:Crypto:Binance:USD 37950.00 USD
Liabilities:Crypto:Binance:BTC 1.0 BTC {35000.00 USD}
Income:Crypto:Trading:Margin -2900.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD

Еърдропи и Форкове

Записване на безплатни разпределения на токени:

2024-03-01 * "Received UNI airdrop"
Assets:Crypto:Wallet:MetaMask:UNI 400 UNI {8.00 USD}
Income:Crypto:Airdrops 3200.00 USD

Минни операции

За копачи на криптовалути:

2024-01-01 * "Награда от копаене на Биткойн"
Assets:Crypto:Mining:BTC 0.1 BTC {45000.00 USD}
Income:Crypto:Mining:BTC 4500.00 USD

; Разходи за копаене
2024-01-31 * "Разходи за електричество за копаене"
Expenses:Crypto:Mining:Electricity 800.00 USD
Assets:Checking -800.00 USD

Данъчна отчетност и съответствие

Проследяване на себестойността

Beancount.io автоматично проследява себестойността, използвайки системата на партидите:

; Множество покупки на различни цени
2024-01-01 * "Buy BTC batch 1"
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD

2024-02-01 * "Buy BTC batch 2"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD

; Продажба на конкретни партиди (FIFO, LIFO или специфична идентификация)
2024-03-01 * "Sell BTC using FIFO"
Assets:Crypto:Coinbase:BTC -0.5 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD 22470.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Income:CapitalGains:Crypto 2440.00 USD ; 22470 - 20000 - 30 = 2440

Генериране на данъчни отчети

Използвайте системата за заявки и плъгините на Beancount, за да генерирате данъчни отчети:

  • Формуляр 8949: Капиталови печалби и загуби (чрез bean-query или плъгини на трети страни)
  • Приложение D: Обобщение на капиталовите печалби (изисква допълнително скриптиране)
  • Формуляр 1040: Доход от стейкинг, копаене, аирдропи (чрез персонализирани отчети)
  • Подробни дневници на транзакциите: За целите на одита

Забележка: Генерирането на данъчни отчети изисква допълнителни плъгини, скриптове или интеграция със специализиран данъчен софтуер. Beancount предоставя основата от данни, но специфичните данъчни формуляри обикновено изискват персонализирана разработка или инструменти на трети страни.

Най-добри практики за крипто счетоводство

1. Редовно съгласуване

  • Импортирайте данни за обмен седмично
  • Проверявайте салда по портфейли месечно
  • Сверявайте с блокчейн експлоръри

2. Правилна документация

  • Запазвайте всички потвърждения за транзакции
  • Документирайте целта на всяка транзакция
  • Поддържайте записи на пазарните цени към момента на транзакцията

3. Отделяне на бизнес и лични

; Лични крипто инвестиции
Assets:Personal:Crypto:Coinbase:BTC

; Бизнес крипто операции
Assets:Business:Crypto:Treasury:BTC

4. Проследявайте всички източници на доходи

  • Награди от стейкинг (облагаеми като доход)
  • Награди от копаене (облагаеми като доход)
  • Еърдропи (облагаеми по справедлива пазарна стойност)
  • DeFi доходност (облагаеми като доход)

5. Управление на таксите

Проследявайте всички такси поотделно за правилно данъчно приспадане:

Expenses:Crypto:Fees:Trading     ; Такси за борсова търговия
Expenses:Crypto:Fees:Network ; Мрежови такси на блокчейна
Expenses:Crypto:Fees:Withdrawal ; Такси за теглене

Интеграция с популярни крипто инструменти

Интеграция с API на борси

Beancount.io може да се интегрира с основни борси:

  • Coinbase Pro API: Автоматичен импорт на транзакции
  • Binance API: Актуализации на баланса в реално време
  • Kraken API: Синхронизация на исторически данни

Анализ на блокчейн

Свържете се с блокчейн изследователи:

  • Etherscan: Проверка на Ethereum транзакции
  • Blockchain.info: Проследяване на Bitcoin транзакции
  • BscScan: Мониторинг на Binance Smart Chain

Проследяване на портфейл

Синхронизиране с инструменти за управление на портфейл:

  • CoinTracker: Генериране на данъчни отчети
  • Koinly: Агрегиране от множество борси
  • Blockfolio: Мобилно проследяване на портфейл

Важни Откази от Отговорност

Данъчно и Правно Уведомление: Това ръководство предоставя обща информация относно счетоводството на криптовалути с помощта на Beancount и не представлява професионален данъчен, правен или финансов съвет. Данъчното третиране на криптовалутни транзакции варира в зависимост от юрисдикцията и индивидуалните обстоятелства. Сложни сценарии като междуверижни мостове (cross-chain bridges), непостоянна загуба (impermanent loss) и флаш заеми (flash loans) може да имат неясни данъчни последици съгласно настоящите разпоредби. За конкретни насоки относно това дали транзакциите представляват облагаеми разпореждания, вижте ЧЗВ на IRS Q-15 до Q-18 (2024) или се консултирайте с местните данъчни разпоредби. Винаги се консултирайте с квалифициран данъчен специалист или дипломиран експерт-счетоводител (ДЕC), запознат с данъчното облагане на криптовалути във вашата юрисдикция, преди да вземате решения, свързани с данъци.

Изяснение относно Софтуера: Примерите в това ръководство използват стандартен синтаксис на Beancount. Докато Beancount.io предоставя удобен за потребителя интерфейс за Beancount, основните счетоводни принципи се прилагат за всяка имплементация на Beancount.

Заключение

Счетоводството на криптовалути не е задължително да бъде преобременяващо. С мощната система за счетоводство в обикновен текст на Beancount, достъпна чрез платформата Beancount.io, можете да:

  • Поддържате пълна прозрачност: Всяка транзакция е видима и одитируема
  • Осигурите данъчно съответствие: Правилно проследяване на себестойността и отчитане на доходите
  • Мащабирате с портфолиото си: Обработвате от прости сделки до сложни DeFi стратегии
  • Интегрирате безпроблемно: Свързвате се с борси, портфейли и данъчни инструменти
  • Осигурите дългосрочна устойчивост на записите си: Форматът на обикновен текст осигурява дългосрочна достъпност

Независимо дали сте обикновен притежател на Биткойн или опитен DeFi yield farmer, Beancount предоставя основата и гъвкавостта, необходими за овладяване на счетоводството на криптовалути. Започнете с основни транзакции и постепенно включвайте по-сложни сценарии, докато вашето крипто пътешествие се развива.

Примерите в това ръководство предоставят солидна основа, но помнете, че счетоводството на криптовалути е развиваща се област. Бъдете информирани за регулаторните промени, консултирайте се с данъчни специалисти и адаптирайте счетоводните си практики според нуждите.

Готови ли сте да поемете контрол над финансите си с криптовалути? Регистрирайте се в Beancount.io и изпитайте силата на прозрачното, скриптуемо крипто счетоводство, изградено върху здравата основа на Beancount.

Ръководство за данъчно съответствие на криптовалутите: Овладяване на изискванията на IRS с Beancount.io

· 9 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Данъчното облагане на криптовалутите се е развило от нишова грижа до критично изискване за съответствие за милиони инвеститори. Тъй като IRS засилва прилагането на правилата и изисква подробно отчитане, точното водене на записи не е просто добра практика – то е от съществено значение за избягване на санкции и оптимизиране на данъчните ви задължения.

Това изчерпателно ръководство ви показва как да постигнете пълно данъчно съответствие на криптовалутите, използвайки мощната система за счетоводство в обикновен текст на Beancount.io, като гарантира, че отговаряте на всички изисквания на IRS, докато максимизирате данъчната ефективност.

Ръководство за данъчно съответствие на криптовалутите

Разбиране на данъчните изисквания за криптовалути

Третиране на криптовалутите от IRS

IRS третира криптовалутите като собственост, а не като валута, което създава специфични данъчни последици:

  • Всяка транзакция е потенциално облагаема: Търговия, продажба, харчене или обмяна на крипто
  • Данъчна основа трябва да се проследява: За всяка притежавана единица криптовалута
  • Периодът на притежание определя данъчната ставка: Краткосрочни срещу дългосрочни капиталови печалби
  • Изисква се признаване на доход: За копаене, стейкинг, ейрдропове и DeFi награди
  • Подробни записи са задължителни: Документация на ниво транзакция за одити

Основни данъчни формуляри за криптовалути

Формуляр 1040 - Данъчна декларация за доходите на физически лица

  • Ред 1: Декларирайте крипто доходи (стейкинг, майнинг, еърдропи)
  • Приложение 1: Допълнителни източници на доходи
  • Въпрос относно дигитални активи: Задължително отговорете с „Да“, ако сте извършвали крипто транзакции

Форма 8949 - Продажби и други разпореждания с капиталови активи

  • Част I: Краткосрочни капиталови печалби/загуби (притежавани ≤ 1 година)
  • Част II: Дългосрочни капиталови печалби/загуби (притежавани > 1 година)
  • Подробно отчитане на транзакциите: Дата на придобиване, дата на продажба, постъпления, данъчна основа

Приложение D - Капиталови печалби и загуби

  • Обобщение на формуляр 8949: Агрегирани капиталови печалби/загуби
  • Нетна капиталова печалба/загуба: Окончателно изчисление за данъчно задължение

Настройване на данъчно съобразено крипто счетоводство

Структура на сметките за данъчно отчитане

Проектирайте йерархията на вашите сметки така, че да съответства на данъчните изисквания:

; Активи - Организирани по период на държане и източник
1970-01-01 open Assets:Crypto:ShortTerm:Coinbase:BTC
1970-01-01 open Assets:Crypto:LongTerm:Coinbase:BTC
1970-01-01 open Assets:Crypto:Trading:Binance:ETH
1970-01-01 open Assets:Crypto:Investment:Ledger:BTC

; Приходи - Разделени по данъчно третиране
1970-01-01 open Income:Crypto:Staking:Ordinary ; Облагаеми като обикновен доход
1970-01-01 open Income:Crypto:Mining:Ordinary ; Облагаеми като обикновен доход
1970-01-01 open Income:Crypto:Airdrops:Ordinary ; Облагаеми като обикновен доход
1970-01-01 open Income:CapitalGains:ShortTerm ; Краткосрочни капиталови печалби
1970-01-01 open Income:CapitalGains:LongTerm ; Дългосрочни капиталови печалби

; Разходи - Данъчно приспадаеми категории
1970-01-01 open Expenses:Crypto:Fees:Deductible ; Такси за търговия
1970-01-01 open Expenses:Crypto:Mining:Equipment ; Оборудване за копаене
1970-01-01 open Expenses:Crypto:Mining:Electricity ; Електричество за копаене
1970-01-01 open Expenses:CapitalLoss:ShortTerm ; Краткосрочни капиталови загуби
1970-01-01 open Expenses:CapitalLoss:LongTerm ; Дългосрочни капиталови загуби

Метаданни за данъчно съответствие

Използвайте метаданни за проследяване на информация, свързана с данъци:

2024-01-15 * "Buy BTC for long-term investment" ^investment-btc #long-term
purchase-date: "2024-01-15"
intended-holding: "long-term"
tax-lot-id: "BTC-001"
Assets:Crypto:LongTerm:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD
Expenses:Crypto:Fees:Deductible 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD

Отчитане на облагаеми събития с криптовалута

1. Продажби на криптовалути

Краткосрочни капиталови печалби (≤ 1 година)

2024-06-15 * "Sell BTC - Short-term capital gain" ^btc-sale-001
date-acquired: "2024-01-15"
holding-period: "151 days"
form-8949-code: "A"
Assets:Crypto:ShortTerm:Coinbase:BTC -0.5 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD 24000.00 USD
Expenses:Crypto:Fees:Deductible 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:CapitalGains:ShortTerm 1470.00 USD ; 24000 - 22500 - 30

Дългосрочни капиталови печалби (> 1 година)

2025-02-01 * "Sell BTC - Long-term capital gain" ^btc-sale-002
date-acquired: "2024-01-15"
holding-period: "382 days"
form-8949-code: "D"
Assets:Crypto:LongTerm:Coinbase:BTC -0.5 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD 28000.00 USD
Expenses:Crypto:Fees:Deductible 35.00 USD
Assets:Crypto:Coinbase:USD -35.00 USD
Income:CapitalGains:LongTerm 5465.00 USD ; 28000 - 22500 - 35

2. Крипто-към-крипто сделки

Всяка крипто-към-крипто сделка е облагаема:

2024-03-20 * "Търговия с BTC за ETH - Облагаем обмен"
; Продажба на BTC (облагаемо събитие)
Assets:Crypto:Trading:Binance:BTC -1.0 BTC {46000.00 USD}
Income:CapitalGains:ShortTerm 2000.00 USD ; 48000 - 46000

; Придобиване на ETH (нова себестойност)
Assets:Crypto:Trading:Binance:ETH 20 ETH {2400.00 USD}

; Такси за търговия
Expenses:Crypto:Fees:Deductible 40.00 USD
Assets:Crypto:Trading:Binance:USD -40.00 USD

3. Награди от стейкинг (Обикновен доход)

2024-01-31 * "ETH Staking Rewards - January"
reward-type: "staking"
fair-market-value: "2500.00 USD per ETH"
taxable-income: "200.00 USD"
Assets:Staking:Ethereum:ETH 0.08 ETH {2500.00 USD}
Income:Crypto:Staking:Ordinary 200.00 USD

4. Доход от копаене

2024-01-15 * "Награда от копаене на Биткойн"
mining-pool: "Slush Pool"
block-height: "825000"
fair-market-value: "45000.00 USD per BTC"
Assets:Crypto:Mining:BTC 0.01 BTC {45000.00 USD}
Income:Crypto:Mining:Ordinary 450.00 USD

; Разходи за копаене (приспадаеми)
Expenses:Crypto:Mining:Electricity 120.00 USD
Assets:Checking -120.00 USD

5. Еърдропи и Хард форкове

2024-03-01 * "UNI Token Airdrop"
airdrop-source: "Uniswap Protocol"
fair-market-value: "8.00 USD per UNI"
taxable-amount: "3200.00 USD"
Assets:Crypto:Wallet:MetaMask:UNI 400 UNI {8.00 USD}
Income:Crypto:Airdrops:Ordinary 3200.00 USD

6. DeFi Дейности

Възнаграждения от доходно земеделие

2024-02-28 * "Доходност от протокола Compound"
protocol: "Compound"
reward-token: "COMP"
fair-market-value: "85.00 USD за COMP"
Assets:Crypto:Wallet:MetaMask:COMP 12 COMP {85.00 USD}
Income:Crypto:DeFi:Ordinary 1020.00 USD

Такси за Ликвиден Пул

2024-02-15 * "Изискани такси от Uniswap ЛП"
protocol: "Uniswap V3"
pool: "ETH-USDC"
Assets:Crypto:Wallet:MetaMask:ETH 0.2 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC 300 USDC
Income:Crypto:DeFi:Ordinary 820.00 USD

Стратегии за данъчна оптимизация

1. Прибиране на данъчни загуби

Систематично реализирайте загуби, за да компенсирате печалби:

; Идентифицирайте губещи позиции
2024-12-15 * "Tax Loss Harvesting - Sell ADA at loss"
purchase-date: "2024-06-01"
purchase-price: "0.60 USD per ADA"
sale-price: "0.45 USD per ADA"
Assets:Crypto:Trading:Binance:ADA -1000 ADA {0.60 USD}
Assets:Crypto:Trading:Binance:USD 445.00 USD
Expenses:Crypto:Fees:Deductible 5.00 USD
Assets:Crypto:Trading:Binance:USD -5.00 USD
Expenses:CapitalLoss:ShortTerm 150.00 USD ; Реализирана загуба

2. Съображения относно фиктивни продажби

Въпреки че правилата за фиктивни продажби не се прилагат официално за криптовалути, избягвайте потенциални проблеми:

; Изчакайте 31 дни преди повторно закупуване
2025-01-16 * "Repurchase ADA after wash sale period"
wash-sale-safe: "31+ days elapsed"
Assets:Crypto:Trading:Binance:ADA 1000 ADA {0.45 USD}
Assets:Crypto:Trading:Binance:USD -450.00 USD
Expenses:Crypto:Fees:Deductible 5.00 USD
Assets:Crypto:Trading:Binance:USD -5.00 USD

3. Метод на специфичното идентифициране

Изберете кои партиди да продадете за оптимални данъчни резултати:

; Партида с висока себестойност за прибиране на загуби
2024-11-30 * "Sell high-cost ETH lot for tax loss"
lot-selection: "specific-identification"
cost-basis: "3500.00 USD per ETH"
sale-price: "2400.00 USD per ETH"
Assets:Crypto:Trading:Coinbase:ETH -5 ETH {3500.00 USD}
Assets:Crypto:Trading:Coinbase:USD 11950.00 USD
Expenses:Crypto:Fees:Deductible 50.00 USD
Assets:Crypto:Trading:Coinbase:USD -50.00 USD
Expenses:CapitalLoss:ShortTerm 5500.00 USD ; Significant loss

4. Дългосрочно спрямо Краткосрочно Планиране

Стратегически планирайте продажбите за благоприятно данъчно третиране:

; Задръжте за дългосрочно третиране
2024-12-20 * "BTC наближава дългосрочен статус"
purchase-date: "2024-01-01"
days-held: "354"
long-term-date: "2025-01-02"
note: "Задръжте още 11 дни за дългосрочно третиране"

Автоматизирано данъчно отчитане

Генериране на Форма 8949

Използвайте заявки на Beancount.io за генериране на данни за Форма 8949:

-- Краткосрочни капиталови печалби/загуби
SELECT
date,
narration,
-position as продадено_количество,
cost(position) as базисна_стойност,
value(position) as постъпления,
value(position) + cost(position) as печалба_загуба
WHERE account ~ "Доход:КапиталовиПечалби:Краткосрочни"
OR account ~ "Разходи:КапиталовиЗагуби:Краткосрочни"
ORDER BY date;

Обобщение на Приложение D

-- Обобщение на капиталовите печалби
SELECT
'Краткосрочни' as type,
sum(position) as total_gain_loss
WHERE account ~ "Income:CapitalGains:ShortTerm"
OR account ~ "Expenses:CapitalLoss:ShortTerm"

UNION ALL

SELECT
'Дългосрочни' as type,
sum(position) as total_gain_loss
WHERE account ~ "Income:CapitalGains:LongTerm"
OR account ~ "Expenses:CapitalLoss:LongTerm";

Отчитане на обикновен доход

-- Крипто обикновен доход
SELECT
account,
sum(position) as total_income
WHERE account ~ "Income:Crypto.*:Ordinary"
GROUP BY account
ORDER BY total_income DESC;

Водене на записи и документация

Основна Документация

Поддържайте изчерпателни записи за всяка транзакция:

2024-01-15 * "Покупка на BTC - Пълна Документация" ^btc-001
exchange: "Coinbase Pro"
transaction-id: "abc123def456"
confirmation-hash: "0x789..."
ip-address: "192.168.1.100"
timestamp: "2024-01-15T14:30:00Z"
market-price-source: "CoinGecko"
Assets:Crypto:LongTerm:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD

Поддържане на одитна следа

Създаване на подробни одитни следи:

; Свързване на свързани трансакции
2024-01-15 * "BTC Purchase" ^btc-purchase-001
2024-01-20 * "BTC Transfer to Wallet" ^btc-purchase-001
2024-06-15 * "BTC Sale" ^btc-purchase-001

Проверка на цени

Документиране на източници на цени за справедлива пазарна стойност:

2024-01-15 price BTC 45000.00 USD
source: "CoinGecko"
timestamp: "2024-01-15T14:30:00Z"
verification: "Средна стойност от множество борси"

Често срещани грешки при данъчното съответствие

1. Пропуснати транзакции

  • Проблем: Неотчитане на всички облагаеми събития
  • Решение: Изчерпателно проследяване на транзакциите в Beancount.io

2. Неправилна Базова Стойност

  • Проблем: Използване на грешен метод за изчисляване на базовата стойност
  • Решение: Проследяване по партиди със специфична идентификация

3. Неотчитане на доходи

  • Проблем: Неотчитане на доходи от стейкинг, копаене или аирдропи
  • Решение: Отделни сметки за доходи за всички източници

4. Недостатъчна документация

  • Проблем: Недостатъчни записи за защита при одит
  • Решение: Подробни метаданни и свързване на транзакции

5. Времеви проблеми

  • Проблем: Неправилни изчисления на периода на държане
  • Решение: Автоматизирано проследяване на дати и известия

Интеграция с данъчен софтуер

Експорт към популярни данъчни инструменти

Генерирайте отчети, съвместими с основните данъчни софтуери:


# Експортиране във формат TurboTax
def export_turbotax_format():
return {
'form_8949_short_term': query_short_term_gains(),
'form_8949_long_term': query_long_term_gains(),
'schedule_1_income': query_ordinary_income(),
'deductible_expenses': query_deductible_expenses()
}

Професионална данъчна подготовка

Предоставяйте на СПС изчерпателни отчети:

-- Пълен данъчен пакет за СПС
SELECT
'Capital Gains Summary' as report_type,
account,
sum(position) as amount
WHERE account ~ "Income:CapitalGains"
OR account ~ "Expenses:CapitalLoss"
GROUP BY account

UNION ALL

SELECT
'Ordinary Income Summary' as report_type,
account,
sum(position) as amount
WHERE account ~ "Income:Crypto.*:Ordinary"
GROUP BY account;

Годишно данъчно планиране

Декемврийски данъчни стратегии

Приложете годишна данъчна оптимизация:

; Декемврийски контролен списък за данъчно планиране
2024-12-01 * "Преглед на годишното данъчно планиране"
unrealized-gains: "Изчислете нереализираните позиции"
loss-harvesting: "Идентифицирайте възможности за прибиране на загуби"
income-timing: "Разгледайте отлагане на доходи за следващата година"
expense-timing: "Ускорете приспадаемите разходи"

Тримесечни авансови данъци

Проследявайте тримесечните данъчни задължения:

2024-01-15 * "Q1 Estimated Tax Payment"
Expenses:Taxes:Estimated:Federal 5000.00 USD
Expenses:Taxes:Estimated:State 1200.00 USD
Assets:Checking -6200.00 USD

Заключение

Спазването на данъчните изисквания за криптовалути не е задължително да бъде непосилно. С цялостната счетоводна система с обикновен текст на Beancount.io можете да:

  • Осигурите пълно съответствие: Изпълнете всички изисквания за отчитане на IRS
  • Оптимизирате данъчната си задълженост: Приложете сложни данъчни стратегии
  • Поддържате готови за одит записи: Цялостна документация и одитни следи
  • Автоматизирате отчитането: Генерирайте данъчни формуляри и отчети автоматично
  • Мащабирате според сложността: Обработвайте от прости сделки до сложни DeFi стратегии

Ключови предимства за спазването на данъчните изисквания за криптовалути:

  • Прозрачни изчисления: Вижте точно как се изчисляват данъчните суми
  • Гъвкаво отчитане: Генерирайте всеки необходим формат на отчет
  • Професионална интеграция: Работете безпроблемно с CPA и данъчен софтуер
  • Записи, устойчиви на бъдещето: Форматът на обикновен текст осигурява дългосрочна достъпност

Започнете да прилагате правилното данъчно съответствие за криптовалути още днес. Инвестицията в точно водене на записи ще ви спести време, пари и стрес по време на данъчния сезон, като същевременно гарантира, че сте напълно съвместими с изискванията на IRS.

Готови ли сте да овладеете данъчното съответствие за криптовалути? Започнете с Beancount.io и поемете контрол над данъчните си задължения за криптовалути.

Опростено DeFi счетоводство: Проследяване на добивно земеделие, пулове за ликвидност и награди от стейкинг чрез текстово счетоводство

· 8 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Децентрализираните финанси (DeFi) революционизираха начина, по който взаимодействаме с финансовите услуги, предлагайки безпрецедентни възможности за генериране на доходност, осигуряване на ликвидност и децентрализирана търговия. Въпреки това, с тези възможности идва и предизвикателството за точно проследяване на сложни транзакции за данъчно съответствие и управление на портфолио.

Традиционните счетоводни методи се затрудняват с уникалните характеристики на DeFi: автоматизирани маркет мейкъри (Automated Market Makers), добив на ликвидност (Liquidity Mining), непостоянна загуба (Impermanent Loss) и награди от множество токени. Това изчерпателно ръководство ви показва как да овладеете счетоводството за DeFi, използвайки мощната система за текстово счетоводство на Beancount.io.

Опростено счетоводство за DeFi

Разбиране на счетоводните предизвикателства в DeFi

Сложността на DeFi транзакциите

DeFi протоколите създават счетоводни предизвикателства, които не съществуват в традиционните финанси:

  • Мулти-токен транзакции: Единични операции, включващи множество криптовалути
  • Автоматично капитализиране: Награди, автоматично реинвестирани
  • Непостоянна загуба: Промени в стойността поради разминаване в цените в пуловете за ликвидност
  • Оптимизация на таксите за газ: Сложни структури на таксите в различни мрежи
  • Управление на протокола: Права на глас и разпределения на токени за управление
  • Междупротоколни взаимодействия: Транзакции, обхващащи множество DeFi платформи

Данъчни последици от DeFi дейности

IRS третира DeFi дейностите като облагаеми събития:

  • Осигуряване на ликвидност: Може да предизвика облагаеми събития при депозиране на активи
  • Награди от yield farming: Облагаеми като обикновен доход по справедлива пазарна стойност
  • Непостоянна загуба: Потенциални данъчни последици при изтегляне от пулове
  • Управляващи токени: Еърдропи и награди, облагаеми като доход
  • Награди от стейкинг: Облагаеми като доход при получаване

Настройване на DeFi сметки в Beancount.io

Изчерпателна структура на сметки

Създайте подробна йерархия на сметки, която обхваща всички DeFi дейности:

; Wallet Accounts
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC
1970-01-01 open Assets:Crypto:Wallet:MetaMask:DAI
1970-01-01 open Assets:Crypto:Wallet:MetaMask:WBTC

; Uniswap V3 Liquidity Pools
1970-01-01 open Assets:DeFi:Uniswap:ETH-USDC-LP
1970-01-01 open Assets:DeFi:Uniswap:DAI-USDC-LP
1970-01-01 open Assets:DeFi:Uniswap:WBTC-ETH-LP

; Compound Protocol
1970-01-01 open Assets:DeFi:Compound:cUSDC
1970-01-01 open Assets:DeFi:Compound:cETH
1970-01-01 open Assets:DeFi:Compound:cDAI

; Aave Protocol
1970-01-01 open Assets:DeFi:Aave:aUSDC
1970-01-01 open Assets:DeFi:Aave:aETH
1970-01-01 open Assets:DeFi:Aave:DebtETH

; Staking Protocols
1970-01-01 open Assets:Staking:Ethereum:ETH
1970-01-01 open Assets:Staking:Lido:stETH
1970-01-01 open Assets:Staking:RocketPool:rETH

; Income Accounts
1970-01-01 open Income:DeFi:Yield:Uniswap
1970-01-01 open Income:DeFi:Yield:Compound
1970-01-01 open Income:DeFi:Yield:Aave
1970-01-01 open Income:DeFi:Staking:Ethereum
1970-01-01 open Income:DeFi:Governance:Tokens
1970-01-01 open Income:DeFi:Airdrops

; Expense Accounts
1970-01-01 open Expenses:DeFi:Gas:Ethereum
1970-01-01 open Expenses:DeFi:Gas:Polygon
1970-01-01 open Expenses:DeFi:Gas:Arbitrum
1970-01-01 open Expenses:DeFi:ImpermanentLoss

DeFi-специфични стоки

Дефинирайте токени и LP токени с подходящи метаданни:

1970-01-01 commodity UNI-V3-ETH-USDC
name: "Uniswap V3 ETH-USDC LP Token"
asset-class: "liquidity-pool"
protocol: "uniswap-v3"

1970-01-01 commodity cUSDC
name: "Compound USDC"
asset-class: "lending-token"
protocol: "compound"

1970-01-01 commodity stETH
name: "Lido Staked Ethereum"
asset-class: "staking-derivative"
protocol: "lido"

Проследяване на обичайни DeFi дейности

1. Предоставяне на ликвидност в Uniswap

Добавяне на ликвидност към пул

2024-01-15 * "Добавяне на ликвидност към ETH-USDC Uniswap V3 пул"
Assets:Crypto:Wallet:MetaMask:ETH -5.0 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -12500 USDC
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V3-ETH-USDC {250.00 USD}
Expenses:DeFi:Gas:Ethereum 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

Прибиране на LP такси

2024-02-15 * "Прибиране на Uniswap LP такси"
Assets:Crypto:Wallet:MetaMask:ETH 0.2 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC 300 USDC
Income:DeFi:Yield:Uniswap 820.00 USD
Expenses:DeFi:Gas:Ethereum 0.005 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.005 ETH {2600.00 USD}

Премахване на ликвидност с непостоянна загуба

2024-03-15 * "Премахване на ликвидност от ETH-USDC пул"
Assets:DeFi:Uniswap:ETH-USDC-LP -100 UNI-V3-ETH-USDC {250.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH 4.8 ETH {2800.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC 12800 USDC
Expenses:DeFi:ImpermanentLoss 240.00 USD ; изчисляване на непостоянна загуба
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2800.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2800.00 USD}

2. Кредитиране чрез Compound Protocol

Доставяне на активи към Compound

2024-01-20 * "Supply USDC to Compound"
Assets:Crypto:Wallet:MetaMask:USDC -10000 USDC
Assets:DeFi:Compound:cUSDC 500 cUSDC {20.00 USD}
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2500.00 USD}

Печелене на сложна лихва

2024-02-20 * "Начисляване на сложна лихва"
Assets:DeFi:Compound:cUSDC 5.2 cUSDC {20.50 USD}
Income:DeFi:Yield:Compound 106.60 USD

Получаване на COMP награди

2024-02-20 * "Изискване на COMP токени за управление"
Assets:Crypto:Wallet:MetaMask:COMP 12 COMP {85.00 USD}
Income:DeFi:Governance:Tokens 1020.00 USD
Expenses:DeFi:Gas:Ethereum 0.006 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.006 ETH {2600.00 USD}

3. Операции на протокола Aave

Депозиране и Заемане

; Deposit ETH as collateral
2024-01-25 * "Deposit ETH to Aave"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:DeFi:Aave:aETH 10 aETH {2500.00 USD}
Expenses:DeFi:Gas:Ethereum 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

; Borrow USDC against ETH collateral
2024-01-25 * "Borrow USDC from Aave"
Assets:Crypto:Wallet:MetaMask:USDC 15000 USDC
Liabilities:DeFi:Aave:DebtUSDC -15000 USDC
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2500.00 USD}

Погасяване на заеми с лихва

2024-03-25 * "Repay USDC loan to Aave"
Liabilities:DeFi:Aave:DebtUSDC 15000 USDC
Expenses:DeFi:Interest:Aave 450 USDC ; Начислена лихва
Assets:Crypto:Wallet:MetaMask:USDC -15450 USDC
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2700.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2700.00 USD}

4. Стейкинг на Ethereum

Директно Стейкване на Етериум

2024-01-10 * "Stake ETH on Ethereum 2.0"
Assets:Crypto:Wallet:MetaMask:ETH -32 ETH {2500.00 USD}
Assets:Staking:Ethereum:ETH 32 ETH {2500.00 USD}
Expenses:DeFi:Gas:Ethereum 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

Награди от стейкинг

2024-02-10 * "Награди от стейкинг на ETH"
Assets:Staking:Ethereum:ETH 0.15 ETH {2600.00 USD}
Income:DeFi:Staking:Ethereum 390.00 USD

Ликвидно стейкване с Lido

2024-01-12 * "Стейкване на ETH с Lido"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Staking:Lido:stETH 10 stETH {2500.00 USD}
Expenses:DeFi:Gas:Ethereum 0.008 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2500.00 USD}

Напреднали DeFi сценарии

Стратегии за доходно земеделие

Многопротоколно доходно фермерство

; Стъпка 1: Депозиране на USDC в Compound
2024-01-30 * "Депозиране на USDC в Compound за доходно фермерство"
Assets:Crypto:Wallet:MetaMask:USDC -20000 USDC
Assets:DeFi:Compound:cUSDC 1000 cUSDC {20.00 USD}

; Стъпка 2: Заемане на DAI срещу cUSDC
2024-01-30 * "Заемане на DAI от Compound"
Assets:Crypto:Wallet:MetaMask:DAI 15000 DAI
Liabilities:DeFi:Compound:DebtDAI -15000 DAI

; Стъпка 3: Предоставяне на DAI-USDC ликвидност на Uniswap
2024-01-30 * "Добавяне на DAI-USDC ликвидност за фермерство"
Assets:Crypto:Wallet:MetaMask:DAI -15000 DAI
Assets:Crypto:Wallet:MetaMask:USDC -5000 USDC ; Допълнителен USDC
Assets:DeFi:Uniswap:DAI-USDC-LP 200 UNI-V3-DAI-USDC {100.00 USD}

Крос-верижни DeFi операции

Премостване на активи

2024-02-05 * "Bridge ETH to Polygon"
Assets:Crypto:Wallet:MetaMask:ETH -5 ETH {2600.00 USD}
Assets:Crypto:Wallet:Polygon:ETH 5 ETH {2600.00 USD}
Expenses:DeFi:Bridge:Fees 0.01 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2600.00 USD}

Флаш заеми и арбитраж

2024-02-10 * "Flash loan arbitrage opportunity"
; Flash loan
Assets:Crypto:Temp:FlashLoan 100000 USDC
Liabilities:DeFi:Aave:FlashLoan -100000 USDC

; Arbitrage trade
Assets:Crypto:Temp:FlashLoan -100000 USDC
Assets:Crypto:Temp:Arbitrage 101500 USDC

; Repay flash loan
Liabilities:DeFi:Aave:FlashLoan 100000 USDC
Assets:Crypto:Temp:Arbitrage -100090 USDC ; Including fees

; Profit
Assets:Crypto:Wallet:MetaMask:USDC 1410 USDC
Income:DeFi:Arbitrage:Profit 1410.00 USD

Съображения за данъчно отчитане на DeFi

Признаване на приходи

Всички DeFi награди са облагаеми като обикновен доход:

; Проследяване на всички източници на доход поотделно
Income:DeFi:Yield:Uniswap ; Такси за LP
Income:DeFi:Yield:Compound ; Спечелена лихва
Income:DeFi:Staking:Ethereum ; Награди от стейкинг
Income:DeFi:Governance:Tokens ; Еърдропи на токени за управление
Income:DeFi:Airdrops ; Еърдропи от протоколи

Приспадаеми разходи

Проследявайте приспадаемите разходи:

Expenses:DeFi:Gas:Ethereum          ; Такси за газ
Expenses:DeFi:Gas:Polygon ; Такси за слой 2
Expenses:DeFi:Interest:Aave ; Разходи за заемане
Expenses:DeFi:ImpermanentLoss ; Непостоянна загуба от LP позиции

Проследяване на капиталови печалби

Използвайте партидно счетоводство за точно изчисляване на капиталови печалби:

; Different cost basis for same token
Assets:DeFi:Compound:cUSDC 100 cUSDC {20.00 USD} ; Batch 1
Assets:DeFi:Compound:cUSDC 100 cUSDC {21.00 USD} ; Batch 2

Най-добри практики за DeFi счетоводство

1. Записване на транзакции в реално време

  • Записвайте транзакции веднага след изпълнението им.
  • Използвайте хешове на транзакции за проверка.
  • Наблюдавайте мемпула за чакащи транзакции.

2. Проследяване на оптимизацията на газ таксите

; Проследяване на стратегии за оптимизация на газ таксите
Expenses:DeFi:Gas:Ethereum:Standard ; Стандартна газ такса
Expenses:DeFi:Gas:Ethereum:Fast ; Бърза газ такса
Expenses:DeFi:Gas:Ethereum:Instant ; Незабавна газ такса

3. Управление на протоколни рискове

; Проследяване на протоколно-специфични рискове
Expenses:DeFi:Risk:SmartContract ; Провали на смарт договори
Expenses:DeFi:Risk:Liquidation ; Ликвидационни събития
Expenses:DeFi:Risk:Slippage ; Разходи от приплъзване

4. Автоматизирано съгласуване

  • Настройване на автоматизирани ценови потоци
  • Използване на API на протоколи за проверка на баланса
  • Внедряване на автоматизирано импортиране на транзакции

5. Стандарти за документация

  • Поддържайте подробни бележки за транзакции
  • Документирайте обосновката на стратегията
  • Съхранявайте записи на протоколни взаимодействия

Интеграция с DeFi инструменти

Проследяване на портфолио

  • DeBank: Преглед на DeFi портфолио
  • Zapper: Мултипротоколно табло за управление
  • Zerion: DeFi портфейл и тракер

Данъчна отчетност

  • Koinly: DeFi данъчни изчисления
  • CoinTracker: Многопротоколна поддръжка
  • TokenTax: Специализирана DeFi отчетност

Аналитични платформи

  • DeFi Pulse: Анализ на протоколи
  • DeFiLlama: TVL и проследяване на доходност
  • APY.vision: Проследяване на непостоянна загуба

Заключение

Сложността на DeFi счетоводството не бива да ви пречи да участвате в революцията на децентрализираните финанси. С мощната система за счетоводство в обикновен текст на Beancount.io можете:

  • Проследяване на сложни транзакции: Безпроблемно обработване на взаимодействия между множество протоколи
  • Осигуряване на данъчно съответствие: Правилно отчитане на приходите и проследяване на разходите
  • Наблюдение на ефективността на портфолиото: Прозрения в реално време за DeFi позициите
  • Управление на риска: Проследяване на непостоянни загуби и рискове на протокола
  • Мащабиране на операциите: От просто стейкване до сложни стратегии за добив на доходност (yield farming)

Ключът към успешното DeFi счетоводство е последователността, точността и правилното категоризиране. Започнете с основни протоколи и постепенно разширявайте към по-сложни стратегии, докато свикнете със счетоводните модели.

Готови ли сте да овладеете DeFi счетоводството? Започнете своето пътешествие с Beancount.io и поемете контрол над вашето портфолио от децентрализирани финанси днес.