How often do you write/import your transactions?

Well done! I tried to do that with one source, but the pdf was cut into a lot of different parts that I had to piece back together to get all the information, and I ended up just doing it manually. At some point, I may revisit that.

I've never bothered to import transactions from my financial institution.

As far as manually adding, I do it the same day in almost all cases. Since I do so few transactions, it's quite easy to look at the receipt of the things I've purchased and get them added

from hledger stats:

Txns last 30 days   : 51 (1.7 per day)
Txns last 7 days    : 9 (1.3 per day)

I'm using homemade https://cashier-svelte.netlify.app/ (or previous versions cashier-ii.alensiljak.eu.org and cashier.alensiljak.eu.org) to enter transactions ASAP so I don't have to think of them.
Occasionally I reconcile the balances and add any missing transactions by checking the bank account transactions online or in an app.
Cashier helps me a lot to maintain scheduled transactions like income and monthly or annual bills.
I never import any transactions (other than what's exported from Cashier).

I use Emacs. I manually add transactions by writing a short snippet in a separate buffer and converting it to a hledger transaction, then append it to my hledger journal by using my own Elisp library.

For example, a snippet 20250107 food 500+700 will be converted to

20250107 food
   Expenses:Groceries:Food        500 JPY 
   Liabilities:CreditCard
20250107 food
   Expenses:Groceries:Food        700 JPY 
   Liabilities:CreditCard

The payee defaults to CreditCard.

A more complicated one 20250107 food 5$=800JPY @bank ;an entry paid by creditcard will be converted to

20250107 food   ;an entry paid by creditcard
   Expenses:Groceries:Food        5 $ @@ 800 JPY 
   Assets:Bank

The payee is assigned Bank by using @.

I also created a minor mode in the separate buffer to bind the Enter key to quick insert the date and use abbrev-mode or yasnippet to expand some short templates into entries. So usually my workflow is:

  1. Press Enter in the separate buffer to insert today's date. I also have keybindings to backward and forward the day.
  2. Type a single char f , then space key to expand f into food
  3. Write down the amount manually.

When there are enough snippet lines, I call the command to convert and append them to the journal one time.

It's pretty easy and doesn't take much time, so I do it several times a day.

Edit: update some details.

1 Like

For importing PDFs I've used camelot GitHub - atlanhq/camelot: Camelot: PDF Table Extraction for Humans quite a bit and generally works pretty well if you have some python/programming skills.

Just noticed that it got archived yesterday, so looks like there isn't further development happening on it :frowning_face:

Sorry, my mistake, development just got moved here GitHub - camelot-dev/camelot: A Python library to extract tabular data from PDFs

1 Like