blog

New Manual Import feature making importing transactions fun and easier than ever

September 4, 2024
import
new-feature

Last time, we introduced BeanHub Connect, which allows you to connect different banks and import transactions automatically through our open-source tool beanhub-import. Based on our experience, most transactions, such as your rent, internet service, server fees, and so on, are recurring. With automatic importing rules, it covers 80% of your transactions.

However, no matter how hard you try, there’s always a limit to how much you can automate. For example, say you hang out for lunch with your friend Jane. She forgot to bring her wallet, so you paid the bill and will ask her to Venmo you later. For a one-time transaction like this, it doesn’t make any sense to automate it.

BeanHub aims to make text-based double-entry accounting as easy and enjoyable as possible. We understand your time is valuable, and nobody wants to waste it on repetitive bookkeeping. At the same time, we heard some people in the community enjoy the process of bookkeeping. We agree! That is why we help automate the repetitive parts and leave the fun part for you. Today, we are glad to introduce you to our new feature, Manual Import.

Manual Import

When you run beanhub-import via our open-source beanhub-cli command tool like this:

bh import

In the result, you will see an output table called Open transactions, showing the transactions that don’t match any import rules from CSV files. It used to be called Unprocessed transactions. When BeanHub runs the import command with the BeanHub Connect feature to import new transaction data from banks, we automatically collect those Open Transactions so you can manually enter missing data. You can find those Open Transactions in the Open TXNs menu subitem under the Import menu item:

Open Transaction page of BeanHub Manual Import

You can then click the Add button of one of those transactions, and it will bring you to the form for entering the missing information. We have almost all the information filled in for you already, so you only need to fill in the missing ones. In most cases, you only need to fill in the other account name. Also, our form comes with auto-complete, so you don’t need to type the whole account name.

Pending Transaction form page

After you submit, we will keep the newly added transactions on the Pending Transactions page. You can find it in the Pending TXNs menu subitem under the Import menu item.

Pending Transaction form page

On the Pending Transactions page, you can modify or delete the transactions. When you delete a Pending Transaction, it will reappear on the Open Transactions page. Once you have added all the transactions, you can visit the Pending Transactions page and commit the changes.

Pending Transaction commit page

And that’s it. Now you can see BeanHub made a new Git commit for you with those manually imported transactions.

Git difference of the newly added transactions

As you can see, manual import transactions differ slightly from automatically imported ones. These transactions have the import-override metadata added with the value set to none. That indicates this transaction is added manually, and we don’t want automatic import rules to override anything we added here if a new rule is present.

For some cases, you might want to make automatic import to override manually imported ones. You can control the override policy by changing the value. Here are possible values:

  • none: Do not override anything. Keep transaction as is
  • all: Override the existing transaction using the one generated from the automatic import rules.

Other than none or all, if you want to have fine-grained control over which part of the transactions get overridden, here are available values

  • date: Date of transaction, e.g. 2024-09-01
  • flag: Flag of the transaction, e.g., “*” or “!”
  • narration: Narration of the transaction, e.g., “Purchase lunch.”
  • payee: Payee of the transaction, e.g., “AT&T”
  • hashtags: Hashtags of the transactions, e.g., “#Rent”
  • links: Links of the transactions, e.g., “^Travel-to-eu-2023”
  • postings: Postings of the transactions, e.g., “Assets:Cash -10 USD”

You can combine any of those above with a comma. For example, to allow date and flag overriding, you can set the override mode like this:

import-override: "date,flag"

Final thoughts

This is a huge milestone for plaintext accounting. Sometimes, people might see plaintext double-entry accounting as more of a hobby than a way to manage serious personal finances, budgets, and bookkeeping because no sophisticated end-to-end solutions are available. Until now, with BeanHub Connect and BeanHub Manual Import, one can easily connect to banks and import transactions automatically, then import one-time transactions manually with our friendly UI. The whole importing workflow is now complete with BeanHub.

This is just the beginning. As more transaction data becomes available, we will build more useful features for BeanHub. For example, we will provide more valuable diagrams to help you understand your financial situation. We may also add a custom diagram feature to allow you to define your financial dashboards. We will also add search and enhance filtering features to make it much easier for you to find transactions. There are limitless possibilities! Thank you all for your support so far. We will keep pushing forward!

Finally, once again, please feel free to contact us at support@beanhub.io if you have any feedback about BeanHub.