Skip to content

Latest commit

 

History

History
32 lines (19 loc) · 1.41 KB

File metadata and controls

32 lines (19 loc) · 1.41 KB

general_ledger

django double entry general ledger library

Warning

this is a work in progress.

This library provides at the basic level a set of double entry accounting primitives.

Basic features

  • Book - roughly corresponds to a company or organization. A book contains primitive objects such as accounts, transactions, and entries, and also higher level objects such as invoices and payments.

Primitives

  • Account - a ledger account
  • Ledger - a collection of transactions
  • Chart of Accounts - a collection of accounts. One and only one per ledger. But a book can have multiple CoA instances.
  • Transaction - a transaction between two or more ledger accounts, which must balance. Transactions must be associated to accounts in the same CoA.
  • TransactionEntry - a single entry in a transaction, which is a credit or debit to an account.

Higher level features

  • Contact - a contact or entity that can be associated with an invoice. Contacts can be customers, suppliers, or employees.
  • Invoice - a document that represents a request for payment from a customer. Invoices generate ledger transactions when they are posted.
  • Payment - a payment made against an invoice. This generates the corresponding ledger transactions when posted. These can be automatically generated by matching bank payments to invoices.

Usage

To use the double entry features directly, you can create