This project is not covered by Drupal’s security advisory policy.


Relatively stable but subject to change...

If you are using this module with real data, please subscribe to this issue: #1477546: [META] Ledger dev version release updates

The data architecture is subject to change as long as this module is in DEV status. I will not be writing automated update routines until the first alpha or beta release. So if you are using it with real data, be warned: it might break!

I created the issue above so that people can begin using this module while it's in DEV status if they want, but still maintain flexibility in the development process on my end.

Current status

Currently the module is in development. Please refer to the #2046251: [META] Ledger Roadmap for more information about where things stand, and where you can lend a hand!


This module aims to provide a basic double-entry bookkeeping system for Drupal 7. The end goal is to create a data architecture for all the basic accounting entity types/concepts, and a basic UI to manage them with.


A book is a collection of accounts. After installing Ledger, the first thing you'll do is create a book. Then, in that book you'll create your accounts.


Accounts are the various asset, liability, income, expense, and equity accounts that you are entering transactions into.

Account entries

Account entries are single credits/debits to a specific account, as part of a specific transaction. Account entries in Ledger are behind-the-scenes entities, and are only created/edited/deleted with the transaction they are assigned to.


Transactions relate two or more account entries, and give them a timestamp and description.


Create budgets that specify a transaction between two accounts at a given interval for a given amount of time.


Importing data

There is a dedicated module for importing data: Ledger Import

Project information