Hacker News new | past | comments | ask | show | jobs | submit | balves's comments login

Fava and beancount have some affordances here. You can make a data directory with a directory structure that matches your chart of accounts. Place datestamped files in here and they'll show up inline in your fava ledger view.

Additionally you can annotate a transaction with a "document" tag and that document will show up directly associated in the ui.

The ui has pretty good previewing for these. I add pdf versions of all of my statements, and attach receipts to specific transactions (business expenses, proof of paying taxes, etc.)

It works quite well


Nix-darwin seems like a solution worth looking into for this.


I wonder how much of this saltiness -- both on HN, reddit, and mainstream media -- is due solely to the name of the bank.

If the headline was "California Regional Mutual Bank and Trust fails" (I made up the name, I don't know anything about banking, don't nitpick the terms) it surely would have still been newsworthy because of the size of the bank, but I suspect there would be less vitriol around the situation with the Silicon Valley connotation removed from it.


I think the only correct answer is "it depends"

It depends on the relationship with the person who's code you are reviewing, it depends on the relative seniority differences, it depends on the project, it depends on the rest of the team culture, it depends on the rest of the company culture, it depends on how long you've had a working relationship with this person, it depends on who else might see the review.

I've had working relationships with people where it was beneficial/easier to be super curt and to the point, because there was sufficient 2-sided trust that best interests were at heart. I've had working relationships where I had to take having "open-ended genuine curiosity" to the extreme because of fear of feelings being hurt.

That being said, by default I take a question-asking tone to the code review process, with the intention of possibly learning something. It opens up the door to "being wrong" and allowing things to progress without incessant arguing. There are times when this approach isn't appropriate, but I think it's a reasonable default. Again, it depends.


I switched to beancount after trying several other things (mint, spreadsheets, gnucash), and I like it quite a bit. It's choice to be very strict about things held at cost (like units of stock) is a great differentiation.

It's VERY hard to accidentally miss capital gains, or get cost basis wrong on something, or have something not balance. Much harder than even ledger-cli, let alone the other alternatives. It feels at times like working with a static type system versus a dynamic type system.

And the burden associated with this is not anything more than other tools. Importers have been great. I have 68 asset subaccounts between my spouse and I (if you do double-entry accounting you'll know this isn't actually that many), and I spend about 1-2 hours a month balancing the books, doing reporting, etc.

Finally, it's quite easy to get your transactions into a pandas datatable or similar, allowing you to utilize your programming/datascience skills to do things that just aren't available in other tools. Mint offers nothing here, spreadsheets can do some of it (but the downsides of accuracy), and gnucash requires learning some niche scheme stuff; it feels very "tacked on".


> gnucash requires learning some niche scheme stuff; it feels very "tacked on".

There is also piecash, which gives a nice Pythonic interface to the SQL files generated by GnuCash: https://pypi.org/project/piecash/


Bear in mind that using SQL in GnuCash may result in data loss:

> Note this feature is considered experimental. It works for most of the common use cases but some corner cases have been reported to result in data loss. [1]

[1] https://gnucash.org/features.phtml


> Importers have been great.

What importers do you mean? Are these importers you've written yourself, or existing importers you were able to reuse? What format are these importers pulling from (PDF statements, CSV, OFX, etc)?


https://github.com/redstreet/beancount_reds_importers/tree/m...

https://github.com/jbms/beancount-import

https://beancount.github.io/docs/importing_external_data.htm...

Support for OFX is generally great, CSV is also great. There are some proof of concept things floating around too for PDF.


Do you find that all of your financial institutions offer reliable OFX/CSV feeds?

I'm asking because I've generally come to the conclusion that PDF is the only universal data format that every institution will offer.


All of my high-volume (in terms of number of transactions) accounts are easily importable. There are a few that don't have great import functionality, but I only have 1-2 transactions on them a month so haven't felt the toil pain to better automate them. 1-2 hours a month of balancing is not worth optimizing down to 0.5-1 hour to me.


OFX is the closest to being universal, although often it is well hidden.

CSV feeds are often surprisingly useless for programmatic / feed use, they're often littered with stupid textual headers and footers and lack important columns - they're designed to be opened in excel and looked at by a human, not parsed and ingested.


There's also the heterogeneity of transactions. Looking at the csv export I've got from my bank, there are three "reference" columns and they play different roles depending on how I'm paying:

    - debit card: merchant name + date, card number, blank
    - alternative card-based payment system: constant (account number?), merchant, constant
    - alternative app-based payment system: constant, merchant, user custom reference
And a data sanitation issue: one of the merchant names has a comma in it, and it's not escaped or quoted in the csv so that record is corrupted.


Not GP, but in my experience they offer CSV with the most helpful columns for programmatic use omitted; present only in the PDF.

Of course I've submitted requests pointing it out/requesting it, but to be honest I can only assume it's deliberate.


I've been using beancount for 3+ years and totally agree, the flexibility of it is the real USP.

I've never used any import tools though, I just enter the transactions manually maybe once or twice a week. It's been fine - especially using beancount-mode for emacs, although admittedly it's just my accounts, it might not scale so well for a family.


There's an upcoming UI to input stock transactions and will explicitly request capital gains, so, there will be fewer opportunities for error.

https://github.com/Gnucash/gnucash/pull/818


For GnuCash it’s easy to parse it’s XML files or Sqllite database, so you don’t have to mess with scheme.


What are people's thoughts on running nix without nixos, using a base system such as Debian or Arch?

It seems like it might be a nice way to get reproducible dev environments, without some of the headaches being discussed here.

Is this a common use, or do people typically just do all-or-nothing?


That's how I started out with openSUSE + Nix, but I quickly found that I still had to learn about most of Nix's quirks, while only getting a small part of the benefits (namely, not the system configuration).

It may be worth it if you care a lot about having imperative escape hatches, but if you're willing to invest upfront work in getting past the learning curve and want to maximize the benefit you get from it, I would just recommend diving into NixOS directly.


I would say that it is a good gateway drug. I used Nix + home-manager on macOS for a while. It was really nice for replacing the broken macOS userland plus having reproducible dev environments.

I liked it so much that I tried NixOS on a Dell Workstation that I still had. Configuring a full machine declaratively was so powerful that I slowly moved from macOS to NixOS pretty much full-time.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: