Commit Graph

55561 Commits

Author SHA1 Message Date
ruthra kumar
7cc6035fa6 chore: resolve conflicts 2026-07-13 15:41:49 +05:30
ruthra kumar
363519a7cb refactor: synced reports should be enabled on sites based on requirements
(cherry picked from commit 963bbc8729)

# Conflicts:
#	erpnext/accounts/report/general_ledger/general_ledger.json
2026-07-13 10:00:27 +00:00
ruthra kumar
7b7c4bd3b3 feat(profit-and-loss): implement execute_synced_report with full parity to normal report
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 6a93baacf0)

# Conflicts:
#	erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.json
2026-07-13 10:00:26 +00:00
ruthra kumar
dd2cea888a feat(balance-sheet): implement execute_synced_report with full parity to normal report
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit bb19540816)

# Conflicts:
#	erpnext/accounts/report/balance_sheet/balance_sheet.json
2026-07-13 10:00:26 +00:00
ruthra kumar
d61d3ebbf2 feat(general-ledger): implement execute_synced_report with full parity to normal report
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 6b4895bcc9)

# Conflicts:
#	erpnext/accounts/report/general_ledger/general_ledger.json
2026-07-13 10:00:25 +00:00
ruthra kumar
ec3d1ec1da refactor: DB agnostic method names
(cherry picked from commit f40cd41801)
2026-07-13 10:00:24 +00:00
ruthra kumar
ed679396d4 refactor: maintain sync dependency in report master
(cherry picked from commit 5c536b8ad1)

# Conflicts:
#	erpnext/accounts/report/accounts_payable/accounts_payable.json
#	erpnext/accounts/report/accounts_receivable/accounts_receivable.json
#	erpnext/accounts/report/general_ledger/general_ledger.json
#	erpnext/accounts/report/trial_balance/trial_balance.json
2026-07-13 10:00:23 +00:00
ruthra kumar
9b3e204e33 refactor(trial-balance): execute_duckdb only reads GL Entry from duckdb
Replaces the previous over-engineered stub with 7 short functions.
Account data, Account Closing Balance, and all metadata come from
frappe.db as normal; only tabGL Entry is read from the duckdb_conn.

Reuses get_opening_balance() for Account Closing Balance unchanged,
reuses all downstream compute helpers (calculate_values, prepare_data,
etc.) unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 55862f98f4)
2026-07-13 10:00:23 +00:00
ruthra kumar
6e5149a4f7 feat(trial-balance): implement execute_duckdb with full parity to normal report
Replaces the placeholder stub with 8 focused functions that mirror the
normal execute() flow using parameterized DuckDB SQL queries: account
fetch, period GL entries, opening balances (with Period Closing Voucher
path), and all filters (cost center, project, finance book, accounting
dimensions). Reuses existing pure-Python processing functions unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit b1c8e2cb5c)
2026-07-13 10:00:22 +00:00
ruthra kumar
61e6d63c14 refactor: reports on duckdb
(cherry picked from commit adb768505a)
2026-07-13 10:00:22 +00:00
ruthra kumar
e8cdad1c6b Merge pull request #57082 from frappe/mergify/bp/version-15-hotfix/pr-56628
fix(journal-entry): fetch outstanding on foreign currency (backport #56628)
2026-07-13 13:05:57 +05:30
mergify[bot]
808109abc0 feat(opening invoice creation tool): add project to opening invoice child row (backport #54662) (#56400)
Co-authored-by: Ravibharathi <131471282+ravibharathi656@users.noreply.github.com>
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-07-13 07:08:33 +00:00
SowmyaArunachalam
ace51fccfa fix(journal-entry): fetch outstanding on foreign currency
(cherry picked from commit 07f641c48c)
2026-07-13 07:07:36 +00:00
Mihir Kandoi
8bd35d2255 Merge pull request #57074 from frappe/mergify/bp/version-15-hotfix/pr-57073
fix: make represents company field in purchase invoice ignore user pe… (backport #57073)
2026-07-13 12:13:49 +05:30
Mihir Kandoi
80548a1282 Merge pull request #56986 from frappe/mergify/bp/version-15-hotfix/pr-56915
feat(stock): support partial transfer from pick list (backport #56915)
2026-07-13 11:57:34 +05:30
Mihir Kandoi
94d1fd6c42 chore: resolve conflicts 2026-07-13 11:54:45 +05:30
Sudharsanan11
001f3a36ab chore(stock): merge version-15-hotfix into pick list partial-transfer backport 2026-07-13 09:11:06 +05:30
Mihir Kandoi
b7f276989d fix: make represents company field in purchase invoice ignore user permissions
(cherry picked from commit 6729a53fee)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
2026-07-12 18:39:09 +00:00
Shllokkk
2e72d22328 Merge pull request #55720 from frappe/mergify/bp/version-15-hotfix/pr-55627
fix(inactive_customers): add allowlist for doctype filter and migrate… (backport #55627)
2026-07-12 13:44:24 +05:30
mergify[bot]
cfc546cf3f fix(accounts): retain invoice table on opening invoice creation error (backport #56353) (#57057)
Co-authored-by: diptanilsaha <diptanil@frappe.io>
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com>
2026-07-12 07:46:00 +00:00
Shllokkk
ede2a68afd fix: set customer group in inactive customers report test setup 2026-07-12 12:56:41 +05:30
Shllokkk
29179240cf Merge branch 'version-15-hotfix' into mergify/bp/version-15-hotfix/pr-55627 2026-07-12 10:53:10 +05:30
mergify[bot]
bd6269918f fix: remove incorrect Payable account_type from Customer Deposits in Philippines CoA (backport #57018) (#57060)
Co-authored-by: Raghav Ruia <168326921+raghavisruia@users.noreply.github.com>
2026-07-11 17:58:53 +00:00
mergify[bot]
1cb4307578 fix: update events order by date asc (backport #56963) (#57055)
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com>
Co-authored-by: nareshkannasln <nareshkannashanmugam@gmail.com>
2026-07-11 18:45:22 +05:30
mergify[bot]
3e2a734414 fix: map stock_qty in apply_price_list_on_item (backport #56869) (#57051)
* fix: map stock_qty in apply_price_list_on_item (#56869)

(cherry picked from commit 199eeff22c)

# Conflicts:
#	erpnext/stock/get_item_details.py

* chore: resolve conflicts

---------

Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
Co-authored-by: diptanilsaha <diptanil@frappe.io>
2026-07-11 10:13:42 +00:00
mergify[bot]
0f6b2b68fa fix: fetch payment entry reference amounts from invoice (backport #56928) (#57041)
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
2026-07-10 11:50:22 +00:00
mergify[bot]
8688f1f51a fix: display outstanding amount using company default currency (backport #56785) (#57008)
Co-authored-by: S Sakthivel Murugan <s.sakthivelmurugan2003@gmail.com>
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-07-10 10:25:47 +00:00
mergify[bot]
9d654b7890 fix(stock): correct stock ageing value for moving average and lifo items (backport #56693) (#57016)
fix(stock): correct stock ageing value for moving average and lifo items (#56693)

* fix(stock): recompute moving average item slots

* test(stock): add test to validate the stock value of moving average items

* fix(stock): support lifo valuation in stock ageing report

lifo items were aged as fifo (oldest consumed first), so the report kept the
newest lots on hand and reported the wrong stock value and average age. prefetch
each item's valuation method (it can't be resolved mid-stream without breaking the
unbuffered cursor) and consume from the tail for lifo items. also reuse that shared
lookup in the moving average revaluation pass. scoped to plain items; batch, serial
and same-voucher repack legs stay on fifo.

* test(stock): add test for lifo consumption in stock ageing report

(cherry picked from commit 9cb6610b9e)

# Conflicts:
#	erpnext/stock/report/stock_ageing/stock_ageing.py

Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com>
2026-07-10 15:44:39 +05:30
ruthra kumar
755e151764 Merge pull request #57022 from frappe/mergify/bp/version-15-hotfix/pr-56801
refactor: reversing exchange rate revaluation journals (backport #56801)
2026-07-10 13:19:01 +05:30
Mihir Kandoi
f14615e826 Merge pull request #57027 from aerele/backport-56913-version-15-hotfix
fix: make trend report based-on and group-by column labels translatable
2026-07-10 12:44:09 +05:30
Mihir Kandoi
12b826484b Merge pull request #57021 from aerele/backport-56923-version-15-hotfix
perf: avoid per-row Warehouse doc fetches in auto reorder job
2026-07-10 12:44:02 +05:30
Mihir Kandoi
9c0ea9ffbb Merge pull request #57019 from aerele/backport-56932-version-15-hotfix
fix: validate planned end date is not before planned start date in wo…
2026-07-10 12:43:01 +05:30
ruthra kumar
c89f9720bc chore: resolve conflicts 2026-07-10 12:33:53 +05:30
pandiyan
d2d5fae033 fix: make trend report based-on and group-by column labels translatable
based_wise_columns_query() and group_wise_column() built column labels as
raw strings, so headers like Item, Item Name, Customer, Supplier, and
Territory never went through the _() translation function and stayed in
English regardless of the user's language, while period and total columns
translated fine. Build these as column dicts with an explicit _()-wrapped
label instead, so they're translated the same way as the rest of the report.

(cherry picked from commit 015fa68fc0)
2026-07-10 12:01:56 +05:30
Pandiyan P
4091188908 fix(stock): pick list serial batch posting date (#56957) (#57014)
Pick List has no posting_date/posting_time fields, so creating or updating a
Serial and Batch Bundle from a Pick List row crashed with
"TypeError: combine() argument 1 must be datetime.date, not None". Fall back
to today/now when the parent voucher doesn't carry its own posting date.

Fixes #56951

The whitelisted add_serial_batch_ledgers only converted child_row into an
attribute-accessible frappe._dict when it arrived as a JSON string, and doc's
type hint only allowed Document | str. Frappe's JSON API delivers both as
plain dicts (see frappe.app.make_form_dict, which parses the request body
with orjson and only wraps the top-level dict, not nested values), so every
real request was rejected before the handler body ever ran: first with a
FrappeTypeError on doc, and once that's fixed, with an AttributeError on
child_row.serial_and_batch_bundle. parse_json already wraps a plain dict in
frappe._dict (and leaves a real Document instance untouched), so routing
child_row through it unconditionally fixes both.

(cherry picked from commit 8b3caeb578)
2026-07-10 11:51:03 +05:30
ruthra kumar
0f688a1841 refactor(test): for reverse journals as well
(cherry picked from commit 65775e59a1)

# Conflicts:
#	erpnext/accounts/doctype/exchange_rate_revaluation/test_exchange_rate_revaluation.py
2026-07-10 06:20:33 +00:00
mergify[bot]
6b022a5a7e fix: for purchases do voucher based reposting (backport #56601) (#56607)
* fix: for purchases do voucher based reposting (#56601)

(cherry picked from commit 5523c15ab8)

* chore: fix type hints

* chore: fix test case

* chore: fix linters issue

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2026-07-10 06:20:32 +00:00
ruthra kumar
3c18b172a4 refactor: handle reverse ERR journals in AR / AP report
(cherry picked from commit 6838242063)
2026-07-10 06:20:32 +00:00
ruthra kumar
d239273ce5 refactor: reversal capability on exchange rate revaluation
(cherry picked from commit a0b14c0607)

# Conflicts:
#	erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py
#	erpnext/accounts/doctype/journal_entry/journal_entry_list.js
2026-07-10 06:20:26 +00:00
ruthra kumar
4c8a51d54d refactor: add payment ledger to ignore link
(cherry picked from commit 6a4c5b6062)
2026-07-10 06:20:25 +00:00
pandiyan
c10b86d538 perf: avoid per-row Warehouse doc fetches in auto reorder job
get_item_warehouse_projected_qty() called frappe.get_doc("Warehouse", ...)
inside the per-bin loop to walk up the warehouse hierarchy, re-fetching the
same parent warehouses over and over on sites with nested warehouses. Preload
the warehouse-to-parent mapping with a single query and walk it in-memory
instead, cutting the DB round-trips from O(bins * hierarchy depth) to one
query.

(cherry picked from commit 6beb3d2509)
2026-07-10 11:41:43 +05:30
pandiyan
de6a157773 fix: validate planned end date is not before planned start date in work order
Work Order allowed saving with a Planned End Date earlier than the Planned
Start Date without any validation. Add a validate_dates check that throws
when the planned end date precedes the planned start date.

(cherry picked from commit 2ec780cb35)
2026-07-10 11:36:05 +05:30
Mihir Kandoi
8bfba5fcf3 Merge pull request #57003 from aerele/backport-57001
fix(manufacturing): update work order status on partial pick-list tra…
2026-07-09 21:57:38 +05:30
rohitwaghchaure
53af4d53ef fix: partial delivery note against pick list (#56985) 2026-07-09 16:17:10 +00:00
pandiyan
afa72884bb fix(manufacturing): update work order status on partial pick-list transfer (backport #56800)
Backport of frappe/erpnext#56800 (via #56836/#57001). When a Pick List
transfers only some of the required raw materials, the min-fraction
rule keeps material_transferred_for_manufacturing at 0, leaving the
Work Order stuck at "Not Started" even though material is already in
WIP. Treat any submitted pick-list-linked Material Transfer stock
entry as evidence the order has started.
2026-07-09 21:33:01 +05:30
Mihir Kandoi
cb65b55568 Merge pull request #56987 from frappe/mergify/bp/version-15-hotfix/pr-56909
fix(stock): rename variant item_code/item_name when attribute abbreviation changes (backport #56909)
2026-07-09 21:23:40 +05:30
Mihir Kandoi
62ce6c2129 Merge pull request #56993 from frappe/mergify/bp/version-15-hotfix/pr-56925
perf: batch bin lookups in delivery note stock update (backport #56925)
2026-07-09 21:22:59 +05:30
Mihir Kandoi
6484f0de54 Merge pull request #56999 from frappe/mergify/bp/version-15-hotfix/pr-56255
Fix Variant Of filter to show only template items (backport #56255)
2026-07-09 21:11:59 +05:30
Mihir Kandoi
1824c59624 Merge pull request #56997 from frappe/mergify/bp/version-15-hotfix/pr-56979
fix: update BOM operations when routing is changed (backport #56979)
2026-07-09 20:48:41 +05:30
Mihir Kandoi
cef69b05a9 chore: resolve conflicts 2026-07-09 20:44:57 +05:30