Commit Graph

58900 Commits

Author SHA1 Message Date
Mihir Kandoi
0b01a93e2e Merge pull request #58090 from frappe/mergify/bp/version-16-hotfix/pr-58073
fix(manufacturing): show full date range in MRP chart (backport #58073)
2026-08-12 15:25:53 +05:30
Mihir Kandoi
58a489f73f chore: resolve conflict 2026-08-12 15:14:42 +05:30
Mihir Kandoi
1b37fd2edc fix(manufacturing): keep MRP chart dates distinct
(cherry picked from commit 5ad085887d)
2026-08-12 09:24:57 +00:00
Mihir Kandoi
5b68db0156 test(manufacturing): cover MRP chart date range
(cherry picked from commit 592924cc0d)

# Conflicts:
#	erpnext/manufacturing/report/material_requirements_planning_report/test_material_requirements_planning_report.py
2026-08-12 09:24:56 +00:00
soulxone
de06cb7f45 fix(Material Requirements Planning Report): detailed-view chart timescale
The detailed-view chart collapsed every row into a single "today" column
and was additionally capped at 10 points, so the chart never matched the
report's date filters or the table data.

Two causes in get_detailed_view_chart_data:

1. `row.deliver_date` was a typo for `row.delivery_date` (the name used
   everywhere else in this report). On a frappe._dict the missing
   attribute resolves to None, so `getdate(None)` returned today and the
   past-date filter silently compared every row against today instead of
   its own delivery date.

2. A hard `if i == 10: break` truncated the chart to 10 date buckets.

Use the correct field name and drop the cap. The null check now runs
before the date comparison, since `getdate(None)` returning today meant
the original ordering could never filter a null delivery_date out.

Fixes #52632

(cherry picked from commit 3c17a604be)
2026-08-12 09:24:56 +00:00
MochaMind
f697b024db fix: sync translations from crowdin (#58069) 2026-08-11 23:27:27 +00:00
mergify[bot]
db22fcb157 fix(coa_importer): added server-side validations for importing chart of accounts (backport #58065) (#58066)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-08-11 22:15:08 +00:00
MochaMind
a9d139ae6b fix: sync translations from crowdin (#57841)
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2026-08-12 01:17:44 +05:30
mergify[bot]
d680115fcb fix: mirror rounding adjustment on distributed_discount_amount (backport #58047) (#58055)
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2026-08-11 18:38:32 +00:00
mergify[bot]
a707c82c0c fix: allow non-admin roles to import chart of accounts (backport #57454) (#58060)
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
2026-08-12 00:03:02 +05:30
mergify[bot]
5f43c89c45 fix: item property updates in POS and transactions and add styling (backport #57189) (#58058)
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
Co-authored-by: Afsal Syed <afsalsyed12@gmail.com>
2026-08-11 17:32:18 +00:00
Diptanil Saha
b89229a93d fix(selling): read overdue amount from payment ledger, not gl tags (backport #57786) (#58057)
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com>
2026-08-11 16:52:10 +00:00
mergify[bot]
f11d0d5cec fix(consolidated cash flow): correct totals and labels in section foo… (backport #57336) (#58056)
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
2026-08-11 16:42:43 +00:00
Mihir Kandoi
0637bdad11 Merge pull request #58053 from frappe/mergify/bp/version-16-hotfix/pr-58051
fix(selling): reset stale item details on item change (backport #58051)
2026-08-11 21:48:39 +05:30
Mihir Kandoi
bc6cb75bf4 chore: resolve conflict 2026-08-11 21:19:00 +05:30
Mihir Kandoi
218397e78d fix(selling): preserve explicit UOM during item selection
(cherry picked from commit e8c890a844)

# Conflicts:
#	erpnext/utilities/transaction_base.py
2026-08-11 15:36:19 +00:00
Mihir Kandoi
b5d727fb81 fix(selling): reset stale item details on item change
(cherry picked from commit 009961edc7)
2026-08-11 15:36:18 +00:00
Mihir Kandoi
7fd507ec3f Merge pull request #58040 from mihir-kandoi/backport-58036-version-16-hotfix
fix(stock): validate warehouse accounts when used (backport #58036)
2026-08-11 18:56:16 +05:30
Mihir Kandoi
4255249363 Merge pull request #58043 from mihir-kandoi/fix-po-invoice-billing-distribution-version-16
fix: distribute PO-invoice billed amount across receipts without duplication (backport #58021)
2026-08-11 18:55:15 +05:30
Mihir Kandoi
c8d0d457cb chore(stock): drop redundant supplier warehouse comment 2026-08-11 18:30:57 +05:30
Mihir Kandoi
f1ca9e2631 test(stock): cover named validation error and same-transaction parent inheritance 2026-08-11 18:30:22 +05:30
Mihir Kandoi
fce0eb1577 fix(stock): validate new warehouse inventory account after naming
Move the insert-time check from before_insert to validate. before_insert
runs before set_new_name, so the validation message rendered the
warehouse name as None. validate runs after naming and only applies to
new documents via is_new().

Resolve inheritance through the parent's lft/rgt bounds instead of the
request-cached warehouse account map. The cached map can be stale within
a request (a parent created moments earlier is missing from it), which
made get_warehouse_account trigger a full nested-set rebuild_tree and
could falsely reject a child whose parent carries a valid account.
rebuild_tree enables auto_commit_on_many_writes, which must not run
inside a document insert.
2026-08-11 18:30:22 +05:30
Mihir Kandoi
e9b7d8195b test: cover repair patch exclusion for invoice-created receipts
(cherry picked from commit d34519f536)
2026-08-11 18:28:46 +05:30
Mihir Kandoi
9139994686 fix: skip PO items with invoice-created receipts in billing repair patch
A Purchase Receipt row created from a Purchase Invoice carries both
purchase_order_item and purchase_invoice_item, and its billed_amt is pinned
to the row amount by update_billing_status. Redistributing the PO-invoiced
pool over such rows zeroes the invoice-created receipt and flips it from
Completed to To Bill, so the repair leaves those PO Items untouched.

(cherry picked from commit ace4230f97)
2026-08-11 18:28:19 +05:30
Mihir Kandoi
fa733e691b fix(stock): repair duplicated purchase receipt billing
(cherry picked from commit 8b7e04eae1)
2026-08-11 18:28:19 +05:30
Mihir Kandoi
0dfa54f812 fix(stock): validate warehouse accounts when used 2026-08-11 18:16:47 +05:30
Mihir Kandoi
675901d801 Merge pull request #58023 from frappe/mergify/bp/version-16-hotfix/pr-58020
fix(setup): fetch driver address by supplier link (backport #58020)
2026-08-11 15:31:19 +05:30
Mihir Kandoi
62a851bebb fix(setup): fetch driver address by supplier link
(cherry picked from commit 3ffb888d26)
2026-08-11 09:48:17 +00:00
Mihir Kandoi
c8614d42ae Merge pull request #58017 from mihir-kandoi/backport-58016-v16
fix: preserve original operation idx in manually created Job Cards (backport #58016)
2026-08-11 14:20:32 +05:30
Mihir Kandoi
fee003a82d fix: preserve original operation idx in manually created Job Cards
The Create Job Card dialog on Work Order lists only pending operations,
so the row idx sent to make_job_card is the dialog's position, not the
Work Order Operation idx. create_job_card stamped that dialog idx into
operation_row_id, and get_required_items then matched raw materials of
whichever operation held that idx originally.

Resolve idx server-side from the Work Order Operation row that
get_operation_details already looks up by name.

Fixes https://github.com/frappe/erpnext/issues/57985
2026-08-11 14:08:20 +05:30
Mihir Kandoi
2764ebe686 Merge pull request #58012 from mihir-kandoi/backport-58003-version-16-hotfix
fix(selling): bill re-delivered sales order quantities (backport #58003)
2026-08-11 14:01:46 +05:30
Mihir Kandoi
a5f0b6605e chore(selling): annotate make_sales_invoice arguments 2026-08-11 13:49:52 +05:30
Mihir Kandoi
3d134bdd60 Merge pull request #58014 from frappe/mergify/bp/version-16-hotfix/pr-58009
fix: require material transfer before job card start and completion (backport #58009)
2026-08-11 13:48:01 +05:30
Mihir Kandoi
4ee276d3db fix: keep job card actions visible for corrective job cards
Corrective job cards regenerate required items but are exempt from the
transfer gate on the server; mirror that exemption in materials_ready.

(cherry picked from commit e9533495fc)
2026-08-11 08:02:27 +00:00
Mihir Kandoi
94e4c53b8b test: job card start and completion blocked until material transfer
(cherry picked from commit c95705dc64)
2026-08-11 08:02:27 +00:00
Mihir Kandoi
a7f75de1aa fix: require material transfer before job card start and completion
When the work order transfers material against Job Card, the Start Job
and Complete Job actions (and the whitelisted start_timer and
complete_job_card methods behind them) accepted work before any
Material Transfer for Manufacture existed; the transfer gate only fired
on job card submission.

Run validate_transfer_qty on both actions, and drop the finished_good
escape in materials_ready so the dashboard hides the buttons while
transfer is pending. Job cards that skip material transfer, corrective
job cards, and work orders transferring against Work Order are exempt,
as on submit.

(cherry picked from commit 808b2e2984)
2026-08-11 08:02:26 +00:00
Mihir Kandoi
0440c971b2 test(selling): cover invoicing after returns and re-deliveries 2026-08-11 13:26:01 +05:30
Mihir Kandoi
6fb09b1e21 fix(selling): bill re-delivered sales order quantities 2026-08-11 13:26:01 +05:30
Mihir Kandoi
4229161f4f Merge pull request #58007 from frappe/codex/backport-57963-version-16
fix(manufacturing): correct nested BOM Explorer quantities
2026-08-11 13:25:00 +05:30
Mihir Kandoi
fb877515ca fix(manufacturing): avoid child BOM cache lookups 2026-08-11 13:13:03 +05:30
Mihir Kandoi
b4929e2737 fix(manufacturing): correct nested BOM quantities 2026-08-11 13:00:13 +05:30
Mihir Kandoi
b75146445b Merge pull request #58002 from frappe/mergify/bp/version-16-hotfix/pr-57997
fix: keep item code searchable when a barcode matches the same text (backport #57997)
2026-08-11 12:42:51 +05:30
Kaushal Shriwas
60eab30bab chore: resolve backport conflict in bom.py 2026-08-11 12:23:00 +05:30
Mihir Kandoi
d315c15cee Merge pull request #57999 from frappe/mergify/bp/version-16-hotfix/pr-57972
refactor: drop redundant time_in_mins assignment in workstation complete_job (backport #57972)
2026-08-11 12:21:38 +05:30
Kaushal Shriwas
062976123a test(manufacturing): cover BOM item search when item code collides with a barcode
(cherry picked from commit 23024d1ea9)
2026-08-11 06:43:20 +00:00
Kaushal Shriwas
87c4009572 fix(manufacturing): keep item code searchable when a barcode matches the same text
(cherry picked from commit bf5d506637)

# Conflicts:
#	erpnext/manufacturing/doctype/bom/mapper.py
2026-08-11 06:43:20 +00:00
Mihir Kandoi
631cc2c218 refactor: drop redundant time_in_mins assignment in complete_job
(cherry picked from commit 3cffeb68e3)
2026-08-11 06:39:43 +00:00
pandiyan
822e6d8924 fix: convert hours to minutes in workstation complete_job
`time_diff_in_hours` returns hours, so `time_in_mins` needs `* 60`, not
`/ 60`. Matches `Job Card.validate_time_log_row`.

No behaviour change: the `doc.save()` on the next line runs Job Card's
`validate`, which recomputes `time_in_mins` correctly before the row is
written. This only stops the expression from reading as a bug.

(cherry picked from commit 422a9161dd)
2026-08-11 06:39:43 +00:00
Jatin3128
ee5316ecd0 fix: keep source rate on re-fetch when maintain same rate is enabled (backport #57479) (#57792)
* fix: keep source rate on re-fetch when maintain same rate is enabled (#57479)

* fix: type-annotate get_item_details arguments

---------

Co-authored-by: test <test@test.com>
2026-08-11 11:00:00 +05:30
mergify[bot]
fea1ec867e refactor(queries): using frappe.get_query in get_filtered_child_rows (backport #57991) (#57993)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-08-10 19:45:16 +00:00