diff --git a/index.html b/index.html index 77b52c3..72ac95d 100644 --- a/index.html +++ b/index.html @@ -44,28 +44,13 @@ Plain Text Accounting
-

accounting

-

accounting is tracking the flow of valuable commodities, such as money or time. It clarifies activity, priorities, obligations, opportunities. It can reduce stress and even be enjoyable.

-

double-entry bookkeeping is a process for doing this reliably. For every movement of value (a transaction), both the source and destination are recorded. Simple arithmetic invariants help prevent errors.

-

In traditional double-entry bookkeeping, value at any point in time is tracked in various accounts, classified as asset (owned), liability (owed) or equity (invested). Two more classifications track changes during some period: revenues (inflows) and expenses (outflows).

-

Transactions consist of debits (increases to asset or expense accounts, or decreases to liability or equity accounts) or credits (decreases to asset or expense accounts, or increases to liability or equity accounts).

+

accounting

accounting is tracking the flow of valuable commodities, such as money or time. It clarifies activity, priorities, obligations, opportunities. It can reduce stress and even be enjoyable.

double-entry bookkeeping is a process for doing this reliably. For every movement of value (a transaction), both the source and destination are recorded. Simple arithmetic invariants help prevent errors.

In traditional double-entry bookkeeping, value at any point in time is tracked in various accounts, classified as asset (owned), liability (owed) or equity (invested). Two more classifications track changes during some period: revenues (inflows) and expenses (outflows).

Transactions consist of debits (increases to asset or expense accounts, or decreases to liability or equity accounts) or credits (decreases to asset or expense accounts, or increases to liability or equity accounts).

-

...with text

- - - - -

In 2003, John Wiegley invented Ledger: a plain text data format and command-line reporting tool for efficient double-entry-style accounting. This idea went viral among software developers and technical folk, and we now have 5+ actively-developed Ledger-likes such as hledger and Beancount, with 40+ add-on tools and an active community. This site was created in 2016 to introduce our tools, documentation, and practices.

-

Accounting data is valuable; we want to know that it will be accessible for ever - even without software. We want to know when it changes, and revision-control it. We want to search and manipulate it efficiently. So, we store it as human-readable plain text.

-

We simplify debits and credits by using signed numbers - positive for inflows to an account, negative for outflows from an account.

-

We define arbitrary account hierarchy to suit our needs. This scales smoothly from simple to complex scenarios, and from high-level overview to fine detail.

-

Ledger-likes are, at least in part, command-line tools. This makes them efficient to use and very scriptable and flexible.

-

Ledger-likes also, at their core, tend towards functional operation: they read the input data without changing it, and output a report. This simple model makes them easy to understand and rely on.

+

...with text

In 2003, John Wiegley invented Ledger: a plain text data format and command-line reporting tool for efficient double-entry-style accounting. This idea went viral among software developers and technical folk, and we now have 5+ actively-developed Ledger-likes such as hledger and Beancount, with 40+ add-on tools and an active community. This site was created in 2016 to introduce our tools, documentation, and practices.

Accounting data is valuable; we want to know that it will be accessible for ever - even without software. We want to know when it changes, and revision-control it. We want to search and manipulate it efficiently. So, we store it as human-readable plain text.

We simplify debits and credits by using signed numbers - positive for inflows to an account, negative for outflows from an account.

We define arbitrary account hierarchy to suit our needs. This scales smoothly from simple to complex scenarios, and from high-level overview to fine detail.

Ledger-likes are, at least in part, command-line tools. This makes them efficient to use and very scriptable and flexible.

Ledger-likes also, at their core, tend towards functional operation: they read the input data without changing it, and output a report. This simple model makes them easy to understand and rely on.

-

read more

-

FAQ
+

read more

FAQ
Ledger-likes
related tools
  data import/conversion
@@ -160,58 +145,58 @@ th, td { border:none; padding-top:0; border-bottom:thin solid #ddd;} Project, start date Last release -Code, committers +Code, committers Mail list, size -Chat, size +Chat, size Ledger, 2003 2016/01 -C++ 142 +C++ 142 ledger-cli 650 -#ledger 100 +#ledger 100 hledger, 2007 2017/12 -Haskell 75 +Haskell 75 hledger 120 #hledger 50 Beancount, 2008 -Python 17 +Python 17 beancount 170 -#beancount 10 +#beancount 10 Abandon, 2013 2017/05 -Scala 12 +Scala 12 -gitter +gitter Ledger in Go, 2013 2017/12 -Go 5 +Go 5 - + Tackler, 2017 2018/01 -Scala 1 +Scala 1 -gitter +gitter .Net Ledger, 2017 2017/12 -C# 1 +C# 1 -gitter +gitter @@ -221,42 +206,42 @@ th, td { border:none; padding-top:0; border-bottom:thin solid #ddd;} Project, start date Last release -Code +Code uledger, 2015 -Python +Python pacioli, 2013 -Python +Python ledger.pl, 2013 -Perl +Perl Penny, 2012 2014 -Haskell +Haskell UMM, 2009 2010 -Haskell +Haskell cl-ledger, 2007 -Common Lisp +Common Lisp sm-Ledger, 2007 -Squeak Smalltalk +Squeak Smalltalk @@ -264,15 +249,12 @@ th, td { border:none; padding-top:0; border-bottom:thin solid #ddd;}

- -
    + -

    data import/conversion

    -
      +

    data import/conversion

    • Ledger and hledger have CSV conversion built in. Also:
    • banks2ledger - CSV to *ledger converter
    • bean-identify, bean-extract, bean-file - Beancount built-in tools
    • @@ -297,10 +279,7 @@ th, td { border:none; padding-top:0; border-bottom:thin solid #ddd;}
    • total_recall CSV to *ledger converter
    • ynab_to_ledger You Need A Budget to *ledger converter
    • Ledger in Go has limport, a CSV to *ledger converter
    • -
    -

    editor support

    -

    Grouped by editor. Note these often work quite well for other ledger-likes, not just the one they are named for.

    -
      +

    editor support

    Grouped by editor. Note these often work quite well for other ledger-likes, not just the one they are named for.

    -

    time logging

    -
      +

    time logging

    • org2tc org to timeclock converter
    • on-modify.timetrack.py taskwarrior hook for timeclock output
    • t ledger timeclock shellscript
    • tim time logging and reporting tool using hledger
    • -
    -

    UI, console

    -
      +

    UI, console

    • bean-add interactive transaction entry
    • hledger add interactive transaction entry (built-in command)
    • ledger-add interactive transaction entry
    • ledger-plot interactive helper for making charts with GNUplot
    • ledger xact history-aware transaction generator (built-in command)
    • recurring show/add recurring entries using Ledger
    • -
    -

    UI, curses

    -
      +

    UI, curses

    -

    UI, GUI

    -
      +

    UI, GUI

    -

    UI, web

    -
      +

    UI, web

    • fava web UI for browsing (Python, beancount, demo)
    • hledger-web web UI for browsing, data entry (Haskell, demo)
    • hledger-web on Sandstorm free web instances in a few clicks
    • @@ -361,15 +330,12 @@ th, td { border:none; padding-top:0; border-bottom:thin solid #ddd;}
    • ledgible web UI for browsing, data entry (Python, demo)
    • WealthPulse web UI for browsing, price fetching (F#, Ledger)
    • Ledger in Go has lweb, a web UI for browsing transactions, reports, and porfolios
    • -
    -

    API

    -
      +

    API

    - -


    -

    discussion

    -
    +-->


    discussion

    mail lists/IRC

    see above

    -
    -
    +

    stack exchange

    ledger, hledger

    -
    -
    +

    hacker news

    @@ -405,14 +366,12 @@ other console/curses tools - [Command Line Accounting With Ledger and Reckon](https://news.ycombinator.com/item?id=5233255) 2013 - [Ledger: Command-line double-entry accounting](https://news.ycombinator.com/item?id=872244) 2009 --> -
    -
    +
    -
    +

    twitter

    diff --git a/plaintext-accounting-errors.html b/plaintext-accounting-errors.html index b78e2c9..34171d5 100644 --- a/plaintext-accounting-errors.html +++ b/plaintext-accounting-errors.html @@ -36,7 +36,7 @@

    Don’t Sink Your First Attempts at Plaintext Accounting

    -

    I wrote the article below to help newcomers to plaintext accounting. Simon, if you think this would be useful for any of your websites, you have my permission to post it there. Enjoy! –Robert Nielsen, 2017/04/19

    +

    I wrote the article below to help newcomers to plaintext accounting. Simon, if you think this would be useful for any of your websites, you have my permission to post it there. Enjoy! --Robert Nielsen, 2017/04/19

    Plain text accounting programs such as Ledger and Hledger are powerful, helpful tools, but your own user errors can take the wind out of your sails when you would rather be breezing through your accounting. Here, then, are several mistakes—ones that I have personally tested—that you will want to avoid in order to enjoy the benefits of plaintext accounting without unnecessary pain.

    Preliminary assumptions: