tree: 54d52927adfef9d5c04e87a06d9b36525482db23 [path history] [tgz]
  1. accounts_dashboard/
  2. custom/
  3. dashboard_chart/
  4. dashboard_chart_source/
  5. doctype/
  6. form_tour/
  7. module_onboarding/
  8. notification/
  9. number_card/
  10. onboarding_step/
  11. page/
  12. print_format/
  13. print_format_field_template/
  14. report/
  15. test/
  16. workspace/
  17. __init__.py
  18. deferred_revenue.py
  19. general_ledger.py
  20. party.py
  21. README.md
  22. test_party.py
  23. utils.py
erpnext/accounts/README.md

Accounts module contains masters and transactions to manage a traditional double entry accounting system.

Accounting heads are called "Accounts" and they can be groups in a tree like "Chart of Accounts"

Entries are:

  • Journal Entries
  • Sales Invoice (Itemised)
  • Purchase Invoice (Itemised)

All accounting entries are stored in the General Ledger

Payment Ledger

Transactions on Receivable and Payable Account types will also be stored in Payment Ledger. This is so that payment reconciliation process only requires update on this ledger.

Key Fields

FieldDescription
account_typeReceivable/Payable
accountAccounting head
partyParty Name
voucher_noVoucher No
against_voucher_noLinked voucher(secondary effect)
amountcan be +ve/-ve

Design

debit and credit have been replaced with account_type and amount. against_voucher_no is populated for all entries. So, outstanding amount can be calculated by summing up amount only using against_voucher_no.

Ex:

  1. Consider an invoice for ₹100 and a partial payment of ₹80 against that invoice. Payment Ledger will have following entries.
voucher_noagainst_voucher_noamount
SINV-01SINV-01100
PAY-01SINV-01-80
  1. Reconcile a Credit Note against an invoice using a Journal Entry

An invoice for ₹100 partially reconciled against a credit of ₹70 using a Journal Entry. Payment Ledger will have the following entries.

voucher_noagainst_voucher_noamount
SINV-01SINV-01100
CR-NOTE-01CR-NOTE-01-70
JE-01CR-NOTE-01+70
JE-01SINV-01-70