Commit Graph

58058 Commits

Author SHA1 Message Date
Rohit Waghchaure
1f075d4bbf feat: add batch-level option to allow negative stock for batch
(cherry picked from commit ca07982ee0)
2026-06-18 10:49:45 +00:00
Khushi Rawat
7f441864d6 Merge pull request #56084 from frappe/mergify/bp/version-16-hotfix/pr-56030
fix: lock budget distribution table and guard against null distributi… (backport #56030)
2026-06-18 14:34:18 +05:30
Shllokkk
2b28b7e694 fix: lock budget distribution table and guard against null distribution rows
(cherry picked from commit d37e5cd97d)
2026-06-18 08:28:37 +00:00
Mihir Kandoi
56d9cbabbf Merge pull request #56049 from aerele/backport-56003
fix(stock): update transfer status for mixed transfer flows
2026-06-17 17:20:55 +05:30
pandiyan
4481efec17 test(stock): validate completed status for mixed transfer methods 2026-06-17 16:58:32 +05:30
pandiyan
84a1a51023 fix(stock): update transfer status for mixed transfer flows 2026-06-17 16:58:23 +05:30
Mihir Kandoi
98f45221e6 Merge pull request #56043 from mihir-kandoi/codex/fix-stock-ageing-reco-ageing-v16
fix: preserve stock ageing on non-serial reconciliation
2026-06-17 16:20:49 +05:30
Mihir Kandoi
846e0a9f06 fix: preserve stock ageing on non-serial reconciliation 2026-06-17 15:58:47 +05:30
ruthra kumar
6185507614 Merge pull request #56024 from frappe/mergify/bp/version-16-hotfix/pr-55988
refactor(test): remove dependency on accounts test mixin (backport #55988)
2026-06-17 07:59:00 +05:30
ruthra kumar
d051407126 refactor(test): remove redundant clear method and minor fixes
(cherry picked from commit 004087097c)
2026-06-17 02:11:27 +00:00
ruthra kumar
3d91e021a3 refactor(tests): replace AccountsTestMixin master data setup with direct attribute assignments
All test classes inheriting AccountsTestMixin that called create_company(),
create_item(), create_customer(), create_supplier(), create_usd_receivable_account(),
and create_usd_payable_account() in setUp() now set instance attributes directly
using master data pre-created by BootStrapTestData, eliminating redundant DB
inserts on every test run.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 1fda0dfb9b)
2026-06-17 02:11:26 +00:00
Ravibharathi
3586df8ed6 fix: set transaction currency on payment entry gl entries (#55989) 2026-06-17 02:19:56 +05:30
mergify[bot]
f4bf35aa31 fix(company): replaced "this company" with company name on delete transactions dialog (backport #56021) (#56023)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
fix(company): replaced "this company" with company name on delete transactions dialog (#56021)
2026-06-17 02:14:41 +05:30
mergify[bot]
ab856d370a fix: update system manager permissions (backport #55978) (#56005)
Co-authored-by: nareshkannasln <nareshkannashanmugam@gmail.com>
2026-06-17 00:56:12 +05:30
mergify[bot]
2bfb5fe8b8 fix: check for bank account permission when updating balance (backport #56016) (#56017)
fix: check for bank account permission when updating balance (backport #56016)
2026-06-17 00:54:45 +05:30
rohitwaghchaure
b34373e5da Merge pull request #56009 from frappe/mergify/bp/version-16-hotfix/pr-55983
fix: provision to recalculate valuation rate during reposting (backport #55983)
2026-06-16 22:20:30 +05:30
mergify[bot]
7c99018b84 chore(deps): bump vite from 8.0.11 to 8.0.16 in /banking (backport #56007) (#56010) 2026-06-16 16:36:56 +00:00
Rohit Waghchaure
9fcb730090 fix: test case
(cherry picked from commit e183e32619)
2026-06-16 15:52:30 +00:00
Rohit Waghchaure
7877c2e2aa test: reset dont_execute_stock_reposts flag in tearDown
The test_prevention_of_cancelled_transaction_riv test sets
frappe.flags.dont_execute_stock_reposts = True without resetting it,
which leaked into the recalculate_valuation_rate tests and made
repost() a no-op (incoming rate stayed unchanged). Reset the flag
in tearDown so reposts run for subsequent tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit 28992eb2f4)
2026-06-16 15:52:29 +00:00
Rohit Waghchaure
5b61304046 fix: provision to recalculate valuation rate during reposting
(cherry picked from commit 0ae61c4921)
2026-06-16 15:52:29 +00:00
mergify[bot]
125bda95ed feat(banking): PDF statement importer and overriding column mapping (backport #55559) (#55993) 2026-06-16 21:08:43 +05:30
Mihir Kandoi
78b7da1a44 Merge pull request #55992 from frappe/mergify/bp/version-16-hotfix/pr-55985
fix(stock): show only batched items in batch item selector (backport #55985)
2026-06-16 20:36:34 +05:30
rohitwaghchaure
88717678d3 Merge pull request #55996 from frappe/mergify/bp/version-16-hotfix/pr-55986
chore: removed redundant validation in SCR (backport #55986)
2026-06-16 19:45:50 +05:30
rohitwaghchaure
f1e4e651be Merge pull request #55998 from frappe/mergify/bp/version-16-hotfix/pr-55971
fix: exclude non-stock item's tax value from stock valuation (backport #55971)
2026-06-16 19:42:23 +05:30
Rohit Waghchaure
3d6c7f4512 fix: exclude non-stock item's tax value from stock valuation
(cherry picked from commit 13e1f84eb1)
2026-06-16 13:41:27 +00:00
Rohit Waghchaure
5c14d56a83 chore: removed redundant validation in SCR
(cherry picked from commit 1b4487450c)
2026-06-16 13:38:48 +00:00
mergify[bot]
3243e4237a fix(banking): miscellaneous bug fixes (backport #55492) (#55979) 2026-06-16 18:43:19 +05:30
Dharanidharan2813
11b3841418 fix(stock): show only batched items in batch item selector
(cherry picked from commit 62f6d18143)
2026-06-16 13:01:19 +00:00
Mihir Kandoi
395e57171e Merge pull request #55967 from frappe/mergify/bp/version-16-hotfix/pr-55852
fix(bom): allow zero qty for secondary items in BOM (backport #55852)
2026-06-16 17:27:58 +05:30
Sudharsanan Ashok
ee40f70f37 Merge pull request #55976 from frappe/mergify/bp/version-16-hotfix/pr-55943
refactor: ignore cancelled GLE's while looking for account (backport #55943)
2026-06-16 17:26:50 +05:30
Mihir Kandoi
181233d3fe Merge pull request #55977 from frappe/mergify/bp/version-16-hotfix/pr-55851
feat: add alternate UOM balance columns to Stock Balance report (backport #55851)
2026-06-16 17:15:16 +05:30
Mihir Kandoi
4f96073d59 fix: bump BOM secondary item metadata timestamp 2026-06-16 16:49:48 +05:30
mergify[bot]
4ba5557a3f fix: remove wrapper for list items in error messages (backport #54848) (#55973) 2026-06-16 11:15:21 +00:00
Dipen Gala
96465a7936 fix: resolve pre-commit formatting and missing UOM in stock balance test
- Reformat generator expression in add_alt_uom_columns to satisfy ruff
  line-length rule (pre-commit was auto-fixing this and failing CI)
- Create "Carton" UOM before use in test_alt_uom_balance_uses_first_alternate_uom
  to avoid LinkValidationError when "Carton" doesn't exist in test DB

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 987f606b4d)
2026-06-16 11:13:37 +00:00
Dipen Gala
1349bcc535 refactor(stock-balance): reduce alt UOM to single column, fix i18n, add tests
- Reduce from 2 alternate UOM columns to 1 (first alt UOM by idx)
- Fix broken translation strings: replace _(f"...{slot}") with
  _("...") — f-strings inside _() are never extracted by bench
  get-untranslated, breaking non-English installations
- Simplify fieldnames: alt_uom_1/alt_uom_1_bal_qty → alt_uom/alt_uom_bal_qty
- Add 4 test cases covering: single alt UOM, no alt UOM, disabled filter,
  and multiple alt UOMs (first-wins behaviour)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 021b807057)
2026-06-16 11:13:36 +00:00
Dipen Gala
cd1f872912 feat: add alternate UOM balance columns to Stock Balance report
Closes #52953

The Stock Balance report previously showed balance qty only in the item's
stock UOM. To view balance in an alternate UOM, users had to set the
"Include UOM" filter — which applies a single UOM to all items. This breaks
down when different items use different alternate UOMs (e.g., Pens in Box,
Ink in Milliliters).

This change adds a new "Show Alternate UOM Balance" checkbox filter. When
enabled, up to two alternate UOM columns are injected right after the
Balance Qty column:

  Balance Qty | Alt UOM 1 | Balance Qty (Alt UOM 1) | Alt UOM 2 | Balance Qty (Alt UOM 2)

Each row resolves its own alternate UOMs from `tabUOM Conversion Detail`
(ordered by idx, excluding the item's stock UOM). The converted balance
qty is computed as: stock qty / conversion_factor.

Items with fewer than 2 alternate UOMs leave the extra columns blank.
The existing "Include UOM" filter behaviour is unchanged.

(cherry picked from commit 2d93c5835a)
2026-06-16 11:13:36 +00:00
ervishnucs
6475df89c9 refactor: ignore cancelled GLE's while looking for account
(cherry picked from commit 40942401df)
2026-06-16 11:08:44 +00:00
mergify[bot]
961a9ad321 fix: UI/UX issues in new banking module (backport #54824) (#55951) 2026-06-16 16:22:04 +05:30
mergify[bot]
5cdb481bdf fix(accounts): removed whitelist on get_balance_on (backport #55956) (#55965)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
fix(accounts): removed whitelist on `get_balance_on` (#55956)
2026-06-16 15:31:08 +05:30
Mihir Kandoi
c7cc0fec0f fix: resolve v16 BOM backport conflicts 2026-06-16 15:12:06 +05:30
Mohammad Umair Sayed
57a7bcae8e refactor(bom): drop redundant secondary item qty None check
Float fields default to 0, so qty is never None. Per review feedback,
remove the validation entirely.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit c1bef53f92)

# Conflicts:
#	erpnext/manufacturing/doctype/bom/bom.py
2026-06-16 09:36:18 +00:00
Umair Sayed
532c343b57 refactor(bom): remove qty=0 alert from BOM Secondary Item JS
The informational toast is not required for the feature to work.
The core fix (reqd removed from JSON, validation relaxed in bom.py)
is sufficient to allow zero qty on BOM secondary items.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit bc7c0de208)
2026-06-16 09:36:17 +00:00
Umair Sayed
509038971c fix(manufacture): preserve user-entered rate for secondary items with zero cost allocation
When a BOM secondary item has cost_allocation_per = 0 (the default), the
previous code unconditionally computed `0 / transfer_qty = 0`, wiping any
rate the user had entered for the item. Now the allocation formula only runs
when cost_allocation_per > 0, allowing the valuation-rate fallback (or a
manually entered rate) to apply instead.

Additionally, secondary items with transfer_qty = 0 now short-circuit the
entire rate pipeline: they get rate = 0 and amount = 0 immediately, avoiding
a ZeroDivisionError and the spurious "enter basic rate" prompt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit de3df6bcef)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/stock_entry.py
2026-06-16 09:36:17 +00:00
Umair Sayed
7d95acabe7 fix(bom): allow zero qty for secondary items (Co-Product, By-Product, Scrap, Additional Finished Good)
Secondary output items in a BOM do not always guarantee output during
manufacture. The actual qty is only known when manufacturing completes,
so setting zero in the BOM is a valid way to express "output is
non-deterministic".

Changes:
- Remove `reqd: 1` from the qty field in BOM Secondary Item so that 0
  is accepted as an explicit value (non_negative constraint is kept, so
  negative values are still rejected).
- Relax validate_secondary_items() in bom.py to only reject qty that is
  None/missing, not qty that is explicitly 0.
- Add a qty event handler in bom.js that shows a blue informational
  alert when the user sets qty to 0, explaining that the actual output
  will be recorded at manufacture time.

Fixes https://github.com/frappe/erpnext/issues/55401

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 6771daf6a1)

# Conflicts:
#	erpnext/manufacturing/doctype/bom/bom.py
2026-06-16 09:36:17 +00:00
ruthra kumar
0326793355 Merge pull request #55962 from frappe/mergify/bp/version-16-hotfix/pr-53152
fix: prevent exchange rate flow from transaction to payment (backport #53152)
2026-06-16 14:23:44 +05:30
ruthra kumar
3753425d34 Merge pull request #55955 from frappe/mergify/bp/version-16-hotfix/pr-55934
fix(budget): add root_type filter on account field (backport #55934)
2026-06-16 14:09:58 +05:30
ervishnucs
7900239c96 test: resolve failed testcases for exchage rate
(cherry picked from commit 3b5a203d61)
2026-06-16 08:33:48 +00:00
ervishnucs
d7de07bfd4 fix: prevent exchange rate flow from transaction to payment
(cherry picked from commit 934abe5c6d)
2026-06-16 08:33:48 +00:00
ruthra kumar
8693834802 Merge pull request #55959 from frappe/mergify/bp/version-16-hotfix/pr-55949
refactor(test): speed up item wise inventory test (backport #55949)
2026-06-16 12:54:04 +05:30
ruthra kumar
1526e29868 Merge pull request #55958 from frappe/mergify/bp/version-16-hotfix/pr-55948
refactor(test): faster transaction deletion record tests (backport #55948)
2026-06-16 12:39:22 +05:30