* fix: Discount and taxes in return document should follow the reference document (#41911)
* fix: Discount and taxes in return document should follow the reference document
* fix: Ignore Pricing rule on debit/credit note if created against PI/SI with test cases
* fix: linter issue
(cherry picked from commit 281198456d)
# Conflicts:
# erpnext/controllers/sales_and_purchase_return.py
* fix: resolved conflict
---------
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
* fix: specify precision for net_amount
* fix: correct existing test to account for precision
* fix: rounding issue in test cases
* fix: optional grand total manipulation
* fix: use `grand_total_diff` for manipulation
* fix: patch to set default for grand total manipulation
* fix: wrong rounding assertion for USD
* fix: undefined this.frm error
* chore: linters
* fix: `net_amount` percision and method rename
* fix: missing frm reference
* chore: minor cleanups and depr message
* refactor: remove optional adjusting of grand total
(cherry picked from commit 50d56db0c2)
# Conflicts:
# erpnext/public/js/controllers/accounts.js
# erpnext/public/js/controllers/taxes_and_totals.js
* feat: Filter out alternative item rows in taxes and totals for Quotation
- Added a Quotation Item field `is_alternative_item`
- Use filtered rows for taxes and totals computation
(cherry picked from commit 91982d1e4f)
# Conflicts:
# erpnext/selling/doctype/quotation_item/quotation_item.json
* feat: Consider filtered items table in JS for totals computation
- Set `_items` as filtered rows if quotation else the entire table. Set at entry point of JS API
- Use `_items` instead of `items` to compute taxes and charges. Exclude alternative item rows
(cherry picked from commit f19eadab9a)
* feat: Dialog to select alternative item before creating Sales order
- Users can leave the row blank in the dialog if original item is to be used
- Else users can select an alternative item against an original item
- In the document, users must check `Is Alternative Item` if needed and also specify which item it is an altenrative to since there are no documented mappings
(cherry picked from commit cef7dfd0b4)
# Conflicts:
# erpnext/selling/doctype/quotation/quotation.js
# erpnext/selling/doctype/quotation_item/quotation_item.json
* feat: Filter rows to be mapped on server side mapping function
- Pass dialog selections to `make_sales_order`
- Map either original item or its alternative depending on mapping
- Only qty check for simple rows (without alternatives and not an alternative itself)
(cherry picked from commit 94cacb60de)
* chore: Validate 'alternative_to' field values, must be a valid non-alterntaive item from table
(cherry picked from commit fa9b327501)
* fix: Iterate over list instead of map's output and formatting
(cherry picked from commit ece6358e60)
* fix: Consider only ordered alternative/original item for Quotation status
- The original and its alternatives make a set of items where one is chosen
- While setting order status of Quotation, check if the chosen item from the set is fully ordered or not
- Filter out unselected items from the set
- Create a map containing the set of items and if they were ordered or not for ease of grouping
- The simple items will work as it used to
(cherry picked from commit b3fe7c6dad)
* chore: Code simplification
- Map is not required, avoid filter multiple times, use single loop instead
- Better variable name
- Reduce LOC
(cherry picked from commit 03321f5f13)
* refactor: Order based alternative items mapping
- Alternatives must be followed by a non-alternative item row
- On submit, store non-alternative rows in hidden checkbox to avoid recomputation
- Check for valid/mappable rows by row name
- UI: Select from table rows.Add single row for original/alternative item in dialog
- UI: Indicator for alternative items in dialog grid
- UI: Indicator legend and description of table
- DB: Added check field 'Has Alternative Item' not to be confused with 'Has Alternative' in Mfg
(cherry picked from commit db2076db69)
# Conflicts:
# erpnext/selling/doctype/quotation_item/quotation_item.json
* test: Alternative items in Quotation
- Taxes and totals, mapping, back updation
(cherry picked from commit 74fab53e28)
* fix: Use block variable
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
(cherry picked from commit 3c96791d52)
* fix: Handle `Get Items From` in Sales Order
- Map all non alternatives from Quotation to SO if no selected items
- Show disclaimer mentioning that Qtns with alternatives must be mapped to SO from the Qtn form
(cherry picked from commit 19456127cf)
* fix: Map only non alternative items from Quotation in Sales Invoice
- Since there's no item selection, only Quotation selection :/
(cherry picked from commit 6b789e2f04)
* fix: Merge conflicts
---------
Co-authored-by: marination <maricadsouza221197@gmail.com>