1
0
Files
plaintextaccounting/index.md
2016-02-16 21:01:52 +01:00

9.8 KiB

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).

… with text

Ledger and the other Ledger-likes inspired by it are minimalist software tools for efficient double-entry accounting. This site introduces them and their way of doing things.

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 instead - 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 simplicity makes them easy to understand and rely on.

questions ?

who is this for ?
Techies, power users, and do-it-yourself-ers, at least for now. If you need a rich GUI and lots of structure, you may prefer a more traditional GUI tool.

what are the alternatives ?
GNUCash, Grisbi, KMyMoney or other FOSS tools, proprietary tools like Quicken/Quickbooks, online tools like Xero, spreadsheets, paper accounting.

why is this better than QuickBooks ?
Your data remains accessible. No yearly fees. Free software you can fix and port. Cross platform. Scriptable. Efficient.

how do I communicate with my accountant ?
Clean up text reports by hand, print them as PDF, export CSV reports to a spreadsheet..

what if my accountant only uses QuickBooks ?
You'll need a new accountant, or a duplicate set of books in QuickBooks, or to pioneer *ledger -> QuickBooks exporting.

can I use this to do my taxes ?
You can use this to track and report the data needed for tax reporting. Fill out and submit tax forms with another tool, or by hand.

Ledger-likes

Code, committers Mail list IRC, size
Ledger C++ 101 ledger-cli #ledger 70
hledger Haskell 30 hledger #hledger 20
Beancount Python 8 beancount #beancount 1
Abandon Scala 5
Ledger in Go Go 2
Inactive:
cl-ledger Common Lisp
ledger.pl Perl
Penny Haskell
UMM Haskell
data import
  • icsvledger CSV to journal converter
  • ledger-autosync convert OFX to journal, deduplication, bank download
  • reckon smart interactive/non-interactive CSV to journal converter
editing
time tracking
  • org2tc org to timeclock converter
  • taskwarrior todo list manager, some *ledger integration for time reporting
  • tim time tracking tool using hledger for reports
UI, console
UI, GUI
  • ledgerhelpers GUI tools and python library front end for Ledger
UI, web

docs

common tasks

data entry
reconciling
reporting
forecasting
budgetting
shared expenses
tax reporting
time tracking
import and export