Commit Graph

60685 Commits

Author SHA1 Message Date
MochaMind
961e79d41b fix: Norwegian Bokmal translations 2026-08-09 16:35:52 +05:30
MochaMind
807086b320 fix: Uzbek translations 2026-08-09 16:35:48 +05:30
MochaMind
daf8971f13 fix: Bosnian translations 2026-08-09 16:35:44 +05:30
MochaMind
f8d96f1010 fix: Burmese translations 2026-08-09 16:35:40 +05:30
MochaMind
fab4d83e68 fix: Hindi translations 2026-08-09 16:35:35 +05:30
MochaMind
6650e788f5 fix: Croatian translations 2026-08-09 16:35:32 +05:30
MochaMind
6351bdf50b fix: Thai translations 2026-08-09 16:35:27 +05:30
MochaMind
f0966704e6 fix: Persian translations 2026-08-09 16:35:23 +05:30
MochaMind
d9af6fba5c fix: Indonesian translations 2026-08-09 16:35:18 +05:30
MochaMind
4039d7a011 fix: Portuguese, Brazilian translations 2026-08-09 16:35:15 +05:30
MochaMind
558745643e fix: Vietnamese translations 2026-08-09 16:35:11 +05:30
MochaMind
484b55a6db fix: Chinese Simplified translations 2026-08-09 16:35:07 +05:30
MochaMind
37e8317af8 fix: Turkish translations 2026-08-09 16:35:02 +05:30
MochaMind
78d749cf78 fix: Swedish translations 2026-08-09 16:34:59 +05:30
MochaMind
b6757f40ab fix: Serbian (Cyrillic) translations 2026-08-09 16:34:54 +05:30
MochaMind
ca34035b5f fix: Slovenian translations 2026-08-09 16:34:50 +05:30
MochaMind
1bbddc5121 fix: Russian translations 2026-08-09 16:34:46 +05:30
MochaMind
97c4e33b69 fix: Portuguese translations 2026-08-09 16:34:42 +05:30
MochaMind
eea32e854c fix: Polish translations 2026-08-09 16:34:38 +05:30
MochaMind
4214017b33 fix: Dutch translations 2026-08-09 16:34:34 +05:30
MochaMind
ab731b2552 fix: Korean translations 2026-08-09 16:34:30 +05:30
MochaMind
7a97d34a11 fix: Italian translations 2026-08-09 16:34:26 +05:30
MochaMind
9c257b8445 fix: German translations 2026-08-09 16:34:22 +05:30
MochaMind
01349741b0 fix: Danish translations 2026-08-09 16:34:19 +05:30
MochaMind
0c83416f14 fix: Czech translations 2026-08-09 16:34:15 +05:30
MochaMind
2f7efda5b6 fix: Bulgarian translations 2026-08-09 16:34:11 +05:30
MochaMind
fd6f4d4d2c fix: Arabic translations 2026-08-09 16:34:07 +05:30
MochaMind
89e8fb202d fix: Spanish translations 2026-08-09 16:34:03 +05:30
MochaMind
a76cda660e fix: French translations 2026-08-09 16:33:58 +05:30
MochaMind
3c0b47a13d fix: Romanian translations 2026-08-09 16:33:55 +05:30
MochaMind
59d315be4a fix: Chinese Traditional translations 2026-08-09 16:33:51 +05:30
MochaMind
4a6a5d81c1 fix: Hungarian translations 2026-08-09 16:33:47 +05:30
Mihir Kandoi
b3300c20a3 Merge pull request #57866 from krishna-254/fix/product-bundle-item-search
fix: optimize product bundle item search
2026-08-07 16:02:51 +05:30
Mihir Kandoi
4e9b069c20 Merge pull request #57861 from mihir-kandoi/fix-uom-integer-check-dust
fix: UOM whole number check truncated instead of rounding
2026-08-07 14:03:26 +05:30
Mihir Kandoi
e6a6458ebe test: UOM whole number check tolerates conversion dust 2026-08-07 13:49:00 +05:30
Mihir Kandoi
a464a6e4a1 fix: UOM whole number check truncated instead of rounding
cint truncates, so a stock_qty of 1999.9998 (dust from qty times
conversion factor) compared as abs(1999 - 2000.0) > epsilon and was
rejected as fractional even though it rounds to a whole number at
field precision, with the error confusingly printing the rounded
value: 'Quantity (2000.0) cannot be a fraction'. Round to field
precision first, then require the result to be a whole number.
Dust above an integer already passed; this fixes the asymmetry for
dust below.
2026-08-07 13:48:38 +05:30
Mihir Kandoi
a219f890df Merge pull request #57859 from mihir-kandoi/fix-po-min-order-qty-precision
fix: compare ordered qty to min order qty at stock_qty precision
2026-08-07 13:46:55 +05:30
Krishna Shirsath
b3867f1428 fix: optimize product bundle item search 2026-08-07 13:44:57 +05:30
Mihir Kandoi
c652f47931 test: min order qty check tolerates UOM conversion dust 2026-08-07 12:51:40 +05:30
Nishka Gosalia
d9e048ece7 Merge pull request #57845 from nishkagosalia/settings-mapping-cleanup
chore: restructure exported files of doctype settings
2026-08-07 12:46:43 +05:30
Mihir Kandoi
98b7407949 fix: compare ordered qty to min order qty at stock_qty precision
stock_qty is stored as raw qty * conversion_factor, so a UOM-converted
order for exactly the minimum (e.g. LB to Kg) produces values like
1999.999999131832 vs a min_order_qty of 2000 and blocks the Purchase
Order. Round both sides to the stock_qty field precision before
comparing, and show the rounded qty in the error message.
2026-08-07 12:44:28 +05:30
Mihir Kandoi
3f8b263014 Merge pull request #57854 from mihir-kandoi/fix/work-order-create-button-group
fix(UX): group work order actions under the Create menu
2026-08-07 04:22:33 +05:30
MochaMind
523d0e4312 fix: sync translations from crowdin (#57842) 2026-08-06 20:03:30 +02:00
Mihir Kandoi
780ab3ba3e fix(UX): group work order actions under the Create menu
Pick List, Material Request, Material Consumption and Additional
Material Transfer were spread across two standalone buttons and a
separate Make menu. Put them all under a single Create menu, and rename
Create Pick List to Pick List since the menu already says Create.
custom_make_buttons is updated to the new label so the connections
shortcut still finds the button.
2026-08-06 23:02:05 +05:30
Mihir Kandoi
e1815cb5a9 Merge pull request #57851 from mihir-kandoi/fix-production-plan-mr-qty-precision
fix: round Production Plan mr_items quantity to field precision
2026-08-06 21:11:10 +05:30
Mihir Kandoi
75145cc72c test: remaining purchase qty is rounded to field precision
Covers the _add_remaining_purchase_request path: partial stock in
another warehouse is allocated as a transfer and the residual purchase
qty goes through the second rounding site.
2026-08-06 20:59:04 +05:30
Mihir Kandoi
f5157bf3c4 test: mr_items quantity is rounded to field precision 2026-08-06 20:49:42 +05:30
Mihir Kandoi
ffc515f046 fix: round production plan mr_items quantity to field precision
The stock-UOM qty is rounded in _accumulate_so_items, but the purchase
UOM conversion divided it by the conversion factor without re-rounding,
storing values like 5738748.300863984 in mr_items.quantity. The raw
value flowed into Material Request qty and the raw materials CSV, and
make_material_request compares quantity to requested_qty with exact
float equality, so any rounding downstream left dust quantities.
2026-08-06 20:48:42 +05:30
Mihir Kandoi
44260b469f refactor: remove unreachable UOM conversion in production plan
The division by conversion_factor in _adjust_required_qty_for_uom sits
directly after frappe.throw inside the same block, so it can never run.
It has been dead since commit 2a8cd05b44 (#27278) re-indented it into
the throw branch; the actual purchase-UOM conversion happens in
_material_request_item_row via _mr_purchase_conversion_factor.
2026-08-06 20:48:19 +05:30
Jatin3128
96a6db7387 feat(accounts): split exchange gain and exchange loss accounts (#57839)
* feat(accounts): split exchange gain and exchange loss accounts

Add optional Exchange Gain Account and Exchange Loss Account fields on
Company. When set, realized FX gain/loss from settling an invoice in a
foreign currency (via Payment Entry, Payment Reconciliation, or a
Journal-Entry-based advance) books to the matching account instead of
the single Exchange Gain/Loss account. Either field left blank falls
back to the existing Exchange Gain/Loss account, so companies that
don't configure the new fields are unaffected.

New companies get "Exchange Gain" and "Exchange Loss" accounts
auto-created in their chart of accounts and auto-assigned to the new
fields, same as the existing Exchange Gain/Loss account provisioning.

The Payment Reconciliation tool's per-allocation "Difference Account"
override in its reconcile dialog continues to work as before; the
split accounts only change the computed default shown there.

* test(account_balance): account for new Exchange Gain account in income report

The new auto-provisioned Exchange Gain account under Indirect Income
now shows up in the Income root type report for _Test Company 2.

---------

Co-authored-by: test <test@test.com>
2026-08-06 17:36:43 +05:30