Commit Graph

250 Commits

Author SHA1 Message Date
Rohit Waghchaure
ddd24ea8c8 fix: incorrect incoming rate set for inter transfer purchase receipt 2022-08-09 14:50:20 +05:30
Nabin Hait
e1fa723eef fix: set args to empty list if None to avoid enumerate error 2022-07-20 15:19:09 +05:30
rohitwaghchaure
60dbd6a246
Merge pull request #31631 from rohitwaghchaure/slow-stock-reposting-issue
fix: slow stock reposting
2022-07-19 18:47:23 +05:30
Rohit Waghchaure
1d80d37ccf fix: slow stock reposting 2022-07-19 16:36:22 +05:30
Marica
2a2db8c64a
Merge branch 'develop' into lcv-future-stock-update 2022-07-19 12:53:51 +05:30
Sagar Sharma
f9885746a8
Merge branch 'develop' into subcontracting 2022-07-07 09:56:23 +05:30
Rohit Waghchaure
78c8bb251e fix: timeout error while reposting 2022-07-05 18:45:13 +05:30
marination
7a5fd71a6c fix: LCV updates wrong future qty/Bin qty
- As -ve LCV SLE case is returned from `repost_current_voucher`, future qty is not updated
- This just doubly shifts all future qty which is then fixed by a repost
- Until the repost balance values are wrong
- Bin continues to show wrong projected qty even after repost, this is fixed by next SLE that recalculates Bin
2022-07-04 17:46:54 +05:30
s-aga-r
f6ef3068d7 Merge branch 'develop' into subcontracting 2022-06-20 23:10:31 +05:30
s-aga-r
6d89b2fa28 refactor: backport old subcontracting code 2022-06-20 23:10:02 +05:30
Marica
d6078aa911
fix: Respect system precision for user facing balance qty values (#30837)
* fix: Respect system precision for user facing balance qty values

- `get_precision` -> `set_precision`
- Use system wide currency precision for `stock_value`
- Round of qty defiiciency as per user defined precision (system flt precision), so that it is WYSIWYG for users

* fix: Consider system precision when validating future negative qty

* test: Immediate Negative Qty precision test

- Test for Immediate Negative Qty precision
- Stock Entry Negative Qty message: Format available qty in system precision
- Pass `stock_uom` as confugrable option in `make_item`

* test: Future Negative Qty validation with precision

* fix: Use `get_field_precision` for currency precision as it used to

- `get_field_precision` defaults to number format for precision (maintain old behaviour)
- Don't pass `currency` to `get_field_precision` as its not used anymore
2022-06-17 15:13:13 +05:30
Sagar Sharma
213113bc00 Merge branch 'develop' into subcontracting 2022-05-20 12:13:13 +05:30
Sagar Sharma
323bdf85ce feat: SL and GL reposting 2022-05-20 10:45:34 +05:30
Sagar Sharma
409df263e8 refactor!: change "is_subcontracted" field type from "Select" to "Check" 2022-05-20 10:45:33 +05:30
Ankush Menat
7e2fbc050a fix: sort before picking next stock reco 2022-05-09 13:16:02 +05:30
Ankush Menat
7c839c4503 fix: double future qty updates
update_qty_in_future_sle is reprocessing rows which are already
processed by process_sle_against_current_voucher
2022-05-09 11:28:21 +05:30
Ankush Menat
e1c1687661 refactor: use db agnostic CombineDatetime 2022-04-26 11:03:32 +05:30
Ankush Menat
8f519545b0 test: repost queue progress 2022-04-19 17:38:36 +05:30
Ankush Menat
ecdb49314f fix: dependent GLE reposting 2022-04-19 17:38:36 +05:30
Ankush Menat
a281998bcb fix: prevent deleting repost queue for cancelled transactions 2022-04-08 14:57:55 +05:30
Sagar Sharma
d074c93ac7 refactor!: change "is_subcontracted" field type from "Select" to "Check" 2022-04-01 13:22:44 +05:30
Ankush Menat
494bd9ef78 style: format code with black 2022-03-28 18:52:46 +05:30
Ankush Menat
b93ce78df1 chore: dont supress errors server side
not required after https://github.com/frappe/frappe/pull/16284
2022-03-16 17:50:34 +05:30
Ankush Menat
7dd10367f4 fix: only update valuation rate if not None 2022-03-10 18:08:29 +05:30
mergify[bot]
7a3d30161f
fix: translate error message titles (#30105)
(cherry picked from commit 456ebc32f00be56cc9972cc76ac412776581060a)

Co-authored-by: Türker Tunalı <turker.tunali@gmail.com>
2022-03-08 10:42:30 +05:30
Ankush Menat
701878f60b revert "fix: FIFO valuation in case of multi-item entries"
This reverts commit b8ee193d1a124668691b3d8181ce4e3bf612afe0.

This is huge performance regression for large docs.
2022-03-02 13:11:04 +05:30
Ankush Menat
ccd2ce56b1 fix: FIFO valuation in case of multi-item entries 2022-03-02 13:11:04 +05:30
Ankush Menat
eb8495a401 docs: explain make_sl_entries arguments 2022-03-02 12:27:18 +05:30
Ankush Menat
efc4b943f8 fix: ignore serial no during landed cost voucher 2022-03-02 12:27:18 +05:30
Ankush Menat
609d2fccad fix: reset stock value if no qty 2022-02-21 18:02:40 +05:30
Ankush Menat
35483242b3 fix: extend round_off_if_near_zero fix to other methods 2022-02-21 18:02:40 +05:30
Ankush Menat
b534fee2c7 refactor: use queue difference instead of actual values 2022-02-21 18:02:40 +05:30
Ankush Menat
aba7a7ce4e fix: handle negative inventory inside a batch 2022-02-21 18:02:40 +05:30
Ankush Menat
d7ca83ef0b refactor: code duplication for fallback rates 2022-02-21 18:02:40 +05:30
Ankush Menat
d130233ffc test: fix expected test failures 2022-02-21 18:02:40 +05:30
Ankush Menat
102fff24c8 refactor: convert query to QB and make creation optional 2022-02-21 18:02:40 +05:30
Ankush Menat
ab926521bd fix: correct incoming rate for batched items 2022-02-21 18:02:40 +05:30
Ankush Menat
342d09a671 feat: get_valuation_rate batch wise
This function is used to show valuation rate on frontend and also as
fallback in case values aren't available. Add "batch_no" param to get
batch specific valuation rates.

Co-Authored-By: Alan Tom <2.alan.tom@gmail.com>
2022-02-21 18:02:40 +05:30
Ankush Menat
ce0514c8db feat: batch wise valuation rates
start with most used case: negative inventory isn't enabled

- simple addition of qty and value when new batch qty is added
- fetch outgoing rate from stock movement of specific batch
2022-02-21 18:02:40 +05:30
Ankush Menat
eb8b424722
feat: item-wise negative stock setting (#29761) 2022-02-12 13:08:28 +05:30
Ankush Menat
f089d39675 refactor: better method name
Co-authored-by: gavin <gavin18d@gmail.com>
2022-02-06 20:12:15 +05:30
Ankush Menat
97e18a1cd0 feat: allow selecting LIFO valuation 2022-02-06 20:12:11 +05:30
Ankush Menat
b855030e7c refactor: valuation class to allow extending 2022-02-06 20:12:11 +05:30
Marica
dbda10e092
Merge pull request #28987 from ankush/fix/srvaluation
fix: incorrect serial no valuation
2022-01-17 16:55:21 +05:30
Ankush Menat
66bf21f143
fix(patch): sle.serial_no = "\n" causes incorrect queue (#29306)
This happens due to old data.
2022-01-16 20:45:59 +05:30
Ankush Menat
82ea958730
fix: ignore cancelled SLEs (#29303) 2022-01-16 20:19:04 +05:30
Ankush Menat
b0cf6195e9
fix: only add stock queue if FIFO (#29302) 2022-01-16 13:02:23 +05:30
Ankush Menat
b9642a1036 fix: incorrect incoming rate computation for sr no 2022-01-16 12:39:34 +05:30
Ankush Menat
ff9a6e8e89 fix: correct bin qty on backdated transactions
When making a backdated transactions current balance qty depends on
evaluation of whole ledger inbetween, instead of doing that just fetch
the last sle's qty_after_transaction when future transactions are
detected against SLE

fix: don't update bin's actual_qty

1. it's already updated by repost_current_voucher
2. update if future sle exists
2021-12-20 20:05:49 +05:30
Ankush Menat
107b404105 chore: rename FifoValuation to FIFOValuation 2021-12-20 13:20:03 +05:30
Ankush Menat
a00d8d02b2 refactor: outgoing rate and defaults for remove_stock 2021-12-20 13:20:03 +05:30
Ankush Menat
4b29fb6d08 refactor: move Fifo Valuation to a new class 2021-12-20 13:20:03 +05:30
Ankush Menat
5eba57528c fix: check future negative stock for batches
batch's ledger is only maintained in form of `actual_qty` on batch's
SLEs. To validate if batch has any negative qty in future, cumulative
total of `actual_qty` is required to ensure it never goes negative.
2021-12-08 15:52:40 +05:30
Ankush Menat
cef84c25a7 refactor: simplify the way SLEs are submitted 2021-12-03 14:51:25 +05:30
Ankush Menat
97060c45e9 refactor: replace misleading variable name 2021-12-03 14:51:25 +05:30
Ankush Menat
aa024fc9da fix: ignore permissions while creating repost
If user reached this code then they already have permission to create
stock transaction, hence ignore permission checks while
creating/cancelling repost item valuation entries.
2021-11-22 12:40:18 +05:30
Ankush Menat
8fe5feb6a4 chore: remove all six compat code 2021-11-05 11:16:29 +05:30
Ankush Menat
6098e92ba9 chore: remove utf-8 compat code 2021-11-05 11:16:29 +05:30
Ankush Menat
f7ffe04a4b fix: use warehouse to find company 2021-11-01 14:13:56 +05:30
Ankush Menat
a0727b2e82 fix: pass company while fetching valuation rate
If company is not supplied and valuation rate is 0, then default
company is used for checking if perpetual inventory is enabled or not.
This makes little sense as different companies can have different
setting for perpetual inventory.
2021-11-01 14:13:56 +05:30
Ankush Menat
4ebae7c5dc
Merge branch 'develop' into optimize-get-item-details 2021-10-12 20:39:49 +05:30
Ankush Menat
7bafa11d57
fix: undo changes to allow negative stock flag 2021-10-12 20:39:10 +05:30
Deepesh Garg
6f107da165
perf: Add indexes in stock queries and speed up bin updation #27758
perf: Add indexes in stock queries and speed up bin updation
2021-10-12 20:15:55 +05:30
Saqib Ansari
c7fc609236 perf: skip insertion of stock ledger entry 2021-10-12 13:30:40 +05:30
rohitwaghchaure
e6a1ad8016
fix: not able to submit stock entry with 350 items (#27523) 2021-09-15 20:42:47 +05:30
Frappe PR Bot
d4d5e2786f
fix: Maintain same rate in Stock Ledger until stock become positive (#27227) (#27478)
* fix: Maintain same rate in Stock Ledger until stock become positive

* fix: Maintain same rate in Stock Ledger until stock become positive

(cherry picked from commit 10754831c33b3459d5a45c98f875afa48a444627)

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2021-09-15 17:07:58 +05:30
Chillar Anand
915b34391c
chore: Clean up imports (#27302)
* chore: Added isort to pre-commit config

* chore: Sort imports with isort

* chore: Clean up imports with pycln

* chore: Sort imports with isort

* chore: Fix import issues

* chore: Clean up sider issues

* chore: Remove import errors from flake8 ignore list

* chore: Clean up lint issues
2021-09-02 16:44:59 +05:30
Ankush Menat
c1d986a0c6
fix: revert "refactor: simplify initialize_previous_data" (#27270)
This reverts commit 2f5624e588541103adb4a3170f2886590dcee42e.
2021-08-31 19:43:42 +05:30
Ankush Menat
e7109c18db
fix: negative qty validation on stock reco cancellation (#27170)
* test: negative stock validation on SR cancel

* fix: negative stock setting ignored in stock reco

In stock reconcilation cancellation negative stock setting is ignored as
`db.get_value` is returning string `'0'` which is not casted to int/bool
for further logic. This causes negative qty, which evantually gets
caught by reposting but by design this should stop cancellation.

* test: typo and minor refactor
2021-08-26 16:40:45 +05:30
rohitwaghchaure
fe4540d74d
fix: allow to change rate manually in case of stand-alone credit note (#27036)
Co-authored-by: Marica <maricadsouza221197@gmail.com>
2021-08-26 12:52:36 +05:30
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
rohitwaghchaure
31fe5f5b92
fix: added progress bar in repost item valuation (#26680) 2021-08-02 11:01:30 +05:30
Nabin Hait
97bce3af9a refactor: Optimized code for reposting item valuation 2021-07-12 13:33:08 +05:30
marination
8c441263f8 fix: Sider 2021-07-05 21:59:04 +05:30
marination
4038977e2e fix: Handle Stock Reco cancellation and limit reposting
- Handled cancellation of reco with and without prior SLE
- Repost / Recalculate balance qty only till next stock reco
2021-07-05 21:58:57 +05:30
marination
8418c4bfe0 fix: Include Stock Reco logic in update_qty_in_future_sle 2021-07-05 21:58:50 +05:30
Rohit Waghchaure
e5fb23972a fix: available qty for consumption 2021-06-20 15:28:25 +05:30
Rohit Waghchaure
4d81d45a0e fix: time out while submitting the stock transactions with more than 50 items 2021-06-19 16:15:08 +05:30
Ankush Menat
9891780f5a
perf(minor): remove unnecessary comprehensions (port #25645) 2021-06-11 18:40:22 +05:30
Ankush Menat
4dcac4ae81
refactor(minor): Use identity instead of equality
Ignore false positive.
2021-05-21 13:49:58 +05:30
Ankush Menat
9979cf5fcc
fix: wrong quantity after transaction for parallel stock transactions
When two transactions are inserted parallelly then previous SLE could be
incorrect for some of them. Locking SLE table would prevent reading from
it till transaction is complete.
2021-05-21 12:31:06 +05:30
Rohit Waghchaure
bb3e5d00f4 fix: allow to receive same serial numbers multiple times 2021-05-06 12:38:35 +05:30
rohitwaghchaure
00ea336b52
fix: stock ledger entry created against draft stock entry (#25540) 2021-05-01 13:53:39 +05:30
rohitwaghchaure
1bdc457777
Merge pull request #25304 from ankush/fix_sl_rounding
fix(stock_ledger): round off values near to zero
2021-04-15 14:44:09 +05:30
rohitwaghchaure
ce6c3b5b74
fix: incorrect incoming rate for the sales return (#25306) 2021-04-13 20:55:52 +05:30
Ankush Menat
6a014d12c1
fix(stock_ledger): round off values near to zero 2021-04-12 20:21:27 +05:30
Sagar Vora
e50324aed7
perf: reduce number of queries for checking if future SL entry exists (#25064) 2021-03-31 12:44:03 +05:30
Sagar Vora
868c0bf45b
perf: reduce no of queries for checking if future sl entry exists (#24881) 2021-03-27 16:10:20 +05:30
Nabin Hait
d46b23699c
fix: optimize reposting of gle and sle (#24702)
* fix(india): escape for special characters in JSON (#24695)

JSON does not accept special whitespace characters like tab, carriage
return, line feed

Ref: https://www.ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf

Related issue: ISS-20-21-09811

* fix: Accounting Dimension creation background job timeout

* fix(regional): vehicle no is mandatory for ewaybill generation (#24679)

* fix: vehicle no required for e-invoice

* fix: ewaybill generation dialog condition

* fix: excluding unidentified accounts from gstr-1

* fix: optimize reposting of sle and gle (#24694)

* fix: optimize update_gl_entries_after method

* fix: Optimized reposting patch

* fix: accounting dimensions

* added reload_doc in patch

* Update item_reposting_for_incorrect_sl_and_gl.py

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>

* fix: Replaced spaces with tabs

* fix: merge conflict

* fix: test cases

Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
Co-authored-by: pateljannat <pateljannat2308@gmail.com>
Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
2021-02-23 16:38:52 +05:30
Nabin Hait
19f8fa59d3
fix: optimize reposting of sle and gle (#24694)
* fix: optimize update_gl_entries_after method

* fix: Optimized reposting patch

* fix: accounting dimensions

* added reload_doc in patch

* Update item_reposting_for_incorrect_sl_and_gl.py

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
2021-02-22 22:27:22 +05:30
Nabin Hait
186a045e28 fix: update qty in future sle (#24649)
* fix: update qty in future sle

* fix: validate cancellation due to ongoing reposting

* fix: process sle against current timestamp
2021-02-18 21:28:28 +05:30
Nabin Hait
deddcc513d fix: stock and account balance syncing (#24644)
* fix: stock and account balance syncing

* fix: stock and account balance syncing

* fix: stock and account balance syncing

* fix: minor fix
2021-02-18 21:28:16 +05:30
Nabin Hait
f2be0805f7 fix: formatting query args (#24627) 2021-02-18 21:25:59 +05:30
rohitwaghchaure
83792ec009 fix: reposting issue with same posting date and posting time (#24570)
* fix: reposting issue with same posting date and posting time

* Update erpnext/stock/stock_ledger.py

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2021-02-18 21:24:48 +05:30
Nabin Hait
d826bee13a
fix: update qty in future sle (#24649)
* fix: update qty in future sle

* fix: validate cancellation due to ongoing reposting

* fix: process sle against current timestamp
2021-02-18 14:14:21 +05:30
Nabin Hait
9b178bcd10
fix: stock and account balance syncing (#24644)
* fix: stock and account balance syncing

* fix: stock and account balance syncing

* fix: stock and account balance syncing

* fix: minor fix
2021-02-16 14:57:00 +05:30
Nabin Hait
243661b37b
fix: formatting query args (#24627) 2021-02-15 19:27:49 +05:30
rohitwaghchaure
aa00eb9898
fix: reposting issue with same posting date and posting time (#24570)
* fix: reposting issue with same posting date and posting time

* Update erpnext/stock/stock_ledger.py

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2021-02-11 13:23:01 +05:30
Nabin Hait
7177579051
fix: Dependant sle logic fixes (#24489)
* fix: Dependant sle logic fixes

* fix: negative qty validation

* fix: Travis fixes
2021-02-02 22:03:07 +05:30
Nabin Hait
243d59b0c3
Reposting logic fixes (#24520)
* fix: Dependant sle logic fixes

* fix: negative qty validation

* fix: Travis fixes

* fix: test fix
2021-02-02 16:55:13 +05:30