Accounting for Developers

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • ledgercalc

    multifunction + variables RPN calculator for ledger

  • Whenever accounting comes up in geek circles, it's worth mentioning ledger and similar systems it inspired which use plain text files to implement double entry accounting:

    https://www.ledger-cli.org

    I used this system for years as a consultant - it's also pretty easy to extend - I did this here in Python to implement an arbitrary RPN calculator on top of it:

    https://github.com/zdw/ledgercalc

  • ledger

    Double-entry accounting system with a command-line reporting interface

  • Whenever accounting comes up in geek circles, it's worth mentioning ledger and similar systems it inspired which use plain text files to implement double entry accounting:

    https://www.ledger-cli.org

    I used this system for years as a consultant - it's also pretty easy to extend - I did this here in Python to implement an arbitrary RPN calculator on top of it:

    https://github.com/zdw/ledgercalc

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • hledger

    Robust, fast, intuitive plain text accounting tool with CLI, TUI and web interfaces.

  • GnuCash

    GnuCash Double-Entry Accounting Program.

  • I would recommend getting comfortable with some basic double-entry accounting software like GNUcash [1]. I found that extremely helpful in learning how to reason about these things, as well as grasp the purpose of different types of accounts (asset vs A/R vs income etc). They also have pretty good docs and tutorials as I recall.

    Also then it'll quickly show you where the existing software falls flat (and it does) in terms of scriptability, scaling, etc.

    [1] https://www.gnucash.org/

  • plaintextaccounting

    The plaintextaccounting.org website, a portal to Ledger, hledger, beancount and co. Also the PTA wiki.

  • If you are comfortable with a text editor, I recommend https://plaintextaccounting.org. I use Beancount with the Fava gui. It's great.

  • iiban

    Internet International Bank Account Number (IIBAN)

  • I've implemented tens of accounting systems, always multi-currency and usually multi-lingual. Originally in RDBMS, but in the last decade generally with triggers in SQLite. The most complicated one I've done was Kraken (~2011) which needed arbitrary precision support for unknown future crypto asset types.

    Opine: (1) Accounting as a profession is being automated away as governments create APIs to facilitate report submission and SCM/ERP/payroll become automated. Not too soon. (2) Yes, IMHO absolutely the debit/credit account terminology needs to die. It's backward and a source of confusion for the non-indoctrinated. Use negative numbers and present formatting for antiquarians where required. (3) As a student of ancient history, falsely ascribing off-handed western-inventors to things is so 19th century colonialist. Double entry is just an overly-lauded stage in the development of accounting anyway, not the endgame. Ancient societies got by just fine tying knots in cords (ancient China, Maya, Polynesia, etc.) and many ledgers run fine without double entry now. It's primitive compared to what's available in computer science today. (4) Distributed transaction systems are an algorithmic problem, not an excuse for manual documentation. Let's give away autonomous implementations for free, make GAAP about reporting, standardize account and transaction identification and innovate on process.

    New systems recommendation:

    (1) For account identification, use IIBAN which provides IBAN-compatible account identification and checksums and is an open system @ https://github.com/globalcitizen/iiban

    (2) For all accounting, use UTC.

    (3) For transaction identification, use UTC second of origination (UTCSO) + account of interest (AOI; eg. IIBAN) + intra-second transaction identifier (ISTI).

    Free thoughts on forward-looking accounting systems @ https://raw.githubusercontent.com/globalcitizen/ifex-protoco...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts