Nabin Hait
cf1817c1ea
refactor: introduce GL composer and delegate SI get_gl_entries
...
Phase 2 (pilot) of the accounts/controller refactor. Adds BaseGLComposer
and SalesInvoiceGLComposer; Sales Invoice's get_gl_entries body moves into
compose() and the method becomes a thin shim. Row-builder methods still live
on the document (invoked via self.doc) and migrate onto the composer next.
No behavior change (Phase 0 GL snapshots remain byte-identical).
2026-05-27 01:12:11 +05:30
Nabin Hait
3ec6387425
fix: honor account freezing date when cancelling vouchers
...
make_reverse_gl_entries passed adv_adj as the company argument to
check_freezing_date, so the freeze-date check silently no-op'd on
cancellation (no company matched). Pass company explicitly so
cancellations respect the freezing date like submissions do.
Adds a regression test covering cancellation after the freeze date.
2026-05-27 01:01:43 +05:30
Nabin Hait
234c4a45b8
refactor: extract list-level GL validations into gl_validator service
...
Phase 1 of the accounts/controller refactor. Moves the six pure
list-level validators (validate_disabled_accounts, validate_accounting_period,
validate_cwip_accounts, check_freezing_date, validate_against_pcv,
validate_allowed_dimensions) out of general_ledger.py into the new
erpnext/accounts/services/gl_validator.py. general_ledger.py imports and
calls them at the existing sites; no behavior change (Phase 0 GL snapshots
remain byte-identical).
The debit/credit balance trio stays in general_ledger.py for now since
get_debit_credit_difference mutates entries and is interleaved with the
round-off repair.
2026-05-27 01:01:20 +05:30
Nabin Hait
064340cafb
test: add Phase 0 GL characterization safety net
...
Golden-master snapshot harness (GLSnapshot / assert_gl_snapshot) plus 12
characterization scenarios for Sales and Purchase Invoice (basic, taxes,
multi-currency, returns, round-off, discount accounting, advance, POS).
Locks current GL Entry output so the upcoming GL pipeline refactor
(composer / validator / sink) can be verified byte-identical.
Regenerate goldens with REGEN_GL_SNAPSHOTS=1.
2026-05-27 00:49:48 +05:30
Nabin Hait
dfbd8db9d3
docs: add accounts/controller refactor spec
...
Phased plan to decompose accounts_controller.py and the sales_invoice.py
monolith into composed services. Documents the frozen GL-layer design
(GLComposer / gl_validator / general_ledger sink), method bucketing, and
the 8-phase rollout.
2026-05-27 00:05:35 +05:30
rohitwaghchaure
e1ddc50872
Merge pull request #55242 from rohitwaghchaure/fixed-stock-reco-for-legacy-serial-nos
...
fix: stock reco for legacy serial nos
2026-05-26 15:58:16 +05:30
rohitwaghchaure
5057057f43
Merge pull request #55290 from rohitwaghchaure/fixed-tax-amount-issue-in-invoice-lcv
...
fix: inclusive tax amount not considered while setting LCV from purchase invoice
2026-05-26 15:44:26 +05:30
Nihantra C. Patel
cad4d497bd
Merge pull request #55268 from Nihantra-Patel/immutable-ledger-reverse-posting-date
...
fix: use passed posting date for period closing validation in reverse GL entries
2026-05-26 15:43:06 +05:30
Rohit Waghchaure
048ddfc265
fix: inclusive tax amount not considered while setting LCV from purchase invoice
2026-05-26 15:13:05 +05:30
Nihantra Patel
9c39b01f1c
test: update testcase
2026-05-26 14:19:04 +05:30
Loic Oberle
a051049710
refactor(sales_order): Replace SQL with ORM in validate_po ( #55198 )
2026-05-26 08:20:04 +00:00
Mihir Kandoi
f023bf8a96
fix: single variant creation error ( #55286 )
...
* fix: single variant creation error
* feat: allow creation of any number of variants in multiple item variant creation dialog
2026-05-26 13:34:44 +05:30
Loic Oberle
b8327e4031
refactor(customer): replace SQL with query builder in get_customer_ou… ( #55209 )
2026-05-26 08:00:23 +00:00
Loic Oberle
bbb7b6f8e0
refactor(buying): replace sql query by orm ( #55153 )
2026-05-26 13:14:39 +05:30
Mihir Kandoi
090c25d848
feat: allow creation of any number of variants in multiple item variant creation dialog
2026-05-26 13:09:14 +05:30
Mihir Kandoi
bda75135c3
fix: single variant creation error
2026-05-26 12:53:47 +05:30
Mihir Kandoi
a128d851c5
refactor: remove unused customer field in Item DocType ( #55277 )
2026-05-26 05:17:00 +00:00
ruthra kumar
cd35fbde94
Merge pull request #55256 from ruthra-kumar/handle_stuck_running_state_in_process_pcv
...
refactor: handle processes stuck in running state in process pcv
2026-05-26 10:27:28 +05:30
Pandiyan P
c286a73e0b
fix: prevent AttributeError in batch query filters ( #55257 )
2026-05-26 10:23:18 +05:30
ruthra kumar
6cb7971342
refactor: atomic summarization step for process pcv
2026-05-26 09:55:38 +05:30
diptanilsaha
49d579a016
fix(payment_entry): sync paid/received amounts for cross-currency entries ( #55270 )
2026-05-25 23:16:33 +05:30
Nihantra Patel
f040bdf165
fix: use passed posting date in make_reverse_gl_entries
2026-05-25 21:39:54 +05:30
Rohit Waghchaure
9d5fd11bcd
fix: stock reco for legacy serial nos
2026-05-25 17:22:08 +05:30
rohitwaghchaure
af26986def
Merge pull request #55252 from rohitwaghchaure/fixed-job-card-buttons-class
...
fix: job card buttons color
2026-05-25 17:21:34 +05:30
rohitwaghchaure
7982ecfdf7
Merge pull request #55249 from aerele/fix/support-#68708
...
fix(stock): remove precision for valuation rate while creating sle
2026-05-25 17:21:01 +05:30
ruthra kumar
f414778486
refactor: handle processes stuck in running state in process pcv
2026-05-25 16:02:35 +05:30
Khushi Rawat
631a4a67ba
Merge pull request #55126 from khushi8112/asset-scrap-flow
...
fix: asset scrap flow related changes
2026-05-25 15:45:03 +05:30
Rohit Waghchaure
c327a5ca93
fix: job card buttons color
2026-05-25 15:33:12 +05:30
Sudharsanan11
66ba7be239
fix(stock): remove precision for valuation rate while calculating difference amount
2026-05-25 14:43:39 +05:30
Sudharsanan11
ccb8837c6c
fix(stock): remove precision for valuation rate while creating sle
2026-05-25 14:42:58 +05:30
ruthra kumar
1c3a9f7dd9
refactor: summarize in background
2026-05-25 14:11:46 +05:30
Mihir Kandoi
bafa6f9508
feat: add party groups functionality to party specific item ( #54988 )
2026-05-25 12:06:54 +05:30
rohitwaghchaure
b0a83f9b22
Merge pull request #55216 from rohitwaghchaure/fixed-valuation-rate-for-fg-item-new
...
fix: fg valuation rate in repack entry when multiple FGs
2026-05-25 11:44:02 +05:30
MochaMind
7ae6535be9
chore: update POT file ( #55235 )
2026-05-24 14:47:38 +02:00
Mihir Kandoi
2a01a37d5d
refactor: stock ageing report ( #55231 )
2026-05-24 15:43:07 +05:30
Mihir Kandoi
c1a4c3d053
refactor: use frappe.db.bulk_update instead of Case queries in subcon… ( #55232 )
2026-05-24 09:36:45 +00:00
Mihir Kandoi
004818e0ac
fix: consider batchwise valuation in stock ageing report ( #54919 )
2026-05-24 12:27:48 +05:30
Mihir Kandoi
268910467a
fix: not able to reserve product bundle through dialog ( #55194 )
2026-05-24 12:26:48 +05:30
Rohit Waghchaure
a47e4c04f7
fix: fg valuation rate in repack entry when multiple FGs
2026-05-23 14:42:38 +05:30
Loic Oberle
983ae011f0
refactor(sales_order): Replace SQL with ORM in make_maintenance_schedule ( #55206 )
2026-05-23 06:27:27 +00:00
Loic Oberle
6f9f6d3b7d
refactor(sales_order): Replace SQL with ORM in validate_proj_cust ( #55202 )
2026-05-23 06:26:25 +00:00
Loic Oberle
9546374ac3
refactor(sales_order): Replace SQL with ORM in validate_sales_mntc_qu… ( #55201 )
2026-05-23 06:17:00 +00:00
Loic Oberle
78894f7c78
refactor(sales_order): Replace SQL with ORM in validate_for_items ( #55199 )
2026-05-23 06:13:50 +00:00
Loic Oberle
2d2b45f270
refactor(sales_order): Replace SQL with ORM in check_modified_date ( #55205 )
2026-05-23 11:40:04 +05:30
Loic Oberle
3cd9943cc0
refactor(customer): replace SQL with ORM in on_trash ( #55211 )
2026-05-23 11:39:28 +05:30
Loic Oberle
f9d430c4aa
refactor(supplier_scorecard): replace sql with orm ( #55169 )
2026-05-23 11:37:09 +05:30
Loic Oberle
ea2eb3dc01
refactor(supplier_scorecard_variable): replace sql with query builder ( #55162 )
2026-05-23 11:36:11 +05:30
Loic Oberle
f370404a75
refactor(sales_order): Replace SQL with ORM in product_bundle_has_sto… ( #55200 )
2026-05-23 11:35:46 +05:30
Loic Oberle
4719ba15c6
refactor(sales_order): Replace SQL with query builder in make_mainten… ( #55207 )
2026-05-23 11:34:54 +05:30
Loic Oberle
e27b88d789
refactor(sales_order): replace SQL with ORM in check_nextdoc_docstatus ( #55204 )
2026-05-23 11:34:18 +05:30