Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: consider reserved stock while cancelling a stock transaction #37754

Merged
merged 9 commits into from
Nov 4, 2023

Conversation

s-aga-r
Copy link
Contributor

@s-aga-r s-aga-r commented Oct 30, 2023

Issue: Inward stock transactions should not be allowed to be cancelled if there is reserved stock.

Steps to Reproduce (In V15 or Develop):

  • Create new Items.
  • Create Stock Entry (Material Receipt) ex. 10 Qty.
  • Create a Sales Order ex. 10 Qty.
  • Reserve Stock for Sales Order ex. 10 Qty.
  • Now, cancel the Stock Entry.

Expected: A validation should be performed to ensure the reserved stock available in the system at any time. However, the user can unreserve the same and cancel the inward transaction if needed.

@github-actions github-actions bot added needs-tests This PR needs automated unit-tests. stock labels Oct 30, 2023
@codecov
Copy link

codecov bot commented Oct 30, 2023

Codecov Report

Merging #37754 (54b323e) into develop (2ce6bbf) will increase coverage by 0.01%.
Report is 2 commits behind head on develop.
The diff coverage is 77.02%.

@@             Coverage Diff             @@
##           develop   #37754      +/-   ##
===========================================
+ Coverage    67.38%   67.39%   +0.01%     
===========================================
  Files          755      755              
  Lines        60181    60247      +66     
===========================================
+ Hits         40551    40604      +53     
- Misses       19630    19643      +13     
Files Coverage Δ
erpnext/stock/doctype/bin/bin.py 97.05% <100.00%> (+0.18%) ⬆️
...pnext/stock/doctype/delivery_note/delivery_note.py 81.22% <100.00%> (+0.07%) ⬆️
...stock_reservation_entry/stock_reservation_entry.py 83.01% <100.00%> (+0.92%) ⬆️
erpnext/stock/stock_ledger.py 82.66% <63.04%> (-0.88%) ⬇️

... and 2 files with indirect coverage changes

@s-aga-r s-aga-r force-pushed the VALIDATE-RESERVED-STOCK branch 6 times, most recently from 8e2a2fb to ceb0b49 Compare November 2, 2023 05:30
@s-aga-r s-aga-r removed the needs-tests This PR needs automated unit-tests. label Nov 3, 2023
@s-aga-r s-aga-r force-pushed the VALIDATE-RESERVED-STOCK branch from 4a3ab9e to 54b323e Compare November 4, 2023 08:45
@s-aga-r s-aga-r marked this pull request as ready for review November 4, 2023 10:06
@s-aga-r s-aga-r merged commit e42a3e0 into frappe:develop Nov 4, 2023
12 checks passed
s-aga-r added a commit that referenced this pull request Nov 4, 2023
…ckport #37754) (#37906)

* fix: consider reserved serial nos while cancelling a stock transaction

(cherry picked from commit d9e2843)

* fix: consider reserved batches while cancelling a stock transaction

(cherry picked from commit e1a87a8)

* feat: add field `reserved_stock` in Bin

(cherry picked from commit 98d6cdd)

* feat: maintain `Reserved Stock` in Bin

(cherry picked from commit f52916a)

* fix: consider reserved stock while cancelling a stock transaction

(cherry picked from commit 73b65ac)

* fix(test): `test_stock_reservation_against_sales_order`

(cherry picked from commit 1024223)

* chore: patch to set reserved stock in Bin

(cherry picked from commit 1f88b1e)

* fix: qty based check for stock reservation of serial-batch items based on qty

(cherry picked from commit 9231706)

* test: add test case for stock stock reservation

(cherry picked from commit 54b323e)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
frappe-pr-bot pushed a commit that referenced this pull request Nov 16, 2023
# [15.1.0](v15.0.0...v15.1.0) (2023-11-16)

### Bug Fixes

* `PermissionError` while creating DN from SO (backport [#37758](#37758)) ([#37768](#37768)) ([e742310](e742310))
* `TypeError` in PR for non-stock item (backport [#37819](#37819)) ([#37842](#37842)) ([847dd9e](847dd9e))
* add translation wrapper (backport [#37911](#37911)) ([#37947](#37947)) ([915ca47](915ca47))
* asset depreciation ledger (backport [#37991](#37991)) ([#37993](#37993)) ([b3562bd](b3562bd))
* avoid name clash in delivery stop (backport [#37306](#37306)) ([#37702](#37702)) ([bfd240a](bfd240a))
* close `Credit Limit Crossed` dialog (backport [#38052](#38052)) ([#38059](#38059)) ([cff56d4](cff56d4))
* COA Importer app related issues ([#37238](#37238)) ([d5bf7a0](d5bf7a0))
* consider reserved stock while cancelling a stock transaction (backport [#37754](#37754)) ([#37906](#37906)) ([e0b0b6b](e0b0b6b))
* credit note receive payment entry ([9781f9b](9781f9b))
* **customer:** contact creation for companies ([#38055](#38055)) ([fc09d75](fc09d75))
* **customer:** quick form and integration fixes ([#37386](#37386)) ([02e2258](02e2258))
* **defaults:** apply discount and provisonal defaults from item group and brand if available (backport [#37466](#37466)) ([#37704](#37704)) ([f382b1c](f382b1c))
* deprecate unused create_contact ([6f2b34e](6f2b34e))
* don't reset rate if greater than zero in standalone debit note (backport [#37935](#37935)) ([#37941](#37941)) ([e156564](e156564))
* force delete removed report (backport [#37668](#37668)) ([#37670](#37670)) ([a871d95](a871d95))
* handle gle for standalone credit and debit notes ([6e463b1](6e463b1))
* Identical items are added line by line instead of grouped together in POS ([#37986](#37986)) ([011cf3d](011cf3d))
* ignore Stock Reservation for future dated PR (backport [#37979](#37979)) ([#37990](#37990)) ([d74f0ef](d74f0ef))
* In-Transit Warehouse company filter (backport [#37796](#37796)) ([#37798](#37798)) ([254ec2c](254ec2c))
* incorrect material request quantity in production plan (backport [#37785](#37785)) ([#37790](#37790)) ([8b3c4a9](8b3c4a9))
* indentation issue in the Production Plan Summary report (backport [#38019](#38019)) ([#38069](#38069)) ([6d325a4](6d325a4))
* indexing on Delivery Note Item (backport [#37766](#37766)) ([#37778](#37778)) ([98a7c17](98a7c17))
* link between parent and child procedure (backport [#37903](#37903)) ([#37944](#37944)) ([a065f22](a065f22))
* list index out of range (backport [#37890](#37890)) ([#37920](#37920)) ([e71ef10](e71ef10))
* make `Material Request Item` required if `Material Request` is set in PO (backport [#37928](#37928)) ([#37937](#37937)) ([7ad0817](7ad0817))
* make adjustment entry using stock reconciliation (backport [#37995](#37995)) ([#38009](#38009)) ([b23fa1f](b23fa1f))
* make changes that enable gantt view for job cards (backport [#37661](#37661)) ([#37757](#37757)) ([f132552](f132552))
* make item field read-only in batch (backport [#38010](#38010)) ([#38034](#38034)) ([99b7cdb](99b7cdb))
* make project page translatable (backport [#37743](#37743)) ([#37801](#37801)) ([59e67cd](59e67cd))
* Mark Status field in Payment Entry 'no_copy'. ([#38000](#38000)) ([3c0f8b1](3c0f8b1))
* minor change added to test_case ([b1714ec](b1714ec))
* minor issue ([24be044](24be044))
* **minor:** set tax values for item variants (backport [#37674](#37674)) ([#37739](#37739)) ([5c46d74](5c46d74))
* new logic for handling revaluation journals ([fb71a6e](fb71a6e))
* Not able to save subcontracting receipt ([#38085](#38085)) ([a874997](a874997))
* **packed_item:** ensure proper names for ref integrity (backport [#37597](#37597)) ([#37794](#37794)) ([9aa29f5](9aa29f5))
* permission error while creating Supplier Quotation from Portal (backport [#37864](#37864)) ([#37871](#37871)) ([be8399f](be8399f))
* **plaid:** Do not sync pending transactions ([2149de4](2149de4))
* POS change amount gl entry with no amount ([#37799](#37799)) ([fd7a768](fd7a768))
* Quality Inspection Parameter migration - DuplicateEntryError due to case sensitivity (backport [#37499](#37499)) ([#37917](#37917)) ([7d0f1f4](7d0f1f4))
* remove from or target warehouse for non internal transfer entries (backport [#37612](#37612)) ([#37627](#37627)) ([3155790](3155790))
* remove validation for negative outstanding invoices ([8602a3e](8602a3e))
* remove voucher type and no for Item and Warehouse based reposting ([b96be67](b96be67))
* sales order not assigned to territory orders (backport [#37905](#37905)) ([#38025](#38025)) ([40cc3a7](40cc3a7))
* skip check for removed validation ([22e58e0](22e58e0))
* sort by section code ([06bb1a3](06bb1a3))
* standard submit perm in repost ledger for editable invoices (backport [#37826](#37826)) ([#37855](#37855)) ([71361f7](71361f7))
* status for over delivery or billing ([95d6742](95d6742))
* test for invoice returns ([a89af58](a89af58))
* type error on new payment entry ([5937135](5937135))
* typo in AR report ([fc3d303](fc3d303))
* typo in function name and msg (backport [#37722](#37722)) ([#37741](#37741)) ([4819fde](4819fde))
* unsupported operand type(s) for serial and batch bundle in POS Invoice (backport [#37721](#37721)) ([#37731](#37731)) ([b03c65f](b03c65f))
* use get_all instead of get_list ([2a5b3bd](2a5b3bd))
* validate so item with qtn ([71538cf](71538cf))
* valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (backport [#38094](#38094)) (backport [#38097](#38097)) ([#38101](#38101)) ([880cea5](880cea5))

### Features

* **accounts_receivable:** test_case added for multi-select customer group ([848efe8](848efe8))
* add cols for supplier inv details ([e51e5b3](e51e5b3))
* allow return of components for SCO that don't have SCR created (backport [#37686](#37686)) ([#37693](#37693)) ([4044325](4044325))
* auto reserve stock for Sales Order on purchase (backport [#37603](#37603)) ([#37648](#37648)) ([da5bf50](da5bf50))
* **delivery:** link to delivery notes list view from delivery trip (backport [#37604](#37604)) ([#37696](#37696)) ([08ea62f](08ea62f))
* multi-select customer group in AR Report ([fff294f](fff294f))
* proprietorship & partnership options in entity type ([6df125a](6df125a))
* reserved production plan sub assembly items (backport [#37884](#37884)) ([#37927](#37927)) ([df90fd7](df90fd7))
* settings page for repost ([c047fd7](c047fd7))
* **Stock Balance:** add filters from route (backport [#37836](#37836)) ([#37840](#37840)) ([fad8228](fad8228))

### Performance Improvements

* Add index to supplier invoice field (backport [#37861](#37861)) ([#37863](#37863)) ([b1982a6](b1982a6))
* index return against for purchase invoice (backport [#37881](#37881)) ([#37883](#37883)) ([febd20a](febd20a))
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant