Project Home

Differences between Beancount and Ledger

Date: 2008-04-23
Author: Martin Blais <blais@furius.ca>

Abstract

A document that summarizes the differences between the valid syntax for Beancount and the syntax of Ledger.

Introduction

Beancount is an accounting system that uses simple text files, whose syntax is meant to be compatible with John Wiegley's Ledger program. Beancount supports a subset of the Ledger syntax, but also provides some additional directives not found in Ledger. This document summarizes those differences. (This document is meant to be complementary to the Ledger documentation.)

Some of the unsupported syntax is due to the fact that only a partial parser for the Ledger syntax was implement, because the intention is to eventually use the Ledger program as a Python module to do the parsing, but some of it is there because we felt that some features were not necessary.

Unsupported Syntax

Beancount...

About Dates

All check dates are assumed to be at midnight at the start of the given day. All transaction dates are assumed to occur something withint the day. Therefore, when you place an @check directive, you are asserting this amount at the beginning of the day, before any of the transactions of that day occur.

Features not found in Ledger

FIXME todo