Readit News logoReadit News
dragonsh · 6 years ago
It's a nice system in PHP. There are quite a few of them. Like ledger-cli [1] in C++ and emacs lisp, hledger [2] in Haskell and beancount [3] with fava [4] in python.

We used ledger-cli and beancount with fava and built automatic creation of accounting entries using machine learning and Bayesian alogrithms by analyzing bank and credit card statements. You can use powerful icsv2ledger [5], smart importer [6] and the awesome list [7] to get importers for various banks and other utilities.

[1] https://www.ledger-cli.org/

[2] https://hledger.org/

[3] http://furius.ca/beancount/

[4] https://beancount.github.io/fava/

[5] https://github.com/quentinsf/icsv2ledger

[6] https://github.com/beancount/smart_importer/blob/master/READ...

[7] https://github.com/siddhantgoel/awesome-beancount/blob/maste...

Note: corrected the entry for ledger-cli, its primarily written in C++ with some emacs lisp scripts.

snackematician · 6 years ago
I use and love ledger-cli but importing/downloading bank data is the biggest pain point.

I'm currently using ledger-autosync (https://github.com/egh/ledger-autosync) to import OFX/QFX files. For some banks it can automatically pull the data using ofxclient (https://github.com/captin411/ofxclient) but for most of my bank accounts this is broken and I need to manually download the OFX file before importing with ledger-autosync. It works OK, I wish I didn't have to do the manual download, but the simplicity of the setup is nice.

I've read of other setups using Plaid or Puppeteer to download their data. Would be interested to hear about what other people are currently using in mid-late 2019 to pull their financial data.

simonmic · 6 years ago
I was using Tiller (https://www.tillerhq.com), pulling from US and European banks to a Google sheet, then a command line tool to pull CSV from there. This worked well except for not handling foreign currency (it calls everything $), adding a bit of extra latency/uncertainty on top of the back end (Yodlee), and eventually forgetting to update your sheet unless you manually visit it every so often.

Currently I’m using plaid2qif (https://github.com/ebridges/plaid2qif) to pull CSV from US banks via Plaid’s (https://plaid.com) API. This is more developer friendly and gets the latest data to me faster, but the data is not quite as good as Tiller/Yodlee’s, at least for Wells Fargo bank; Plaid gives more truncated transaction descriptions.

Both of these have the big downside of sharing your bank credentials with others. With Plaid I guess there’s one less party involved. My current alternative is manually visit each bank’s site and download CSV. Ideally I want to get timely data every day (the easiest way to stay on top of the books), so the manual downloading (click, wait, click, relogin after timeout..., wait, wait for paypal’s download, retry when it gets stuck..) gets really tiresome.

egh · 6 years ago
Glad you like ledger-autosync! I agree, its very annoying to have to download OFX files. I wish more banks supported the OFX protocol, or really any sort of automated download. I should probably look into plaid and see if it might work.
0xdeadbeefbabe · 6 years ago
I'd rather do it manually. It's a feature. I really like the double entry journal.
BeetleB · 6 years ago
My ledger workflow is rather different. I use KMyMoney to enter transactions (or download). And I have a script to export all that to Ledger format.
Fnoord · 6 years ago
The reason I use Firefly III is because it supports the Bunq API. It is much more convenient than manually importing CSVs. Great list though!
neo1691 · 6 years ago
I have been looking for something like this for sometime. Right now I'm using YNAB with manual imports from bunq csv exports but I will give it a try and try out the bunq integration with firefly.

Does Firefly also support the features of YNAB, if you know by any chance?

lars_francke · 6 years ago
Do you know of a way to do cross-account budgeting in ledger CLI (or any of the similar tools)?

This was discussed for beancount a few years ago[1] and basically means that I want to distribute the money for a budget across multiple accounts but last I looked (over a year ago) there was no tool that provides this feature.

[1] https://groups.google.com/forum/#!msg/beancount/ddi5fOuAFoU/...

TeMPOraL · 6 years ago
ledger-cli is my current tool and all-time favourite. The only thing I'm missing (and thinking of spending a weekend to write) is a self-hosted web UI for data entry. Not that I needed - Emacs is a more productive data entry UI than anything that was ever done in a web browser. But my wife wants to help me retype receipts, and I need something ergonomic that's focused on just that: adding trivial transactions.
andreareina · 6 years ago
hledger has a web interface, and it mostly speaks ledger. Looks like most of the stuff it doesn't understand it'll still cleanly parse and then ignore.

ETA: https://hledger.org/hledger-web.html

purplish · 6 years ago
A good standalone is Money Manager EX
Forbo · 6 years ago
Not sure why your recommendation was dead. I've dabbled with MMEX in the past. I vouched for your comment.
lvh · 6 years ago
Minor point of order: ledger-cli has a lot of languages for one-off scripts but it's principally a C++ program.

Dead Comment

obituary_latte · 6 years ago
There is at lease one vulnerability in the demo: looks like dev or something is on in the framework. Sending bad input in at least one place exposes debug info with db/api credentials along with other sensitive info. Email in my profile if more detail needed.

https://postimg.cc/gallery/2chl5bji2/

Edit: sent email with details to listed address on landing page.

JC5 · 6 years ago
Yep, I saw that. Thanks a lot for letting me know. I'm resetting credentials and setting up the DB again. Cheers.
ceejayoz · 6 years ago
Oooh, yeah. `APP_DEBUG=true` is set for the Laravel app.
duiker101 · 6 years ago
Wow, this is all I ever wanted. A self hosted PHP based financial manager with a good interface and an API. I am SO excited. I'm going to throw it on my server instantly. It seems to also have a lot of features! This is great! Thanks!
not_a_cop75 · 6 years ago
Why is a self hosted financial manager your dream come true? I assume sharing financials to others is everyone elses's nightmare.
beatgammit · 6 years ago
How is it "sharing financials with everyone"?

Self-hosted means you control your data, though it certainly leaves you open to more attacks if it's open to the internet, but you can always protect it by hiding it behind a VPN. Having financials available everywhere is very convenient, and not having data on a mobile device (but accessible on your mobile device) is great for privacy-concerned people.

oarsinsync · 6 years ago
The success of cloud hosted products like YNAB suggests many people have no issue with sharing financials.
busterarm · 6 years ago
Because everyone in this thread needs to recalibrate their sarcasm detector.

Edit: PHP is actually in a pretty good state right now, so I think it's a poor criticism, but probably a common one.

andreareina · 6 years ago
I admittedly haven't been looking for better, but the "double-entry lite" systems I've seen kinda miss the mark a bit.

- Source/destination (as used here) is awkward when transactions have more than one split: at best there's a single source/destination which is entered multiple times and you need to make sure the splits add up right (and that single $50 charge to your credit card doesn't show up that way in the register); at worst you have an m:n split.

- Simple plus/minus without debits and credits (à la hledger, which I am otherwise quite happy about) runs into situations like: I increase my liabilities (e.g. by paying by credit card) by subtracting from the account?!?

I think if you're going to use a GUI then going full debit/credit isn't hard, I got up and running with Quickbooks pretty quickly and GNUCash seems about the same.

EDIT: I don't mean to downplay the accomplishments of the authors of any of the software mentioned, like I said I'm a happy user of hledger and Firefly III looks pretty polished from what I saw of the demo. This is really meant to be more of a meta-comment around the idea that bookkeeping is hard and double-entry debit/credit is doubly so.

0xcde4c3db · 6 years ago
> I increase my liabilities (e.g. by paying by credit card) by subtracting from the account?!?

Maybe I'm just inured to the convention, but this makes perfect sense to me. You subtract money from any other account you pay from. At a sufficiently abstract level, paying by credit card is the same thing as overdrawing your checking account. You need to add money to get the balance back to zero.

TeMPOraL · 6 years ago
Makes perfect sense to me too. Credit cards aren't money you have, they're money you can borrow. Paying by credit card is borrowing money. Paying a credit card back means it should show in your system at $0. If your bank shows it at some positive $, that's just convenient financial fiction.

(And possibly dangerous fiction. I think a big part of the way people get in trouble with credit cards is by thinking their credit line is "the money they have", instead of "money they can borrow really fast".)

andreareina · 6 years ago
It does work for modelling flows, but the meaning of balances gets a bit wonky. Income is revenues - expenses in the debit/credit model, but in the plus/minus model it's -revenue - expenses (hledger's income statement report flips the sign on revenue accounts, so you get the net via the normal equation).

A different way to do double-entry-lite might be to retain plus/minus, but have that operate on the account's normal balance -- pay for expenses by decreasing an asset or increasing a liability. Transactions still balance even if they don't sum to zero -- it makes sense that an IOU balances out the coffee you just got. You do need to understand the four basic account types (explicit equity accounts are arguably not relevant to most individuals), but that's something that's needed anyway. You still don't need to explicitly learn about debits and credits, but if you do it's much closer from here than from the flow-based approach.

Flow is easy, but I feel that in the end modeling the effect on balances is simpler.

Naga · 6 years ago
For what its worth, I'm an accountant in my day job and our software doesn't differentiate between debits and credits. Debits are positive and credits are negative. You get used to it seeing it all the time.
andreareina · 6 years ago
I am used to it. Mostly. It still throws me for a loop sometimes, like just now when I had to figure out how p/l would be calculated based on the flows.
JC5 · 6 years ago
- Firefly III enforces splits to make sense. Source must be the same for deposits, destinations for withdrawals. It's technically possible to mess up but I never met people who were careless enough to do so. - Yep. That's always tricky to get right.

I'm halfway between going full accountant (never go full accountant) and basically human. I'm pretty happy with the results so far.

lethologica · 6 years ago
Minor tangential gripe but hamburger menus on desktop are rather annoying. I have a large screen, please make use of it and don't hide important elements away behind a button!
JC5 · 6 years ago
I'm working on a new layout which wouldn't feature such a menu. Tabler IO, you can Google it.
mehalter · 6 years ago
How is this development going? I am a long time Firefly-iii user, and am excited for this UI update and would love to follow the progress!
a254613e · 6 years ago
Has anyone here successfully migrated from GnuCash to Firefly III? How does it compare long term? GnuCash is amazing features wise, but the UI and cross platform compatibility is subpar at best.

And more importantly is it possible to import data from GnuCash? Last time I tried it I failed.

mih · 6 years ago
I did make an attempt to switch from GnuCash to Firefly III, but had to switch back. As loathed as the GnuCash GUI is, Firefly III simply did not come close to the speed with which I could enter transactions in bulk via the keyboard. Plus, I was too used to GnuCash's data model and way of doing things.

The reason I was drawn to FF III in the first place was because of its aesthetic appeal and visualization features. The graphing and reporting abilities of GnuCash are not to my taste.

After some time, I settled down to converting from Gnucash to Ledger using PieCash (https://github.com/sdementen/piecash), and visualizing the ledger file using LedgerWeb (https://vifon.github.io/ledger-web/). A bit of a workaround, but can be scripted and works fine for me.

BuildTheRobots · 6 years ago
What are the GnuCash issues with cross-platform? We used to use it via dropbox on mac, linux and windows and never hit any obvious problems. The UI however...
a254613e · 6 years ago
I can't get it to use en_US for interface but de_DE for dates/currencies across all platforms. Because GnuCash insists on reading these settings from locales, and I can't get it right to save my life.

So it'll see a comma when I open the file on windows and just report an error.

Right now I'm considering running it in on my server and then connecting to it somehow from all the different platforms.

oso2k · 6 years ago
JC5 · 6 years ago
We use the same layout template but my tool is older and has a lot more features.
claudius · 6 years ago
I have moved to Firefly III last year from the "My Expenses" app. Very happy so far, even though I don't use (and hide via uBlock) all the Budget-related items.

Updating is a bit annoying as there are no Debian packages and one has to essentially re-install from scratch on each update, but everything else is working perfectly well. Categorising expenses allows for easy monthly reports on shared expenses, too.

JC5 · 6 years ago
Try using the docker images, that makes for a pretty flawless upgrade experience.