Skip to main content

17 posts tagged with "accounting"

View All Tags

Forecasting Future Transactions in Beancount

· One min read
Mike Thrift
Mike Thrift
Marketing Manager

There is a plugin for beancount to forecast future recurring transactions. How to apply it in beancount.io? Put the following content into your ledger file.

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

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

2022-05-30-forecast-plugin

And then, you will see the forecast in Net Profit chart.

Forecast Plugin

The tag [MONTHLY] above means it will recur forever. If you have more conditions to apply, try [MONTHLY UNTIL 2022-06-01], [MONTHLY REPEAT 5 TIMES], [YEARLY REPEAT 5 TIMES], or [WEEKLY SKIP 1 TIME REPEAT 5 TIMES].

Revolutionizing Personal Finance Management with Beancount.io

· 4 min read
Mike Thrift
Mike Thrift
Marketing Manager

Beancounters traditionally use command-line tools or self-host servers with private networks, where they have to operate through a computer or a general-purpose text editor on mobile. Beancount.io reduces hassles by bringing open-sourced Android and iOS mobile apps and a secured cloud so that your ledger is now a few taps away from your fingerprint.

Beancount is a computer language that enables double-entry bookkeeping in text files. Once you define financial transactions in the file, it will generate various reports. Martin Blais, the designer of this language, argues that command-line bookkeeping has many advantages - It is fast, portable, open, and customized.

We strongly agree with the argument and share the feeling of empowerment brought by beancount language. And we wanted to do more - introducing the technology to more people. It means that we have to improve the usability and make it more accessible to a broader audience.

2022-01-08-instant-access-to-your-beancount-cloud-ledger-anytime-anywhere

Not everyone is a command-line enthusiast, and this is why we build Beancount.io - the personal finance manager for everyone. Here is how it works:

For heavy-duty work, beancounters could still use their computers to edit or view the ledger with their browsers visiting https://beancount.io or syncing with Dropbox. This keeps the flexibility of the command-line tools, while not losing the cross-device access of the cloud-based solution.

For daily light-weight operations, such as instantly adding an entry, beancounters could use the mobile app to connect to the secured cloud.

Mike Thrift, a backend engineering working on this product, says

I used to set up a reminder every day for myself to open my laptop and input records to my bean files. Now, with beancount.io, it is way easier for me to modify my ledger whenever I need it, even when I am outdoors purchasing something in the store.

Zhi Li, a software engineer from Facebook, tells us

I have migrated all my beancount files to beancount.io, and now it works perfectly for my day-to-day usage. I have paid for Pro features like automatic data backup, but I feel there are more things you guys could do to improve the service.

You could sign up now at https://beancount.io/sign-up/ or download iOS or Android App. We streamlined the registration to collect as minimal information as we can from you to bootstrap the service. Then you will get a preset empty ledger that is ready for you to add an entry right away.

FAQs

Would beancount.io sell my ledger data to any third party?

  • No. We are committed to keeping your data secured and private, and we will never sell your ledger data.

Is my data secured?

  • Yes. We protect your email and ledger with AES256, your password with BCrypt, and your network requests with SSL.

Is my ledger data end-to-end encrypted?

  • No. Due to technical constraints, we still have to decrypt your data into memory when indexing the ledger file in production servers. Therefore, we restrict direct access from any of our team members. Unfortunately, we cannot do this in Intel's SGX or any security vault due to high costs.

Is this a reliable service I could trust for the incoming few years?

  • Yes. We initially launched Beancount.io on July 4th, 2019, and it has been more than two years that we have operated the service securely and reliably. Therefore, we have no reason not to continue the service in the future.

Can I request new features and sponsor the project?

Introducing Multi-File Support in Beancount

· 2 min read
Mike Thrift
Mike Thrift
Marketing Manager

Many of our customers have been asking us how to add multiple files to one ledger since February. They need the file structure to archive or categorize transactions. So, finally, after a couple of months of work, we are glad to announce the feature is released for free.

Here is how to use it:

File > create a new file

2021-09-24-multi-file-one-ledger

Go to the file editor tab on the left navigation sidebar. And then, follow the "File" dropdown and click "Create a new file".

File > create a new file

Name your new file

Give your file a valid filename and save it. All filenames must be ended with ".bean".

Name your new file

Include the file

Here is a crucial step, you have to include the newly-created file in main.bean.

For example, if you added stock.bean, then specify include "stock.bean" in main.bean.

Include the file

Refresh and navigate to file

Refresh the page, and you will see the file appears in the "File" dropdown.

Refresh and go to file

Rename or delete the file

When navigated to the file, you could rename or delete it in the "Edit" dropdown.

Rename or delete the file

Having troubles?

Ask questions in https://t.me/beancount.

Fava Upgrade to Version 1.19: Key Changes and Improvements

· One min read
Mike Thrift
Mike Thrift
Marketing Manager

We upgraded the MIT-licensed open-source software Fava to version 1.19. Here are the changes since our last update:

  • v1.19 (2021-05-18)
    • migrate from conversion and interval options to default-page option
    • add option invert-income-liabilities-equity
    • upgrade to CodeMirror 6
    • adds a Bulgarian translation
    • other small improvements and bug fixes
  • v1.18 (2021-01-16)
    • couple of small improvements and various bug fixes.

Feeling excited? Try it now at https://beancount.io/ledger/

2021-07-16-upgrade-fava-to-1-19

Having questions? We will be there for you at https://t.me/beancount :)

Understanding Amortization in Beancount

· 2 min read
Mike Thrift
Mike Thrift
Marketing Manager

Amortization spreads out payments to many installments over time. In beancount.io, you can use the plugin fava.plugins.amortize_over to achieve so.

Without amortization, if you want to insure your car for 6 months with costs of $600. You have to record this as a one-time expense for a particular date.

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

![2021-01-09-amortize](https://opengraph-image.blockeden.xyz/api/og-beancount-io?title=Understanding%20Amortization%20in%20Beancount)

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

However, with amortization, you could allocate the expense over six months by putting plugin "fava.plugins.amortize_over" to the top of the file and using amortize_months: 6 for the transaction

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

And then in Journal, you will see the transaction is split into 6 postings.

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

Introducing the Beancount Mobile Apps for iOS and Android

· One min read
Mike Thrift
Mike Thrift
Marketing Manager

Beancount users often give us feedback that it is painful to add an entry to the ledger on mobile devices. Today, we are glad to announce the first-ever Beancount iOS App and Android App.

Beancount iOS App

This App makes it easy to add transactions to your ledger and view some financial reports on your phone. And you can also edit the ledger file directly via the web view. Your usage of this App will determine what features we will add in the future. Please feel free to join our community and discuss Beancount and bookkeeping at https://t.me/beancount.

2020-08-19-beancount-mobile-app

Our mission is to help people live a better financial life, and Beancount App is just a very initial step of what we are planning to achieve. There is an Android one pending in review. And more tools are coming soon.

download from App Storedownload from Play Store

Introduction to Beancount.io

· 5 min read
Mike Thrift
Mike Thrift
Marketing Manager

Why bookkeeping or tracking assets?

Do you manage your investments using a spreadsheet? If so, you should check out beancount.io – an online investment tracker that makes it easy to keep track of your stock and crypto portfolios. Beancount.io is easy to use, and offers a wide range of features that make it the perfect tool for investment tracking. In this post, we'll introduce you to beancount.io and show you how to get started.

2019-09-07-introduction-to-beancount

Expenses

2019-09-07-introduction-to-beancount

2019-09-07-introduction-to-beancount

Income Statement

Balance Sheet

Double-entry Bookkeeping for Correctness

Beancount is built upon double-entry accounting, a widespread technique to track financial information.

To ensure the accuracy and internalize the error detection into the system, double-entry bookkeeping requires every entry to an account has at-least a corresponding entry to a different account. One transaction involves at least two accounts with two operations - debit (+) and credit (-).

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

As you can see in the two examples above, every transaction must fulfill the accounting equation.

Assets = Liabilities + Equity(aka Net Assets)

We used the Beancount syntax by Martin Blais and the web project Fava by Jakob Schnitzer to build this website. And it will alert you if any transaction has any legs not summing to zero.

Error Alert

Now you understand how we enforce the correctness of the ledger. But you may ask what are those "accounts"?

Accounts for money as buckets for water

Thinking your assets as water running in and out of different buckets and "accounts" are those buckets holding your money. With double-entry bookkeeping, it becomes obvious how money is flowing across different accounts, just like how water is flowing across different buckets.

Beancount.io introduces five kinds of accounts.

  1. Income — Its amount is always negative or in debit. This is because you are making money, and then the money is debiting from "Income" account and crediting to your "Assets."
  2. Expenses — Its amount is always positive or in credit. This is because you are spending money, and the money is flowing from the "Assets" or "Liabilities" to the "Expenses."
  3. Liabilities — Its amount is positive or zero. Your credit card liabilities are a good example, which rises and falls in cycles.
  4. Assets — Its amount is positive or zero. Your cash or houses are always worthing some prices.
  5. Equity — Your net assets. The system will calculate automatically for you. Equity = Assets - Liabilities and it reflects how wealthy you are.

Now you can open your customized accounts with those keywords above:

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

Commodities: Tracking your investment

Yes, you can track your investment with beancount.io. For example, we buy 10 Bitcoins at the price of $100 in 2014:

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

And then three years later, you sell them (originally with costs of $100 per unit annotated with {100.00 USD}) at the price of $10,000 per unit annotated with @ 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

Or the same transaction with @@ 20,000.00 USD means that at the price of $20,000 in total.

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

The sum of all legs of the transaction, including -2 BTC {100.00 USD}, are still, as always, zero.

The costs {100.00 USD} tag is important because you might have bought the same commodity at different costs.

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

If you want to simplify the process, you can set up the account at the beginning with FIFO or LIFO. FIFO stands for first in, first out, while LIFO stands for last in, first out. In the US, IRS uses FIFO to calculate your PnL and tax accordingly.

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

And then when you sell it in shorthand like -2 BTC {}, beancount will apply FIFO strategy automatically and sell the oldest commodity.

Beancount.io

Beancount.io is such a cloud service for recording your financial transactions in text files, visualize them into financial statements (income statement, balance sheet, trial balance, etc.), and helps you live a better financial life. Sign up now - It's in Promotional Period and Free!