Ankush 9152715f90
perf: various minor perf fixes for ledger postings (#26775)
* perf: only validate if voucher is journal entry

* perf: optimize merge GLE

- Order fields such that comparison will fail faster
- Break out of loops if not matched

* perf: don't try to match SLE if count mismatch

* refactor: simplify initialize_previous_data

* perf: use cache for fetching valuation_method

These are set only once fields

* refactor: simplify get_future_stock_vouchers

* refactor: simplify get_voucherwise_gl_entries

* perf: fetch only required fields for GL comparison

`select *` fetches all fields, output of this function is only used for
comparing.

* perf: reorder conditions in PL cost center check

* perf: reduce query while validating new gle

* perf: use cache for validating warehouse props

These properties don't change often, no need to query everytime.

* perf: use cached stock settings to validate SLE

* docs: update misleading docstring

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2021-08-11 11:17:50 +05:30
..
2021-08-01 14:45:24 +05:30
2021-06-15 20:18:06 +05:30

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