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

4 публикации маркиран с/със "Assets"

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

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

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

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


2025-08-23-accumulated-depreciation

Какво е натрупана амортизация?

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

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

Важно е да се знае, че натрупаната амортизация е контра-актив сметка. Това може да звучи сложно, но е проста идея:

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

Къде се появява в баланса?

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

Оборудване: Компютри$3,000.00
Минус: Натрупана амортизация($1,000.00)
Оборудване: Компютри, нетно$2,000.00

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


Как се изчислява амортизацията?

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

  • Straight-Line (SL): Най‑опростеният и най‑често използван метод за счетоводни цели. Записвате еднаква сума от стойността на актива във всеки период от неговия полезен живот. Например, лаптоп за 3,000сполезенживотот36месеца(3години)щесеамортизирас3,000 с полезен живот от 36 месеца (3 години) ще се амортизира с 83.33 на месец.
  • Данъчни методи (напр. MACRS в САЩ): За данъчни цели правителствата често определят ускорени графици. В САЩ, Modified Accelerated Cost Recovery System (MACRS) позволява по‑големи амортизационни отчисления в първите години от живота на актива. Beancount лесно поддържа тези графици — просто трябва да изчислите сумите според официалните таблици (като тези в IRS Publication 946) и да генерирате съответните журнални записи.

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

Периодична амортизация = CostSalvage ValueUseful Life\frac{\text{Cost} - \text{Salvage Value}}{\text{Useful Life}}

Натрупана амортизация (към дата t) = (Periodic Depreciation up to t)\sum (\text{Periodic Depreciation up to } t)

Salvage value е оценената остатъчна стойност на актива в края на полезния му живот. За простота често се приема, че е нула.


Пътят в Beancount: Моделиране на стойност и натрупана амортизация

За да следите дълготрайните активи в Beancount, като същевременно запазвате оригиналната им стойност, ще използвате двойка активни сметки за всяка категория, плюс сметка за разходи.

  • Assets:Equipment:Computers:Cost (за историческата стойност)
  • Assets:Equipment:Computers:AccumDep (контра‑активът, който ще се кредитира с течение на времето)
  • Expenses:Depreciation:Computers (за записване на периодичния разход)

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


Опция A: Ръчно въвеждане на Straight-Line записи

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

1. Отворете необходимите сметки

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

2. Запишете покупката (на историческа стойност)

Когато купувате актива, дебитирате сметката Cost.

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

3. Запишете месечната амортизация

Всеки месец записвате разхода за амортизация. За актив на 3,000за36месеца,месечнатаамортизацияе3,000 за 36 месеца, месечната амортизация е 3000 ÷ 36 = $83.33.

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

2025-02-28 * "Monthly depreciation - MacBook Pro (SL 36mo)"
Expenses:Depreciation:Computers 83.33 USD
Assets:Equipment:Computers:AccumDep -83.33 USD ; This is the credit to the contra-asset

Повтаряте този запис всеки месец за 36 месеца. Балансът в Assets:Equipment:Computers:AccumDep ще расте по‑негативно с времето, намалявайки нетната балансова стойност на актива.

Бърза проверка: Можете лесно да проверите нетната стойност в Balance Sheet на Fava или чрез бърза заявка:

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

Сумата от балансите на двете сметки е вашата нетна балансова стойност.


Опция B: Автоматизация с amortize плъгина на Fava

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

Първо, активирайте плъгина в началото на вашия Beancount файл:

plugin "fava.plugins.amortize_over"

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

; 1. Запишете първоначалната покупка както обикновено
2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

; 2. Дефинирайте графика
2025-01-20 * "Amortization schedule"
Assets:Equipment:Computers:AccumDep -83.33 USD
Expenses:Depreciation:Computers 83.33 USD

Плъгинът ще разпредели тази сума автоматично за следващите 36 месеца.


Опция C: Плъгин за ускорена амортизация (MACRS)

За ускорени графици като MACRS можете да използвате специализиран плъгин (например beancount_macrs). Той изисква да посочите полезния живот и категорията на актива, след което автоматично изчислява необходимите суми.

2025-03-01 * "MACRS amortization for equipment"
Assets:Equipment:Computers:AccumDep -150.00 USD
Expenses:Depreciation:Computers 150.00 USD

Натрупана амортизация в баланса

Активи$3,000.00
Натрупана амортизация($1,000.00)
Нетна стойност$2,000.00

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

Пример 1 – Ръчно въвеждане

2025-03-15 * "Purchase office chair"
Assets:Equipment:Office:Cost 500.00 USD
Assets:Bank:Checking -500.00 USD

2025-04-01 * "Monthly depreciation - office chair"
Expenses:Depreciation:Office 13.89 USD
Assets:Equipment:Office:AccumDep -13.89 USD

Пример 2 – Автоматизация с Fava

plugin "fava.plugins.amortize_over"

2025-01-10 * "Purchase server"
Assets:Equipment:Servers:Cost 12000.00 USD
Assets:Bank:Checking -12000.00 USD

2025-01-10 * "Amortization schedule"
Assets:Equipment:Servers:AccumDep -333.33 USD
Expenses:Depreciation:Servers 333.33 USD

Как да проверите натрупаната амортизация

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

Това ще ви покаже текущата натрупана сума за конкретната сметка.


Как да коригирате грешки

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

2025-07-01 * "Correction of over‑amortization"
Assets:Equipment:Computers:AccumDep 50.00 USD
Expenses:Depreciation:Computers -50.00 USD

Това ще намали натрупаната амортизация и ще възстанови част от разхода.


Как да отразите продажба на актив

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

2026-01-15 * "Sale of MacBook Pro"
Assets:Bank:Checking 1500.00 USD
Assets:Equipment:Computers:Cost -3000.00 USD
Assets:Equipment:Computers:AccumDep 1000.00 USD
Income:GainOnSale 500.00 USD

Тук Income:GainOnSale е примерна сметка за печалба/загуба от продажбата.


Как да използвате bean-report за визуализация

bean-report myledger.bean balance_sheet
bean-report myledger.bean income_statement

Тези команди генерират красиви HTML отчети, които можете да разгледате в браузъра.


Заключение

Натрупаната амортизация е фундаментален елемент от управлението на дълготрайни активи. С правилното моделиране в Beancount можете да поддържате чисти, точни и автоматизирани финансови книги. Използвайте примери от това ръководство, за да ускорите процеса и да се съсредоточите върху по‑важните бизнес решения. Ако имате въпроси, споделете ги в общността на Beancount или в дискусиите около Fava. Успех!

Моделиране на сделки с недвижими имоти в Beancount

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

Сделките с недвижими имоти могат да представляват най-голямата финансова дейност в живота на едно семейство. Тази статия обяснява как да моделирате недвижими имоти в Beancount. Аз третирам недвижимия имот като актив, а поскъпването на къщата като нереализирана печалба. Освен това, ипотеката е моделирана като пасив, а лихвата се счита за разход.

Да приемем, че г-н А е закупил луксозен дом, намиращ се на адрес 123 ABC Street, XYZ City, CA, 12345 на 1 януари 2020 г. на цена от 1 милион. Лихвеният процент е 3.0%, първоначалната вноска е 20%, а сумата на заема е 800 000.

ЕлементСума
Сума на ипотеката800 000
Лихвен процент3%
Период на ипотеката30 години
Обща цена на ипотеката1 478 219.62
Месечни плащания4 106.17
Застраховка на жилището1 300 на година (39 000 общо)
Данък върху имота7 500 на година (225 000 общо)
Изплащане на заема2049 декември
Общо платени лихви414 219.62

2023-06-09-tracking-real-estate

Екранна снимка на детайли за ипотека

Създаване на сметки

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

2019-12-31 commodity HOUSE.ABC
name: "123 ABC Street, XYZ City, CA, 12345"

2019-12-31 open Assets:Property:US:CA:123ABC HOUSE.ABC
2019-12-31 open Liabilities:Bank:US:SomeBank:Mortgage:Loan USD

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

Покупка

При така настроените сметки, актът на закупуване на къща е еквивалентен на

заемане на пари (дълг) + изразходване на пари (първоначална вноска) = 1 къща като актив

Най-важната справка при закупуване на имот вероятно е Удостоверението за уреждане на сделката на купувача, което ясно описва паричния поток.

2020-01-01 * "Покупка на къщата"
Assets:Property:US:CA:123ABC 1 HOUSE.ABC {1,000,000 USD}
Assets:Bank:US:SomeBankA -100,000 USD
Assets:Bank:US:SomeBankB -101,000 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan -800,000.00 USD
Expenses:Home:Insurance 1,000 USD
Expenses:Home:Mortgage:Loan:ClosingCost

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

Погасяване на ипотеки

Въз основа на горния запис за покупка, в момента дължим 800 000 USD. Поради лихвата и като се има предвид, че всички заеми в САЩ се амортизират равномерно по отношение на главницата и лихвата, месечното плащане включва част за лихва и част за главница. В ранните етапи лихвата съставлява по-голямата част.

За да запишете погасяването на заема, всичко, което трябва да направите, е да проверите извлечението от вашата банка кредитор. Просто трябва да знаете колко от главницата погасявате всеки месец, а останалото е лихва. Лихвата се отчита като Разход.

2020-02-01 * "Ипотечно плащане"
Assets:Bank:US:SomeBank:Saving:Joint -3,372.83 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan 1,376.26 USD
Expenses:Home:Mortgage:Loan:Interest

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

Поскъпване

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

Аз не възприех този метод, главно поради следните причини:

  1. Текущата стойност на къщата може да бъде само приблизителна оценка, само за справка, без практическа стойност. Обикновено мога да получа оценка на имота само от уебсайтове като Redfin или Zillow, и лично аз не смятам, че тя има висока референтна стойност. Също така не съм обмислял включването на тези поскъпвания в общите активи в реално време.
  2. Лично аз смятам, че преди изплащането на ипотеката, ако паричният поток от къщата е отрицателен, до известна степен имотът все още е пасив. Следователно, преждевременното му включване в активите ще ви даде илюзия за обогатени активи и поскъпване, и аз лично искам да избегна тази илюзия.

Методът, който използвам за записване на поскъпването на имота, който ще бъде обсъден по-късно и за моделиране на RSUs. Този метод е да се използва виртуална валутна единица. Ако приемем, че вашата базова валута е USD, можем да използваме USD.UNVEST (изглежда, че няма нужда да се създава нова Стока за това), за да покажем, че този актив се изчислява в специална валута. Нарастването или намаляването на този актив няма да бъде записано в USD. По този начин мога да постигна първоначалната си цел, а именно да запиша поскъпването на къщата, и това поскъпване няма да бъде включено в крайния баланс (Баланс).

2020-01-01 price HOUSE.ABC                          1,000,000 USD
2025-01-01 price HOUSE.ABC 1,400,000 USD.UNVEST

Трябва само редовно да оценявате имота си в USD.UNVEST.

Така, на страницата "Стоки" на Fava, можете да проследявате тенденцията на референтната цена на къщата. Но на страницата "Баланс", цената на къщата все още е цената на къщата към момента на сделката. Тоест, вашите общи активи все още са парите от първоначалната ви вноска

Разбиране на амортизацията в Beancount

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

Амортизацията разпределя плащанията на много вноски във времето. В beancount.io можете да използвате плъгина fava.plugins.amortize_over, за да постигнете това.

2021-01-09-amortize

Без амортизация, ако искате да застраховате колата си за 6 месеца с разходи от $600. Трябва да запишете това като еднократен разход за определена дата.

2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto


2017-06-01 * "Pay car insurance"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses

Въпреки това, с амортизация, можете да разпределите разхода за шест месеца, като поставите plugin "fava.plugins.amortize_over" в началото на файла и използвате amortize_months: 6 за транзакцията.

plugin "fava.plugins.amortize_over"

2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto

2020-06-01 * "Amortize car insurance over six months"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto

И тогава в Журнала ще видите, че транзакцията е разделена на 6 осчетоводявания.

2020-11-01 * Amortize car insurance over six months (6/6) am
2020-10-01 * Amortize car insurance over six months (5/6) am
2020-09-01 * Amortize car insurance over six months (4/6) am
2020-08-01 * Amortize car insurance over six months (3/6) am
2020-07-01 * Amortize car insurance over six months (2/6) am
2020-06-01 * Amortize car insurance over six months (1/6) am

Екранна снимка на амортизационна транзакция

Въведение в Beancount.io

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

Защо модерната счетоводна отчетност е важна

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

2019-09-07-introduction-to-beancount

Expenses

Income Statement

Balance Sheet

Двустранно счетоводство: Основата на точността

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

При двустранното счетоводство всяка транзакция изисква поне две записи – дебит (+) и кредит (-) – в различни сметки. Тази вградена система за проверка прави практически невъзможно записването на небалансирани транзакции, гарантирайки, че вашите финансови записи остават точни и надеждни.

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

Както можете да видите в двата примера по-горе, всяка транзакция трябва да отговаря на счетоводното уравнение.

Активи = Пасиви + Собствен капитал (известен още като Нетни активи)

Използвахме синтаксиса на Beancount от Мартин Блейс и уеб проекта Fava от Якоб Шницер, за да изградим този уебсайт. И той ще ви предупреди, ако някоя транзакция има записи, които не сумират до нула.

Error Alert

Сега разбирате как осигуряваме коректността на счетоводната книга. Но може би се питате какво представляват тези „сметки“?

Разбиране на сметките: Аналогията с водните кофи

Представете си финансовите си сметки като система от взаимосвързани водни кофи, където парите текат като вода между тях. Тази аналогия прави двустранното счетоводство интуитивно: когато прехвърляте пари от една сметка в друга, това е като да преливате вода от една кофа в друга – общото количество вода (пари) в системата остава постоянно.

Beancount.io въвежда пет вида сметки.

  1. Приходи — Сумата им винаги е отрицателна или в дебит. Това е така, защото вие печелите пари и след това парите се дебитират от сметката за „Приходи“ и се кредитират във вашите „Активи“.
  2. Разходи — Сумата им винаги е положителна или в кредит. Това е така, защото вие харчите пари и парите изтичат от „Активи“ или „Пасиви“ към „Разходи“.
  3. Пасиви — Сумата им е положителна или нула. Задълженията по кредитната ви карта са добър пример, които нарастват и намаляват циклично.
  4. Активи — Сумата им е положителна или нула. Вашите пари в брой или къщи винаги имат някаква стойност.
  5. Собствен капитал — Вашите нетни активи. Системата ще го изчисли автоматично за вас. Собствен капитал = Активи - Пасиви и отразява колко сте богати.

Сега можете да отворите свои персонализирани сметки с горните ключови думи:

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

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

Beancount.io превъзхожда в проследяването на разнообразни инвестиции, от акции до криптовалути. Нека разгледаме как се справя със сложни инвестиционни сценарии. Например, ето как бихте записали закупуването на 10 биткойна по 100 долара всеки през 2014 г.:

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

И след три години ги продавате (първоначално с разходи от 100 долара на единица, анотирани с {100.00 USD}) на цена от 10 000 долара на единица, анотирани с @ 10,000.00 USD.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

Или същата транзакция с @@ 20,000.00 USD означава, че на цена от 20 000 долара общо.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

Сумата от всички записи на транзакцията, включително -2 BTC {100.00 USD}, все още е, както винаги, нула.

Етикетът за разходи {100.00 USD} е важен, защото може да сте закупили същата стока на различни цени.

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

Ако искате да опростите процеса, можете да настроите сметката в началото с FIFO или LIFO. FIFO означава „първи влязъл, първи излязъл“, докато LIFO означава „последен влязъл, първи излязъл“. В САЩ, IRS използва FIFO за изчисляване на вашата печалба/загуба (PnL) и съответния данък.

1970-01-01 open Assets:Trade:Positions "FIFO"

И след това, когато я продадете накратко като -2 BTC {}, beancount автоматично ще приложи стратегията FIFO и ще продаде най-стария актив.

Започване с Beancount.io

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

Започнете вашето финансово пътешествие с Beancount.io – Безплатно по време на нашия промоционален период!