Compare commits

...

1384 Commits

Author SHA1 Message Date
Frappe PR Bot
6077cd8160 chore(release): Bumped to Version 15.18.2
## [15.18.2](https://github.com/frappe/erpnext/compare/v15.18.1...v15.18.2) (2024-03-29)

### Bug Fixes

* use sql to clear comments ([e2196ef](e2196efe1a))
2024-03-29 05:41:25 +00:00
ruthra kumar
aa4998a3b5 Merge pull request #40748 from frappe/mergify/bp/version-15/pr-40739
refactor: use sql to clear comments (backport #40739)
2024-03-29 11:10:07 +05:30
ruthra kumar
e2196efe1a fix: use sql to clear comments
(cherry picked from commit 1f46c1530e)
2024-03-29 10:49:33 +05:30
Deepesh Garg
3c3b08f517 Merge pull request #40750 from frappe/mergify/bp/version-15/pr-40742
refactor: configurable exchange gain or loss posting date (#37630)
2024-03-28 22:12:29 +05:30
ruthra kumar
0247d5c87f chore: resolve conflicts
(cherry picked from commit 565bfa16f2)
2024-03-28 15:26:55 +00:00
ruthra kumar
ba4d1bc1a4 test: varying posting date for gain loss journal
(cherry picked from commit 514d5434a3)
(cherry picked from commit fd33437d7a)
2024-03-28 15:26:54 +00:00
ruthra kumar
22d352e875 refactor: pass gain loss posting date to controller
(cherry picked from commit 7e600a6494)

# Conflicts:
#	erpnext/accounts/utils.py
(cherry picked from commit 125722ae41)
2024-03-28 15:26:54 +00:00
ruthra kumar
63c3f51ffa refactor: introduce fields in popup
(cherry picked from commit 5323bb7bee)

# Conflicts:
#	erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js
(cherry picked from commit 39571d828e)
2024-03-28 15:26:54 +00:00
ruthra kumar
efd40772ee refactor: gain_loss posting date fields in the allocation table
(cherry picked from commit 55dbcee36a)

# Conflicts:
#	erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json
(cherry picked from commit 1fe80c2d02)
2024-03-28 15:26:53 +00:00
Frappe PR Bot
ca3827efea chore(release): Bumped to Version 15.18.1
## [15.18.1](https://github.com/frappe/erpnext/compare/v15.18.0...v15.18.1) (2024-03-27)

### Bug Fixes

* rate changed on changing of the qty ([471f1c8](471f1c835c))
2024-03-27 08:37:31 +00:00
rohitwaghchaure
d2584dd3e8 Merge pull request #40704 from frappe/mergify/bp/version-15/pr-40703
fix: rate changed on changing of the qty (backport #40700) (backport #40703)
2024-03-27 14:06:20 +05:30
Rohit Waghchaure
471f1c835c fix: rate changed on changing of the qty
(cherry picked from commit cd36a1051f)
(cherry picked from commit 41b3a59aae)
2024-03-27 08:24:00 +00:00
Frappe PR Bot
70ce49e32c chore(release): Bumped to Version 15.18.0
# [15.18.0](https://github.com/frappe/erpnext/compare/v15.17.6...v15.18.0) (2024-03-27)

### Bug Fixes

* Add default finance book check in P&L statement ([f087159](f08715972a))
* Batch No is mandatory while making manufacture entry ([a638c9c](a638c9c8af))
* Book depreciation until the asset disposal date and removed unwanted commits ([2d7ff5d](2d7ff5d4cf))
* Cannot read properties of undefined (reading 'rate') ([d287ed5](d287ed5e47))
* existing batch from different warehouse not showing in the dropdown ([79d0478](79d047802a))
* incorrect total qty in job card ([68d57c3](68d57c3947))
* item not coming in quick entry ([008894d](008894d32b))
* permissions during bulk transaction logs ([6e6ca42](6e6ca42261))
* pick list not picked qty less than 1 ([5310ec3](5310ec38ca))
* rate not fetching from the item price ([fd02060](fd02060cd2))
* rate reset to zero ([4636ef0](4636ef0a29))
* remove faulty translation ([#40667](https://github.com/frappe/erpnext/issues/40667)) ([afa930f](afa930ff48))
* style for tax breakup ([501b09a](501b09a170))
* translatability of bom configurator labels ([cf49cec](cf49cec203))
* Turkish translations ([#40650](https://github.com/frappe/erpnext/issues/40650)) ([17a0876](17a087663b))
* use serial/batch fields for subcontracting receipt and in transit stock entry ([9ec24bc](9ec24bcc6c))
* use Text Editor for rendering tax breakup table ([a95bb27](a95bb27c65))
* validate gl for previous fiscal year ([4b973b2](4b973b2f86))
* validation error for the subcontracting receipt ([23ae82d](23ae82d282))
* wrong buying amount if delivered and billed qty varies ([c224240](c2242406f4))

### Features

* bisect doctype ([884a18f](884a18f8f1))
* nodes doctype ([bfccfa4](bfccfa4af1))

### Performance Improvements

* add in some indexes (backport [#40590](https://github.com/frappe/erpnext/issues/40590)) ([#40605](https://github.com/frappe/erpnext/issues/40605)) ([f66cf7d](f66cf7d838))
2024-03-27 03:27:37 +00:00
Deepesh Garg
d09821e1e1 Merge pull request #40678 from frappe/version-15-hotfix
chore: release v15
2024-03-27 08:56:26 +05:30
rohitwaghchaure
b6ac3e7d08 Merge pull request #40689 from frappe/mergify/bp/version-15-hotfix/pr-40685
fix: validation error for the subcontracting receipt (backport #40685)
2024-03-27 08:04:58 +05:30
Raffael Meyer
afa930ff48 fix: remove faulty translation (#40667) 2024-03-27 00:21:16 +01:00
Rohit Waghchaure
23ae82d282 fix: validation error for the subcontracting receipt
(cherry picked from commit 016585c248)
2024-03-26 14:27:36 +00:00
rohitwaghchaure
ad8961030e Merge pull request #40688 from frappe/mergify/bp/version-15-hotfix/pr-40684
fix: incorrect total qty in job card (backport #40684)
2024-03-26 19:54:46 +05:30
Rohit Waghchaure
68d57c3947 fix: incorrect total qty in job card
(cherry picked from commit c3546cf8e2)
2024-03-26 14:04:03 +00:00
rohitwaghchaure
9b9892da03 Merge pull request #40680 from frappe/mergify/bp/version-15-hotfix/pr-40674
fix: existing batch from different warehouse not showing in the dropdown (backport #40674)
2024-03-26 16:33:14 +05:30
Rohit Waghchaure
79d047802a fix: existing batch from different warehouse not showing in the dropdown
(cherry picked from commit 662cf21afb)
2024-03-26 10:35:51 +00:00
rohitwaghchaure
108e80419e Merge pull request #40673 from frappe/mergify/bp/version-15-hotfix/pr-40672
fix: item not coming in quick entry (backport #40672)
2024-03-26 14:33:46 +05:30
Rohit Waghchaure
008894d32b fix: item not coming in quick entry
(cherry picked from commit dcbb54c41f)
2024-03-26 06:13:17 +00:00
Deepesh Garg
634054c07b Merge pull request #40430 from frappe/mergify/bp/version-15-hotfix/pr-40385
fix: Book depreciation until the asset disposal date and remove unwanted commits (#40385)
2024-03-26 09:05:20 +05:30
SelenSoft
17a087663b fix: Turkish translations (#40650)
Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
2024-03-25 23:27:51 +01:00
Deepesh Garg
b04cef9f3f Merge pull request #40653 from frappe/mergify/bp/version-15-hotfix/pr-40640
fix: Add default finance book check in P&L statement (backport #40640)
2024-03-25 17:08:40 +05:30
Deepesh Garg
f08715972a fix: Add default finance book check in P&L statement
(cherry picked from commit 5be3417fdf)
2024-03-25 09:14:45 +00:00
Frappe PR Bot
22f3935024 chore(release): Bumped to Version 15.17.6
## [15.17.6](https://github.com/frappe/erpnext/compare/v15.17.5...v15.17.6) (2024-03-25)

### Bug Fixes

* reset update outstanding flag for old records ([1753a13](1753a138e9))
2024-03-25 02:55:11 +00:00
ruthra kumar
0b0b3f0d9d Merge pull request #40645 from frappe/mergify/bp/version-15/pr-40622
fix: reset update_outstanding_for_self flag for old records (backport #40622)
2024-03-25 08:24:03 +05:30
ruthra kumar
0658285a3b refactor: hide on print formats
(cherry picked from commit fdcdc8a56e)
2024-03-25 07:44:37 +05:30
ruthra kumar
1753a138e9 fix: reset update outstanding flag for old records
(cherry picked from commit a88bf8419e)
2024-03-25 07:44:16 +05:30
rohitwaghchaure
4e4e6c669d Merge pull request #40639 from frappe/mergify/bp/version-15-hotfix/pr-40638
fix: Batch No is mandatory while making manufacture entry (backport #40638)
2024-03-24 21:19:51 +05:30
Rohit Waghchaure
a638c9c8af fix: Batch No is mandatory while making manufacture entry
(cherry picked from commit 43fd60a877)
2024-03-24 13:02:10 +00:00
rohitwaghchaure
a95295b9f9 Merge pull request #40637 from frappe/mergify/bp/version-15-hotfix/pr-40594
fix: use serial/batch fields for subcontracting receipt and in transit in stock entry (backport #40594)
2024-03-24 17:45:50 +05:30
ruthra kumar
e33c383345 Merge pull request #40624 from frappe/mergify/bp/version-15-hotfix/pr-40622
refactor: reset update_outstanding_for_self flag for old records (backport #40622)
2024-03-24 16:39:03 +05:30
ruthra kumar
996f7d30b9 chore: resolve conflict 2024-03-24 16:24:10 +05:30
Rohit Waghchaure
9ec24bcc6c fix: use serial/batch fields for subcontracting receipt and in transit stock entry
(cherry picked from commit 3423334e4f)
2024-03-24 10:34:52 +00:00
Deepesh Garg
bfa316ad09 Merge pull request #40591 from frappe/mergify/bp/version-15-hotfix/pr-40587
refactor(Item Price): validate dates (#40587)
2024-03-23 08:58:47 +05:30
ruthra kumar
d238cdbdd5 refactor: hide on print formats
(cherry picked from commit fdcdc8a56e)
2024-03-22 14:54:02 +00:00
ruthra kumar
f25b5bdfab refactor: reset flag for old records
(cherry picked from commit a88bf8419e)

# Conflicts:
#	erpnext/patches.txt
2024-03-22 14:54:02 +00:00
Frappe PR Bot
c39d02fa14 chore(release): Bumped to Version 15.17.5
## [15.17.5](https://github.com/frappe/erpnext/compare/v15.17.4...v15.17.5) (2024-03-22)

### Bug Fixes

* rate reset to zero ([1ed9133](1ed9133bb6))
2024-03-22 10:30:44 +00:00
rohitwaghchaure
4a1c56113e Merge pull request #40619 from frappe/mergify/bp/version-15/pr-40617
fix: rate reset to zero (backport #40616) (backport #40617)
2024-03-22 15:59:36 +05:30
Rohit Waghchaure
1ed9133bb6 fix: rate reset to zero
(cherry picked from commit 6821baa850)
(cherry picked from commit 4636ef0a29)
2024-03-22 10:08:05 +00:00
rohitwaghchaure
9f13b6ed2b Merge pull request #40617 from frappe/mergify/bp/version-15-hotfix/pr-40616
fix: rate reset to zero (backport #40616)
2024-03-22 15:36:51 +05:30
Rohit Waghchaure
4636ef0a29 fix: rate reset to zero
(cherry picked from commit 6821baa850)
2024-03-22 09:50:50 +00:00
ruthra kumar
fcbe2556d3 Merge pull request #40613 from frappe/mergify/bp/version-15-hotfix/pr-38496
feat: utility to debug financial reports - Bisect Accounting Statements (backport #38496)
2024-03-22 14:19:42 +05:30
ruthra kumar
345d5a657a chore: resolve JS linter issue 2024-03-22 14:03:43 +05:30
ruthra kumar
e7b3ef0c90 chore: resolve linter issues
(cherry picked from commit 0890b414b1)
2024-03-22 07:53:45 +00:00
ruthra kumar
b371369699 refactor: cache results
(cherry picked from commit 14c8c8c33d)
2024-03-22 07:53:45 +00:00
ruthra kumar
067f101c99 refactor: flag to differentiate generated and default values
(cherry picked from commit 0925706d5e)
2024-03-22 07:53:44 +00:00
ruthra kumar
0305aafff8 refactor: save results in node
(cherry picked from commit ca14ae8f1b)
2024-03-22 07:53:44 +00:00
ruthra kumar
a59dc8b40c chore: restrict only to administrator and type info
(cherry picked from commit 90c6d4dc85)
2024-03-22 07:53:44 +00:00
ruthra kumar
6b1b2e863a chore: change data type for summary fields
(cherry picked from commit 228aa1a244)
2024-03-22 07:53:44 +00:00
ruthra kumar
415be361b4 refactor: adding labels to important section
(cherry picked from commit 993e2bfbf9)
2024-03-22 07:53:44 +00:00
ruthra kumar
509d6e3ca9 chore: UI cleanup
(cherry picked from commit ea3071db66)
2024-03-22 07:53:44 +00:00
ruthra kumar
6ff311c4e9 chore: add screen freeze on wait
(cherry picked from commit 395299803f)
2024-03-22 07:53:43 +00:00
ruthra kumar
348359ad5a chore: code cleanup
(cherry picked from commit 5e2d21c033)
2024-03-22 07:53:43 +00:00
ruthra kumar
1a08482655 chore: hide internal variables section
(cherry picked from commit c4c3090f46)
2024-03-22 07:53:43 +00:00
ruthra kumar
b686e1f972 chore: rename btree and remove debugging statements
(cherry picked from commit 6492019383)
2024-03-22 07:53:42 +00:00
ruthra kumar
5674ea450d chore: hide internal fields and better painting logic for heatmap
(cherry picked from commit f6831fba13)
2024-03-22 07:53:42 +00:00
ruthra kumar
f376659785 refactor: working heatmap
(cherry picked from commit 16db6c2f47)
2024-03-22 07:53:42 +00:00
ruthra kumar
c678134de6 chore: hide some internal fields
(cherry picked from commit bd3dc6482e)
2024-03-22 07:53:41 +00:00
ruthra kumar
a25f6493de refactor: calculate summary on tree navigation
(cherry picked from commit f7b7b2b438)
2024-03-22 07:53:41 +00:00
ruthra kumar
59ce9ccc8e refactor: use DB to store tree and state
(cherry picked from commit 99fbd8ad18)
2024-03-22 07:53:41 +00:00
ruthra kumar
a14eceb41a chore: use doctype as btree
(cherry picked from commit 9d20256366)
2024-03-22 07:53:41 +00:00
ruthra kumar
bfccfa4af1 feat: nodes doctype
(cherry picked from commit 85f2a6dd54)
2024-03-22 07:53:41 +00:00
ruthra kumar
0bce5d6057 chore: remove unwanted code
(cherry picked from commit de2eba0d98)
2024-03-22 07:53:40 +00:00
ruthra kumar
fd566f134d refactor: add basic navigation
1. remove unnecessary columns
2. added basic tree navigation

(cherry picked from commit 705ef4f5a3)
2024-03-22 07:53:40 +00:00
ruthra kumar
40176a6b41 refactor: ability to build and load tree from DB
(cherry picked from commit b2dde55f2c)
2024-03-22 07:53:40 +00:00
ruthra kumar
9f859c2bd3 refactor: introduce node class
(cherry picked from commit d53b34c0ce)
2024-03-22 07:53:40 +00:00
ruthra kumar
62987372ba refactor: more buttons
(cherry picked from commit a427029151)
2024-03-22 07:53:40 +00:00
ruthra kumar
80b77ffc87 refactor: date validation
(cherry picked from commit 2de3e6ce6d)
2024-03-22 07:53:39 +00:00
ruthra kumar
ed64d691fc refactor: support for BFS and DFS
(cherry picked from commit 03a38ed025)
2024-03-22 07:53:39 +00:00
ruthra kumar
1f235a7ba3 refactor: simplify DFS
(cherry picked from commit 26503a205f)
2024-03-22 07:53:39 +00:00
ruthra kumar
ce039f279b refactor: Depth First Search(DFS)
(cherry picked from commit 5a25c80f2e)
2024-03-22 07:53:39 +00:00
ruthra kumar
b6c2dbe581 refactor: some logic
(cherry picked from commit 4c8a8c3bcd)
2024-03-22 07:53:39 +00:00
ruthra kumar
884a18f8f1 feat: bisect doctype
(cherry picked from commit decdbd2782)
2024-03-22 07:53:39 +00:00
ruthra kumar
0393855243 refactor: primitive summary for p&l and balance sheet
(cherry picked from commit eb4c476490)
2024-03-22 07:53:38 +00:00
ruthra kumar
0e0b8e5ab4 Merge pull request #40608 from frappe/mergify/bp/version-15-hotfix/pr-40520
fix: permissions during bulk transaction logs (backport #40520)
2024-03-22 10:33:28 +05:30
David
6e6ca42261 fix: permissions during bulk transaction logs
(cherry picked from commit 49dd4c1ef3)
2024-03-22 04:38:45 +00:00
ruthra kumar
7344296a39 Merge pull request #40597 from frappe/mergify/bp/version-15-hotfix/pr-40386
fix: wrong buying amount if delivered and billed qty varies (backport #40386)
2024-03-22 09:04:37 +05:30
mergify[bot]
f66cf7d838 perf: add in some indexes (backport #40590) (#40605)
perf: add in some indexes (#40590)

`Sales Invoice Item.purchase_order`
`Delivery Note Item.purchase_order`

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
(cherry picked from commit 1cd38c860a)

Co-authored-by: Akhil Narang <me@akhilnarang.dev>
2024-03-22 08:51:57 +05:30
Frappe PR Bot
2b80cb99be chore(release): Bumped to Version 15.17.4
## [15.17.4](https://github.com/frappe/erpnext/compare/v15.17.3...v15.17.4) (2024-03-21)

### Bug Fixes

* rate not fetching from the item price ([0d95ace](0d95acefa2))
2024-03-21 17:30:02 +00:00
rohitwaghchaure
57e0b4ea5f Merge pull request #40602 from frappe/mergify/bp/version-15/pr-40600
fix: rate not fetching from the item price (backport #40595) (backport #40600)
2024-03-21 22:58:48 +05:30
Rohit Waghchaure
0d95acefa2 fix: rate not fetching from the item price
(cherry picked from commit d893a465d7)
(cherry picked from commit fd02060cd2)
2024-03-21 17:13:04 +00:00
rohitwaghchaure
5b155e37aa Merge pull request #40600 from frappe/mergify/bp/version-15-hotfix/pr-40595
fix: rate not fetching from the item price (backport #40595)
2024-03-21 22:40:47 +05:30
Rohit Waghchaure
fd02060cd2 fix: rate not fetching from the item price
(cherry picked from commit d893a465d7)
2024-03-21 16:50:13 +00:00
ruthra kumar
f5008a1467 test: buying amt calculation if DN and SI differ in qty
(cherry picked from commit ccb51ded95)
2024-03-21 15:46:01 +00:00
Dany Robert
c2242406f4 fix: wrong buying amount if delivered and billed qty varies
(cherry picked from commit b8da0d9334)
2024-03-21 15:46:01 +00:00
barredterra
df6226f07f chore: resolve conflicts 2024-03-21 14:16:27 +01:00
barredterra
357a1c9752 refactor(Item Price): validate dates
(cherry picked from commit cbcc47b5c4)

# Conflicts:
#	erpnext/stock/doctype/item_price/item_price.py
2024-03-21 13:13:27 +00:00
ruthra kumar
9e5e244e7a Merge pull request #40582 from frappe/mergify/bp/version-15-hotfix/pr-40580
refactor: config changes in Transaction Deletion Record (backport #40580)
2024-03-21 11:02:39 +05:30
Gursheen Kaur Anand
3dcd7380ac Merge pull request #40576 from frappe/mergify/bp/version-15-hotfix/pr-40572
fix: PCV validation for previous fiscal year (backport #40572)
2024-03-21 10:57:26 +05:30
ruthra kumar
b7dc28fff9 refactor: config changes in Transaction Deletion Record
(cherry picked from commit 4ba67fb3ec)
2024-03-21 05:17:25 +00:00
rohitwaghchaure
fa95bd331a Merge pull request #40564 from frappe/mergify/bp/version-15-hotfix/pr-40545
fix: translatability of bom configurator labels (backport #40545)
2024-03-21 01:58:16 +05:30
Gursheen Anand
4b973b2f86 fix: validate gl for previous fiscal year
(cherry picked from commit a1d108c062)
2024-03-20 15:30:03 +00:00
ruthra kumar
5194b87dc4 Merge pull request #40575 from frappe/mergify/bp/version-15-hotfix/pr-39717
refactor: Transaction Deletion record for large volumes (backport #39717)
2024-03-20 20:40:27 +05:30
Frappe PR Bot
85aeb1f3b1 chore(release): Bumped to Version 15.17.3
## [15.17.3](https://github.com/frappe/erpnext/compare/v15.17.2...v15.17.3) (2024-03-20)

### Bug Fixes

* style for tax breakup ([07bb836](07bb8360d5))
* use Text Editor for rendering tax breakup table ([64672e6](64672e655a))
2024-03-20 14:58:46 +00:00
Gursheen Kaur Anand
03a40f491b Merge pull request #40568 from frappe/mergify/bp/version-15/pr-40563
fix: use `Text Editor` for rendering tax breakup table (backport #40563)
2024-03-20 20:27:31 +05:30
Gursheen Kaur Anand
36c6820096 Merge pull request #40570 from frappe/mergify/bp/version-15-hotfix/pr-40563
fix: use `Text Editor` for rendering tax breakup table (backport #40563)
2024-03-20 20:27:03 +05:30
Gursheen Kaur Anand
9c204b7106 chore: resolve conflicts 2024-03-20 20:04:44 +05:30
Gursheen Kaur Anand
8e5d481cba chore: resolve conflicts 2024-03-20 20:03:03 +05:30
Gursheen Kaur Anand
37eae8eb4e chore: resolve conflicts 2024-03-20 19:58:01 +05:30
Gursheen Kaur Anand
4ede3a9ba5 chore: resolve conflicts 2024-03-20 19:57:24 +05:30
ruthra kumar
e7d2451f60 chore: fix linting issue in JS
(cherry picked from commit 02c522b7cd)
2024-03-20 14:13:21 +00:00
ruthra kumar
5bbccf1fbd refactor(test): test cases modified to handle new approach
(cherry picked from commit 81309576b0)
2024-03-20 14:13:21 +00:00
ruthra kumar
40574f0d72 refactor: ability to process in single transaction
(cherry picked from commit a158b825d7)
2024-03-20 14:13:20 +00:00
ruthra kumar
1104deb58e refactor: link running doc validation to company master
(cherry picked from commit 5a3afea8c7)
2024-03-20 14:13:20 +00:00
ruthra kumar
29804f6a41 chore: rename entry point
(cherry picked from commit 5fe0b20be1)
2024-03-20 14:13:20 +00:00
ruthra kumar
ae6260f717 chore: move status and error log to their own section
(cherry picked from commit 3cec62d4f8)
2024-03-20 14:13:19 +00:00
ruthra kumar
aceee829d2 refactor: minor UI tweaks
(cherry picked from commit 0455d0c46c)
2024-03-20 14:13:19 +00:00
ruthra kumar
02c3303fee refactor: exception propogation
(cherry picked from commit 4a55240e63)
2024-03-20 14:13:18 +00:00
ruthra kumar
3f45f63ff8 chore: code cleanup
(cherry picked from commit eea260b9f9)
2024-03-20 14:13:17 +00:00
ruthra kumar
3de53999ce refactor: better method naming
(cherry picked from commit 30463657bf)
2024-03-20 14:13:17 +00:00
ruthra kumar
b31e43e3db refactor: barebones hook on all doctypes with 'company' field
(cherry picked from commit ec194ef076)
2024-03-20 14:13:16 +00:00
ruthra kumar
d4c2e6c77d refactor: make sure only one task is running for doc
(cherry picked from commit 78c9cc63b1)
2024-03-20 14:13:16 +00:00
ruthra kumar
049c54bb32 chore: hide docfield in list view
(cherry picked from commit 98afb4d468)
2024-03-20 14:13:15 +00:00
ruthra kumar
d35bef12b6 refactor: validations to prevent duplicate jobs
(cherry picked from commit 31a2da552b)
2024-03-20 14:13:15 +00:00
ruthra kumar
90ad3d3176 refactor: no copy on summary table and more validations
(cherry picked from commit 55e93b3fe1)
2024-03-20 14:13:15 +00:00
ruthra kumar
db9cc5350d refactor: reset all flags and remove unwanted code
(cherry picked from commit 2dbe68a09d)
2024-03-20 14:13:15 +00:00
ruthra kumar
f67c447402 chore: show correct status in list view
(cherry picked from commit 1014940953)
2024-03-20 14:13:14 +00:00
ruthra kumar
cbaee05740 refactor: validate status before running events
(cherry picked from commit 86b5e2e277)
2024-03-20 14:13:14 +00:00
ruthra kumar
c827be4345 refactor: make Excluded doctype table read only
(cherry picked from commit 7c4cff2649)
2024-03-20 14:13:14 +00:00
ruthra kumar
efebec3f95 chore: remove unwanted UI code
(cherry picked from commit b98a5e4edc)
2024-03-20 14:13:14 +00:00
ruthra kumar
c3dd68ecc3 refactor: use separate child table for summary
(cherry picked from commit 49d3bcbc8d)
2024-03-20 14:13:13 +00:00
ruthra kumar
2bb1bfc4a0 refactor: chained callback
(cherry picked from commit b12ca65fcc)
2024-03-20 14:13:13 +00:00
ruthra kumar
195bffdf44 refactor: reorder flags in Tasks section
(cherry picked from commit cccb2d5141)
2024-03-20 14:13:13 +00:00
ruthra kumar
17ed1bb12c refactor: use flags to decide on current stage
(cherry picked from commit 6a77d86a53)
2024-03-20 14:13:13 +00:00
ruthra kumar
f9321767a6 refactor: UI trigger
(cherry picked from commit 8944ab8b6a)
2024-03-20 14:13:13 +00:00
ruthra kumar
9c5108e492 refactor: tasks section and UI niceties
(cherry picked from commit d0dc2c6e77)
2024-03-20 14:13:12 +00:00
ruthra kumar
529abd619a refactor: set status and trigger job on submit
(cherry picked from commit 6fbb67b1d2)
2024-03-20 14:13:12 +00:00
ruthra kumar
03fc3cec70 refactor: more options for 'status' and move it to top
(cherry picked from commit 0d65d878de)
2024-03-20 14:13:11 +00:00
Ankush Menat
501b09a170 fix: style for tax breakup
(cherry picked from commit 967540da18)
2024-03-20 13:06:45 +00:00
Gursheen Anand
a95bb27c65 fix: use Text Editor for rendering tax breakup table
(cherry picked from commit 1c63983873)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/purchase_order.json
#	erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
2024-03-20 13:06:45 +00:00
Ankush Menat
07bb8360d5 fix: style for tax breakup
(cherry picked from commit 967540da18)
2024-03-20 13:06:38 +00:00
Gursheen Anand
64672e655a fix: use Text Editor for rendering tax breakup table
(cherry picked from commit 1c63983873)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/purchase_order.json
#	erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
2024-03-20 13:06:38 +00:00
barredterra
cf49cec203 fix: translatability of bom configurator labels
(cherry picked from commit 4cfe99d74f)
2024-03-20 10:50:39 +00:00
rohitwaghchaure
bc5654b900 Merge pull request #40562 from frappe/mergify/bp/version-15-hotfix/pr-40561
fix: Cannot read properties of undefined (reading 'rate') (backport #40561)
2024-03-20 16:17:08 +05:30
Rohit Waghchaure
d287ed5e47 fix: Cannot read properties of undefined (reading 'rate')
(cherry picked from commit ac92a22914)
2024-03-20 09:31:42 +00:00
rohitwaghchaure
f881d23c05 Merge pull request #40560 from frappe/mergify/bp/version-15-hotfix/pr-40559
fix: pick list not picked materials having required qty less than 1 (backport #40559)
2024-03-20 14:16:44 +05:30
Rohit Waghchaure
5310ec38ca fix: pick list not picked qty less than 1
(cherry picked from commit 1a9ae33110)
2024-03-20 08:23:08 +00:00
Frappe PR Bot
1937059870 chore(release): Bumped to Version 15.17.2
## [15.17.2](https://github.com/frappe/erpnext/compare/v15.17.1...v15.17.2) (2024-03-20)

### Bug Fixes

* achieved targets for sales partners ([1ac8887](1ac888715c))
* advance journal fetching logic in Advances section ([bfa78aa](bfa78aaf74))
* attribute error on Bank Statement Import retry ([a0bf22c](a0bf22c9a5))
* auto-update due date for invoices via data import ([9cdde50](9cdde50f7c))
* balance qty in the stock ledger report (backport [#40506](https://github.com/frappe/erpnext/issues/40506)) ([#40507](https://github.com/frappe/erpnext/issues/40507)) ([69f442d](69f442dd79))
* currency symbol for Landed Cost Voucher Amount (backport [#40550](https://github.com/frappe/erpnext/issues/40550)) ([#40554](https://github.com/frappe/erpnext/issues/40554)) ([1c90797](1c90797879))
* Data too long for column 'stock_queue' (backport [#40436](https://github.com/frappe/erpnext/issues/40436)) ([#40451](https://github.com/frappe/erpnext/issues/40451)) ([ba6b856](ba6b8561c9))
* don't validate for currency, if account is unavailable ([5729ee5](5729ee563c))
* flaky Accounts Receivable test case ([0bb4a7d](0bb4a7d13a))
* incorrect gross profit on the quotation (backport [#40438](https://github.com/frappe/erpnext/issues/40438)) ([#40442](https://github.com/frappe/erpnext/issues/40442)) ([ce2626e](ce2626e911))
* index error on Exchange Rate Revaluation creation ([ebd967d](ebd967d7d3))
* invalid exchange loss booking on invoice againts base accounts ([72c9cd5](72c9cd5582))
* missing range for ageing summary ([dacc69c](dacc69c56f))
* not able to delete cancelled delivery note (backport [#40508](https://github.com/frappe/erpnext/issues/40508)) ([#40510](https://github.com/frappe/erpnext/issues/40510)) ([917a21b](917a21b989))
* rate changing while making PR (negative discount) (backport [#40539](https://github.com/frappe/erpnext/issues/40539)) ([#40540](https://github.com/frappe/erpnext/issues/40540)) ([0bdda12](0bdda1226f))
* Remove custom queries for customer ([3133505](313350534f))
* serial and batch for internal transfer (backport [#40467](https://github.com/frappe/erpnext/issues/40467)) ([#40477](https://github.com/frappe/erpnext/issues/40477)) ([61d59b3](61d59b392a))
* show correct variance for durations with no vouchers ([bc78bc3](bc78bc33f1))
* stock reco negative batch (backport [#40533](https://github.com/frappe/erpnext/issues/40533)) ([#40535](https://github.com/frappe/erpnext/issues/40535)) ([7f1f780](7f1f7809c8))
* stopped mr showing in the popup (backport [#40478](https://github.com/frappe/erpnext/issues/40478)) ([#40480](https://github.com/frappe/erpnext/issues/40480)) ([74b30a6](74b30a6a1d))
* **Supplier Quotation Comparison:** group by options ([1e16d2c](1e16d2ca25))
* Taxes not getting updated on change ([75b610d](75b610d7fc))
* **test:** manually filter rows and assert ([df13517](df1351783e))
* Update Existing Price List Rate not working (backport [#40333](https://github.com/frappe/erpnext/issues/40333)) ([#40527](https://github.com/frappe/erpnext/issues/40527)) ([44bbf4b](44bbf4b983))
* use in_import flag for checking imported records ([8242a9c](8242a9cd46))
2024-03-20 05:23:16 +00:00
rohitwaghchaure
717c78dcda Merge pull request #40538 from frappe/version-15-hotfix
chore: release v15
2024-03-20 10:52:04 +05:30
mergify[bot]
1c90797879 fix: currency symbol for Landed Cost Voucher Amount (backport #40550) (#40554)
fix: currency symbol for Landed Cost Voucher Amount (#40550)

(cherry picked from commit 0725707cb1)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-19 20:42:57 +05:30
Raffael Meyer
ba9f9bff19 Merge pull request #40548 from frappe/mergify/bp/version-15-hotfix/pr-40546
fix(Supplier Quotation Comparison): group by options (backport #40546)
2024-03-19 13:07:25 +01:00
barredterra
1e16d2ca25 fix(Supplier Quotation Comparison): group by options
(cherry picked from commit 87e36d290e)
2024-03-19 11:51:36 +00:00
Raffael Meyer
745e653339 Merge pull request #40544 from frappe/mergify/bp/version-15-hotfix/pr-40542 2024-03-19 12:49:32 +01:00
barredterra
f0e00daa1c refactor: usage of in_list
(cherry picked from commit d238751e6b)
2024-03-19 11:13:02 +00:00
mergify[bot]
0bdda1226f fix: rate changing while making PR (negative discount) (backport #40539) (#40540)
fix: rate changing while making PR (negative discount) (#40539)

(cherry picked from commit 8136954484)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-19 15:37:37 +05:30
rohitwaghchaure
05436dfcac Merge branch 'version-15' into version-15-hotfix 2024-03-19 15:28:47 +05:30
mergify[bot]
7f1f7809c8 fix: stock reco negative batch (backport #40533) (#40535)
fix: stock reco negative batch (#40533)

(cherry picked from commit a64c2ecf39)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-19 15:18:50 +05:30
mergify[bot]
44bbf4b983 fix: Update Existing Price List Rate not working (backport #40333) (#40527)
fix: Update Existing Price List Rate not working (#40333)

(cherry picked from commit 09ea7edb86)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-19 14:26:41 +05:30
Gursheen Kaur Anand
0ddb310dd4 Merge pull request #40531 from frappe/mergify/bp/version-15-hotfix/pr-40528
fix(minor): missing range for ageing summary in PSOA (backport #40528)
2024-03-19 12:44:04 +05:30
Gursheen Anand
dacc69c56f fix: missing range for ageing summary
(cherry picked from commit 643cc022fd)
2024-03-19 07:11:18 +00:00
ruthra kumar
7b4ede9c04 Merge pull request #40523 from frappe/mergify/bp/version-15-hotfix/pr-40502
refactor: toggle between 'http' and 'https' on exchange rate API (backport #40502)
2024-03-19 10:21:28 +05:30
ruthra kumar
1a0a70b5cd refactor: toggle between 'http' and 'https' on exchange rate API
(cherry picked from commit 8b81274769)
2024-03-19 04:30:16 +00:00
ruthra kumar
093b95604f Merge pull request #40516 from frappe/mergify/bp/version-15-hotfix/pr-40511
fix: invalid exchange loss booking on invoice against base accounts (backport #40511)
2024-03-18 21:00:38 +05:30
ruthra kumar
dd30a46f29 refactor(test): ensure Exchange gain/loss journals aren't created
(cherry picked from commit e1c2d006ca)
2024-03-18 15:14:44 +00:00
ruthra kumar
72c9cd5582 fix: invalid exchange loss booking on invoice againts base accounts
(cherry picked from commit 3d5dba6976)
2024-03-18 15:14:43 +00:00
mergify[bot]
917a21b989 fix: not able to delete cancelled delivery note (backport #40508) (#40510)
fix: not able to delete cancelled delivery note (#40508)

(cherry picked from commit 7695759f3c)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-18 15:26:32 +05:30
mergify[bot]
69f442dd79 fix: balance qty in the stock ledger report (backport #40506) (#40507)
fix: balance qty in the stock ledger report (#40506)

(cherry picked from commit 00de529a1e)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-18 13:03:27 +05:30
Gursheen Kaur Anand
a82df6ac7b Merge pull request #40503 from GursheenK/achieved-targets-for-territory-v15
fix: achieved targets for territory / partners bpv15
2024-03-18 11:21:59 +05:30
Gursheen Anand
bc78bc33f1 fix: show correct variance for durations with no vouchers 2024-03-18 10:18:16 +05:30
Gursheen Anand
1a3ea0c108 test: sales partner targets with invoices 2024-03-18 10:18:16 +05:30
Gursheen Anand
1ac888715c fix: achieved targets for sales partners 2024-03-18 10:18:16 +05:30
Deepesh Garg
6ecd545f17 Merge pull request #40492 from frappe/mergify/bp/version-15-hotfix/pr-40428
chore: Remove custom party queries (#40428)
2024-03-17 19:47:39 +05:30
ruthra kumar
be730fe66a Merge pull request #40499 from frappe/mergify/bp/version-15-hotfix/pr-40494
fix: AttributeError in Bank Statement Import (backport #40494)
2024-03-17 08:10:18 +05:30
ruthra kumar
09c1da9570 Merge pull request #40497 from frappe/mergify/bp/version-15-hotfix/pr-40495
fix: index error on Exchange Rate Revaluation creation (backport #40495)
2024-03-17 08:06:17 +05:30
ruthra kumar
a0bf22c9a5 fix: attribute error on Bank Statement Import retry
(cherry picked from commit aec630c74f)
2024-03-17 02:23:46 +00:00
ruthra kumar
5729ee563c fix: don't validate for currency, if account is unavailable
(cherry picked from commit 3cde81be65)
2024-03-17 02:23:46 +00:00
ruthra kumar
ebd967d7d3 fix: index error on Exchange Rate Revaluation creation
(cherry picked from commit bb279e368c)
2024-03-17 02:21:37 +00:00
Deepesh Garg
313350534f fix: Remove custom queries for customer
(cherry picked from commit 60ba25caf2)
2024-03-16 14:34:36 +00:00
Deepesh Garg
e3336c603c chore: Add supplier query back
(cherry picked from commit effc9d1492)
2024-03-16 14:34:36 +00:00
Deepesh Garg
2e38f4d599 chore: remove invalid comment
(cherry picked from commit e87b44f758)
2024-03-16 14:34:36 +00:00
Deepesh Garg
2512d4c7f2 chore: Remove custom party queries
(cherry picked from commit c9623b6fd6)
2024-03-16 14:34:36 +00:00
Deepesh Garg
823e377ef1 Merge pull request #40454 from frappe/mergify/bp/version-15-hotfix/pr-40433
fix: Taxes not getting updated on change (#40433)
2024-03-16 19:23:22 +05:30
ruthra kumar
db5cd4eace Merge pull request #40490 from frappe/mergify/bp/version-15-hotfix/pr-40485
refactor: validate SO and SI references in Delivery Notes (backport #40485)
2024-03-16 15:27:37 +05:30
ruthra kumar
409a65ec64 test: SO reference validation
(cherry picked from commit 4f396d3049)
2024-03-16 09:29:15 +00:00
ruthra kumar
28d3525b42 refactor: validate SO and SI references
(cherry picked from commit 4d090bd3b8)
2024-03-16 09:29:14 +00:00
ruthra kumar
f7ef0d69b7 Merge pull request #40474 from frappe/mergify/bp/version-15-hotfix/pr-40473
refactor: enable no-copy for update_outstanding_for_self (backport #40473)
2024-03-16 10:07:51 +05:30
ruthra kumar
0ca5f98ba3 Merge pull request #40471 from frappe/mergify/bp/version-15-hotfix/pr-40260
refactor: support payment against reverse payment reconciliation (backport #40260)
2024-03-16 10:06:25 +05:30
ruthra kumar
78eb6bd9ea Merge pull request #40466 from frappe/mergify/bp/version-15-hotfix/pr-40461
refactor: disallow '0' qty return invoices with stock effect (backport #40461)
2024-03-16 10:05:22 +05:30
mergify[bot]
74b30a6a1d fix: stopped mr showing in the popup (backport #40478) (#40480)
fix: stopped mr showing in the popup (#40478)

(cherry picked from commit 1ff8a6f24f)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-16 09:35:56 +05:30
ruthra kumar
ed4c8461d3 chore: resolve conflict 2024-03-15 20:16:38 +05:30
mergify[bot]
61d59b392a fix: serial and batch for internal transfer (backport #40467) (#40477)
fix: serial and batch for internal transfer (#40467)

* fix: serial and batch for internal transfer

* chore: fix test cases

(cherry picked from commit 59222813af)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-15 18:19:56 +05:30
ruthra kumar
fba13c6dbc refactor: enable no-copy for update_outstanding_for_self
(cherry picked from commit a1e8caa5c1)
2024-03-15 11:33:09 +00:00
Gursheen Kaur Anand
3397b80ddf Merge pull request #40470 from frappe/mergify/bp/version-15-hotfix/pr-40198
fix: auto-update due date for invoices via data import (backport #40198)
2024-03-15 13:16:56 +05:30
ruthra kumar
d82b1fc600 refactor(test): generate and use unique party
(cherry picked from commit a3d4aff29c)
2024-03-15 07:22:42 +00:00
ruthra kumar
7ea1edc4ff test: advance payment reconciliation against payment
'advance' payments booked in separate party account

(cherry picked from commit 2a08072443)
2024-03-15 07:22:42 +00:00
ruthra kumar
1762f9919a test: reverse payment reconciliation
(cherry picked from commit 6d9074d585)

# Conflicts:
#	erpnext/accounts/doctype/payment_entry/test_payment_entry.py
2024-03-15 07:22:41 +00:00
ruthra kumar
17fb287cd9 refactor: support payment against reverse payment reconciliation
(cherry picked from commit 5f15297f28)
2024-03-15 07:22:41 +00:00
Gursheen Anand
8242a9cd46 fix: use in_import flag for checking imported records
(cherry picked from commit f504f2caf3)
2024-03-15 07:16:26 +00:00
Gursheen Anand
9cdde50f7c fix: auto-update due date for invoices via data import
(cherry picked from commit c096133897)
2024-03-15 07:16:25 +00:00
ruthra kumar
5957ef9b9d test: validation to prevent '0' qty return with stock effect
(cherry picked from commit 647bba0f00)
2024-03-15 05:37:36 +00:00
ruthra kumar
144aec8d6a refactor: disallow '0' qty return invoices with stock effect
(cherry picked from commit 898affbee9)
2024-03-15 05:37:36 +00:00
ruthra kumar
3fe45404ea Merge pull request #40460 from frappe/mergify/bp/version-15-hotfix/pr-40420
fix: advance journal fetching logic in Advances section (backport #40420)
2024-03-14 15:51:15 +05:30
ruthra kumar
bfa78aaf74 fix: advance journal fetching logic in Advances section
(cherry picked from commit e786a93c2e)
2024-03-14 10:06:05 +00:00
Frappe PR Bot
436e030961 chore(release): Bumped to Version 15.17.1
## [15.17.1](https://github.com/frappe/erpnext/compare/v15.17.0...v15.17.1) (2024-03-14)

### Bug Fixes

* **test:** manually filter row and assert ([057e433](057e43330f))
2024-03-14 09:17:23 +00:00
ruthra kumar
217cef6f4e Merge pull request #40440 from frappe/mergify/bp/version-15/pr-40372
refactor: checkbox to toggle standalone Credit/Debit note behaviour (backport #40372)
2024-03-14 14:46:16 +05:30
mergify[bot]
54b5064f76 chore: fix test case (backport #40457) (#40458)
chore: fix test case

(cherry picked from commit ec83d54826)

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
2024-03-14 14:43:05 +05:30
ruthra kumar
057e43330f fix(test): manually filter row and assert 2024-03-14 13:19:45 +05:30
Deepesh Garg
75b610d7fc fix: Taxes not getting updated on change
(cherry picked from commit 65ae9616ba)
2024-03-14 06:44:05 +00:00
mergify[bot]
ba6b8561c9 fix: Data too long for column 'stock_queue' (backport #40436) (#40451)
fix: Data too long for column 'stock_queue' (#40436)

(cherry picked from commit cd79dcccb6)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-14 11:49:10 +05:30
ruthra kumar
54a8473a91 Merge pull request #40447 from frappe/mergify/copy/version-15-hotfix/pr-40445
fix: flaky Accounts Receivable test case (copy #40445)
2024-03-14 10:29:27 +05:30
ruthra kumar
df1351783e fix(test): manually filter rows and assert 2024-03-14 10:14:35 +05:30
ruthra kumar
0bb4a7d13a fix: flaky Accounts Receivable test case
(cherry picked from commit 40bce240bde508801d07b9c38ededea5b4f297c8)
2024-03-13 16:53:44 +00:00
mergify[bot]
ce2626e911 fix: incorrect gross profit on the quotation (backport #40438) (#40442)
fix: incorrect gross profit on the quotation (#40438)

(cherry picked from commit f4a945aee4)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-13 21:56:20 +05:30
ruthra kumar
9ffb4c5ca9 chore: resolve conflicts 2024-03-13 17:55:22 +05:30
ruthra kumar
e07f9e6754 chore: better popup message
(cherry picked from commit 445d2acf50)

# Conflicts:
#	erpnext/controllers/accounts_controller.py
2024-03-13 12:08:39 +00:00
ruthra kumar
ed7a115511 test: cr note flag to update self
(cherry picked from commit ce3b1f09f5)
2024-03-13 12:08:38 +00:00
ruthra kumar
19763ce545 refactor: make AR/AP report aware of always standalone cr/dr notes
(cherry picked from commit 4d0c2d8e82)
2024-03-13 12:08:37 +00:00
ruthra kumar
95093ba7cd chore: patch for updating flag in Cr/Dr notes
(cherry picked from commit 849f478894)

# Conflicts:
#	erpnext/patches.txt
2024-03-13 12:08:37 +00:00
ruthra kumar
b56fe0e800 refactor: post ledger entries based on toggle
(cherry picked from commit 77aac6f571)
2024-03-13 12:08:36 +00:00
ruthra kumar
006971ecc6 refactor: checkbox in purchase invoice
(cherry picked from commit 767f2157e6)
2024-03-13 12:08:35 +00:00
ruthra kumar
9ccc22ca61 chore: update popup message
(cherry picked from commit adf13a19c4)

# Conflicts:
#	erpnext/controllers/accounts_controller.py
2024-03-13 12:08:35 +00:00
ruthra kumar
18957d7cc4 refactor: checkbox to toggle always standalone credit note
(cherry picked from commit 2cefe2a20e)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.json
2024-03-13 12:08:34 +00:00
ruthra kumar
bc53b67065 Merge pull request #40427 from frappe/mergify/bp/version-15-hotfix/pr-40372
refactor: checkbox to toggle standalone Credit/Debit note behaviour (backport #40372)
2024-03-13 16:28:50 +05:30
Nabin Hait
2d7ff5d4cf fix: Book depreciation until the asset disposal date and removed unwanted commits
(cherry picked from commit dedae4fecf)
2024-03-13 07:48:27 +00:00
ruthra kumar
70375dfbde refactor: pass 'name' to get_link_to_form 2024-03-13 13:15:07 +05:30
ruthra kumar
1093e0d46f chore: resolve conflicts 2024-03-13 12:17:46 +05:30
ruthra kumar
d87b98d945 chore: better popup message
(cherry picked from commit 445d2acf50)

# Conflicts:
#	erpnext/controllers/accounts_controller.py
2024-03-13 06:13:11 +00:00
ruthra kumar
752b01d83b test: cr note flag to update self
(cherry picked from commit ce3b1f09f5)
2024-03-13 06:13:11 +00:00
ruthra kumar
a0f78584e9 refactor: make AR/AP report aware of always standalone cr/dr notes
(cherry picked from commit 4d0c2d8e82)
2024-03-13 06:13:11 +00:00
ruthra kumar
4b44ae435a chore: patch for updating flag in Cr/Dr notes
(cherry picked from commit 849f478894)

# Conflicts:
#	erpnext/patches.txt
2024-03-13 06:13:10 +00:00
ruthra kumar
1c68946fb9 refactor: post ledger entries based on toggle
(cherry picked from commit 77aac6f571)
2024-03-13 06:13:10 +00:00
ruthra kumar
824d6b4102 refactor: checkbox in purchase invoice
(cherry picked from commit 767f2157e6)
2024-03-13 06:13:10 +00:00
ruthra kumar
b5f22c39ec chore: update popup message
(cherry picked from commit adf13a19c4)

# Conflicts:
#	erpnext/controllers/accounts_controller.py
2024-03-13 06:13:10 +00:00
ruthra kumar
f83098e493 refactor: checkbox to toggle always standalone credit note
(cherry picked from commit 2cefe2a20e)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.json
2024-03-13 06:13:09 +00:00
Frappe PR Bot
33185e0a3b chore(release): Bumped to Version 15.17.0
# [15.17.0](https://github.com/frappe/erpnext/compare/v15.16.2...v15.17.0) (2024-03-13)

### Bug Fixes

* **accounts:** Allow setting Number of new Cost Center (backport [#40212](https://github.com/frappe/erpnext/issues/40212)) ([#40314](https://github.com/frappe/erpnext/issues/40314)) ([7001e0a](7001e0a820))
* advance paid amount and ledger entries against SO/PO ([6a5a941](6a5a941a5a))
* barcode field on line item not working (backport [#40381](https://github.com/frappe/erpnext/issues/40381)) ([#40384](https://github.com/frappe/erpnext/issues/40384)) ([9ce68de](9ce68deff5))
* batch no not copied while making Material Consumption entry (backport [#40290](https://github.com/frappe/erpnext/issues/40290)) ([#40300](https://github.com/frappe/erpnext/issues/40300)) ([6d1c144](6d1c144a66))
* Blanket order rate getting changed on converting to order ([d8c6eb0](d8c6eb0bf2))
* conditionally apply `is_group` filter in accounting dimension query (backport [#40414](https://github.com/frappe/erpnext/issues/40414)) ([#40416](https://github.com/frappe/erpnext/issues/40416)) ([40752c1](40752c1f5c))
* decimal issue while making the stock entry (backport [#40394](https://github.com/frappe/erpnext/issues/40394)) ([#40397](https://github.com/frappe/erpnext/issues/40397)) ([91af7c0](91af7c033a))
* error message wording ([#40403](https://github.com/frappe/erpnext/issues/40403)) ([2a40808](2a40808b05))
* Filter for projects in Sales Cycle ([173b3b8](173b3b85f6))
* get_user_default_as_list args order ([44ff607](44ff607dcd))
* if input manualy material request on WO the material_request_item is not set so validate WO give error (backport [#40180](https://github.com/frappe/erpnext/issues/40180)) ([#40421](https://github.com/frappe/erpnext/issues/40421)) ([a5e6763](a5e6763be5))
* incorrect advance paid in Sales/Purchase Order ([6832908](6832908e92))
* incorrect work order status (backport [#40407](https://github.com/frappe/erpnext/issues/40407)) ([#40411](https://github.com/frappe/erpnext/issues/40411)) ([605132a](605132a31c))
* load ignored doctype and include Mode of Payment Account ([#40334](https://github.com/frappe/erpnext/issues/40334)) ([5fac500](5fac50036a))
* MR Default Supplier search query (backport [#40273](https://github.com/frappe/erpnext/issues/40273)) ([#40351](https://github.com/frappe/erpnext/issues/40351)) ([a195dd3](a195dd3c1f))
* negative stock error for the batch (backport [#40389](https://github.com/frappe/erpnext/issues/40389)) ([#40391](https://github.com/frappe/erpnext/issues/40391)) ([478b988](478b988290))
* not able to cancel purchase receipt for old subcontracting flow (backport [#40298](https://github.com/frappe/erpnext/issues/40298)) ([#40302](https://github.com/frappe/erpnext/issues/40302)) ([e0e80f7](e0e80f7eed))
* qc created for raw materials during manufacture entry (backport [#40408](https://github.com/frappe/erpnext/issues/40408)) ([#40413](https://github.com/frappe/erpnext/issues/40413)) ([f932265](f932265218))
* recursion issue while submitting work order (backport [#40400](https://github.com/frappe/erpnext/issues/40400)) ([#40402](https://github.com/frappe/erpnext/issues/40402)) ([d6e87f3](d6e87f3f17))
* Sender email in process statements of accounts ([953f640](953f64091a))
* **Shipment Parcel:** make length, width and height non-mandatory ([1476196](1476196966))
* stock ledger balance qty for the batch (backport [#40274](https://github.com/frappe/erpnext/issues/40274)) ([#40301](https://github.com/frappe/erpnext/issues/40301)) ([62aefce](62aefcef04))
* use serial batch fields for subcontracting receipt (backport [#40311](https://github.com/frappe/erpnext/issues/40311)) ([#40315](https://github.com/frappe/erpnext/issues/40315)) ([4b15c00](4b15c00b11))
* use serial/batch field for rejected items (backport [#40327](https://github.com/frappe/erpnext/issues/40327)) ([#40329](https://github.com/frappe/erpnext/issues/40329)) ([7ca7242](7ca72423b9))
* Use serial/batch fields for delivery note return (backport [#40374](https://github.com/frappe/erpnext/issues/40374)) ([#40376](https://github.com/frappe/erpnext/issues/40376)) ([32660ab](32660abdc8))

### Features

* add recursion qty field in promotional scheme ([5f4b23d](5f4b23d4af))
2024-03-13 04:29:12 +00:00
Deepesh Garg
0e4e0b3084 Merge pull request #40395 from frappe/version-15-hotfix
chore: release v15
2024-03-13 09:57:54 +05:30
mergify[bot]
a5e6763be5 fix: if input manualy material request on WO the material_request_item is not set so validate WO give error (backport #40180) (#40421)
fix: if input manualy material request on WO the material_request_item is not set so validate WO give error (#40180)

(cherry picked from commit f24f51b7de)

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
2024-03-12 21:56:14 +05:30
mergify[bot]
26a1d84935 chore: Add translation to buttons in Update stock_summary_template.html (backport #40099) (#40419)
chore: Add translation to buttons in Update stock_summary_template.html (#40099)

chore: Add translation to buttons in Update stock_summary_template.html
(cherry picked from commit f3b4237ab6)

Co-authored-by: Ernesto Ruiz <eruiz@wbapps.com>
2024-03-12 21:31:30 +05:30
mergify[bot]
40752c1f5c fix: conditionally apply is_group filter in accounting dimension query (backport #40414) (#40416)
fix: conditionally apply `is_group` filter in accounting dimension query (#40414)

(cherry picked from commit daf4ae2a6b)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2024-03-12 20:45:31 +05:30
Raffael Meyer
0ad203ab89 Merge pull request #40406 from frappe/mergify/bp/version-15-hotfix/pr-40403
fix: error message wording (backport #40403)
2024-03-12 14:29:49 +01:00
mergify[bot]
605132a31c fix: incorrect work order status (backport #40407) (#40411)
fix: incorrect work order status (#40407)

(cherry picked from commit 948297692e)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-12 18:34:25 +05:30
mergify[bot]
f932265218 fix: qc created for raw materials during manufacture entry (backport #40408) (#40413)
fix: qc created for raw materials during manufacture entry (#40408)

(cherry picked from commit f8a1a7f515)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-12 18:29:11 +05:30
Raffael Meyer
2a40808b05 fix: error message wording (#40403)
(cherry picked from commit 79a0473705)
2024-03-12 11:26:56 +00:00
mergify[bot]
d6e87f3f17 fix: recursion issue while submitting work order (backport #40400) (#40402)
* fix: recursion issue while submitting work order (#40400)

(cherry picked from commit 72614bb8ff)

* chore: fix linter issue

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-12 16:50:00 +05:30
mergify[bot]
91af7c033a fix: decimal issue while making the stock entry (backport #40394) (#40397)
fix: decimal issue while making the stock entry (#40394)

(cherry picked from commit 4a02d1497c)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-12 15:35:55 +05:30
rohitwaghchaure
581c8b1a22 Merge branch 'version-15' into version-15-hotfix 2024-03-12 15:18:55 +05:30
mergify[bot]
478b988290 fix: negative stock error for the batch (backport #40389) (#40391)
fix: negative stock error for the batch (#40389)

(cherry picked from commit a419812864)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-12 14:55:34 +05:30
Gursheen Kaur Anand
c0b60413b6 Merge pull request #40393 from frappe/mergify/bp/version-15-hotfix/pr-40388
feat: add recursion qty field in promotional scheme (backport #40388)
2024-03-12 14:51:09 +05:30
Gursheen Anand
11f30e90ab test: pricing rule for product discounts
(cherry picked from commit 0ffc5cf012)
2024-03-12 08:59:40 +00:00
Gursheen Anand
5f4b23d4af feat: add recursion qty field in promotional scheme
(cherry picked from commit 7075c50b85)
2024-03-12 08:59:39 +00:00
mergify[bot]
9ce68deff5 fix: barcode field on line item not working (backport #40381) (#40384)
fix: barcode field on line item not working (#40381)

(cherry picked from commit 0da19a40a7)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-12 13:48:48 +05:30
mergify[bot]
32660abdc8 fix: Use serial/batch fields for delivery note return (backport #40374) (#40376)
fix: Use serial/batch fields for delivery note return (#40374)

fix: User serial/batch fields for delivery note return
(cherry picked from commit b9a8dd468b)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-11 17:27:02 +05:30
ruthra kumar
76fc420b21 Merge pull request #40375 from frappe/mergify/bp/version-15-hotfix/pr-40299
refactor: run qb directly instead of converting to sql (backport #40299)
2024-03-11 17:02:50 +05:30
ruthra kumar
c111ce9bf4 chore: replace parameter with qb conditions
(cherry picked from commit 0344ff2aac)
2024-03-11 11:15:43 +00:00
ruthra kumar
03bde07966 refactor: run qb directly instead of converting to sql
(cherry picked from commit 711b72b26c)
2024-03-11 11:15:43 +00:00
mergify[bot]
a195dd3c1f fix: MR Default Supplier search query (backport #40273) (#40351)
fix: MR Default Supplier search query

(cherry picked from commit c0a1f298a1)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-03-11 11:07:40 +05:30
mergify[bot]
7d3d2eb928 ci: add prettier to pre-commit (backport #40206) (#40362)
* ci: add prettier to pre-commit

(cherry picked from commit 2c16036ef3)

* style: format js files

---------

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2024-03-11 10:47:18 +05:30
Deepesh Garg
5f789d9abe Merge pull request #40364 from frappe/mergify/bp/version-15-hotfix/pr-40344
fix: get_user_default_as_list args order (#40344)
2024-03-10 22:32:45 +05:30
Devin Slauenwhite
44ff607dcd fix: get_user_default_as_list args order
(cherry picked from commit ac1961b687)
2024-03-10 15:45:35 +00:00
Deepesh Garg
54fd9ec21e Merge pull request #40358 from frappe/mergify/bp/version-15-hotfix/pr-40323
fix: Filter for projects in Sales Cycle (#40323)
2024-03-10 21:11:55 +05:30
Deepesh Garg
399c5629f4 Merge pull request #40360 from frappe/mergify/bp/version-15-hotfix/pr-40325
fix: Sender email in process statements of accounts (#40325)
2024-03-10 19:57:06 +05:30
Deepesh Garg
953f64091a fix: Sender email in process statements of accounts
(cherry picked from commit 65a2f3d12c)
2024-03-10 13:58:04 +00:00
Deepesh Garg
173b3b85f6 fix: Filter for projects in Sales Cycle
(cherry picked from commit d0e0b66b2f)
2024-03-10 13:57:13 +00:00
Deepesh Garg
8b5afbbaca Merge pull request #40356 from frappe/mergify/bp/version-15-hotfix/pr-40355
fix: Blanket order rate getting changed on converting to order (#40355)
2024-03-10 19:26:24 +05:30
Deepesh Garg
df1a51e291 Merge pull request #40337 from frappe/mergify/bp/version-15-hotfix/pr-40334
fix: load ignored doctype and include Mode of Payment Account (#40334)
2024-03-10 19:25:09 +05:30
Deepesh Garg
d8c6eb0bf2 fix: Blanket order rate getting changed on converting to order
(cherry picked from commit 9702a65a0f)
2024-03-10 13:14:59 +00:00
ruthra kumar
b6e90c4973 Merge pull request #40354 from frappe/mergify/bp/version-15-hotfix/pr-39681
fix: incorrect advance paid in Sales/Purchase Order (backport #39681)
2024-03-10 17:15:15 +05:30
ruthra kumar
b8582db124 chore: resolve conflicts 2024-03-10 16:52:02 +05:30
ruthra kumar
d6a3b179ec refactor(test): make sure party has USD account
1. Don't reset 'party_account_currency' of SO/PO  upon Payment Entry
cancellation. This happens when there are no payments against a SO/PO

(cherry picked from commit e52c4c8f22)
2024-03-10 11:09:54 +00:00
ruthra kumar
6a5a941a5a fix: advance paid amount and ledger entries against SO/PO
(cherry picked from commit d9a0494fc3)

# Conflicts:
#	erpnext/accounts/utils.py
2024-03-10 11:09:53 +00:00
ruthra kumar
9317adfa33 refactor(test): use get_party_account for reference details section
(cherry picked from commit cb2529cec8)
2024-03-10 11:09:53 +00:00
ruthra kumar
d3039be5bc refactor(test): reference details will have account
(cherry picked from commit 158112896e)
2024-03-10 11:09:52 +00:00
ruthra kumar
6832908e92 fix: incorrect advance paid in Sales/Purchase Order
(cherry picked from commit 9d9b83362a)
2024-03-10 11:09:52 +00:00
Nihantra C. Patel
5fac50036a fix: load ignored doctype and include Mode of Payment Account (#40334)
(cherry picked from commit 68baa3612a)
2024-03-07 12:14:18 +00:00
Frappe PR Bot
3035dcab07 chore(release): Bumped to Version 15.16.2
## [15.16.2](https://github.com/frappe/erpnext/compare/v15.16.1...v15.16.2) (2024-03-07)

### Bug Fixes

* use serial/batch field for rejected items (backport [#40327](https://github.com/frappe/erpnext/issues/40327)) (backport [#40329](https://github.com/frappe/erpnext/issues/40329)) ([#40332](https://github.com/frappe/erpnext/issues/40332)) ([5af335d](5af335dc33))
2024-03-07 09:25:12 +00:00
mergify[bot]
5af335dc33 fix: use serial/batch field for rejected items (backport #40327) (backport #40329) (#40332)
fix: use serial/batch field for rejected items (backport #40327) (#40329)

fix: use serial/batch field for rejected items (#40327)

(cherry picked from commit 01856a6e9d)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 7ca72423b9)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-03-07 14:53:29 +05:30
mergify[bot]
7ca72423b9 fix: use serial/batch field for rejected items (backport #40327) (#40329)
fix: use serial/batch field for rejected items (#40327)

(cherry picked from commit 01856a6e9d)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-07 14:36:59 +05:30
Raffael Meyer
9b4a1b0a69 Merge pull request #40321 from frappe/mergify/bp/version-15-hotfix/pr-40317
fix(Shipment Parcel): make length, width and height non-mandatory (backport #40317)
2024-03-06 19:49:56 +01:00
barredterra
1476196966 fix(Shipment Parcel): make length, width and height non-mandatory
It's tedious to enter all these values and some shipping providers only need to know the weigth and quantity. Companies can alwas cutomize the values to be mandatory, but the reverse is not possible. I'll make sure that the erpnext-shipping app does not break because of this (or fix any problems).

(cherry picked from commit 898c6e30eb)
2024-03-06 18:26:18 +00:00
Frappe PR Bot
643189a0ce chore(release): Bumped to Version 15.16.1
## [15.16.1](https://github.com/frappe/erpnext/compare/v15.16.0...v15.16.1) (2024-03-06)

### Bug Fixes

* batch no not copied while making Material Consumption entry (backport [#40290](https://github.com/frappe/erpnext/issues/40290)) (backport [#40300](https://github.com/frappe/erpnext/issues/40300)) ([#40303](https://github.com/frappe/erpnext/issues/40303)) ([f21918d](f21918d06c))
* not able to cancel purchase receipt for old subcontracting flow (backport [#40298](https://github.com/frappe/erpnext/issues/40298)) (backport [#40302](https://github.com/frappe/erpnext/issues/40302)) ([#40305](https://github.com/frappe/erpnext/issues/40305)) ([3814c5a](3814c5a54a))
* stock ledger balance qty for the batch (backport [#40274](https://github.com/frappe/erpnext/issues/40274)) (backport [#40301](https://github.com/frappe/erpnext/issues/40301)) ([#40304](https://github.com/frappe/erpnext/issues/40304)) ([539eb79](539eb794c0))
* use serial batch fields for subcontracting receipt (backport [#40311](https://github.com/frappe/erpnext/issues/40311)) (backport [#40315](https://github.com/frappe/erpnext/issues/40315)) ([#40316](https://github.com/frappe/erpnext/issues/40316)) ([e357497](e357497bcb))
2024-03-06 14:48:42 +00:00
mergify[bot]
e357497bcb fix: use serial batch fields for subcontracting receipt (backport #40311) (backport #40315) (#40316)
fix: use serial batch fields for subcontracting receipt (backport #40311) (#40315)

fix: use serial batch fields for subcontracting receipt (#40311)

(cherry picked from commit cef6291311)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 4b15c00b11)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-03-06 20:17:30 +05:30
mergify[bot]
f21918d06c fix: batch no not copied while making Material Consumption entry (backport #40290) (backport #40300) (#40303)
fix: batch no not copied while making Material Consumption entry (backport #40290) (#40300)

fix: batch no not copied while making Material Consumption entry (#40290)

(cherry picked from commit 1eaa386657)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 6d1c144a66)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-03-06 20:17:20 +05:30
mergify[bot]
539eb794c0 fix: stock ledger balance qty for the batch (backport #40274) (backport #40301) (#40304)
fix: stock ledger balance qty for the batch (backport #40274) (#40301)

fix: stock ledger balance qty for the batch (#40274)

(cherry picked from commit e178ffc3c1)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 62aefcef04)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-03-06 20:17:09 +05:30
mergify[bot]
3814c5a54a fix: not able to cancel purchase receipt for old subcontracting flow (backport #40298) (backport #40302) (#40305)
fix: not able to cancel purchase receipt for old subcontracting flow (backport #40298) (#40302)

fix: not able to cancel purchase receipt for old subcontracting flow (#40298)

(cherry picked from commit 48da952fd7)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit e0e80f7eed)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-03-06 20:17:01 +05:30
mergify[bot]
4b15c00b11 fix: use serial batch fields for subcontracting receipt (backport #40311) (#40315)
fix: use serial batch fields for subcontracting receipt (#40311)

(cherry picked from commit cef6291311)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-06 19:59:21 +05:30
mergify[bot]
7001e0a820 fix(accounts): Allow setting Number of new Cost Center (backport #40212) (#40314)
fix(accounts): Allow setting Number of new Cost Center (#40212)

(cherry picked from commit a93d14b3f7)

Co-authored-by: Corentin Flr <10946971+cogk@users.noreply.github.com>
2024-03-06 19:49:42 +05:30
mergify[bot]
e0e80f7eed fix: not able to cancel purchase receipt for old subcontracting flow (backport #40298) (#40302)
fix: not able to cancel purchase receipt for old subcontracting flow (#40298)

(cherry picked from commit 48da952fd7)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-06 13:16:57 +05:30
mergify[bot]
62aefcef04 fix: stock ledger balance qty for the batch (backport #40274) (#40301)
fix: stock ledger balance qty for the batch (#40274)

(cherry picked from commit e178ffc3c1)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-06 13:06:19 +05:30
mergify[bot]
6d1c144a66 fix: batch no not copied while making Material Consumption entry (backport #40290) (#40300)
fix: batch no not copied while making Material Consumption entry (#40290)

(cherry picked from commit 1eaa386657)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-06 13:06:12 +05:30
Frappe PR Bot
eb9b2e896e chore(release): Bumped to Version 15.16.0
# [15.16.0](https://github.com/frappe/erpnext/compare/v15.15.0...v15.16.0) (2024-03-06)

### Bug Fixes

* allow editable accounting dimensions for repostable doctypes ([cd24a2a](cd24a2a05d))
* allow gain/loss for Journals against Journals ([d8cf6ba](d8cf6ba38d))
* check child rows before update ([e20c1ac](e20c1acb6e))
* disable editable account heads ([c55c0f7](c55c0f7173))
* do not allow to cancel incomplete reposting (backport [#40224](https://github.com/frappe/erpnext/issues/40224)) ([#40230](https://github.com/frappe/erpnext/issues/40230)) ([63209f4](63209f4eac))
* don't override reference exchange rate ([4513d83](4513d83f22))
* handle partial invoice against provisional entry ([87596e6](87596e6e29))
* ignore self on GL account validation for Bank Account ([1947a67](1947a67f3d))
* include Debit To/Credit To account while fetching advance ([23d7a1f](23d7a1fc76))
* incorrect exchange rate if JE has multi parties ([b785901](b785901efa))
* incorrect TCS on customer and suppliers with same name ([d74647d](d74647d5a5))
* make use of 'flt' to prevent really low precision exc gain/loss ([9057bff](9057bff786))
* make warning for previously existing SO an alert ([4f9b194](4f9b194fe9))
* over billing qty along with rate ([00d410c](00d410cc1d))
* **Project:** filter department by company ([13e3343](13e334398e))
* provisional reverse entry amount ([0182b95](0182b95230))
* rate change on changing of the qty (backport [#40241](https://github.com/frappe/erpnext/issues/40241)) ([#40243](https://github.com/frappe/erpnext/issues/40243)) ([1d42171](1d421713be))
* remove free item row only if pricing rule matches ([6352bfe](6352bfe34e))
* report path from the Item and Putaway Rule list (backport [#40190](https://github.com/frappe/erpnext/issues/40190)) ([#40266](https://github.com/frappe/erpnext/issues/40266)) ([c7b96df](c7b96df69c))
* serial no valuation rate (backport [#40221](https://github.com/frappe/erpnext/issues/40221)) ([#40223](https://github.com/frappe/erpnext/issues/40223)) ([85ae9ee](85ae9eee25))
* **setup:** avoid duplicate entry for Analytics role (backport [#40183](https://github.com/frappe/erpnext/issues/40183)) ([#40185](https://github.com/frappe/erpnext/issues/40185)) ([9cb8d33](9cb8d33923))
* test for repost accounting in JVs ([1634955](16349553c7))
* test for reposting pi ([6230bbc](6230bbc77d))
* uom wise price in sales or purchase transaction (backport [#40216](https://github.com/frappe/erpnext/issues/40216)) ([#40225](https://github.com/frappe/erpnext/issues/40225)) ([b398cc6](b398cc6579))

### Features

* add company filter to child table field ([0ede99b](0ede99b3cb))
* add patch for making repostable dimension fields editable ([4b57126](4b5712688a))
* allow on submit for selected fields ([6c3b5bb](6c3b5bb402))
* repost ledger button in JV ([e5eeb21](e5eeb216e8))
* update after submit in JV ([cdab3fa](cdab3fa970))
* validate before allowing repost ([8585cfc](8585cfc533))

### Performance Improvements

* serial and batch bundle valuation (reposting) (backport [#40255](https://github.com/frappe/erpnext/issues/40255)) ([#40262](https://github.com/frappe/erpnext/issues/40262)) ([93f3af7](93f3af7dba))
2024-03-06 03:31:25 +00:00
Deepesh Garg
5e89676d05 Merge pull request #40280 from frappe/version-15-hotfix
chore: release v15
2024-03-06 09:00:14 +05:30
ruthra kumar
50e49bef85 Merge pull request #40284 from frappe/mergify/bp/version-15-hotfix/pr-40278
fix: incorrect TCS on customer and suppliers with same name (backport #40278)
2024-03-05 15:48:25 +05:30
ruthra kumar
d74647d5a5 fix: incorrect TCS on customer and suppliers with same name
(cherry picked from commit 9904a9868c)
2024-03-05 09:54:46 +00:00
mergify[bot]
ee119f30fb chore: fixed fetch from (backport #40270) (#40275)
chore: fixed fetch from (#40270)

(cherry picked from commit 34051bc04f)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-05 14:32:36 +05:30
mergify[bot]
c7b96df69c fix: report path from the Item and Putaway Rule list (backport #40190) (#40266)
fix: report path from the Item and Putaway Rule list (#40190)

(cherry picked from commit 8e2f9787c1)

Co-authored-by: Nihantra C. Patel <141945075+Nihantra-Patel@users.noreply.github.com>
2024-03-04 20:03:42 +05:30
mergify[bot]
63209f4eac fix: do not allow to cancel incomplete reposting (backport #40224) (#40230)
* fix: do not allow to cancel incomplete reposting (#40224)

(cherry picked from commit 72ac56b6c4)

# Conflicts:
#	erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py

* chore: fix conflicts

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-04 13:14:21 +05:30
mergify[bot]
93f3af7dba perf: serial and batch bundle valuation (reposting) (backport #40255) (#40262)
* perf: serial and batch bundle valuation (reposting) (#40255)

perf: serial and batch bundle valuation
(cherry picked from commit 6379238893)

* chore: fix styles

* chore: fix linters

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-04 13:13:49 +05:30
Gursheen Kaur Anand
0b1417e891 Merge pull request #40256 from GursheenK/editable-journals-v15
feat: editable journals v15
2024-03-04 11:15:41 +05:30
Gursheen Anand
16349553c7 fix: test for repost accounting in JVs 2024-03-04 00:25:57 +05:30
Gursheen Anand
4b5712688a feat: add patch for making repostable dimension fields editable 2024-03-04 00:25:54 +05:30
Gursheen Anand
cd24a2a05d fix: allow editable accounting dimensions for repostable doctypes 2024-03-04 00:24:32 +05:30
Gursheen Anand
c55c0f7173 fix: disable editable account heads 2024-03-04 00:24:26 +05:30
Gursheen Anand
6230bbc77d fix: test for reposting pi 2024-03-04 00:18:09 +05:30
Gursheen Anand
e20c1acb6e fix: check child rows before update 2024-03-04 00:18:09 +05:30
Gursheen Anand
6173654093 chore: correct typo 2024-03-04 00:18:09 +05:30
Gursheen Anand
b0be08f05d test: reposting entries for JV 2024-03-04 00:18:09 +05:30
Gursheen Anand
7aeb53a806 refactor: use qb for JV tests 2024-03-04 00:18:09 +05:30
Gursheen Anand
e5eeb216e8 feat: repost ledger button in JV 2024-03-04 00:18:09 +05:30
Gursheen Anand
8585cfc533 feat: validate before allowing repost 2024-03-04 00:18:04 +05:30
Gursheen Anand
a512ec7af5 refactor: better abstraction for controller code 2024-03-04 00:16:39 +05:30
Gursheen Anand
cdab3fa970 feat: update after submit in JV 2024-03-04 00:16:32 +05:30
Gursheen Anand
6c3b5bb402 feat: allow on submit for selected fields 2024-03-04 00:14:28 +05:30
Gursheen Anand
db7348a1de refactor: remove controller logic for setting balances 2024-03-04 00:13:32 +05:30
Gursheen Anand
84672e2275 refactor: exclude balances while setting currency 2024-03-04 00:13:32 +05:30
Gursheen Anand
c68939a0e0 refactor: exclude balance while setting acc details 2024-03-04 00:13:32 +05:30
Gursheen Anand
0c234e5c1a refactor: remove balance formatter 2024-03-04 00:13:32 +05:30
Gursheen Anand
689f277d13 refactor: remove balance fields from jv account 2024-03-04 00:11:23 +05:30
Gursheen Kaur Anand
328728e3a4 Merge pull request #40252 from frappe/mergify/bp/version-15-hotfix/pr-40250
fix(minor): company filter in cost center allocation (backport #40250)
2024-03-03 18:24:27 +05:30
Gursheen Anand
0ede99b3cb feat: add company filter to child table field
(cherry picked from commit 51909077bd)
2024-03-03 12:45:39 +00:00
Gursheen Kaur Anand
d130aadcf3 Merge pull request #40205 from frappe/mergify/bp/version-15-hotfix/pr-39584
fix: use receipt amount for reverse provisional entry (backport #39584)
2024-03-03 17:55:31 +05:30
mergify[bot]
1d421713be fix: rate change on changing of the qty (backport #40241) (#40243)
fix: rate change on changing of the qty (#40241)

(cherry picked from commit e7d707797a)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-02 16:50:01 +05:30
ruthra kumar
0b091aaf14 Merge pull request #40239 from frappe/mergify/bp/version-15-hotfix/pr-40220
refactor: Gain/Loss Journal creation for Journals against Journals (backport #40220)
2024-03-02 15:57:18 +05:30
ruthra kumar
e5fdca7b05 test: gain/loss on Journals against Journals
(cherry picked from commit 8a5078b826)
2024-03-02 10:08:19 +00:00
ruthra kumar
d8cf6ba38d fix: allow gain/loss for Journals against Journals
(cherry picked from commit 5b67631d40)
2024-03-02 10:08:19 +00:00
ruthra kumar
9057bff786 fix: make use of 'flt' to prevent really low precision exc gain/loss
(cherry picked from commit 0aa72f841d)
2024-03-02 10:08:18 +00:00
ruthra kumar
014d21a050 Merge pull request #40233 from frappe/mergify/bp/version-15-hotfix/pr-40149
fix: incorrect exchange rate if JE has multi parties (backport #40149)
2024-03-02 14:35:25 +05:30
ruthra kumar
05e4d1c240 test: exchange rate fetch on JE with multiple forex parties
(cherry picked from commit ed95d41a51)
2024-03-02 08:22:47 +00:00
ruthra kumar
4513d83f22 fix: don't override reference exchange rate
(cherry picked from commit eaac02655b)
2024-03-02 08:22:47 +00:00
ruthra kumar
b785901efa fix: incorrect exchange rate if JE has multi parties
(cherry picked from commit 694c17487d)
2024-03-02 08:22:45 +00:00
mergify[bot]
b398cc6579 fix: uom wise price in sales or purchase transaction (backport #40216) (#40225)
fix: uom wise price in sales or purchase transaction (#40216)

fix: uom wise price
(cherry picked from commit 13b05aa7fb)

Co-authored-by: Nihantra C. Patel <141945075+Nihantra-Patel@users.noreply.github.com>
2024-03-02 13:00:52 +05:30
mergify[bot]
85ae9eee25 fix: serial no valuation rate (backport #40221) (#40223)
fix: serial no valuation rate (#40221)

(cherry picked from commit a5232d9c10)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-03-01 22:48:15 +05:30
ruthra kumar
70ab25a611 Merge pull request #40201 from frappe/mergify/bp/version-15-hotfix/pr-40197
fix: ignore self on GL account validation for Bank Account (backport #40197)
2024-03-01 09:45:39 +05:30
Raffael Meyer
0d8358bdd1 Merge pull request #40210 from frappe/mergify/bp/version-15-hotfix/pr-40203
fix(Project): filter department by company (backport #40203)
2024-02-29 23:34:38 +01:00
barredterra
13e334398e fix(Project): filter department by company
(cherry picked from commit 5e736f0d06)
2024-02-29 17:30:05 +00:00
Gursheen Anand
823abfd6e0 test: partial billing for provisional accounting
(cherry picked from commit c5770f2ecc)
2024-02-29 15:48:36 +00:00
Gursheen Anand
e55dc2a7c0 test: overbilling for provisional accounting
(cherry picked from commit ff3ca50a4b)
2024-02-29 15:48:36 +00:00
Gursheen Anand
00d410cc1d fix: over billing qty along with rate
(cherry picked from commit cc96d2b50c)
2024-02-29 15:48:36 +00:00
Gursheen Anand
87596e6e29 fix: handle partial invoice against provisional entry
(cherry picked from commit 2a46799188)
2024-02-29 15:48:36 +00:00
Gursheen Anand
0182b95230 fix: provisional reverse entry amount
(cherry picked from commit 3e59c66806)
2024-02-29 15:48:36 +00:00
ruthra kumar
1947a67f3d fix: ignore self on GL account validation for Bank Account
(cherry picked from commit 3c19186654)
2024-02-29 14:25:48 +00:00
ruthra kumar
8720115f01 Merge pull request #40199 from frappe/mergify/bp/version-15-hotfix/pr-40196
fix: include debit_to or credit_to account while fetching advance on Sales/Purchase Invoice (backport #40196)
2024-02-29 19:54:45 +05:30
ruthra kumar
a5b3c1e7cb test: advance pulling logic on Sales/Purchase Invoice
(cherry picked from commit 646e9ca0dd)
2024-02-29 12:22:48 +00:00
ruthra kumar
23d7a1fc76 fix: include Debit To/Credit To account while fetching advance
(cherry picked from commit 3327599c9d)
2024-02-29 12:22:48 +00:00
Gursheen Kaur Anand
c7ca929ddb Merge pull request #40189 from frappe/mergify/bp/version-15-hotfix/pr-40176
fix(minor): make warning for previously existing SO an alert (backport #40176)
2024-02-29 11:59:36 +05:30
Gursheen Anand
4f9b194fe9 fix: make warning for previously existing SO an alert
(cherry picked from commit 24dcd64c16)
2024-02-29 06:04:16 +00:00
Gursheen Kaur Anand
cda1c5ca10 Merge pull request #40182 from frappe/mergify/bp/version-15-hotfix/pr-40174
fix: promotional scheme remove free item if pricing rule matches (backport #40174)
2024-02-29 11:34:00 +05:30
mergify[bot]
9cb8d33923 fix(setup): avoid duplicate entry for Analytics role (backport #40183) (#40185)
fix(setup): avoid duplicate entry for Analytics role (#40183)

(cherry picked from commit 29f91a7919)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2024-02-29 11:09:24 +05:30
Gursheen Anand
6352bfe34e fix: remove free item row only if pricing rule matches
(cherry picked from commit fea20db262)
2024-02-29 04:49:35 +00:00
Frappe PR Bot
23011df86b chore(release): Bumped to Version 15.15.0
# [15.15.0](https://github.com/frappe/erpnext/compare/v15.14.7...v15.15.0) (2024-02-28)

### Bug Fixes

* add flags for repost to ensure correct accounting from India Compliance App ([7d14ecf](7d14ecfcb8))
* amount label according to party type ([d541ba3](d541ba3e61))
* Cannot read properties of undefined (backport [#40081](https://github.com/frappe/erpnext/issues/40081)) ([#40083](https://github.com/frappe/erpnext/issues/40083)) ([53d943e](53d943ec70))
* capacity planning issue in the job card (backport [#40092](https://github.com/frappe/erpnext/issues/40092)) ([#40101](https://github.com/frappe/erpnext/issues/40101)) ([27703b5](27703b54bd))
* change label name ([824df72](824df72eeb))
* check for pricing rules on item ([32d9642](32d9642379))
* check_credit_limit on_update_after_submit of Sales Order ([83d7111](83d7111649))
* communication_date in party dashboards (backport [#40005](https://github.com/frappe/erpnext/issues/40005)) ([#40021](https://github.com/frappe/erpnext/issues/40021)) ([4269ef8](4269ef8c98))
* Completed Work Orders report not working ([ca03e9c](ca03e9cfd3))
* Cr/Dr notes with POS Payments ([2e07b03](2e07b03307))
* currency symbol in landed cost voucher and material request (backport [#40138](https://github.com/frappe/erpnext/issues/40138)) ([#40141](https://github.com/frappe/erpnext/issues/40141)) ([57bb031](57bb031602))
* Data too long for column 'serial_no' at row 1 (backport [#40098](https://github.com/frappe/erpnext/issues/40098)) ([#40139](https://github.com/frappe/erpnext/issues/40139)) ([9d19ec4](9d19ec43c8))
* default taxable value for item not found in item list ([7e43f6b](7e43f6b7e0))
* delete PLE containing invoice in against ([190bd45](190bd45bd7))
* do not make MR against raw materials of available sub assemblies (backport [#40085](https://github.com/frappe/erpnext/issues/40085)) ([#40087](https://github.com/frappe/erpnext/issues/40087)) ([cf5fa21](cf5fa210bb))
* Fiscal Year exception on demo data setup ([56ee843](56ee843233))
* incorrect item name in MR (backport [#40018](https://github.com/frappe/erpnext/issues/40018)) ([#40024](https://github.com/frappe/erpnext/issues/40024)) ([9f8f3db](9f8f3db953))
* Issues regarding asset cancellation and deletion ([8eb2f67](8eb2f67910))
* negative stock error while making stock reconciliation (backport [#40016](https://github.com/frappe/erpnext/issues/40016)) ([#40026](https://github.com/frappe/erpnext/issues/40026)) ([c964c45](c964c45f4e))
* on unreconciliation, update advance paid ([4d1f56c](4d1f56c4bd))
* only check for delinked PLEs ([a75a69a](a75a69a01e))
* only consider contributed qty towards achieved targets ([194f46b](194f46be57))
* parent warehouse checks in the production plan for sub-assemblies (backport [#40150](https://github.com/frappe/erpnext/issues/40150)) ([#40157](https://github.com/frappe/erpnext/issues/40157)) ([4784117](4784117a8f))
* remove cancelled payment entry from Payment Period Based On Invoice Date ([72da308](72da3083e6))
* remove cancelled payment entry from PPBOID report ([0be5203](0be520331c))
* remove config for default bank account in test ([36b442a](36b442a951))
* remove microsecond from posting datetime (backport [#40017](https://github.com/frappe/erpnext/issues/40017)) ([#40022](https://github.com/frappe/erpnext/issues/40022)) ([eaa3849](eaa3849df4))
* removed unwanted patch ([ee2d108](ee2d108bef))
* resolved conflict ([6928674](692867427c))
* resolved conflict ([a0c0ab7](a0c0ab7709))
* skip max discount validation for rate adjustment ([3b96aae](3b96aaeead))
* skip SO & DN validation for debit note ([cd42089](cd42089e20))
* Supplier users not able to see RFQ on the Portal (backport [#40161](https://github.com/frappe/erpnext/issues/40161)) ([#40165](https://github.com/frappe/erpnext/issues/40165)) ([6a63a6c](6a63a6c98a))
* timesheet per billed state edge case (backport [#40010](https://github.com/frappe/erpnext/issues/40010)) ([#40029](https://github.com/frappe/erpnext/issues/40029)) ([a543bf4](a543bf47ef))
* translatable columns in Sales Pipeline Analytics report ([1c5a7e2](1c5a7e29f2))
* type error for missing frm obj ([6b5e1cf](6b5e1cfeb7))
* unique gl account for plaid bank accounts ([65853da](65853da505))
* use correct variable name on hotfix branches ([0694fd1](0694fd19fd))
* use frm instead of cur_frm ([341f903](341f9030f5))
* use serial batch fields for packed items (backport [#40140](https://github.com/frappe/erpnext/issues/40140)) ([#40142](https://github.com/frappe/erpnext/issues/40142)) ([1860399](1860399ccb))

### Features

* show contributed qty in transaction summary ([38abfdb](38abfdb8ae))
* update billed amount in PO and PR ([e7e8149](e7e8149fbe))

### Performance Improvements

* new column Posting Datetime in SLE to optimize stock ledger related queries (backport [#39800](https://github.com/frappe/erpnext/issues/39800)) ([#40004](https://github.com/frappe/erpnext/issues/40004)) ([b9181e8](b9181e85dc))
2024-02-28 05:13:40 +00:00
Deepesh Garg
4291b9fa8d Merge pull request #40148 from frappe/version-15-hotfix
chore: release v15
2024-02-28 10:42:31 +05:30
Deepesh Garg
930df21a5f Merge pull request #40170 from frappe/mergify/bp/version-15-hotfix/pr-40137
fix: default taxable value for item not found in item list (#40137)
2024-02-28 08:24:15 +05:30
mergify[bot]
6a63a6c98a fix: Supplier users not able to see RFQ on the Portal (backport #40161) (#40165)
* fix: Supplier users not able to see RFQ on the Portal (#40161)

(cherry picked from commit f8ba560394)

* chore: fix travis

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-27 22:30:26 +05:30
ljain112
7e43f6b7e0 fix: default taxable value for item not found in item list
(cherry picked from commit 5885978fc2)
2024-02-27 16:40:19 +00:00
Deepesh Garg
84a359c760 Merge pull request #40163 from vorasmit/ic-deps-v15
fix: add flags for repost to ensure correct accounting from India Compliance App (#40162)
2024-02-27 22:08:45 +05:30
Smit Vora
7d14ecfcb8 fix: add flags for repost to ensure correct accounting from India Compliance App 2024-02-27 20:30:28 +05:30
Gursheen Kaur Anand
07fd93a6f6 Merge pull request #40152 from frappe/mergify/bp/version-15-hotfix/pr-40095
fix: unique GL account for plaid bank accounts (backport #40095)
2024-02-27 17:08:37 +05:30
mergify[bot]
4784117a8f fix: parent warehouse checks in the production plan for sub-assemblies (backport #40150) (#40157)
fix: parent warehouse checks in the production plan for sub-assemblies (#40150)

(cherry picked from commit 6f5815e44f)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-27 17:03:21 +05:30
Gursheen Kaur Anand
7a9beb4d47 Merge pull request #40154 from frappe/mergify/bp/version-15-hotfix/pr-40102
feat: toggle updation of billed amount in previous purchase docs (backport #40102)
2024-02-27 16:40:14 +05:30
Gursheen Kaur Anand
87f36ce425 chore: fix typo 2024-02-27 16:24:14 +05:30
Gursheen Kaur Anand
48992cd205 chore: resolve conflicts 2024-02-27 16:18:27 +05:30
Gursheen Kaur Anand
99d1f1d67b chore: resolve conflicts 2024-02-27 16:15:49 +05:30
Gursheen Kaur Anand
eadea0207c chore: resolve conflicts 2024-02-27 16:13:49 +05:30
Gursheen Anand
e67d579ac4 test: pr billed amount against debit note
(cherry picked from commit 6d40844894)
2024-02-27 10:24:01 +00:00
Gursheen Anand
bac2f66344 test: po billed amount against debit note
(cherry picked from commit 81dbfe189e)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/test_purchase_order.py
2024-02-27 10:24:01 +00:00
Gursheen Anand
e7e8149fbe feat: update billed amount in PO and PR
(cherry picked from commit 9f6535472d)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
2024-02-27 10:24:00 +00:00
Gursheen Anand
36b442a951 fix: remove config for default bank account in test
(cherry picked from commit c42444ab3b)
2024-02-27 10:10:20 +00:00
Gursheen Anand
65853da505 fix: unique gl account for plaid bank accounts
(cherry picked from commit bf6e32a960)
2024-02-27 10:10:20 +00:00
Gursheen Kaur Anand
df7afc3154 Merge pull request #40145 from frappe/mergify/bp/version-15-hotfix/pr-40143
fix(minor): type error for missing form object in hide_company util (backport #40143)
2024-02-27 13:33:13 +05:30
Gursheen Anand
341f9030f5 fix: use frm instead of cur_frm
(cherry picked from commit ceeb8fc9e5)
2024-02-27 07:45:36 +00:00
Gursheen Anand
6b5e1cfeb7 fix: type error for missing frm obj
(cherry picked from commit 20fa3da950)
2024-02-27 07:45:36 +00:00
ruthra kumar
9f8a27833a Merge pull request #40135 from frappe/mergify/bp/version-15-hotfix/pr-40133
fix: reset advance amount on unreconciliation of Sales/Purchase Orders (backport #40133)
2024-02-27 10:33:07 +05:30
mergify[bot]
1860399ccb fix: use serial batch fields for packed items (backport #40140) (#40142)
fix: use serial batch fields for packed items (#40140)

(cherry picked from commit bc9c480246)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-27 07:57:37 +05:30
mergify[bot]
57bb031602 fix: currency symbol in landed cost voucher and material request (backport #40138) (#40141)
fix: currency symbol in landed cost voucher and material request (#40138)

(cherry picked from commit 8aa2b7c183)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-26 23:16:49 +05:30
mergify[bot]
9d19ec43c8 fix: Data too long for column 'serial_no' at row 1 (backport #40098) (#40139)
* fix: Data too long for column 'serial_no' at row 1 (#40098)

(cherry picked from commit 08caa7cfa1)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py

* chore: fix conflicts

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-26 23:00:01 +05:30
ruthra kumar
0694fd19fd fix: use correct variable name on hotfix branches 2024-02-26 20:35:22 +05:30
ruthra kumar
94bb6241ef test: advance paid update on sales/purchase order unreconciliation
(cherry picked from commit 1f01ff3487)
2024-02-26 12:22:55 +00:00
ruthra kumar
4d1f56c4bd fix: on unreconciliation, update advance paid
(cherry picked from commit c9e2f03a3a)
2024-02-26 12:22:55 +00:00
ruthra kumar
ad53633c66 Merge pull request #40118 from frappe/mergify/bp/version-15-hotfix/pr-40113
refactor: patch to setup dimensions in Reconciliation tool (backport #40113)
2024-02-26 14:21:40 +05:30
ruthra kumar
2bf6125b71 refactor: patch to setup dimensions in Reconciliation tool
(cherry picked from commit 461fb183fc)
2024-02-26 13:08:47 +05:30
Frappe PR Bot
792de1be03 chore(release): Bumped to Version 15.14.7
## [15.14.7](https://github.com/frappe/erpnext/compare/v15.14.6...v15.14.7) (2024-02-26)

### Bug Fixes

* Issues regarding asset cancellation and deletion ([6fc4dac](6fc4dac4db))
* removed unwanted patch ([3c98368](3c98368e45))
* resolved conflict ([fc565ec](fc565ecd99))
* resolved conflict ([d196aa5](d196aa5a36))
2024-02-26 07:33:28 +00:00
Nabin Hait
66156fcfa7 Merge pull request #40031 from frappe/mergify/bp/version-15/pr-39983
fix: Issues regarding asset cancellation and deletion (backport #39983)
2024-02-26 13:02:20 +05:30
Nabin Hait
fc565ecd99 fix: resolved conflict 2024-02-26 12:21:57 +05:30
Nabin Hait
d196aa5a36 fix: resolved conflict 2024-02-26 12:21:25 +05:30
Gursheen Kaur Anand
e68d2d1c7a Merge pull request #40109 from frappe/mergify/bp/version-15-hotfix/pr-40105
fix(minor): tax amount label according to party type (backport #40105)
2024-02-26 11:10:08 +05:30
Gursheen Kaur Anand
93f64396ac Merge pull request #40111 from frappe/mergify/bp/version-15-hotfix/pr-40062
fix: sales person / partner achieved targets in report (backport #40062)
2024-02-26 11:08:15 +05:30
Gursheen Anand
91c21d13e5 test: sales person target variance
(cherry picked from commit 7566c1ee78)
2024-02-26 05:09:45 +00:00
Gursheen Anand
38abfdb8ae feat: show contributed qty in transaction summary
(cherry picked from commit a823f16dff)
2024-02-26 05:09:45 +00:00
Gursheen Anand
194f46be57 fix: only consider contributed qty towards achieved targets
(cherry picked from commit 339698d172)
2024-02-26 05:09:45 +00:00
Gursheen Anand
d541ba3e61 fix: amount label according to party type
(cherry picked from commit 9c8d103d8a)
2024-02-26 05:05:27 +00:00
mergify[bot]
27703b54bd fix: capacity planning issue in the job card (backport #40092) (#40101)
fix: capacity planning issue in the job card (#40092)

* fix: capacity planning issue in the job card

* test: test case to test capacity planning for workstation

(cherry picked from commit 75f8464724)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-25 19:22:51 +05:30
ruthra kumar
9ffbf5623a Merge pull request #40097 from frappe/mergify/bp/version-15-hotfix/pr-40096
fix: Fiscal Year exception on demo data setup (backport #40096)
2024-02-25 16:09:51 +05:30
ruthra kumar
56ee843233 fix: Fiscal Year exception on demo data setup
(cherry picked from commit 3c3c57c674)
2024-02-25 10:13:09 +00:00
ruthra kumar
383dfdd4ab Merge pull request #40091 from frappe/mergify/bp/version-15-hotfix/pr-40073
refactor: update payments section on item removal (backport #40073)
2024-02-25 09:34:42 +05:30
ruthra kumar
5c269a9947 refactor: update payments section on item removal
(cherry picked from commit 406793a6ff)
2024-02-25 03:58:19 +00:00
mergify[bot]
cf5fa210bb fix: do not make MR against raw materials of available sub assemblies (backport #40085) (#40087)
fix: do not make MR against raw materials of available sub assemblies (#40085)

(cherry picked from commit 4c9048fb39)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-24 21:02:17 +05:30
mergify[bot]
53d943ec70 fix: Cannot read properties of undefined (backport #40081) (#40083)
fix: Cannot read properties of undefined

(cherry picked from commit 44ed52c5cf)

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
2024-02-24 17:04:36 +05:30
rohitwaghchaure
d755b9d38c Merge pull request #40080 from frappe/mergify/bp/version-15-hotfix/pr-40079
chore: change label name (backport #40079)
2024-02-24 13:29:04 +05:30
Rohit Waghchaure
824df72eeb fix: change label name
(cherry picked from commit 635174f1ce)
2024-02-24 07:40:56 +00:00
Gursheen Kaur Anand
e4baacd79e Merge pull request #40066 from frappe/mergify/bp/version-15-hotfix/pr-40040
fix: skip max discount validation for rate adjustment (backport #40040)
2024-02-23 15:10:38 +05:30
Gursheen Kaur Anand
38b384dfa2 Merge pull request #40064 from frappe/mergify/bp/version-15-hotfix/pr-40035
fix: delete PLE containing invoice in against (backport #40035)
2024-02-23 15:07:48 +05:30
ruthra kumar
10fe201bc8 Merge pull request #40068 from frappe/mergify/bp/version-15-hotfix/pr-39830
fix: check_credit_limit on_update_after_submit of Sales Order (backport #39830)
2024-02-23 14:48:08 +05:30
ruthra kumar
bcb280c5e8 test: credit limit on update after submit
(cherry picked from commit 467c0898e9)
2024-02-23 08:51:39 +00:00
Nihantra C. Patel
83d7111649 fix: check_credit_limit on_update_after_submit of Sales Order
(cherry picked from commit 17452b7693)
2024-02-23 08:51:38 +00:00
Gursheen Anand
cd42089e20 fix: skip SO & DN validation for debit note
(cherry picked from commit e2d16955dd)
2024-02-23 07:28:38 +00:00
Gursheen Anand
3b96aaeead fix: skip max discount validation for rate adjustment
(cherry picked from commit 5a3b133d65)
2024-02-23 07:28:37 +00:00
Ankush Menat
83b4cc5091 build: specify frappe dependency (#40061)
build: specify frappe dependency 

Added 15.10 as dependency because stock balance depends on https://github.com/frappe/frappe/pull/24346
2024-02-23 12:43:01 +05:30
Gursheen Anand
a75a69a01e fix: only check for delinked PLEs
(cherry picked from commit 146c5b3e16)
2024-02-23 07:10:08 +00:00
Gursheen Anand
190bd45bd7 fix: delete PLE containing invoice in against
(cherry picked from commit c1e1fd8829)
2024-02-23 07:10:08 +00:00
ruthra kumar
c752bec2d9 Merge pull request #40058 from frappe/mergify/bp/version-15-hotfix/pr-40011
fix: Ledger entries for Cr/Dr notes with POS Payments (backport #40011)
2024-02-23 06:20:30 +05:30
ruthra kumar
8fef484f0f Merge pull request #40056 from frappe/mergify/bp/version-15-hotfix/pr-39831
fix: remove cancelled payment entry from Payment Period Based On Invoice Date (backport #39831)
2024-02-23 06:20:14 +05:30
ruthra kumar
b40baf5e63 refactor: skip popup for POS invoices
(cherry picked from commit 3634c4c284)
2024-02-23 00:33:08 +00:00
ruthra kumar
2c8ba892ac test: ledger entries of Cr Note of POS Invoice
(cherry picked from commit 4288713abe)
2024-02-23 00:33:07 +00:00
ruthra kumar
2e07b03307 fix: Cr/Dr notes with POS Payments
(cherry picked from commit 68a23730f3)
2024-02-23 00:33:07 +00:00
Nihantra C. Patel
0be520331c fix: remove cancelled payment entry from PPBOID report
(cherry picked from commit 186cc3d748)
2024-02-23 00:30:50 +00:00
Nihantra C. Patel
72da3083e6 fix: remove cancelled payment entry from Payment Period Based On Invoice Date
(cherry picked from commit a2a8a8f2e0)
2024-02-23 00:30:50 +00:00
ruthra kumar
a3ddd326d6 Merge pull request #40049 from frappe/mergify/bp/version-15-hotfix/pr-39828
fix: translate Sales Pipeline Analytics report (backport #39828)
2024-02-22 20:46:55 +05:30
Nihantra C. Patel
1c5a7e29f2 fix: translatable columns in Sales Pipeline Analytics report
(cherry picked from commit c5050c935b)
2024-02-22 14:54:53 +00:00
Frappe PR Bot
f723d7b561 chore(release): Bumped to Version 15.14.6
## [15.14.6](https://github.com/frappe/erpnext/compare/v15.14.5...v15.14.6) (2024-02-22)

### Bug Fixes

* communication_date in party dashboards (backport [#40005](https://github.com/frappe/erpnext/issues/40005)) ([#40043](https://github.com/frappe/erpnext/issues/40043)) ([6662c32](6662c321a5))
2024-02-22 11:14:07 +00:00
mergify[bot]
6662c321a5 fix: communication_date in party dashboards (backport #40005) (#40043)
fix: accommodate for changed orderby statement

(cherry picked from commit 87df7ff717)

Co-authored-by: Gursheen Anand <gursheen@frappe.io>
2024-02-22 16:40:46 +05:30
mergify[bot]
4269ef8c98 fix: communication_date in party dashboards (backport #40005) (#40021)
fix: accommodate for changed orderby statement

(cherry picked from commit 87df7ff717)

Co-authored-by: Gursheen Anand <gursheen@frappe.io>
2024-02-22 16:20:02 +05:30
mergify[bot]
a543bf47ef fix: timesheet per billed state edge case (backport #40010) (#40029)
fix: timesheet per billed state edge case (#40010)

If value is 100.0000x then it won't set status correctly but will set it the next time it's loaded from db.

(cherry picked from commit 38e88db2c9)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2024-02-22 12:29:53 +05:30
mergify[bot]
c964c45f4e fix: negative stock error while making stock reconciliation (backport #40016) (#40026)
* fix: negative stock error while making stock reconciliation (#40016)

fix: negative stock error while making stock reco
(cherry picked from commit da184d709b)

# Conflicts:
#	erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py

* chore: fix conflicts

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-22 11:38:49 +05:30
Nabin Hait
3c98368e45 fix: removed unwanted patch
(cherry picked from commit 85471533e9)
2024-02-22 05:40:58 +00:00
Nabin Hait
6fc4dac4db fix: Issues regarding asset cancellation and deletion
(cherry picked from commit 17f85de6fb)

# Conflicts:
#	erpnext/assets/doctype/asset/depreciation.py
#	erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
2024-02-22 05:40:57 +00:00
Frappe PR Bot
afc87a4486 chore(release): Bumped to Version 15.14.5
## [15.14.5](https://github.com/frappe/erpnext/compare/v15.14.4...v15.14.5) (2024-02-22)

### Bug Fixes

* check for pricing rules on item ([5084b9b](5084b9bd4b))
2024-02-22 05:38:47 +00:00
Deepesh Garg
5137966fe5 Merge pull request #40030 from frappe/mergify/bp/version-15/pr-40019
fix: TypeError for item pricing rules (#39999)
2024-02-22 11:07:32 +05:30
Nabin Hait
6f364df48c Merge pull request #39990 from frappe/mergify/bp/version-15-hotfix/pr-39983
fix: Issues regarding asset cancellation and deletion (backport #39983)
2024-02-22 11:07:01 +05:30
Gursheen Anand
5084b9bd4b fix: check for pricing rules on item
(cherry picked from commit ecd83b12ab)
(cherry picked from commit 32d9642379)
2024-02-22 05:36:43 +00:00
mergify[bot]
eaa3849df4 fix: remove microsecond from posting datetime (backport #40017) (#40022)
fix: remove microsecond from posting datetime (#40017)

(cherry picked from commit 0b04d04da3)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-22 09:51:07 +05:30
mergify[bot]
9f8f3db953 fix: incorrect item name in MR (backport #40018) (#40024)
fix: incorrect item name in MR (#40018)

(cherry picked from commit 864d7ae04c)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-22 09:50:45 +05:30
Gursheen Kaur Anand
43c218c673 Merge pull request #40019 from frappe/mergify/bp/version-15-hotfix/pr-39999
fix: TypeError for item pricing rules (backport #39999)
2024-02-22 09:10:17 +05:30
Gursheen Anand
32d9642379 fix: check for pricing rules on item
(cherry picked from commit ecd83b12ab)
2024-02-22 03:37:17 +00:00
mergify[bot]
b9181e85dc perf: new column Posting Datetime in SLE to optimize stock ledger related queries (backport #39800) (#40004)
* perf: new column posting datetime in SLE to optimize stock ledger related queries

(cherry picked from commit d80ca523a4)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py

* test: test cases to test clash timestamp entries

(cherry picked from commit f04676aaed)

* chore: remove microsecond from posting_datetime

(cherry picked from commit a73ba2c0d2)

* chore: fix conflicts

---------

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
2024-02-21 21:14:28 +05:30
rohitwaghchaure
66a05087b8 Merge pull request #40001 from frappe/mergify/bp/version-15-hotfix/pr-39998
fix: Completed Work Orders report not working (backport #39998)
2024-02-21 17:44:44 +05:30
Rohit Waghchaure
ca03e9cfd3 fix: Completed Work Orders report not working
(cherry picked from commit 11f4cb914a)
2024-02-21 11:21:04 +00:00
Nabin Hait
692867427c fix: resolved conflict 2024-02-21 11:38:21 +05:30
Nabin Hait
a0c0ab7709 fix: resolved conflict 2024-02-21 11:37:47 +05:30
Nabin Hait
ee2d108bef fix: removed unwanted patch
(cherry picked from commit 85471533e9)
2024-02-21 05:45:27 +00:00
Nabin Hait
8eb2f67910 fix: Issues regarding asset cancellation and deletion
(cherry picked from commit 17f85de6fb)

# Conflicts:
#	erpnext/assets/doctype/asset/depreciation.py
#	erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
2024-02-21 05:45:27 +00:00
Frappe PR Bot
3d7e87185c chore(release): Bumped to Version 15.14.4
## [15.14.4](https://github.com/frappe/erpnext/compare/v15.14.3...v15.14.4) (2024-02-21)

### Bug Fixes

* 'NoneType' object is not iterable (backport [#39977](https://github.com/frappe/erpnext/issues/39977)) ([#39981](https://github.com/frappe/erpnext/issues/39981)) ([0f87ec1](0f87ec15ad))
* **Bank Transaction:** precision for `(un)allocated_amount` ([bf5d2f5](bf5d2f5fe4))
* batch filter not working in stock ledger report (backport [#39934](https://github.com/frappe/erpnext/issues/39934)) ([#39935](https://github.com/frappe/erpnext/issues/39935)) ([1513595](15135952fc))
* do not empty serial batch fields (backport [#39948](https://github.com/frappe/erpnext/issues/39948)) ([#39956](https://github.com/frappe/erpnext/issues/39956)) ([acd2e93](acd2e93f8c))
* fetch company terms ([14fe0af](14fe0af887))
* float division by zero ([b954bdf](b954bdfdf9))
* group node in warehouse filter in Item-wise Sales Register ([74819b8](74819b8e70))
* **Issue:** create communication ([f5d7fbd](f5d7fbdaf8))
* no need call for company method in sales invoice js ([bef38f7](bef38f74fe))
* not able to make purchase receipt ([3732946](37329469c3))
* party item code in Blanket Order ([518b22b](518b22bffc))
* reposting failed status not updated (backport [#39970](https://github.com/frappe/erpnext/issues/39970)) ([#39972](https://github.com/frappe/erpnext/issues/39972)) ([46f7569](46f7569a54))
* set batch created from bundle to batch field in stock transaction (backport [#39966](https://github.com/frappe/erpnext/issues/39966)) ([#39987](https://github.com/frappe/erpnext/issues/39987)) ([2ee51d3](2ee51d36ff))
* show active bom in the dropdown while making stock entry and MR (backport [#39974](https://github.com/frappe/erpnext/issues/39974)) ([#39976](https://github.com/frappe/erpnext/issues/39976)) ([7201448](720144898f))
* update_dimension is required and not need party account method ([a56d5b8](a56d5b805c))
* use serial batch fields not enabled for new stock entry ([40d4e32](40d4e3261e))
2024-02-21 05:29:45 +00:00
rohitwaghchaure
177110349d Merge pull request #39979 from frappe/version-15-hotfix
chore: release v15
2024-02-21 10:58:33 +05:30
rohitwaghchaure
ed553b89a4 Merge branch 'version-15' into version-15-hotfix 2024-02-21 09:34:20 +05:30
mergify[bot]
2ee51d36ff fix: set batch created from bundle to batch field in stock transaction (backport #39966) (#39987)
fix: set batch created from bundle to batch field in stock transaction (#39966)

* fix: set batch created from bundle to batch field in stock transaction

* fix: validation for serial and batch no

(cherry picked from commit 4b24fcd221)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-21 00:04:01 +05:30
mergify[bot]
0f87ec15ad fix: 'NoneType' object is not iterable (backport #39977) (#39981)
fix: 'NoneType' object is not iterable (#39977)

(cherry picked from commit 8e7d47b3a7)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-20 15:53:12 +05:30
mergify[bot]
720144898f fix: show active bom in the dropdown while making stock entry and MR (backport #39974) (#39976)
fix: show active bom in the dropdown while making stock entry and MR (#39974)

(cherry picked from commit 133f8bd92a)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-20 13:13:00 +05:30
mergify[bot]
46f7569a54 fix: reposting failed status not updated (backport #39970) (#39972)
fix: reposting failed status not updated (#39970)

(cherry picked from commit d4264f7ba1)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-20 12:35:46 +05:30
rohitwaghchaure
a102172982 Merge pull request #39968 from frappe/mergify/bp/version-15-hotfix/pr-39967
fix: float division by zero (backport #39967)
2024-02-20 12:07:38 +05:30
Rohit Waghchaure
b954bdfdf9 fix: float division by zero
(cherry picked from commit e8ae4ed61d)
2024-02-20 01:02:35 +00:00
Frappe PR Bot
9c01a5f7ed chore(release): Bumped to Version 15.14.3
## [15.14.3](https://github.com/frappe/erpnext/compare/v15.14.2...v15.14.3) (2024-02-19)

### Bug Fixes

* do not empty serial batch fields (backport [#39948](https://github.com/frappe/erpnext/issues/39948)) ([#39956](https://github.com/frappe/erpnext/issues/39956)) ([2db79cd](2db79cdf3b))
2024-02-19 05:33:59 +00:00
rohitwaghchaure
0c9d7434f9 Merge pull request #39957 from frappe/mergify/bp/version-15/pr-39956
fix: do not empty serial batch fields (backport #39948) (backport #39956)
2024-02-19 11:02:11 +05:30
mergify[bot]
2db79cdf3b fix: do not empty serial batch fields (backport #39948) (#39956)
fix: do not empty serial batch fields (#39948)

(cherry picked from commit a4cbfabe0e)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit acd2e93f8c)
2024-02-19 05:16:58 +00:00
mergify[bot]
acd2e93f8c fix: do not empty serial batch fields (backport #39948) (#39956)
fix: do not empty serial batch fields (#39948)

(cherry picked from commit a4cbfabe0e)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-19 10:45:28 +05:30
ruthra kumar
c81a15eac3 Merge pull request #39955 from frappe/mergify/bp/version-15-hotfix/pr-39914
refactor: add total row if only one party is being filtered (backport #39914)
2024-02-19 09:16:34 +05:30
ruthra kumar
18fcbb6f97 Merge pull request #39953 from frappe/mergify/bp/version-15-hotfix/pr-39942
fix: group node in warehouse filter in Item-wise Sales Register (backport #39942)
2024-02-19 09:15:09 +05:30
ruthra kumar
baa83ece21 refactor: add total row if only one party is being filtered
(cherry picked from commit b1dfa2537b)
2024-02-19 02:57:35 +00:00
ruthra kumar
74819b8e70 fix: group node in warehouse filter in Item-wise Sales Register
(cherry picked from commit 44538bd02a)
2024-02-19 02:56:17 +00:00
ruthra kumar
a2a5b34099 Merge pull request #39950 from frappe/mergify/bp/version-15-hotfix/pr-39943
refactor: use popup to inform on additional reconciliation step for Cr/Dr Notes (backport #39943)
2024-02-19 07:48:27 +05:30
ruthra kumar
ce11180793 refactor: use popup to inform on additional reconciliation step
(cherry picked from commit 0d260faa00)
2024-02-19 07:31:33 +05:30
Raffael Meyer
0b7a95351a Merge pull request #39907 from frappe/mergify/bp/version-15-hotfix/pr-39857
fix: fetch company terms (backport #39857)
2024-02-17 01:11:09 +01:00
Raffael Meyer
d225508ab1 Merge pull request #39928 from frappe/mergify/bp/version-15-hotfix/pr-39926
fix(Bank Transaction): precision for `(un)allocated_amount` (backport #39926)
2024-02-17 00:33:24 +01:00
Raffael Meyer
d213db90af Merge pull request #39940 from frappe/mergify/bp/version-15-hotfix/pr-39938
fix(Issue): create communication (backport #39938)
2024-02-16 20:47:30 +01:00
barredterra
f5d7fbdaf8 fix(Issue): create communication
Ignore permisions and mandatory. Required, for example, when Issue is created by Customer via portal.

(cherry picked from commit 3f1d008741)
2024-02-16 19:15:39 +00:00
Frappe PR Bot
fd76847cfa chore(release): Bumped to Version 15.14.2
## [15.14.2](https://github.com/frappe/erpnext/compare/v15.14.1...v15.14.2) (2024-02-16)

### Bug Fixes

* batch filter not working in stock ledger report (backport [#39934](https://github.com/frappe/erpnext/issues/39934)) ([#39935](https://github.com/frappe/erpnext/issues/39935)) ([3cd3159](3cd315973c))
2024-02-16 16:20:27 +00:00
rohitwaghchaure
709faaac69 Merge pull request #39937 from frappe/mergify/bp/version-15/pr-39935
fix: batch filter not working in stock ledger report (backport #39934) (backport #39935)
2024-02-16 21:48:52 +05:30
mergify[bot]
3cd315973c fix: batch filter not working in stock ledger report (backport #39934) (#39935)
fix: batch filter not working in stock ledger report

(cherry picked from commit a995e87567)

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
(cherry picked from commit 15135952fc)
2024-02-16 15:19:21 +00:00
mergify[bot]
15135952fc fix: batch filter not working in stock ledger report (backport #39934) (#39935)
fix: batch filter not working in stock ledger report

(cherry picked from commit a995e87567)

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
2024-02-16 20:47:20 +05:30
Frappe PR Bot
6d6a3a10fb chore(release): Bumped to Version 15.14.1
## [15.14.1](https://github.com/frappe/erpnext/compare/v15.14.0...v15.14.1) (2024-02-16)

### Bug Fixes

* use serial batch fields not enabled for new stock entry ([72ff56b](72ff56be13))
2024-02-16 10:29:29 +00:00
rohitwaghchaure
7af62fb6c8 Merge pull request #39932 from frappe/mergify/bp/version-15/pr-39931
fix: use serial batch fields not enabled for new stock entry (backport #39930) (backport #39931)
2024-02-16 15:58:17 +05:30
Rohit Waghchaure
72ff56be13 fix: use serial batch fields not enabled for new stock entry
(cherry picked from commit dc9115a586)
(cherry picked from commit 40d4e3261e)
2024-02-16 10:25:03 +00:00
rohitwaghchaure
b91f65d4cf Merge pull request #39931 from frappe/mergify/bp/version-15-hotfix/pr-39930
fix: use serial batch fields not enabled for new stock entry (backport #39930)
2024-02-16 15:53:44 +05:30
Rohit Waghchaure
40d4e3261e fix: use serial batch fields not enabled for new stock entry
(cherry picked from commit dc9115a586)
2024-02-16 10:20:35 +00:00
barredterra
bf5d2f5fe4 fix(Bank Transaction): precision for (un)allocated_amount
(cherry picked from commit 8a702a6338)
2024-02-15 19:05:21 +00:00
rohitwaghchaure
bb77f85d89 Merge pull request #39922 from frappe/mergify/bp/version-15-hotfix/pr-39916
fix: not able to make purchase receipt (backport #39916)
2024-02-15 17:55:41 +05:30
Rohit Waghchaure
37329469c3 fix: not able to make purchase receipt
(cherry picked from commit 2fb0499923)
2024-02-15 12:04:49 +00:00
rohitwaghchaure
ab03ab388c Merge pull request #39918 from frappe/mergify/bp/version-15-hotfix/pr-39905
fix: party item code in Blanket Order (backport #39905)
2024-02-15 17:31:50 +05:30
rohitwaghchaure
c50639334f chore: fix linter issue
(cherry picked from commit 230a7d8d53)
2024-02-15 09:33:40 +00:00
Rohit Waghchaure
518b22bffc fix: party item code in Blanket Order
(cherry picked from commit 1a8f7f9403)
2024-02-15 09:33:39 +00:00
kunhi
a56d5b805c fix: update_dimension is required and not need party account method
(cherry picked from commit e6949d71f6)
2024-02-14 14:54:55 +00:00
kunhi
bef38f74fe fix: no need call for company method in sales invoice js
(cherry picked from commit e3bd8d10b0)
2024-02-14 14:54:54 +00:00
kunhi
14fe0af887 fix: fetch company terms
(cherry picked from commit d97b6d38ef)
2024-02-14 14:54:54 +00:00
Frappe PR Bot
c78d085e24 chore(release): Bumped to Version 15.14.0
# [15.14.0](https://github.com/frappe/erpnext/compare/v15.13.0...v15.14.0) (2024-02-14)

### Bug Fixes

*  production plan issue with sales order (backport [#39901](https://github.com/frappe/erpnext/issues/39901)) ([#39904](https://github.com/frappe/erpnext/issues/39904)) ([88a7248](88a7248888))
* add permissions to SRE (backport [#39780](https://github.com/frappe/erpnext/issues/39780)) ([#39786](https://github.com/frappe/erpnext/issues/39786)) ([ba05648](ba05648741))
* Brazilian COA for demo data creation ([#39839](https://github.com/frappe/erpnext/issues/39839)) ([4daee6d](4daee6d9c7))
* calculate `stock_value_diff` ([5a66c85](5a66c8585c))
* create SBB for `transfer_qty` in SE (backport [#39835](https://github.com/frappe/erpnext/issues/39835)) ([#39863](https://github.com/frappe/erpnext/issues/39863)) ([92e6017](92e6017a29))
* do not consider rejected warehouses in pick list (backport [#39539](https://github.com/frappe/erpnext/issues/39539)) (backport [#39804](https://github.com/frappe/erpnext/issues/39804)) ([#39811](https://github.com/frappe/erpnext/issues/39811)) ([30dacce](30daccecc7))
* incorrect planned qty in PP (backport [#39785](https://github.com/frappe/erpnext/issues/39785)) ([#39793](https://github.com/frappe/erpnext/issues/39793)) ([60e04ab](60e04ab661))
* landed cost voucher not submitting because of incorrect reference (backport [#39898](https://github.com/frappe/erpnext/issues/39898)) ([#39900](https://github.com/frappe/erpnext/issues/39900)) ([a548f12](a548f12941))
* remove duplicates from tax category map ([3c6114a](3c6114ab72))
* set rate for PO created against BO (backport [#39765](https://github.com/frappe/erpnext/issues/39765)) ([#39767](https://github.com/frappe/erpnext/issues/39767)) ([2213886](22138867f5))
* stock entry for use serial batch fields (backport [#39843](https://github.com/frappe/erpnext/issues/39843)) ([#39844](https://github.com/frappe/erpnext/issues/39844)) ([43fce29](43fce29a04))
* use correct field name in accounts controller (backport [#39884](https://github.com/frappe/erpnext/issues/39884)) ([#39897](https://github.com/frappe/erpnext/issues/39897)) ([f08b424](f08b424972))
* **ux:** set rate as price list rate on uom change in MR (backport [#39816](https://github.com/frappe/erpnext/issues/39816)) ([#39818](https://github.com/frappe/erpnext/issues/39818)) ([63b4d20](63b4d20bdf))
* validate duplicate SBB (backport [#39862](https://github.com/frappe/erpnext/issues/39862)) ([#39866](https://github.com/frappe/erpnext/issues/39866)) ([a2f1a96](a2f1a964f1))
* warehouse issue in pick list (backport [#39826](https://github.com/frappe/erpnext/issues/39826)) ([#39827](https://github.com/frappe/erpnext/issues/39827)) ([b625b05](b625b05ddc))

### Features

* get RM costs from consumption entry in manufacture SE (backport [#39822](https://github.com/frappe/erpnext/issues/39822)) ([#39847](https://github.com/frappe/erpnext/issues/39847)) ([2d5f186](2d5f186812))

### Performance Improvements

* cached get_last_purchase_details to fix performance issue (backport [#39854](https://github.com/frappe/erpnext/issues/39854)) ([#39856](https://github.com/frappe/erpnext/issues/39856)) ([c643e70](c643e70e2f))
* production plan submission (backport [#39846](https://github.com/frappe/erpnext/issues/39846)) ([#39860](https://github.com/frappe/erpnext/issues/39860)) ([10f17df](10f17dfcc8))
2024-02-14 12:06:08 +00:00
rohitwaghchaure
8c12b3dbe0 Merge pull request #39880 from frappe/version-15-hotfix
chore: release v15
2024-02-14 17:34:57 +05:30
mergify[bot]
88a7248888 fix: production plan issue with sales order (backport #39901) (#39904)
fix:  production plan issue with sales order (#39901)

(cherry picked from commit d0df5df4a6)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-14 16:58:28 +05:30
mergify[bot]
a548f12941 fix: landed cost voucher not submitting because of incorrect reference (backport #39898) (#39900)
fix: landed cost voucher not submitting because of incorrect reference (#39898)

(cherry picked from commit 6239fd704b)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-14 15:57:40 +05:30
mergify[bot]
f08b424972 fix: use correct field name in accounts controller (backport #39884) (#39897)
fix: use correct field name in accounts controller (#39884)

Changes to get advance payments in SI or PI from JV's

(cherry picked from commit b124081065)

Co-authored-by: Rohit Gunjegaonkar <135806454+rohitg-pbspl@users.noreply.github.com>
2024-02-14 13:21:55 +05:30
Raffael Meyer
375859a25f Merge pull request #39894 from frappe/mergify/bp/version-15-hotfix/pr-39868
fix(Purchase Receipt): calculate `stock_value_diff` (backport #39868)
2024-02-14 01:21:38 +01:00
barredterra
5a66c8585c fix: calculate stock_value_diff
`d.item_tax_amount` is already in base currency.

(cherry picked from commit 5df5851798)
2024-02-13 23:52:33 +00:00
mergify[bot]
a2f1a964f1 fix: validate duplicate SBB (backport #39862) (#39866)
* fix: validate duplicate SBB

(cherry picked from commit 094ecc1f62)

* test: duplicate SBB

(cherry picked from commit 55e66db315)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-13 09:09:03 +05:30
mergify[bot]
92e6017a29 fix: create SBB for transfer_qty in SE (backport #39835) (#39863)
fix: create SBB for `transfer_qty` in SE

(cherry picked from commit d59caf08e6)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-12 19:59:07 +05:30
mergify[bot]
10f17dfcc8 perf: production plan submission (backport #39846) (#39860)
perf: production plan submission

(cherry picked from commit aa1c69dd7a)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-12 18:17:36 +05:30
mergify[bot]
c643e70e2f perf: cached get_last_purchase_details to fix performance issue (backport #39854) (#39856)
perf: cached get_last_purchase_details to fix performance issue (#39854)

(cherry picked from commit b966c06a4f)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-12 15:53:50 +05:30
mergify[bot]
4daee6d9c7 fix: Brazilian COA for demo data creation (#39839)
fix: Brazilian COA for demo data creation (#39839)

fix: Brazilian COA
(cherry picked from commit 4b1c851da1)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-02-11 18:12:18 +05:30
Frappe PR Bot
a29468f6fe chore(release): Bumped to Version 15.13.0
# [15.13.0](https://github.com/frappe/erpnext/compare/v15.12.2...v15.13.0) (2024-02-11)

### Features

* get RM costs from consumption entry in manufacture SE (backport [#39822](https://github.com/frappe/erpnext/issues/39822)) (backport [#39847](https://github.com/frappe/erpnext/issues/39847)) ([#39849](https://github.com/frappe/erpnext/issues/39849)) ([beb4137](beb4137dac))
2024-02-11 12:20:07 +00:00
mergify[bot]
beb4137dac feat: get RM costs from consumption entry in manufacture SE (backport #39822) (backport #39847) (#39849)
feat: get RM costs from consumption entry in manufacture SE (backport #39822) (#39847)

feat: get RM costs from consumption entry in manufacture SE (#39822)

(cherry picked from commit 39067c7614)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
(cherry picked from commit 2d5f186812)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-02-11 17:48:47 +05:30
mergify[bot]
2d5f186812 feat: get RM costs from consumption entry in manufacture SE (backport #39822) (#39847)
feat: get RM costs from consumption entry in manufacture SE (#39822)

(cherry picked from commit 39067c7614)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-11 17:29:21 +05:30
mergify[bot]
43fce29a04 fix: stock entry for use serial batch fields (backport #39843) (#39844)
fix: stock entry for use serial batch fields (#39843)

(cherry picked from commit e5824fc3f1)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-11 11:28:48 +05:30
mergify[bot]
63b4d20bdf fix(ux): set rate as price list rate on uom change in MR (backport #39816) (#39818)
* fix: add price list rate field in MR Item

(cherry picked from commit 61a29eb5fb)

* fix: set rate as price list rate on uom change

(cherry picked from commit 5cf0759b0c)

* chore: linter

(cherry picked from commit 1745371cd6)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-10 15:58:33 +05:30
mergify[bot]
b625b05ddc fix: warehouse issue in pick list (backport #39826) (#39827)
fix: warehouse issue in pick list (#39826)

(cherry picked from commit 159a123dc7)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-09 11:32:51 +05:30
mergify[bot]
30daccecc7 fix: do not consider rejected warehouses in pick list (backport #39539) (backport #39804) (#39811)
* fix: do not consider rejected warehouses in pick list (backport #39539) (#39804)

* fix: do not consider rejected warehouses in pick list (#39539)

* fix: do not picked rejected materials

* test: test case for pick list without rejected materials

(cherry picked from commit f6725e4342)

# Conflicts:
#	erpnext/selling/doctype/sales_order/test_sales_order.py
#	erpnext/stock/doctype/pick_list/pick_list.json
#	erpnext/stock/doctype/pick_list/pick_list.py

* chore: fix conflicts

* chore: fix conflicts

* chore: fix conflicts

* chore: fixed test case

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 2c8e4c1ab3)

# Conflicts:
#	erpnext/selling/doctype/sales_order/test_sales_order.py

* chore: fix conflicts

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-02-08 14:41:58 +05:30
ruthra kumar
db4efd3332 Merge pull request #39803 from frappe/mergify/bp/version-15/pr-39783
fix: cancelling cr/dr notes should update the linked Invoice status (backport #39783)
2024-02-08 10:23:53 +05:30
ruthra kumar
7556457e3e refactor(test): Forex Credit Note cancellation against Invoice
(cherry picked from commit 2f676ced5c)
2024-02-08 04:36:15 +00:00
ruthra kumar
5590b04c89 refactor(test): assert Invoice status as well
(cherry picked from commit 33efe0d12d)
2024-02-08 04:36:14 +00:00
ruthra kumar
490cbc53d8 test: Invoice status on Cr/Dr note cancellation
(cherry picked from commit 31a8c3bdc4)
2024-02-08 04:36:14 +00:00
ruthra kumar
592b3ff7b7 refactor: cancel Cr/Dr JE's on Sales/Purchase return cancel
(cherry picked from commit 0549535603)
2024-02-08 04:36:14 +00:00
ruthra kumar
0bde22fe46 Merge pull request #39799 from frappe/mergify/bp/version-15-hotfix/pr-39783
fix: cancelling cr/dr notes should update the linked Invoice status (backport #39783)
2024-02-08 10:00:34 +05:30
mergify[bot]
60e04ab661 fix: incorrect planned qty in PP (backport #39785) (#39793)
fix: incorrect planned qty in PP

(cherry picked from commit a8ebc94a36)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-08 09:13:38 +05:30
ruthra kumar
83bf2c17e0 refactor(test): Forex Credit Note cancellation against Invoice
(cherry picked from commit 2f676ced5c)
2024-02-07 15:00:48 +00:00
ruthra kumar
a805796c0a refactor(test): assert Invoice status as well
(cherry picked from commit 33efe0d12d)
2024-02-07 15:00:47 +00:00
ruthra kumar
0bff065f0b test: Invoice status on Cr/Dr note cancellation
(cherry picked from commit 31a8c3bdc4)
2024-02-07 15:00:46 +00:00
ruthra kumar
5fd4ca56f5 refactor: cancel Cr/Dr JE's on Sales/Purchase return cancel
(cherry picked from commit 0549535603)
2024-02-07 15:00:45 +00:00
Frappe PR Bot
bc9a63497a chore(release): Bumped to Version 15.12.2
## [15.12.2](https://github.com/frappe/erpnext/compare/v15.12.1...v15.12.2) (2024-02-07)

### Bug Fixes

* remove duplicates from tax category map ([1f21607](1f21607e4f))
2024-02-07 14:22:43 +00:00
Gursheen Kaur Anand
b9dc0f3896 Merge pull request #39794 from frappe/mergify/bp/version-15/pr-39787
fix: remove duplicates from tax category map (backport #39787)
2024-02-07 19:51:02 +05:30
Gursheen Anand
1f21607e4f fix: remove duplicates from tax category map
(cherry picked from commit 3c6114ab72)
2024-02-07 13:54:03 +00:00
Gursheen Kaur Anand
a5ad318a37 Merge pull request #39787 from GursheenK/duplicates-in-tax-category-bpv15
fix: remove duplicates from tax category map
2024-02-07 19:22:27 +05:30
mergify[bot]
ba05648741 fix: add permissions to SRE (backport #39780) (#39786)
fix: add permissions to SRE

(cherry picked from commit 50f54d983d)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-07 19:03:25 +05:30
Gursheen Anand
3c6114ab72 fix: remove duplicates from tax category map 2024-02-07 18:27:08 +05:30
Frappe PR Bot
488e693ed8 chore(release): Bumped to Version 15.12.1
## [15.12.1](https://github.com/frappe/erpnext/compare/v15.12.0...v15.12.1) (2024-02-07)

### Bug Fixes

* set rate for PO created against BO (backport [#39765](https://github.com/frappe/erpnext/issues/39765)) (backport [#39767](https://github.com/frappe/erpnext/issues/39767)) ([#39775](https://github.com/frappe/erpnext/issues/39775)) ([ae2a8db](ae2a8db0d7))
2024-02-07 06:07:15 +00:00
mergify[bot]
ae2a8db0d7 fix: set rate for PO created against BO (backport #39765) (backport #39767) (#39775)
fix: set rate for PO created against BO (backport #39765) (#39767)

* fix: set rate for PO created against BO

(cherry picked from commit 0e5b4e5f07)

# Conflicts:
#	erpnext/manufacturing/doctype/blanket_order/blanket_order.py

* chore: `conflicts`

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
(cherry picked from commit 22138867f5)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-02-07 11:35:55 +05:30
mergify[bot]
22138867f5 fix: set rate for PO created against BO (backport #39765) (#39767)
* fix: set rate for PO created against BO

(cherry picked from commit 0e5b4e5f07)

# Conflicts:
#	erpnext/manufacturing/doctype/blanket_order/blanket_order.py

* chore: `conflicts`

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-07 10:48:58 +05:30
Frappe PR Bot
2ba283d138 chore(release): Bumped to Version 15.12.0
# [15.12.0](https://github.com/frappe/erpnext/compare/v15.11.1...v15.12.0) (2024-02-06)

### Bug Fixes

* Blanket Order Ordered Quantity (backport [#39725](https://github.com/frappe/erpnext/issues/39725)) ([#39739](https://github.com/frappe/erpnext/issues/39739)) ([b126720](b126720826))
* conditionally display show btn setting ([e931432](e9314325cc))
* correctly calculate diff amount for included taxes ([#39655](https://github.com/frappe/erpnext/issues/39655)) ([7f4cd3c](7f4cd3cd15))
* do not throw validation for cancelled sle ([02f56ee](02f56ee20e))
* don't overwrite existing terms in transaction ([dcdd3e8](dcdd3e8cc4))
* Exchange rate on MR to PO creation for muticurrency POs ([#39646](https://github.com/frappe/erpnext/issues/39646)) ([29eb090](29eb090528))
* fetch/change tax template on basis of base_net_rate instead of net_rate ([#39448](https://github.com/frappe/erpnext/issues/39448)) ([d7c7748](d7c7748c03))
* incorrect landed cost voucher amount ([a40864d](a40864dede))
* out of range for valuation_rate column in SE (backport [#39687](https://github.com/frappe/erpnext/issues/39687)) ([#39691](https://github.com/frappe/erpnext/issues/39691)) ([41e4632](41e46326c0))
* Percentage handling in queries ([#39692](https://github.com/frappe/erpnext/issues/39692)) ([e76f598](e76f59803c))
* **portal:** show PO pay button if payments installed ([cea4ed6](cea4ed6f88))
* Pricing rule application/removal on qty change ([#39084](https://github.com/frappe/erpnext/issues/39084)) ([f310707](f31070741a))
* production plan date filters for orders (backport [#39702](https://github.com/frappe/erpnext/issues/39702)) ([#39720](https://github.com/frappe/erpnext/issues/39720)) ([3eac436](3eac436e7b))
* remove applied pricing rule on qty change (backport [#39688](https://github.com/frappe/erpnext/issues/39688)) ([#39737](https://github.com/frappe/erpnext/issues/39737)) ([f246684](f246684694))
* remove file from the disk after the completion of reposting ([b582e9c](b582e9c42c))
* show warehouse title field in sales docs (backport [#39746](https://github.com/frappe/erpnext/issues/39746)) ([#39755](https://github.com/frappe/erpnext/issues/39755)) ([53992de](53992deb10))
* update company in serial no doc (backport [#39733](https://github.com/frappe/erpnext/issues/39733)) ([#39747](https://github.com/frappe/erpnext/issues/39747)) ([00e86bf](00e86bf318))
* use old serial / batch fields to make serial batch bundle ([282c19e](282c19e7e1))
* **work order:** resolve type error during job card creation (backport [#39713](https://github.com/frappe/erpnext/issues/39713)) ([#39714](https://github.com/frappe/erpnext/issues/39714)) ([5fe40ac](5fe40ac085))

### Features

* copy emails from lead to customer ([#38647](https://github.com/frappe/erpnext/issues/38647)) ([986273b](986273b6d3))
* make material request for job card from workstation dashboard ([3bef12c](3bef12cb55))
* Period-wise closing entries for TB ([#39712](https://github.com/frappe/erpnext/issues/39712)) ([1822325](1822325f34))
* reference for POS SI payments ([#39523](https://github.com/frappe/erpnext/issues/39523)) ([4ee8cf3](4ee8cf3907))
* visual plant floor ([75bd1e6](75bd1e6b65))

### Performance Improvements

* memory consumption for the stock balance report ([#39626](https://github.com/frappe/erpnext/issues/39626)) ([5e29aab](5e29aab83b))
* Move dimension validation out of GL Entry doctype ([#39730](https://github.com/frappe/erpnext/issues/39730)) ([451c288](451c288011))
* timeout for auto material request through reorder level ([1b2831b](1b2831bdfe))
* timeout while submitting the purchase receipt entry ([55a8326](55a8326d06))
2024-02-06 18:44:29 +00:00
rohitwaghchaure
af8af2b36e Merge pull request #39758 from frappe/version-15-hotfix
chore: release v15
2024-02-07 00:13:18 +05:30
rohitwaghchaure
789aee4544 Merge pull request #39770 from frappe/mergify/bp/version-15-hotfix/pr-39769
fix: do not throw validation for canceled SLE (backport #39769)
2024-02-06 23:46:00 +05:30
Rohit Waghchaure
02f56ee20e fix: do not throw validation for cancelled sle
(cherry picked from commit 32ccf3524a)
2024-02-06 17:43:17 +00:00
rohitwaghchaure
c78d4c15d3 Merge pull request #39768 from frappe/mergify/bp/version-15-hotfix/pr-39764
fix: remove file from the disk after the completion of reposting (backport #39764)
2024-02-06 22:22:46 +05:30
Rohit Waghchaure
7833138c57 test: test case to check removed attached file
(cherry picked from commit 76b57a4338)
2024-02-06 15:58:17 +00:00
Rohit Waghchaure
b582e9c42c fix: remove file from the disk after the completion of reposting
(cherry picked from commit fb330d1b5a)
2024-02-06 15:58:16 +00:00
rohitwaghchaure
faf79f4d2a Merge pull request #39761 from frappe/mergify/bp/version-15-hotfix/pr-39718
fix: use old serial / batch fields to make serial batch bundle (backport #39718)
2024-02-06 16:26:33 +05:30
ruthra kumar
47c2bd7335 Merge pull request #39751 from frappe/mergify/bp/version-15-hotfix/pr-39694
refactor: enforce unique GL Account for each 'Bank Account' (backport #39694)
2024-02-06 15:48:31 +05:30
Rohit Waghchaure
73618f0605 test: test case to check use serial / batch fields feature
(cherry picked from commit 01650120d4)
2024-02-06 10:18:06 +00:00
Rohit Waghchaure
a08b97e886 test: fixed test cases
(cherry picked from commit c1e869f040)
2024-02-06 10:18:05 +00:00
Rohit Waghchaure
282c19e7e1 fix: use old serial / batch fields to make serial batch bundle
(cherry picked from commit 9fafc83632)
2024-02-06 10:18:05 +00:00
mergify[bot]
53992deb10 fix: show warehouse title field in sales docs (backport #39746) (#39755)
fix: show warehouse title field in sales docs

(cherry picked from commit ee14faaa39)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-06 12:45:37 +05:30
ruthra kumar
4235e08668 refactor(test): make use of test fixtures in Payment Order
(cherry picked from commit 322cdbaccf)
2024-02-06 04:00:23 +00:00
ruthra kumar
949f4c3790 refactor(test): generate uniq GL acc and Bank acc for each test case
(cherry picked from commit a9a2ec81de)
2024-02-06 04:00:23 +00:00
ruthra kumar
11d4382e19 refactor: ensure unique accounts for each Bank Account's
(cherry picked from commit 2caa2d677c)
2024-02-06 04:00:23 +00:00
mergify[bot]
00e86bf318 fix: update company in serial no doc (backport #39733) (#39747)
fix: update company in serial no doc

(cherry picked from commit 7a04f0f7ba)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-05 21:55:56 +05:30
rohitwaghchaure
d3c4bd7f5f Merge pull request #39745 from frappe/mergify/bp/version-15-hotfix/pr-39742
perf: timeout while submitting the purchase receipt entry (backport #39742)
2024-02-05 21:17:59 +05:30
rohitwaghchaure
cb15ff1d74 Merge pull request #39743 from frappe/mergify/bp/version-15-hotfix/pr-39730
perf: Move dimension validation out of GL Entry doctype (backport #39730)
2024-02-05 21:17:43 +05:30
Rohit Waghchaure
55a8326d06 perf: timeout while submitting the purchase receipt entry
(cherry picked from commit 1fa6233377)
2024-02-05 15:33:04 +00:00
Deepesh Garg
451c288011 perf: Move dimension validation out of GL Entry doctype (#39730)
(cherry picked from commit b834ed10d6)
2024-02-05 15:31:36 +00:00
rohitwaghchaure
7923bd7964 Merge pull request #39741 from frappe/mergify/bp/version-15-hotfix/pr-38362
feat: visual plant floor (backport #38362)
2024-02-05 19:42:20 +05:30
Rohit Waghchaure
3bef12cb55 feat: make material request for job card from workstation dashboard
(cherry picked from commit 6fea9d6dfe)
2024-02-05 13:50:45 +00:00
Rohit Waghchaure
75bd1e6b65 feat: visual plant floor
(cherry picked from commit 68c997aa06)
2024-02-05 13:50:44 +00:00
mergify[bot]
b126720826 fix: Blanket Order Ordered Quantity (backport #39725) (#39739)
* fix: disable no-copy for blanket order in PO

(cherry picked from commit 5ce5c352e4)

* fix: update BO Ordered Quantity on PO Close/Open

(cherry picked from commit 61ded697a7)

* test: BO on PO Close/Open

(cherry picked from commit 27d6c8b6d5)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-05 16:31:20 +05:30
mergify[bot]
f246684694 fix: remove applied pricing rule on qty change (backport #39688) (#39737)
fix: remove pricing rule

(cherry picked from commit 7c6a5a0f23)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-05 16:09:00 +05:30
mergify[bot]
1822325f34 feat: Period-wise closing entries for TB (#39712)
feat: Period-wise closing entries for TB (#39712)

(cherry picked from commit 6e6c818084)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-02-05 14:34:33 +05:30
mergify[bot]
986273b6d3 feat: copy emails from lead to customer (#38647)
feat: copy emails from lead to customer

(cherry picked from commit 906ac093e3)

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
2024-02-05 14:05:44 +05:30
rohitwaghchaure
f4ac00595d Merge pull request #39729 from frappe/mergify/bp/version-15-hotfix/pr-39659
perf: timeout for auto material request through reorder level (backport #39659)
2024-02-05 13:20:22 +05:30
rohitwaghchaure
66661d0649 Merge pull request #39732 from frappe/mergify/bp/version-15-hotfix/pr-39626
perf: memory consumption for the stock balance report (backport #39626)
2024-02-05 13:17:41 +05:30
rohitwaghchaure
326751c8bd Merge pull request #39727 from frappe/mergify/bp/version-15-hotfix/pr-39684
fix: incorrect landed cost voucher amount (backport #39684)
2024-02-05 13:17:11 +05:30
rohitwaghchaure
5e29aab83b perf: memory consumption for the stock balance report (#39626)
(cherry picked from commit b70f3de16b)
2024-02-05 06:18:52 +00:00
Rohit Waghchaure
1b2831bdfe perf: timeout for auto material request through reorder level
(cherry picked from commit 951023f434)
2024-02-05 06:10:56 +00:00
Rohit Waghchaure
a40864dede fix: incorrect landed cost voucher amount
(cherry picked from commit d78a1e7814)
2024-02-05 06:09:51 +00:00
mergify[bot]
3eac436e7b fix: production plan date filters for orders (backport #39702) (#39720)
fix: production plan date filters for orders (#39702)

(cherry picked from commit 407045a1de)

Co-authored-by: Gursheen Kaur Anand <40693548+GursheenK@users.noreply.github.com>
2024-02-05 10:14:42 +05:30
mergify[bot]
5fe40ac085 fix(work order): resolve type error during job card creation (backport #39713) (#39714)
fix(work order): resolve type error during job card creation (#39713)

fix: type error
(cherry picked from commit c81d597ca5)

Co-authored-by: Vishnu  VS <Vishnuviswambaran2002@gmail.com>
2024-02-04 22:59:17 +05:30
mergify[bot]
4ee8cf3907 feat: reference for POS SI payments (#39523)
feat: reference for POS SI payments (#39523)

* feat: reference field in SI payment

* fix: document link for pos si

* refactor: pos invoice queries

(cherry picked from commit d9a72c1e61)

Co-authored-by: Gursheen Kaur Anand <40693548+GursheenK@users.noreply.github.com>
2024-02-04 17:54:56 +05:30
mergify[bot]
d7c7748c03 fix: fetch/change tax template on basis of base_net_rate instead of net_rate (#39448)
fix: fetch/change tax template on basis of base_net_rate instead of net_rate (#39448)

fix: change tax template on basis of base_net_rate instead of net_rate

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
(cherry picked from commit e9fe10c6f1)

Co-authored-by: Divyam Mistry <73271406+divyam-mistry@users.noreply.github.com>
2024-02-03 09:09:59 +05:30
mergify[bot]
f31070741a fix: Pricing rule application/removal on qty change (#39084)
fix: Pricing rule application/removal on qty change

(cherry picked from commit f52d7c7665)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-02-03 08:49:50 +05:30
Frappe PR Bot
317a74b58c chore(release): Bumped to Version 15.11.1
## [15.11.1](https://github.com/frappe/erpnext/compare/v15.11.0...v15.11.1) (2024-02-02)

### Bug Fixes

* Percentage handling in queries ([#39692](https://github.com/frappe/erpnext/issues/39692)) ([0405a2b](0405a2b817))
2024-02-02 15:24:10 +00:00
mergify[bot]
0405a2b817 fix: Percentage handling in queries (#39692)
fix: Percentage handling in queries (#39692)

fix: Percentage handling in queries (#39692)

* fix: Percentage handling in queries

* test: Account with percent sign

* chore: add test records

(cherry picked from commit 6d87cfeb8d)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
(cherry picked from commit e76f59803c)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-02-02 20:53:03 +05:30
mergify[bot]
e76f59803c fix: Percentage handling in queries (#39692)
fix: Percentage handling in queries (#39692)

* fix: Percentage handling in queries

* test: Account with percent sign

* chore: add test records

(cherry picked from commit 6d87cfeb8d)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-02-02 20:27:36 +05:30
mergify[bot]
41e46326c0 fix: out of range for valuation_rate column in SE (backport #39687) (#39691)
fix: out of range for valuation_rate column in SE

(cherry picked from commit 1e15a3cc15)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-02-02 15:24:45 +05:30
Gursheen Kaur Anand
8574941cb6 Merge pull request #39648 from frappe/mergify/bp/version-15-hotfix/pr-39519
fix: don't overwrite existing terms in transaction (backport #39519)
2024-02-01 23:48:18 +05:30
ruthra kumar
4f994cf26c Merge pull request #39666 from frappe/mergify/bp/version-15-hotfix/pr-39655
fix: correctly calculate diff amount for included taxes (backport #39655)
2024-02-01 19:44:57 +05:30
ruthra kumar
bb3591deec Merge pull request #39680 from frappe/mergify/bp/version-15-hotfix/pr-39674
refactor: use pop up to inform of possible data issue (backport #39674)
2024-02-01 17:31:18 +05:30
ruthra kumar
e2d041f51c refactor: use pop up to inform of possible data issue
and leave a comment in communcation trail as well

(cherry picked from commit 78483e2ee6)
2024-02-01 11:43:19 +00:00
ruthra kumar
63f306f1b4 Merge pull request #39676 from frappe/mergify/bp/version-15-hotfix/pr-39671
refactor: move ignore ERR filter from SOA to General Ledger (backport #39671)
2024-02-01 16:38:33 +05:30
ruthra kumar
72c95d31d1 refactor(test): use party with USD billing currency
(cherry picked from commit beff566c82)
2024-02-01 10:41:39 +00:00
ruthra kumar
1ee15f65a8 test: ignore_err filter out in General Ledger
(cherry picked from commit affca3a519)
2024-02-01 10:41:39 +00:00
ruthra kumar
0a235584ad refactor: move ignore ERR filters from SOA to General Ledger
(cherry picked from commit c077eda64e)
2024-02-01 10:41:39 +00:00
Gursheen Kaur Anand
7f4cd3cd15 fix: correctly calculate diff amount for included taxes (#39655)
(cherry picked from commit 772f540bef)
2024-02-01 04:44:40 +00:00
barredterra
ba55d0ede7 chore: resolve conflicts 2024-01-31 13:19:19 +01:00
rohitwaghchaure
c74482a27c Merge pull request #39658 from frappe/mergify/bp/version-15-hotfix/pr-39643
fix(portal): show PO pay button if payments installed (backport #39643)
2024-01-31 17:30:48 +05:30
rohitwaghchaure
510ab769f1 chore: fix conflicts 2024-01-31 15:23:14 +05:30
Gursheen Anand
e9314325cc fix: conditionally display show btn setting
(cherry picked from commit 0c9572bb48)

# Conflicts:
#	erpnext/buying/doctype/buying_settings/buying_settings.json
2024-01-31 09:16:12 +00:00
Gursheen Anand
cea4ed6f88 fix(portal): show PO pay button if payments installed
(cherry picked from commit ae7be84d87)
2024-01-31 09:16:11 +00:00
mergify[bot]
29eb090528 fix: Exchange rate on MR to PO creation for muticurrency POs (#39646)
fix: Exchange rate on MR to PO creation for muticurrency POs (#39646)

(cherry picked from commit cfd1666181)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-01-31 12:49:48 +05:30
mergify[bot]
aebb0c7979 chore: cleanup doctype descriptions (backport #39637) (#39652)
* chore: cleanup doctype descriptions (#39637)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
(cherry picked from commit 6b8f046fb4)

# Conflicts:
#	erpnext/accounts/doctype/accounts_settings/accounts_settings.json
#	erpnext/accounts/doctype/fiscal_year/fiscal_year.json
#	erpnext/stock/doctype/item_price/item_price.json
#	erpnext/stock/doctype/stock_settings/stock_settings.json

* chore: fix conflicts

---------

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2024-01-31 12:38:37 +05:30
barredterra
dcdd3e8cc4 fix: don't overwrite existing terms in transaction
(cherry picked from commit 77b044f1a6)

# Conflicts:
#	erpnext/public/js/controllers/transaction.js
2024-01-31 00:14:44 +00:00
Frappe PR Bot
f84f82c7d7 chore(release): Bumped to Version 15.11.0
# [15.11.0](https://github.com/frappe/erpnext/compare/v15.10.8...v15.11.0) (2024-01-30)

### Bug Fixes

* AttributeError in company transaction deletion ([222005c](222005ca44))
* **Batch:** reload doc after splitting ([a97b8fd](a97b8fd876))
* check page obj before adding menu ([0aa73e3](0aa73e31ce))
* default enable closing stock balance (backport [#39551](https://github.com/frappe/erpnext/issues/39551)) ([#39554](https://github.com/frappe/erpnext/issues/39554)) ([4853ab1](4853ab1fec))
* do not auto-populate item delivery date ([5cdc22a](5cdc22adf3))
* email list for auto reorder material request ([98c5653](98c56535d8))
* enqueue JV submission when more than 100 accounts ([07bcc24](07bcc24e35))
* fetch correct quantity and amount for grouped asset ([3bdd1e9](3bdd1e9514))
* honour currency precision while fetching balance ([e0a3820](e0a38207f6))
* incorrect active serial nos (backport [#39389](https://github.com/frappe/erpnext/issues/39389)) ([#39589](https://github.com/frappe/erpnext/issues/39589)) ([7def475](7def475eb1))
* incorrect amount in the material request item (backport [#39567](https://github.com/frappe/erpnext/issues/39567)) ([#39569](https://github.com/frappe/erpnext/issues/39569)) ([e0c35d6](e0c35d60b4))
* Item Tax template is not working for e-commerce ([2905db1](2905db19e5))
* make SO item code reqd ([171586d](171586db9b))
* not able to edit address through portal ([1f5dbeb](1f5dbebe68))
* not able to save BOM (duplicate key error) (backport [#39620](https://github.com/frappe/erpnext/issues/39620)) ([#39623](https://github.com/frappe/erpnext/issues/39623)) ([53c7055](53c705506b))
* not able to save subcontracting purchase receipt (old flow) (backport [#39590](https://github.com/frappe/erpnext/issues/39590)) ([#39592](https://github.com/frappe/erpnext/issues/39592)) ([63eef68](63eef680d0))
* not able to submit subcontracting pr (old flow) (backport [#39622](https://github.com/frappe/erpnext/issues/39622)) ([#39625](https://github.com/frappe/erpnext/issues/39625)) ([960443d](960443d268))
* Payment Terms Status for Sales Order report should show all payment terms from order not only this comming from template ([b2e0d24](b2e0d24954))
* perf issue while submitting stock entry (backport [#39634](https://github.com/frappe/erpnext/issues/39634)) ([#39642](https://github.com/frappe/erpnext/issues/39642)) ([d785c6c](d785c6ce3e))
* prevent extra transfer against inter transfer transaction (backport [#39213](https://github.com/frappe/erpnext/issues/39213)) ([#39596](https://github.com/frappe/erpnext/issues/39596)) ([6d4ca6a](6d4ca6a1ee))
* qtn tests using delivery date ([6b20a7e](6b20a7eed1))
* return doc obj after submit ([da33079](da33079f12))
* Serial No Ledger permission issue ([f9d1995](f9d1995954))
* skip liability account for internal transfer ([e2d85c5](e2d85c513c))
* type error on company doc ([a7d1368](a7d13686c7))

### Features

* In words in payment entry ([5df2f5d](5df2f5d523))
* New financial views - Growth and margin views for P&L and balance sheet ([#39588](https://github.com/frappe/erpnext/issues/39588)) ([a83f310](a83f3106f3))
* Partly billed status in Purchase Receipt ([#39543](https://github.com/frappe/erpnext/issues/39543)) ([e4230cf](e4230cf6d9))
2024-01-30 14:14:58 +00:00
rohitwaghchaure
32f77eae5d Merge pull request #39639 from frappe/version-15-hotfix
chore: release v15
2024-01-30 19:42:27 +05:30
mergify[bot]
d785c6ce3e fix: perf issue while submitting stock entry (backport #39634) (#39642)
fix: perf issue while submitting stock entry (#39634)

(cherry picked from commit b14886b227)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-30 15:43:50 +05:30
ruthra kumar
bc8ab51f9d Merge pull request #39633 from frappe/mergify/bp/version-15-hotfix/pr-39559
fix: prevent Return Invoices(Credit/Debit Note) from using a different account  (backport #39559)
2024-01-30 11:20:25 +05:30
ruthra kumar
5c9c3bee70 test: debit note account mismatch
(cherry picked from commit bdca718103)
2024-01-30 05:31:53 +00:00
ruthra kumar
c9ea83591f test: account mismatch validation
(cherry picked from commit 8bdc760733)
2024-01-30 05:31:53 +00:00
ruthra kumar
10fcf5af5f refactor: prevent '{debit/credit}_to' account mismatch
(cherry picked from commit 6f2fae1b61)
2024-01-30 05:31:52 +00:00
mergify[bot]
e4230cf6d9 feat: Partly billed status in Purchase Receipt (#39543)
feat: Partly billed status in Purchase Receipt (#39543)

(cherry picked from commit a673220feb)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-01-29 22:41:09 +05:30
mergify[bot]
53c705506b fix: not able to save BOM (duplicate key error) (backport #39620) (#39623)
fix: not able to save BOM (duplicate key error) (#39620)

(cherry picked from commit 4e182b89ce)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-29 21:22:34 +05:30
mergify[bot]
960443d268 fix: not able to submit subcontracting pr (old flow) (backport #39622) (#39625)
fix: not able to submit subcontracting pr (old flow) (#39622)

(cherry picked from commit 5cf47ae5f9)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-29 21:22:21 +05:30
Gursheen Kaur Anand
f71af209c0 Merge pull request #39618 from frappe/mergify/bp/version-15-hotfix/pr-39616
fix(minor): do not auto-populate item delivery date from qtn (backport #39616)
2024-01-29 16:53:39 +05:30
Gursheen Anand
6b20a7eed1 fix: qtn tests using delivery date
(cherry picked from commit 079cd30b9c)
2024-01-29 10:22:01 +00:00
Gursheen Anand
5cdc22adf3 fix: do not auto-populate item delivery date
(cherry picked from commit 49cb11c1f3)
2024-01-29 10:22:00 +00:00
mergify[bot]
9e36ab7de7 fix amount not updated when change rate in material request (backport #39606) (#39615)
fix amount not updated when change rate in material request (#39606)

* fix amount not updated when change rate in material request

* make code consistent

(cherry picked from commit efade9b9ae)

Co-authored-by: Jeffry Suryadharma <41689493+jeffrysurya@users.noreply.github.com>
2024-01-29 13:36:27 +05:30
Gursheen Kaur Anand
daafe45dd4 Merge pull request #39612 from frappe/mergify/bp/version-15-hotfix/pr-39562
fix: enqueue JV submission when > 100 accounts (backport #39562)
2024-01-29 11:55:58 +05:30
Gursheen Kaur Anand
706d1111ad Merge pull request #39610 from frappe/mergify/bp/version-15-hotfix/pr-39598
fix(minor): type error in financial statements for dashboard (backport #39598)
2024-01-29 11:42:17 +05:30
Gursheen Anand
da33079f12 fix: return doc obj after submit
(cherry picked from commit fc677811b7)
2024-01-29 06:10:03 +00:00
Gursheen Anand
07bcc24e35 fix: enqueue JV submission when more than 100 accounts
(cherry picked from commit 53b44ccf29)
2024-01-29 06:10:02 +00:00
Nabin Hait
0f0a5b73f6 Merge pull request #39566 from frappe/mergify/bp/version-15-hotfix/pr-39489
fix: fetch correct quantity and amount for grouped asset (backport #39489)
2024-01-29 11:38:33 +05:30
Gursheen Anand
0aa73e31ce fix: check page obj before adding menu
(cherry picked from commit 2486b646a1)
2024-01-29 06:07:13 +00:00
Frappe PR Bot
a3d4f63ba1 chore(release): Bumped to Version 15.10.8
## [15.10.8](https://github.com/frappe/erpnext/compare/v15.10.7...v15.10.8) (2024-01-29)

### Bug Fixes

* not able to save subcontracting purchase receipt (old flow) (backport [#39590](https://github.com/frappe/erpnext/issues/39590)) (backport [#39592](https://github.com/frappe/erpnext/issues/39592)) ([#39608](https://github.com/frappe/erpnext/issues/39608)) ([ff166e8](ff166e8104))
2024-01-29 04:39:51 +00:00
mergify[bot]
ff166e8104 fix: not able to save subcontracting purchase receipt (old flow) (backport #39590) (backport #39592) (#39608)
fix: not able to save subcontracting purchase receipt (old flow) (backport #39590) (#39592)

fix: not able to save subcontracting purchase receipt (old flow) (#39590)

(cherry picked from commit 67d828dab3)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 63eef680d0)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-01-29 10:08:40 +05:30
mergify[bot]
a118417645 refactor: provision to filter on dimensions in reconciliation tool (#39054)
* refactor: dimensions section in allocation table in reconciliation

(cherry picked from commit 1cde804c77)

# Conflicts:
#	erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json

* refactor: update dimension doctypes in hooks

(cherry picked from commit cfb3d87267)

* refactor: dimensions filter section in payment reconciliation

(cherry picked from commit 20e0acc20a)

* refactor: column break in dimension section

(cherry picked from commit 20576e0f47)

# Conflicts:
#	erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json

* refactor: handle dimension filters

(cherry picked from commit c1fe4bcc64)

* refactor: pass dimension filters to query

(cherry picked from commit ff60ec85b8)

* refactor: set query filters for dimensions

(cherry picked from commit ad8475cb8b)

* refactor: pass dimension details to query

(cherry picked from commit 5dc22e1811)

* refactor: replace sql with query builder for Jourals query

(cherry picked from commit 9c5a79209e)

* refactor: partial change on outstanding invoice popup

(cherry picked from commit 2154502955)

* fix: typo's and parameter changes

(cherry picked from commit 0ec17590ae)

* refactor: Credit Note and its Exc gain/loss JE inherits dimensions

(cherry picked from commit ab939cc6e8)

* refactor: apply dimension filters on cr/dr notes

(cherry picked from commit 188ff8cde7)

* chore: test dimension filter output

(cherry picked from commit e3c44231ab)

* test: dimension inheritance for cr note reconciliation

(cherry picked from commit ba5a7c8cd8)

* refactor: pass dimension values to Gain/Loss journal

(cherry picked from commit c44eb432a5)

# Conflicts:
#	erpnext/accounts/utils.py

* test: dimension inheritance in PE reconciliation

(cherry picked from commit 6148fb024b)

* refactor: pass dimensions on advance allocation

(cherry picked from commit cbd443a78a)

* test: dimension inheritance on adv allocation

(cherry picked from commit fcf4687c52)

* refactor: dynamic dimension filters in pop up

(cherry picked from commit f8bbb0619c)

* refactor: update dimensions, only if provided

(cherry picked from commit ec0f17ca8b)

* refactor: handle dynamic dimension in order query

(cherry picked from commit 7c2cb70387)

* chore: resolve conflicts

---------

Co-authored-by: ruthra kumar <ruthra@erpnext.com>
2024-01-28 13:50:08 +05:30
mergify[bot]
a83f3106f3 feat: New financial views - Growth and margin views for P&L and balance sheet (#39588)
feat: New financial views - Growth and margin views for P&L and balance sheet (#39588)
2024-01-28 13:48:55 +05:30
mergify[bot]
6d4ca6a1ee fix: prevent extra transfer against inter transfer transaction (backport #39213) (#39596)
fix: prevent extra transfer against inter transfer transaction (#39213)

* fix: prevent extra transfer against inter transfer transaction

* fix: internal transfer dashboard

(cherry picked from commit 8fdc244e16)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-27 23:25:13 +05:30
ruthra kumar
ebec463166 Merge pull request #39594 from frappe/mergify/bp/version-15-hotfix/pr-39591
refactor: Do proper currency conversion on Future Payments column in AR/AP report (backport #39591)
2024-01-27 13:19:27 +05:30
ruthra kumar
10488520e7 test: future payment with foreign currency
(cherry picked from commit 7b37389115)
2024-01-27 07:23:17 +00:00
ruthra kumar
9e15a3c981 refactor: do currency conversion on future amount columns
(cherry picked from commit 0de4197c88)
2024-01-27 07:23:16 +00:00
mergify[bot]
63eef680d0 fix: not able to save subcontracting purchase receipt (old flow) (backport #39590) (#39592)
fix: not able to save subcontracting purchase receipt (old flow) (#39590)

(cherry picked from commit 67d828dab3)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-27 12:15:11 +05:30
mergify[bot]
7def475eb1 fix: incorrect active serial nos (backport #39389) (#39589)
fix: incorrect active serial nos

(cherry picked from commit 64cb1153de)

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
2024-01-27 11:57:58 +05:30
Frappe PR Bot
0e2f57ba89 chore(release): Bumped to Version 15.10.7
## [15.10.7](https://github.com/frappe/erpnext/compare/v15.10.6...v15.10.7) (2024-01-27)

### Bug Fixes

* incorrect amount in the material request item (backport [#39567](https://github.com/frappe/erpnext/issues/39567)) (backport [#39569](https://github.com/frappe/erpnext/issues/39569)) ([#39587](https://github.com/frappe/erpnext/issues/39587)) ([30bdba4](30bdba4801))
2024-01-27 04:43:59 +00:00
mergify[bot]
30bdba4801 fix: incorrect amount in the material request item (backport #39567) (backport #39569) (#39587)
fix: incorrect amount in the material request item (backport #39567) (#39569)

fix: incorrect amount in the material request item (#39567)

fix: incoorect amount in the material request
(cherry picked from commit 2bdfdeeb9a)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit e0c35d60b4)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-01-27 10:12:45 +05:30
mergify[bot]
ed06f0cd1b refactor: BOM creator item selector with short description (backport #39433) (#39435)
refactor: BOM creator item selector with short description

(cherry picked from commit 0f881bc90a)

Co-authored-by: Florian HENRY <florian.henry@open-concept.pro>
2024-01-27 09:51:14 +05:30
Gursheen Kaur Anand
9abc07e34b Merge pull request #39585 from frappe/mergify/bp/version-15-hotfix/pr-39532
fix: type error in transaction.js (backport #39532)
2024-01-26 23:46:57 +05:30
Gursheen Anand
a7d13686c7 fix: type error on company doc
(cherry picked from commit 030d35628d)
2024-01-26 17:31:07 +00:00
Deepesh Garg
ab99414242 Merge pull request #39577 from frappe/mergify/bp/version-15-hotfix/pr-39511
refactor(Sales Invoice): set account and sum for payments (#39511)
2024-01-26 10:04:23 +05:30
Deepesh Garg
fa8fb7a49e Merge pull request #39575 from frappe/mergify/bp/version-15-hotfix/pr-39108
feat: In words in payment entry (#39108)
2024-01-26 09:46:01 +05:30
barredterra
4fc3a264f9 refactor(Sales Invoice): set account for mode of payment
(cherry picked from commit 3815f07c33)
2024-01-26 04:15:14 +00:00
Deepesh Garg
5df2f5d523 feat: In words in payment entry
(cherry picked from commit b21da472f6)
2024-01-26 04:01:45 +00:00
mergify[bot]
e0c35d60b4 fix: incorrect amount in the material request item (backport #39567) (#39569)
fix: incorrect amount in the material request item (#39567)

fix: incoorect amount in the material request
(cherry picked from commit 2bdfdeeb9a)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-25 17:22:31 +05:30
Gursheen Kaur Anand
14aa9d3d0f Merge pull request #39564 from frappe/mergify/bp/version-15-hotfix/pr-39557
fix: make SO item code mandatory (backport #39557)
2024-01-25 16:39:39 +05:30
Nabin Hait
3bdd1e9514 fix: fetch correct quantity and amount for grouped asset
(cherry picked from commit 06f48c678b)
2024-01-25 10:51:53 +00:00
Gursheen Anand
171586db9b fix: make SO item code reqd
(cherry picked from commit 7f8303a493)
2024-01-25 10:50:38 +00:00
ruthra kumar
c3557a87ef Merge pull request #39552 from frappe/mergify/bp/version-15-hotfix/pr-38218
fix: honour currency precision while fetching balance (backport #38218)
2024-01-25 13:25:15 +05:30
mergify[bot]
4853ab1fec fix: default enable closing stock balance (backport #39551) (#39554)
fix: default enable closing stock balance (#39551)

(cherry picked from commit d1fb90edff)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-25 12:51:55 +05:30
Dany Robert
ed032b3224 chore: avoid explicit escaping for precision
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
(cherry picked from commit a8949174c8)
2024-01-25 07:00:45 +00:00
Dany Robert
8b7900e6a7 chore: change f-string to sql params
(cherry picked from commit 383a4b132e)
2024-01-25 07:00:45 +00:00
Dany Robert
e0a38207f6 fix: honour currency precision while fetching balance
(cherry picked from commit bfaa93b0ca)
2024-01-25 07:00:45 +00:00
Frappe PR Bot
53b844f173 chore(release): Bumped to Version 15.10.6
## [15.10.6](https://github.com/frappe/erpnext/compare/v15.10.5...v15.10.6) (2024-01-25)

### Bug Fixes

* Item Tax template is not working for e-commerce ([83c1208](83c120849f))
2024-01-25 06:48:53 +00:00
rohitwaghchaure
34e581715a Merge pull request #39550 from frappe/mergify/bp/version-15/pr-39549
fix: Item Tax template is not working for e-commerce (backport #39547) (backport #39549)
2024-01-25 12:17:43 +05:30
Rohit Waghchaure
83c120849f fix: Item Tax template is not working for e-commerce
(cherry picked from commit 7d3240ae3a)
(cherry picked from commit 2905db19e5)
2024-01-25 06:24:19 +00:00
rohitwaghchaure
e08c7bad63 Merge pull request #39549 from frappe/mergify/bp/version-15-hotfix/pr-39547
fix: Item Tax template is not working for e-commerce (backport #39547)
2024-01-25 11:53:30 +05:30
Rohit Waghchaure
2905db19e5 fix: Item Tax template is not working for e-commerce
(cherry picked from commit 7d3240ae3a)
2024-01-25 06:07:23 +00:00
ruthra kumar
bd7e8ed230 Merge pull request #39538 from frappe/mergify/bp/version-15-hotfix/pr-39331
fix: Payment Terms Status for Sales Order report show all payment terms from orders (not only when there is a payment terms template) (backport #39331)
2024-01-24 16:27:29 +05:30
Florian HENRY
b2e0d24954 fix: Payment Terms Status for Sales Order report should show all payment terms from order not only this comming from template
(cherry picked from commit 6c8f52b26f)
2024-01-24 10:43:08 +00:00
rohitwaghchaure
84a94cec6b Merge pull request #39531 from frappe/mergify/bp/version-15-hotfix/pr-39525
fix: email list for auto reorder material request (backport #39525)
2024-01-24 14:49:28 +05:30
Frappe PR Bot
cc195777f4 chore(release): Bumped to Version 15.10.5
## [15.10.5](https://github.com/frappe/erpnext/compare/v15.10.4...v15.10.5) (2024-01-24)

### Bug Fixes

* AttributeError in company transaction deletion ([3549cd3](3549cd39f1))
2024-01-24 07:59:52 +00:00
ruthra kumar
60c10f4457 Merge pull request #39534 from frappe/mergify/bp/version-15/pr-39529
fix: AttributeError in company transaction deletion (backport #39529)
2024-01-24 13:28:34 +05:30
ruthra kumar
871dc6b0da Merge pull request #39533 from frappe/mergify/bp/version-15-hotfix/pr-39529
fix: AttributeError in company transaction deletion (backport #39529)
2024-01-24 13:28:22 +05:30
ruthra kumar
3549cd39f1 fix: AttributeError in company transaction deletion
(cherry picked from commit b127aa308e)
2024-01-24 07:43:02 +00:00
ruthra kumar
222005ca44 fix: AttributeError in company transaction deletion
(cherry picked from commit b127aa308e)
2024-01-24 07:40:59 +00:00
Rohit Waghchaure
98c56535d8 fix: email list for auto reorder material request
(cherry picked from commit 764f3422a0)
2024-01-24 07:07:16 +00:00
rohitwaghchaure
f6a779e1aa Merge pull request #39527 from frappe/mergify/bp/version-15-hotfix/pr-39521
fix: not able to edit address through portal (backport #39521)
2024-01-24 12:17:05 +05:30
Rohit Waghchaure
1f5dbebe68 fix: not able to edit address through portal
(cherry picked from commit b046d980ad)
2024-01-24 06:20:31 +00:00
Gursheen Kaur Anand
4073dfb90b Merge pull request #39522 from frappe/mergify/bp/version-15-hotfix/pr-39493
fix: skip setting liability account for internal transfer (backport #39493)
2024-01-24 11:08:53 +05:30
Gursheen Anand
e2d85c513c fix: skip liability account for internal transfer
(cherry picked from commit 236b73565e)
2024-01-24 05:04:45 +00:00
rohitwaghchaure
880f648846 Merge pull request #39513 from frappe/mergify/bp/version-15-hotfix/pr-39503
fix: Serial No Ledger permission issue (backport #39503)
2024-01-24 10:27:23 +05:30
Raffael Meyer
84d2a80f30 Merge pull request #39516 from frappe/mergify/bp/version-15-hotfix/pr-39512 2024-01-23 19:00:53 +01:00
barredterra
fe41e2a341 refactor(Batch): use const instead of var
(cherry picked from commit 7a7a213285)
2024-01-23 16:55:27 +00:00
barredterra
a97b8fd876 fix(Batch): reload doc after splitting
to show updated qty

(cherry picked from commit 34ec2f8a2b)
2024-01-23 16:55:27 +00:00
barredterra
6ed42e939b refactor: split batch
(cherry picked from commit 3c7e7a76f0)
2024-01-23 16:55:26 +00:00
Rohit Waghchaure
f9d1995954 fix: Serial No Ledger permission issue
(cherry picked from commit 1a670ff266)
2024-01-23 13:37:35 +00:00
Frappe PR Bot
028ae5b34f chore(release): Bumped to Version 15.10.4
## [15.10.4](https://github.com/frappe/erpnext/compare/v15.10.3...v15.10.4) (2024-01-23)

### Bug Fixes

* added button to make serial / batch from Purchase Invoice ([96e1db8](96e1db80ac))
* auto create serial no on scan ([ca93f67](ca93f671df))
* duplicate name error while making variant ([b649c50](b649c50ecc))
* key error during reposting ([b4981f8](b4981f8816))
* linting issue ([86f3f62](86f3f62e00))
* party field in pdf html ([9a08349](9a0834987c))
* set unallocated amount after base tax ([74613c7](74613c7fe8))
* UOM needs to be whole number not being checked in quotations ([c7d5857](c7d5857014))
* use most reliable section reference per report line ([b388adc](b388adcb2e))
* UX improvements for Serial and Batch Bundle ([c761459](c76145985d))
2024-01-23 11:59:22 +00:00
ruthra kumar
2a7f7df3e5 Merge pull request #39505 from frappe/version-15-hotfix
chore: release v15
2024-01-23 17:28:01 +05:30
rohitwaghchaure
1331fb75a3 Merge pull request #39496 from frappe/mergify/bp/version-15-hotfix/pr-39478
fix: UX improvements for Serial and Batch Bundle (backport #39478)
2024-01-23 13:18:16 +05:30
Rohit Waghchaure
ca93f671df fix: auto create serial no on scan
(cherry picked from commit fc0d2aeeff)
2024-01-23 06:27:59 +00:00
Rohit Waghchaure
c76145985d fix: UX improvements for Serial and Batch Bundle
(cherry picked from commit 5d94f0bde5)
2024-01-23 06:27:59 +00:00
rohitwaghchaure
a6b4d5b101 Merge pull request #39492 from frappe/mergify/bp/version-15-hotfix/pr-39488
fix: UOM needs to be whole number not being checked in quotations (backport #39488)
2024-01-23 11:54:54 +05:30
Rohit Waghchaure
c7d5857014 fix: UOM needs to be whole number not being checked in quotations
(cherry picked from commit aaf83da3e9)
2024-01-22 11:55:29 +00:00
Gursheen Kaur Anand
b53e072082 Merge pull request #39483 from frappe/mergify/bp/version-15-hotfix/pr-39462
fix: party field in PDF for AP / AR reports (backport #39462)
2024-01-22 17:05:48 +05:30
ruthra kumar
dc88614f89 Merge pull request #39486 from frappe/mergify/bp/version-15-hotfix/pr-39484
refactor: move 'project' set_query to sales_common.js (backport #39484)
2024-01-22 16:48:52 +05:30
ruthra kumar
0acbbefa8b refactor: move 'project' set_query to sales_common.js
(cherry picked from commit 52814724eb)
2024-01-22 10:21:28 +00:00
Gursheen Anand
9a0834987c fix: party field in pdf html
(cherry picked from commit b2d9380596)
2024-01-22 09:51:29 +00:00
ruthra kumar
3e9449d511 Merge pull request #39480 from frappe/mergify/bp/version-15-hotfix/pr-39457
refactor: delete transactions in background (backport #39457)
2024-01-22 10:44:04 +05:30
ruthra kumar
80e3597338 refactor: delete transactions in background
(cherry picked from commit a50808a077)
2024-01-22 04:28:27 +00:00
rohitwaghchaure
3c84d5ec02 Merge pull request #39479 from frappe/mergify/bp/version-15-hotfix/pr-39476
fix: added button to make serial / batch from Purchase Invoice (backport #39476)
2024-01-22 07:36:55 +05:30
Rohit Waghchaure
b0e872aad4 test: fixed test
(cherry picked from commit 63ffce58cc)
2024-01-21 16:53:46 +00:00
Rohit Waghchaure
96e1db80ac fix: added button to make serial / batch from Purchase Invoice
(cherry picked from commit b4393bc03d)
2024-01-21 16:53:46 +00:00
rohitwaghchaure
35d3edfca4 Merge pull request #39477 from frappe/mergify/bp/version-15-hotfix/pr-39475
fix: key error during reposting (backport #39475)
2024-01-21 22:23:26 +05:30
Rohit Waghchaure
b4981f8816 fix: key error during reposting
(cherry picked from commit ebc8230d45)
2024-01-21 14:22:36 +00:00
Gursheen Kaur Anand
7c666435a2 Merge pull request #39474 from frappe/mergify/bp/version-15-hotfix/pr-39229
fix: use most reliable section reference per report line (backport #39229)
2024-01-21 14:23:12 +05:30
David Arnold
b388adcb2e fix: use most reliable section reference per report line
(cherry picked from commit b5be17c6df)
2024-01-21 08:14:55 +00:00
Gursheen Kaur Anand
3ba413a150 Merge pull request #39471 from frappe/mergify/bp/version-15-hotfix/pr-39424
Revert "fix(minor): financial statements period end date" (backport #39424)
2024-01-20 18:51:34 +05:30
Gursheen Kaur Anand
ddb84d9036 Revert "fix(minor): financial statements period end date"
(cherry picked from commit 73625a2622)
2024-01-20 12:29:27 +00:00
mergify[bot]
00a3ee313b refactor(UX): Accounts workspace cleanup (backport #39232) (#39456)
* refactor(UX): Accounts workspace cleanup (#39232)

* refactor(UX): Accounts workspace cleanup

* chore: move asset workspace outside accounting

* fix: remove redundant links from parent workspace

* chore: change icons for payable & receivable workspaces

* chore: remove redundant links from subworkspaces

(cherry picked from commit 35067282cf)

* chore: fix conflicts

---------

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2024-01-19 12:40:25 +05:30
Gursheen Kaur Anand
f8d7ca515c Merge pull request #39451 from frappe/mergify/bp/version-15-hotfix/pr-39449
fix: unallocated amount after taxes and charges (backport #39449)
2024-01-19 10:57:35 +05:30
Frappe PR Bot
550213b4f4 chore(release): Bumped to Version 15.10.3
## [15.10.3](https://github.com/frappe/erpnext/compare/v15.10.2...v15.10.3) (2024-01-19)

### Bug Fixes

* duplicate name error while making variant ([0c222aa](0c222aa504))
2024-01-19 00:44:51 +00:00
rohitwaghchaure
a962657c7b Merge pull request #39444 from frappe/mergify/bp/version-15/pr-39443
fix: duplicate name error while making variant (backport #39436) (backport #39443)
2024-01-19 06:13:35 +05:30
Gursheen Anand
86f3f62e00 fix: linting issue
(cherry picked from commit 99b94af49f)
2024-01-18 10:45:49 +00:00
Gursheen Anand
74613c7fe8 fix: set unallocated amount after base tax
(cherry picked from commit e9bc63aacf)
2024-01-18 10:45:49 +00:00
Rohit Waghchaure
0c222aa504 fix: duplicate name error while making variant
(cherry picked from commit d7e6b83e64)
(cherry picked from commit b649c50ecc)
2024-01-18 01:24:00 +00:00
rohitwaghchaure
3244ef3a68 Merge pull request #39443 from frappe/mergify/bp/version-15-hotfix/pr-39436
fix: duplicate name error while making variant (backport #39436)
2024-01-18 06:52:17 +05:30
Rohit Waghchaure
b649c50ecc fix: duplicate name error while making variant
(cherry picked from commit d7e6b83e64)
2024-01-18 01:21:52 +00:00
Frappe PR Bot
d5c26efb8c chore(release): Bumped to Version 15.10.2
## [15.10.2](https://github.com/frappe/erpnext/compare/v15.10.1...v15.10.2) (2024-01-17)

### Bug Fixes

* added indexing to improve performance ([50fe419](50fe4191d3))
* added item group in stock reco ([eec6c25](eec6c25f9e))
* Asset module tests ([9e33216](9e33216c24))
* asset WDV depreciation calc according to IT act ([2448ba6](2448ba6bc4))
* batches not coming correctly in the batch selector ([1394a1c](1394a1c5e9))
* broken dimension filters in Sales/Purchase register ([04037b7](04037b7e38))
* Cancel asset capitalisation record on cancellation of asset and vice-versa ([011c5a6](011c5a69f0))
* circular dependency error while deleting QC ([7ca8e49](7ca8e49b38))
* composite asset capitalization using asset components ([8bc8bc1](8bc8bc1822))
* consider all years in holiday list ([21eed78](21eed78fa1))
* consistency in display reserved_stock checkbox on Sales Order Item according global settings and item.is_stock_item (backport [#38322](https://github.com/frappe/erpnext/issues/38322)) ([#39417](https://github.com/frappe/erpnext/issues/39417)) ([53f61f1](53f61f1ad1))
* date in master document for dictionary condition ([9aae439](9aae439b1f))
* fetch name for fy ([53208df](53208dfb3e))
* Ignore default payment terms template for opening invoices ([5dc2e80](5dc2e80987))
* incorrect percentage received in purchase invoice ([758b9b8](758b9b8a81))
* incorrect sql error if account name has '%' ([b43f703](b43f70325c))
* modified date ([cd870ee](cd870ee30c))
* modified date ([f048017](f0480173fb))
* modified date was not set ([2dc8686](2dc8686a81))
* modified date was not updated ([61595c7](61595c7ede))
* performance issue related to stock entry (backport [#39301](https://github.com/frappe/erpnext/issues/39301)) ([#39303](https://github.com/frappe/erpnext/issues/39303)) ([d882305](d882305c72))
* permission issue for the BIN ([8816b27](8816b2740a))
* possible typerror in utils.js ([80956b7](80956b7956))
* project filters on Delivery Note and Sales Order ([a51f956](a51f956f3e))
* project query controller logic ([07e2901](07e2901e4b))
* reset default after test ([e6f3a14](e6f3a14289))
* SBB Total Qty validation for SE ([ca18853](ca18853785))
* test for asset depreciation ([ff1647a](ff1647a1d2))
* **test:** test case for project query ([1b8f572](1b8f572e80))
* unreconcile Bank Transaction on cancel of payment voucher ([16860c2](16860c228d))
* Update subscription period ([e219042](e219042304))
* use child table values instead of global min max ([04c96dd](04c96ddc6c))
* WDV as per IT Act: calculate yearly amount first and then split it based on months ([e3cd35b](e3cd35b959))
2024-01-17 17:06:29 +00:00
Deepesh Garg
e00533ff4e Merge pull request #39405 from frappe/version-15-hotfix
chore: release v15
2024-01-17 22:34:57 +05:30
Nabin Hait
6509548474 Merge pull request #39438 from frappe/mergify/bp/version-15-hotfix/pr-39429
fix: composite asset capitalization using asset components (backport #39429)
2024-01-17 22:13:50 +05:30
mergify[bot]
c8b3478fe1 Merge branch 'version-15-hotfix' into mergify/bp/version-15-hotfix/pr-39429 2024-01-17 16:26:04 +00:00
Nabin Hait
f453aaeab0 Merge pull request #39439 from nabinhait/test-case-fix-asset-depr
fix: test for asset depreciation
2024-01-17 21:54:55 +05:30
Nabin Hait
ff1647a1d2 fix: test for asset depreciation 2024-01-17 21:53:00 +05:30
Nabin Hait
8bc8bc1822 fix: composite asset capitalization using asset components
(cherry picked from commit 5df40661d2)
2024-01-17 15:36:04 +00:00
Nabin Hait
9f86b92eb7 Merge pull request #39431 from frappe/mergify/bp/version-15-hotfix/pr-39427
fix: Asset module tests (backport #39427)
2024-01-17 17:38:46 +05:30
Nabin Hait
04c8e9b355 Merge pull request #39422 from frappe/mergify/bp/version-15-hotfix/pr-39386
fix: Cancel asset capitalisation record on cancellation of asset and vice-versa (backport #39386)
2024-01-17 17:33:21 +05:30
Nabin Hait
fbfd0a6db0 Merge pull request #39420 from frappe/mergify/bp/version-15-hotfix/pr-39385
fix: WDV as per IT Act: calculate yearly amount first and then split it based on months (backport #39385)
2024-01-17 17:29:12 +05:30
Nabin Hait
9e33216c24 fix: Asset module tests
(cherry picked from commit 97f69986ff)
2024-01-17 11:56:41 +00:00
Deepesh Garg
62f7d984be Merge pull request #39425 from frappe/mergify/bp/version-15-hotfix/pr-39423
fix: Update subscription period (#39423)
2024-01-17 15:03:51 +05:30
Deepesh Garg
e219042304 fix: Update subscription period
(cherry picked from commit 7eefedfb11)
2024-01-17 07:28:57 +00:00
Nabin Hait
011c5a69f0 fix: Cancel asset capitalisation record on cancellation of asset and vice-versa
(cherry picked from commit efe9f6656f)
2024-01-17 06:45:39 +00:00
Nabin Hait
e3cd35b959 fix: WDV as per IT Act: calculate yearly amount first and then split it based on months
(cherry picked from commit 22bd6a54b2)
2024-01-17 06:44:26 +00:00
mergify[bot]
53f61f1ad1 fix: consistency in display reserved_stock checkbox on Sales Order Item according global settings and item.is_stock_item (backport #38322) (#39417)
fix: consistency in display reserved_stock checkbox on Sales Order Item according global settings and item.is_stock_item (#38322)

* fix: consistency in display reserved_stock checkbox on Sales Order Item according global settings and item.is_stock_item

* fix: evaluate depends_on for fdata visibility in grid

* fix: evaluate depends_on for fdata visibility in grid

* chore: change after review

* chore: change for review

(cherry picked from commit af80d253db)

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
2024-01-17 10:45:57 +05:30
rohitwaghchaure
c939aa5cf8 Merge pull request #39409 from frappe/mergify/bp/version-15-hotfix/pr-39406
fix: permission issue for the Bin (backport #39406)
2024-01-16 16:55:50 +05:30
ruthra kumar
93a861fac5 Merge pull request #39412 from frappe/mergify/bp/version-15-hotfix/pr-39402
fix: project query controller logic (backport #39402)
2024-01-16 16:49:56 +05:30
ruthra kumar
5a65a10dba refactor: better ordering of query result
(cherry picked from commit bfe42fdccb)
2024-01-16 10:55:36 +00:00
ruthra kumar
1b8f572e80 fix(test): test case for project query
(cherry picked from commit 3349dde5e2)
2024-01-16 10:55:36 +00:00
ruthra kumar
07e2901e4b fix: project query controller logic
(cherry picked from commit 4eefb445a7)
2024-01-16 10:55:35 +00:00
Rohit Waghchaure
8816b2740a fix: permission issue for the BIN
(cherry picked from commit 6e4d4a55cd)
2024-01-16 10:22:22 +00:00
ruthra kumar
bcf8053fd9 Merge pull request #39383 from frappe/mergify/bp/version-15-hotfix/pr-39332
refactor: prevent foreign currency subscription for a party (backport #39332)
2024-01-16 11:19:37 +05:30
ruthra kumar
cd1820f680 refactor(test): set default currency for party 2024-01-16 10:47:51 +05:30
ruthra kumar
235e3893a0 Merge pull request #39393 from frappe/mergify/bp/version-15-hotfix/pr-39391
fix: possible typerror in utils.js (backport #39391)
2024-01-15 20:49:48 +05:30
ruthra kumar
80956b7956 fix: possible typerror in utils.js
and remove unwanted debugging statements

(cherry picked from commit 60b26ad8b2)
2024-01-15 15:16:51 +00:00
Nabin Hait
9897c26ae6 Merge pull request #39285 from frappe/mergify/bp/version-15-hotfix/pr-39052
fix: asset WDV depreciation calc according to IT act [dev] (backport #39052)
2024-01-15 16:58:45 +05:30
ruthra kumar
32afe7de31 refactor(test): supply default currency for subscription plans
(cherry picked from commit 1387b0ba7f)
2024-01-15 09:36:50 +00:00
ruthra kumar
c288db0356 refactor: making currency mandatory for subcscription plans
(cherry picked from commit 19975dcb7b)
2024-01-15 09:36:50 +00:00
ruthra kumar
61f073f8b1 refactor: prevent foreign currency subscription for a party
(cherry picked from commit 6b5fa2c673)
2024-01-15 09:36:49 +00:00
Frappe PR Bot
8a356cbe51 chore(release): Bumped to Version 15.10.1
## [15.10.1](https://github.com/frappe/erpnext/compare/v15.10.0...v15.10.1) (2024-01-15)

### Bug Fixes

* SBB Total Qty validation for SE (backport [#39335](https://github.com/frappe/erpnext/issues/39335)) (backport [#39348](https://github.com/frappe/erpnext/issues/39348)) ([#39353](https://github.com/frappe/erpnext/issues/39353)) ([b8f4c31](b8f4c3193a))
2024-01-15 06:47:45 +00:00
mergify[bot]
1503ba92e3 ci: bump node in release workflow (backport #39377) (backport #39378) (#39380)
ci: bump node in release workflow (backport #39377) (#39378)

* ci: bump node in release workflow

(cherry picked from commit aef87cced7)

# Conflicts:
#	.github/workflows/release.yml

* chore: `conflicts`

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
(cherry picked from commit e282ba78c1)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-01-15 12:12:35 +05:30
mergify[bot]
e282ba78c1 ci: bump node in release workflow (backport #39377) (#39378)
* ci: bump node in release workflow

(cherry picked from commit aef87cced7)

# Conflicts:
#	.github/workflows/release.yml

* chore: `conflicts`

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-01-15 12:08:44 +05:30
ruthra kumar
1b8b92b8d7 Merge pull request #39376 from frappe/mergify/bp/version-15-hotfix/pr-39336
refactor: disallow bank transactions on different currencies (backport #39336)
2024-01-15 10:41:26 +05:30
ruthra kumar
f2e19ca6fd Merge pull request #39375 from frappe/mergify/bp/version-15-hotfix/pr-39371
fix: incorrect sql error if account name has '%' (backport #39371)
2024-01-15 10:40:54 +05:30
ruthra kumar
32c6111728 refactor(test): supply default currency to Bank Transaction
(cherry picked from commit a27a4db3de)
2024-01-15 04:32:46 +00:00
ruthra kumar
f609b8ae5d refactor: better error message
(cherry picked from commit b4354cbc8d)
2024-01-15 04:32:46 +00:00
ruthra kumar
dbbba046ab refactor: disallow bank transactions on different currencies
(cherry picked from commit cdd0acc672)
2024-01-15 04:32:45 +00:00
ruthra kumar
b43f70325c fix: incorrect sql error if account name has '%'
(cherry picked from commit 641c3de0ca)
2024-01-15 04:10:40 +00:00
rohitwaghchaure
3f5b1bcd05 Merge pull request #39373 from frappe/mergify/bp/version-15-hotfix/pr-39372
fix: batches not coming correctly in the batch selector (backport #39372)
2024-01-15 06:34:11 +05:30
Rohit Waghchaure
1394a1c5e9 fix: batches not coming correctly in the batch selector
(cherry picked from commit 114f2b4326)
2024-01-14 18:19:30 +00:00
Deepesh Garg
7ca9ffbaa7 Merge pull request #39329 from frappe/mergify/bp/version-15-hotfix/pr-38974
fix: unreconciled Bank Transaction on cancel of payment voucher (#38974)
2024-01-14 17:55:32 +05:30
rohitwaghchaure
137ce76a35 Merge pull request #39369 from frappe/mergify/bp/version-15-hotfix/pr-39224
Update purchase_taxes_and_charges.json label Rate to Tax Rate (backport #39224)
2024-01-14 11:59:41 +05:30
rohitwaghchaure
cd870ee30c fix: modified date
(cherry picked from commit 6827edb2c5)
2024-01-14 05:57:45 +00:00
rohitwaghchaure
2dc8686a81 fix: modified date was not set
(cherry picked from commit 566876ae7a)
2024-01-14 05:57:44 +00:00
mahsem
6bdf944ecf Update purchase_taxes_and_charges.json label Rate to Tax Rate
Change Rate label to existing Tax Rate label so it can be correctly translated in other languages

(cherry picked from commit bd464197c4)
2024-01-14 05:57:44 +00:00
rohitwaghchaure
9842fb5b64 Merge pull request #39361 from frappe/mergify/bp/version-15-hotfix/pr-39225
Update sales_taxes_and_charges.json (backport #39225)
2024-01-14 11:24:20 +05:30
rohitwaghchaure
c548c57207 Merge pull request #39365 from frappe/mergify/bp/version-15-hotfix/pr-39359
fix: added item group in stock reco (backport #39359)
2024-01-14 11:24:00 +05:30
rohitwaghchaure
cb326ac0db Merge pull request #39362 from rohitwaghchaure/fixed-closing-stock-balance-field-issue
chore: removed extra field
2024-01-14 10:44:47 +05:30
rohitwaghchaure
f0480173fb fix: modified date 2024-01-14 10:43:34 +05:30
Rohit Waghchaure
eec6c25f9e fix: added item group in stock reco
(cherry picked from commit 116ff8241c)
2024-01-14 04:58:42 +00:00
Rohit Waghchaure
bf4e514cde chore: removed extra field 2024-01-14 10:21:38 +05:30
rohitwaghchaure
61595c7ede fix: modified date was not updated
(cherry picked from commit f567af49a6)
2024-01-14 04:46:29 +00:00
mahsem
d510b46f13 Update sales_taxes_and_charges.json
Change Rate label to existing Tax Rate label so it can be correctly translated in other languages

(cherry picked from commit 2b93be1139)
2024-01-14 04:46:29 +00:00
rohitwaghchaure
15e116375b Merge pull request #39325 from frappe/mergify/bp/version-15-hotfix/pr-39305
fix: naming series variable parsing for FY (backport #39305)
2024-01-14 09:39:06 +05:30
mergify[bot]
b8f4c3193a fix: SBB Total Qty validation for SE (backport #39335) (backport #39348) (#39353)
fix: SBB Total Qty validation for SE

(cherry picked from commit c20241fcb5)
(cherry picked from commit ca18853785)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-01-13 10:25:53 +05:30
rohitwaghchaure
832aa5f5ab Merge pull request #39348 from frappe/mergify/bp/version-15-hotfix/pr-39335
fix: SBB Total Qty validation for SE (backport #39335)
2024-01-12 21:19:26 +05:30
s-aga-r
ca18853785 fix: SBB Total Qty validation for SE
(cherry picked from commit c20241fcb5)
2024-01-12 15:30:36 +00:00
rohitwaghchaure
049864e7a2 Merge pull request #39342 from frappe/mergify/bp/version-15-hotfix/pr-38970
fix: use local attribute range in multiple item variant dialog (backport #38970)
2024-01-12 20:57:14 +05:30
rohitwaghchaure
62db0d77ca Merge pull request #39345 from frappe/mergify/bp/version-15-hotfix/pr-39333
fix: added indexing to improve performance (backport #39333)
2024-01-12 20:55:57 +05:30
Rohit Waghchaure
50fe4191d3 fix: added indexing to improve performance
(cherry picked from commit ac81323fec)
2024-01-12 13:10:47 +00:00
Gursheen Anand
04c96ddc6c fix: use child table values instead of global min max
(cherry picked from commit 43fed29514)
2024-01-12 13:08:31 +00:00
mergify[bot]
d7840559a0 chore: remove share, print and email permissions from Buying Settings (backport #39337) (#39339)
chore: remove share, print and email permissions from Buying Settings

(cherry picked from commit 3c46abca6c)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-01-12 16:49:00 +05:30
Raffael Meyer
6f06313023 Merge pull request #39327 from frappe/mergify/bp/version-15-hotfix/pr-39117
fix: consider all years in holiday list (backport #39117)
2024-01-11 15:04:29 +01:00
barredterra
6b2e3503d9 chore: resolve merge confilcts 2024-01-11 14:56:20 +01:00
barredterra
b2fc5e4988 test: cancel voucher linked to Bank Transaction
(cherry picked from commit 517bedeb7e)
2024-01-11 13:37:48 +00:00
barredterra
16860c228d fix: unreconcile Bank Transaction on cancel of payment voucher
(cherry picked from commit 0a95b38166)

# Conflicts:
#	erpnext/accounts/doctype/bank_transaction/bank_transaction.py
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.js
2024-01-11 13:37:48 +00:00
barredterra
8a84f8a465 test: improve test for local holidays
(cherry picked from commit 60329ade9e)
2024-01-11 13:29:01 +00:00
barredterra
21eed78fa1 fix: consider all years in holiday list
(cherry picked from commit 300aaa39fe)
2024-01-11 13:29:00 +00:00
Gursheen Anand
e6f3a14289 fix: reset default after test
(cherry picked from commit 813b7a96fb)
2024-01-11 13:27:13 +00:00
Gursheen Anand
2beb3f8718 test: naming series variable parsing
(cherry picked from commit bbdf98a8f0)
2024-01-11 13:27:06 +00:00
Gursheen Anand
9aae439b1f fix: date in master document for dictionary condition
(cherry picked from commit d96a777edd)
2024-01-11 13:27:02 +00:00
Nabin Hait
b748095589 Merge pull request #39220 from frappe/mergify/bp/version-15-hotfix/pr-39202
fix: parse naming series with FY name (backport #39202)
2024-01-11 18:24:34 +05:30
ruthra kumar
7bd2acdef1 Merge pull request #39323 from frappe/mergify/bp/version-15-hotfix/pr-39212
fix: project filters on Delivery Note and Sales Order (backport #39212)
2024-01-11 18:07:12 +05:30
ruthra kumar
a51f956f3e fix: project filters on Delivery Note and Sales Order
(cherry picked from commit 9ba6ff67d5)
2024-01-11 12:34:43 +00:00
ruthra kumar
494c26e48a Merge pull request #39319 from frappe/mergify/bp/version-15-hotfix/pr-39317
fix: broken dimension filters in Sales/Purchase register (backport #39317)
2024-01-11 17:12:35 +05:30
Deepesh Garg
da7b2febe0 Merge pull request #39295 from frappe/mergify/bp/version-15-hotfix/pr-39256
fix: Ignore default payment terms template for opening invoices (#39256)
2024-01-11 17:06:53 +05:30
ruthra kumar
04037b7e38 fix: broken dimension filters in Sales/Purchase register
(cherry picked from commit 7b3f9386d7)
2024-01-11 11:20:43 +00:00
rohitwaghchaure
484db65797 Merge pull request #39315 from frappe/mergify/bp/version-15-hotfix/pr-39215
fix: incorrect percentage received in purchase invoice (backport #39215)
2024-01-11 15:14:44 +05:30
rohitwaghchaure
3f4cf15def Merge pull request #39312 from frappe/mergify/bp/version-15-hotfix/pr-39299
fix: circular dependency error on deletion of QC and Stock Entry (backport #39299)
2024-01-11 15:14:34 +05:30
Rohit Waghchaure
758b9b8a81 fix: incorrect percentage received in purchase invoice
(cherry picked from commit 8d2c78867e)
2024-01-11 09:21:41 +00:00
Rohit Waghchaure
7ca8e49b38 fix: circular dependency error while deleting QC
(cherry picked from commit 7cc324e31e)
2024-01-11 09:20:42 +00:00
mergify[bot]
d882305c72 fix: performance issue related to stock entry (backport #39301) (#39303)
fix: performance issue related to stock entry (#39301)

(cherry picked from commit c67b0a3a64)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-10 22:18:16 +05:30
Deepesh Garg
5dc2e80987 fix: Ignore default payment terms template for opening invoices
(cherry picked from commit 53bf44d2b8)
2024-01-10 10:37:45 +00:00
Frappe PR Bot
1dc85fcaf8 chore(release): Bumped to Version 15.10.0
# [15.10.0](https://github.com/frappe/erpnext/compare/v15.9.1...v15.10.0) (2024-01-10)

### Bug Fixes

* add expected_start_date in sort by ([b064944](b064944753))
* Add name to Hungary - Chart of Accounts for Microenterprises json ([0784488](0784488eec))
* add read permission to Buying Settings ([e62dd0d](e62dd0d7cb))
* bank transction status upon reconciliation ([277aa7b](277aa7bc2b))
* BOM replace tool does not update exploded items of root (backport [#39244](https://github.com/frappe/erpnext/issues/39244)) ([#39250](https://github.com/frappe/erpnext/issues/39250)) ([0898ea5](0898ea5d92))
* Creating Asset Activity while Importing Asset ([#39113](https://github.com/frappe/erpnext/issues/39113)) ([5e46937](5e4693763a))
* don't set rate for non-stock item in Internal Transfer (backport [#39140](https://github.com/frappe/erpnext/issues/39140)) ([#39169](https://github.com/frappe/erpnext/issues/39169)) ([f3882a8](f3882a854f))
* Duplicate Closing Stock Balance (backport [#39262](https://github.com/frappe/erpnext/issues/39262)) ([#39264](https://github.com/frappe/erpnext/issues/39264)) ([78c65f2](78c65f27b0))
* duplicate entry for serial / batch creation (backport [#39188](https://github.com/frappe/erpnext/issues/39188)) ([#39192](https://github.com/frappe/erpnext/issues/39192)) ([672e6d6](672e6d6d06))
* **Employee:** treeview ([#39126](https://github.com/frappe/erpnext/issues/39126)) ([6020c8e](6020c8e8f7))
* FG Item incorrect qty in the work order (backport [#39200](https://github.com/frappe/erpnext/issues/39200)) ([#39211](https://github.com/frappe/erpnext/issues/39211)) ([abc99f8](abc99f84e9))
* flaky demo test case (backport [#39135](https://github.com/frappe/erpnext/issues/39135)) ([#39198](https://github.com/frappe/erpnext/issues/39198)) ([3caf462](3caf462c6b))
* Ignore asset qty and status validation while cancelling LCV ([87d1b0f](87d1b0f476))
* ignore cancelled payments in Sales/Purchase Register ([9e1b443](9e1b443857))
* Ignore UP on "allowed to transact with" ([#39103](https://github.com/frappe/erpnext/issues/39103)) ([aad39cf](aad39cf686))
* improved validation message ([e89dce7](e89dce726b))
* incorrect indicator title for portal sales order (backport [#39247](https://github.com/frappe/erpnext/issues/39247)) ([#39255](https://github.com/frappe/erpnext/issues/39255)) ([9f793b9](9f793b9b28))
* incorrect outstanding amt validation on advance as liability ([51d8a7a](51d8a7a0c1))
* Introduced company field to show amounts in company currency ([1d2e831](1d2e831846))
* inventory dimension negative stock validation (backport [#39149](https://github.com/frappe/erpnext/issues/39149)) ([#39151](https://github.com/frappe/erpnext/issues/39151)) ([82b96d3](82b96d3688))
* possible key error on Financial ratios report ([16269b0](16269b0730))
* possible typeerror on transaction.js ([fec892c](fec892c211))
* projects website list visible for guests and all logged in customers (backport [#39164](https://github.com/frappe/erpnext/issues/39164)) ([#39273](https://github.com/frappe/erpnext/issues/39273)) ([5d6bc96](5d6bc96375)), closes [#39009](https://github.com/frappe/erpnext/issues/39009)
* Purchase date and amount is not mandatory for composite asset creation ([d6d54ed](d6d54ed220))
* Resolved conflict ([afefae0](afefae08af))
* serial / batch barcode scanner (backport [#39114](https://github.com/frappe/erpnext/issues/39114)) ([#39143](https://github.com/frappe/erpnext/issues/39143)) ([2db1e1a](2db1e1a737))
* Set asset purchase amount based on qty and valuation_rate ([f0070b4](f0070b4046))
* set parent doctype on chart (backport [#39286](https://github.com/frappe/erpnext/issues/39286)) ([#39288](https://github.com/frappe/erpnext/issues/39288)) ([fe973a4](fe973a4b53))
* Show maintain-stock and is-fixed-asset checkbox in item quick entry dialog ([50300b9](50300b9be6))
* Show timesheet table after fetching data from timesheet (backport [#39275](https://github.com/frappe/erpnext/issues/39275)) ([#39281](https://github.com/frappe/erpnext/issues/39281)) ([2598f8e](2598f8e7ec))
* skip rate validation for return `DN Items` with `Moving Average` valuation (backport [#39242](https://github.com/frappe/erpnext/issues/39242)) ([#39266](https://github.com/frappe/erpnext/issues/39266)) ([f00a6f6](f00a6f6c59))
* Subscription update patch ([7640fea](7640feaaa7))
* total allocated percentage for sales team issue ([756c062](756c062733))
* TypeError is pricing rules (backport [#39252](https://github.com/frappe/erpnext/issues/39252)) ([#39260](https://github.com/frappe/erpnext/issues/39260)) ([bb6025c](bb6025ca26))
* typerror on multi select dialog ([54a0df5](54a0df5164))
* update Maintenance Schedule status on Maintenance Visit submit (backport [#39167](https://github.com/frappe/erpnext/issues/39167)) ([#39186](https://github.com/frappe/erpnext/issues/39186)) ([926850d](926850d1f6))
* update status on manual allocation ([a147e29](a147e2954f))
* **UX:** dont override framework's permission check messages (backport [#39118](https://github.com/frappe/erpnext/issues/39118)) ([#39120](https://github.com/frappe/erpnext/issues/39120)) ([40ec5ff](40ec5ff90f))

### Features

* provision to close SCO (backport [#39127](https://github.com/frappe/erpnext/issues/39127)) ([#39144](https://github.com/frappe/erpnext/issues/39144)) ([b192ddd](b192ddd13b))
2024-01-10 10:36:08 +00:00
Deepesh Garg
e4e3313a0e Merge pull request #39245 from frappe/version-15-hotfix
chore: release v15
2024-01-10 16:04:56 +05:30
mergify[bot]
2598f8e7ec fix: Show timesheet table after fetching data from timesheet (backport #39275) (#39281)
fix: Show timesheet table after fetching data from timesheet

(cherry picked from commit e1ba5878a3)

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2024-01-10 12:33:24 +05:30
mergify[bot]
fe973a4b53 fix: set parent doctype on chart (backport #39286) (#39288)
fix: set parent doctype on chart (#39286)

(cherry picked from commit 38c5ecf007)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2024-01-10 12:27:16 +05:30
anandbaburajan
2448ba6bc4 fix: asset WDV depreciation calc according to IT act
(cherry picked from commit 026824880d)
2024-01-10 06:48:06 +00:00
Nabin Hait
f82125144a Merge pull request #39190 from frappe/mergify/bp/version-15-hotfix/pr-39163
fix: Purchase information is not required for creating a composite asset (backport #39163)
2024-01-10 12:15:02 +05:30
Nabin Hait
38c1350018 Merge pull request #39279 from frappe/mergify/bp/version-15-hotfix/pr-39191
fix: Ignore asset qty and status validation while cancelling LCV (backport #39191)
2024-01-10 12:14:45 +05:30
Nabin Hait
24cfcf36e4 Merge pull request #39276 from frappe/mergify/bp/version-15-hotfix/pr-39238
fix: Set asset purchase amount based on qty and valuation_rate (backport #39238)
2024-01-10 12:14:10 +05:30
Nabin Hait
0c0be03e90 Merge pull request #39218 from frappe/mergify/bp/version-15-hotfix/pr-39214
fix: Show maintain-stock and is-fixed-asset checkbox in item quick entry dialog (backport #39214)
2024-01-10 12:12:32 +05:30
ruthra kumar
cd57bbc3d0 Merge pull request #39284 from frappe/mergify/bp/version-15-hotfix/pr-39282
fix: possible typeerror on transaction.js (backport #39282)
2024-01-10 12:00:43 +05:30
Nabin Hait
afefae08af fix: Resolved conflict 2024-01-10 11:59:54 +05:30
ruthra kumar
fec892c211 fix: possible typeerror on transaction.js
(cherry picked from commit 9f27ac142b)
2024-01-10 06:24:46 +00:00
Nabin Hait
87d1b0f476 fix: Ignore asset qty and status validation while cancelling LCV
(cherry picked from commit e9d36242ce)
2024-01-10 06:04:19 +00:00
Nabin Hait
f0070b4046 fix: Set asset purchase amount based on qty and valuation_rate
(cherry picked from commit 135e19d0aa)
2024-01-10 06:03:01 +00:00
mergify[bot]
5d6bc96375 fix: projects website list visible for guests and all logged in customers (backport #39164) (#39273)
fix: projects website list visible for guests and all logged in customers (#39164)

* fix: projects website list visible for guests

fix: projects website list visible for guests and all logged in customers

see the issue for details

fixes issue #39009

* fix: remove user = frappe.session.user

(cherry picked from commit eabf706f37)

Co-authored-by: 0xD0M1M0 <76812428+0xD0M1M0@users.noreply.github.com>
2024-01-10 10:45:45 +05:30
Raffael Meyer
4fa978ef1f test: fix wrong fieldname (#39270) 2024-01-10 10:32:01 +05:30
mergify[bot]
f00a6f6c59 fix: skip rate validation for return DN Items with Moving Average valuation (backport #39242) (#39266)
fix: skip rate validation for return `DN Items` with `Moving Average` valuation

(cherry picked from commit e0ad52b500)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-01-09 22:02:20 +05:30
mergify[bot]
78c65f27b0 fix: Duplicate Closing Stock Balance (backport #39262) (#39264)
fix: Duplicate Closing Stock Balance

(cherry picked from commit b15795392b)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-01-09 20:37:38 +05:30
Raffael Meyer
a326876cc5 Merge pull request #39258 from frappe/mergify/bp/version-15-hotfix/pr-39158
fix: add read permission to Buying Settings (backport #39158)
2024-01-09 13:34:56 +01:00
mergify[bot]
9f793b9b28 fix: incorrect indicator title for portal sales order (backport #39247) (#39255)
fix: incorrect indicator title for portal sales order (#39247)

(cherry picked from commit 2d2ff7cf52)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-09 17:42:27 +05:30
mergify[bot]
bb6025ca26 fix: TypeError is pricing rules (backport #39252) (#39260)
fix: TypeError is pricing rules (#39252)

(cherry picked from commit 274c65c451)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-09 17:41:53 +05:30
ruthra kumar
4ad61fc3a5 Merge pull request #39253 from frappe/mergify/bp/version-15-hotfix/pr-39251
fix: update status on manual allocation (backport #39251)
2024-01-09 16:36:35 +05:30
s-aga-r
e62dd0d7cb fix: add read permission to Buying Settings
(cherry picked from commit e05bf9d32a)
2024-01-09 10:44:21 +00:00
ruthra kumar
a147e2954f fix: update status on manual allocation
(cherry picked from commit d32a407e08)
2024-01-09 10:29:36 +00:00
mergify[bot]
0898ea5d92 fix: BOM replace tool does not update exploded items of root (backport #39244) (#39250)
fix: BOM replace tool does not update exploded items of root (#39244)

(cherry picked from commit 5e0d017497)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-09 15:59:12 +05:30
ruthra kumar
d0688e7a55 Merge pull request #39241 from frappe/mergify/bp/version-15-hotfix/pr-39237
fix: sales team commission overallocation on fetching items from multiple quotations to Sales Order (backport #39237)
2024-01-09 14:40:24 +05:30
ruthra kumar
756c062733 fix: total allocated percentage for sales team issue
(cherry picked from commit b498094a97)
2024-01-09 07:39:28 +00:00
ruthra kumar
ec7a60bd02 Merge pull request #39234 from frappe/mergify/bp/version-15-hotfix/pr-39196
fix: bank transaction status upon reconciliation (backport #39196)
2024-01-09 11:57:50 +05:30
ruthra kumar
53eb6129ea refactor: remove 'Bank Trasaction' logic from status_update
(cherry picked from commit cf988434e9)
2024-01-09 05:51:38 +00:00
ruthra kumar
277aa7bc2b fix: bank transction status upon reconciliation
(cherry picked from commit 6de8c18f98)
2024-01-09 05:51:37 +00:00
Nabin Hait
97a51487c1 Merge pull request #39219 from frappe/mergify/bp/version-15-hotfix/pr-39209
fix: Introduced company field to show amounts in company currency (backport #39209)
2024-01-08 21:53:16 +05:30
Gursheen Anand
53208dfb3e fix: fetch name for fy
(cherry picked from commit d0ea598cdf)
2024-01-08 16:22:58 +00:00
Nabin Hait
1d2e831846 fix: Introduced company field to show amounts in company currency
(cherry picked from commit eab22eb282)
2024-01-08 16:09:42 +00:00
Nabin Hait
50300b9be6 fix: Show maintain-stock and is-fixed-asset checkbox in item quick entry dialog
(cherry picked from commit c14986f9e6)
2024-01-08 16:07:23 +00:00
mergify[bot]
abc99f84e9 fix: FG Item incorrect qty in the work order (backport #39200) (#39211)
fix: FG Item incorrect qty in the work order (#39200)

(cherry picked from commit 466625213b)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-08 18:18:32 +05:30
mergify[bot]
3caf462c6b fix: flaky demo test case (backport #39135) (#39198)
fix: flaky demo test case

(cherry picked from commit 5b1571879c)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-01-08 17:44:24 +05:30
Shariq Ansari
58357f8891 Merge pull request #39206 from frappe/mergify/bp/version-15-hotfix/pr-39204
fix: add expected_start_date in sort by (backport #39204)
2024-01-08 16:37:37 +05:30
Shariq Ansari
8cc9ddaebd chore: linter fix 2024-01-08 16:30:26 +05:30
Shariq Ansari
1f64b8fcd8 chore: linter fix 2024-01-08 16:30:03 +05:30
Shariq Ansari
80a2b79bba chore: linter fix 2024-01-08 16:29:13 +05:30
Shariq Ansari
b064944753 fix: add expected_start_date in sort by
(cherry picked from commit 3d54fd8389)
2024-01-08 10:40:20 +00:00
mergify[bot]
672e6d6d06 fix: duplicate entry for serial / batch creation (backport #39188) (#39192)
fix: duplicate entry for serial / batch creation (#39188)

(cherry picked from commit b96c063c93)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-08 14:21:04 +05:30
mergify[bot]
926850d1f6 fix: update Maintenance Schedule status on Maintenance Visit submit (backport #39167) (#39186)
* fix: make `Sales Person` non-mandatory

(cherry picked from commit 4d56f725fe)

* fix: update Maintenance Schedule status on Maintenance Visit submit

(cherry picked from commit cd293a5173)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-01-08 13:23:12 +05:30
Nabin Hait
d6d54ed220 fix: Purchase date and amount is not mandatory for composite asset creation
(cherry picked from commit c34f09c503)

# Conflicts:
#	erpnext/assets/doctype/asset/asset.py
2024-01-08 06:53:11 +00:00
Nabin Hait
e89dce726b fix: improved validation message
(cherry picked from commit fe43dab4d7)
2024-01-08 06:53:10 +00:00
ruthra kumar
83288fedf1 Merge pull request #39187 from ruthra-kumar/backport_37613
fix: possible key error in Financial Ratio's report
2024-01-08 12:08:13 +05:30
ruthra kumar
16269b0730 fix: possible key error on Financial ratios report 2024-01-08 11:50:13 +05:30
ruthra kumar
f1d25700a8 Merge pull request #39183 from frappe/mergify/bp/version-15-hotfix/pr-39161
refactor: allow sales invoice in Bank Reconciliation tool (backport #39161)
2024-01-08 11:09:42 +05:30
ruthra kumar
00d36d14fb refactor: allow sales invoice in Bank Reconciliation tool
(cherry picked from commit b69cdeb4a6)
2024-01-08 05:02:30 +00:00
ruthra kumar
c912e4c99d Merge pull request #39182 from frappe/mergify/bp/version-15-hotfix/pr-39165
fix: incorrect outstanding amt validation on advance as liability (backport #39165)
2024-01-08 10:31:17 +05:30
ruthra kumar
1eee52c59c Merge pull request #39181 from frappe/mergify/bp/version-15-hotfix/pr-39159
refactor: prevent permission error by always processing bulk transaction in background (backport #39159)
2024-01-08 10:30:48 +05:30
ruthra kumar
51d8a7a0c1 fix: incorrect outstanding amt validation on advance as liability
(cherry picked from commit 4cc3c1b765)
2024-01-08 04:45:03 +00:00
ruthra kumar
f0bc0aa676 refactor: prevent permissions by always processing in background
(cherry picked from commit 15dc5c7e99)
2024-01-08 04:43:11 +00:00
mergify[bot]
f3882a854f fix: don't set rate for non-stock item in Internal Transfer (backport #39140) (#39169)
* fix: don't set rate for non-stock item in Internal Transfer

(cherry picked from commit e1b0fffd0c)

* test: internal transfer for non-stock item

(cherry picked from commit 57b6a98703)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-01-06 11:03:24 +05:30
Aulia Bismar
5e4693763a fix: Creating Asset Activity while Importing Asset (#39113)
* fix: import asset not working on activity

* chore: fix linting issue in asset_activity.py

---------

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2024-01-05 10:46:31 +05:30
mergify[bot]
82b96d3688 fix: inventory dimension negative stock validation (backport #39149) (#39151)
fix: inventory dimension negative stock validation (#39149)

(cherry picked from commit bae7c64964)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-05 05:04:28 +05:30
Raffael Meyer
0454dede92 Merge pull request #39148 from frappe/mergify/bp/version-15-hotfix/pr-39126
fix(Employee): treeview (backport #39126)
2024-01-04 15:24:43 +01:00
Raffael Meyer
6020c8e8f7 fix(Employee): treeview (#39126)
(cherry picked from commit e912e9597d)
2024-01-04 12:34:52 +00:00
mergify[bot]
b192ddd13b feat: provision to close SCO (backport #39127) (#39144)
* feat: provision to close SCO

(cherry picked from commit 5e2669f4b6)

* fix: don't allow to submit/cancel SCR against a closed SCO

(cherry picked from commit 9e973476b2)

* fix: don't allow to submit/cancel SE against a closed SCO

(cherry picked from commit 5bc2035bd0)

* fix(ux): filter closed SCO in `Get Items From` dialog

(cherry picked from commit bb839b2924)

* fix: don't close PO on SCO close

(cherry picked from commit 0d01bd8a5a)

* fix: update qty on SCO status change

(cherry picked from commit 245effcccd)

* fix: don't allow to reopen SCO if PO is closed

(cherry picked from commit 784b6dcfea)

* fix: auto close and reopen SCO based on PO status

(cherry picked from commit 0819675fce)

* fix(text): test_update_status

(cherry picked from commit cdd5441435)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2024-01-04 17:22:58 +05:30
mergify[bot]
2db1e1a737 fix: serial / batch barcode scanner (backport #39114) (#39143)
fix: serial / batch barcode scanner (#39114)

(cherry picked from commit f09e2130a1)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-04 16:02:29 +05:30
Deepesh Garg
7a5a4be02f Merge pull request #39137 from frappe/mergify/bp/version-15-hotfix/pr-39125
fix: ignore cancelled payments in Sales/Purchase Register (#39125)
2024-01-04 11:25:39 +05:30
Deepesh Garg
b834abbd4f Merge pull request #39139 from frappe/mergify/bp/version-15-hotfix/pr-39138
fix: Subscription update patch (#39138)
2024-01-04 11:25:21 +05:30
Deepesh Garg
7640feaaa7 fix: Subscription update patch
(cherry picked from commit 277dade9f9)
2024-01-04 05:54:51 +00:00
ruthra kumar
9e1b443857 fix: ignore cancelled payments in Sales/Purchase Register
(cherry picked from commit 0f1be03faf)
2024-01-04 05:45:52 +00:00
Deepesh Garg
18575e137c Merge pull request #39129 from monolithonadmin/version-15-hotfix
fix: Add name to Hungary - Chart of Accounts for Microenterprises json
2024-01-04 08:42:03 +05:30
Monolithonadmin
0784488eec fix: Add name to Hungary - Chart of Accounts for Microenterprises json 2024-01-03 20:52:30 +01:00
Frappe PR Bot
290397172e chore(release): Bumped to Version 15.9.1
## [15.9.1](https://github.com/frappe/erpnext/compare/v15.9.0...v15.9.1) (2024-01-03)

### Bug Fixes

* typerror on multi select dialog ([5ee6cc4](5ee6cc4bac))
2024-01-03 15:37:59 +00:00
ruthra kumar
e3c473482b Merge pull request #39124 from frappe/mergify/bp/version-15/pr-39116
fix: typerror on multi select dialog (backport #39116)
2024-01-03 21:06:50 +05:30
ruthra kumar
bc529b51dc Merge pull request #39122 from frappe/mergify/bp/version-15-hotfix/pr-39116
fix: typerror on multi select dialog (backport #39116)
2024-01-03 21:06:06 +05:30
ruthra kumar
5ee6cc4bac fix: typerror on multi select dialog
(cherry picked from commit 7da9ffa3bd)
2024-01-03 15:26:21 +00:00
ruthra kumar
54a0df5164 fix: typerror on multi select dialog
(cherry picked from commit 7da9ffa3bd)
2024-01-03 15:25:24 +00:00
mergify[bot]
40ec5ff90f fix(UX): dont override framework's permission check messages (backport #39118) (#39120)
fix(UX): dont override framework's permission check messages (#39118)

(cherry picked from commit e84c9f7c51)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2024-01-03 20:32:52 +05:30
Ankush Menat
aad39cf686 fix: Ignore UP on "allowed to transact with" (#39103)
If a customer is allowed to transact with some company it usually
doesn't imply that customer is somehow "linked with" that company.
2024-01-03 13:13:24 +05:30
Frappe PR Bot
3eac0e907e chore(release): Bumped to Version 15.9.0
# [15.9.0](https://github.com/frappe/erpnext/compare/v15.8.3...v15.9.0) (2024-01-03)

### Bug Fixes

* auto fetch not working if bundle exists (backport [#39002](https://github.com/frappe/erpnext/issues/39002)) ([#39004](https://github.com/frappe/erpnext/issues/39004)) ([2e91934](2e919344df))
* **DX:** capture tracebacks with context (backport [#39060](https://github.com/frappe/erpnext/issues/39060)) ([#39063](https://github.com/frappe/erpnext/issues/39063)) ([8ad7faf](8ad7fafe2a))
* enqueue demo data setup on setup complete (backport [#39043](https://github.com/frappe/erpnext/issues/39043)) ([#39044](https://github.com/frappe/erpnext/issues/39044)) ([d8cf994](d8cf994e94))
* incorrect total when Accumulating values ([7c7c3c9](7c7c3c932f))
* Multiple subscription fixes ([#39005](https://github.com/frappe/erpnext/issues/39005)) ([5158884](5158884dc9))
* non stock uom validation for serial and batch (backport [#39018](https://github.com/frappe/erpnext/issues/39018)) ([#39026](https://github.com/frappe/erpnext/issues/39026)) ([89d1069](89d1069472))
* not able to cancel sales invoice (backport [#38979](https://github.com/frappe/erpnext/issues/38979)) ([#38980](https://github.com/frappe/erpnext/issues/38980)) ([f8625f3](f8625f3eb7))
* on cancellation of document cancel the serial and batch bundle (backport [#39076](https://github.com/frappe/erpnext/issues/39076)) ([#39082](https://github.com/frappe/erpnext/issues/39082)) ([2e0abbd](2e0abbd274))
* Opening balance in bank reconciliation tool ([#38977](https://github.com/frappe/erpnext/issues/38977)) ([e0755f9](e0755f9a9a))
* purchase return without item code not working (backport [#39014](https://github.com/frappe/erpnext/issues/39014)) ([#39015](https://github.com/frappe/erpnext/issues/39015)) ([2a390ac](2a390ac2de))
* remove bad defaults (backport [#38986](https://github.com/frappe/erpnext/issues/38986)) ([#38988](https://github.com/frappe/erpnext/issues/38988)) ([46035ed](46035ed9ca))
* select options should dynamically load dimensions ([21f9001](21f90011bc))
* serial and batch bundle company mandatory error (backport [#38994](https://github.com/frappe/erpnext/issues/38994)) ([#38999](https://github.com/frappe/erpnext/issues/38999)) ([d2580be](d2580be4fd))
* take quantity into account when setting asset's gross purchase amt (backport [#39056](https://github.com/frappe/erpnext/issues/39056)) ([#39058](https://github.com/frappe/erpnext/issues/39058)) ([2e93275](2e932754e0))
* Unable to save Sales Invoice ([#39059](https://github.com/frappe/erpnext/issues/39059)) ([73c0f37](73c0f3703c))
* undefined error in Budget Variance and Profitability report ([9fdf5c8](9fdf5c8091))
* undefined error in consolidated financial report ([49f93f9](49f93f9fa1))
* use `Stock Qty` while getting `POS Reserved Qty` (backport [#38962](https://github.com/frappe/erpnext/issues/38962)) ([#38965](https://github.com/frappe/erpnext/issues/38965)) ([76c6b50](76c6b501f9))
* Validate account in Sales/Purchase Taxes and Charges Template ([#39013](https://github.com/frappe/erpnext/issues/39013)) ([f3254c2](f3254c2010))
* work order with multi level, fetch operting cost from sub-assembly (backport [#38992](https://github.com/frappe/erpnext/issues/38992)) ([#39028](https://github.com/frappe/erpnext/issues/39028)) ([3a7506e](3a7506ecbc))

### Features

* Against voucher filter in General Ledger ([#39102](https://github.com/frappe/erpnext/issues/39102)) ([458064f](458064f8a1))
* group by Asset in Asset Depreciations and Balances report (backport [#38923](https://github.com/frappe/erpnext/issues/38923)) ([#39066](https://github.com/frappe/erpnext/issues/39066)) ([d85dad7](d85dad7198))
* Merge taxes from mapped docs ([#38346](https://github.com/frappe/erpnext/issues/38346)) ([4e23048](4e2304818b))
* voucher subtype for general ledger ([#38822](https://github.com/frappe/erpnext/issues/38822)) ([e5d73c7](e5d73c780b))

### Performance Improvements

* index item_code in bom explosion item (backport [#39085](https://github.com/frappe/erpnext/issues/39085)) ([#39088](https://github.com/frappe/erpnext/issues/39088)) ([57bcf9f](57bcf9f568))
2024-01-03 06:01:15 +00:00
Deepesh Garg
d2fdce007e Merge pull request #39090 from frappe/version-15-hotfix
chore: release v15
2024-01-03 11:29:39 +05:30
Deepesh Garg
458064f8a1 feat: Against voucher filter in General Ledger (#39102) 2024-01-03 10:51:34 +05:30
rohitwaghchaure
56d510b878 Merge branch 'version-15' into version-15-hotfix 2024-01-02 17:34:56 +05:30
mergify[bot]
57bcf9f568 perf: index item_code in bom explosion item (backport #39085) (#39088)
perf: index item_code in bom explosion item (#39085)

(cherry picked from commit 739434b727)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2024-01-02 14:43:10 +05:30
mergify[bot]
2e0abbd274 fix: on cancellation of document cancel the serial and batch bundle (backport #39076) (#39082)
fix: on cancellation of document cancel the serial and batch bundle (#39076)

(cherry picked from commit 6e5484ea03)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2024-01-02 13:28:43 +05:30
mergify[bot]
73c0f3703c fix: Unable to save Sales Invoice (#39059)
fix: Unable to save Sales Invoice (#39059)

(cherry picked from commit bacf2b7431)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-01-01 19:28:29 +05:30
ruthra kumar
f3088e08bb Merge pull request #39072 from frappe/mergify/bp/version-15-hotfix/pr-39067
fix: undefined error in Budget Variance and Profitability report (backport #39067)
2024-01-01 17:42:45 +05:30
ruthra kumar
21f90011bc fix: select options should dynamically load dimensions
(cherry picked from commit 1a9e091d12)
2024-01-01 12:08:10 +00:00
ruthra kumar
9fdf5c8091 fix: undefined error in Budget Variance and Profitability report
'Budget' and 'Budget Account' doesn't have support for dynamic
dimension. It only supports hard-coded ones -  Project and Cost Center

(cherry picked from commit 92bc962f60)
2024-01-01 12:08:10 +00:00
ruthra kumar
7539623fb9 Merge pull request #39069 from frappe/mergify/bp/version-15-hotfix/pr-39023
refactor(perf): replace account subquery with 'in' condition (backport #39023)
2024-01-01 16:29:25 +05:30
ruthra kumar
cbaa617d20 refactor(perf): replace account subquery with 'in' condition
(cherry picked from commit a517125d64)
2024-01-01 10:13:51 +00:00
mergify[bot]
d85dad7198 feat: group by Asset in Asset Depreciations and Balances report (backport #38923) (#39066)
feat: group by Asset in Asset Depreciations and Balances report (#38923)

feat: group by asset in asset depreciations and balances report
(cherry picked from commit a9576f0cf6)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2024-01-01 15:05:04 +05:30
mergify[bot]
e5d73c780b feat: voucher subtype for general ledger (#38822)
* feat: voucher subtype for general ledger (#38822)

* feat: add voucher subtype column to gle

* feat: add logic to set voucher subtypes

* feat: fetch voucher subtype in ledger report

* fix: order of conditions

(cherry picked from commit 47f7b65058)

# Conflicts:
#	erpnext/accounts/doctype/gl_entry/gl_entry.json

* chore: resolve conflicts

---------

Co-authored-by: Gursheen Kaur Anand <40693548+GursheenK@users.noreply.github.com>
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2024-01-01 13:30:29 +05:30
mergify[bot]
8ad7fafe2a fix(DX): capture tracebacks with context (backport #39060) (#39063)
fix(DX): capture tracebacks with context (#39060)

(cherry picked from commit 510fdf7bf6)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2024-01-01 13:12:07 +05:30
mergify[bot]
2e932754e0 fix: take quantity into account when setting asset's gross purchase amt (backport #39056) (#39058)
fix: take quantity into account when setting asset's gross purchase amt (#39056)

fix: take quantity into account when setting asset's gross purchase amount
(cherry picked from commit 0346f47c1d)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2024-01-01 11:27:55 +05:30
mergify[bot]
d8cf994e94 fix: enqueue demo data setup on setup complete (backport #39043) (#39044)
fix: enqueue demo data setup on setup complete (#39043)

(cherry picked from commit 877cc7255d)

Co-authored-by: Smit Vora <smitvora203@gmail.com>
2023-12-31 18:25:15 +05:30
mergify[bot]
89d1069472 fix: non stock uom validation for serial and batch (backport #39018) (#39026)
fix: non stock uom validation for serial and batch (#39018)

* fix: non stock uom validation for serial and batch

* test: delivery note for batch with non stock uom

(cherry picked from commit 0c6de4ecb2)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-29 20:54:49 +05:30
mergify[bot]
3a7506ecbc fix: work order with multi level, fetch operting cost from sub-assembly (backport #38992) (#39028)
fix: work order with multi level, fetch operting cost from sub-assembly (#38992)

(cherry picked from commit 70abedc57a)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-29 20:54:26 +05:30
mergify[bot]
f3254c2010 fix: Validate account in Sales/Purchase Taxes and Charges Template (#39013)
fix: Validate account in Sales/Purchase Taxes and Charges Template (#39013)

(cherry picked from commit cd37fd790b)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-12-29 16:16:02 +05:30
mergify[bot]
2a390ac2de fix: purchase return without item code not working (backport #39014) (#39015)
fix: purchase return without item code not working (#39014)

(cherry picked from commit f983e09f92)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-29 13:07:38 +05:30
mergify[bot]
5158884dc9 fix: Multiple subscription fixes (#39005)
fix: Multiple subscription fixes (#39005)

(cherry picked from commit 3b4b2275de)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-12-29 12:52:41 +05:30
Frappe PR Bot
ec436c18a3 chore(release): Bumped to Version 15.8.3
## [15.8.3](https://github.com/frappe/erpnext/compare/v15.8.2...v15.8.3) (2023-12-28)

### Bug Fixes

* auto fetch not working if bundle exists (backport [#39002](https://github.com/frappe/erpnext/issues/39002)) (backport [#39004](https://github.com/frappe/erpnext/issues/39004)) ([#39006](https://github.com/frappe/erpnext/issues/39006)) ([17bae5a](17bae5a5a1))
* serial and batch bundle company mandatory error (backport [#38994](https://github.com/frappe/erpnext/issues/38994)) (backport [#38999](https://github.com/frappe/erpnext/issues/38999)) ([#39003](https://github.com/frappe/erpnext/issues/39003)) ([027a75b](027a75bcb0))
2023-12-28 13:31:04 +00:00
mergify[bot]
17bae5a5a1 fix: auto fetch not working if bundle exists (backport #39002) (backport #39004) (#39006)
fix: auto fetch not working if bundle exists (backport #39002) (#39004)

fix: auto fetch not working if bundle exists (#39002)

(cherry picked from commit b5340c5ec0)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 2e919344df)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-28 18:59:38 +05:30
mergify[bot]
027a75bcb0 fix: serial and batch bundle company mandatory error (backport #38994) (backport #38999) (#39003)
fix: serial and batch bundle company mandatory error (backport #38994) (#38999)

fix: serial and batch bundle company mandatory error (#38994)

(cherry picked from commit 10074e9980)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit d2580be4fd)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-28 18:59:20 +05:30
mergify[bot]
2e919344df fix: auto fetch not working if bundle exists (backport #39002) (#39004)
fix: auto fetch not working if bundle exists (#39002)

(cherry picked from commit b5340c5ec0)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-28 18:54:38 +05:30
mergify[bot]
d2580be4fd fix: serial and batch bundle company mandatory error (backport #38994) (#38999)
fix: serial and batch bundle company mandatory error (#38994)

(cherry picked from commit 10074e9980)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-28 18:22:14 +05:30
mergify[bot]
e0755f9a9a fix: Opening balance in bank reconciliation tool (#38977)
fix: Opening balance in bank reconciliation tool (#38977)

(cherry picked from commit bbee9b5637)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-12-28 17:53:44 +05:30
Frappe PR Bot
c4794c95df chore(release): Bumped to Version 15.8.2
## [15.8.2](https://github.com/frappe/erpnext/compare/v15.8.1...v15.8.2) (2023-12-28)

### Bug Fixes

* undefined error in consolidated financial report ([0a3e378](0a3e378f5e))
2023-12-28 12:16:55 +00:00
ruthra kumar
12c5f0b6b5 Merge pull request #38996 from frappe/mergify/bp/version-15/pr-38995
fix: undefined error in consolidated financial report (backport #38995)
2023-12-28 17:45:35 +05:30
ruthra kumar
0a3e378f5e fix: undefined error in consolidated financial report
(cherry picked from commit 49f93f9fa1)
2023-12-28 12:13:20 +00:00
ruthra kumar
1b399e83be Merge pull request #38995 from ruthra-kumar/undefined_error_in_consolidated_report
fix: undefined error in consolidated financial report
2023-12-28 17:42:18 +05:30
ruthra kumar
49f93f9fa1 fix: undefined error in consolidated financial report 2023-12-28 17:36:00 +05:30
ruthra kumar
d2fe221bc7 Merge pull request #38990 from frappe/mergify/bp/version-15-hotfix/pr-38969
fix: incorrect net profit in Profit and Loss Statement (backport #38969)
2023-12-28 17:09:43 +05:30
ruthra kumar
a3cecb892a test: profit and loss report output
(cherry picked from commit 8555617295)
2023-12-28 10:54:27 +00:00
ruthra kumar
7c7c3c932f fix: incorrect total when Accumulating values
(cherry picked from commit d54f8318fb)
2023-12-28 10:54:27 +00:00
mergify[bot]
46035ed9ca fix: remove bad defaults (backport #38986) (#38988)
fix: remove bad defaults (#38986)

Child tables can't have a default.

(cherry picked from commit b71b0d5997)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-28 14:22:18 +05:30
Frappe PR Bot
7e7eb95934 chore(release): Bumped to Version 15.8.1
## [15.8.1](https://github.com/frappe/erpnext/compare/v15.8.0...v15.8.1) (2023-12-28)

### Bug Fixes

* not able to cancel sales invoice (backport [#38979](https://github.com/frappe/erpnext/issues/38979)) (backport [#38980](https://github.com/frappe/erpnext/issues/38980)) ([#38981](https://github.com/frappe/erpnext/issues/38981)) ([83e62bb](83e62bbaad))
2023-12-28 05:55:23 +00:00
mergify[bot]
83e62bbaad fix: not able to cancel sales invoice (backport #38979) (backport #38980) (#38981)
fix: not able to cancel sales invoice (backport #38979) (#38980)

fix: not able to cancel sales invoice (#38979)

(cherry picked from commit a117ef3cb8)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit f8625f3eb7)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-28 11:24:16 +05:30
mergify[bot]
f8625f3eb7 fix: not able to cancel sales invoice (backport #38979) (#38980)
fix: not able to cancel sales invoice (#38979)

(cherry picked from commit a117ef3cb8)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-28 11:21:51 +05:30
mergify[bot]
4e2304818b feat: Merge taxes from mapped docs (#38346)
feat: Merge taxes from mapped docs (#38346)

* feat: Merge taxes from mapped docs

* chore: ci failures

(cherry picked from commit 9b1c22250f)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-12-28 08:28:02 +05:30
mergify[bot]
3caabf23a5 fix : correct logic for overlap error (backport #38967) (#38968)
fix : correct logic for overlap error (#38967)

fixing overlap error logic with taking care of sequential time job cards in overlap job card list

(cherry picked from commit fe77b9d633)

Co-authored-by: VihangT <151990347+VihangT@users.noreply.github.com>
2023-12-27 20:40:03 +05:30
mergify[bot]
76c6b501f9 fix: use Stock Qty while getting POS Reserved Qty (backport #38962) (#38965)
fix: use `Stock Qty` while getting `POS Reserved Qty`

(cherry picked from commit 7223106417)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-27 15:31:58 +05:30
Frappe PR Bot
f3ab5a33c7 chore(release): Bumped to Version 15.8.0
# [15.8.0](https://github.com/frappe/erpnext/compare/v15.7.0...v15.8.0) (2023-12-27)

### Bug Fixes

* `Reserved Stock` report (backport [#38922](https://github.com/frappe/erpnext/issues/38922)) ([#38924](https://github.com/frappe/erpnext/issues/38924)) ([8f643f0](8f643f0df8))
* allow to set rate manually for service item in BOM (backport [#38880](https://github.com/frappe/erpnext/issues/38880)) (backport [#38882](https://github.com/frappe/erpnext/issues/38882)) ([#38885](https://github.com/frappe/erpnext/issues/38885)) ([74606dc](74606dc927))
* do not make serial batch bundle for zero qty (backport [#38949](https://github.com/frappe/erpnext/issues/38949)) ([#38954](https://github.com/frappe/erpnext/issues/38954)) ([a41cf62](a41cf62437))
* do not reset the basic rate for the material receipt stock entry (backport [#38896](https://github.com/frappe/erpnext/issues/38896)) ([#38899](https://github.com/frappe/erpnext/issues/38899)) ([f6eb2b5](f6eb2b521d))
* incorrect price list in customer-wise item price report ([e0dbb57](e0dbb573b1))
* incorrect qty in serial batch bundle against pick list (backport [#38964](https://github.com/frappe/erpnext/issues/38964)) ([#38966](https://github.com/frappe/erpnext/issues/38966)) ([5874be0](5874be0f79))
* local reference error in BOM (backport [#38850](https://github.com/frappe/erpnext/issues/38850)) ([#38877](https://github.com/frappe/erpnext/issues/38877)) ([e3be9c1](e3be9c1da4))
* min order qty optional in production plan (backport [#38956](https://github.com/frappe/erpnext/issues/38956)) ([#38958](https://github.com/frappe/erpnext/issues/38958)) ([ab9fce3](ab9fce333d))
* not able to import serial batch bundle using csv (backport [#38950](https://github.com/frappe/erpnext/issues/38950)) ([#38955](https://github.com/frappe/erpnext/issues/38955)) ([0e48ef7](0e48ef7ace))
* reposting not fixing valuation rate for sales return using movin… (backport [#38895](https://github.com/frappe/erpnext/issues/38895)) (backport [#38897](https://github.com/frappe/erpnext/issues/38897)) ([#38901](https://github.com/frappe/erpnext/issues/38901)) ([eabb956](eabb956aca))
* reset the incoming rate on changing of the warehouse (backport [#38925](https://github.com/frappe/erpnext/issues/38925)) ([#38926](https://github.com/frappe/erpnext/issues/38926)) ([82960e3](82960e3312))
* **test:** expect account currency when party account is specified. ([2d9a0a8](2d9a0a8e2e))
* typeerror on pos order summary to new order screen ([bf98a8f](bf98a8f855))
* typerror on tree doctypes - Item Group, Customer Group, Supplier Group and Territory (backport [#38870](https://github.com/frappe/erpnext/issues/38870)) ([#38871](https://github.com/frappe/erpnext/issues/38871)) ([d75ac13](d75ac136d7))
* use party account currency when party account is specified ([32d3d4e](32d3d4e571))
* **ux:** make PR and PI Item rate field readonly based on `Maintain Same Rate` (backport [#38942](https://github.com/frappe/erpnext/issues/38942)) ([#38944](https://github.com/frappe/erpnext/issues/38944)) ([f704ccb](f704ccbb59))

### Features

* in_party_currency option for AR/AP reports ([a65bc77](a65bc77b02))
* provision to add items in Stock Reservation dialog (backport [#38558](https://github.com/frappe/erpnext/issues/38558)) ([#38920](https://github.com/frappe/erpnext/issues/38920)) ([8c2c90f](8c2c90f77a))
* total_asset_cost field (backport [#38879](https://github.com/frappe/erpnext/issues/38879)) ([#38887](https://github.com/frappe/erpnext/issues/38887)) ([58f1df5](58f1df5004))

### Performance Improvements

* Drop unused/duplicate/sub-optimal indexes (backport [#38884](https://github.com/frappe/erpnext/issues/38884)) ([#38913](https://github.com/frappe/erpnext/issues/38913)) ([308c6ff](308c6ffb4f))
* use estimated rows instead of actual rows (backport [#38830](https://github.com/frappe/erpnext/issues/38830)) ([#38876](https://github.com/frappe/erpnext/issues/38876)) ([648f275](648f275797))
2023-12-27 08:41:36 +00:00
rohitwaghchaure
e2bf03bdb2 Merge pull request #38952 from frappe/version-15-hotfix
chore: release v15
2023-12-27 14:10:09 +05:30
mergify[bot]
5874be0f79 fix: incorrect qty in serial batch bundle against pick list (backport #38964) (#38966)
fix: incorrect qty in serial batch bundle against pick list (#38964)

(cherry picked from commit 47ee801d37)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-27 14:06:55 +05:30
mergify[bot]
ab9fce333d fix: min order qty optional in production plan (backport #38956) (#38958)
fix: min order qty optional in production plan (#38956)

* fix: min order qty optional in production plan

* fix: test cases

(cherry picked from commit b09c9354fb)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-26 21:55:23 +05:30
mergify[bot]
0e48ef7ace fix: not able to import serial batch bundle using csv (backport #38950) (#38955)
* fix: not able to import serial batch bundle using csv (#38950)

(cherry picked from commit d00f6672a8)

# Conflicts:
#	erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py

* chore: fixed conflicts

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-26 16:29:34 +05:30
mergify[bot]
a41cf62437 fix: do not make serial batch bundle for zero qty (backport #38949) (#38954)
fix: do not make serial batch bundle for zero qty (#38949)

(cherry picked from commit 06d6220a2a)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-26 15:39:00 +05:30
mergify[bot]
f704ccbb59 fix(ux): make PR and PI Item rate field readonly based on Maintain Same Rate (backport #38942) (#38944)
* fix(ux): make PI Item rate field editable

(cherry picked from commit eb5bb9f9a9)

* fix(ux): make PI Item rate field readonly based on `Maintain Same Rate`

(cherry picked from commit cb9114442b)

* fix(ux): make PR Item rate field readonly based on `Maintain Same Rate`

(cherry picked from commit b1ba210332)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-26 14:45:05 +05:30
ruthra kumar
1ea8574be9 Merge pull request #38946 from frappe/mergify/bp/version-15-hotfix/pr-38891
fix: incorrect price list in customer-wise item price report (backport #38891)
2023-12-26 12:16:55 +05:30
ruthra kumar
e0dbb573b1 fix: incorrect price list in customer-wise item price report
(cherry picked from commit 9a00edb031)
2023-12-26 06:17:54 +00:00
mergify[bot]
82960e3312 fix: reset the incoming rate on changing of the warehouse (backport #38925) (#38926)
fix: reset the incoming rate on changing of the warehouse (#38925)

(cherry picked from commit 161ae1edd1)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-22 17:55:58 +05:30
mergify[bot]
8f643f0df8 fix: Reserved Stock report (backport #38922) (#38924)
* chore: improve `Allowed Qty` error msg

(cherry picked from commit 1a1629196d)

* fix: `Reserved Stock` report

(cherry picked from commit a5d5223c0e)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-22 16:45:40 +05:30
mergify[bot]
8c2c90f77a feat: provision to add items in Stock Reservation dialog (backport #38558) (#38920)
* feat: provision to update items in Stock Reservation dialog

(cherry picked from commit 9471d8fff9)

* fix(ux): show row index and field label while selecting the Sales Order Item

(cherry picked from commit 00261094c8)

* feat: provision to add items in Stock Reservation dialog

(cherry picked from commit 8d5045ef4c)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-22 15:50:07 +05:30
mergify[bot]
a8f3f2343d chore: fixup broken JSON files (backport #38915) (#38917)
chore: fixup broken JSON files (#38915)

(cherry picked from commit 2dc49c834a)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-22 07:41:00 +05:30
mergify[bot]
308c6ffb4f perf: Drop unused/duplicate/sub-optimal indexes (backport #38884) (#38913)
perf: Drop unused/duplicate/sub-optimal indexes (#38884)

* ci: enable more checks

* perf: Drop unused/duplicate indexes

(cherry picked from commit 787333896c)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-21 21:39:20 +05:30
mergify[bot]
a99470e017 chore: additional_asset_cost field (backport #38904) (#38906)
chore: additional_asset_cost field (#38904)

(cherry picked from commit 283763dfb2)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-12-21 16:55:41 +05:30
mergify[bot]
eabb956aca fix: reposting not fixing valuation rate for sales return using movin… (backport #38895) (backport #38897) (#38901)
fix: reposting not fixing valuation rate for sales return using movin… (backport #38895) (#38897)

* fix: reposting not fixing valuation rate for sales return using movin… (#38895)

fix: reposting not fixing valuation rate for sales return using moving average method
(cherry picked from commit 3a668bbe96)

# Conflicts:
#	erpnext/stock/stock_ledger.py

* chore: fix conflicts

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 07175367d8)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-21 15:44:50 +05:30
mergify[bot]
f6eb2b521d fix: do not reset the basic rate for the material receipt stock entry (backport #38896) (#38899)
fix: do not reset the basic rate for the material receipt stock entry (#38896)

(cherry picked from commit 98bfcc4c75)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-21 14:22:53 +05:30
ruthra kumar
135aced98e Merge pull request #38894 from frappe/mergify/bp/version-15-hotfix/pr-38893
fix: typeerror on pos order summary to new order screen (backport #38893)
2023-12-21 12:26:04 +05:30
ruthra kumar
bf98a8f855 fix: typeerror on pos order summary to new order screen
(cherry picked from commit 6a0a08b59c)
2023-12-21 06:53:22 +00:00
mergify[bot]
74606dc927 fix: allow to set rate manually for service item in BOM (backport #38880) (backport #38882) (#38885)
fix: allow to set rate manually for service item in BOM (backport #38880) (#38882)

fix: allow to set rate manually for service item in BOM (#38880)

(cherry picked from commit c2f692a4e4)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit a6ab53236e)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-21 10:44:20 +05:30
mergify[bot]
58f1df5004 feat: total_asset_cost field (backport #38879) (#38887)
* feat: total_asset_cost field (#38879)

(cherry picked from commit d370c60a6c)

# Conflicts:
#	erpnext/patches.txt

* chore: resolve conflicts

* chore: remove unnecessary patch

---------

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-12-20 22:47:48 +05:30
mergify[bot]
e3be9c1da4 fix: local reference error in BOM (backport #38850) (#38877)
fix: local reference error in BOM (#38850)

fix: local reference error
(cherry picked from commit ae353398d9)

Co-authored-by: NIYAZ RAZAK <76736615+niyazrazak@users.noreply.github.com>
2023-12-20 16:34:27 +05:30
mergify[bot]
648f275797 perf: use estimated rows instead of actual rows (backport #38830) (#38876)
perf: use estimated rows instead of actual rows (#38830)

(cherry picked from commit 9983283f95)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-20 13:58:38 +05:30
ruthra kumar
4626ab5e19 Merge pull request #38873 from frappe/mergify/bp/version-15-hotfix/pr-38838
fix: use party account currency when party account is specified (backport #38838)
2023-12-20 13:09:15 +05:30
Devin Slauenwhite
2d9a0a8e2e fix(test): expect account currency when party account is specified.
(cherry picked from commit a09241e3c7)
2023-12-20 07:05:32 +00:00
Devin Slauenwhite
32d3d4e571 fix: use party account currency when party account is specified
(cherry picked from commit c7b961ffa2)
2023-12-20 07:05:32 +00:00
mergify[bot]
d75ac136d7 fix: typerror on tree doctypes - Item Group, Customer Group, Supplier Group and Territory (backport #38870) (#38871)
fix: typerror on tree doctypes - Item Group, Customer Group, Supplier Group and Territory (#38870)

* refactor: typerror on set_root_readonly

* refactor: remove 'cur_frm' usage in supplier_group

* refactor: remove 'cur_frm' usage in territory.js

* refactor: remove 'cur_frm' from sales_person.js

(cherry picked from commit 6d5bdc6c68)

Co-authored-by: ruthra kumar <ruthra@erpnext.com>
2023-12-20 12:32:35 +05:30
ruthra kumar
88b3811c5d Merge pull request #38839 from pps190/backport/version-15/37746
feat: in_party_currency option for AR/AP reports (backport  #37746)
2023-12-20 12:25:11 +05:30
Frappe PR Bot
2a5164d170 chore(release): Bumped to Version 15.7.0
# [15.7.0](https://github.com/frappe/erpnext/compare/v15.6.1...v15.7.0) (2023-12-20)

### Bug Fixes

* asset patch failure due to missing shift_based column (backport [#38776](https://github.com/frappe/erpnext/issues/38776)) ([#38777](https://github.com/frappe/erpnext/issues/38777)) ([6e92c78](6e92c78cbd))
* barcode scanning for the stock entry (backport [#38716](https://github.com/frappe/erpnext/issues/38716)) ([#38718](https://github.com/frappe/erpnext/issues/38718)) ([1dcb065](1dcb065c64))
* **demo:** Demo setup for canadian COA ([7d84441](7d844411fb))
* fetch exc rate of multi currency journals ([f55b561](f55b561ff9))
* fetch item_tax_template values if fields with fetch_from exisit ([fba28d6](fba28d6941))
* groups for current accounts in German CoAs ([58de991](58de9913b9))
* homepage not working (backport [#38755](https://github.com/frappe/erpnext/issues/38755)) ([#38756](https://github.com/frappe/erpnext/issues/38756)) ([ad3a5b5](ad3a5b58e4))
* if not budget then don't validate (backport [#38861](https://github.com/frappe/erpnext/issues/38861)) ([#38865](https://github.com/frappe/erpnext/issues/38865)) ([5ec75fb](5ec75fb6df))
* incoming rate for sales return with Moving Average valuation method (backport [#38849](https://github.com/frappe/erpnext/issues/38849)) (backport [#38863](https://github.com/frappe/erpnext/issues/38863)) ([#38866](https://github.com/frappe/erpnext/issues/38866)) ([d65be69](d65be69c4c))
* incorrect available qty for backdated stock reco with batch (backport [#37858](https://github.com/frappe/erpnext/issues/37858)) ([#38811](https://github.com/frappe/erpnext/issues/38811)) ([18bd330](18bd330a59))
* Init internal child table values ([7802f6c](7802f6c528))
* item variant with manufacturer (backport [#38845](https://github.com/frappe/erpnext/issues/38845)) (backport [#38847](https://github.com/frappe/erpnext/issues/38847)) ([#38851](https://github.com/frappe/erpnext/issues/38851)) ([7320440](7320440b61))
* not able to cancel SCR with Batch (backport [#38817](https://github.com/frappe/erpnext/issues/38817)) (backport [#38821](https://github.com/frappe/erpnext/issues/38821)) ([#38829](https://github.com/frappe/erpnext/issues/38829)) ([4bd1a5f](4bd1a5f955))
* not able to make inter-company po from so (backport [#38826](https://github.com/frappe/erpnext/issues/38826)) (backport [#38828](https://github.com/frappe/erpnext/issues/38828)) ([#38833](https://github.com/frappe/erpnext/issues/38833)) ([02ceee6](02ceee6669))
* on closed unreserved the production plan qty (backport [#38848](https://github.com/frappe/erpnext/issues/38848)) (backport [#38859](https://github.com/frappe/erpnext/issues/38859)) ([#38862](https://github.com/frappe/erpnext/issues/38862)) ([cbbc6af](cbbc6af128))
* **pe:** show split alert only on splitting ([77dba48](77dba4834c))
* Reset SLA on issue doesn't work (backport [#38789](https://github.com/frappe/erpnext/issues/38789)) ([#38791](https://github.com/frappe/erpnext/issues/38791)) ([2045306](2045306283))
* serial and batch bundle return not working (backport [#38754](https://github.com/frappe/erpnext/issues/38754)) ([#38806](https://github.com/frappe/erpnext/issues/38806)) ([8990c48](8990c48e7b))
* set `fg-itm-qty` based on `qty` instead of the other way round in Subcontracting POs (backport [#38842](https://github.com/frappe/erpnext/issues/38842)) ([#38855](https://github.com/frappe/erpnext/issues/38855)) ([4e27174](4e27174c85))
* show bill_date and bill_no in Purchase Register ([4ed86db](4ed86dbff2))
* skip jvs against bank accounts ([bf8a2d0](bf8a2d0e3a))
* supplier removed on selection of item (backport [#38712](https://github.com/frappe/erpnext/issues/38712)) ([#38713](https://github.com/frappe/erpnext/issues/38713)) ([feb452b](feb452b740))
* timezone aware SLA banner (backport [#38745](https://github.com/frappe/erpnext/issues/38745)) ([#38747](https://github.com/frappe/erpnext/issues/38747)) ([a551660](a551660d2a))
* **ux:** don't override Item Name and Description in MR (backport [#38720](https://github.com/frappe/erpnext/issues/38720)) ([#38763](https://github.com/frappe/erpnext/issues/38763)) ([703be50](703be50bc7))
* validation error on reconciling PE to Journals as Invoice ([aa5e16e](aa5e16e681))
* wrong currency in Stock Balance report (backport [#38778](https://github.com/frappe/erpnext/issues/38778)) ([#38780](https://github.com/frappe/erpnext/issues/38780)) ([7fc8150](7fc8150617))
* wrong paid and cn amount on pos invoice ([cff9e47](cff9e47162))

### Features

* RFQ print preview ([f30bede](f30bede2e0))
* set lead name from email ([f770621](f7706211ea))

### Performance Improvements

* index `return_against` on delivery note (backport [#38827](https://github.com/frappe/erpnext/issues/38827)) ([#38832](https://github.com/frappe/erpnext/issues/38832)) ([6ad75e7](6ad75e72e6))
2023-12-20 04:47:03 +00:00
Deepesh Garg
028228ee12 Merge pull request #38853 from frappe/version-15-hotfix
chore: release v15
2023-12-20 10:15:54 +05:30
mergify[bot]
4e27174c85 fix: set fg-itm-qty based on qty instead of the other way round in Subcontracting POs (backport #38842) (#38855)
fix: set `fg-itm-qty` based on `qty` instead of the other way round

(cherry picked from commit a99d0a65b0)

Co-authored-by: Gughan Ravikumar <gughanrk@gmail.com>
2023-12-20 09:12:20 +05:30
mergify[bot]
d65be69c4c fix: incoming rate for sales return with Moving Average valuation method (backport #38849) (backport #38863) (#38866)
fix: incoming rate for sales return with Moving Average valuation method (backport #38849) (#38863)

* fix: incoming rate for sales return with Moving Average valuation method (#38849)

(cherry picked from commit 7fdac62393)

# Conflicts:
#	erpnext/stock/doctype/delivery_note/test_delivery_note.py

* chore: fix conflicts

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 4057682c87)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-19 19:13:08 +05:30
mergify[bot]
5ec75fb6df fix: if not budget then don't validate (backport #38861) (#38865)
fix: if not budget then don't validate (#38861)

(cherry picked from commit d375164100)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-19 18:30:36 +05:30
mergify[bot]
cbbc6af128 fix: on closed unreserved the production plan qty (backport #38848) (backport #38859) (#38862)
fix: on closed unreserved the production plan qty (backport #38848) (#38859)

fix: on closed unreserved the production plan qty (#38848)

(cherry picked from commit 2184e8ef58)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 5e68b7e3a6)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-19 18:18:40 +05:30
mergify[bot]
7320440b61 fix: item variant with manufacturer (backport #38845) (backport #38847) (#38851)
fix: item variant with manufacturer (backport #38845) (#38847)

* fix: item variant with manufacturer (#38845)

(cherry picked from commit e0c8ff10da)

* chore: fix test case

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 4aa960b744)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-19 15:17:54 +05:30
ruthra kumar
637343f751 Merge pull request #38844 from frappe/mergify/bp/version-15-hotfix/pr-38797
fix: wrong paid and cn amount on pos invoice (backport #38797)
2023-12-19 11:33:23 +05:30
Dany Robert
ffb6d65910 test: partial payment for pos invoice
(cherry picked from commit 8772628912)
2023-12-19 05:33:15 +00:00
Dany Robert
cff9e47162 fix: wrong paid and cn amount on pos invoice
(cherry picked from commit 5cb5e09dbb)
2023-12-19 05:33:15 +00:00
Richard Case
dc9b4de976 chore: update tests 2023-12-18 18:13:27 +00:00
Richard Case
a65bc77b02 feat: in_party_currency option for AR/AP reports 2023-12-18 18:13:15 +00:00
mergify[bot]
02ceee6669 fix: not able to make inter-company po from so (backport #38826) (backport #38828) (#38833)
fix: not able to make inter-company po from so (backport #38826) (#38828)

fix: not able to make inter-company po from so (#38826)

(cherry picked from commit 23042dfc3c)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 32a608f948)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-18 18:31:28 +05:30
mergify[bot]
4bd1a5f955 fix: not able to cancel SCR with Batch (backport #38817) (backport #38821) (#38829)
fix: not able to cancel SCR with Batch (backport #38817) (#38821)

* fix: not able to cancel SCR with Batch (#38817)

(cherry picked from commit fb5090fd3f)

# Conflicts:
#	erpnext/subcontracting/doctype/subcontracting_receipt/test_subcontracting_receipt.py

* chore: fix test case

* chore: fix test case

* chore: fix test case

* chore: fix test case

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 71e833c3f2)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-18 18:13:15 +05:30
mergify[bot]
6ad75e72e6 perf: index return_against on delivery note (backport #38827) (#38832)
perf: index `return_against` on delivery note (#38827)

There's a multi-column index but that's useful IFF all parts of column
are part of query.

return against on it's own is VERY unique because it's a primary key, we
don't need a multi-column index here.

(cherry picked from commit 8d79365e0d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-18 18:09:42 +05:30
ruthra kumar
c696370cff Merge pull request #38823 from frappe/mergify/bp/version-15-hotfix/pr-38820
refactor: ignore ERR journals in Statment of Accounts (backport #38820)
2023-12-18 16:24:48 +05:30
ruthra kumar
5a807af505 refactor: ignore ERR journals in Statment of Accounts
(cherry picked from commit 39ef75e2d0)
2023-12-18 10:26:30 +00:00
Raffael Meyer
4fe7988249 Merge pull request #38814 from frappe/mergify/bp/version-15-hotfix/pr-38803
fix: groups for current accounts in German CoAs (backport #38803)
2023-12-17 19:52:24 +01:00
barredterra
58de9913b9 fix: groups for current accounts in German CoAs
(cherry picked from commit 259f313af7)
2023-12-17 18:24:07 +00:00
Deepesh Garg
b52ceceeb7 Merge pull request #38808 from vorasmit/fetch-item-taxes-v15
fix: fetch item_tax_template values if fields with fetch_from exisit (#38284)
2023-12-17 18:51:05 +05:30
mergify[bot]
8990c48e7b fix: serial and batch bundle return not working (backport #38754) (#38806)
fix: serial and batch bundle return not working (#38754)

* fix: serial and batch bundle return not working

* test: added test case for delivery note return against denormalized serial no

(cherry picked from commit 0743289925)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-17 18:02:31 +05:30
mergify[bot]
18bd330a59 fix: incorrect available qty for backdated stock reco with batch (backport #37858) (#38811)
fix: incorrect available qty for backdated stock reco with batch (#37858)

* fix: incorrect available qty for backdated stock reco with batch

* test: added test case

(cherry picked from commit d4c0dbfacc)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-17 17:41:51 +05:30
Deepesh Garg
b02604396d Merge pull request #38810 from frappe/mergify/bp/version-15-hotfix/pr-38807
fix(demo): Demo setup for Canadian COA (#38807)
2023-12-17 17:13:54 +05:30
Deepesh Garg
7d844411fb fix(demo): Demo setup for canadian COA
(cherry picked from commit c9fd182268)
2023-12-17 08:35:53 +00:00
Smit Vora
fba28d6941 fix: fetch item_tax_template values if fields with fetch_from exisit 2023-12-17 13:59:22 +05:30
Deepesh Garg
57f7933a4b Merge pull request #38771 from frappe/mergify/bp/version-15-hotfix/pr-38767
fix: skip JVs against bank accounts in tax report (#38767)
2023-12-16 22:28:55 +05:30
mergify[bot]
2045306283 fix: Reset SLA on issue doesn't work (backport #38789) (#38791)
fix: Reset SLA on issue doesn't work (#38789)

This was broken since last refactor where it was spun off to work with
all types of doctypes but client side code was never adapted.

(cherry picked from commit fa1c7b663c)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-15 22:02:33 +05:30
Raffael Meyer
4fb479e2f5 Merge pull request #38788 from barredterra/bp-38440
fix(pe): show split alert only on splitting (backport #38440)
2023-12-15 16:26:33 +01:00
Dany Robert
77dba4834c fix(pe): show split alert only on splitting 2023-12-15 16:08:48 +01:00
Raffael Meyer
a70be4299e Merge pull request #38787 from frappe/mergify/bp/version-15-hotfix/pr-38742
fix(Purchase Register): show bill_date and bill_no (backport #38742)
2023-12-15 15:39:45 +01:00
ljain112
4ed86dbff2 fix: show bill_date and bill_no in Purchase Register
(cherry picked from commit f53ba178a8)
2023-12-15 14:25:03 +00:00
Deepesh Garg
63f6970b45 Merge pull request #38783 from frappe/mergify/bp/version-15-hotfix/pr-38691
fix: Init internal child table values (#38691)
2023-12-15 18:48:24 +05:30
Deepesh Garg
7802f6c528 fix: Init internal child table values
(cherry picked from commit 2588970d55)
2023-12-15 12:45:56 +00:00
mergify[bot]
7fc8150617 fix: wrong currency in Stock Balance report (backport #38778) (#38780)
fix: wrong currency in Stock Balance report

(cherry picked from commit 5a83a16e60)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-15 15:32:59 +05:30
mergify[bot]
6e92c78cbd fix: asset patch failure due to missing shift_based column (backport #38776) (#38777)
fix: asset patch failure due to missing shift_based column (#38776)

* fix: add missing daily_prorata_based in get_asset_finance_books_map

* fix: reload Asset Finance Book doctype

(cherry picked from commit 1704180f38)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-12-15 14:47:24 +05:30
ruthra kumar
5beea361fe Merge pull request #38775 from frappe/mergify/bp/version-15-hotfix/pr-38766
fix: validation error on reconciling PE to Journals as Invoice (backport #38766)
2023-12-15 14:41:55 +05:30
ruthra kumar
aa5e16e681 fix: validation error on reconciling PE to Journals as Invoice
With the same exchange rate on Journal Entry and Payment Entry,
reconcilition should not post exc gain/loss journal and should not
throw validation error

(cherry picked from commit 5eeb650dfd)
2023-12-15 07:44:08 +00:00
ruthra kumar
27f454d07e Merge pull request #38768 from frappe/mergify/bp/version-15/pr-37625
refactor: set exchange rate on foreign currency JE from Bank Reconciliation (backport #37625)
2023-12-15 13:08:50 +05:30
Gursheen Anand
bf8a2d0e3a fix: skip jvs against bank accounts
(cherry picked from commit f7b2380ec1)
2023-12-15 07:29:30 +00:00
ruthra kumar
d890391531 refactor: handle bank transaction in foreign currency
(cherry picked from commit 74a0d6408a)
2023-12-15 07:06:48 +00:00
ruthra kumar
6e1d9a3dbc refactor: exc rate on foreign currency JE from Bank Reconciliation
(cherry picked from commit 89f484282a)
2023-12-15 07:06:48 +00:00
mergify[bot]
703be50bc7 fix(ux): don't override Item Name and Description in MR (backport #38720) (#38763)
fix(ux): don't override Item Name and Description in MR

(cherry picked from commit 726ac6bda1)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-15 11:58:20 +05:30
ruthra kumar
013d0ff99c Merge pull request #38764 from frappe/mergify/bp/version-15-hotfix/pr-37625
refactor: set exchange rate on foreign currency JE from Bank Reconciliation (backport #37625)
2023-12-15 11:41:04 +05:30
ruthra kumar
b1b157aa19 refactor: handle bank transaction in foreign currency
(cherry picked from commit 74a0d6408a)
2023-12-15 05:51:44 +00:00
ruthra kumar
e7e5727015 refactor: exc rate on foreign currency JE from Bank Reconciliation
(cherry picked from commit 89f484282a)
2023-12-15 05:51:43 +00:00
mergify[bot]
ad3a5b58e4 fix: homepage not working (backport #38755) (#38756)
fix: homepage not working (#38755)

(cherry picked from commit d6201ce5c7)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-14 23:02:25 +05:30
Raffael Meyer
f501c8b336 Merge pull request #38752 from frappe/mergify/bp/version-15-hotfix/pr-38505 2023-12-14 16:38:29 +01:00
barredterra
f7706211ea feat: set lead name from email
(cherry picked from commit ceeb724acc)
2023-12-14 12:49:41 +00:00
mergify[bot]
a551660d2a fix: timezone aware SLA banner (backport #38745) (#38747)
fix: timezone aware SLA banner (#38745)

(cherry picked from commit eaf86a6461)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-14 15:59:21 +05:30
ruthra kumar
5cbe170117 Merge pull request #38737 from frappe/mergify/bp/version-15-hotfix/pr-38717
fix: fetch exc rate of multi currency journals on reconciliation (backport #38717)
2023-12-14 09:59:47 +05:30
ruthra kumar
f55b561ff9 fix: fetch exc rate of multi currency journals
(cherry picked from commit 1b3ba25220)
2023-12-14 04:06:48 +00:00
mergify[bot]
753c1aa406 Revert "fix(ux): don't update qty blindly" (backport #38728) (backport #38730) (#38734)
Revert "fix(ux): don't update qty blindly" (backport #38728) (#38730)

Revert "fix(ux): don't update qty blindly" (#38728)

(cherry picked from commit 6851c5042f)

Co-authored-by: Ankush Menat <ankush@frappe.io>
(cherry picked from commit 3fabca1051)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-14 00:30:18 +05:30
Frappe PR Bot
ff85f2a940 chore(release): Bumped to Version 15.6.1
## [15.6.1](https://github.com/frappe/erpnext/compare/v15.6.0...v15.6.1) (2023-12-13)

### Bug Fixes

* supplier removed on selection of item (backport [#38712](https://github.com/frappe/erpnext/issues/38712)) (backport [#38713](https://github.com/frappe/erpnext/issues/38713)) ([#38731](https://github.com/frappe/erpnext/issues/38731)) ([04c605d](04c605d76b))
2023-12-13 18:49:38 +00:00
mergify[bot]
04c605d76b fix: supplier removed on selection of item (backport #38712) (backport #38713) (#38731)
fix: supplier removed on selection of item (backport #38712) (#38713)

fix: supplier removed on selection of item (#38712)

(cherry picked from commit db24e24882)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit feb452b740)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-14 00:17:57 +05:30
mergify[bot]
3fabca1051 Revert "fix(ux): don't update qty blindly" (backport #38728) (#38730)
Revert "fix(ux): don't update qty blindly" (#38728)

(cherry picked from commit 6851c5042f)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-13 23:16:15 +05:30
Raffael Meyer
32ec73dd96 Merge pull request #38727 from frappe/mergify/bp/version-15-hotfix/pr-38725 2023-12-13 17:48:11 +01:00
barredterra
f30bede2e0 feat: RFQ print preview
(cherry picked from commit 27f05145ae)
2023-12-13 16:32:30 +00:00
mergify[bot]
1dcb065c64 fix: barcode scanning for the stock entry (backport #38716) (#38718)
fix: barcode scanning for the stock entry (#38716)

(cherry picked from commit 13cba5068b)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-13 18:32:48 +05:30
mergify[bot]
feb452b740 fix: supplier removed on selection of item (backport #38712) (#38713)
fix: supplier removed on selection of item (#38712)

(cherry picked from commit db24e24882)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-13 14:39:00 +05:30
Frappe PR Bot
86b276a3ec chore(release): Bumped to Version 15.6.0
# [15.6.0](https://github.com/frappe/erpnext/compare/v15.5.0...v15.6.0) (2023-12-12)

### Bug Fixes

* `split_invoices_based_on_payment_terms` (backport [#37859](https://github.com/frappe/erpnext/issues/37859)) ([#38488](https://github.com/frappe/erpnext/issues/38488)) ([4b76cc4](4b76cc46a1))
* 1st row depr. sch. value of asset put to less than 180 days acc. to I.T. S. 32 (backport [#38696](https://github.com/frappe/erpnext/issues/38696)) ([#38703](https://github.com/frappe/erpnext/issues/38703)) ([2bd9671](2bd96713db))
* auto delete draft serial and batch bundle (backport [#38637](https://github.com/frappe/erpnext/issues/38637)) ([#38654](https://github.com/frappe/erpnext/issues/38654)) ([b0675f6](b0675f6490))
* close PO on SCO close (backport [#38667](https://github.com/frappe/erpnext/issues/38667)) ([#38681](https://github.com/frappe/erpnext/issues/38681)) ([4055543](4055543f5d))
* format only if searched text contain link value text ([d79e6e3](d79e6e353e))
* get customers for leaderboard ([9d5c79d](9d5c79d6b2))
* get items for leaderboard ([7cb38a8](7cb38a8f22))
* get sales partner for leaderboard ([3845d42](3845d4294c))
* get sales person for leaderboard ([2fcfebe](2fcfebe1d3))
* get suppliers for leaderboard ([e205772](e205772482))
* ignore non-existing regional customizations (backport [#38621](https://github.com/frappe/erpnext/issues/38621)) ([#38624](https://github.com/frappe/erpnext/issues/38624)) ([c70e6f2](c70e6f23df))
* limit end date to current date ([dbdb971](dbdb971e10))
* negative batch issue (backport [#38688](https://github.com/frappe/erpnext/issues/38688)) ([#38694](https://github.com/frappe/erpnext/issues/38694)) ([a75081b](a75081b8c0))
* not able to make serial and batch using csv import (backport [#38659](https://github.com/frappe/erpnext/issues/38659)) ([#38662](https://github.com/frappe/erpnext/issues/38662)) ([dd07eca](dd07ecad45))
* only highest eligible coupon applied ([#38416](https://github.com/frappe/erpnext/issues/38416)) ([aa66ee6](aa66ee64ec))
* serial and batch bundle permission (backport [#38618](https://github.com/frappe/erpnext/issues/38618)) ([#38619](https://github.com/frappe/erpnext/issues/38619)) ([ce2bd15](ce2bd15872))
* serial no filter in the Serial No Ledger report (backport [#38669](https://github.com/frappe/erpnext/issues/38669)) ([#38682](https://github.com/frappe/erpnext/issues/38682)) ([d188c8e](d188c8ec0e))
* Shipping Address Link Showing in Buying (backport [#38634](https://github.com/frappe/erpnext/issues/38634)) ([#38646](https://github.com/frappe/erpnext/issues/38646)) ([4150ed9](4150ed9b3b))
* show stock qty in popup (backport [#38698](https://github.com/frappe/erpnext/issues/38698)) ([#38699](https://github.com/frappe/erpnext/issues/38699)) ([6e2cde4](6e2cde4a21))
* typeerror on new sites ([#38692](https://github.com/frappe/erpnext/issues/38692)) ([9239e73](9239e735ad))
* typo in unittest ([#38673](https://github.com/frappe/erpnext/issues/38673)) ([14ee13c](14ee13c77e))
* **ux:** don't update qty blindly (backport [#38608](https://github.com/frappe/erpnext/issues/38608)) ([#38639](https://github.com/frappe/erpnext/issues/38639)) ([0b2e2a2](0b2e2a2ab5))

### Features

* add employee number to client user bootinfo (backport [#38477](https://github.com/frappe/erpnext/issues/38477)) ([#38603](https://github.com/frappe/erpnext/issues/38603)) ([c7dbcbc](c7dbcbcd17))
2023-12-12 16:11:51 +00:00
Deepesh Garg
0d8a52f63b Merge pull request #38690 from frappe/version-15-hotfix
chore: release v15
2023-12-12 21:40:42 +05:30
mergify[bot]
2bd96713db fix: 1st row depr. sch. value of asset put to less than 180 days acc. to I.T. S. 32 (backport #38696) (#38703)
fix: 1st row depr. sch. value of asset put to less than 180 days acc. to I.T. S. 32 (#38696)

fix: 1st row value of asset put to less than 180 days acc. to IT S. 32
(cherry picked from commit e7984b3ef9)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-12-12 21:09:38 +05:30
Raffael Meyer
1d2edec550 Merge pull request #38675 from frappe/mergify/bp/version-15-hotfix/pr-38672
fix: get data for leaderboard (backport #38672)
2023-12-12 13:44:04 +01:00
ruthra kumar
965126df83 Merge pull request #38678 from frappe/mergify/bp/version-15-hotfix/pr-38673
fix: typo in unittest (backport #38673)
2023-12-12 17:35:22 +05:30
mergify[bot]
6e2cde4a21 fix: show stock qty in popup (backport #38698) (#38699)
fix: show stock qty in popup (#38698)

(cherry picked from commit b562b4cf99)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-12 17:04:57 +05:30
mergify[bot]
a75081b8c0 fix: negative batch issue (backport #38688) (#38694)
fix: negative batch issue (#38688)

(cherry picked from commit 69d7a640ee)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-12 16:41:26 +05:30
ruthra kumar
b68e1f6ea6 Merge pull request #38693 from frappe/mergify/bp/version-15-hotfix/pr-38692
fix: typeerror on new sites (backport #38692)
2023-12-12 16:03:08 +05:30
ruthra kumar
9239e735ad fix: typeerror on new sites (#38692)
(cherry picked from commit fa2d33cb50)
2023-12-12 10:14:39 +00:00
ruthra kumar
576ff49943 Merge pull request #38687 from frappe/mergify/bp/version-15-hotfix/pr-38685
refactor: add `get_list` for virtual child doctypes (backport #38685)
2023-12-12 15:24:37 +05:30
ruthra kumar
92b5c80a4a refactor: add get_list for virtual child doctypes
(cherry picked from commit 15c90551b6)
2023-12-12 09:12:39 +00:00
mergify[bot]
d188c8ec0e fix: serial no filter in the Serial No Ledger report (backport #38669) (#38682)
fix: serial no filter in the Serial No Ledger report (#38669)

(cherry picked from commit 780c4278e6)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-12 14:33:11 +05:30
mergify[bot]
4055543f5d fix: close PO on SCO close (backport #38667) (#38681)
fix: close PO on SCO close

(cherry picked from commit b023e5d6b3)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-12 13:40:30 +05:30
ruthra kumar
fc79c6bf54 Merge pull request #38684 from frappe/mergify/bp/version-15-hotfix/pr-38679
refactor(test): repost utility deletion flag test (backport #38679)
2023-12-12 13:33:24 +05:30
ruthra kumar
522113ba98 refactor(test): update repost settings before test case
(cherry picked from commit acb6e8e120)
2023-12-12 07:16:51 +00:00
ruthra kumar
6469526c26 refactor: increase limit and remove explicit call to start_repost
(cherry picked from commit ccff588563)
2023-12-12 07:16:50 +00:00
ruthra kumar
122e6902ed refactor: remove explicit commit on repost
(cherry picked from commit a97b3db749)
2023-12-12 07:16:50 +00:00
ruthra kumar
64d93cec66 refactor(test): repost utility deletion flag test
(cherry picked from commit cc15f695b4)
2023-12-12 07:16:50 +00:00
Raffael Meyer
14ee13c77e fix: typo in unittest (#38673)
(cherry picked from commit 6ad298adfc)
2023-12-12 04:26:54 +00:00
barredterra
b17178bba9 chore: deprecate unused method
(cherry picked from commit 956c3c50a0)
2023-12-12 04:24:39 +00:00
barredterra
3845d4294c fix: get sales partner for leaderboard
(cherry picked from commit 40c1acc961)
2023-12-12 04:24:39 +00:00
barredterra
2fcfebe1d3 fix: get sales person for leaderboard
(cherry picked from commit 7babfd4ac4)
2023-12-12 04:24:39 +00:00
barredterra
e205772482 fix: get suppliers for leaderboard
(cherry picked from commit 65df4b6aa8)
2023-12-12 04:24:39 +00:00
barredterra
7cb38a8f22 fix: get items for leaderboard
(cherry picked from commit 2721ee3a8d)
2023-12-12 04:24:38 +00:00
barredterra
9d5c79d6b2 fix: get customers for leaderboard
(cherry picked from commit 137b5a6108)
2023-12-12 04:24:38 +00:00
mergify[bot]
dd07ecad45 fix: not able to make serial and batch using csv import (backport #38659) (#38662)
fix: not able to make serial and batch using csv import (#38659)

(cherry picked from commit 89a0e9c245)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-11 11:29:25 +05:30
mergify[bot]
b0675f6490 fix: auto delete draft serial and batch bundle (backport #38637) (#38654)
fix: auto delete draft serial and batch bundle (#38637)

(cherry picked from commit 89326bd657)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-10 16:45:03 +05:30
mergify[bot]
4150ed9b3b fix: Shipping Address Link Showing in Buying (backport #38634) (#38646)
fix(ux): `Shipping Address Link`

(cherry picked from commit ca0c3eb184)

Co-authored-by: creative-paramu <pparameshwari@thirvusoft.in>
2023-12-08 19:04:24 +05:30
mergify[bot]
0b2e2a2ab5 fix(ux): don't update qty blindly (backport #38608) (#38639)
fix(ux): don't update qty blindly

(cherry picked from commit 0156339f34)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-08 17:59:32 +05:30
mergify[bot]
c70e6f23df fix: ignore non-existing regional customizations (backport #38621) (#38624)
fix: ignore non-existing regional customizations (#38621)

(cherry picked from commit 9611e9bd7f)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-12-07 21:43:46 +05:30
Shariq Ansari
5cf0c896bb Merge pull request #38627 from frappe/mergify/bp/version-15-hotfix/pr-38623
fix: format only if searched text contain link value text (backport #38623)
2023-12-07 20:51:03 +05:30
Shariq Ansari
d79e6e353e fix: format only if searched text contain link value text
(cherry picked from commit 08ed3cd313)
2023-12-07 15:18:52 +00:00
mergify[bot]
ce2bd15872 fix: serial and batch bundle permission (backport #38618) (#38619)
fix: serial and batch bundle permission (#38618)

(cherry picked from commit 231ab83562)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-07 18:36:31 +05:30
mergify[bot]
deef6ea66a chore: minor code cleanup (backport #38615) (#38616)
chore: minor code cleanup (#38615)

(cherry picked from commit f45dd740c5)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-07 15:36:21 +05:30
mergify[bot]
aa66ee64ec fix: only highest eligible coupon applied (#38416)
fix: only highest eligible coupon applied (#38416)

* fix: application of pricing rule when coupon is used

(cherry picked from commit d34787cf6d)

Co-authored-by: sandratridz <102575830+sandratridz@users.noreply.github.com>
2023-12-07 10:34:11 +05:30
Ankush Menat
eeb0567a73 chore: remove unused cache=True
(cherry picked from commit 6a47a2ceaf)
2023-12-06 20:54:43 +05:30
mergify[bot]
c7dbcbcd17 feat: add employee number to client user bootinfo (backport #38477) (#38603)
feat: add employee number to client user bootinfo (#38477)

(cherry picked from commit 525f656cc1)

Co-authored-by: Richard Case <110036763+casesolved-co-uk@users.noreply.github.com>
2023-12-06 20:52:50 +05:30
mergify[bot]
4b76cc46a1 fix: split_invoices_based_on_payment_terms (backport #37859) (#38488)
* refactor: `split_invoices_based_on_payment_terms`

- Invoices were in the wrong order due to the logic. The invoices with payment terms were added first and the rest after.
- Overly long function with unnecessary loops (reduced to one main loop) and complexity
- The split row as per payment terms was not ordered. So the second installment was allocated first

(cherry picked from commit 6bd56d2d5f)

* test: `get_outstanding_reference_documents` (triggered via UI)

(cherry picked from commit 162c0497d1)

# Conflicts:
#	erpnext/accounts/doctype/payment_entry/test_payment_entry.py

* fix: Alert message and make sure invoice due dates are different for effective test

- Make invoice due dates are different so that the invoice with the earliest due date is allocated first in the test
- Translate voucher type, simplify alert message. The invoice could be "split" into 1 row, no. of rows in the message seems unnecessary.

(cherry picked from commit 56ac3424d2)

* style: Remove spaces introduced via merge conflict

(cherry picked from commit 4b4b176fcf)

# Conflicts:
#	erpnext/accounts/doctype/payment_entry/test_payment_entry.py

* fix: Re-add no.of rows split in alert message

(cherry picked from commit 1fc5844025)

* fix: Merge conflicts in tests

---------

Co-authored-by: marination <maricadsouza221197@gmail.com>
2023-12-06 18:01:42 +05:30
Gursheen Kaur Anand
bfe2b923e1 Merge pull request #38572 from frappe/mergify/bp/version-15-hotfix/pr-38556
fix(minor): financial statements period end date (backport #38556)
2023-12-05 22:02:27 +05:30
Frappe PR Bot
6826a1e976 chore(release): Bumped to Version 15.5.0
# [15.5.0](https://github.com/frappe/erpnext/compare/v15.4.0...v15.5.0) (2023-12-05)

### Bug Fixes

* `AttributeError` while saving Purchase Invoice (backport [#38482](https://github.com/frappe/erpnext/issues/38482)) ([#38490](https://github.com/frappe/erpnext/issues/38490)) ([f6c48e8](f6c48e8ecf))
* `OperationalError` while selecting Serial No in `Warranty Claim` (backport [#38394](https://github.com/frappe/erpnext/issues/38394)) ([#38414](https://github.com/frappe/erpnext/issues/38414)) ([80afeca](80afeca229))
* Add missing french translations ([#38368](https://github.com/frappe/erpnext/issues/38368)) ([b5c89ec](b5c89ec3b4))
* better overlap logic for job card (backport [#38432](https://github.com/frappe/erpnext/issues/38432)) ([#38522](https://github.com/frappe/erpnext/issues/38522)) ([2a9e843](2a9e843610))
* consider the `Valuation Method` while picking incorrect SLE (backport [#38592](https://github.com/frappe/erpnext/issues/38592)) ([#38595](https://github.com/frappe/erpnext/issues/38595)) ([9d45bbd](9d45bbd051))
* debit credit mismatch in multi-currecy asset purchase receipt ([#38342](https://github.com/frappe/erpnext/issues/38342)) ([b9f26ae](b9f26ae849))
* don't consider cancelled entries ([#38401](https://github.com/frappe/erpnext/issues/38401)) ([0a29dbe](0a29dbe09e))
* don't show non-stock items in Stock Analytics report (backport [#38543](https://github.com/frappe/erpnext/issues/38543)) ([#38545](https://github.com/frappe/erpnext/issues/38545)) ([282a5b2](282a5b27ad))
* don't update previous doc on rate change (backport [#38493](https://github.com/frappe/erpnext/issues/38493)) ([#38524](https://github.com/frappe/erpnext/issues/38524)) ([0aa96f7](0aa96f783d))
* exclude `invoice_doctypes` from party advance ([927538f](927538f776))
* exploded items in Subcontracting Receipt (backport [#38441](https://github.com/frappe/erpnext/issues/38441)) ([#38445](https://github.com/frappe/erpnext/issues/38445)) ([e066698](e06669847d))
* german translations for Lost Quotations (backport [#38435](https://github.com/frappe/erpnext/issues/38435)) ([#38516](https://github.com/frappe/erpnext/issues/38516)) ([33c59a2](33c59a2bb1))
* get dynamic link with parenttype contact ([cb9589b](cb9589b8ef))
* incorrect customer outstanding amount ([#38475](https://github.com/frappe/erpnext/issues/38475)) ([98fe89a](98fe89a24d))
* incorrect material request quantity in Production Plan (backport [#38566](https://github.com/frappe/erpnext/issues/38566)) ([#38579](https://github.com/frappe/erpnext/issues/38579)) ([145ed3a](145ed3a3b1))
* incorrect ordered qty for Subcontracting Order ([#38415](https://github.com/frappe/erpnext/issues/38415)) ([71fe2bc](71fe2bcc28))
* incorrect requested quantity for the subcontracting order ([abe3e41](abe3e41a17))
* incorrectly treating normal payment as advance ([#38437](https://github.com/frappe/erpnext/issues/38437)) ([246dd74](246dd74ba4))
* item group filter in sales person wise report ([602f6ca](602f6ca545))
* make create button translatable ([#38165](https://github.com/frappe/erpnext/issues/38165)) ([95f9cc9](95f9cc99b9))
* **regional:** use net figures for sales calc ([#38260](https://github.com/frappe/erpnext/issues/38260)) ([4a243ce](4a243ce5b7))
* remove hardcoded, implicit rounding loss allowance ([4baf796](4baf7960dd))
* scan for serial or batch in bundle (backport [#38534](https://github.com/frappe/erpnext/issues/38534)) ([#38552](https://github.com/frappe/erpnext/issues/38552)) ([88d2a8d](88d2a8d668))
* set cwip account before asset tests ([de7e1ab](de7e1ab237))
* show item name as title instead of item group in BOM (backport [#38478](https://github.com/frappe/erpnext/issues/38478)) ([#38481](https://github.com/frappe/erpnext/issues/38481)) ([8e57862](8e57862a1c))
* show party instead of party name where naming series not set ([f120dc5](f120dc56c2))
* sql error while filtering on finance book in GL ([3779943](3779943221))
* **test:** use correct account type for testing ([8b6eb35](8b6eb3599c))
* unset discount amount based on coupon code ([0e50e77](0e50e77d8e))
* use `docstatus` instead of `status` (backport [#38439](https://github.com/frappe/erpnext/issues/38439)) ([#38443](https://github.com/frappe/erpnext/issues/38443)) ([a50e872](a50e872820))
* use predefined onload property `load_after_mapping` ([#38209](https://github.com/frappe/erpnext/issues/38209)) ([4a558b7](4a558b7efb))
* **ux:** make valuation field read only when it can't be modified (backport [#38450](https://github.com/frappe/erpnext/issues/38450)) ([#38464](https://github.com/frappe/erpnext/issues/38464)) ([2d9ba88](2d9ba88870))
* validation error has not throw for the batch (backport [#38494](https://github.com/frappe/erpnext/issues/38494)) ([#38502](https://github.com/frappe/erpnext/issues/38502)) ([c797c53](c797c533ed))

### Features

* `Company` filter in `Stock Ledger Variance` report (backport [#38553](https://github.com/frappe/erpnext/issues/38553)) ([#38574](https://github.com/frappe/erpnext/issues/38574)) ([02d7dd8](02d7dd8b15))
* add customer group filter in sales register ([#38365](https://github.com/frappe/erpnext/issues/38365)) ([185b715](185b715d43))
* auto create PR on SCR submission (backport [#38290](https://github.com/frappe/erpnext/issues/38290)) ([#38428](https://github.com/frappe/erpnext/issues/38428)) ([7005d51](7005d51af3))
* enable automatic type annotations (backport [#38452](https://github.com/frappe/erpnext/issues/38452)) ([#38454](https://github.com/frappe/erpnext/issues/38454)) ([5e6a4d2](5e6a4d257e))
* shift depreciation for assets (backport [#38327](https://github.com/frappe/erpnext/issues/38327)) ([#38417](https://github.com/frappe/erpnext/issues/38417)) ([12ad1ec](12ad1ec71a))
2023-12-05 13:51:15 +00:00
Deepesh Garg
8a9ed0d04f Merge pull request #38590 from frappe/version-15-hotfix
chore: release v15
2023-12-05 19:19:52 +05:30
mergify[bot]
9d45bbd051 fix: consider the Valuation Method while picking incorrect SLE (backport #38592) (#38595)
* fix: incorrect SLE for `Moving Average` valuation method

(cherry picked from commit 8beec58670)

* feat: add `Valuation Method` column in `Stock Ledger Variance` report

(cherry picked from commit 16c297c2ec)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-05 18:13:43 +05:30
ruthra kumar
acf94dd4ad Merge pull request #38586 from frappe/mergify/bp/version-15-hotfix/pr-38580
fix: sql error while filtering on finance book in GL (backport #38580)
2023-12-05 15:06:42 +05:30
ruthra kumar
3779943221 fix: sql error while filtering on finance book in GL
(cherry picked from commit b1d9f3132d)
2023-12-05 09:11:40 +00:00
mergify[bot]
145ed3a3b1 fix: incorrect material request quantity in Production Plan (backport #38566) (#38579)
fix: incorrect material request quantity in Production Plan (#38566)

(cherry picked from commit aaa9036eca)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-05 14:24:26 +05:30
ruthra kumar
7076f3d778 Merge pull request #38577 from frappe/mergify/bp/version-15-hotfix/pr-38570
refactor: ignore unreconcile doc on PI cancel/delete (backport #38570)
2023-12-05 13:13:29 +05:30
mergify[bot]
02d7dd8b15 feat: Company filter in Stock Ledger Variance report (backport #38553) (#38574)
feat: `Company` filter in `Stock Ledger Variance` report

(cherry picked from commit fb3421fcce)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-05 12:33:06 +05:30
ruthra kumar
ee87c2a211 refactor: ingore on JE cancel as well
(cherry picked from commit 1a5d56977e)
2023-12-05 06:34:14 +00:00
ruthra kumar
c83c97f466 refactor: ignore unreconcile doc on PI cancel/delete
(cherry picked from commit 4ca84eadb6)
2023-12-05 06:34:14 +00:00
Gursheen Anand
dbdb971e10 fix: limit end date to current date
(cherry picked from commit ab6e92aae1)
2023-12-05 05:54:49 +00:00
Shariq Ansari
39e04b119a Merge pull request #38564 from frappe/mergify/bp/version-15-hotfix/pr-38562
fix: get dynamic link with parenttype contact (backport #38562)
2023-12-04 19:22:37 +05:30
Shariq Ansari
cb9589b8ef fix: get dynamic link with parenttype contact
(cherry picked from commit 3d7ad71b22)
2023-12-04 13:51:36 +00:00
mergify[bot]
88d2a8d668 fix: scan for serial or batch in bundle (backport #38534) (#38552)
fix: scan for serial or batch in bundle (#38534)

(cherry picked from commit c8693cdf37)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-04 15:24:28 +05:30
ruthra kumar
92c8eb17ca Merge pull request #38550 from frappe/mergify/bp/version-15-hotfix/pr-38475
fix: incorrect customer outstanding amount (backport #38475)
2023-12-04 13:57:00 +05:30
NIYAZ RAZAK
98fe89a24d fix: incorrect customer outstanding amount (#38475)
* fix: incorrect customer outstanding amount

* chore: resolve linting error

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>

---------

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
(cherry picked from commit 3df1d75bdd)
2023-12-04 08:11:06 +00:00
ruthra kumar
66e3dc7358 Merge pull request #38547 from frappe/mergify/bp/version-15-hotfix/pr-38283
chore: move reconciliation cleanup patch to pre-model sync (backport #38283)
2023-12-04 13:40:48 +05:30
ruthra kumar
e405695838 chore: move reconciliation cleanup patch to pre-model
(cherry picked from commit f258ab5e98)
2023-12-04 07:34:09 +00:00
ruthra kumar
d8f9e3a8b1 Merge pull request #38542 from frappe/mergify/bp/version-15-hotfix/pr-38148
refactor: convert Payment Reconciliation to virtual doctype (backport #38148)
2023-12-04 12:37:06 +05:30
mergify[bot]
282a5b27ad fix: don't show non-stock items in Stock Analytics report (backport #38543) (#38545)
* fix(ux): stock-item filter for Item Code field

(cherry picked from commit ccdcb7dfcc)

* fix: don't show non-stock items in Stock Analytics report

(cherry picked from commit 01aadbef85)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-04 12:18:58 +05:30
ruthra kumar
b8b8c02bf9 chore: resolve conflict 2023-12-04 12:16:41 +05:30
ruthra kumar
192343dec2 chore: clear singles table and reconciliation related tables
(cherry picked from commit f31002636b)
2023-12-04 06:31:08 +00:00
ruthra kumar
4123f4b0bd chore: remove reconciliation defaults from patch
(cherry picked from commit b5dd0c8630)
2023-12-04 06:31:08 +00:00
ruthra kumar
bcbf5da905 refactor: virtual doctype methods
(cherry picked from commit 9c7b19e0b7)
2023-12-04 06:31:08 +00:00
ruthra kumar
f6d481de89 refactor: convert payment reconciliation tool to virtual doctype
(cherry picked from commit 3a51a3f37e)

# Conflicts:
#	erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json
2023-12-04 06:31:07 +00:00
ruthra kumar
0b64daf497 Merge pull request #38540 from frappe/mergify/bp/version-15-hotfix/pr-38220
fix: exclude `invoice_doctypes` from party advance (backport #38220)
2023-12-04 11:19:03 +05:30
ruthra kumar
0a05154698 Merge pull request #38538 from frappe/mergify/bp/version-15-hotfix/pr-38437
fix: incorrectly treating normal payment as advance (backport #38437)
2023-12-04 11:08:46 +05:30
Dany Robert
927538f776 fix: exclude invoice_doctypes from party advance
(cherry picked from commit f34ffc2062)
2023-12-04 05:31:50 +00:00
ruthra kumar
246dd74ba4 fix: incorrectly treating normal payment as advance (#38437)
fix: treating normal payment as advance
(cherry picked from commit dd39da0b77)
2023-12-04 04:39:16 +00:00
mergify[bot]
b5c89ec3b4 fix: Add missing french translations (#38368)
fix: Add missing french translations (#38368)

fix: Add missing french translation

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
(cherry picked from commit a1e0197a8b)

Co-authored-by: noec764 <58433943+noec764@users.noreply.github.com>
2023-12-04 09:37:46 +05:30
mergify[bot]
4a558b7efb fix: use predefined onload property load_after_mapping (#38209)
fix: use predefined onload property `load_after_mapping` (#38209)

(cherry picked from commit b6a7549407)

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2023-12-04 09:36:52 +05:30
mergify[bot]
0aa96f783d fix: don't update previous doc on rate change (backport #38493) (#38524)
* fix: don't update previous doc on rate change

(cherry picked from commit 68f5dd3e7b)

* fix: `linter`

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-03 23:20:53 +05:30
mergify[bot]
33c59a2bb1 fix: german translations for Lost Quotations (backport #38435) (#38516)
fix: german translations for Lost Quotations (#38435)

(cherry picked from commit 5952cfa673)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2023-12-03 23:19:32 +05:30
ruthra kumar
5b1e7666c2 Merge pull request #38528 from frappe/mergify/bp/version-15-hotfix/pr-38525
fix: multiple minor fixes in report and Exchange Rate Revaluation (backport #38525)
2023-12-03 17:04:29 +05:30
ruthra kumar
4baf7960dd fix: remove hardcoded, implicit rounding loss allowance
(cherry picked from commit 64266c4d38)
2023-12-03 11:14:26 +00:00
ruthra kumar
602f6ca545 fix: item group filter in sales person wise report
(cherry picked from commit f4d418ea6d)
2023-12-03 11:14:26 +00:00
mergify[bot]
2a9e843610 fix: better overlap logic for job card (backport #38432) (#38522)
fix: better overlap logic for job card (#38432)

(cherry picked from commit 74eab91042)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-03 09:49:48 +05:30
mergify[bot]
0a29dbe09e fix: don't consider cancelled entries (#38401)
* fix: don't consider cancelled entries

(cherry picked from commit adfcdb3b65)

* refactor: get outstanding journal entry using query builder

(cherry picked from commit ff27cccff4)

---------

Co-authored-by: Devin Slauenwhite <devin.slauenwhite@gmail.com>
2023-12-02 20:07:26 +05:30
mergify[bot]
185b715d43 feat: add customer group filter in sales register (#38365)
feat: add customer group filter in sales register

(cherry picked from commit 5a97fa6336)

Co-authored-by: Nandhinidevi123 <nandhini.devi@thirvusoft.in>
2023-12-02 19:50:35 +05:30
mergify[bot]
c797c533ed fix: validation error has not throw for the batch (backport #38494) (#38502)
fix: validation error has not throw for the batch (#38494)

* fix: validation error has not throw for the batch

* chore: fix test cases

(cherry picked from commit 5e9016ffab)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-12-01 21:46:35 +05:30
mergify[bot]
7b363db582 chore: changed sort_order to DESC for customer (backport #38498) (#38501)
chore: changed sort_order to DESC for customer (#38498)

(cherry picked from commit 6bc40373f2)

Co-authored-by: Sherin KR <sherinkrply@gmail.com>
2023-12-01 19:09:31 +05:30
Gursheen Kaur Anand
afa6255eee Merge pull request #38497 from frappe/mergify/bp/version-15-hotfix/pr-38144
fix(minor): show party instead of party name where naming series not set (backport #38144)
2023-12-01 18:20:11 +05:30
Gursheen Anand
f120dc56c2 fix: show party instead of party name where naming series not set
(cherry picked from commit b27af6b5c8)
2023-12-01 12:35:00 +00:00
mergify[bot]
f6c48e8ecf fix: AttributeError while saving Purchase Invoice (backport #38482) (#38490)
fix: `AttributeError` while saving Purchase Invoice

(cherry picked from commit 60a81a563e)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-12-01 14:10:31 +05:30
ruthra kumar
bf44e9ed64 Merge pull request #38484 from frappe/mergify/bp/version-15-hotfix/pr-38393
refactor: GL entries build logic for `Advance in Separate Party Account` option. (backport #38393)
2023-12-01 13:26:11 +05:30
mergify[bot]
9cdbd33e40 chore: add translate function to email subject in digest frecuency (backport #38474) (#38487)
chore: add translate function to email subject in digest frecuency (#38474)

chore: add translate function to email subject in digest frecuency
(cherry picked from commit b24e28953b)

Co-authored-by: Ernesto Ruiz <eruiz@wbapps.com>
2023-12-01 12:43:37 +05:30
ruthra kumar
4a4f4ad323 refactor: handle forex payment advance entries
(cherry picked from commit 961bdf0d24)
2023-12-01 07:07:56 +00:00
ruthra kumar
5d9f71af95 refactor(test): filter on document names
(cherry picked from commit 080aa30407)
2023-12-01 07:07:56 +00:00
ruthra kumar
8b6eb3599c fix(test): use correct account type for testing
(cherry picked from commit eecf9cd1d8)
2023-12-01 07:07:56 +00:00
ruthra kumar
25b49ef0de test: ledger pre and post reconciliation on advance as liability
(cherry picked from commit 0255e09285)
2023-12-01 07:07:56 +00:00
ruthra kumar
c67d0eb718 refactor(test): advance allocation on purchase invoice
(cherry picked from commit 2add802d0d)
2023-12-01 07:07:56 +00:00
ruthra kumar
86b2de4013 refactor: redefine dr_or_cr for unallocated amount
(cherry picked from commit 3e6306348a)
2023-12-01 07:07:55 +00:00
ruthra kumar
8ed2ea29ac refactor: 'partial' flag to only cancel unlinked ledger entries
(cherry picked from commit 2633d7dca3)
2023-12-01 07:07:55 +00:00
ruthra kumar
65b4dbab2a refactor: return the newly added reference upon reconciliation
(cherry picked from commit ecb533c4d1)
2023-12-01 07:07:55 +00:00
ruthra kumar
a1bdd69ffd refactor: 'make_advance_gl_entries' method
make_advance_gl_entries -> add_advance_gl_entries -> add_advance_gl_for_reference

'make_advance_gl_entries' - main method thats builds and post GL
entries for all or one specific reference based on parameters

'add_advance_gl_entries' - build GL map for all or one specific
reference. Return an array of dict.

'add_advance_gl_for_reference' - utility function to build gl
entries. returns dict.

(cherry picked from commit 5fc19dab54)
2023-12-01 07:07:55 +00:00
ruthra kumar
58d04e1f42 refactor: use different GL build logic for advance as liability
(cherry picked from commit 58114e7b24)
2023-12-01 07:07:55 +00:00
ruthra kumar
aaef9d68c0 refactor: post to GL and Payment Ledger on advance as liability
(cherry picked from commit 78ab11f991)
2023-12-01 07:07:54 +00:00
ruthra kumar
bb8ac94adc test: assert ledger entries on partial reconciliation
with `Advance as Liability`, partial reconciliation should not post
duplicate ledger entries for same reference

(cherry picked from commit 3263f2023c)
2023-12-01 07:07:54 +00:00
mergify[bot]
8819d6c173 add supplier group filter in purchase register (backport #38421) (#38483)
add supplier group filter in purchase register (#38421)

* add supplier group field in purchase register

* Update purchase_register.js

(cherry picked from commit e2a519464b)

Co-authored-by: NandhiniDevi <95607404+Nandhinidevi123@users.noreply.github.com>
2023-12-01 11:51:09 +05:30
mergify[bot]
8e57862a1c fix: show item name as title instead of item group in BOM (backport #38478) (#38481)
fix: show item name as title instead of item group in BOM (#38478)

Item fields in BOM used to show Item Group when Items were set to show title as link fields. Now they show Item Name instead

(cherry picked from commit 3a66aefd2c)

Co-authored-by: Gughan Ravikumar <gughanrk@gmail.com>
2023-12-01 11:32:28 +05:30
rohitwaghchaure
b9a42a3b1b Merge pull request #38472 from frappe/mergify/bp/version-15-hotfix/pr-38455
fix: incorrect requested quantity for the subcontracting order (backport #38455)
2023-11-30 19:25:14 +05:30
Rohit Waghchaure
abe3e41a17 fix: incorrect requested quantity for the subcontracting order
(cherry picked from commit 691e3bb24f)
2023-11-30 13:39:06 +00:00
mergify[bot]
2d9ba88870 fix(ux): make valuation field read only when it can't be modified (backport #38450) (#38464)
* fix(ux): make `basic_rate` field read-only based on purpose

(cherry picked from commit abc7d30024)

* fix(ux): make PR `rate` field read-only having PO ref

(cherry picked from commit ae294ee470)

* fix(ux): make PI `rate` field read-only having PR ref

(cherry picked from commit 3d4156cc7d)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-30 17:30:35 +05:30
ruthra kumar
03013a8433 Merge pull request #38461 from frappe/mergify/bp/version-15-hotfix/pr-38457
refactor: use flt on outstanding on AR/AP summary report (backport #38457)
2023-11-30 16:42:58 +05:30
ruthra kumar
f44bb0df50 refactor: use flt on outstanding on AR/AP summary report
(cherry picked from commit e4bdd3a28d)
2023-11-30 10:55:51 +00:00
mergify[bot]
5e6a4d257e feat: enable automatic type annotations (backport #38452) (#38454)
feat: enable automatic type annotations (#38452)

(cherry picked from commit 63313eef6f)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-11-30 14:43:16 +05:30
mergify[bot]
7f4d2b707a refactor: Simpler log settings setup (backport #38449) (#38451)
refactor: Simpler log settings setup (#38449)

Depends on https://github.com/frappe/frappe/pull/23507

(cherry picked from commit 1da9087cc4)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-11-30 13:30:15 +05:30
ruthra kumar
05da5bfc9a Merge pull request #38448 from frappe/mergify/bp/version-15-hotfix/pr-38446
refactor: pass on filter to up front outstanding query as well (backport #38446)
2023-11-30 13:18:52 +05:30
ruthra kumar
7a1744691f refactor: pass on filter to upfront outstanding query as well
(cherry picked from commit cfd3230c75)
2023-11-30 07:26:32 +00:00
mergify[bot]
e06669847d fix: exploded items in Subcontracting Receipt (backport #38441) (#38445)
fix: exploded items in Subcontracting Receipt

(cherry picked from commit 62b4a263f8)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-30 12:16:07 +05:30
mergify[bot]
a50e872820 fix: use docstatus instead of status (backport #38439) (#38443)
fix: use `docstatus` instead of `status`

(cherry picked from commit 1423b38d50)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-30 12:12:02 +05:30
mergify[bot]
7005d51af3 feat: auto create PR on SCR submission (backport #38290) (#38428)
* feat: add field `Action on Purchase Order Submission`

(cherry picked from commit 628ea42b63)

# Conflicts:
#	erpnext/buying/doctype/buying_settings/buying_settings.json

* feat: auto create SCO on PO submission

(cherry picked from commit 9ec6f1e1d6)

# Conflicts:
#	erpnext/buying/doctype/buying_settings/buying_settings.json

* feat: add field `Action on Subcontracting Receipt Submission`

(cherry picked from commit 762906f240)

# Conflicts:
#	erpnext/buying/doctype/buying_settings/buying_settings.json

* chore: notify user on SCO creation

(cherry picked from commit 745e3bfb73)

* feat: add field `Purchase Order Item` in SCO Service Item

(cherry picked from commit 45d5cff47d)

* fix: hold PO item ref in SCO Service Item

(cherry picked from commit 7e4dd33ab0)

* feat: add field `Purchase Order Item` in SCO Item

(cherry picked from commit a2ede7d6d5)

* fix: maintain PO and PO Item ref in SCR Item

(cherry picked from commit e1cea25781)

* feat: auto create PR on SCR submission

(cherry picked from commit 040cc8d22f)

* feat: add `Purchase Order` link in SCR connections

(cherry picked from commit ca8a5b45ba)

* feat: add `Subcontracting Receipt` link in PO connections

(cherry picked from commit 98cba5ed30)

* fix: dont show `View` button on cancelled SCR

(cherry picked from commit dd80d3b9b9)

* fix: use checkbox instead of select field

(cherry picked from commit d366a91d9e)

# Conflicts:
#	erpnext/buying/doctype/buying_settings/buying_settings.json

* feat: Subcontracting Receipt ref in Purchase Receipt

(cherry picked from commit d891bd7fac)

* feat: SCR Item ref in PR Item

(cherry picked from commit 37b3ac7952)

* feat: provision to create PR from SCR

(cherry picked from commit 8052103197)

* chore: PR ref in SCR connections

(cherry picked from commit 096a2c8cd0)

* fix: map warehouses in return SCR

(cherry picked from commit 874766a82f)

* fix(ux): hide `Create Purchase Receipt` button for Subcontract Return

(cherry picked from commit 7145b040f1)

* chore: `linter`

(cherry picked from commit 857f2b5a01)

* test: auto create SCO on PO submit

(cherry picked from commit 68585f6f2b)

* test: auto create PR on SCR submit

(cherry picked from commit 7b0cd03f88)

* fix(test): `test_auto_create_purchase_receipt`

(cherry picked from commit 3da0aa6a0b)

* chore: `conflicts`

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-30 12:11:05 +05:30
Deepesh Garg
277e81c68e Merge pull request #38431 from frappe/mergify/bp/version-15-hotfix/pr-38429
fix(minor): set capital WIP account before asset tests (#38429)
2023-11-30 08:15:11 +05:30
Gursheen Anand
de7e1ab237 fix: set cwip account before asset tests
(cherry picked from commit ef8e4191cd)
2023-11-29 13:24:56 +00:00
Deepesh Garg
f1456d072c Merge pull request #38423 from frappe/mergify/bp/version-15-hotfix/pr-38250
fix: unset discount amount based on coupon code (#38250)
2023-11-29 18:21:30 +05:30
Gursheen Anand
0e50e77d8e fix: unset discount amount based on coupon code
(cherry picked from commit 6518582ed3)
2023-11-29 10:25:19 +00:00
rohitwaghchaure
d0f1dec573 Merge pull request #38411 from frappe/mergify/bp/version-15-hotfix/pr-38165
fix: make create button translatable (backport #38165)
2023-11-29 13:05:03 +05:30
rohitwaghchaure
4bb1cb50ba Merge pull request #38419 from frappe/mergify/bp/version-15-hotfix/pr-38415
fix: incorrect ordered qty for Subcontracting Order (backport #38415)
2023-11-29 13:02:53 +05:30
rohitwaghchaure
71fe2bcc28 fix: incorrect ordered qty for Subcontracting Order (#38415)
(cherry picked from commit fddf341f44)
2023-11-29 06:52:36 +00:00
mergify[bot]
12ad1ec71a feat: shift depreciation for assets (backport #38327) (#38417)
feat: shift depreciation for assets (#38327)

* feat: shift depreciation for assets

* chore: create new asset depr schedule on shift change

* refactor: move create_depr_schedule to after_insert

* fix: args in get_depreciation_amount test

* refactor: rename shift adjustment to shift allocation

* chore: asset shift factor doctype and auto allocate shift diff

* chore: use check instead of depr type, and add tests

* chore: make linter happy

* chore: give permissions to accounts users

(cherry picked from commit fe5fc5bd3a)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-11-29 12:15:53 +05:30
mergify[bot]
80afeca229 fix: OperationalError while selecting Serial No in Warranty Claim (backport #38394) (#38414)
* refactor: use arrow function

(cherry picked from commit 1763824e5f)

* refactor: use DocType `Fetch From` instead of `frm.add_fetch`

(cherry picked from commit 01044ca8e9)

* refactor: use `frm.set_query` to add filters

(cherry picked from commit 640dfab827)

* refactor: don't use `cur_frm`

(cherry picked from commit 9fadf5f426)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-29 10:40:41 +05:30
Patrick Eissler
95f9cc99b9 fix: make create button translatable (#38165)
* fix: make all create buttons translatable

* style: use double quotes

---------

Co-authored-by: PatrickDenis-stack <77415730+PatrickDenis-stack@users.noreply.github.com>
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
(cherry picked from commit 8e4b591ea2)
2023-11-29 04:54:25 +00:00
mergify[bot]
4a243ce5b7 fix(regional): use net figures for sales calc (#38260)
fix(regional): use net figures for sales calc (#38260)

(cherry picked from commit 663bb8726c)

Co-authored-by: Dany Robert <danyrt@wahni.com>
2023-11-29 09:08:50 +05:30
mergify[bot]
b9f26ae849 fix: debit credit mismatch in multi-currecy asset purchase receipt (#38342)
fix: debit credit mismatch in multi-currecy asset purchase receipt (#38342)

* fix: Debit credit mimatch in multicurrecy asset purchase receipt

* test: multi currency purchase receipt

* chore: update init files

* test: roolback

(cherry picked from commit add238c892)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-11-29 09:06:34 +05:30
Frappe PR Bot
d4a3d6bbe0 chore(release): Bumped to Version 15.4.0
# [15.4.0](https://github.com/frappe/erpnext/compare/v15.3.0...v15.4.0) (2023-11-28)

### Bug Fixes

* allow on submit for child table fields ([ac7615a](ac7615ac01))
* annual income and expenses in digest ([ca2ad17](ca2ad175d3))
* check reposting settings before allowing editable si ([25bf475](25bf475d5a))
* condition in other bundle utils ([e4d9ef1](e4d9ef1293))
* create contact if existing customer doesn't have contact ([b1b065d](b1b065daf1))
* display all item rate stop messages (backport [#38289](https://github.com/frappe/erpnext/issues/38289)) ([#38307](https://github.com/frappe/erpnext/issues/38307)) ([99c1fbf](99c1fbf9fc))
* do not set repost flag without validating voucher ([6a3c3b4](6a3c3b4cac))
* don't depreciate assets with no schedule on scrapping (backport [#38276](https://github.com/frappe/erpnext/issues/38276)) ([#38293](https://github.com/frappe/erpnext/issues/38293)) ([18613c5](18613c595f))
* filter bundle items based on disabled check ([fb517e8](fb517e823f))
* fiscal year using future date ([b9a1fac](b9a1fac7d8))
* has_product_bundle util to only check for enabled bundles ([5c12872](5c12872f70))
* job card overlap validation (backport [#38345](https://github.com/frappe/erpnext/issues/38345)) ([#38348](https://github.com/frappe/erpnext/issues/38348)) ([d6fe7eb](d6fe7eb10c))
* make parameters of `create_subscription_process` optional (and other minor fixes) ([#38360](https://github.com/frappe/erpnext/issues/38360)) ([721b429](721b429d93))
* Negative Qty and Rates in SO/PO (backport [#38252](https://github.com/frappe/erpnext/issues/38252)) ([#38357](https://github.com/frappe/erpnext/issues/38357)) ([14174df](14174df862))
* no fstring in translation (backport [#38381](https://github.com/frappe/erpnext/issues/38381)) ([#38387](https://github.com/frappe/erpnext/issues/38387)) ([c101855](c1018555a0))
* patch - Duplicate entry quality inspection parameter (backport [#38262](https://github.com/frappe/erpnext/issues/38262)) ([#38264](https://github.com/frappe/erpnext/issues/38264)) ([4c9890a](4c9890a24e))
* Payment Reco Issue and chart of account importer ([4699887](4699887f1c))
* serial no status (backport [#38391](https://github.com/frappe/erpnext/issues/38391)) ([#38397](https://github.com/frappe/erpnext/issues/38397)) ([b65c225](b65c22579d))
* Server Error while creating Product Bundle (backport [#38377](https://github.com/frappe/erpnext/issues/38377)) ([#38380](https://github.com/frappe/erpnext/issues/38380)) ([922aef6](922aef665b))
* skip disabled bundles for non-report utils ([3d46b32](3d46b323b3))
* skip fixed assets in parent ([314a91a](314a91ac4d))
* Supplier `Primary Contact` (backport [#38268](https://github.com/frappe/erpnext/issues/38268)) ([#38286](https://github.com/frappe/erpnext/issues/38286)) ([37d1f1a](37d1f1ac67))
* **ux:** Sales Order Stock Reservation Dialog (backport [#38261](https://github.com/frappe/erpnext/issues/38261)) ([#38344](https://github.com/frappe/erpnext/issues/38344)) ([3cbe599](3cbe59902a))
* validation for existing bundles ([c0de9c0](c0de9c0cef))

### Features

* add Bank Transaction to connections in Journal and Payment Entry (backport [#38297](https://github.com/frappe/erpnext/issues/38297)) ([#38301](https://github.com/frappe/erpnext/issues/38301)) ([72647b8](72647b8624))
* add disabled field in product bundle ([fcd53be](fcd53be188))
* new Report "Lost Quotations" ([#38309](https://github.com/frappe/erpnext/issues/38309)) ([ea2c348](ea2c3487a3))

### Performance Improvements

* optimize total_purchase_cost update ([deed9f5](deed9f5840))
2023-11-28 16:24:28 +00:00
rohitwaghchaure
4bfdab93ad Merge pull request #38383 from frappe/version-15-hotfix
chore: release v15
2023-11-28 21:53:16 +05:30
mergify[bot]
c1018555a0 fix: no fstring in translation (backport #38381) (#38387)
fix: no fstring in translation (#38381)

(cherry picked from commit 8f00481c5f)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2023-11-28 21:36:05 +05:30
Shariq Ansari
9f873749e2 Merge pull request #38400 from frappe/mergify/bp/version-15-hotfix/pr-38398
fix(CRM): create contact if existing customer doesn't have contact (backport #38398)
2023-11-28 20:45:34 +05:30
Shariq Ansari
b1b065daf1 fix: create contact if existing customer doesn't have contact
(cherry picked from commit 23b0b8ba36)
2023-11-28 14:20:10 +00:00
Gursheen Kaur Anand
33b3355cb3 Merge pull request #38396 from frappe/mergify/bp/version-15-hotfix/pr-38392
fix: imports for renamed report (backport #38392)
2023-11-28 19:21:37 +05:30
mergify[bot]
b65c22579d fix: serial no status (backport #38391) (#38397)
fix: serial no status (#38391)

(cherry picked from commit 592fc81260)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-28 18:31:23 +05:30
Gursheen Anand
573c4d2bfc chore: fix imports for renamed report
(cherry picked from commit aee2e12f39)
2023-11-28 12:53:53 +00:00
mergify[bot]
922aef665b fix: Server Error while creating Product Bundle (backport #38377) (#38380)
* fix: product bundle search input

(cherry picked from commit 729fc738af)

* fix: don't select all fields

(cherry picked from commit 8c3713b649)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-28 14:54:05 +05:30
mergify[bot]
a6f3a103db chore: fix flaky test case (backport #38369) (#38373)
chore: fix flaky test case (#38369)

(cherry picked from commit ad3634be7c)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-28 08:36:06 +05:30
Sagar Vora
8c906b422f Merge pull request #38366 from frappe/mergify/bp/version-15-hotfix/pr-38360
fix: make parameters of `create_subscription_process` optional (and other minor fixes) (backport #38360)
2023-11-27 21:06:36 +05:30
Sagar Vora
721b429d93 fix: make parameters of create_subscription_process optional (and other minor fixes) (#38360)
(cherry picked from commit 5a53a4b044)
2023-11-27 14:53:39 +00:00
ruthra kumar
7385db0cce Merge pull request #38359 from frappe/mergify/bp/version-15-hotfix/pr-38354
refactor: handle rounding loss on AR/AP reports (backport #38354)
2023-11-27 12:16:13 +05:30
ruthra kumar
8564d58afe refactor: handle rounding loss on AR/AP reports
(cherry picked from commit 592ce45da7)
2023-11-27 06:22:52 +00:00
mergify[bot]
4699887f1c fix: Payment Reco Issue and chart of account importer
fix: Payment Reco Issue and chart of account importer
2023-11-27 10:31:12 +05:30
mergify[bot]
14174df862 fix: Negative Qty and Rates in SO/PO (backport #38252) (#38357)
fix: Negative Qty and Rates in SO/PO (#38252)

* fix: Don't allow negative qty in SO/PO

* fix: Type casting for safe comparisons

* fix: Grammar in error message

* fix: Negative rates should be allowed via Update Items in SO/PO

* fix: Use `non_negative` property in docfield & emove code validation

(cherry picked from commit b9f5a1c85d)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2023-11-27 09:30:16 +05:30
ruthra kumar
5d993d4bc7 Merge pull request #38356 from frappe/mergify/bp/version-15-hotfix/pr-38081
fix: check reposting ledger settings before setting repost flag (backport #38081)
2023-11-27 09:29:22 +05:30
ruthra kumar
378dc50aa4 chore: resolve conflict 2023-11-27 09:09:04 +05:30
Gursheen Anand
25bf475d5a fix: check reposting settings before allowing editable si
(cherry picked from commit 894ae1fe0f)
2023-11-27 03:35:39 +00:00
Gursheen Anand
ac7615ac01 fix: allow on submit for child table fields
(cherry picked from commit 5fae2f6d57)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
2023-11-27 03:35:39 +00:00
Gursheen Anand
6a3c3b4cac fix: do not set repost flag without validating voucher
(cherry picked from commit ad5edbb1de)
2023-11-27 03:35:38 +00:00
Gursheen Anand
85bd649c64 refactor: validate reposting settings for editables inv
(cherry picked from commit 780b827adc)
2023-11-27 03:35:38 +00:00
mergify[bot]
3cbe59902a fix(ux): Sales Order Stock Reservation Dialog (backport #38261) (#38344)
* fix(ux): no need to select rows to reserve the stock

(cherry picked from commit 9c889b37fb)

* fix: use field `sales_order_item` instead `name`

(cherry picked from commit 73586fd9b2)

* fix(ux): no need to select rows to unreserve the stock

(cherry picked from commit 2a41da94d4)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-26 22:25:51 +05:30
mergify[bot]
cda5ff40f1 refactor: bank transaction (#38182)
refactor: bank transaction (#38182)

(cherry picked from commit 5426b93387)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2023-11-26 18:57:01 +05:30
mergify[bot]
d6fe7eb10c fix: job card overlap validation (backport #38345) (#38348)
fix: job card overlap validation (#38345)

(cherry picked from commit d8245cef72)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-26 16:28:51 +05:30
Deepesh Garg
e0f9c64290 Merge pull request #38332 from frappe/mergify/bp/version-15-hotfix/pr-38309
feat: new Report "Lost Quotations" (#38309)
2023-11-25 17:36:50 +05:30
Raffael Meyer
ea2c3487a3 feat: new Report "Lost Quotations" (#38309)
(cherry picked from commit 477d9fa87e)
2023-11-24 21:28:38 +00:00
Deepesh Garg
64d9c5d61c Merge pull request #38316 from frappe/mergify/bp/version-15-hotfix/pr-38269
fix: skip fixed assets in product bundle (backport #38269)
2023-11-24 16:30:29 +05:30
Deepesh Garg
18f9650188 Merge pull request #38325 from frappe/mergify/bp/version-15-hotfix/pr-38273
fix: annual income and expenses in email digest (#38273)
2023-11-24 16:29:43 +05:30
Gursheen Anand
b9a1fac7d8 fix: fiscal year using future date
(cherry picked from commit 728cc9f725)
2023-11-24 09:51:31 +00:00
Gursheen Anand
ca2ad175d3 fix: annual income and expenses in digest
(cherry picked from commit 52305e3000)
2023-11-24 09:51:30 +00:00
ruthra kumar
2d6b2f7ae3 Merge pull request #38319 from frappe/mergify/bp/version-15-hotfix/pr-38298
perf: optimize update_purchase_cost method  (backport #38298)
2023-11-24 12:21:26 +05:30
ruthra kumar
7fc4e211bc refactor: update project costing based on frequency
(cherry picked from commit dd016e6ced)
2023-11-24 06:20:11 +00:00
ruthra kumar
c06388fe48 refactor: make update_project_cost optional through Buying Settings
(cherry picked from commit 0fe6dcd742)
2023-11-24 06:20:11 +00:00
ruthra kumar
28e695baf8 refactor: provide UI button to recalculate when needed
(cherry picked from commit bcbe6c4a53)
2023-11-24 06:20:10 +00:00
ruthra kumar
deed9f5840 perf: optimize total_purchase_cost update
(cherry picked from commit aa17110bde)
2023-11-24 06:20:10 +00:00
ruthra kumar
220a0f4b11 Merge pull request #38312 from frappe/mergify/bp/version-15-hotfix/pr-38296
chore: index to speed up basic submit/cancel functions on purchase invoice (backport #38296)
2023-11-24 10:04:43 +05:30
Gursheen Anand
d076aca998 chore: linting issues
(cherry picked from commit 1657337887)
2023-11-24 04:30:39 +00:00
Gursheen Anand
3d46b323b3 fix: skip disabled bundles for non-report utils
(cherry picked from commit 362f377f61)
2023-11-24 04:30:38 +00:00
Gursheen Anand
e4d9ef1293 fix: condition in other bundle utils
(cherry picked from commit 8bdb61cb87)
2023-11-24 04:30:38 +00:00
Gursheen Anand
c0de9c0cef fix: validation for existing bundles
(cherry picked from commit 67f43d37df)
2023-11-24 04:30:38 +00:00
Gursheen Anand
5c12872f70 fix: has_product_bundle util to only check for enabled bundles
(cherry picked from commit 3543f86c63)
2023-11-24 04:30:38 +00:00
Gursheen Anand
fb517e823f fix: filter bundle items based on disabled check
(cherry picked from commit 874774fe6c)
2023-11-24 04:30:38 +00:00
Gursheen Anand
fcd53be188 feat: add disabled field in product bundle
(cherry picked from commit ee76af7681)
2023-11-24 04:30:38 +00:00
Gursheen Anand
314a91ac4d fix: skip fixed assets in parent
(cherry picked from commit f9713eeb56)
2023-11-24 04:30:37 +00:00
ruthra kumar
7282dd1a85 chore: speed up Purchase Invoice cancellation
(cherry picked from commit 1efff268b0)
2023-11-24 04:16:22 +00:00
ruthra kumar
3720b7171b chore: index to speed up queries on JE child table reference
(cherry picked from commit 24fcd67f8b)
2023-11-24 04:16:22 +00:00
mergify[bot]
99c1fbf9fc fix: display all item rate stop messages (backport #38289) (#38307)
fix: display all item rate stop messages (#38289)

(cherry picked from commit 3f6d805033)

Co-authored-by: Devin Slauenwhite <devin.slauenwhite@gmail.com>
2023-11-23 23:39:53 +05:30
mergify[bot]
30c349b010 add flt() for None type error (backport #38299) (#38306)
add flt() for None type error (#38299)

(cherry picked from commit 64b44a360a)

Co-authored-by: NandhiniDevi <95607404+Nandhinidevi123@users.noreply.github.com>
2023-11-23 22:42:37 +05:30
mergify[bot]
4c9890a24e fix: patch - Duplicate entry quality inspection parameter (backport #38262) (#38264)
fix: patch - Duplicate entry quality inspection parameter (#38262)

(cherry picked from commit 0ca7527f7a)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-23 22:39:26 +05:30
mergify[bot]
72647b8624 feat: add Bank Transaction to connections in Journal and Payment Entry (backport #38297) (#38301)
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2023-11-23 15:09:23 +01:00
mergify[bot]
18613c595f fix: don't depreciate assets with no schedule on scrapping (backport #38276) (#38293)
fix: don't depreciate assets with no schedule on scrapping (#38276)

fix: don't depreciate non-depreciable assets on scrapping
(cherry picked from commit 816b1b6bd5)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-11-23 14:05:08 +05:30
mergify[bot]
37d1f1ac67 fix: Supplier Primary Contact (backport #38268) (#38286)
fix: Supplier `Primary Contact`

(cherry picked from commit 627165dc7c)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-23 11:13:32 +05:30
ruthra kumar
fb4235c528 Merge pull request #38282 from frappe/mergify/bp/version-15-hotfix/pr-38258
refactor: rename 'Unreconcile Payments' doctype to singular 'Unreconcile Payment' (backport #38258)
2023-11-23 11:09:33 +05:30
ruthra kumar
100ce27a60 chore: update new unreconcile doctype name in JS and PY files
(cherry picked from commit 74f9e34182)
2023-11-23 05:09:24 +00:00
ruthra kumar
df70e048cf chore: rename 'unreconcile payments' to 'unreconcile payment'
(cherry picked from commit 9006c9b747)
2023-11-23 05:09:23 +00:00
ruthra kumar
0c3c36f658 Merge pull request #38280 from frappe/mergify/bp/version-15-hotfix/pr-38257
refactor: optmize outstanding amount query (backport #38257)
2023-11-23 10:36:53 +05:30
ruthra kumar
d01a480149 refactor: optimize outstanding vouchers query
(cherry picked from commit 8b04c1d4f6)
2023-11-23 10:14:25 +05:30
Frappe PR Bot
33869a231c chore(release): Bumped to Version 15.3.0
# [15.3.0](https://github.com/frappe/erpnext/compare/v15.2.0...v15.3.0) (2023-11-21)

### Bug Fixes

* attributes were mandatory for manufacturers ([00b9c23](00b9c2326c))
* issue occured when creating supplier with contact details ([aaccfeb](aaccfeb918))
* overallocation on Payment with PO/SO ([337707b](337707b9cc))
* pass check permission in render_address ([a420e13](a420e13765))
* payment entry rounding error ([384d6b5](384d6b516c))
* set asset's valuation_rate according to asset quantity (backport [#38254](https://github.com/frappe/erpnext/issues/38254)) ([#38256](https://github.com/frappe/erpnext/issues/38256)) ([c60aaa7](c60aaa799a))
* set default asset quantity as 1 [dev] (backport [#38223](https://github.com/frappe/erpnext/issues/38223)) ([#38226](https://github.com/frappe/erpnext/issues/38226)) ([99bf63e](99bf63ec0f))
* Suppier name was not taken when creating address from supplier ([2b94489](2b9448962f))
* Supplier Quotation fields ([#37963](https://github.com/frappe/erpnext/issues/37963)) ([aef955c](aef955c920))
* test case for rounded total with cash disc ([eab18e6](eab18e6f71))
* **Timesheet:** reset billing hours equal to hours if they exceed actual hours (backport [#38134](https://github.com/frappe/erpnext/issues/38134)) ([#38153](https://github.com/frappe/erpnext/issues/38153)) ([5b7b431](5b7b431dc9))
* **Timesheet:** warn user if billing hours > actual hours instead of resetting  (backport [#38239](https://github.com/frappe/erpnext/issues/38239)) ([#38241](https://github.com/frappe/erpnext/issues/38241)) ([1f2f5d8](1f2f5d8cf6))
* TypeError in Subcontracting Receipt (backport [#38200](https://github.com/frappe/erpnext/issues/38200)) ([#38208](https://github.com/frappe/erpnext/issues/38208)) ([3f57a7e](3f57a7e9f0))
* update modified timestamp ([a492e57](a492e574de))
* **ux:** `Task` creation from `Timesheet` (backport [#38207](https://github.com/frappe/erpnext/issues/38207)) ([#38211](https://github.com/frappe/erpnext/issues/38211)) ([e272041](e272041872))
* valuation rate for FG item for subcontracting receipt (backport [#38244](https://github.com/frappe/erpnext/issues/38244)) ([#38245](https://github.com/frappe/erpnext/issues/38245)) ([ed7b845](ed7b845a55))
* valuation rate in report Item Prices ([#38161](https://github.com/frappe/erpnext/issues/38161)) ([f71234e](f71234e3af))
* wrong round off and rounded total ([70eccf7](70eccf7da0))

### Features

* add `Supplier Delivery Note` field in SCR (backport [#38127](https://github.com/frappe/erpnext/issues/38127)) ([#38156](https://github.com/frappe/erpnext/issues/38156)) ([b89a4a7](b89a4a7218))
* Add accounting dimensions to Supplier Quotation ([7d4ac7e](7d4ac7e7ff))
2023-11-21 18:57:56 +00:00
Deepesh Garg
de783da2b6 Merge pull request #38248 from frappe/version-15-hotfix
chore: release v15
2023-11-22 00:26:18 +05:30
mergify[bot]
c60aaa799a fix: set asset's valuation_rate according to asset quantity (backport #38254) (#38256)
fix: set asset's valuation_rate according to asset quantity (#38254)

(cherry picked from commit e2bb4e2baa)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-11-21 22:57:34 +05:30
ruthra kumar
07c0ed127a Merge pull request #38236 from frappe/mergify/bp/version-15-hotfix/pr-38234
test: prevent rounding loss based validation error (backport #38234)
2023-11-21 15:00:40 +05:30
mergify[bot]
ed7b845a55 fix: valuation rate for FG item for subcontracting receipt (backport #38244) (#38245)
fix: valuation rate for FG item for subcontracting receipt (#38244)

(cherry picked from commit 5c308a4f9a)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-21 14:53:03 +05:30
ruthra kumar
c84c97577f Merge branch 'version-15-hotfix' into mergify/bp/version-15-hotfix/pr-38234 2023-11-21 13:43:58 +05:30
mergify[bot]
1f2f5d8cf6 fix(Timesheet): warn user if billing hours > actual hours instead of resetting (backport #38239) (#38241)
fix(Timesheet): warn user if billing hours > actual hours instead of resetting  (#38239)

* revert: "fix(Timesheet): reset billing hours equal to hours if they exceed actual hours"

This reverts commit 0ec8034507.

* fix: warn user if billing hours > actual hours

(cherry picked from commit ac91030b31)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2023-11-21 13:41:50 +05:30
ruthra kumar
bb77546849 Merge pull request #38237 from frappe/mergify/bp/version-15-hotfix/pr-37586
fix: overallocation on purchase order to multiple invoices (backport #37586)
2023-11-21 13:26:39 +05:30
ruthra kumar
2bec89a5bf chore: fix flakiness test_sales_order_partial_advance_payment
(cherry picked from commit 4dff2c7a0d)
2023-11-21 07:03:07 +00:00
ruthra kumar
034375b4f5 refactor(test): make use of utility methods
(cherry picked from commit 547993f801)
2023-11-21 07:03:06 +00:00
ruthra kumar
9600a2cdb7 test: overalloction on reconciliation when PO is involved
(cherry picked from commit 946228d783)
2023-11-21 07:03:06 +00:00
ruthra kumar
337707b9cc fix: overallocation on Payment with PO/SO
(cherry picked from commit 23df4205f8)
2023-11-21 07:03:05 +00:00
ruthra kumar
15f40a7af6 test: prevent rounding loss based validation error
(cherry picked from commit 56e991b7f4)
2023-11-21 12:16:36 +05:30
mergify[bot]
99bf63ec0f fix: set default asset quantity as 1 [dev] (backport #38223) (#38226)
fix: set default asset quantity as 1 [dev] (#38223)

* fix: make default asset quantity as 1

* fix: get rate_of_depreciation from asset category for asset auto-creation

* chore: create asset depr schedules on PR submit, not asset submit

* fix: set default asset quantity as 1

* chore: move patch from v15 to v14

(cherry picked from commit 9903049c7a)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-11-20 22:49:38 +05:30
ruthra kumar
491e9b4fd5 Merge pull request #38214 from frappe/mergify/bp/version-15-hotfix/pr-38210
refactor: extend billed amount update flag to POS Invoice as well (backport #38210)
2023-11-20 15:02:24 +05:30
ruthra kumar
f88ec533e6 Merge pull request #38216 from frappe/mergify/bp/version-15-hotfix/pr-38212
refactor: update scheduled job for bulk transaction (backport #38212)
2023-11-20 14:49:33 +05:30
ruthra kumar
afaf6afd27 refactor: update scheduled job for bulk transaction
(cherry picked from commit fb06ad7330)
2023-11-20 08:51:31 +00:00
ruthra kumar
1ed65524e5 refactor: add flag to POS Invoice
(cherry picked from commit 83a13e22b7)
2023-11-20 08:36:51 +00:00
ruthra kumar
5da9a22e4c refactor: set default for 'update_billed_amount_in_delivery_note'
(cherry picked from commit ee0c64215d)
2023-11-20 08:36:50 +00:00
mergify[bot]
e272041872 fix(ux): Task creation from Timesheet (backport #38207) (#38211)
* fix(ux): enable `Quick Entry` for `Task`

(cherry picked from commit 331ad62f3c)

* fix: add route options for new `Task`

(cherry picked from commit 2f3fc12c08)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-20 12:44:26 +05:30
mergify[bot]
3f57a7e9f0 fix: TypeError in Subcontracting Receipt (backport #38200) (#38208)
fix: TypeError in Subcontracting Receipt

(cherry picked from commit f6e93f084a)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-20 12:40:41 +05:30
ruthra kumar
2186e1cce4 Merge pull request #38197 from frappe/mergify/bp/version-15-hotfix/pr-38159
refactor: provision to truncate `remarks` in General Ledger and Accounts Receivable/Payable reports (backport #38159)
2023-11-20 12:31:44 +05:30
Sagar Vora
7622a2791e Merge pull request #38199 from frappe/mergify/bp/version-15-hotfix/pr-37963
fix: Supplier Quotation fields (backport #37963)
2023-11-20 11:47:01 +05:30
Sagar Vora
88b62a0a61 chore: resolve conflicts 2023-11-20 11:42:57 +05:30
Vishakh Desai
aef955c920 fix: Supplier Quotation fields (#37963)
(cherry picked from commit c2bda2c705)

# Conflicts:
#	erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
2023-11-20 04:42:48 +00:00
ruthra kumar
c2cb86b40a refactor: add substring logic in ar/ap report
(cherry picked from commit a9bf906545)
2023-11-20 04:38:26 +00:00
ruthra kumar
9ee8a78083 refactor: provision to set remarks length in accounts settings
(cherry picked from commit 97090ff367)
2023-11-20 04:38:26 +00:00
Deepesh Garg
0f227aa883 Merge pull request #38191 from frappe/mergify/bp/version-15-hotfix/pr-38171
fix: wrong round off and rounded total (#38171)
2023-11-19 19:44:23 +05:30
Deepesh Garg
fc1ee1b3ed Merge pull request #38174 from frappe/mergify/bp/version-15-hotfix/pr-38147
fix: issue occured when creating supplier with contact details (#38147)
2023-11-19 19:21:36 +05:30
Deepesh Garg
cf7d0ab8a5 Merge pull request #38176 from frappe/mergify/bp/version-15-hotfix/pr-38163
fix: attributes were mandatory for manufacturers (#38163)
2023-11-19 19:20:56 +05:30
Deepesh Garg
c29bc8c97f chore: linting issues 2023-11-19 19:20:06 +05:30
Dany Robert
eab18e6f71 fix: test case for rounded total with cash disc
(cherry picked from commit cc60c328fe)
2023-11-19 13:49:19 +00:00
Dany Robert
70eccf7da0 fix: wrong round off and rounded total
(cherry picked from commit 3a487bd33a)
2023-11-19 13:49:19 +00:00
Deepesh Garg
d0ae566e38 Merge pull request #38189 from frappe/mergify/bp/version-15-hotfix/pr-38177
fix: payment entry rounding error (#38177)
2023-11-19 19:10:59 +05:30
Devin Slauenwhite
384d6b516c fix: payment entry rounding error
(cherry picked from commit 3d1e3a9cde)
2023-11-19 13:17:51 +00:00
Deepesh Garg
13d965276f Merge pull request #38180 from frappe/mergify/bp/version-15-hotfix/pr-38161
fix: valuation rate in report Item Prices (#38161)
2023-11-19 18:44:50 +05:30
Deepesh Garg
7be7c6a479 Merge pull request #38173 from frappe/mergify/bp/version-15-hotfix/pr-38142
feat: Add accounting dimensions to Supplier Quotation (#38142)
2023-11-19 17:08:04 +05:30
Patrick Eissler
f71234e3af fix: valuation rate in report Item Prices (#38161)
Co-authored-by: PatrickDenis-stack <77415730+PatrickDenis-stack@users.noreply.github.com>
(cherry picked from commit 32f622ef80)
2023-11-18 14:55:16 +00:00
barredterra
a492e574de fix: update modified timestamp
Was missing in 434c2a1815
2023-11-18 15:44:59 +01:00
PatrickDenis-stack
00b9c2326c fix: attributes were mandatory for manufacturers
(cherry picked from commit 434c2a1815)
2023-11-18 14:39:01 +00:00
Deepesh Garg
3172448c31 chore: Resolve conflicts 2023-11-18 19:58:10 +05:30
Kunhi
2b9448962f fix: Suppier name was not taken when creating address from supplier
(cherry picked from commit 545ef3c234)
2023-11-18 14:18:32 +00:00
kunhi
aaccfeb918 fix: issue occured when creating supplier with contact details
(cherry picked from commit 7842c9fba8)
2023-11-18 14:18:31 +00:00
Deepesh Garg
7d4ac7e7ff feat: Add accounting dimensions to Supplier Quotation
(cherry picked from commit 089da459f7)

# Conflicts:
#	erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
2023-11-18 14:11:38 +00:00
Sagar Vora
d89a9a5bfd Merge pull request #38169 from frappe/mergify/bp/version-15-hotfix/pr-38167
fix: pass check permission in `render_address` (backport #38167)
2023-11-18 17:39:49 +05:30
Vishakh Desai
a420e13765 fix: pass check permission in render_address
(cherry picked from commit 45299fe4b3)
2023-11-18 12:08:58 +00:00
mergify[bot]
b89a4a7218 feat: add Supplier Delivery Note field in SCR (backport #38127) (#38156)
feat: add `Supplier Delivery Note` field in SCR

(cherry picked from commit da80e4dbce)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-17 22:07:53 +05:30
mergify[bot]
5b7b431dc9 fix(Timesheet): reset billing hours equal to hours if they exceed actual hours (backport #38134) (#38153)
fix(Timesheet): reset billing hours equal to hours if they exceed actual hours (#38134)

(cherry picked from commit 20c6e9fca2)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2023-11-17 18:25:37 +05:30
Frappe PR Bot
5336cf08fa chore(release): Bumped to Version 15.2.0
# [15.2.0](https://github.com/frappe/erpnext/compare/v15.1.0...v15.2.0) (2023-11-17)

### Bug Fixes

* add revaluation journal filter in Payable report ([c967468](c9674683d1))
* allow regional gl in payment entry for gl preview ([#38136](https://github.com/frappe/erpnext/issues/38136)) ([20e15eb](20e15ebd22))
* bom creator not able to amend / duplicate  (backport [#38128](https://github.com/frappe/erpnext/issues/38128)) ([#38129](https://github.com/frappe/erpnext/issues/38129)) ([ed9cd7c](ed9cd7c92b))
* **dn:** regression from bulk transaction fix ([ea43862](ea43862fcd))
* GL Entries for receiving non CWIP assets using Purchase Receipt ([#38123](https://github.com/frappe/erpnext/issues/38123)) ([d512371](d51237195a))
* handle partial return against invoices ([ac61abb](ac61abb2e4))
* remove ESS role when not mapped to employee (backport [#37867](https://github.com/frappe/erpnext/issues/37867)) ([#38133](https://github.com/frappe/erpnext/issues/38133)) ([8276614](8276614c14))
* reset dr_or_cr for every reference ([22b39ac](22b39ac4b4))
* test total unallocated amount in payment ([cb4bb5b](cb4bb5b4ee))
* valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (backport [#38094](https://github.com/frappe/erpnext/issues/38094)) ([#38097](https://github.com/frappe/erpnext/issues/38097)) ([28e6e5d](28e6e5d910))

### Features

* virtual parent doctype ([e68d2e1](e68d2e138a))
2023-11-17 07:43:26 +00:00
Deepesh Garg
cb725dcf9f Merge pull request #38145 from frappe/version-15-hotfix
chore: v15 Release
2023-11-17 13:12:09 +05:30
mergify[bot]
20e15ebd22 fix: allow regional gl in payment entry for gl preview (#38136)
fix: allow regional gl in payment entry for gl preview (#38136)

(cherry picked from commit 7e43d7b131)

Co-authored-by: Smit Vora <smitvora203@gmail.com>
2023-11-17 12:40:18 +05:30
ruthra kumar
a699f8b9de Merge pull request #38139 from frappe/mergify/bp/version-15-hotfix/pr-38119
fix: add revaluation journal filter in Payable report (backport #38119)
2023-11-17 10:04:23 +05:30
ruthra kumar
c9674683d1 fix: add revaluation journal filter in Payable report
(cherry picked from commit 134201794a)
2023-11-17 10:01:35 +05:30
mergify[bot]
8276614c14 fix: remove ESS role when not mapped to employee (backport #37867) (#38133)
fix: remove ESS role when not mapped to employee (#37867)

* fix: remove ESS role when not mapped to employee

* fix: emp role removal on unlinking

* fix: test case for user employee role mapping

* fix: mapped employee and user on creation

(cherry picked from commit 56b8d1b927)

Co-authored-by: Dany Robert <danyrt@wahni.com>
2023-11-16 20:27:35 +05:30
mergify[bot]
ed9cd7c92b fix: bom creator not able to amend / duplicate (backport #38128) (#38129)
fix: bom creator not able to amend / duplicate  (#38128)

fix: bom creator not able to amend
(cherry picked from commit 2df767f596)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-16 18:53:08 +05:30
Deepesh Garg
d51237195a fix: GL Entries for receiving non CWIP assets using Purchase Receipt (#38123)
* fix: GL Entries for receiving non CWIP assets using Purchase Receipt

* test: Update tests
2023-11-16 13:38:10 +05:30
Deepesh Garg
32039d4de1 Merge pull request #38126 from frappe/mergify/bp/version-15-hotfix/pr-38090
fix(dn): regression from bulk transaction fix (#38090)
2023-11-16 13:00:44 +05:30
David Arnold
ea43862fcd fix(dn): regression from bulk transaction fix
(cherry picked from commit 426c245032)
2023-11-16 07:13:47 +00:00
Frappe PR Bot
54a6fbaeba chore(release): Bumped to Version 15.1.0
# [15.1.0](https://github.com/frappe/erpnext/compare/v15.0.0...v15.1.0) (2023-11-16)

### Bug Fixes

* `PermissionError` while creating DN from SO (backport [#37758](https://github.com/frappe/erpnext/issues/37758)) ([#37768](https://github.com/frappe/erpnext/issues/37768)) ([e742310](e7423109b6))
* `TypeError` in PR for non-stock item (backport [#37819](https://github.com/frappe/erpnext/issues/37819)) ([#37842](https://github.com/frappe/erpnext/issues/37842)) ([847dd9e](847dd9e671))
* add translation wrapper (backport [#37911](https://github.com/frappe/erpnext/issues/37911)) ([#37947](https://github.com/frappe/erpnext/issues/37947)) ([915ca47](915ca47515))
* asset depreciation ledger (backport [#37991](https://github.com/frappe/erpnext/issues/37991)) ([#37993](https://github.com/frappe/erpnext/issues/37993)) ([b3562bd](b3562bdb87))
* avoid name clash in delivery stop (backport [#37306](https://github.com/frappe/erpnext/issues/37306)) ([#37702](https://github.com/frappe/erpnext/issues/37702)) ([bfd240a](bfd240a19d))
* close `Credit Limit Crossed` dialog (backport [#38052](https://github.com/frappe/erpnext/issues/38052)) ([#38059](https://github.com/frappe/erpnext/issues/38059)) ([cff56d4](cff56d4e50))
* COA Importer app related issues ([#37238](https://github.com/frappe/erpnext/issues/37238)) ([d5bf7a0](d5bf7a039d))
* consider reserved stock while cancelling a stock transaction (backport [#37754](https://github.com/frappe/erpnext/issues/37754)) ([#37906](https://github.com/frappe/erpnext/issues/37906)) ([e0b0b6b](e0b0b6bb7d))
* credit note receive payment entry ([9781f9b](9781f9b7b1))
* **customer:** contact creation for companies ([#38055](https://github.com/frappe/erpnext/issues/38055)) ([fc09d75](fc09d757f0))
* **customer:** quick form and integration fixes ([#37386](https://github.com/frappe/erpnext/issues/37386)) ([02e2258](02e225845e))
* **defaults:** apply discount and provisonal defaults from item group and brand if available (backport [#37466](https://github.com/frappe/erpnext/issues/37466)) ([#37704](https://github.com/frappe/erpnext/issues/37704)) ([f382b1c](f382b1cf61))
* deprecate unused create_contact ([6f2b34e](6f2b34e7d5))
* don't reset rate if greater than zero in standalone debit note (backport [#37935](https://github.com/frappe/erpnext/issues/37935)) ([#37941](https://github.com/frappe/erpnext/issues/37941)) ([e156564](e156564ea4))
* force delete removed report (backport [#37668](https://github.com/frappe/erpnext/issues/37668)) ([#37670](https://github.com/frappe/erpnext/issues/37670)) ([a871d95](a871d955d4))
* handle gle for standalone credit and debit notes ([6e463b1](6e463b1953))
* Identical items are added line by line instead of grouped together in POS ([#37986](https://github.com/frappe/erpnext/issues/37986)) ([011cf3d](011cf3d73e))
* ignore Stock Reservation for future dated PR (backport [#37979](https://github.com/frappe/erpnext/issues/37979)) ([#37990](https://github.com/frappe/erpnext/issues/37990)) ([d74f0ef](d74f0ef586))
* In-Transit Warehouse company filter (backport [#37796](https://github.com/frappe/erpnext/issues/37796)) ([#37798](https://github.com/frappe/erpnext/issues/37798)) ([254ec2c](254ec2cfd1))
* incorrect material request quantity in production plan (backport [#37785](https://github.com/frappe/erpnext/issues/37785)) ([#37790](https://github.com/frappe/erpnext/issues/37790)) ([8b3c4a9](8b3c4a948c))
* indentation issue in the Production Plan Summary report (backport [#38019](https://github.com/frappe/erpnext/issues/38019)) ([#38069](https://github.com/frappe/erpnext/issues/38069)) ([6d325a4](6d325a40a1))
* indexing on Delivery Note Item (backport [#37766](https://github.com/frappe/erpnext/issues/37766)) ([#37778](https://github.com/frappe/erpnext/issues/37778)) ([98a7c17](98a7c170a0))
* link between parent and child procedure (backport [#37903](https://github.com/frappe/erpnext/issues/37903)) ([#37944](https://github.com/frappe/erpnext/issues/37944)) ([a065f22](a065f22a4c))
* list index out of range (backport [#37890](https://github.com/frappe/erpnext/issues/37890)) ([#37920](https://github.com/frappe/erpnext/issues/37920)) ([e71ef10](e71ef10ca9))
* make `Material Request Item` required if `Material Request` is set in PO (backport [#37928](https://github.com/frappe/erpnext/issues/37928)) ([#37937](https://github.com/frappe/erpnext/issues/37937)) ([7ad0817](7ad08179f2))
* make adjustment entry using stock reconciliation (backport [#37995](https://github.com/frappe/erpnext/issues/37995)) ([#38009](https://github.com/frappe/erpnext/issues/38009)) ([b23fa1f](b23fa1f5dd))
* make changes that enable gantt view for job cards (backport [#37661](https://github.com/frappe/erpnext/issues/37661)) ([#37757](https://github.com/frappe/erpnext/issues/37757)) ([f132552](f132552968))
* make item field read-only in batch (backport [#38010](https://github.com/frappe/erpnext/issues/38010)) ([#38034](https://github.com/frappe/erpnext/issues/38034)) ([99b7cdb](99b7cdb5be))
* make project page translatable (backport [#37743](https://github.com/frappe/erpnext/issues/37743)) ([#37801](https://github.com/frappe/erpnext/issues/37801)) ([59e67cd](59e67cd384))
* Mark Status field in Payment Entry 'no_copy'. ([#38000](https://github.com/frappe/erpnext/issues/38000)) ([3c0f8b1](3c0f8b15a0))
* minor change added to test_case ([b1714ec](b1714ec21d))
* minor issue ([24be044](24be04427c))
* **minor:** set tax values for item variants (backport [#37674](https://github.com/frappe/erpnext/issues/37674)) ([#37739](https://github.com/frappe/erpnext/issues/37739)) ([5c46d74](5c46d7452e))
* new logic for handling revaluation journals ([fb71a6e](fb71a6e787))
* Not able to save subcontracting receipt ([#38085](https://github.com/frappe/erpnext/issues/38085)) ([a874997](a8749977e1))
* **packed_item:** ensure proper names for ref integrity (backport [#37597](https://github.com/frappe/erpnext/issues/37597)) ([#37794](https://github.com/frappe/erpnext/issues/37794)) ([9aa29f5](9aa29f55d9))
* permission error while creating Supplier Quotation from Portal (backport [#37864](https://github.com/frappe/erpnext/issues/37864)) ([#37871](https://github.com/frappe/erpnext/issues/37871)) ([be8399f](be8399f52e))
* **plaid:** Do not sync pending transactions ([2149de4](2149de44b1))
* POS change amount gl entry with no amount ([#37799](https://github.com/frappe/erpnext/issues/37799)) ([fd7a768](fd7a768535))
* Quality Inspection Parameter migration - DuplicateEntryError due to case sensitivity (backport [#37499](https://github.com/frappe/erpnext/issues/37499)) ([#37917](https://github.com/frappe/erpnext/issues/37917)) ([7d0f1f4](7d0f1f4235))
* remove from or target warehouse for non internal transfer entries (backport [#37612](https://github.com/frappe/erpnext/issues/37612)) ([#37627](https://github.com/frappe/erpnext/issues/37627)) ([3155790](31557902b8))
* remove validation for negative outstanding invoices ([8602a3e](8602a3eab1))
* remove voucher type and no for Item and Warehouse based reposting ([b96be67](b96be67a1f))
* sales order not assigned to territory orders (backport [#37905](https://github.com/frappe/erpnext/issues/37905)) ([#38025](https://github.com/frappe/erpnext/issues/38025)) ([40cc3a7](40cc3a7610))
* skip check for removed validation ([22e58e0](22e58e0ee0))
* sort by section code ([06bb1a3](06bb1a3208))
* standard submit perm in repost ledger for editable invoices (backport [#37826](https://github.com/frappe/erpnext/issues/37826)) ([#37855](https://github.com/frappe/erpnext/issues/37855)) ([71361f7](71361f7673))
* status for over delivery or billing ([95d6742](95d6742587))
* test for invoice returns ([a89af58](a89af589e8))
* type error on new payment entry ([5937135](59371358ae))
* typo in AR report ([fc3d303](fc3d303b82))
* typo in function name and msg (backport [#37722](https://github.com/frappe/erpnext/issues/37722)) ([#37741](https://github.com/frappe/erpnext/issues/37741)) ([4819fde](4819fde8c5))
* unsupported operand type(s) for serial and batch bundle in POS Invoice (backport [#37721](https://github.com/frappe/erpnext/issues/37721)) ([#37731](https://github.com/frappe/erpnext/issues/37731)) ([b03c65f](b03c65f21d))
* use get_all instead of get_list ([2a5b3bd](2a5b3bdfd9))
* validate so item with qtn ([71538cf](71538cfab1))
* valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (backport [#38094](https://github.com/frappe/erpnext/issues/38094)) (backport [#38097](https://github.com/frappe/erpnext/issues/38097)) ([#38101](https://github.com/frappe/erpnext/issues/38101)) ([880cea5](880cea5b36))

### Features

* **accounts_receivable:** test_case added for multi-select customer group ([848efe8](848efe8047))
* add cols for supplier inv details ([e51e5b3](e51e5b36e2))
* allow return of components for SCO that don't have SCR created (backport [#37686](https://github.com/frappe/erpnext/issues/37686)) ([#37693](https://github.com/frappe/erpnext/issues/37693)) ([4044325](40443258cf))
* auto reserve stock for Sales Order on purchase (backport [#37603](https://github.com/frappe/erpnext/issues/37603)) ([#37648](https://github.com/frappe/erpnext/issues/37648)) ([da5bf50](da5bf501eb))
* **delivery:** link to delivery notes list view from delivery trip (backport [#37604](https://github.com/frappe/erpnext/issues/37604)) ([#37696](https://github.com/frappe/erpnext/issues/37696)) ([08ea62f](08ea62f4e4))
* multi-select customer group in AR Report ([fff294f](fff294fb37))
* proprietorship & partnership options in entity type ([6df125a](6df125a05f))
* reserved production plan sub assembly items (backport [#37884](https://github.com/frappe/erpnext/issues/37884)) ([#37927](https://github.com/frappe/erpnext/issues/37927)) ([df90fd7](df90fd7b35))
* settings page for repost ([c047fd7](c047fd7ac5))
* **Stock Balance:** add filters from route (backport [#37836](https://github.com/frappe/erpnext/issues/37836)) ([#37840](https://github.com/frappe/erpnext/issues/37840)) ([fad8228](fad8228a67))

### Performance Improvements

* Add index to supplier invoice field (backport [#37861](https://github.com/frappe/erpnext/issues/37861)) ([#37863](https://github.com/frappe/erpnext/issues/37863)) ([b1982a6](b1982a6961))
* index return against for purchase invoice (backport [#37881](https://github.com/frappe/erpnext/issues/37881)) ([#37883](https://github.com/frappe/erpnext/issues/37883)) ([febd20a](febd20acbc))
2023-11-16 06:51:17 +00:00
Ankush Menat
3ce734e372 ci: change release branch
(cherry picked from commit d0a74419b3)
2023-11-16 12:19:39 +05:30
Ankush Menat
d0a74419b3 ci: change release branch 2023-11-16 12:18:47 +05:30
Deepesh Garg
57dea69185 Merge pull request #38120 from frappe/mergify/bp/version-15-hotfix/pr-38071
fix: handle partial return against invoices in payment entries (#38071)
2023-11-16 10:53:56 +05:30
Gursheen Anand
cb4bb5b4ee fix: test total unallocated amount in payment
(cherry picked from commit 2499675ad1)
2023-11-16 05:07:00 +00:00
Gursheen Anand
376e09680c test: payment against partial return invoices
(cherry picked from commit 09f9764bbd)
2023-11-16 05:07:00 +00:00
Gursheen Anand
22b39ac4b4 fix: reset dr_or_cr for every reference
(cherry picked from commit a59c942cd4)
2023-11-16 05:06:59 +00:00
Gursheen Anand
ac61abb2e4 fix: handle partial return against invoices
(cherry picked from commit 5b446d4575)
2023-11-16 05:06:59 +00:00
ruthra kumar
d18fd87650 Merge pull request #38118 from frappe/mergify/bp/version-15-hotfix/pr-38038
refactor: supercharge Bulk actions (backport #38038)
2023-11-16 10:22:20 +05:30
ruthra kumar
00a62692dc Merge pull request #38117 from frappe/mergify/bp/version-15-hotfix/pr-38082
refactor: use 'boolean' parameter while fetching FY year (backport #38082)
2023-11-16 10:07:33 +05:30
ruthra kumar
0134be4915 refactor: raise exception on invalid date
(cherry picked from commit a393a6b76c)
2023-11-16 04:22:47 +00:00
ruthra kumar
f28d718732 refactor: update traceback on retry
(cherry picked from commit a52a1b49af)
2023-11-16 04:22:47 +00:00
ruthra kumar
df5fcbee71 refactor: support list view filters
(cherry picked from commit 93295bf25b)
2023-11-16 04:22:47 +00:00
ruthra kumar
76f3d4a31c chore: resolve linting issue
(cherry picked from commit 73639db910)
2023-11-16 04:22:47 +00:00
ruthra kumar
0ec2978ea0 refactor: rollback for retries and UI alerts
(cherry picked from commit c320288690)
2023-11-16 04:22:47 +00:00
ruthra kumar
db60e147e0 refactor: barebones retry functionality
(cherry picked from commit 0aa1636d04)
2023-11-16 04:22:47 +00:00
ruthra kumar
33f1e709f1 chore: show retried in list view
(cherry picked from commit 194d70f8a0)
2023-11-16 04:22:46 +00:00
ruthra kumar
696f8b0ae0 refactor: add basic functionalities
(cherry picked from commit af35590549)
2023-11-16 04:22:46 +00:00
ruthra kumar
e68d2e138a feat: virtual parent doctype
(cherry picked from commit a248b13cc3)
2023-11-16 04:22:46 +00:00
ruthra kumar
461f7a1a1c chore: make from_doctype readonly
(cherry picked from commit b0dfc936a1)
2023-11-16 04:22:46 +00:00
ruthra kumar
6eaf67e700 chore: add indexes
(cherry picked from commit 73090fa130)
2023-11-16 04:22:46 +00:00
ruthra kumar
f0a8c83fa8 chore: add list view filters
(cherry picked from commit ade09bc709)
2023-11-16 04:22:46 +00:00
ruthra kumar
feb49f23ed refactor: simplify logging logic bulk_transaction
(cherry picked from commit ebd74a4e5b)
2023-11-16 04:22:45 +00:00
ruthra kumar
3be8bfe9d8 chore: rearrange fields
(cherry picked from commit c4f8f3613f)
2023-11-16 04:22:45 +00:00
ruthra kumar
bf0d8c16ac chore: convert child to normal table
(cherry picked from commit e5a8ad54e2)
2023-11-16 04:22:45 +00:00
ruthra kumar
9a9d5775e8 chore: remove 'Bulk Transaction Log' doctype
(cherry picked from commit 815c616f18)
2023-11-16 04:22:45 +00:00
ruthra kumar
e2dd414793 refactor: use 'boolean' parameter while fetching FY year
(cherry picked from commit c31ee8ea33)
2023-11-16 04:18:34 +00:00
mergify[bot]
8bc871a842 chore: change read only condition of asset quantity field (backport #38111) (#38113)
chore: change read only condition of asset quantity field (#38111)

chore: change read only condition of asset quantity
(cherry picked from commit 6e0362dee8)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-11-15 18:01:33 +05:30
mergify[bot]
880cea5b36 fix: valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (backport #38094) (backport #38097) (#38101)
fix: valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (backport #38094) (#38097)

fix: valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (#38094)

fix: valuation rate for the subcontracting receipt supplied items with batch
(cherry picked from commit 3e77c0b564)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit 28e6e5d910)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-11-14 22:18:56 +05:30
mergify[bot]
28e6e5d910 fix: valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (backport #38094) (#38097)
fix: valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (#38094)

fix: valuation rate for the subcontracting receipt supplied items with batch
(cherry picked from commit 3e77c0b564)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-14 21:15:44 +05:30
mergify[bot]
77b1eedcf4 chore: refetch item images on transaction save (backport #38095) (#38099)
chore: refetch item images on transaction save (#38095)

chore: re fetch item images on transaction save
(cherry picked from commit e93a19ffb5)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-11-14 20:11:19 +05:30
Deepesh Garg
9f9a4a9eab Merge pull request #38088 from frappe/version-15-hotfix
chore: release v15
2023-11-14 18:52:01 +05:30
mergify[bot]
a8749977e1 fix: Not able to save subcontracting receipt (#38085)
fix: Not able to save subcontracting receipt (#38085)

(cherry picked from commit e769e750ec)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-14 15:57:36 +05:30
mergify[bot]
4fdd1ec498 chore: delete comments and unlink attachments on company transactions deletion (backport #38077) (#38079)
* chore: delete comments and unlink attachments on company transactions deletion

(cherry picked from commit 2f9e96e324)

* fix: unrelated transation date typo

(cherry picked from commit b097bb20d9)

---------

Co-authored-by: anandbaburajan <anandbaburajan@gmail.com>
2023-11-13 19:17:00 +05:30
mergify[bot]
6d325a40a1 fix: indentation issue in the Production Plan Summary report (backport #38019) (#38069)
fix: indentation issue in the Production Plan Summary report (#38019)

fix: Production Plan Summary report
(cherry picked from commit 4a111f7362)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-13 14:03:29 +05:30
bVisible
011cf3d73e fix: Identical items are added line by line instead of grouped together in POS (#37986)
fix: Identical items are added line by line instead of grouped together in POS (#37986)
2023-11-13 14:01:42 +05:30
ruthra kumar
f6b56f225b Merge pull request #38067 from frappe/mergify/bp/version-15-hotfix/pr-38064
refactor: add revaluation journal checkbox in AR/AP summary reports (backport #38064)
2023-11-13 13:39:24 +05:30
ruthra kumar
d71d5a2981 refactor: add revaluation journal checkbox in AR/AP summary reports
(cherry picked from commit 95edd82638)
2023-11-13 07:52:12 +00:00
Raffael Meyer
6ab2f83a61 Merge pull request #38061 from frappe/mergify/bp/version-15-hotfix/pr-38055
fix(customer): contact creation for companies (backport #38055, #38060)
2023-11-12 20:27:20 +01:00
barredterra
6f2b34e7d5 fix: deprecate unused create_contact 2023-11-12 20:01:10 +01:00
barredterra
d3d10231b9 test: parse full name 2023-11-12 19:44:01 +01:00
barredterra
f61b476be1 refactor: parse full name 2023-11-12 19:43:51 +01:00
barredterra
0142a9308b chore: resolve conflicts 2023-11-12 19:43:01 +01:00
David Arnold
fc09d757f0 fix(customer): contact creation for companies (#38055)
(cherry picked from commit 9fde782403)

# Conflicts:
#	erpnext/selling/doctype/customer/customer.py
2023-11-12 18:06:57 +00:00
mergify[bot]
cff56d4e50 fix: close Credit Limit Crossed dialog (backport #38052) (#38059)
fix: close `Credit Limit Crossed` dialog (#38052)

(cherry picked from commit 94faa44697)

Co-authored-by: Arjun <arjun99c@gmail.com>
2023-11-12 18:07:16 +05:30
mergify[bot]
d5bf7a039d fix: COA Importer app related issues (#37238)
fix: COA Importer app related issues (#37238)

* fix: COA Importer app related issues

* fix: Clear all account links fields befor import

* fix: Attribute error

(cherry picked from commit 8634abc021)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-11-12 17:41:18 +05:30
mergify[bot]
02e225845e fix(customer): quick form and integration fixes (#37386)
fix(customer): quick form and integration fixes (#37386)

(cherry picked from commit ae508144cd)

Co-authored-by: David Arnold <dgx.arnold@gmail.com>
2023-11-11 20:19:22 +05:30
mergify[bot]
99b7cdb5be fix: make item field read-only in batch (backport #38010) (#38034)
fix: make item field read-only in batch

(cherry picked from commit 779260fb49)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-11 10:48:09 +05:30
ruthra kumar
ddb1a7643a Merge pull request #38036 from frappe/mergify/bp/version-15-hotfix/pr-38004
fix: handling of exchange rate journals in AR/AP (backport #38004)
2023-11-10 11:59:06 +05:30
ruthra kumar
fb71a6e787 fix: new logic for handling revaluation journals
(cherry picked from commit 1d8fcd66e6)
2023-11-10 11:18:59 +05:30
mergify[bot]
40cc3a7610 fix: sales order not assigned to territory orders (backport #37905) (#38025)
fix: sales order not assigned to territory orders (#37905)

filtered sales order are not assigned to 'territory_orders' which results in 0 order amount and 0 billing amount in the output

(cherry picked from commit 45b4bfc947)

Co-authored-by: jabir-elat <44110258+jabir-elat@users.noreply.github.com>
2023-11-09 21:52:27 +05:30
mergify[bot]
3c0f8b15a0 fix: Mark Status field in Payment Entry 'no_copy'. (#38000)
fix: Mark Status field in Payment Entry 'no_copy'.

(cherry picked from commit a89afb65d7)

Co-authored-by: Bernd Oliver Sünderhauf <46800703+bosue@users.noreply.github.com>
2023-11-09 14:06:46 +05:30
Deepesh Garg
1b103faf05 Merge pull request #38007 from frappe/mergify/bp/version-15-hotfix/pr-37828
fix: payments irrespective of party types (backport #37828)
2023-11-09 14:06:14 +05:30
ruthra kumar
54bed25056 Merge pull request #38013 from frappe/mergify/bp/version-15-hotfix/pr-37716
feat: multi-select customer group in AR Report (backport #37716)
2023-11-09 13:23:38 +05:30
mergify[bot]
b23fa1f5dd fix: make adjustment entry using stock reconciliation (backport #37995) (#38009)
fix: make adjustment entry using stock reconciliation (#37995)

fix: do adjustment entry using stock reconciliation
(cherry picked from commit a8216b9727)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-09 13:14:32 +05:30
vishal
b1714ec21d fix: minor change added to test_case
(cherry picked from commit 30402033bc)
2023-11-09 07:35:38 +00:00
vishal
848efe8047 feat(accounts_receivable): test_case added for multi-select customer group
(cherry picked from commit de445b32f5)
2023-11-09 07:35:38 +00:00
vishal
24be04427c fix: minor issue
(cherry picked from commit b60c57a97d)
2023-11-09 07:35:38 +00:00
vishal
fff294fb37 feat: multi-select customer group in AR Report
(cherry picked from commit 8903c1bc6f)
2023-11-09 07:35:38 +00:00
Gursheen Anand
2a5b3bdfd9 fix: use get_all instead of get_list
(cherry picked from commit 2984a86f37)
2023-11-09 06:46:33 +00:00
Gursheen Anand
74983910bc chore: linting issues
(cherry picked from commit 84f0d1ff1f)
2023-11-09 06:46:32 +00:00
Gursheen Anand
6e463b1953 fix: handle gle for standalone credit and debit notes
(cherry picked from commit 98a8288da2)
2023-11-09 06:46:32 +00:00
Gursheen Anand
22e58e0ee0 fix: skip check for removed validation
(cherry picked from commit 0e100cd451)
2023-11-09 06:46:32 +00:00
Gursheen Anand
ced6d004fb refactor: move common util for fetching party types using account type
(cherry picked from commit 4867ca353c)
2023-11-09 06:46:32 +00:00
Gursheen Anand
9781f9b7b1 fix: credit note receive payment entry
(cherry picked from commit 4015723591)
2023-11-09 06:46:31 +00:00
Gursheen Anand
46c86de093 test: receive payments from payable party
(cherry picked from commit cd1e016163)
2023-11-09 06:46:31 +00:00
Gursheen Anand
a89af589e8 fix: test for invoice returns
(cherry picked from commit 1f4b381748)
2023-11-09 06:46:31 +00:00
Gursheen Anand
8602a3eab1 fix: remove validation for negative outstanding invoices
(cherry picked from commit 3d9938221a)
2023-11-09 06:46:31 +00:00
ruthra kumar
4eb80ea804 Merge pull request #38002 from frappe/mergify/bp/version-15-hotfix/pr-37860
refactor: ignore disabled account while selecting Income Accounts (backport #37860)
2023-11-09 10:41:20 +05:30
ruthra kumar
ef9e8406eb refactor: ignore disabled account while selecting Income Accounts
(cherry picked from commit 6e3e094c95)
2023-11-09 04:45:59 +00:00
mergify[bot]
b3562bdb87 fix: asset depreciation ledger (backport #37991) (#37993)
fix: asset depreciation ledger (#37991)

* fix: include opening acc depr while calculating asset depr ledger report

* chore: include opening acc depr properly in acc depr amt

* chore: add cost_center in asset depr ledger report

* fix: handle finance books properly in asset depr ledger report

* chore: rename 'include default book entries' to 'include default FB entries'

(cherry picked from commit 9a171db97f)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-11-08 22:52:16 +05:30
mergify[bot]
d74f0ef586 fix: ignore Stock Reservation for future dated PR (backport #37979) (#37990)
fix: ignore Stock Reservation for future dated PR

(cherry picked from commit 33eedb97dc)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-08 22:20:51 +05:30
Deepesh Garg
44bad3bd4a Merge pull request #37964 from frappe/version-15-hotfix
chore: release v15
2023-11-08 11:48:14 +05:30
ruthra kumar
0e979b6c5b Merge pull request #37902 from frappe/mergify/bp/version-15-hotfix/pr-37887
chore: performance optimization on payment ledger entry doctype (backport #37887)
2023-11-08 10:13:55 +05:30
ruthra kumar
cbf8a1405a Merge pull request #37976 from frappe/mergify/bp/version-15-hotfix/pr-37971
refactor: optimize bulk transaction for speed (backport #37971)
2023-11-08 07:08:58 +05:30
ruthra kumar
3d97a98fd7 refactor: optimize for speed
(cherry picked from commit 416bd400bb)
2023-11-08 01:04:08 +00:00
mergify[bot]
3c843c7261 chore: typo in Stock Entry enqueue msg (backport #37970) (#37973)
chore: typo in `Stock Entry` enqueue msg

(cherry picked from commit ee60fa940c)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-07 21:18:01 +05:30
ruthra kumar
3f25614e54 Merge pull request #37968 from frappe/mergify/bp/version-15-hotfix/pr-37954
refactor: expand repost to `Expense Claim` and make it configurable (backport #37954)
2023-11-07 16:09:10 +05:30
ruthra kumar
463e71664c refactor: update permissions for repost settings
(cherry picked from commit 10b9570429)
2023-11-07 10:15:24 +00:00
ruthra kumar
b48b858752 refactor(test): repost test case for purchase invoice
(cherry picked from commit 11c8d9fcf1)
2023-11-07 10:15:13 +00:00
ruthra kumar
85d255c8a2 refactor: select distinct types
(cherry picked from commit 61705047b0)
2023-11-07 10:15:11 +00:00
ruthra kumar
3abee937f9 refactor(test): update repost settings for test cases
(cherry picked from commit ac79b8483f)
2023-11-07 10:15:09 +00:00
ruthra kumar
37dbb4d3f9 refactor: support for expense claim repost
(cherry picked from commit b651b36fff)
2023-11-07 10:15:08 +00:00
ruthra kumar
1b83a91246 refactor: configurable repost settings
(cherry picked from commit 5a068410c6)
2023-11-07 10:15:07 +00:00
ruthra kumar
156d995ad8 chore: patch to update default repost settings value
(cherry picked from commit ebb186c8df)
2023-11-07 10:15:06 +00:00
ruthra kumar
c047fd7ac5 feat: settings page for repost
(cherry picked from commit d582a73795)
2023-11-07 10:15:05 +00:00
ruthra kumar
dc10a721ab Merge pull request #37958 from frappe/mergify/bp/version-15-hotfix/pr-37956
fix: type error on new payment entry (backport #37956)
2023-11-07 12:38:15 +05:30
ruthra kumar
59371358ae fix: type error on new payment entry
(cherry picked from commit adff287160)
2023-11-07 06:53:27 +00:00
ruthra kumar
442c484258 Merge pull request #37950 from frappe/mergify/bp/version-15-hotfix/pr-37948
fix: typo in AR report (backport #37948)
2023-11-06 20:47:54 +05:30
ruthra kumar
fc3d303b82 fix: typo in AR report
(cherry picked from commit 67e74d03ed)
2023-11-06 14:57:21 +00:00
mergify[bot]
915ca47515 fix: add translation wrapper (backport #37911) (#37947)
fix: add translation wrapper

(cherry picked from commit 8722318081)

Co-authored-by: hyaray <hyaray@vip.qq.com>
2023-11-06 19:52:04 +05:30
mergify[bot]
a065f22a4c fix: link between parent and child procedure (backport #37903) (#37944)
* fix: link between parent and child procedure

(cherry picked from commit 05f24ede96)

* chore: add missing filters for `Parent Procedure`

(cherry picked from commit 8fbd4cea5b)

* test: add test case for Quality Procedure`

(cherry picked from commit 30c6b83a10)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-06 19:28:42 +05:30
mergify[bot]
e156564ea4 fix: don't reset rate if greater than zero in standalone debit note (backport #37935) (#37941)
* fix: don't reset rate if greater than zero in standalone debit note

(cherry picked from commit 5cce522ecd)

* fix(test): `test_gl_entries_for_standalone_debit_note`

(cherry picked from commit f9fc6c9c9d)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-06 19:27:42 +05:30
mergify[bot]
7ad08179f2 fix: make Material Request Item required if Material Request is set in PO (backport #37928) (#37937)
fix: make `Material Request Item` required if `Material Request` is set in PO

(cherry picked from commit a9d91189b0)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-06 17:26:18 +05:30
mergify[bot]
df90fd7b35 feat: reserved production plan sub assembly items (backport #37884) (#37927)
feat: reserved production plan sub assembly items (#37884)

(cherry picked from commit 34d3eb88b3)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-11-06 11:33:12 +05:30
ruthra kumar
21195343d5 Merge pull request #37925 from frappe/mergify/bp/version-15-hotfix/pr-37879
refactor: flag to toggle billed amy update in DN for Credit Note (backport #37879)
2023-11-06 11:24:26 +05:30
ruthra kumar
61573f2645 refactor(test): enable billed amt update on Sales Return(Cr Note)
(cherry picked from commit 0c5bdbdcf3)
2023-11-06 03:11:52 +00:00
ruthra kumar
463accbf04 refactor: flag to toggle billed amy update in DN for Credit Note
(cherry picked from commit a3191f1c8c)
2023-11-06 03:11:52 +00:00
mergify[bot]
fd7a768535 fix: POS change amount gl entry with no amount (#37799)
fix: POS change amount gl entry with no amount (#37799)

(cherry picked from commit 2b02ef0066)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-11-05 17:56:45 +05:30
mergify[bot]
e71ef10ca9 fix: list index out of range (backport #37890) (#37920)
fix: list index out of range (#37890)

* fix: list index out of range

* fix: solve linter test failing

(cherry picked from commit e5bc8fccb1)

Co-authored-by: viralkansodiya15 <98073516+viralpatel15@users.noreply.github.com>
2023-11-05 12:33:58 +05:30
mergify[bot]
7d0f1f4235 fix: Quality Inspection Parameter migration - DuplicateEntryError due to case sensitivity (backport #37499) (#37917)
fix: Quality Inspection Parameter migration - DuplicateEntryError due to case sensitivity (#37499)

* fix: account for case-insensitive database primary key for parameter names

* chore: linting

(cherry picked from commit b099590b2c)

Co-authored-by: Richard Case <110036763+casesolved-co-uk@users.noreply.github.com>
2023-11-05 11:29:38 +05:30
mergify[bot]
e0b0b6bb7d fix: consider reserved stock while cancelling a stock transaction (backport #37754) (#37906)
* fix: consider reserved serial nos while cancelling a stock transaction

(cherry picked from commit d9e284366d)

* fix: consider reserved batches while cancelling a stock transaction

(cherry picked from commit e1a87a802d)

* feat: add field `reserved_stock` in Bin

(cherry picked from commit 98d6cdd53c)

* feat: maintain `Reserved Stock` in Bin

(cherry picked from commit f52916a2c3)

* fix: consider reserved stock while cancelling a stock transaction

(cherry picked from commit 73b65ac82e)

* fix(test): `test_stock_reservation_against_sales_order`

(cherry picked from commit 10242235bc)

* chore: patch to set reserved stock in Bin

(cherry picked from commit 1f88b1ef84)

* fix: qty based check for stock reservation of serial-batch items based on qty

(cherry picked from commit 9231706227)

* test: add test case for stock stock reservation

(cherry picked from commit 54b323e557)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-04 17:02:43 +05:30
ruthra kumar
65f23485d3 chore: performance optimization on payment ledger entry doctype
(cherry picked from commit f14d1eb871)
2023-11-04 03:27:51 +00:00
mergify[bot]
5171e3238d chore: rename depreciation_amount_based_on_num_days_in_month to daily_prorata_based [dev] (copy #37897) (#37899)
chore: rename depreciation_amount_based_on_num_days_in_month to daily_prorata_based

(cherry picked from commit 7c49b277ef)

Co-authored-by: anandbaburajan <anandbaburajan@gmail.com>
2023-11-04 02:02:25 +05:30
mergify[bot]
fc4bcc0965 chore: rename daily_depreciation in asset to depreciation_amount_based_on_num_days_in_month [dev] (backport #37893) (#37896)
chore: rename daily_depreciation in asset to depreciation_amount_based_on_num_days_in_month [dev] (#37893)

* chore: rename daily_depreciation to depreciation_based_on_num_days_in_month

* chore: add patch

* chore: remove unnecessary files

* chore: add amount in field name

* chore: add amount in label

(cherry picked from commit 568d5bfbe8)

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-11-03 23:26:32 +05:30
mergify[bot]
febd20acbc perf: index return against for purchase invoice (backport #37881) (#37883)
perf: index return against for purchase invoice (#37881)

(cherry picked from commit 469ae2c7f1)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-11-03 21:59:49 +05:30
mergify[bot]
be8399f52e fix: permission error while creating Supplier Quotation from Portal (backport #37864) (#37871)
fix: permission error while creating Supplier Quotation from Portal

(cherry picked from commit e019d43d0b)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-03 16:21:20 +05:30
ruthra kumar
c29e22b3d1 Merge pull request #37876 from frappe/mergify/bp/version-15-hotfix/pr-37852
refactor: better ledger comparision report (backport #37852)
2023-11-03 13:25:12 +05:30
ruthra kumar
796b1aa694 refactor(test): for ledger comparision report
(cherry picked from commit 639f427d6d)
2023-11-03 07:23:25 +00:00
ruthra kumar
8d66848f9d refactor: better output on gl and pl comparison report
(cherry picked from commit 539f0251d9)
2023-11-03 07:23:25 +00:00
ruthra kumar
9dae84feba Merge pull request #37874 from frappe/mergify/bp/version-15-hotfix/pr-37869
refactor: 'group only by voucher' flag in AR/AP report (backport #37869)
2023-11-03 12:51:07 +05:30
ruthra kumar
1e218c12a0 refactor: group only by voucher flag in AR/AP report
(cherry picked from commit 23beb46d15)
2023-11-03 07:00:57 +00:00
mergify[bot]
847dd9e671 fix: TypeError in PR for non-stock item (backport #37819) (#37842)
* fix: `TypeError` in PR for non-stock item

(cherry picked from commit 028b3e2fbf)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/purchase_receipt.py

* chore: `conflicts`

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-03 11:56:12 +05:30
mergify[bot]
b1982a6961 perf: Add index to supplier invoice field (backport #37861) (#37863)
fix: Add index to supplier invoice field (#37861)

* fix: Add index to supplier invoice field

* chore: remove unintetional changes

(cherry picked from commit c37e374fdd)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-11-03 11:52:32 +05:30
rohitwaghchaure
e52291506e Merge pull request #37851 from frappe/mergify/bp/version-15-hotfix/pr-37849
fix: remove voucher type and no for Item and Warehouse based reposting (backport #37849)
2023-11-02 15:14:50 +05:30
Rohit Waghchaure
618a9ee49b chore: fix test cases 2023-11-02 14:45:28 +05:30
mergify[bot]
71361f7673 fix: standard submit perm in repost ledger for editable invoices (backport #37826) (#37855)
fix: standard submit perm in repost ledger for editable invoices (#37826)

* fix: ignore perm while reposting ledger

* fix: use flag in save

* fix: remove unnecessary save

(cherry picked from commit 1b808e1d7c)

Co-authored-by: Gursheen Kaur Anand <40693548+GursheenK@users.noreply.github.com>
2023-11-02 14:33:47 +05:30
Rohit Waghchaure
b96be67a1f fix: remove voucher type and no for Item and Warehouse based reposting
(cherry picked from commit 0104897d69)
2023-11-02 07:57:52 +00:00
ruthra kumar
7bc02c49ba Merge pull request #37847 from frappe/mergify/copy/version-15-hotfix/pr-37845
chore: add std permissions for Process Payment Reconciilation log (copy #37845)
2023-11-02 12:10:36 +05:30
ruthra kumar
7524e425da chore: std permissions for Process Payment Reconciilation log
(cherry picked from commit a9fceeb00f)
2023-11-02 06:16:07 +00:00
ruthra kumar
39a178d27a Merge pull request #37844 from frappe/mergify/bp/version-15-hotfix/pr-37838
refactor: pass limits to JE and PE queries in reconciliation tool (backport #37838)
2023-11-02 11:08:36 +05:30
mergify[bot]
fad8228a67 feat(Stock Balance): add filters from route (backport #37836) (#37840)
feat(Stock Balance): add filters from route

(cherry picked from commit 38e5e4a893)

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
2023-11-02 10:46:28 +05:30
ruthra kumar
8ef48bc6b7 refactor: pass limits to JE and PE queries in reconciliation tool
(cherry picked from commit 54e8ce1ac5)
2023-11-02 05:13:38 +00:00
ruthra kumar
0ab63f91f8 Merge pull request #37834 from frappe/mergify/bp/version-15-hotfix/pr-37832
refactor: checkbox to toggle remarks in General Ledger (backport #37832)
2023-11-02 07:27:07 +05:30
ruthra kumar
e9bf48df9c refactor: checkbox to toggle remarks in General Ledger
(cherry picked from commit 8fa677b8e8)
2023-11-01 15:50:12 +00:00
mergify[bot]
c8791108de refactor: update fields label and remove unused fields from BIN (backport #37827) (#37830)
* refactor: rearrange fields and update label

(cherry picked from commit ec1a7869f8)

* refactor: remove unused fields `fcfs_rate` and `ma_rate` from Bin

(cherry picked from commit f0a1f4ac7c)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-11-01 16:41:16 +05:30
Deepesh Garg
964a7a3dbd Merge pull request #37824 from frappe/mergify/bp/version-15-hotfix/pr-37590
fix: gov compliance for tax withholding report (#37590)
2023-11-01 15:22:10 +05:30
Deepesh Garg
c8c8c6533b Merge pull request #37822 from frappe/mergify/bp/version-15-hotfix/pr-37635
fix: validate sales order item with quotation (#37635)
2023-11-01 15:14:03 +05:30
Gursheen Anand
e51e5b36e2 feat: add cols for supplier inv details
(cherry picked from commit 6d5ccde864)
2023-11-01 08:40:20 +00:00
Gursheen Anand
80dddb40ae chore: linting issues
(cherry picked from commit 75441017c6)
2023-11-01 08:40:20 +00:00
Gursheen Anand
6df125a05f feat: proprietorship & partnership options in entity type
(cherry picked from commit ed2457bddf)
2023-11-01 08:40:20 +00:00
Gursheen Anand
06bb1a3208 fix: sort by section code
(cherry picked from commit 4471ad581e)
2023-11-01 08:40:19 +00:00
Gursheen Anand
aa19055899 chore: change column order
(cherry picked from commit 7ecc0d5a04)
2023-11-01 08:40:19 +00:00
Gursheen Anand
7abe5d9905 refactor: avoid relying only on against in tds docs query
(cherry picked from commit 705dadae8e)
2023-11-01 08:40:18 +00:00
Deepesh Garg
2ba5bb8abc Merge pull request #37718 from frappe/mergify/bp/version-15-hotfix/pr-37690
fix(plaid): Do not sync pending transactions (#37690)
2023-11-01 14:10:17 +05:30
Gursheen Anand
71538cfab1 fix: validate so item with qtn
(cherry picked from commit 17ebc1ea80)
2023-11-01 08:34:49 +00:00
Deepesh Garg
9675da6f38 Merge pull request #37816 from frappe/mergify/bp/version-15-hotfix/pr-37680
fix: status when over delivery or billing in SO (#37680)
2023-11-01 14:04:19 +05:30
Gursheen Anand
95d6742587 fix: status for over delivery or billing
(cherry picked from commit d69b0d76dd)
2023-11-01 07:00:27 +00:00
Deepesh Garg
98a8267c38 Merge pull request #37787 from frappe/version-15-hotfix
chore: release v15
2023-11-01 12:10:26 +05:30
ruthra kumar
7a5bfe0009 Merge pull request #37805 from frappe/mergify/bp/version-15-hotfix/pr-37793
refactor: pull remarks only if needed on AR/AP report (backport #37793)
2023-10-31 20:37:53 +05:30
ruthra kumar
c8243ec8e5 Merge pull request #37807 from frappe/mergify/bp/version-15-hotfix/pr-37795
chore: update default limit values in reconciliation tool (backport #37795)
2023-10-31 20:37:26 +05:30
ruthra kumar
a72988a514 chore: update default limit values in reconciliation tool
(cherry picked from commit 1fd888175f)
2023-10-31 14:23:08 +00:00
ruthra kumar
0589232d3b refactor: pull remarks only if needed on AR/AP report
(cherry picked from commit eb73017798)
2023-10-31 14:22:06 +00:00
mergify[bot]
59e67cd384 fix: make project page translatable (backport #37743) (#37801)
fix: make project page translatable

(cherry picked from commit e72afd0bd6)

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
2023-10-31 19:49:45 +05:30
mergify[bot]
254ec2cfd1 fix: In-Transit Warehouse company filter (backport #37796) (#37798)
fix: In-Transit Warehouse company filter (#37796)

(cherry picked from commit daf2ec063c)

Co-authored-by: hyaray <hyaray@vip.qq.com>
2023-10-31 18:53:08 +05:30
mergify[bot]
9aa29f55d9 fix(packed_item): ensure proper names for ref integrity (backport #37597) (#37794)
fix(packed_item): ensure proper names for ref integrity (#37597)

(cherry picked from commit fb0ec74d08)

Co-authored-by: David Arnold <dgx.arnold@gmail.com>
2023-10-31 18:06:40 +05:30
mergify[bot]
8b3c4a948c fix: incorrect material request quantity in production plan (backport #37785) (#37790)
fix: incorrect material request quantity in production plan (#37785)

(cherry picked from commit 25718d9f1b)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-10-31 15:41:53 +05:30
mergify[bot]
98a7c170a0 fix: indexing on Delivery Note Item (backport #37766) (#37778)
fix: indexing on Delivery Note Item (#37766)

fix: added indexing on Delivery Note Item
(cherry picked from commit 056b74b162)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-10-31 14:31:29 +05:30
mergify[bot]
e7423109b6 fix: PermissionError while creating DN from SO (backport #37758) (#37768)
fix: ignore permissions while mapping DN Item

(cherry picked from commit afc64ed9ee)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-10-30 18:39:57 +05:30
ruthra kumar
4f9210541e Merge pull request #37763 from frappe/mergify/bp/version-15-hotfix/pr-37761
chore: add index to posting_date in PLE (backport #37761)
2023-10-30 17:16:54 +05:30
ruthra kumar
11dd1f14ff Merge pull request #37764 from frappe/mergify/bp/version-15-hotfix/pr-37720
refactor: ignore cancelled GLE's while looking for currency of existing entries (backport #37720)
2023-10-30 17:16:39 +05:30
ruthra kumar
9ce123d0b9 refactor: ignore cancelled GLE's while looking for currency
(cherry picked from commit 8d9b90f3f5)
2023-10-30 11:23:35 +00:00
ruthra kumar
f64fdb6870 chore: add index to posting_date in PLE
(cherry picked from commit ca69845238)
2023-10-30 11:20:03 +00:00
mergify[bot]
f132552968 fix: make changes that enable gantt view for job cards (backport #37661) (#37757)
fix: make changes that enable gantt view for job cards (#37661)

* fix: make changes that enable gantt view for job cards

* fix: add fields on listview and remove from json file

* fix: undo modified date

---------

Co-authored-by: Dietmar Fischer <fischer@kk-software.de>
(cherry picked from commit 500435b856)

Co-authored-by: Didiman1998 <118364772+Didiman1998@users.noreply.github.com>
2023-10-30 15:20:40 +05:30
mergify[bot]
18e40dd032 refactor: remove extraneous disabled filters (backport #37732) (#37749)
refactor: remove extraneous disabled filters

(cherry picked from commit f276fbba4f)

Co-authored-by: Bernd Oliver Sünderhauf <46800703+bosue@users.noreply.github.com>
2023-10-30 09:57:32 +05:30
mergify[bot]
4819fde8c5 fix: typo in function name and msg (backport #37722) (#37741)
fix: typo in function name and msg

(cherry picked from commit 48c66b68ab)

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-10-29 12:28:42 +05:30
mergify[bot]
5c46d7452e fix(minor): set tax values for item variants (backport #37674) (#37739)
* fix: copy all child fields to item variant

(cherry picked from commit 5deba1b6f9)

* fix: only update if variant table empty

(cherry picked from commit d436a40739)

---------

Co-authored-by: Gursheen Anand <gursheen@frappe.io>
2023-10-29 12:16:05 +05:30
mergify[bot]
4034c16cde chore: fixed test cases related to Internal Transfer (backport #37659) (#37733)
* chore: fixed test cases related to Internal Transfer (#37659)

(cherry picked from commit 72d32a4901)

* chore: fix test cases

---------

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-10-28 13:31:29 +05:30
mergify[bot]
b03c65f21d fix: unsupported operand type(s) for serial and batch bundle in POS Invoice (backport #37721) (#37731)
fix: unsupported operand type(s) for serial and batch bundle in POS Invoice (#37721)

(cherry picked from commit fd78f868e1)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-10-28 11:10:46 +05:30
mergify[bot]
a3d3c0024e chore: allow wip_composite_asset in the MR PO PR PI flow (copy #37723) (#37724)
* chore: allow wip_composite_asset in the MR PO PR PI flow

(cherry picked from commit 0e5bea33a3)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/purchase_order.py

* chore: resolve conflict

---------

Co-authored-by: anandbaburajan <anandbaburajan@gmail.com>
2023-10-27 18:54:43 +05:30
Deepesh Garg
2149de44b1 fix(plaid): Do not sync pending transactions
(cherry picked from commit 46ea868559)
2023-10-27 06:09:09 +00:00
mergify[bot]
f382b1cf61 fix(defaults): apply discount and provisonal defaults from item group and brand if available (backport #37466) (#37704)
fix(defaults): apply discount and provisonal defaults from item group and brand if available (#37466)

(cherry picked from commit 1612d7ba3f)

Co-authored-by: David Arnold <dgx.arnold@gmail.com>
2023-10-26 18:14:57 +05:30
mergify[bot]
bfd240a19d fix: avoid name clash in delivery stop (backport #37306) (#37702)
fix: avoid name clash in delivery stop (#37306)

* fix(stock): avoid name clash in delivery stop with Document.lock()

* chore(stock): format delivery stop json according to doctype builder

(cherry picked from commit 681782121c)

Co-authored-by: David Arnold <dgx.arnold@gmail.com>
2023-10-26 18:13:23 +05:30
mergify[bot]
08ea62f4e4 feat(delivery): link to delivery notes list view from delivery trip (backport #37604) (#37696)
feat(delivery): link to delivery notes list view from delivery trip

(cherry picked from commit 85488cd0dc)

Co-authored-by: David Arnold <dgx.arnold@gmail.com>
2023-10-26 13:12:55 +05:30
mergify[bot]
40443258cf feat: allow return of components for SCO that don't have SCR created (backport #37686) (#37693)
* feat: allow return of components for SCO that don't have SCR created

(cherry picked from commit 8e3b9ec879)

* fix: consider returned qty while calculating unsupplied qty

(cherry picked from commit 3290df5593)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-10-26 11:56:27 +05:30
mergify[bot]
2f5d991225 refactor: rename field Over Order Allowance to Blanket Order Allowance (backport #37669) (#37682)
* refactor: rename field `Over Order Allowance` to `Blanket Order Allowance`

(cherry picked from commit 8ffa2bfe25)

* chore: patch to rename field `over_order_allowance`

(cherry picked from commit fcfcf6957e)

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-10-25 14:58:01 +05:30
mergify[bot]
a871d955d4 fix: force delete removed report (backport #37668) (#37670)
fix: force delete removed report (#37668)

(cherry picked from commit 7be578485e)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-10-25 14:08:10 +05:30
mergify[bot]
882bd8e93a chore: fixed test case non_internal_transfer_delivery_note (backport #37671) (#37676)
chore: fixed test case non_internal_transfer_delivery_note (#37671)

(cherry picked from commit 2bcff4c7f2)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-10-25 13:49:38 +05:30
mergify[bot]
da5bf501eb feat: auto reserve stock for Sales Order on purchase (backport #37603) (#37648)
* chore: make `Reserve Stock` checkbox visible in SO

(cherry picked from commit 36a996d704)

* refactor: rename field `Auto Reserve Stock for Sales Order`

(cherry picked from commit 2b4fa98941)

* feat: add fields to hold SO and SO Item ref in PR Item

(cherry picked from commit 188175be84)

* feat: reserve stock for SO on PR submission

(cherry picked from commit 64497c9228)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/purchase_receipt.py

* feat: add field `From Voucher Type` in SRE

(cherry picked from commit 5ae9c2f62b)

* refactor: rename field `against_pick_list_item`

(cherry picked from commit 78fe567419)

* refactor: rename field `against_pick_list`

(cherry picked from commit 961d2d9926)

* fix: incorrect serial and batch get reserved

(cherry picked from commit 45395027d3)

* fix: partial reservation against SBB

(cherry picked from commit 4f363f5bf3)

* fix: ignore qty msg if From Voucher is set

(cherry picked from commit a432290a82)

* test: add test case for auto-reservation from PR

(cherry picked from commit adf313a6d3)

* chore: add SRE link in PR Connections

(cherry picked from commit 24788ddcc0)

* chore: patch to update `From Voucher` details

(cherry picked from commit 6942ab1012)

* chore: `conflicts`

* fix(patch): `update_sre_from_voucher_details`

---------

Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
2023-10-24 12:39:05 +05:30
mergify[bot]
31557902b8 fix: remove from or target warehouse for non internal transfer entries (backport #37612) (#37627)
fix: remove from or target warehouse for non internal transfer entries (#37612)

(cherry picked from commit 5136fe196b)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-10-23 12:27:16 +05:30
mergify[bot]
bdb369e2b4 refactor: use gzip library's compress() and decompress() methods directly (backport #37611) (#37621)
refactor: use gzip library's compress() and decompress() methods directly (#37611)

The util methods in framework were added for python2.7 compat, so can be removed

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

[skip ci]

(cherry picked from commit 21c3d9c371)

Co-authored-by: Akhil Narang <me@akhilnarang.dev>
2023-10-21 11:20:49 +05:30
Ankush Menat
0925cb28c7 Merge branch 'version-15-hotfix' into version-15 2023-10-20 18:16:32 +05:30
Ankush Menat
9863ba5fd8 Merge pull request #37616 from frappe/mergify/bp/version-15-hotfix/pr-37614
chore: new erpnext logo as per espresso (backport #37614)
2023-10-20 17:58:13 +05:30
Maharshi Patel
889f84bcb7 chore: new erpnext logo as per espresso
(cherry picked from commit fff97b1cd2)
2023-10-20 12:25:04 +00:00
Ankush Menat
b9e4719045 chore: enable automatic releases 2023-10-20 17:33:49 +05:30
Ankush Menat
5cca001a58 fix: Correctly extract last message (#37602)
frappe.message_log now contains plain dictionary and not JSON strings,
so no need to load them.
2023-10-20 17:28:55 +05:30
Smit Vora
e76860fae1 fix: update existing doc if possible 2023-10-20 17:28:49 +05:30
Smit Vora
844e6f47df fix: add regional support to extend purchase gl entries 2023-10-20 17:28:42 +05:30
mergify[bot]
62d9de4848 fix: incorrect cost center in the purchase invoice (backport #37591) (#37608)
fix: incorrect cost center in the purchase invoice (#37591)

(cherry picked from commit 14b009b093)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2023-10-20 17:03:51 +05:30
mergify[bot]
fa5c75fd0a fix(delivery): rename dt fetch stop action (backport #37605) (#37607)
fix(delivery): rename dt fetch stop action

(cherry picked from commit 79d51a0a0b)

Co-authored-by: David Arnold <dgx.arnold@gmail.com>
2023-10-20 16:52:15 +05:30
Ankush Menat
777c1dd1ea chore: add containers back 2023-10-20 11:53:49 +05:30
Ankush Menat
fca812448e chore: v15 release 2023-10-19 16:04:06 +05:30
1500 changed files with 64134 additions and 30873 deletions

View File

@@ -9,6 +9,13 @@ trim_trailing_whitespace = true
charset = utf-8
# python, js indentation settings
[{*.py,*.js}]
[{*.py,*.js,*.vue,*.css,*.scss,*.html}]
indent_style = tab
indent_size = 4
max_line_length = 110
# JSON files - mostly doctype schema files
[{*.json}]
insert_final_newline = false
indent_style = space
indent_size = 2

View File

@@ -124,6 +124,7 @@
"beforeEach": true,
"onScan": true,
"extend_cscript": true,
"localforage": true
"localforage": true,
"Plaid": true
}
}

View File

@@ -1,60 +0,0 @@
import re
import sys
errors_encounter = 0
pattern = re.compile(r"_\(([\"']{,3})(?P<message>((?!\1).)*)\1(\s*,\s*context\s*=\s*([\"'])(?P<py_context>((?!\5).)*)\5)*(\s*,(\s*?.*?\n*?)*(,\s*([\"'])(?P<js_context>((?!\11).)*)\11)*)*\)")
words_pattern = re.compile(r"_{1,2}\([\"'`]{1,3}.*?[a-zA-Z]")
start_pattern = re.compile(r"_{1,2}\([f\"'`]{1,3}")
f_string_pattern = re.compile(r"_\(f[\"']")
starts_with_f_pattern = re.compile(r"_\(f")
# skip first argument
files = sys.argv[1:]
files_to_scan = [_file for _file in files if _file.endswith(('.py', '.js'))]
for _file in files_to_scan:
with open(_file, 'r') as f:
print(f'Checking: {_file}')
file_lines = f.readlines()
for line_number, line in enumerate(file_lines, 1):
if 'frappe-lint: disable-translate' in line:
continue
start_matches = start_pattern.search(line)
if start_matches:
starts_with_f = starts_with_f_pattern.search(line)
if starts_with_f:
has_f_string = f_string_pattern.search(line)
if has_f_string:
errors_encounter += 1
print(f'\nF-strings are not supported for translations at line number {line_number}\n{line.strip()[:100]}')
continue
else:
continue
match = pattern.search(line)
error_found = False
if not match and line.endswith((',\n', '[\n')):
# concat remaining text to validate multiline pattern
line = "".join(file_lines[line_number - 1:])
line = line[start_matches.start() + 1:]
match = pattern.match(line)
if not match:
error_found = True
print(f'\nTranslation syntax error at line number {line_number}\n{line.strip()[:100]}')
if not error_found and not words_pattern.search(line):
error_found = True
print(f'\nTranslation is useless because it has no words at line number {line_number}\n{line.strip()[:100]}')
if error_found:
errors_encounter += 1
if errors_encounter > 0:
print('\nVisit "https://frappeframework.com/docs/user/en/translations" to learn about valid translation strings.')
sys.exit(1)
else:
print('\nGood To Go!')

View File

@@ -1,26 +0,0 @@
name: Backport
on:
pull_request_target:
types:
- closed
- labeled
jobs:
main:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: "frappe/backport"
path: ./actions
ref: develop
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run backport
uses: ./actions/backport
with:
token: ${{secrets.BACKPORT_BOT_TOKEN}}
labelsToAdd: "backport"
title: "{{originalTitle}}"

View File

@@ -1,32 +0,0 @@
# This workflow is agnostic to branches. Only maintain on develop branch.
# To add/remove versions just modify the matrix.
name: Create weekly release pull requests
on:
schedule:
# 9:30 UTC => 3 PM IST Tuesday
- cron: "30 9 * * 2"
workflow_dispatch:
jobs:
stable-release:
name: Release
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: ["13", "14"]
steps:
- uses: octokit/request-action@v2.x
with:
route: POST /repos/{owner}/{repo}/pulls
owner: frappe
repo: erpnext
title: |-
"chore: release v${{ matrix.version }}"
body: "Automated weekly release."
base: version-${{ matrix.version }}
head: version-${{ matrix.version }}-hotfix
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}

View File

@@ -2,21 +2,23 @@ name: Generate Semantic Release
on:
push:
branches:
- version-13
- version-15
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Entire Repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 18
node-version: 20
- name: Setup dependencies
run: |
npm install @semantic-release/git @semantic-release/exec --no-save

View File

@@ -117,7 +117,7 @@ jobs:
FRAPPE_BRANCH: ${{ github.event.inputs.branch }}
- name: Run Tests
run: 'cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --with-coverage --total-builds 4 --build-number ${{ matrix.container }}'
run: 'cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --total-builds 4 --build-number ${{ matrix.container }}'
env:
TYPE: server
CI_BUILD_ID: ${{ github.run_id }}
@@ -126,27 +126,3 @@ jobs:
- name: Show bench output
if: ${{ always() }}
run: cat ~/frappe-bench/bench_start.log || true
- name: Upload coverage data
uses: actions/upload-artifact@v3
with:
name: coverage-${{ matrix.container }}
path: /home/runner/frappe-bench/sites/coverage.xml
coverage:
name: Coverage Wrap Up
needs: test
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v2
- name: Download artifacts
uses: actions/download-artifact@v3
- name: Upload coverage data
uses: codecov/codecov-action@v2
with:
name: MariaDB
fail_ci_if_error: true
verbose: true

View File

@@ -5,7 +5,7 @@ fail_fast: false
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
rev: v4.3.0
hooks:
- id: trailing-whitespace
files: "erpnext.*"
@@ -15,6 +15,27 @@ repos:
args: ['--branch', 'develop']
- id: check-merge-conflict
- id: check-ast
- id: check-json
- id: check-toml
- id: check-yaml
- id: debug-statements
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.7.1
hooks:
- id: prettier
types_or: [javascript, vue, scss]
# Ignore any files that might contain jinja / bundles
exclude: |
(?x)^(
erpnext/public/dist/.*|
cypress/.*|
.*node_modules.*|
.*boilerplate.*|
erpnext/public/js/controllers/.*|
erpnext/templates/pages/order.js|
erpnext/templates/includes/.*
)$
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v8.44.0

View File

@@ -1,5 +1,5 @@
{
"branches": ["version-13"],
"branches": ["version-15"],
"plugins": [
"@semantic-release/commit-analyzer", {
"preset": "angular",
@@ -21,4 +21,4 @@
],
"@semantic-release/github"
]
}
}

View File

@@ -1,25 +1,13 @@
module.exports = {
parserPreset: 'conventional-changelog-conventionalcommits',
parserPreset: "conventional-changelog-conventionalcommits",
rules: {
'subject-empty': [2, 'never'],
'type-case': [2, 'always', 'lower-case'],
'type-empty': [2, 'never'],
'type-enum': [
"subject-empty": [2, "never"],
"type-case": [2, "always", "lower-case"],
"type-empty": [2, "never"],
"type-enum": [
2,
'always',
[
'build',
'chore',
'ci',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'style',
'test',
],
"always",
["build", "chore", "ci", "docs", "feat", "fix", "perf", "refactor", "revert", "style", "test"],
],
},
};

View File

@@ -3,7 +3,7 @@ import inspect
import frappe
__version__ = "15.0.0-dev"
__version__ = "15.18.2"
def get_default_company(user=None):
@@ -13,7 +13,7 @@ def get_default_company(user=None):
if not user:
user = frappe.session.user
companies = get_user_default_as_list(user, "company")
companies = get_user_default_as_list("company", user)
if companies:
default_company = companies[0]
else:

View File

@@ -1,4 +1,4 @@
frappe.provide('frappe.dashboards.chart_sources');
frappe.provide("frappe.dashboards.chart_sources");
frappe.dashboards.chart_sources["Account Balance Timeline"] = {
method: "erpnext.accounts.dashboard_chart_source.account_balance_timeline.account_balance_timeline.get",
@@ -9,14 +9,14 @@ frappe.dashboards.chart_sources["Account Balance Timeline"] = {
fieldtype: "Link",
options: "Company",
default: frappe.defaults.get_user_default("Company"),
reqd: 1
reqd: 1,
},
{
fieldname: "account",
label: __("Account"),
fieldtype: "Link",
options: "Account",
reqd: 1
reqd: 1,
},
]
],
};

View File

@@ -26,19 +26,14 @@ frappe.ui.form.on("Account", {
frm.toggle_enable(["is_group", "company"], false);
if (cint(frm.doc.is_group) == 0) {
frm.toggle_display(
"freeze_account",
frm.doc.__onload && frm.doc.__onload.can_freeze_account
);
frm.toggle_display("freeze_account", frm.doc.__onload && frm.doc.__onload.can_freeze_account);
}
// read-only for root accounts
if (!frm.is_new()) {
if (!frm.doc.parent_account) {
frm.set_read_only();
frm.set_intro(
__("This is a root account and cannot be edited.")
);
frm.set_intro(__("This is a root account and cannot be edited."));
} else {
// credit days and type if customer or supplier
frm.set_intro(null);
@@ -80,27 +75,33 @@ frappe.ui.form.on("Account", {
);
if (frm.doc.is_group == 1) {
frm.add_custom_button(__('Convert to Non-Group'), function () {
return frappe.call({
doc: frm.doc,
method: 'convert_group_to_ledger',
callback: function() {
frm.refresh();
}
});
}, __('Actions'));
} else if (cint(frm.doc.is_group) == 0
&& frappe.boot.user.can_read.indexOf("GL Entry") !== -1) {
frm.add_custom_button(__('General Ledger'), function () {
frappe.route_options = {
"account": frm.doc.name,
"from_date": erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
"to_date": erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
"company": frm.doc.company
};
frappe.set_route("query-report", "General Ledger");
}, __('View'));
frm.add_custom_button(
__("Convert to Non-Group"),
function () {
return frappe.call({
doc: frm.doc,
method: "convert_group_to_ledger",
callback: function () {
frm.refresh();
},
});
},
__("Actions")
);
} else if (cint(frm.doc.is_group) == 0 && frappe.boot.user.can_read.indexOf("GL Entry") !== -1) {
frm.add_custom_button(
__("General Ledger"),
function () {
frappe.route_options = {
account: frm.doc.name,
from_date: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
to_date: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
company: frm.doc.company,
};
frappe.set_route("query-report", "General Ledger");
},
__("View")
);
frm.add_custom_button(
__("Convert to Group"),
@@ -193,14 +194,8 @@ frappe.ui.form.on("Account", {
if (r.message) {
frappe.set_route("Form", "Account", r.message);
} else {
frm.set_value(
"account_number",
data.account_number
);
frm.set_value(
"account_name",
data.account_name
);
frm.set_value("account_number", data.account_number);
frm.set_value("account_name", data.account_name);
}
d.hide();
}

View File

@@ -23,6 +23,65 @@ class InvalidAccountMergeError(frappe.ValidationError):
class Account(NestedSet):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account_currency: DF.Link | None
account_name: DF.Data
account_number: DF.Data | None
account_type: DF.Literal[
"",
"Accumulated Depreciation",
"Asset Received But Not Billed",
"Bank",
"Cash",
"Chargeable",
"Capital Work in Progress",
"Cost of Goods Sold",
"Current Asset",
"Current Liability",
"Depreciation",
"Direct Expense",
"Direct Income",
"Equity",
"Expense Account",
"Expenses Included In Asset Valuation",
"Expenses Included In Valuation",
"Fixed Asset",
"Income Account",
"Indirect Expense",
"Indirect Income",
"Liability",
"Payable",
"Receivable",
"Round Off",
"Stock",
"Stock Adjustment",
"Stock Received But Not Billed",
"Service Received But Not Billed",
"Tax",
"Temporary",
]
balance_must_be: DF.Literal["", "Debit", "Credit"]
company: DF.Link
disabled: DF.Check
freeze_account: DF.Literal["No", "Yes"]
include_in_gross: DF.Check
is_group: DF.Check
lft: DF.Int
old_parent: DF.Data | None
parent_account: DF.Link
report_type: DF.Literal["", "Balance Sheet", "Profit and Loss"]
rgt: DF.Int
root_type: DF.Literal["", "Asset", "Liability", "Income", "Expense", "Equity"]
tax_rate: DF.Float
# end: auto-generated types
nsm_parent_field = "parent_account"
def on_update(self):
@@ -59,6 +118,7 @@ class Account(NestedSet):
self.validate_balance_must_be_debit_or_credit()
self.validate_account_currency()
self.validate_root_company_and_sync_account_to_children()
self.validate_receivable_payable_account_type()
def validate_parent_child_account_type(self):
if self.parent_account:
@@ -129,6 +189,24 @@ class Account(NestedSet):
"Balance Sheet" if self.root_type in ("Asset", "Liability", "Equity") else "Profit and Loss"
)
def validate_receivable_payable_account_type(self):
doc_before_save = self.get_doc_before_save()
receivable_payable_types = ["Receivable", "Payable"]
if (
doc_before_save
and doc_before_save.account_type in receivable_payable_types
and doc_before_save.account_type != self.account_type
):
# check for ledger entries
if frappe.db.get_all("GL Entry", filters={"account": self.name, "is_cancelled": 0}, limit=1):
msg = _(
"There are ledger entries against this account. Changing {0} to non-{1} in live system will cause incorrect output in 'Accounts {2}' report"
).format(
frappe.bold("Account Type"), doc_before_save.account_type, doc_before_save.account_type
)
frappe.msgprint(msg)
self.add_comment("Comment", msg)
def validate_root_details(self):
doc_before_save = self.get_doc_before_save()

View File

@@ -1,4 +1,4 @@
frappe.provide("frappe.treeview_settings")
frappe.provide("frappe.treeview_settings");
frappe.treeview_settings["Account"] = {
breadcrumb: "Accounts",
@@ -7,12 +7,12 @@ frappe.treeview_settings["Account"] = {
filters: [
{
fieldname: "company",
fieldtype:"Select",
fieldtype: "Select",
options: erpnext.utils.get_tree_options("company"),
label: __("Company"),
default: erpnext.utils.get_tree_default("company"),
on_change: function() {
var me = frappe.treeview_settings['Account'].treeview;
on_change: function () {
var me = frappe.treeview_settings["Account"].treeview;
var company = me.page.fields_dict.company.get_value();
if (!company) {
frappe.throw(__("Please set a Company"));
@@ -22,30 +22,36 @@ frappe.treeview_settings["Account"] = {
args: {
company: company,
},
callback: function(r) {
if(r.message) {
callback: function (r) {
if (r.message) {
let root_company = r.message.length ? r.message[0] : "";
me.page.fields_dict.root_company.set_value(root_company);
frappe.db.get_value("Company", {"name": company}, "allow_account_creation_against_child_company", (r) => {
frappe.flags.ignore_root_company_validation = r.allow_account_creation_against_child_company;
});
frappe.db.get_value(
"Company",
{ name: company },
"allow_account_creation_against_child_company",
(r) => {
frappe.flags.ignore_root_company_validation =
r.allow_account_creation_against_child_company;
}
);
}
}
},
});
}
},
},
{
fieldname: "root_company",
fieldtype:"Data",
fieldtype: "Data",
label: __("Root Company"),
hidden: true,
disable_onchange: true
}
disable_onchange: true,
},
],
root_label: "Accounts",
get_tree_nodes: 'erpnext.accounts.utils.get_children',
on_get_node: function(nodes, deep=false) {
get_tree_nodes: "erpnext.accounts.utils.get_children",
on_get_node: function (nodes, deep = false) {
if (frappe.boot.user.can_read.indexOf("GL Entry") == -1) return;
let accounts = [];
@@ -57,151 +63,231 @@ frappe.treeview_settings["Account"] = {
}
frappe.db.get_single_value("Accounts Settings", "show_balance_in_coa").then((value) => {
if(value) {
if (value) {
const get_balances = frappe.call({
method: 'erpnext.accounts.utils.get_account_balances',
method: "erpnext.accounts.utils.get_account_balances",
args: {
accounts: accounts,
company: cur_tree.args.company
company: cur_tree.args.company,
},
});
get_balances.then(r => {
get_balances.then((r) => {
if (!r.message || r.message.length == 0) return;
for (let account of r.message) {
const node = cur_tree.nodes && cur_tree.nodes[account.value];
if (!node || node.is_root) continue;
// show Dr if positive since balance is calculated as debit - credit else show Cr
const balance = account.balance_in_account_currency || account.balance;
const dr_or_cr = balance > 0 ? "Dr": "Cr";
const dr_or_cr = balance > 0 ? "Dr" : "Cr";
const format = (value, currency) => format_currency(Math.abs(value), currency);
if (account.balance!==undefined) {
node.parent && node.parent.find('.balance-area').remove();
$('<span class="balance-area pull-right">'
+ (account.balance_in_account_currency ?
(format(account.balance_in_account_currency, account.account_currency) + " / ") : "")
+ format(account.balance, account.company_currency)
+ " " + dr_or_cr
+ '</span>').insertBefore(node.$ul);
if (account.balance !== undefined) {
node.parent && node.parent.find(".balance-area").remove();
$(
'<span class="balance-area pull-right">' +
(account.balance_in_account_currency
? format(
account.balance_in_account_currency,
account.account_currency
) + " / "
: "") +
format(account.balance, account.company_currency) +
" " +
dr_or_cr +
"</span>"
).insertBefore(node.$ul);
}
}
});
}
});
},
add_tree_node: 'erpnext.accounts.utils.add_ac',
menu_items:[
add_tree_node: "erpnext.accounts.utils.add_ac",
menu_items: [
{
label: __('New Company'),
action: function() { frappe.new_doc("Company", true) },
condition: 'frappe.boot.user.can_create.indexOf("Company") !== -1'
}
label: __("New Company"),
action: function () {
frappe.new_doc("Company", true);
},
condition: 'frappe.boot.user.can_create.indexOf("Company") !== -1',
},
],
fields: [
{fieldtype:'Data', fieldname:'account_name', label:__('New Account Name'), reqd:true,
description: __("Name of new Account. Note: Please don't create accounts for Customers and Suppliers")},
{fieldtype:'Data', fieldname:'account_number', label:__('Account Number'),
description: __("Number of new Account, it will be included in the account name as a prefix")},
{fieldtype:'Check', fieldname:'is_group', label:__('Is Group'),
description: __('Further accounts can be made under Groups, but entries can be made against non-Groups')},
{fieldtype:'Select', fieldname:'root_type', label:__('Root Type'),
options: ['Asset', 'Liability', 'Equity', 'Income', 'Expense'].join('\n'),
depends_on: 'eval:doc.is_group && !doc.parent_account'},
{fieldtype:'Select', fieldname:'account_type', label:__('Account Type'),
options: frappe.get_meta("Account").fields.filter(d => d.fieldname=='account_type')[0].options,
description: __("Optional. This setting will be used to filter in various transactions.")
{
fieldtype: "Data",
fieldname: "account_name",
label: __("New Account Name"),
reqd: true,
description: __(
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers"
),
},
{
fieldtype: "Data",
fieldname: "account_number",
label: __("Account Number"),
description: __("Number of new Account, it will be included in the account name as a prefix"),
},
{
fieldtype: "Check",
fieldname: "is_group",
label: __("Is Group"),
description: __(
"Further accounts can be made under Groups, but entries can be made against non-Groups"
),
},
{
fieldtype: "Select",
fieldname: "root_type",
label: __("Root Type"),
options: ["Asset", "Liability", "Equity", "Income", "Expense"].join("\n"),
depends_on: "eval:doc.is_group && !doc.parent_account",
},
{
fieldtype: "Select",
fieldname: "account_type",
label: __("Account Type"),
options: frappe.get_meta("Account").fields.filter((d) => d.fieldname == "account_type")[0]
.options,
description: __("Optional. This setting will be used to filter in various transactions."),
},
{
fieldtype: "Float",
fieldname: "tax_rate",
label: __("Tax Rate"),
depends_on: 'eval:doc.is_group==0&&doc.account_type=="Tax"',
},
{
fieldtype: "Link",
fieldname: "account_currency",
label: __("Currency"),
options: "Currency",
description: __("Optional. Sets company's default currency, if not specified."),
},
{fieldtype:'Float', fieldname:'tax_rate', label:__('Tax Rate'),
depends_on: 'eval:doc.is_group==0&&doc.account_type=="Tax"'},
{fieldtype:'Link', fieldname:'account_currency', label:__('Currency'), options:"Currency",
description: __("Optional. Sets company's default currency, if not specified.")}
],
ignore_fields:["parent_account"],
onload: function(treeview) {
frappe.treeview_settings['Account'].treeview = {};
$.extend(frappe.treeview_settings['Account'].treeview, treeview);
ignore_fields: ["parent_account"],
onload: function (treeview) {
frappe.treeview_settings["Account"].treeview = {};
$.extend(frappe.treeview_settings["Account"].treeview, treeview);
function get_company() {
return treeview.page.fields_dict.company.get_value();
}
// tools
treeview.page.add_inner_button(__("Chart of Cost Centers"), function() {
frappe.set_route('Tree', 'Cost Center', {company: get_company()});
}, __('View'));
treeview.page.add_inner_button(
__("Chart of Cost Centers"),
function () {
frappe.set_route("Tree", "Cost Center", { company: get_company() });
},
__("View")
);
treeview.page.add_inner_button(__("Opening Invoice Creation Tool"), function() {
frappe.set_route('Form', 'Opening Invoice Creation Tool', {company: get_company()});
}, __('View'));
treeview.page.add_inner_button(
__("Opening Invoice Creation Tool"),
function () {
frappe.set_route("Form", "Opening Invoice Creation Tool", { company: get_company() });
},
__("View")
);
treeview.page.add_inner_button(__("Period Closing Voucher"), function() {
frappe.set_route('List', 'Period Closing Voucher', {company: get_company()});
}, __('View'));
treeview.page.add_inner_button(
__("Period Closing Voucher"),
function () {
frappe.set_route("List", "Period Closing Voucher", { company: get_company() });
},
__("View")
);
treeview.page.add_inner_button(__("Journal Entry"), function() {
frappe.new_doc('Journal Entry', {company: get_company()});
}, __('Create'));
treeview.page.add_inner_button(__("Company"), function() {
frappe.new_doc('Company');
}, __('Create'));
treeview.page.add_inner_button(
__("Journal Entry"),
function () {
frappe.new_doc("Journal Entry", { company: get_company() });
},
__("Create")
);
treeview.page.add_inner_button(
__("Company"),
function () {
frappe.new_doc("Company");
},
__("Create")
);
// financial statements
for (let report of ['Trial Balance', 'General Ledger', 'Balance Sheet',
'Profit and Loss Statement', 'Cash Flow Statement', 'Accounts Payable', 'Accounts Receivable']) {
treeview.page.add_inner_button(__(report), function() {
frappe.set_route('query-report', report, {company: get_company()});
}, __('Financial Statements'));
for (let report of [
"Trial Balance",
"General Ledger",
"Balance Sheet",
"Profit and Loss Statement",
"Cash Flow Statement",
"Accounts Payable",
"Accounts Receivable",
]) {
treeview.page.add_inner_button(
__(report),
function () {
frappe.set_route("query-report", report, { company: get_company() });
},
__("Financial Statements")
);
}
},
post_render: function(treeview) {
frappe.treeview_settings['Account'].treeview["tree"] = treeview.tree;
treeview.page.set_primary_action(__("New"), function() {
let root_company = treeview.page.fields_dict.root_company.get_value();
post_render: function (treeview) {
frappe.treeview_settings["Account"].treeview["tree"] = treeview.tree;
treeview.page.set_primary_action(
__("New"),
function () {
let root_company = treeview.page.fields_dict.root_company.get_value();
if(root_company) {
frappe.throw(__("Please add the account to root level Company - {0}"), [root_company]);
} else {
treeview.new_node();
}
}, "add");
if (root_company) {
frappe.throw(__("Please add the account to root level Company - {0}"), [root_company]);
} else {
treeview.new_node();
}
},
"add"
);
},
toolbar: [
{
label:__("Add Child"),
condition: function(node) {
return frappe.boot.user.can_create.indexOf("Account") !== -1
&& (!frappe.treeview_settings['Account'].treeview.page.fields_dict.root_company.get_value()
|| frappe.flags.ignore_root_company_validation)
&& node.expandable && !node.hide_add;
label: __("Add Child"),
condition: function (node) {
return (
frappe.boot.user.can_create.indexOf("Account") !== -1 &&
(!frappe.treeview_settings[
"Account"
].treeview.page.fields_dict.root_company.get_value() ||
frappe.flags.ignore_root_company_validation) &&
node.expandable &&
!node.hide_add
);
},
click: function() {
var me = frappe.views.trees['Account'];
click: function () {
var me = frappe.views.trees["Account"];
me.new_node();
},
btnClass: "hidden-xs"
btnClass: "hidden-xs",
},
{
condition: function(node) {
return !node.root && frappe.boot.user.can_read.indexOf("GL Entry") !== -1
condition: function (node) {
return !node.root && frappe.boot.user.can_read.indexOf("GL Entry") !== -1;
},
label: __("View Ledger"),
click: function(node, btn) {
click: function (node, btn) {
frappe.route_options = {
"account": node.label,
"from_date": erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
"to_date": erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
"company": frappe.treeview_settings['Account'].treeview.page.fields_dict.company.get_value()
account: node.label,
from_date: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
to_date: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
company:
frappe.treeview_settings["Account"].treeview.page.fields_dict.company.get_value(),
};
frappe.set_route("query-report", "General Ledger");
},
btnClass: "hidden-xs"
}
btnClass: "hidden-xs",
},
],
extend_toolbar: true
}
extend_toolbar: true,
};

View File

@@ -26,7 +26,7 @@
"0360 Bauliche Investitionen in fremden (gepachteten) Betriebs- und Geschäftsgebäuden": {"account_type": "Fixed Asset"},
"0370 Bauliche Investitionen in fremden (gepachteten) Wohn- und Sozialgebäuden": {"account_type": "Fixed Asset"},
"0390 Kumulierte Abschreibungen zu Grundstücken ": {"account_type": "Fixed Asset"},
"0400 Maschinen und Geräte ": {"account_type": "Fixed Asset"},
"0400 Maschinen und Geräte ": {"account_type": "Fixed Asset"},
"0500 Maschinenwerkzeuge ": {"account_type": "Fixed Asset"},
"0510 Allgemeine Werkzeuge und Handwerkzeuge ": {"account_type": "Fixed Asset"},
"0520 Prototypen, Formen, Modelle ": {"account_type": "Fixed Asset"},
@@ -65,42 +65,41 @@
"0980 Geleistete Anzahlungen auf Finanzanlagen ": {"account_type": "Fixed Asset"},
"0990 Kumulierte Abschreibungen zu Finanzanlagen ": {"account_type": "Fixed Asset"},
"root_type": "Asset"
},
},
"Klasse 1 Aktiva: Vorr\u00e4te": {
"1000 Bezugsverrechnung": {"account_type": "Stock"},
"1100 Rohstoffe": {"account_type": "Stock"},
"1200 Bezogene Teile": {"account_type": "Stock"},
"1300 Hilfsstoffe": {"account_type": "Stock"},
"1350 Betriebsstoffe": {"account_type": "Stock"},
"1360 Vorrat Energietraeger": {"account_type": "Stock"},
"1360 Vorrat Energietraeger": {"account_type": "Stock"},
"1400 Unfertige Erzeugnisse": {"account_type": "Stock"},
"1500 Fertige Erzeugnisse": {"account_type": "Stock"},
"1600 Handelswarenvorrat": {"account_type": "Stock Received But Not Billed"},
"1700 Noch nicht abrechenbare Leistungen": {"account_type": "Stock"},
"1900 Wertberichtigungen": {"account_type": "Stock"},
"1800 Geleistete Anzahlungen": {"account_type": "Stock"},
"1900 Wertberichtigungen": {"account_type": "Stock"},
"root_type": "Asset"
},
},
"Klasse 3 Passiva: Verbindlichkeiten": {
"3000 Allgemeine Verbindlichkeiten (Schuld)": {"account_type": "Payable"},
"3010 R\u00fcckstellungen f\u00fcr Pensionen": {"account_type": "Payable"},
"3020 Steuerr\u00fcckstellungen": {"account_type": "Tax"},
"3041 Sonstige R\u00fcckstellungen": {"account_type": "Payable"},
"3041 Sonstige R\u00fcckstellungen": {"account_type": "Payable"},
"3110 Verbindlichkeiten gegen\u00fcber Bank": {"account_type": "Payable"},
"3150 Verbindlichkeiten Darlehen": {"account_type": "Payable"},
"3185 Verbindlichkeiten Kreditkarte": {"account_type": "Payable"},
"3185 Verbindlichkeiten Kreditkarte": {"account_type": "Payable"},
"3380 Verbindlichkeiten aus der Annahme gezogener Wechsel u. d. Ausstellungen eigener Wechsel": {
"account_type": "Payable"
},
"3400 Verbindlichkeiten gegen\u00fc. verb. Untern., Verbindl. gegen\u00fc. Untern., mit denen eine Beteiligungsverh\u00e4lnis besteht": {},
"3460 Verbindlichkeiten gegenueber Gesellschaftern": {"account_type": "Payable"},
"3470 Einlagen stiller Gesellschafter": {"account_type": "Payable"},
"3585 Verbindlichkeiten Lohnsteuer": {"account_type": "Tax"},
"3590 Verbindlichkeiten Kommunalabgaben": {"account_type": "Tax"},
"3595 Verbindlichkeiten Dienstgeberbeitrag": {"account_type": "Tax"},
"3585 Verbindlichkeiten Lohnsteuer": {"account_type": "Tax"},
"3590 Verbindlichkeiten Kommunalabgaben": {"account_type": "Tax"},
"3595 Verbindlichkeiten Dienstgeberbeitrag": {"account_type": "Tax"},
"3600 Verbindlichkeiten Sozialversicherung": {"account_type": "Payable"},
"3640 Verbindlichkeiten Loehne und Gehaelter": {"account_type": "Payable"},
"3640 Verbindlichkeiten Loehne und Gehaelter": {"account_type": "Payable"},
"3700 Sonstige Verbindlichkeiten": {"account_type": "Payable"},
"3900 Passive Rechnungsabgrenzungsposten": {"account_type": "Payable"},
"3100 Anleihen (einschlie\u00dflich konvertibler)": {"account_type": "Payable"},
@@ -119,13 +118,13 @@
},
"3515 Umsatzsteuer Inland 10%": {
"account_type": "Tax"
},
},
"3520 Umsatzsteuer aus i.g. Erwerb 20%": {
"account_type": "Tax"
},
"3525 Umsatzsteuer aus i.g. Erwerb 10%": {
"account_type": "Tax"
},
},
"3560 Umsatzsteuer-Evidenzkonto f\u00fcr erhaltene Anzahlungen auf Bestellungen": {},
"3360 Verbindlichkeiten aus Lieferungen u. Leistungen EU": {
"account_type": "Payable"
@@ -141,7 +140,7 @@
"account_type": "Tax"
},
"root_type": "Liability"
},
},
"Klasse 2 Aktiva: Umlaufverm\u00f6gen, Rechnungsabgrenzungen": {
"2030 Forderungen aus Lieferungen und Leistungen Inland (0% USt, umsatzsteuerfrei)": {
"account_type": "Receivable"
@@ -154,7 +153,7 @@
},
"2040 Forderungen aus Lieferungen und Leistungen Inland (sonstiger USt-Satz)": {
"account_type": "Receivable"
},
},
"2100 Forderungen aus Lieferungen und Leistungen EU": {
"account_type": "Receivable"
},
@@ -192,7 +191,7 @@
"account_type": "Receivable"
},
"2570 Einfuhrumsatzsteuer (bezahlt)": {"account_type": "Tax"},
"2460 Eingeforderte aber noch nicht eingezahlte Einlagen": {
"account_type": "Receivable"
},
@@ -243,10 +242,10 @@
},
"2800 Guthaben bei Bank": {
"account_type": "Bank"
},
},
"2801 Guthaben bei Bank - Sparkonto": {
"account_type": "Bank"
},
},
"2810 Guthaben bei Paypal": {
"account_type": "Bank"
},
@@ -264,19 +263,19 @@
},
"2895 Schwebende Geldbewegugen": {
"account_type": "Bank"
},
},
"2513 Vorsteuer Inland 5%": {
"account_type": "Tax"
},
"2515 Vorsteuer Inland 20%": {
"account_type": "Tax"
},
},
"2520 Vorsteuer aus innergemeinschaftlichem Erwerb 10%": {
"account_type": "Tax"
},
"2525 Vorsteuer aus innergemeinschaftlichem Erwerb 20%": {
"account_type": "Tax"
},
},
"2530 Vorsteuer \u00a719/Art 19 ( reverse charge ) ": {
"account_type": "Tax"
},
@@ -286,16 +285,16 @@
"root_type": "Asset"
},
"Klasse 4: Betriebliche Erträge": {
"4000 Erlöse 20 %": {"account_type": "Income Account"},
"4020 Erl\u00f6se 0 % steuerbefreit": {"account_type": "Income Account"},
"4000 Erlöse 20 %": {"account_type": "Income Account"},
"4020 Erl\u00f6se 0 % steuerbefreit": {"account_type": "Income Account"},
"4010 Erl\u00f6se 10 %": {"account_type": "Income Account"},
"4030 Erl\u00f6se 13 %": {"account_type": "Income Account"},
"4040 Erl\u00f6se 0 % innergemeinschaftliche Lieferungen": {"account_type": "Income Account"},
"4400 Erl\u00f6sreduktion 0 % steuerbefreit": {"account_type": "Expense Account"},
"4030 Erl\u00f6se 13 %": {"account_type": "Income Account"},
"4040 Erl\u00f6se 0 % innergemeinschaftliche Lieferungen": {"account_type": "Income Account"},
"4400 Erl\u00f6sreduktion 0 % steuerbefreit": {"account_type": "Expense Account"},
"4410 Erl\u00f6sreduktion 10 %": {"account_type": "Expense Account"},
"4420 Erl\u00f6sreduktion 20 %": {"account_type": "Expense Account"},
"4430 Erl\u00f6sreduktion 13 %": {"account_type": "Expense Account"},
"4440 Erl\u00f6sreduktion 0 % innergemeinschaftliche Lieferungen": {"account_type": "Expense Account"},
"4430 Erl\u00f6sreduktion 13 %": {"account_type": "Expense Account"},
"4440 Erl\u00f6sreduktion 0 % innergemeinschaftliche Lieferungen": {"account_type": "Expense Account"},
"4500 Ver\u00e4nderungen des Bestandes an fertigen und unfertigen Erzeugn. sowie an noch nicht abrechenbaren Leistungen": {"account_type": "Income Account"},
"4580 Aktivierte Eigenleistungen": {"account_type": "Income Account"},
"4600 Erl\u00f6se aus dem Abgang vom Anlageverm\u00f6gen, ausgen. Finanzanlagen": {"account_type": "Income Account"},
@@ -304,15 +303,15 @@
"4700 Ertr\u00e4ge aus der Aufl\u00f6sung von R\u00fcckstellungen": {"account_type": "Income Account"},
"4800 \u00dcbrige betriebliche Ertr\u00e4ge": {"account_type": "Income Account"},
"root_type": "Income"
},
},
"Klasse 5: Aufwand f\u00fcr Material und Leistungen": {
"5000 Einkauf Partnerleistungen": {"account_type": "Cost of Goods Sold"},
"5000 Einkauf Partnerleistungen": {"account_type": "Cost of Goods Sold"},
"5100 Verbrauch an Rohstoffen": {"account_type": "Cost of Goods Sold"},
"5200 Verbrauch von bezogenen Fertig- und Einzelteilen": {"account_type": "Cost of Goods Sold"},
"5300 Verbrauch von Hilfsstoffen": {"account_type": "Cost of Goods Sold"},
"5340 Verbrauch Verpackungsmaterial": {"account_type": "Cost of Goods Sold"},
"5470 Verbrauch von Kleinmaterial": {"account_type": "Cost of Goods Sold"},
"5450 Verbrauch von Reinigungsmaterial": {"account_type": "Cost of Goods Sold"},
"5450 Verbrauch von Reinigungsmaterial": {"account_type": "Cost of Goods Sold"},
"5400 Verbrauch von Betriebsstoffen": {"account_type": "Cost of Goods Sold"},
"5500 Verbrauch von Werkzeugen und anderen Erzeugungshilfsmittel": {"account_type": "Cost of Goods Sold"},
"5600 Verbrauch von Brenn- und Treibstoffen, Energie und Wasser": {"account_type": "Cost of Goods Sold"},
@@ -340,7 +339,7 @@
"6700 Sonstige Sozialaufwendungen": {"account_type": "Payable"},
"6900 Aufwandsstellenrechnung Personal": {"account_type": "Payable"},
"root_type": "Expense"
},
},
"Klasse 7: Abschreibungen und sonstige betriebliche Aufwendungen": {
"7010 Abschreibungen auf das Anlageverm\u00f6gen (ausgenommen Finanzanlagen)": {"account_type": "Depreciation"},
"7100 Sonstige Steuern und Geb\u00fchren": {"account_type": "Tax"},
@@ -349,7 +348,7 @@
"7310 Fahrrad - Aufwand": {"account_type": "Expense Account"},
"7320 Kfz - Aufwand": {"account_type": "Expense Account"},
"7330 LKW - Aufwand": {"account_type": "Expense Account"},
"7340 Lastenrad - Aufwand": {"account_type": "Expense Account"},
"7340 Lastenrad - Aufwand": {"account_type": "Expense Account"},
"7350 Reise- und Fahraufwand": {"account_type": "Expense Account"},
"7360 Tag- und N\u00e4chtigungsgelder": {"account_type": "Expense Account"},
"7380 Nachrichtenaufwand": {"account_type": "Expense Account"},
@@ -409,7 +408,7 @@
"8990 Gewinnabfuhr bzw. Verlust\u00fcberrechnung aus Ergebnisabf\u00fchrungsvertr\u00e4gen": {"account_type": "Expense Account"},
"8350 nicht ausgenutzte Lieferantenskonti": {"account_type": "Expense Account"},
"root_type": "Income"
},
},
"Klasse 9 Passiva: Eigenkapital, R\u00fccklagen, stille Einlagen, Abschlusskonten": {
"9000 Gezeichnetes bzw. gewidmetes Kapital": {
"account_type": "Equity"
@@ -435,5 +434,5 @@
},
"root_type": "Equity"
}
}
}
}

View File

@@ -56,7 +56,9 @@
"Constru\u00e7\u00f5es em Andamento de Im\u00f3veis Destinados \u00e0 Venda": {},
"Estoques Destinados \u00e0 Doa\u00e7\u00e3o": {},
"Im\u00f3veis Destinados \u00e0 Venda": {},
"Insumos (materiais diretos)": {},
"Insumos (materiais diretos)": {
"account_type": "Stock"
},
"Insumos Agropecu\u00e1rios": {},
"Mercadorias para Revenda": {},
"Outras 11": {},
@@ -146,6 +148,65 @@
"root_type": "Asset"
},
"CUSTOS DE PRODU\u00c7\u00c3O": {
"CUSTO DOS PRODUTOS E SERVI\u00c7OS VENDIDOS": {
"CUSTO DOS PRODUTOS VENDIDOS": {
"CUSTO DOS PRODUTOS VENDIDOS PARA AS DEMAIS ATIVIDADES": {
"Custos dos Produtos Vendidos em Geral": {
"account_type": "Cost of Goods Sold"
},
"Outros Custos 4": {},
"account_type": "Cost of Goods Sold"
},
"CUSTO DOS PRODUTOS VENDIDOS PARA ASSIST\u00caNCIA SOCIAL": {
"Custos dos Produtos para Assist\u00eancia Social - Gratuidades": {},
"Custos dos Produtos para Assist\u00eancia Social - Vendidos": {},
"Outras": {}
},
"CUSTO DOS PRODUTOS VENDIDOS PARA EDUCA\u00c7\u00c3O": {
"Custos dos Produtos para Educa\u00e7\u00e3o - Gratuidades": {},
"Custos dos Produtos para Educa\u00e7\u00e3o - Vendidos": {},
"Outros Custos 6": {}
},
"CUSTO DOS PRODUTOS VENDIDOS PARA SA\u00daDE": {
"Custos dos Produtos para Sa\u00fade - Gratuidades": {},
"Custos dos Produtos para Sa\u00fade \u2013 Vendidos": {},
"Outros Custos 5": {}
},
"account_type": "Cost of Goods Sold"
},
"CUSTO DOS SERVI\u00c7OS PRESTADOS": {
"CUSTO DOS SERVI\u00c7OS PRESTADOS PARA AS DEMAIS ATIVIDADES": {
"Custo dos Servi\u00e7os Prestados em Geral": {},
"Outros Custos": {}
},
"CUSTO DOS SERVI\u00c7OS PRESTADOS PARA ASSIST\u00caNCIA SOCIAL": {
"Custo dos Servi\u00e7os Prestados a Conv\u00eanios/Contratos/Parcerias": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es 1": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es/Subven\u00e7\u00f5es Vinculadas 1": {},
"Custo dos Servi\u00e7os Prestados a Gratuidade 1": {},
"Custo dos Servi\u00e7os Prestados a Pacientes Particulares": {},
"Outros Custos 2": {}
},
"CUSTO DOS SERVI\u00c7OS PRESTADOS PARA EDUCA\u00c7\u00c3O": {
"Custo dos Servi\u00e7os Prestados a Alunos N\u00e3o Bolsistas": {},
"Custo dos Servi\u00e7os Prestados a Conv\u00eanios/Contratos/Parcerias (Exceto PROUNI)": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es/Subven\u00e7\u00f5es Vinculadas": {},
"Custo dos Servi\u00e7os Prestados a Gratuidade": {},
"Custo dos Servi\u00e7os Prestados ao PROUNI": {},
"Outros Custos 1": {}
},
"CUSTO DOS SERVI\u00c7OS PRESTADOS PARA SA\u00daDE": {
"Custo dos Servi\u00e7os Prestados a Conv\u00eanios SUS": {},
"Custo dos Servi\u00e7os Prestados a Conv\u00eanios/Contratos/Parcerias 1": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es 2": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es/Subven\u00e7\u00f5es Vinculadas 2": {},
"Custo dos Servi\u00e7os Prestados a Gratuidade 2": {},
"Custo dos Servi\u00e7os Prestados a Pacientes Particulares 1": {},
"Outros Custos 3": {}
}
}
},
"CUSTO DOS BENS E SERVI\u00c7OS PRODUZIDOS": {
"CUSTO DOS PRODUTOS DE FABRICA\u00c7\u00c3O PR\u00d3PRIA PRODUZIDOS": {
"Alimenta\u00e7\u00e3o do Trabalhador": {},
@@ -621,7 +682,9 @@
"Receita das Unidades Imobili\u00e1rias Vendidas": {},
"Receita de Exporta\u00e7\u00e3o Direta de Mercadorias e Produtos": {},
"Receita de Exporta\u00e7\u00e3o de Servi\u00e7os": {},
"Receita de Loca\u00e7\u00e3o de Bens M\u00f3veis e Im\u00f3veis": {},
"Receita de Loca\u00e7\u00e3o de Bens M\u00f3veis e Im\u00f3veis": {
"account_type": "Income Account"
},
"Receita de Vendas de Mercadorias e Produtos a Comercial Exportadora com Fim Espec\u00edfico de Exporta\u00e7\u00e3o": {}
}
}
@@ -645,65 +708,6 @@
}
},
"RESULTADO OPERACIONAL": {
"CUSTO DOS PRODUTOS E SERVI\u00c7OS VENDIDOS": {
"CUSTO DOS PRODUTOS VENDIDOS": {
"CUSTO DOS PRODUTOS VENDIDOS PARA AS DEMAIS ATIVIDADES": {
"Custos dos Produtos Vendidos em Geral": {
"account_type": "Cost of Goods Sold"
},
"Outros Custos 4": {},
"account_type": "Cost of Goods Sold"
},
"CUSTO DOS PRODUTOS VENDIDOS PARA ASSIST\u00caNCIA SOCIAL": {
"Custos dos Produtos para Assist\u00eancia Social - Gratuidades": {},
"Custos dos Produtos para Assist\u00eancia Social - Vendidos": {},
"Outras": {}
},
"CUSTO DOS PRODUTOS VENDIDOS PARA EDUCA\u00c7\u00c3O": {
"Custos dos Produtos para Educa\u00e7\u00e3o - Gratuidades": {},
"Custos dos Produtos para Educa\u00e7\u00e3o - Vendidos": {},
"Outros Custos 6": {}
},
"CUSTO DOS PRODUTOS VENDIDOS PARA SA\u00daDE": {
"Custos dos Produtos para Sa\u00fade - Gratuidades": {},
"Custos dos Produtos para Sa\u00fade \u2013 Vendidos": {},
"Outros Custos 5": {}
},
"account_type": "Cost of Goods Sold"
},
"CUSTO DOS SERVI\u00c7OS PRESTADOS": {
"CUSTO DOS SERVI\u00c7OS PRESTADOS PARA AS DEMAIS ATIVIDADES": {
"Custo dos Servi\u00e7os Prestados em Geral": {},
"Outros Custos": {}
},
"CUSTO DOS SERVI\u00c7OS PRESTADOS PARA ASSIST\u00caNCIA SOCIAL": {
"Custo dos Servi\u00e7os Prestados a Conv\u00eanios/Contratos/Parcerias": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es 1": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es/Subven\u00e7\u00f5es Vinculadas 1": {},
"Custo dos Servi\u00e7os Prestados a Gratuidade 1": {},
"Custo dos Servi\u00e7os Prestados a Pacientes Particulares": {},
"Outros Custos 2": {}
},
"CUSTO DOS SERVI\u00c7OS PRESTADOS PARA EDUCA\u00c7\u00c3O": {
"Custo dos Servi\u00e7os Prestados a Alunos N\u00e3o Bolsistas": {},
"Custo dos Servi\u00e7os Prestados a Conv\u00eanios/Contratos/Parcerias (Exceto PROUNI)": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es/Subven\u00e7\u00f5es Vinculadas": {},
"Custo dos Servi\u00e7os Prestados a Gratuidade": {},
"Custo dos Servi\u00e7os Prestados ao PROUNI": {},
"Outros Custos 1": {}
},
"CUSTO DOS SERVI\u00c7OS PRESTADOS PARA SA\u00daDE": {
"Custo dos Servi\u00e7os Prestados a Conv\u00eanios SUS": {},
"Custo dos Servi\u00e7os Prestados a Conv\u00eanios/Contratos/Parcerias 1": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es 2": {},
"Custo dos Servi\u00e7os Prestados a Doa\u00e7\u00f5es/Subven\u00e7\u00f5es Vinculadas 2": {},
"Custo dos Servi\u00e7os Prestados a Gratuidade 2": {},
"Custo dos Servi\u00e7os Prestados a Pacientes Particulares 1": {},
"Outros Custos 3": {}
}
}
},
"DESPESAS OPERACIONAIS": {
"DESPESAS OPERACIONAIS 1": {
"DESPESAS OPERACIONAIS 2": {

View File

@@ -33,7 +33,9 @@
},
"Stocks": {
"Mati\u00e8res premi\u00e8res": {},
"Stock de produits fini": {},
"Stock de produits fini": {
"account_type": "Stock"
},
"Stock exp\u00e9di\u00e9 non-factur\u00e9": {},
"Travaux en cours": {},
"account_type": "Stock"
@@ -395,9 +397,11 @@
},
"Produits": {
"Revenus de ventes": {
" Escomptes de volume sur ventes": {},
"Escomptes de volume sur ventes": {},
"Autres produits d'exploitation": {},
"Ventes": {},
"Ventes": {
"account_type": "Income Account"
},
"Ventes avec des provinces harmonis\u00e9es": {},
"Ventes avec des provinces non-harmonis\u00e9es": {},
"Ventes \u00e0 l'\u00e9tranger": {}

View File

@@ -53,8 +53,13 @@
},
"II. Forderungen und sonstige Vermögensgegenstände": {
"is_group": 1,
"Ford. a. Lieferungen und Leistungen": {
"Forderungen aus Lieferungen und Leistungen mit Kontokorrent": {
"account_number": "1400",
"account_type": "Receivable",
"is_group": 1
},
"Forderungen aus Lieferungen und Leistungen ohne Kontokorrent": {
"account_number": "1410",
"account_type": "Receivable"
},
"Durchlaufende Posten": {
@@ -180,8 +185,13 @@
},
"IV. Verbindlichkeiten aus Lieferungen und Leistungen": {
"is_group": 1,
"Verbindlichkeiten aus Lieferungen u. Leistungen": {
"Verbindlichkeiten aus Lieferungen und Leistungen mit Kontokorrent": {
"account_number": "1600",
"account_type": "Payable",
"is_group": 1
},
"Verbindlichkeiten aus Lieferungen und Leistungen ohne Kontokorrent": {
"account_number": "1610",
"account_type": "Payable"
}
},

View File

@@ -407,13 +407,10 @@
"Bewertungskorrektur zu Forderungen aus Lieferungen und Leistungen": {
"account_number": "9960"
},
"Debitoren": {
"is_group": 1,
"account_number": "10000"
},
"Forderungen aus Lieferungen und Leistungen": {
"Forderungen aus Lieferungen und Leistungen mit Kontokorrent": {
"account_number": "1200",
"account_type": "Receivable"
"account_type": "Receivable",
"is_group": 1
},
"Forderungen aus Lieferungen und Leistungen ohne Kontokorrent": {
"account_number": "1210"
@@ -1138,18 +1135,15 @@
"Bewertungskorrektur zu Verb. aus Lieferungen und Leistungen": {
"account_number": "9964"
},
"Kreditoren": {
"account_number": "70000",
"Verb. aus Lieferungen und Leistungen mit Kontokorrent": {
"account_number": "3300",
"account_type": "Payable",
"is_group": 1,
"Wareneingangs-­Verrechnungskonto" : {
"Wareneingangs-Verrechnungskonto" : {
"account_number": "70001",
"account_type": "Stock Received But Not Billed"
}
},
"Verb. aus Lieferungen und Leistungen": {
"account_number": "3300",
"account_type": "Payable"
},
"Verb. aus Lieferungen und Leistungen ohne Kontokorrent": {
"account_number": "3310"
},

View File

@@ -1,4 +1,6 @@
{
"country_code": "hu",
"name": "Hungary - Chart of Accounts for Microenterprises",
"tree": {
"SZ\u00c1MLAOSZT\u00c1LY BEFEKTETETT ESZK\u00d6Z\u00d6K": {
"account_number": 1,

View File

@@ -6,6 +6,7 @@ import unittest
import frappe
from frappe.test_runner import make_test_records
from frappe.utils import nowdate
from erpnext.accounts.doctype.account.account import (
InvalidAccountMergeError,
@@ -324,6 +325,19 @@ class TestAccount(unittest.TestCase):
acc.account_currency = "USD"
self.assertRaises(frappe.ValidationError, acc.save)
def test_account_balance(self):
from erpnext.accounts.utils import get_balance_on
if not frappe.db.exists("Account", "Test Percent Account %5 - _TC"):
acc = frappe.new_doc("Account")
acc.account_name = "Test Percent Account %5"
acc.parent_account = "Tax Assets - _TC"
acc.company = "_Test Company"
acc.insert()
balance = get_balance_on(account="Test Percent Account %5 - _TC", date=nowdate())
self.assertEqual(balance, 0)
def _make_test_records(verbose=None):
from frappe.test_runner import make_test_objects

View File

@@ -11,6 +11,29 @@ from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
class AccountClosingBalance(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account: DF.Link | None
account_currency: DF.Link | None
closing_date: DF.Date | None
company: DF.Link | None
cost_center: DF.Link | None
credit: DF.Currency
credit_in_account_currency: DF.Currency
debit: DF.Currency
debit_in_account_currency: DF.Currency
finance_book: DF.Link | None
is_period_closing_voucher_entry: DF.Check
period_closing_voucher: DF.Link | None
project: DF.Link | None
# end: auto-generated types
pass

View File

@@ -1,74 +1,86 @@
// Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Accounting Dimension', {
refresh: function(frm) {
frm.set_query('document_type', () => {
frappe.ui.form.on("Accounting Dimension", {
refresh: function (frm) {
frm.set_query("document_type", () => {
let invalid_doctypes = frappe.model.core_doctypes_list;
invalid_doctypes.push('Accounting Dimension', 'Project',
'Cost Center', 'Accounting Dimension Detail', 'Company');
invalid_doctypes.push(
"Accounting Dimension",
"Project",
"Cost Center",
"Accounting Dimension Detail",
"Company"
);
return {
filters: {
name: ['not in', invalid_doctypes]
}
name: ["not in", invalid_doctypes],
},
};
});
frm.set_query("offsetting_account", "dimension_defaults", function(doc, cdt, cdn) {
frm.set_query("offsetting_account", "dimension_defaults", function (doc, cdt, cdn) {
let d = locals[cdt][cdn];
return {
filters: {
company: d.company,
root_type: ["in", ["Asset", "Liability"]],
is_group: 0
}
}
is_group: 0,
},
};
});
if (!frm.is_new()) {
frm.add_custom_button(__('Show {0}', [frm.doc.document_type]), function () {
frm.add_custom_button(__("Show {0}", [frm.doc.document_type]), function () {
frappe.set_route("List", frm.doc.document_type);
});
let button = frm.doc.disabled ? "Enable" : "Disable";
frm.add_custom_button(__(button), function() {
frm.set_value('disabled', 1 - frm.doc.disabled);
frm.add_custom_button(__(button), function () {
frm.set_value("disabled", 1 - frm.doc.disabled);
frappe.call({
method: "erpnext.accounts.doctype.accounting_dimension.accounting_dimension.disable_dimension",
args: {
doc: frm.doc
doc: frm.doc,
},
freeze: true,
callback: function(r) {
callback: function (r) {
let message = frm.doc.disabled ? "Dimension Disabled" : "Dimension Enabled";
frm.save();
frappe.show_alert({message:__(message), indicator:'green'});
}
frappe.show_alert({ message: __(message), indicator: "green" });
},
});
});
}
},
document_type: function(frm) {
document_type: function (frm) {
frm.set_value("label", frm.doc.document_type);
frm.set_value("fieldname", frappe.model.scrub(frm.doc.document_type));
frm.set_value('label', frm.doc.document_type);
frm.set_value('fieldname', frappe.model.scrub(frm.doc.document_type));
frappe.db.get_value('Accounting Dimension', {'document_type': frm.doc.document_type}, 'document_type', (r) => {
if (r && r.document_type) {
frm.set_df_property('document_type', 'description', "Document type is already set as dimension");
frappe.db.get_value(
"Accounting Dimension",
{ document_type: frm.doc.document_type },
"document_type",
(r) => {
if (r && r.document_type) {
frm.set_df_property(
"document_type",
"description",
"Document type is already set as dimension"
);
}
}
});
);
},
});
frappe.ui.form.on('Accounting Dimension Detail', {
dimension_defaults_add: function(frm, cdt, cdn) {
frappe.ui.form.on("Accounting Dimension Detail", {
dimension_defaults_add: function (frm, cdt, cdn) {
let row = locals[cdt][cdn];
row.reference_document = frm.doc.document_type;
}
},
});

View File

@@ -11,8 +11,31 @@ from frappe.model import core_doctypes_list
from frappe.model.document import Document
from frappe.utils import cstr
from erpnext.accounts.doctype.repost_accounting_ledger.repost_accounting_ledger import (
get_allowed_types_from_settings,
)
class AccountingDimension(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.accounting_dimension_detail.accounting_dimension_detail import (
AccountingDimensionDetail,
)
dimension_defaults: DF.Table[AccountingDimensionDetail]
disabled: DF.Check
document_type: DF.Link
fieldname: DF.Data | None
label: DF.Data | None
# end: auto-generated types
def before_insert(self):
self.set_fieldname_and_label()
@@ -87,6 +110,7 @@ def make_dimension_in_accounting_doctypes(doc, doclist=None):
doc_count = len(get_accounting_dimensions())
count = 0
repostable_doctypes = get_allowed_types_from_settings()
for doctype in doclist:
@@ -102,6 +126,7 @@ def make_dimension_in_accounting_doctypes(doc, doclist=None):
"options": doc.document_type,
"insert_after": insert_after_field,
"owner": "Administrator",
"allow_on_submit": 1 if doctype in repostable_doctypes else 0,
}
meta = frappe.get_meta(doctype, cached=False)

View File

@@ -7,4 +7,24 @@ from frappe.model.document import Document
class AccountingDimensionDetail(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
automatically_post_balancing_accounting_entry: DF.Check
company: DF.Link | None
default_dimension: DF.DynamicLink | None
mandatory_for_bs: DF.Check
mandatory_for_pl: DF.Check
offsetting_account: DF.Link | None
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
reference_document: DF.Link | None
# end: auto-generated types
pass

View File

@@ -1,10 +1,9 @@
// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Accounting Dimension Filter', {
refresh: function(frm, cdt, cdn) {
let help_content =
`<table class="table table-bordered" style="background-color: var(--scrollbar-track-color);">
frappe.ui.form.on("Accounting Dimension Filter", {
refresh: function (frm, cdt, cdn) {
let help_content = `<table class="table table-bordered" style="background-color: var(--scrollbar-track-color);">
<tr><td>
<p>
<i class="fa fa-hand-right"></i>
@@ -13,77 +12,80 @@ frappe.ui.form.on('Accounting Dimension Filter', {
</td></tr>
</table>`;
frm.set_df_property('dimension_filter_help', 'options', help_content);
frm.set_df_property("dimension_filter_help", "options", help_content);
},
onload: function(frm) {
frm.set_query('applicable_on_account', 'accounts', function() {
onload: function (frm) {
frm.set_query("applicable_on_account", "accounts", function () {
return {
filters: {
'company': frm.doc.company
}
company: frm.doc.company,
},
};
});
frappe.db.get_list('Accounting Dimension',
{fields: ['document_type']}).then((res) => {
let options = ['Cost Center', 'Project'];
frappe.db.get_list("Accounting Dimension", { fields: ["document_type"] }).then((res) => {
let options = ["Cost Center", "Project"];
res.forEach((dimension) => {
options.push(dimension.document_type);
});
frm.set_df_property('accounting_dimension', 'options', options);
frm.set_df_property("accounting_dimension", "options", options);
});
frm.trigger('setup_filters');
frm.trigger("setup_filters");
},
setup_filters: function(frm) {
setup_filters: function (frm) {
let filters = {};
if (frm.doc.accounting_dimension) {
frappe.model.with_doctype(frm.doc.accounting_dimension, function() {
frappe.model.with_doctype(frm.doc.accounting_dimension, function () {
if (frappe.model.is_tree(frm.doc.accounting_dimension)) {
filters['is_group'] = 0;
filters["is_group"] = 0;
}
if (frappe.meta.has_field(frm.doc.accounting_dimension, 'company')) {
filters['company'] = frm.doc.company;
if (frappe.meta.has_field(frm.doc.accounting_dimension, "company")) {
filters["company"] = frm.doc.company;
}
frm.set_query('dimension_value', 'dimensions', function() {
frm.set_query("dimension_value", "dimensions", function () {
return {
filters: filters
filters: filters,
};
});
});
}
},
accounting_dimension: function(frm) {
accounting_dimension: function (frm) {
frm.clear_table("dimensions");
let row = frm.add_child("dimensions");
row.accounting_dimension = frm.doc.accounting_dimension;
frm.fields_dict["dimensions"].grid.update_docfield_property("dimension_value", "label", frm.doc.accounting_dimension);
frm.fields_dict["dimensions"].grid.update_docfield_property(
"dimension_value",
"label",
frm.doc.accounting_dimension
);
frm.refresh_field("dimensions");
frm.trigger('setup_filters');
frm.trigger("setup_filters");
},
apply_restriction_on_values: function(frm) {
apply_restriction_on_values: function (frm) {
/** If restriction on values is not applied, we should set "allow_or_restrict" to "Restrict" with an empty allowed dimension table.
* Hence it's not "restricted" on any value.
*/
*/
if (!frm.doc.apply_restriction_on_values) {
frm.set_value("allow_or_restrict", "Restrict");
frm.clear_table("dimensions");
frm.refresh_field("dimensions");
}
}
},
});
frappe.ui.form.on('Allowed Dimension', {
dimensions_add: function(frm, cdt, cdn) {
frappe.ui.form.on("Allowed Dimension", {
dimensions_add: function (frm, cdt, cdn) {
let row = locals[cdt][cdn];
row.accounting_dimension = frm.doc.accounting_dimension;
frm.refresh_field("dimensions");
}
},
});

View File

@@ -8,6 +8,28 @@ from frappe.model.document import Document
class AccountingDimensionFilter(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.allowed_dimension.allowed_dimension import AllowedDimension
from erpnext.accounts.doctype.applicable_on_account.applicable_on_account import (
ApplicableOnAccount,
)
accounting_dimension: DF.Literal
accounts: DF.Table[ApplicableOnAccount]
allow_or_restrict: DF.Literal["Allow", "Restrict"]
apply_restriction_on_values: DF.Check
company: DF.Link
dimensions: DF.Table[AllowedDimension]
disabled: DF.Check
# end: auto-generated types
def before_save(self):
# If restriction is not applied on values, then remove all the dimensions and set allow_or_restrict to Restrict
if not self.apply_restriction_on_values:

View File

@@ -1,30 +1,33 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Accounting Period', {
onload: function(frm) {
if(frm.doc.closed_documents.length === 0 || (frm.doc.closed_documents.length === 1 && frm.doc.closed_documents[0].document_type == undefined)) {
frappe.ui.form.on("Accounting Period", {
onload: function (frm) {
if (
frm.doc.closed_documents.length === 0 ||
(frm.doc.closed_documents.length === 1 && frm.doc.closed_documents[0].document_type == undefined)
) {
frappe.call({
method: "get_doctypes_for_closing",
doc:frm.doc,
callback: function(r) {
if(r.message) {
doc: frm.doc,
callback: function (r) {
if (r.message) {
cur_frm.clear_table("closed_documents");
r.message.forEach(function(element) {
r.message.forEach(function (element) {
var c = frm.add_child("closed_documents");
c.document_type = element.document_type;
c.closed = element.closed;
});
refresh_field("closed_documents");
}
}
},
});
}
frm.set_query("document_type", "closed_documents", () => {
return {
query: "erpnext.controllers.queries.get_doctypes_for_closing",
}
};
});
}
},
});

View File

@@ -16,6 +16,23 @@ class ClosedAccountingPeriod(frappe.ValidationError):
class AccountingPeriod(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.closed_document.closed_document import ClosedDocument
closed_documents: DF.Table[ClosedDocument]
company: DF.Link
end_date: DF.Date
period_name: DF.Data
start_date: DF.Date
# end: auto-generated types
def validate(self):
self.validate_overlap()

View File

@@ -1,8 +1,6 @@
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Accounts Settings', {
refresh: function(frm) {
}
frappe.ui.form.on("Accounts Settings", {
refresh: function (frm) {},
});

View File

@@ -1,7 +1,6 @@
{
"actions": [],
"creation": "2013-06-24 15:49:57",
"description": "Settings for Accounts",
"doctype": "DocType",
"document_type": "Other",
"editable_grid": 1,
@@ -66,7 +65,12 @@
"show_balance_in_coa",
"banking_tab",
"enable_party_matching",
"enable_fuzzy_matching"
"enable_fuzzy_matching",
"reports_tab",
"remarks_section",
"general_ledger_remarks_length",
"column_break_lvjk",
"receivable_payable_remarks_length"
],
"fields": [
{
@@ -422,6 +426,34 @@
"fieldname": "round_row_wise_tax",
"fieldtype": "Check",
"label": "Round Tax Amount Row-wise"
},
{
"fieldname": "reports_tab",
"fieldtype": "Tab Break",
"label": "Reports"
},
{
"default": "0",
"description": "Truncates 'Remarks' column to set character length",
"fieldname": "general_ledger_remarks_length",
"fieldtype": "Int",
"label": "General Ledger"
},
{
"default": "0",
"description": "Truncates 'Remarks' column to set character length",
"fieldname": "receivable_payable_remarks_length",
"fieldtype": "Int",
"label": "Accounts Receivable/Payable"
},
{
"fieldname": "column_break_lvjk",
"fieldtype": "Column Break"
},
{
"fieldname": "remarks_section",
"fieldtype": "Section Break",
"label": "Remarks Column Length"
}
],
"icon": "icon-cog",
@@ -429,7 +461,7 @@
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2023-08-28 00:12:02.740633",
"modified": "2024-01-30 14:04:26.553554",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Accounts Settings",

View File

@@ -14,6 +14,52 @@ from erpnext.stock.utils import check_pending_reposting
class AccountsSettings(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
acc_frozen_upto: DF.Date | None
add_taxes_from_item_tax_template: DF.Check
allow_multi_currency_invoices_against_single_party_account: DF.Check
allow_stale: DF.Check
auto_reconcile_payments: DF.Check
automatically_fetch_payment_terms: DF.Check
automatically_process_deferred_accounting_entry: DF.Check
book_asset_depreciation_entry_automatically: DF.Check
book_deferred_entries_based_on: DF.Literal["Days", "Months"]
book_deferred_entries_via_journal_entry: DF.Check
book_tax_discount_loss: DF.Check
check_supplier_invoice_uniqueness: DF.Check
credit_controller: DF.Link | None
delete_linked_ledger_entries: DF.Check
determine_address_tax_category_from: DF.Literal["Billing Address", "Shipping Address"]
enable_common_party_accounting: DF.Check
enable_fuzzy_matching: DF.Check
enable_party_matching: DF.Check
frozen_accounts_modifier: DF.Link | None
general_ledger_remarks_length: DF.Int
ignore_account_closing_balance: DF.Check
make_payment_via_journal_entry: DF.Check
merge_similar_account_heads: DF.Check
over_billing_allowance: DF.Currency
post_change_gl_entries: DF.Check
receivable_payable_remarks_length: DF.Int
role_allowed_to_over_bill: DF.Link | None
round_row_wise_tax: DF.Check
show_balance_in_coa: DF.Check
show_inclusive_tax_in_print: DF.Check
show_payment_schedule_in_print: DF.Check
show_taxes_as_table_in_print: DF.Check
stale_days: DF.Int
submit_journal_entries: DF.Check
unlink_advance_payment_on_cancelation_of_order: DF.Check
unlink_payment_on_cancellation_of_invoice: DF.Check
# end: auto-generated types
def validate(self):
old_doc = self.get_doc_before_save()
clear_cache = False

View File

@@ -1,8 +1,11 @@
frappe.ui.form.on('Accounts Settings', {
refresh: function(frm) {
frappe.ui.form.on("Accounts Settings", {
refresh: function (frm) {
frm.set_df_property("acc_frozen_upto", "label", "Books Closed Through");
frm.set_df_property("frozen_accounts_modifier", "label", "Role Allowed to Close Books & Make Changes to Closed Periods");
frm.set_df_property(
"frozen_accounts_modifier",
"label",
"Role Allowed to Close Books & Make Changes to Closed Periods"
);
frm.set_df_property("credit_controller", "label", "Credit Manager");
}
},
});

View File

@@ -6,4 +6,22 @@ from frappe.model.document import Document
class AdvanceTax(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account_head: DF.Link | None
allocated_amount: DF.Currency
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
reference_detail: DF.Data | None
reference_name: DF.DynamicLink | None
reference_type: DF.Link | None
# end: auto-generated types
pass

View File

@@ -7,4 +7,33 @@ from frappe.model.document import Document
class AdvanceTaxesandCharges(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account_head: DF.Link
add_deduct_tax: DF.Literal["Add", "Deduct"]
allocated_amount: DF.Currency
base_tax_amount: DF.Currency
base_total: DF.Currency
charge_type: DF.Literal[
"", "Actual", "On Paid Amount", "On Previous Row Amount", "On Previous Row Total"
]
cost_center: DF.Link | None
currency: DF.Link | None
description: DF.SmallText
included_in_paid_amount: DF.Check
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
rate: DF.Float
row_id: DF.Data | None
tax_amount: DF.Currency
total: DF.Currency
# end: auto-generated types
pass

View File

@@ -7,4 +7,19 @@ from frappe.model.document import Document
class AllowedDimension(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
accounting_dimension: DF.Link | None
dimension_value: DF.DynamicLink | None
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
# end: auto-generated types
pass

View File

@@ -11,6 +11,7 @@
{
"fieldname": "company",
"fieldtype": "Link",
"ignore_user_permissions": 1,
"in_list_view": 1,
"label": "Company",
"options": "Company",
@@ -19,7 +20,7 @@
],
"istable": 1,
"links": [],
"modified": "2020-05-01 12:32:34.044911",
"modified": "2024-01-03 11:13:02.669632",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Allowed To Transact With",
@@ -28,5 +29,6 @@
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"states": [],
"track_changes": 1
}

View File

@@ -6,4 +6,18 @@ from frappe.model.document import Document
class AllowedToTransactWith(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
company: DF.Link
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
# end: auto-generated types
pass

View File

@@ -7,4 +7,19 @@ from frappe.model.document import Document
class ApplicableOnAccount(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
applicable_on_account: DF.Link
is_mandatory: DF.Check
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
# end: auto-generated types
pass

View File

@@ -1,38 +1,36 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.provide('erpnext.integrations');
frappe.provide("erpnext.integrations");
frappe.ui.form.on('Bank', {
onload: function(frm) {
frappe.ui.form.on("Bank", {
onload: function (frm) {
add_fields_to_mapping_table(frm);
},
refresh: function(frm) {
refresh: function (frm) {
add_fields_to_mapping_table(frm);
frm.toggle_display(['address_html','contact_html'], !frm.doc.__islocal);
frm.toggle_display(["address_html", "contact_html"], !frm.doc.__islocal);
if (frm.doc.__islocal) {
frm.set_df_property('address_and_contact', 'hidden', 1);
frm.set_df_property("address_and_contact", "hidden", 1);
frappe.contacts.clear_address_and_contact(frm);
}
else {
frm.set_df_property('address_and_contact', 'hidden', 0);
} else {
frm.set_df_property("address_and_contact", "hidden", 0);
frappe.contacts.render_address_and_contact(frm);
}
if (frm.doc.plaid_access_token) {
frm.add_custom_button(__('Refresh Plaid Link'), () => {
frm.add_custom_button(__("Refresh Plaid Link"), () => {
new erpnext.integrations.refreshPlaidLink(frm.doc.plaid_access_token);
});
}
}
},
});
let add_fields_to_mapping_table = function (frm) {
let options = [];
frappe.model.with_doctype("Bank Transaction", function() {
frappe.model.with_doctype("Bank Transaction", function () {
let meta = frappe.get_meta("Bank Transaction");
meta.fields.forEach(value => {
meta.fields.forEach((value) => {
if (!["Section Break", "Column Break"].includes(value.fieldtype)) {
options.push(value.fieldname);
}
@@ -40,30 +38,32 @@ let add_fields_to_mapping_table = function (frm) {
});
frm.fields_dict.bank_transaction_mapping.grid.update_docfield_property(
'bank_transaction_field', 'options', options
"bank_transaction_field",
"options",
options
);
};
erpnext.integrations.refreshPlaidLink = class refreshPlaidLink {
constructor(access_token) {
this.access_token = access_token;
this.plaidUrl = 'https://cdn.plaid.com/link/v2/stable/link-initialize.js';
this.plaidUrl = "https://cdn.plaid.com/link/v2/stable/link-initialize.js";
this.init_config();
}
async init_config() {
this.plaid_env = await frappe.db.get_single_value('Plaid Settings', 'plaid_env');
this.plaid_env = await frappe.db.get_single_value("Plaid Settings", "plaid_env");
this.token = await this.get_link_token_for_update();
this.init_plaid();
}
async get_link_token_for_update() {
const token = frappe.xcall(
'erpnext.erpnext_integrations.doctype.plaid_settings.plaid_settings.get_link_token_for_update',
"erpnext.erpnext_integrations.doctype.plaid_settings.plaid_settings.get_link_token_for_update",
{ access_token: this.access_token }
)
);
if (!token) {
frappe.throw(__('Cannot retrieve link token for update. Check Error Log for more information'));
frappe.throw(__("Cannot retrieve link token for update. Check Error Log for more information"));
}
return token;
}
@@ -90,35 +90,45 @@ erpnext.integrations.refreshPlaidLink = class refreshPlaidLink {
resolve();
return;
}
const el = document.createElement('script');
el.type = 'text/javascript';
const el = document.createElement("script");
el.type = "text/javascript";
el.async = true;
el.src = src;
el.addEventListener('load', resolve);
el.addEventListener('error', reject);
el.addEventListener('abort', reject);
el.addEventListener("load", resolve);
el.addEventListener("error", reject);
el.addEventListener("abort", reject);
document.head.appendChild(el);
});
}
onScriptLoaded(me) {
me.linkHandler = Plaid.create({ // eslint-disable-line no-undef
me.linkHandler = Plaid.create({
// eslint-disable-line no-undef
env: me.plaid_env,
token: me.token,
onSuccess: me.plaid_success
onSuccess: me.plaid_success,
});
}
onScriptError(error) {
frappe.msgprint(__("There was an issue connecting to Plaid's authentication server. Check browser console for more information"));
frappe.msgprint(
__(
"There was an issue connecting to Plaid's authentication server. Check browser console for more information"
)
);
console.log(error);
}
plaid_success(token, response) {
frappe.xcall('erpnext.erpnext_integrations.doctype.plaid_settings.plaid_settings.update_bank_account_ids', {
response: response,
}).then(() => {
frappe.show_alert({ message: __('Plaid Link Updated'), indicator: 'green' });
});
frappe
.xcall(
"erpnext.erpnext_integrations.doctype.plaid_settings.plaid_settings.update_bank_account_ids",
{
response: response,
}
)
.then(() => {
frappe.show_alert({ message: __("Plaid Link Updated"), indicator: "green" });
});
}
};

View File

@@ -10,6 +10,25 @@ from frappe.model.document import Document
class Bank(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.bank_transaction_mapping.bank_transaction_mapping import (
BankTransactionMapping,
)
bank_name: DF.Data
bank_transaction_mapping: DF.Table[BankTransactionMapping]
plaid_access_token: DF.Data | None
swift_number: DF.Data | None
website: DF.Data | None
# end: auto-generated types
def onload(self):
"""Load address and contacts in `__onload`"""
load_address_and_contact(self)

View File

@@ -1,45 +1,49 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Bank Account', {
setup: function(frm) {
frm.set_query("account", function() {
frappe.ui.form.on("Bank Account", {
setup: function (frm) {
frm.set_query("account", function () {
return {
filters: {
'account_type': 'Bank',
'company': frm.doc.company,
'is_group': 0
}
account_type: "Bank",
company: frm.doc.company,
is_group: 0,
},
};
});
frm.set_query("party_type", function() {
frm.set_query("party_type", function () {
return {
query: "erpnext.setup.doctype.party_type.party_type.get_party_type",
};
});
},
refresh: function(frm) {
frappe.dynamic_link = { doc: frm.doc, fieldname: 'name', doctype: 'Bank Account' }
refresh: function (frm) {
frappe.dynamic_link = { doc: frm.doc, fieldname: "name", doctype: "Bank Account" };
frm.toggle_display(['address_html','contact_html'], !frm.doc.__islocal);
frm.toggle_display(["address_html", "contact_html"], !frm.doc.__islocal);
if (frm.doc.__islocal) {
frappe.contacts.clear_address_and_contact(frm);
}
else {
} else {
frappe.contacts.render_address_and_contact(frm);
}
if (frm.doc.integration_id) {
frm.add_custom_button(__("Unlink external integrations"), function() {
frappe.confirm(__("This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?"), function() {
frm.set_value("integration_id", "");
});
frm.add_custom_button(__("Unlink external integrations"), function () {
frappe.confirm(
__(
"This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?"
),
function () {
frm.set_value("integration_id", "");
}
);
});
}
},
is_company_account: function(frm) {
frm.set_df_property('account', 'reqd', frm.doc.is_company_account);
}
is_company_account: function (frm) {
frm.set_df_property("account", "reqd", frm.doc.is_company_account);
},
});

View File

@@ -9,9 +9,37 @@ from frappe.contacts.address_and_contact import (
load_address_and_contact,
)
from frappe.model.document import Document
from frappe.utils import comma_and, get_link_to_form
class BankAccount(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account: DF.Link | None
account_name: DF.Data
account_subtype: DF.Link | None
account_type: DF.Link | None
bank: DF.Link
bank_account_no: DF.Data | None
branch_code: DF.Data | None
company: DF.Link | None
disabled: DF.Check
iban: DF.Data | None
integration_id: DF.Data | None
is_company_account: DF.Check
is_default: DF.Check
last_integration_date: DF.Date | None
mask: DF.Data | None
party: DF.DynamicLink | None
party_type: DF.Link | None
# end: auto-generated types
def onload(self):
"""Load address and contacts in `__onload`"""
load_address_and_contact(self)
@@ -25,6 +53,19 @@ class BankAccount(Document):
def validate(self):
self.validate_company()
self.validate_iban()
self.validate_account()
def validate_account(self):
if self.account:
if accounts := frappe.db.get_all(
"Bank Account", filters={"account": self.account, "name": ["!=", self.name]}, as_list=1
):
frappe.throw(
_("'{0}' account is already used by {1}. Use another account.").format(
frappe.bold(self.account),
frappe.bold(comma_and([get_link_to_form(self.doctype, x[0]) for x in accounts])),
)
)
def validate_company(self):
if self.is_company_account and not self.company:

View File

@@ -1,8 +1,6 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Bank Account Subtype', {
refresh: function() {
}
frappe.ui.form.on("Bank Account Subtype", {
refresh: function () {},
});

View File

@@ -6,4 +6,15 @@ from frappe.model.document import Document
class BankAccountSubtype(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account_subtype: DF.Data | None
# end: auto-generated types
pass

View File

@@ -1,8 +1,7 @@
// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Bank Account Type', {
frappe.ui.form.on("Bank Account Type", {
// refresh: function(frm) {
// }
});

View File

@@ -7,4 +7,15 @@ from frappe.model.document import Document
class BankAccountType(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account_type: DF.Data | None
# end: auto-generated types
pass

View File

@@ -2,80 +2,76 @@
// License: GNU General Public License v3. See license.txt
frappe.ui.form.on("Bank Clearance", {
setup: function(frm) {
setup: function (frm) {
frm.add_fetch("account", "account_currency", "account_currency");
frm.set_query("account", function() {
frm.set_query("account", function () {
return {
"filters": {
"account_type": ["in",["Bank","Cash"]],
"is_group": 0,
}
filters: {
account_type: ["in", ["Bank", "Cash"]],
is_group: 0,
},
};
});
frm.set_query("bank_account", function () {
return {
filters: {
'is_company_account': 1
is_company_account: 1,
},
};
});
},
onload: function(frm) {
let default_bank_account = frappe.defaults.get_user_default("Company")?
locals[":Company"][frappe.defaults.get_user_default("Company")]["default_bank_account"]: "";
onload: function (frm) {
let default_bank_account = frappe.defaults.get_user_default("Company")
? locals[":Company"][frappe.defaults.get_user_default("Company")]["default_bank_account"]
: "";
frm.set_value("account", default_bank_account);
frm.set_value("from_date", frappe.datetime.month_start());
frm.set_value("to_date", frappe.datetime.month_end());
},
refresh: function(frm) {
refresh: function (frm) {
frm.disable_save();
frm.add_custom_button(__('Get Payment Entries'), () =>
frm.trigger("get_payment_entries")
);
frm.add_custom_button(__("Get Payment Entries"), () => frm.trigger("get_payment_entries"));
frm.change_custom_button_type(__('Get Payment Entries'), null, 'primary');
frm.change_custom_button_type(__("Get Payment Entries"), null, "primary");
},
update_clearance_date: function(frm) {
update_clearance_date: function (frm) {
return frappe.call({
method: "update_clearance_date",
doc: frm.doc,
callback: function(r, rt) {
callback: function (r, rt) {
frm.refresh_field("payment_entries");
frm.refresh_fields();
if (!frm.doc.payment_entries.length) {
frm.change_custom_button_type(__('Get Payment Entries'), null, 'primary');
frm.change_custom_button_type(__('Update Clearance Date'), null, 'default');
frm.change_custom_button_type(__("Get Payment Entries"), null, "primary");
frm.change_custom_button_type(__("Update Clearance Date"), null, "default");
}
}
},
});
},
get_payment_entries: function(frm) {
get_payment_entries: function (frm) {
return frappe.call({
method: "get_payment_entries",
doc: frm.doc,
callback: function(r, rt) {
callback: function (r, rt) {
frm.refresh_field("payment_entries");
if (frm.doc.payment_entries.length) {
frm.add_custom_button(__('Update Clearance Date'), () =>
frm.add_custom_button(__("Update Clearance Date"), () =>
frm.trigger("update_clearance_date")
);
frm.change_custom_button_type(__('Get Payment Entries'), null, 'default');
frm.change_custom_button_type(__('Update Clearance Date'), null, 'primary');
frm.change_custom_button_type(__("Get Payment Entries"), null, "default");
frm.change_custom_button_type(__("Update Clearance Date"), null, "primary");
}
}
},
});
}
},
});

View File

@@ -5,7 +5,9 @@
import frappe
from frappe import _, msgprint
from frappe.model.document import Document
from frappe.query_builder.custom import ConstantColumn
from frappe.utils import flt, fmt_money, getdate
from pypika import Order
import erpnext
@@ -13,6 +15,28 @@ form_grid_templates = {"journal_entries": "templates/form_grid/bank_reconciliati
class BankClearance(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.bank_clearance_detail.bank_clearance_detail import (
BankClearanceDetail,
)
account: DF.Link
account_currency: DF.Link | None
bank_account: DF.Link | None
from_date: DF.Date
include_pos_transactions: DF.Check
include_reconciled_entries: DF.Check
payment_entries: DF.Table[BankClearanceDetail]
to_date: DF.Date
# end: auto-generated types
@frappe.whitelist()
def get_payment_entries(self):
if not (self.from_date and self.to_date):
@@ -157,39 +181,62 @@ def get_payment_entries_for_bank_clearance(
pos_sales_invoices, pos_purchase_invoices = [], []
if include_pos_transactions:
pos_sales_invoices = frappe.db.sql(
"""
select
"Sales Invoice Payment" as payment_document, sip.name as payment_entry, sip.amount as debit,
si.posting_date, si.customer as against_account, sip.clearance_date,
account.account_currency, 0 as credit
from `tabSales Invoice Payment` sip, `tabSales Invoice` si, `tabAccount` account
where
sip.account=%(account)s and si.docstatus=1 and sip.parent = si.name
and account.name = sip.account and si.posting_date >= %(from)s and si.posting_date <= %(to)s
order by
si.posting_date ASC, si.name DESC
""",
{"account": account, "from": from_date, "to": to_date},
as_dict=1,
)
si_payment = frappe.qb.DocType("Sales Invoice Payment")
si = frappe.qb.DocType("Sales Invoice")
acc = frappe.qb.DocType("Account")
pos_purchase_invoices = frappe.db.sql(
"""
select
"Purchase Invoice" as payment_document, pi.name as payment_entry, pi.paid_amount as credit,
pi.posting_date, pi.supplier as against_account, pi.clearance_date,
account.account_currency, 0 as debit
from `tabPurchase Invoice` pi, `tabAccount` account
where
pi.cash_bank_account=%(account)s and pi.docstatus=1 and account.name = pi.cash_bank_account
and pi.posting_date >= %(from)s and pi.posting_date <= %(to)s
order by
pi.posting_date ASC, pi.name DESC
""",
{"account": account, "from": from_date, "to": to_date},
as_dict=1,
)
pos_sales_invoices = (
frappe.qb.from_(si_payment)
.inner_join(si)
.on(si_payment.parent == si.name)
.inner_join(acc)
.on(si_payment.account == acc.name)
.select(
ConstantColumn("Sales Invoice").as_("payment_document"),
si.name.as_("payment_entry"),
si_payment.reference_no.as_("cheque_number"),
si_payment.amount.as_("debit"),
si.posting_date,
si.customer.as_("against_account"),
si_payment.clearance_date,
acc.account_currency,
ConstantColumn(0).as_("credit"),
)
.where(
(si.docstatus == 1)
& (si_payment.account == account)
& (si.posting_date >= from_date)
& (si.posting_date <= to_date)
)
.orderby(si.posting_date)
.orderby(si.name, order=Order.desc)
).run(as_dict=True)
pi = frappe.qb.DocType("Purchase Invoice")
pos_purchase_invoices = (
frappe.qb.from_(pi)
.inner_join(acc)
.on(pi.cash_bank_account == acc.name)
.select(
ConstantColumn("Purchase Invoice").as_("payment_document"),
pi.name.as_("payment_entry"),
pi.paid_amount.as_("credit"),
pi.posting_date,
pi.supplier.as_("against_account"),
pi.clearance_date,
acc.account_currency,
ConstantColumn(0).as_("debit"),
)
.where(
(pi.docstatus == 1)
& (pi.cash_bank_account == account)
& (pi.posting_date >= from_date)
& (pi.posting_date <= to_date)
)
.orderby(pi.posting_date)
.orderby(pi.name, order=Order.desc)
).run(as_dict=True)
entries = (
list(payment_entries)

View File

@@ -6,4 +6,25 @@ from frappe.model.document import Document
class BankClearanceDetail(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
against_account: DF.Data | None
amount: DF.Data | None
cheque_date: DF.Date | None
cheque_number: DF.Data | None
clearance_date: DF.Date | None
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
payment_document: DF.Link | None
payment_entry: DF.DynamicLink | None
posting_date: DF.Date | None
# end: auto-generated types
pass

View File

@@ -1,39 +1,39 @@
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
cur_frm.add_fetch('bank_account','account','account');
cur_frm.add_fetch('bank_account','bank_account_no','bank_account_no');
cur_frm.add_fetch('bank_account','iban','iban');
cur_frm.add_fetch('bank_account','branch_code','branch_code');
cur_frm.add_fetch('bank','swift_number','swift_number');
cur_frm.add_fetch("bank_account", "account", "account");
cur_frm.add_fetch("bank_account", "bank_account_no", "bank_account_no");
cur_frm.add_fetch("bank_account", "iban", "iban");
cur_frm.add_fetch("bank_account", "branch_code", "branch_code");
cur_frm.add_fetch("bank", "swift_number", "swift_number");
frappe.ui.form.on('Bank Guarantee', {
setup: function(frm) {
frm.set_query("bank", function() {
return {
filters: {
company: frm.doc.company
}
};
});
frm.set_query("bank_account", function() {
frappe.ui.form.on("Bank Guarantee", {
setup: function (frm) {
frm.set_query("bank", function () {
return {
filters: {
company: frm.doc.company,
bank: frm.doc.bank
}
}
},
};
});
frm.set_query("project", function() {
frm.set_query("bank_account", function () {
return {
filters: {
customer: frm.doc.customer
}
company: frm.doc.company,
bank: frm.doc.bank,
},
};
});
frm.set_query("project", function () {
return {
filters: {
customer: frm.doc.customer,
},
};
});
},
bg_type: function(frm) {
bg_type: function (frm) {
if (frm.doc.bg_type == "Receiving") {
frm.set_value("reference_doctype", "Sales Order");
} else if (frm.doc.bg_type == "Providing") {
@@ -41,34 +41,33 @@ frappe.ui.form.on('Bank Guarantee', {
}
},
reference_docname: function(frm) {
reference_docname: function (frm) {
if (frm.doc.reference_docname && frm.doc.reference_doctype) {
let party_field = frm.doc.reference_doctype == "Sales Order" ? "customer" : "supplier";
frappe.call({
method: "erpnext.accounts.doctype.bank_guarantee.bank_guarantee.get_voucher_details",
args: {
"bank_guarantee_type": frm.doc.bg_type,
"reference_name": frm.doc.reference_docname
bank_guarantee_type: frm.doc.bg_type,
reference_name: frm.doc.reference_docname,
},
callback: function(r) {
callback: function (r) {
if (r.message) {
if (r.message[party_field]) frm.set_value(party_field, r.message[party_field]);
if (r.message.project) frm.set_value("project", r.message.project);
if (r.message.grand_total) frm.set_value("amount", r.message.grand_total);
}
}
},
});
}
},
start_date: function(frm) {
start_date: function (frm) {
var end_date = frappe.datetime.add_days(cur_frm.doc.start_date, cur_frm.doc.validity - 1);
cur_frm.set_value("end_date", end_date);
},
validity: function(frm) {
validity: function (frm) {
var end_date = frappe.datetime.add_days(cur_frm.doc.start_date, cur_frm.doc.validity - 1);
cur_frm.set_value("end_date", end_date);
}
},
});

View File

@@ -8,6 +8,40 @@ from frappe.model.document import Document
class BankGuarantee(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account: DF.Link | None
amended_from: DF.Link | None
amount: DF.Currency
bank: DF.Link | None
bank_account: DF.Link | None
bank_account_no: DF.Data | None
bank_guarantee_number: DF.Data | None
bg_type: DF.Literal["", "Receiving", "Providing"]
branch_code: DF.Data | None
charges: DF.Currency
customer: DF.Link | None
end_date: DF.Date | None
fixed_deposit_number: DF.Data | None
iban: DF.Data | None
margin_money: DF.Currency
more_information: DF.TextEditor | None
name_of_beneficiary: DF.Data | None
project: DF.Link | None
reference_docname: DF.DynamicLink | None
reference_doctype: DF.Link | None
start_date: DF.Date
supplier: DF.Link | None
swift_number: DF.Data | None
validity: DF.Int
# end: auto-generated types
def validate(self):
if not (self.customer or self.supplier):
frappe.throw(_("Select the customer or supplier."))

View File

@@ -8,21 +8,22 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
return {
filters: {
company: frm.doc.company,
'is_company_account': 1
is_company_account: 1,
},
};
});
let no_bank_transactions_text =
`<div class="text-muted text-center">${__("No Matching Bank Transactions Found")}</div>`
let no_bank_transactions_text = `<div class="text-muted text-center">${__(
"No Matching Bank Transactions Found"
)}</div>`;
set_field_options("no_bank_transactions", no_bank_transactions_text);
},
onload: function (frm) {
// Set default filter dates
let today = frappe.datetime.get_today()
let today = frappe.datetime.get_today();
frm.doc.bank_statement_from_date = frappe.datetime.add_months(today, -1);
frm.doc.bank_statement_to_date = today;
frm.trigger('bank_account');
frm.trigger("bank_account");
},
filter_by_reference_date: function (frm) {
@@ -37,34 +38,27 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
refresh: function (frm) {
frm.disable_save();
frappe.require("bank-reconciliation-tool.bundle.js", () =>
frm.trigger("make_reconciliation_tool")
);
frappe.require("bank-reconciliation-tool.bundle.js", () => frm.trigger("make_reconciliation_tool"));
frm.add_custom_button(__("Upload Bank Statement"), () =>
frappe.call({
method:
"erpnext.accounts.doctype.bank_statement_import.bank_statement_import.upload_bank_statement",
args: {
dt: frm.doc.doctype,
dn: frm.doc.name,
company: frm.doc.company,
bank_account: frm.doc.bank_account,
},
callback: function (r) {
if (!r.exc) {
var doc = frappe.model.sync(r.message);
frappe.set_route(
"Form",
doc[0].doctype,
doc[0].name
);
}
},
})
frappe.call({
method: "erpnext.accounts.doctype.bank_statement_import.bank_statement_import.upload_bank_statement",
args: {
dt: frm.doc.doctype,
dn: frm.doc.name,
company: frm.doc.company,
bank_account: frm.doc.bank_account,
},
callback: function (r) {
if (!r.exc) {
var doc = frappe.model.sync(r.message);
frappe.set_route("Form", doc[0].doctype, doc[0].name);
}
},
})
);
frm.add_custom_button(__('Auto Reconcile'), function() {
frm.add_custom_button(__("Auto Reconcile"), function () {
frappe.call({
method: "erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.auto_reconcile_vouchers",
args: {
@@ -75,33 +69,22 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
from_reference_date: frm.doc.from_reference_date,
to_reference_date: frm.doc.to_reference_date,
},
})
});
});
frm.add_custom_button(__('Get Unreconciled Entries'), function() {
frm.add_custom_button(__("Get Unreconciled Entries"), function () {
frm.trigger("make_reconciliation_tool");
});
frm.change_custom_button_type(__('Get Unreconciled Entries'), null, 'primary');
frm.change_custom_button_type(__("Get Unreconciled Entries"), null, "primary");
},
bank_account: function (frm) {
frappe.db.get_value(
"Bank Account",
frm.doc.bank_account,
"account",
(r) => {
frappe.db.get_value(
"Account",
r.account,
"account_currency",
(r) => {
frm.doc.account_currency = r.account_currency;
frm.trigger("render_chart");
}
);
}
);
frappe.db.get_value("Bank Account", frm.doc.bank_account, "account", (r) => {
frappe.db.get_value("Account", r.account, "account_currency", (r) => {
frm.doc.account_currency = r.account_currency;
frm.trigger("render_chart");
});
});
frm.trigger("get_account_opening_balance");
},
@@ -120,11 +103,7 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
) {
frm.trigger("render_chart");
frm.trigger("render");
frappe.utils.scroll_to(
frm.get_field("reconciliation_tool_cards").$wrapper,
true,
30
);
frappe.utils.scroll_to(frm.get_field("reconciliation_tool_cards").$wrapper, true, 30);
}
});
}
@@ -133,11 +112,10 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
get_account_opening_balance(frm) {
if (frm.doc.bank_account && frm.doc.bank_statement_from_date) {
frappe.call({
method:
"erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.get_account_balance",
method: "erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.get_account_balance",
args: {
bank_account: frm.doc.bank_account,
till_date: frm.doc.bank_statement_from_date,
till_date: frappe.datetime.add_days(frm.doc.bank_statement_from_date, -1),
},
callback: (response) => {
frm.set_value("account_opening_balance", response.message);
@@ -149,8 +127,7 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
get_cleared_balance(frm) {
if (frm.doc.bank_account && frm.doc.bank_statement_to_date) {
return frappe.call({
method:
"erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.get_account_balance",
method: "erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.get_account_balance",
args: {
bank_account: frm.doc.bank_account,
till_date: frm.doc.bank_statement_to_date,
@@ -163,41 +140,30 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
},
render_chart(frm) {
frm.cards_manager = new erpnext.accounts.bank_reconciliation.NumberCardManager(
{
$reconciliation_tool_cards: frm.get_field(
"reconciliation_tool_cards"
).$wrapper,
bank_statement_closing_balance:
frm.doc.bank_statement_closing_balance,
cleared_balance: frm.cleared_balance,
currency: frm.doc.account_currency,
}
);
frm.cards_manager = new erpnext.accounts.bank_reconciliation.NumberCardManager({
$reconciliation_tool_cards: frm.get_field("reconciliation_tool_cards").$wrapper,
bank_statement_closing_balance: frm.doc.bank_statement_closing_balance,
cleared_balance: frm.cleared_balance,
currency: frm.doc.account_currency,
});
},
render(frm) {
if (frm.doc.bank_account) {
frm.bank_reconciliation_data_table_manager = new erpnext.accounts.bank_reconciliation.DataTableManager(
{
frm.bank_reconciliation_data_table_manager =
new erpnext.accounts.bank_reconciliation.DataTableManager({
company: frm.doc.company,
bank_account: frm.doc.bank_account,
$reconciliation_tool_dt: frm.get_field(
"reconciliation_tool_dt"
).$wrapper,
$no_bank_transactions: frm.get_field(
"no_bank_transactions"
).$wrapper,
$reconciliation_tool_dt: frm.get_field("reconciliation_tool_dt").$wrapper,
$no_bank_transactions: frm.get_field("no_bank_transactions").$wrapper,
bank_statement_from_date: frm.doc.bank_statement_from_date,
bank_statement_to_date: frm.doc.bank_statement_to_date,
filter_by_reference_date: frm.doc.filter_by_reference_date,
from_reference_date: frm.doc.from_reference_date,
to_reference_date: frm.doc.to_reference_date,
bank_statement_closing_balance:
frm.doc.bank_statement_closing_balance,
bank_statement_closing_balance: frm.doc.bank_statement_closing_balance,
cards_manager: frm.cards_manager,
}
);
});
}
},
});

View File

@@ -9,7 +9,6 @@ from frappe import _
from frappe.model.document import Document
from frappe.query_builder.custom import ConstantColumn
from frappe.utils import cint, flt
from pypika.terms import Parameter
from erpnext import get_default_cost_center
from erpnext.accounts.doctype.bank_transaction.bank_transaction import get_total_allocated_amount
@@ -18,9 +17,30 @@ from erpnext.accounts.report.bank_reconciliation_statement.bank_reconciliation_s
get_entries,
)
from erpnext.accounts.utils import get_account_currency, get_balance_on
from erpnext.setup.utils import get_exchange_rate
class BankReconciliationTool(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account_currency: DF.Link | None
account_opening_balance: DF.Currency
bank_account: DF.Link | None
bank_statement_closing_balance: DF.Currency
bank_statement_from_date: DF.Date | None
bank_statement_to_date: DF.Date | None
company: DF.Link | None
filter_by_reference_date: DF.Check
from_reference_date: DF.Date | None
to_reference_date: DF.Date | None
# end: auto-generated types
pass
@@ -130,7 +150,7 @@ def create_journal_entry_bts(
bank_transaction = frappe.db.get_values(
"Bank Transaction",
bank_transaction_name,
fieldname=["name", "deposit", "withdrawal", "bank_account"],
fieldname=["name", "deposit", "withdrawal", "bank_account", "currency"],
as_dict=True,
)[0]
company_account = frappe.get_value("Bank Account", bank_transaction.bank_account, "account")
@@ -144,29 +164,94 @@ def create_journal_entry_bts(
)
company = frappe.get_value("Account", company_account, "company")
company_default_currency = frappe.get_cached_value("Company", company, "default_currency")
company_account_currency = frappe.get_cached_value("Account", company_account, "account_currency")
second_account_currency = frappe.get_cached_value("Account", second_account, "account_currency")
# determine if multi-currency Journal or not
is_multi_currency = (
True
if company_default_currency != company_account_currency
or company_default_currency != second_account_currency
or company_default_currency != bank_transaction.currency
else False
)
accounts = []
# Multi Currency?
accounts.append(
{
"account": second_account,
"credit_in_account_currency": bank_transaction.deposit,
"debit_in_account_currency": bank_transaction.withdrawal,
"party_type": party_type,
"party": party,
"cost_center": get_default_cost_center(company),
}
)
second_account_dict = {
"account": second_account,
"account_currency": second_account_currency,
"credit_in_account_currency": bank_transaction.deposit,
"debit_in_account_currency": bank_transaction.withdrawal,
"party_type": party_type,
"party": party,
"cost_center": get_default_cost_center(company),
}
accounts.append(
{
"account": company_account,
"bank_account": bank_transaction.bank_account,
"credit_in_account_currency": bank_transaction.withdrawal,
"debit_in_account_currency": bank_transaction.deposit,
"cost_center": get_default_cost_center(company),
}
)
company_account_dict = {
"account": company_account,
"account_currency": company_account_currency,
"bank_account": bank_transaction.bank_account,
"credit_in_account_currency": bank_transaction.withdrawal,
"debit_in_account_currency": bank_transaction.deposit,
"cost_center": get_default_cost_center(company),
}
# convert transaction amount to company currency
if is_multi_currency:
exc_rate = get_exchange_rate(bank_transaction.currency, company_default_currency, posting_date)
withdrawal_in_company_currency = flt(exc_rate * abs(bank_transaction.withdrawal))
deposit_in_company_currency = flt(exc_rate * abs(bank_transaction.deposit))
else:
withdrawal_in_company_currency = bank_transaction.withdrawal
deposit_in_company_currency = bank_transaction.deposit
# if second account is of foreign currency, convert and set debit and credit fields.
if second_account_currency != company_default_currency:
exc_rate = get_exchange_rate(second_account_currency, company_default_currency, posting_date)
second_account_dict.update(
{
"exchange_rate": exc_rate,
"credit": deposit_in_company_currency,
"debit": withdrawal_in_company_currency,
"credit_in_account_currency": flt(deposit_in_company_currency / exc_rate) or 0,
"debit_in_account_currency": flt(withdrawal_in_company_currency / exc_rate) or 0,
}
)
else:
second_account_dict.update(
{
"exchange_rate": 1,
"credit": deposit_in_company_currency,
"debit": withdrawal_in_company_currency,
"credit_in_account_currency": deposit_in_company_currency,
"debit_in_account_currency": withdrawal_in_company_currency,
}
)
# if company account is of foreign currency, convert and set debit and credit fields.
if company_account_currency != company_default_currency:
exc_rate = get_exchange_rate(company_account_currency, company_default_currency, posting_date)
company_account_dict.update(
{
"exchange_rate": exc_rate,
"credit": withdrawal_in_company_currency,
"debit": deposit_in_company_currency,
}
)
else:
company_account_dict.update(
{
"exchange_rate": 1,
"credit": withdrawal_in_company_currency,
"debit": deposit_in_company_currency,
"credit_in_account_currency": withdrawal_in_company_currency,
"debit_in_account_currency": deposit_in_company_currency,
}
)
accounts.append(second_account_dict)
accounts.append(company_account_dict)
journal_entry_dict = {
"voucher_type": entry_type,
@@ -176,6 +261,9 @@ def create_journal_entry_bts(
"cheque_no": reference_number,
"mode_of_payment": mode_of_payment,
}
if is_multi_currency:
journal_entry_dict.update({"multi_currency": True})
journal_entry = frappe.new_doc("Journal Entry")
journal_entry.update(journal_entry_dict)
journal_entry.set("accounts", accounts)
@@ -355,7 +443,13 @@ def reconcile_vouchers(bank_transaction_name, vouchers):
vouchers = json.loads(vouchers)
transaction = frappe.get_doc("Bank Transaction", bank_transaction_name)
transaction.add_payment_entries(vouchers)
return frappe.get_doc("Bank Transaction", bank_transaction_name)
transaction.validate_duplicate_references()
transaction.allocate_payment_entries()
transaction.update_allocated_amount()
transaction.set_status()
transaction.save()
return transaction
@frappe.whitelist()
@@ -414,6 +508,18 @@ def check_matching(
to_reference_date,
):
exact_match = True if "exact_match" in document_types else False
common_filters = frappe._dict(
{
"amount": transaction.unallocated_amount,
"payment_type": "Receive" if transaction.deposit > 0.0 else "Pay",
"reference_no": transaction.reference_number,
"party_type": transaction.party_type,
"party": transaction.party,
"bank_account": bank_account,
}
)
queries = get_queries(
bank_account,
company,
@@ -425,20 +531,12 @@ def check_matching(
from_reference_date,
to_reference_date,
exact_match,
common_filters,
)
filters = {
"amount": transaction.unallocated_amount,
"payment_type": "Receive" if transaction.deposit > 0.0 else "Pay",
"reference_no": transaction.reference_number,
"party_type": transaction.party_type,
"party": transaction.party,
"bank_account": bank_account,
}
matching_vouchers = []
for query in queries:
matching_vouchers.extend(frappe.db.sql(query, filters, as_dict=True))
matching_vouchers.extend(query.run(as_dict=True))
return (
sorted(matching_vouchers, key=lambda x: x["rank"], reverse=True) if matching_vouchers else []
@@ -456,6 +554,7 @@ def get_queries(
from_reference_date,
to_reference_date,
exact_match,
common_filters,
):
# get queries to get matching vouchers
account_from_to = "paid_to" if transaction.deposit > 0.0 else "paid_from"
@@ -476,6 +575,7 @@ def get_queries(
filter_by_reference_date,
from_reference_date,
to_reference_date,
common_filters,
)
or []
)
@@ -495,6 +595,7 @@ def get_matching_queries(
filter_by_reference_date,
from_reference_date,
to_reference_date,
common_filters,
):
queries = []
currency = get_account_currency(bank_account)
@@ -509,6 +610,7 @@ def get_matching_queries(
filter_by_reference_date,
from_reference_date,
to_reference_date,
common_filters,
)
queries.append(query)
@@ -521,16 +623,17 @@ def get_matching_queries(
filter_by_reference_date,
from_reference_date,
to_reference_date,
common_filters,
)
queries.append(query)
if transaction.deposit > 0.0 and "sales_invoice" in document_types:
query = get_si_matching_query(exact_match, currency)
query = get_si_matching_query(exact_match, currency, common_filters)
queries.append(query)
if transaction.withdrawal > 0.0:
if "purchase_invoice" in document_types:
query = get_pi_matching_query(exact_match, currency)
query = get_pi_matching_query(exact_match, currency, common_filters)
queries.append(query)
if "bank_transaction" in document_types:
@@ -585,7 +688,7 @@ def get_bt_matching_query(exact_match, transaction):
.where(amount_condition)
.where(bt.docstatus == 1)
)
return str(query)
return query
def get_pe_matching_query(
@@ -597,6 +700,7 @@ def get_pe_matching_query(
filter_by_reference_date,
from_reference_date,
to_reference_date,
common_filters,
):
# get matching payment entries query
to_from = "to" if transaction.deposit > 0.0 else "from"
@@ -639,7 +743,7 @@ def get_pe_matching_query(
.where(pe.docstatus == 1)
.where(pe.payment_type.isin([payment_type, "Internal Transfer"]))
.where(pe.clearance_date.isnull())
.where(getattr(pe, account_from_to) == Parameter("%(bank_account)s"))
.where(getattr(pe, account_from_to) == common_filters.bank_account)
.where(amount_condition)
.where(filter_by_date)
.orderby(pe.reference_date if cint(filter_by_reference_date) else pe.posting_date)
@@ -648,7 +752,7 @@ def get_pe_matching_query(
if frappe.flags.auto_reconcile_vouchers == True:
query = query.where(ref_condition)
return str(query)
return query
def get_je_matching_query(
@@ -659,6 +763,7 @@ def get_je_matching_query(
filter_by_reference_date,
from_reference_date,
to_reference_date,
common_filters,
):
# get matching journal entry query
# We have mapping at the bank level
@@ -698,7 +803,7 @@ def get_je_matching_query(
.where(je.docstatus == 1)
.where(je.voucher_type != "Opening Entry")
.where(je.clearance_date.isnull())
.where(jea.account == Parameter("%(bank_account)s"))
.where(jea.account == common_filters.bank_account)
.where(amount_equality if exact_match else getattr(jea, amount_field) > 0.0)
.where(je.docstatus == 1)
.where(filter_by_date)
@@ -708,19 +813,19 @@ def get_je_matching_query(
if frappe.flags.auto_reconcile_vouchers == True:
query = query.where(ref_condition)
return str(query)
return query
def get_si_matching_query(exact_match, currency):
def get_si_matching_query(exact_match, currency, common_filters):
# get matching sales invoice query
si = frappe.qb.DocType("Sales Invoice")
sip = frappe.qb.DocType("Sales Invoice Payment")
amount_equality = sip.amount == Parameter("%(amount)s")
amount_equality = sip.amount == common_filters.amount
amount_rank = frappe.qb.terms.Case().when(amount_equality, 1).else_(0)
amount_condition = amount_equality if exact_match else sip.amount > 0.0
party_condition = si.customer == Parameter("%(party)s")
party_condition = si.customer == common_filters.party
party_rank = frappe.qb.terms.Case().when(party_condition, 1).else_(0)
query = (
@@ -741,23 +846,23 @@ def get_si_matching_query(exact_match, currency):
)
.where(si.docstatus == 1)
.where(sip.clearance_date.isnull())
.where(sip.account == Parameter("%(bank_account)s"))
.where(sip.account == common_filters.bank_account)
.where(amount_condition)
.where(si.currency == currency)
)
return str(query)
return query
def get_pi_matching_query(exact_match, currency):
def get_pi_matching_query(exact_match, currency, common_filters):
# get matching purchase invoice query when they are also used as payment entries (is_paid)
purchase_invoice = frappe.qb.DocType("Purchase Invoice")
amount_equality = purchase_invoice.paid_amount == Parameter("%(amount)s")
amount_equality = purchase_invoice.paid_amount == common_filters.amount
amount_rank = frappe.qb.terms.Case().when(amount_equality, 1).else_(0)
amount_condition = amount_equality if exact_match else purchase_invoice.paid_amount > 0.0
party_condition = purchase_invoice.supplier == Parameter("%(party)s")
party_condition = purchase_invoice.supplier == common_filters.party
party_rank = frappe.qb.terms.Case().when(party_condition, 1).else_(0)
query = (
@@ -777,9 +882,9 @@ def get_pi_matching_query(exact_match, currency):
.where(purchase_invoice.docstatus == 1)
.where(purchase_invoice.is_paid == 1)
.where(purchase_invoice.clearance_date.isnull())
.where(purchase_invoice.cash_bank_account == Parameter("%(bank_account)s"))
.where(purchase_invoice.cash_bank_account == common_filters.bank_account)
.where(amount_condition)
.where(purchase_invoice.currency == currency)
)
return str(query)
return query

View File

@@ -76,6 +76,7 @@ class TestBankReconciliationTool(AccountsTestMixin, FrappeTestCase):
"deposit": 100,
"bank_account": self.bank_account,
"reference_number": "123",
"currency": "INR",
}
)
.save()

View File

@@ -7,11 +7,9 @@ frappe.ui.form.on("Bank Statement Import", {
frm.import_in_progress = false;
if (data_import !== frm.doc.name) return;
frappe.model.clear_doc("Bank Statement Import", frm.doc.name);
frappe.model
.with_doc("Bank Statement Import", frm.doc.name)
.then(() => {
frm.refresh();
});
frappe.model.with_doc("Bank Statement Import", frm.doc.name).then(() => {
frm.refresh();
});
});
frappe.realtime.on("data_import_progress", (data) => {
frm.import_in_progress = true;
@@ -38,20 +36,9 @@ frappe.ui.form.on("Bank Statement Import", {
: __("Updating {0} of {1}, {2}", message_args);
}
if (data.skipping) {
message = __(
"Skipping {0} of {1}, {2}",
[
data.current,
data.total,
eta_message,
]
);
message = __("Skipping {0} of {1}, {2}", [data.current, data.total, eta_message]);
}
frm.dashboard.show_progress(
__("Import Progress"),
percent,
message
);
frm.dashboard.show_progress(__("Import Progress"), percent, message);
frm.page.set_indicator(__("In Progress"), "orange");
// hide progress when complete
@@ -93,15 +80,12 @@ frappe.ui.form.on("Bank Statement Import", {
frm.trigger("show_report_error_button");
if (frm.doc.status === "Partial Success") {
frm.add_custom_button(__("Export Errored Rows"), () =>
frm.trigger("export_errored_rows")
);
frm.add_custom_button(__("Export Errored Rows"), () => frm.trigger("export_errored_rows"));
}
if (frm.doc.status.includes("Success")) {
frm.add_custom_button(
__("Go to {0} List", [__(frm.doc.reference_doctype)]),
() => frappe.set_route("List", frm.doc.reference_doctype)
frm.add_custom_button(__("Go to {0} List", [__(frm.doc.reference_doctype)]), () =>
frappe.set_route("List", frm.doc.reference_doctype)
);
}
},
@@ -118,13 +102,8 @@ frappe.ui.form.on("Bank Statement Import", {
frm.disable_save();
if (frm.doc.status !== "Success") {
if (!frm.is_new() && frm.has_import_file()) {
let label =
frm.doc.status === "Pending"
? __("Start Import")
: __("Retry");
frm.page.set_primary_action(label, () =>
frm.events.start_import(frm)
);
let label = frm.doc.status === "Pending" ? __("Start Import") : __("Retry");
frm.page.set_primary_action(label, () => frm.events.start_import(frm));
} else {
frm.page.set_primary_action(__("Save"), () => frm.save());
}
@@ -166,24 +145,24 @@ frappe.ui.form.on("Bank Statement Import", {
message =
successful_records.length > 1
? __(
"Successfully imported {0} records out of {1}. Click on Export Errored Rows, fix the errors and import again.",
message_args
)
"Successfully imported {0} records out of {1}. Click on Export Errored Rows, fix the errors and import again.",
message_args
)
: __(
"Successfully imported {0} record out of {1}. Click on Export Errored Rows, fix the errors and import again.",
message_args
);
"Successfully imported {0} record out of {1}. Click on Export Errored Rows, fix the errors and import again.",
message_args
);
} else {
message =
successful_records.length > 1
? __(
"Successfully updated {0} records out of {1}. Click on Export Errored Rows, fix the errors and import again.",
message_args
)
"Successfully updated {0} records out of {1}. Click on Export Errored Rows, fix the errors and import again.",
message_args
)
: __(
"Successfully updated {0} record out of {1}. Click on Export Errored Rows, fix the errors and import again.",
message_args
);
"Successfully updated {0} record out of {1}. Click on Export Errored Rows, fix the errors and import again.",
message_args
);
}
}
frm.dashboard.set_headline(message);
@@ -226,8 +205,7 @@ frappe.ui.form.on("Bank Statement Import", {
},
download_template() {
let method =
"/api/method/frappe.core.doctype.data_import.data_import.download_template";
let method = "/api/method/frappe.core.doctype.data_import.data_import.download_template";
open_url_post(method, {
doctype: "Bank Transaction",
@@ -240,7 +218,7 @@ frappe.ui.form.on("Bank Statement Import", {
"description",
"reference_number",
"bank_account",
"currency"
"currency",
],
},
});
@@ -311,10 +289,7 @@ frappe.ui.form.on("Bank Statement Import", {
show_import_preview(frm, preview_data) {
let import_log = JSON.parse(frm.doc.statement_import_log || "[]");
if (
frm.import_preview &&
frm.import_preview.doctype === frm.doc.reference_doctype
) {
if (frm.import_preview && frm.import_preview.doctype === frm.doc.reference_doctype) {
frm.import_preview.preview_data = preview_data;
frm.import_preview.import_log = import_log;
frm.import_preview.refresh();
@@ -330,19 +305,10 @@ frappe.ui.form.on("Bank Statement Import", {
frm,
events: {
remap_column(changed_map) {
let template_options = JSON.parse(
frm.doc.template_options || "{}"
);
template_options.column_to_field_map =
template_options.column_to_field_map || {};
Object.assign(
template_options.column_to_field_map,
changed_map
);
frm.set_value(
"template_options",
JSON.stringify(template_options)
);
let template_options = JSON.parse(frm.doc.template_options || "{}");
template_options.column_to_field_map = template_options.column_to_field_map || {};
Object.assign(template_options.column_to_field_map, changed_map);
frm.set_value("template_options", JSON.stringify(template_options));
frm.save().then(() => frm.trigger("import_file"));
},
},
@@ -376,8 +342,7 @@ frappe.ui.form.on("Bank Statement Import", {
let other_warnings = [];
for (let warning of warnings) {
if (warning.row) {
warnings_by_row[warning.row] =
warnings_by_row[warning.row] || [];
warnings_by_row[warning.row] = warnings_by_row[warning.row] || [];
warnings_by_row[warning.row].push(warning);
} else {
other_warnings.push(warning);
@@ -392,9 +357,7 @@ frappe.ui.form.on("Bank Statement Import", {
if (w.field) {
let label =
w.field.label +
(w.field.parent !== frm.doc.reference_doctype
? ` (${w.field.parent})`
: "");
(w.field.parent !== frm.doc.reference_doctype ? ` (${w.field.parent})` : "");
return `<li>${label}: ${w.message}</li>`;
}
return `<li>${w.message}</li>`;
@@ -413,10 +376,9 @@ frappe.ui.form.on("Bank Statement Import", {
.map((warning) => {
let header = "";
if (warning.col) {
let column_number = `<span class="text-uppercase">${__(
"Column {0}",
[warning.col]
)}</span>`;
let column_number = `<span class="text-uppercase">${__("Column {0}", [
warning.col,
])}</span>`;
let column_header = columns[warning.col].header_title;
header = `${column_number} (${column_header})`;
}
@@ -455,36 +417,28 @@ frappe.ui.form.on("Bank Statement Import", {
let html = "";
if (log.success) {
if (frm.doc.import_type === "Insert New Records") {
html = __(
"Successfully imported {0}", [
`<span class="underline">${frappe.utils.get_form_link(
frm.doc.reference_doctype,
log.docname,
true
)}<span>`,
]
);
html = __("Successfully imported {0}", [
`<span class="underline">${frappe.utils.get_form_link(
frm.doc.reference_doctype,
log.docname,
true
)}<span>`,
]);
} else {
html = __(
"Successfully updated {0}", [
`<span class="underline">${frappe.utils.get_form_link(
frm.doc.reference_doctype,
log.docname,
true
)}<span>`,
]
);
html = __("Successfully updated {0}", [
`<span class="underline">${frappe.utils.get_form_link(
frm.doc.reference_doctype,
log.docname,
true
)}<span>`,
]);
}
} else {
let messages = log.messages
.map(JSON.parse)
.map((m) => {
let title = m.title
? `<strong>${m.title}</strong>`
: "";
let message = m.message
? `<div>${m.message}</div>`
: "";
let title = m.title ? `<strong>${m.title}</strong>` : "";
let message = m.message ? `<div>${m.message}</div>` : "";
return title + message;
})
.join("");

View File

@@ -20,6 +20,30 @@ INVALID_VALUES = ("", None)
class BankStatementImport(DataImport):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
bank: DF.Link | None
bank_account: DF.Link
company: DF.Link
google_sheets_url: DF.Data | None
import_file: DF.Attach | None
import_type: DF.Literal["", "Insert New Records", "Update Existing Records"]
mute_emails: DF.Check
reference_doctype: DF.Link
show_failed_logs: DF.Check
statement_import_log: DF.Code | None
status: DF.Literal["Pending", "Success", "Partial Success", "Error"]
submit_after_import: DF.Check
template_options: DF.Code | None
template_warnings: DF.Code | None
# end: auto-generated types
def __init__(self, *args, **kwargs):
super(BankStatementImport, self).__init__(*args, **kwargs)
@@ -124,6 +148,9 @@ def start_import(
import_file = ImportFile("Bank Transaction", file=file, import_type="Insert New Records")
data = parse_data_from_template(import_file.raw_data)
# Importer expects 'Data Import' class, which has 'payload_count' attribute
if not data_import.get("payload_count"):
data_import.payload_count = len(data) - 1
if import_file_path:
add_bank_account(data, bank_account)

View File

@@ -1,36 +1,34 @@
let imports_in_progress = [];
frappe.listview_settings['Bank Statement Import'] = {
frappe.listview_settings["Bank Statement Import"] = {
onload(listview) {
frappe.realtime.on('data_import_progress', data => {
frappe.realtime.on("data_import_progress", (data) => {
if (!imports_in_progress.includes(data.data_import)) {
imports_in_progress.push(data.data_import);
}
});
frappe.realtime.on('data_import_refresh', data => {
imports_in_progress = imports_in_progress.filter(
d => d !== data.data_import
);
frappe.realtime.on("data_import_refresh", (data) => {
imports_in_progress = imports_in_progress.filter((d) => d !== data.data_import);
listview.refresh();
});
},
get_indicator: function(doc) {
get_indicator: function (doc) {
var colors = {
'Pending': 'orange',
'Not Started': 'orange',
'Partial Success': 'orange',
'Success': 'green',
'In Progress': 'orange',
'Error': 'red'
Pending: "orange",
"Not Started": "orange",
"Partial Success": "orange",
Success: "green",
"In Progress": "orange",
Error: "red",
};
let status = doc.status;
if (imports_in_progress.includes(doc.name)) {
status = 'In Progress';
status = "In Progress";
}
if (status == 'Pending') {
status = 'Not Started';
if (status == "Pending") {
status = "Not Started";
}
return [__(status), colors[status], 'status,=,' + doc.status];
return [__(status), colors[status], "status,=," + doc.status];
},
hide_name_column: true
hide_name_column: true,
};

View File

@@ -3,7 +3,7 @@
frappe.ui.form.on("Bank Transaction", {
onload(frm) {
frm.set_query("payment_document", "payment_entries", function() {
frm.set_query("payment_document", "payment_entries", function () {
const payment_doctypes = frm.events.get_payment_doctypes(frm);
return {
filters: {
@@ -23,7 +23,7 @@ frappe.ui.form.on("Bank Transaction", {
set_bank_statement_filter(frm);
},
setup: function(frm) {
setup: function (frm) {
frm.set_query("party_type", function () {
return {
filters: {
@@ -33,16 +33,10 @@ frappe.ui.form.on("Bank Transaction", {
});
},
get_payment_doctypes: function() {
get_payment_doctypes: function () {
// get payment doctypes from all the apps
return [
"Payment Entry",
"Journal Entry",
"Sales Invoice",
"Purchase Invoice",
"Bank Transaction",
];
}
return ["Payment Entry", "Journal Entry", "Sales Invoice", "Purchase Invoice", "Bank Transaction"];
},
});
frappe.ui.form.on("Bank Transaction Payments", {
@@ -54,10 +48,11 @@ frappe.ui.form.on("Bank Transaction Payments", {
const update_clearance_date = (frm, cdt, cdn) => {
if (frm.doc.docstatus === 1) {
frappe
.xcall(
"erpnext.accounts.doctype.bank_transaction.bank_transaction.unclear_reference_payment",
{ doctype: cdt, docname: cdn, bt_name: frm.doc.name }
)
.xcall("erpnext.accounts.doctype.bank_transaction.bank_transaction.unclear_reference_payment", {
doctype: cdt,
docname: cdn,
bt_name: frm.doc.name,
})
.then((e) => {
if (e == "success") {
frappe.show_alert({

View File

@@ -13,6 +13,7 @@
"status",
"bank_account",
"company",
"amended_from",
"section_break_4",
"deposit",
"withdrawal",
@@ -25,10 +26,10 @@
"transaction_id",
"transaction_type",
"section_break_14",
"column_break_oufv",
"payment_entries",
"section_break_18",
"allocated_amount",
"amended_from",
"column_break_17",
"unallocated_amount",
"party_section",
@@ -138,10 +139,12 @@
"fieldtype": "Section Break"
},
{
"allow_on_submit": 1,
"fieldname": "allocated_amount",
"fieldtype": "Currency",
"label": "Allocated Amount",
"options": "currency"
"options": "currency",
"read_only": 1
},
{
"fieldname": "amended_from",
@@ -157,10 +160,12 @@
"fieldtype": "Column Break"
},
{
"allow_on_submit": 1,
"fieldname": "unallocated_amount",
"fieldtype": "Currency",
"label": "Unallocated Amount",
"options": "currency"
"options": "currency",
"read_only": 1
},
{
"fieldname": "party_section",
@@ -225,11 +230,15 @@
"fieldname": "bank_party_account_number",
"fieldtype": "Data",
"label": "Party Account No. (Bank Statement)"
},
{
"fieldname": "column_break_oufv",
"fieldtype": "Column Break"
}
],
"is_submittable": 1,
"links": [],
"modified": "2023-06-06 13:58:12.821411",
"modified": "2023-11-18 18:32:47.203694",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank Transaction",

View File

@@ -2,78 +2,139 @@
# For license information, please see license.txt
import frappe
from frappe import _
from frappe.model.docstatus import DocStatus
from frappe.model.document import Document
from frappe.utils import flt
from erpnext.controllers.status_updater import StatusUpdater
class BankTransaction(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
class BankTransaction(StatusUpdater):
def after_insert(self):
self.unallocated_amount = abs(flt(self.withdrawal) - flt(self.deposit))
from typing import TYPE_CHECKING
def on_submit(self):
self.clear_linked_payment_entries()
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.bank_transaction_payments.bank_transaction_payments import (
BankTransactionPayments,
)
allocated_amount: DF.Currency
amended_from: DF.Link | None
bank_account: DF.Link | None
bank_party_account_number: DF.Data | None
bank_party_iban: DF.Data | None
bank_party_name: DF.Data | None
company: DF.Link | None
currency: DF.Link | None
date: DF.Date | None
deposit: DF.Currency
description: DF.SmallText | None
naming_series: DF.Literal["ACC-BTN-.YYYY.-"]
party: DF.DynamicLink | None
party_type: DF.Link | None
payment_entries: DF.Table[BankTransactionPayments]
reference_number: DF.Data | None
status: DF.Literal["", "Pending", "Settled", "Unreconciled", "Reconciled", "Cancelled"]
transaction_id: DF.Data | None
transaction_type: DF.Data | None
unallocated_amount: DF.Currency
withdrawal: DF.Currency
# end: auto-generated types
def before_validate(self):
self.update_allocated_amount()
def validate(self):
self.validate_duplicate_references()
self.validate_currency()
def validate_currency(self):
"""
Bank Transaction should be on the same currency as the Bank Account.
"""
if self.currency and self.bank_account:
if account := frappe.get_cached_value("Bank Account", self.bank_account, "account"):
account_currency = frappe.get_cached_value("Account", account, "account_currency")
if self.currency != account_currency:
frappe.throw(
_(
"Transaction currency: {0} cannot be different from Bank Account({1}) currency: {2}"
).format(
frappe.bold(self.currency), frappe.bold(self.bank_account), frappe.bold(account_currency)
)
)
def set_status(self):
if self.docstatus == 2:
self.db_set("status", "Cancelled")
elif self.docstatus == 1:
if self.unallocated_amount > 0:
self.db_set("status", "Unreconciled")
elif self.unallocated_amount <= 0:
self.db_set("status", "Reconciled")
def validate_duplicate_references(self):
"""Make sure the same voucher is not allocated twice within the same Bank Transaction"""
if not self.payment_entries:
return
pe = []
for row in self.payment_entries:
reference = (row.payment_document, row.payment_entry)
if reference in pe:
frappe.throw(
_("{0} {1} is allocated twice in this Bank Transaction").format(
row.payment_document, row.payment_entry
)
)
pe.append(reference)
def update_allocated_amount(self):
allocated_amount = (
sum(p.allocated_amount for p in self.payment_entries) if self.payment_entries else 0.0
)
unallocated_amount = abs(flt(self.withdrawal) - flt(self.deposit)) - allocated_amount
self.allocated_amount = flt(allocated_amount, self.precision("allocated_amount"))
self.unallocated_amount = flt(unallocated_amount, self.precision("unallocated_amount"))
def before_submit(self):
self.allocate_payment_entries()
self.set_status()
if frappe.db.get_single_value("Accounts Settings", "enable_party_matching"):
self.auto_set_party()
_saving_flag = False
# nosemgrep: frappe-semgrep-rules.rules.frappe-modifying-but-not-comitting
def on_update_after_submit(self):
"Run on save(). Avoid recursion caused by multiple saves"
if not self._saving_flag:
self._saving_flag = True
self.clear_linked_payment_entries()
self.update_allocations()
self._saving_flag = False
def before_update_after_submit(self):
self.validate_duplicate_references()
self.allocate_payment_entries()
self.update_allocated_amount()
self.set_status()
def on_cancel(self):
self.clear_linked_payment_entries(for_cancel=True)
self.set_status(update=True)
for payment_entry in self.payment_entries:
self.clear_linked_payment_entry(payment_entry, for_cancel=True)
def update_allocations(self):
"The doctype does not allow modifications after submission, so write to the db direct"
if self.payment_entries:
allocated_amount = sum(p.allocated_amount for p in self.payment_entries)
else:
allocated_amount = 0.0
amount = abs(flt(self.withdrawal) - flt(self.deposit))
self.db_set("allocated_amount", flt(allocated_amount))
self.db_set("unallocated_amount", amount - flt(allocated_amount))
self.reload()
self.set_status(update=True)
self.set_status()
def add_payment_entries(self, vouchers):
"Add the vouchers with zero allocation. Save() will perform the allocations and clearance"
if 0.0 >= self.unallocated_amount:
frappe.throw(frappe._("Bank Transaction {0} is already fully reconciled").format(self.name))
frappe.throw(_("Bank Transaction {0} is already fully reconciled").format(self.name))
added = False
for voucher in vouchers:
# Can't add same voucher twice
found = False
for pe in self.payment_entries:
if (
pe.payment_document == voucher["payment_doctype"]
and pe.payment_entry == voucher["payment_name"]
):
found = True
if not found:
pe = {
self.append(
"payment_entries",
{
"payment_document": voucher["payment_doctype"],
"payment_entry": voucher["payment_name"],
"allocated_amount": 0.0, # Temporary
}
child = self.append("payment_entries", pe)
added = True
# runs on_update_after_submit
if added:
self.save()
},
)
def allocate_payment_entries(self):
"""Refactored from bank reconciliation tool.
@@ -89,8 +150,8 @@ class BankTransaction(StatusUpdater):
- 0 > a: Error: already over-allocated
- clear means: set the latest transaction date as clearance date
"""
gl_bank_account = frappe.db.get_value("Bank Account", self.bank_account, "account")
remaining_amount = self.unallocated_amount
to_remove = []
for payment_entry in self.payment_entries:
if payment_entry.allocated_amount == 0.0:
unallocated_amount, should_clear, latest_transaction = get_clearance_details(
@@ -100,49 +161,39 @@ class BankTransaction(StatusUpdater):
if 0.0 == unallocated_amount:
if should_clear:
latest_transaction.clear_linked_payment_entry(payment_entry)
self.db_delete_payment_entry(payment_entry)
to_remove.append(payment_entry)
elif remaining_amount <= 0.0:
self.db_delete_payment_entry(payment_entry)
to_remove.append(payment_entry)
elif 0.0 < unallocated_amount and unallocated_amount <= remaining_amount:
payment_entry.db_set("allocated_amount", unallocated_amount)
elif 0.0 < unallocated_amount <= remaining_amount:
payment_entry.allocated_amount = unallocated_amount
remaining_amount -= unallocated_amount
if should_clear:
latest_transaction.clear_linked_payment_entry(payment_entry)
elif 0.0 < unallocated_amount and unallocated_amount > remaining_amount:
payment_entry.db_set("allocated_amount", remaining_amount)
elif 0.0 < unallocated_amount:
payment_entry.allocated_amount = remaining_amount
remaining_amount = 0.0
elif 0.0 > unallocated_amount:
self.db_delete_payment_entry(payment_entry)
frappe.throw(frappe._("Voucher {0} is over-allocated by {1}").format(unallocated_amount))
frappe.throw(_("Voucher {0} is over-allocated by {1}").format(unallocated_amount))
self.reload()
def db_delete_payment_entry(self, payment_entry):
frappe.db.delete("Bank Transaction Payments", {"name": payment_entry.name})
for payment_entry in to_remove:
self.remove(to_remove)
@frappe.whitelist()
def remove_payment_entries(self):
for payment_entry in self.payment_entries:
self.remove_payment_entry(payment_entry)
# runs on_update_after_submit
self.save()
self.save() # runs before_update_after_submit
def remove_payment_entry(self, payment_entry):
"Clear payment entry and clearance"
self.clear_linked_payment_entry(payment_entry, for_cancel=True)
self.remove(payment_entry)
def clear_linked_payment_entries(self, for_cancel=False):
if for_cancel:
for payment_entry in self.payment_entries:
self.clear_linked_payment_entry(payment_entry, for_cancel)
else:
self.allocate_payment_entries()
def clear_linked_payment_entry(self, payment_entry, for_cancel=False):
clearance_date = None if for_cancel else self.date
set_voucher_clearance(
@@ -163,11 +214,10 @@ class BankTransaction(StatusUpdater):
deposit=self.deposit,
).match()
if result:
party_type, party = result
frappe.db.set_value(
"Bank Transaction", self.name, field={"party_type": party_type, "party": party}
)
if not result:
return
self.party_type, self.party = result
@frappe.whitelist()
@@ -199,9 +249,7 @@ def get_clearance_details(transaction, payment_entry):
if gle["gl_account"] == gl_bank_account:
if gle["amount"] <= 0.0:
frappe.throw(
frappe._("Voucher {0} value is broken: {1}").format(
payment_entry.payment_entry, gle["amount"]
)
_("Voucher {0} value is broken: {1}").format(payment_entry.payment_entry, gle["amount"])
)
unmatched_gles -= 1
@@ -222,7 +270,7 @@ def get_clearance_details(transaction, payment_entry):
def get_related_bank_gl_entries(doctype, docname):
# nosemgrep: frappe-semgrep-rules.rules.frappe-using-db-sql
result = frappe.db.sql(
return frappe.db.sql(
"""
SELECT
ABS(gle.credit_in_account_currency - gle.debit_in_account_currency) AS amount,
@@ -240,7 +288,6 @@ def get_related_bank_gl_entries(doctype, docname):
dict(doctype=doctype, docname=docname),
as_dict=True,
)
return result
def get_total_allocated_amount(doctype, docname):
@@ -350,15 +397,17 @@ def set_voucher_clearance(doctype, docname, clearance_date, self):
and len(get_reconciled_bank_transactions(doctype, docname)) < 2
):
return
frappe.db.set_value(doctype, docname, "clearance_date", clearance_date)
elif doctype == "Sales Invoice":
frappe.db.set_value(
"Sales Invoice Payment",
dict(parenttype=doctype, parent=docname),
"clearance_date",
clearance_date,
)
if doctype == "Sales Invoice":
frappe.db.set_value(
"Sales Invoice Payment",
dict(parenttype=doctype, parent=docname),
"clearance_date",
clearance_date,
)
return
frappe.db.set_value(doctype, docname, "clearance_date", clearance_date)
elif doctype == "Bank Transaction":
# For when a second bank transaction has fixed another, e.g. refund
@@ -366,6 +415,7 @@ def set_voucher_clearance(doctype, docname, clearance_date, self):
if clearance_date:
vouchers = [{"payment_doctype": "Bank Transaction", "payment_name": self.name}]
bt.add_payment_entries(vouchers)
bt.save()
else:
for pe in bt.payment_entries:
if pe.payment_document == self.doctype and pe.payment_entry == self.name:
@@ -387,3 +437,21 @@ def unclear_reference_payment(doctype, docname, bt_name):
bt = frappe.get_doc("Bank Transaction", bt_name)
set_voucher_clearance(doctype, docname, None, bt)
return docname
def remove_from_bank_transaction(doctype, docname):
"""Remove a (cancelled) voucher from all Bank Transactions."""
for bt_name in get_reconciled_bank_transactions(doctype, docname):
bt = frappe.get_doc("Bank Transaction", bt_name)
if bt.docstatus == DocStatus.cancelled():
continue
modified = False
for pe in bt.payment_entries:
if pe.payment_document == doctype and pe.payment_entry == docname:
bt.remove(pe)
modified = True
if modified:
bt.save()

View File

@@ -1,15 +1,15 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
frappe.listview_settings['Bank Transaction'] = {
frappe.listview_settings["Bank Transaction"] = {
add_fields: ["unallocated_amount"],
get_indicator: function(doc) {
if(doc.docstatus == 2) {
get_indicator: function (doc) {
if (doc.docstatus == 2) {
return [__("Cancelled"), "red", "docstatus,=,2"];
} else if(flt(doc.unallocated_amount)<=0) {
} else if (flt(doc.unallocated_amount) <= 0) {
return [__("Reconciled"), "green", "unallocated_amount,=,0"];
} else if(flt(doc.unallocated_amount)>0) {
} else if (flt(doc.unallocated_amount) > 0) {
return [__("Unreconciled"), "orange", "unallocated_amount,>,0"];
}
}
},
};

View File

@@ -2,10 +2,10 @@
# See license.txt
import json
import unittest
import frappe
from frappe import utils
from frappe.model.docstatus import DocStatus
from frappe.tests.utils import FrappeTestCase
from erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool import (
@@ -32,8 +32,16 @@ class TestBankTransaction(FrappeTestCase):
frappe.db.delete(dt)
clear_loan_transactions()
make_pos_profile()
add_transactions()
add_vouchers()
# generate and use a uniq hash identifier for 'Bank Account' and it's linked GL 'Account' to avoid validation error
uniq_identifier = frappe.generate_hash(length=10)
gl_account = create_gl_account("_Test Bank " + uniq_identifier)
bank_account = create_bank_account(
gl_account=gl_account, bank_account_name="Checking Account " + uniq_identifier
)
add_transactions(bank_account=bank_account)
add_vouchers(gl_account=gl_account)
# This test checks if ERPNext is able to provide a linked payment for a bank transaction based on the amount of the bank transaction.
def test_linked_payments(self):
@@ -81,6 +89,29 @@ class TestBankTransaction(FrappeTestCase):
clearance_date = frappe.db.get_value("Payment Entry", payment.name, "clearance_date")
self.assertFalse(clearance_date)
def test_cancel_voucher(self):
bank_transaction = frappe.get_doc(
"Bank Transaction",
dict(description="1512567 BG/000003025 OPSKATTUZWXXX AT776000000098709849 Herr G"),
)
payment = frappe.get_doc("Payment Entry", dict(party="Mr G", paid_amount=1700))
vouchers = json.dumps(
[
{
"payment_doctype": "Payment Entry",
"payment_name": payment.name,
"amount": bank_transaction.unallocated_amount,
}
]
)
reconcile_vouchers(bank_transaction.name, vouchers)
payment.reload()
payment.cancel()
bank_transaction.reload()
self.assertEqual(bank_transaction.docstatus, DocStatus.submitted())
self.assertEqual(bank_transaction.unallocated_amount, 1700)
self.assertEqual(bank_transaction.payment_entries, [])
# Check if ERPNext can correctly filter a linked payments based on the debit/credit amount
def test_debit_credit_output(self):
bank_transaction = frappe.get_doc(
@@ -196,7 +227,9 @@ def clear_loan_transactions():
frappe.db.delete("Loan Repayment")
def create_bank_account(bank_name="Citi Bank", account_name="_Test Bank - _TC"):
def create_bank_account(
bank_name="Citi Bank", gl_account="_Test Bank - _TC", bank_account_name="Checking Account"
):
try:
frappe.get_doc(
{
@@ -208,21 +241,35 @@ def create_bank_account(bank_name="Citi Bank", account_name="_Test Bank - _TC"):
pass
try:
frappe.get_doc(
bank_account = frappe.get_doc(
{
"doctype": "Bank Account",
"account_name": "Checking Account",
"account_name": bank_account_name,
"bank": bank_name,
"account": account_name,
"account": gl_account,
}
).insert(ignore_if_duplicate=True)
except frappe.DuplicateEntryError:
pass
return bank_account.name
def add_transactions():
create_bank_account()
def create_gl_account(gl_account_name="_Test Bank - _TC"):
gl_account = frappe.get_doc(
{
"doctype": "Account",
"company": "_Test Company",
"parent_account": "Current Assets - _TC",
"account_type": "Bank",
"is_group": 0,
"account_name": gl_account_name,
}
).insert()
return gl_account.name
def add_transactions(bank_account="_Test Bank - _TC"):
doc = frappe.get_doc(
{
"doctype": "Bank Transaction",
@@ -230,7 +277,7 @@ def add_transactions():
"date": "2018-10-23",
"deposit": 1200,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
"bank_account": bank_account,
}
).insert()
doc.submit()
@@ -242,7 +289,7 @@ def add_transactions():
"date": "2018-10-23",
"deposit": 1700,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
"bank_account": bank_account,
}
).insert()
doc.submit()
@@ -254,7 +301,7 @@ def add_transactions():
"date": "2018-10-26",
"withdrawal": 690,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
"bank_account": bank_account,
}
).insert()
doc.submit()
@@ -266,7 +313,7 @@ def add_transactions():
"date": "2018-10-27",
"deposit": 3900,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
"bank_account": bank_account,
}
).insert()
doc.submit()
@@ -278,13 +325,13 @@ def add_transactions():
"date": "2018-10-27",
"withdrawal": 109080,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
"bank_account": bank_account,
}
).insert()
doc.submit()
def add_vouchers():
def add_vouchers(gl_account="_Test Bank - _TC"):
try:
frappe.get_doc(
{
@@ -300,7 +347,7 @@ def add_vouchers():
pi = make_purchase_invoice(supplier="Conrad Electronic", qty=1, rate=690)
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank - _TC")
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account=gl_account)
pe.reference_no = "Conrad Oct 18"
pe.reference_date = "2018-10-24"
pe.insert()
@@ -319,14 +366,14 @@ def add_vouchers():
pass
pi = make_purchase_invoice(supplier="Mr G", qty=1, rate=1200)
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank - _TC")
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account=gl_account)
pe.reference_no = "Herr G Oct 18"
pe.reference_date = "2018-10-24"
pe.insert()
pe.submit()
pi = make_purchase_invoice(supplier="Mr G", qty=1, rate=1700)
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank - _TC")
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account=gl_account)
pe.reference_no = "Herr G Nov 18"
pe.reference_date = "2018-11-01"
pe.insert()
@@ -357,10 +404,10 @@ def add_vouchers():
pass
pi = make_purchase_invoice(supplier="Poore Simon's", qty=1, rate=3900, is_paid=1, do_not_save=1)
pi.cash_bank_account = "_Test Bank - _TC"
pi.cash_bank_account = gl_account
pi.insert()
pi.submit()
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank - _TC")
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account=gl_account)
pe.reference_no = "Poore Simon's Oct 18"
pe.reference_date = "2018-10-28"
pe.paid_amount = 690
@@ -369,7 +416,7 @@ def add_vouchers():
pe.submit()
si = create_sales_invoice(customer="Poore Simon's", qty=1, rate=3900)
pe = get_payment_entry("Sales Invoice", si.name, bank_account="_Test Bank - _TC")
pe = get_payment_entry("Sales Invoice", si.name, bank_account=gl_account)
pe.reference_no = "Poore Simon's Oct 18"
pe.reference_date = "2018-10-28"
pe.insert()
@@ -392,16 +439,12 @@ def add_vouchers():
if not frappe.db.get_value(
"Mode of Payment Account", {"company": "_Test Company", "parent": "Cash"}
):
mode_of_payment.append(
"accounts", {"company": "_Test Company", "default_account": "_Test Bank - _TC"}
)
mode_of_payment.append("accounts", {"company": "_Test Company", "default_account": gl_account})
mode_of_payment.save()
si = create_sales_invoice(customer="Fayva", qty=1, rate=109080, do_not_save=1)
si.is_pos = 1
si.append(
"payments", {"mode_of_payment": "Cash", "account": "_Test Bank - _TC", "amount": 109080}
)
si.append("payments", {"mode_of_payment": "Cash", "account": gl_account, "amount": 109080})
si.insert()
si.submit()

View File

@@ -6,4 +6,19 @@ from frappe.model.document import Document
class BankTransactionMapping(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
bank_transaction_field: DF.Literal
file_field: DF.Data
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
# end: auto-generated types
pass

View File

@@ -6,4 +6,21 @@ from frappe.model.document import Document
class BankTransactionPayments(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
allocated_amount: DF.Currency
clearance_date: DF.Date | None
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
payment_document: DF.Link
payment_entry: DF.DynamicLink
# end: auto-generated types
pass

View File

@@ -0,0 +1,100 @@
// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on("Bisect Accounting Statements", {
onload(frm) {
frm.trigger("render_heatmap");
},
refresh(frm) {
frm.add_custom_button(__("Bisect Left"), () => {
frm.trigger("bisect_left");
});
frm.add_custom_button(__("Bisect Right"), () => {
frm.trigger("bisect_right");
});
frm.add_custom_button(__("Up"), () => {
frm.trigger("move_up");
});
frm.add_custom_button(__("Build Tree"), () => {
frm.trigger("build_tree");
});
},
render_heatmap(frm) {
let bisect_heatmap = frm.get_field("bisect_heatmap").$wrapper;
bisect_heatmap.addClass("bisect_heatmap_location");
// milliseconds in a day
let msiad = 24 * 60 * 60 * 1000;
let datapoints = {};
let fr_dt = new Date(frm.doc.from_date).getTime();
let to_dt = new Date(frm.doc.to_date).getTime();
let bisect_start = new Date(frm.doc.current_from_date).getTime();
let bisect_end = new Date(frm.doc.current_to_date).getTime();
for (let x = fr_dt; x <= to_dt; x += msiad) {
let epoch_in_seconds = x / 1000;
if (bisect_start <= x && x <= bisect_end) {
datapoints[epoch_in_seconds] = 1.0;
} else {
datapoints[epoch_in_seconds] = 0.0;
}
}
new frappe.Chart(".bisect_heatmap_location", {
type: "heatmap",
data: {
dataPoints: datapoints,
start: new Date(frm.doc.from_date),
end: new Date(frm.doc.to_date),
},
countLabel: "Bisecting",
discreteDomains: 1,
});
},
bisect_left(frm) {
frm.call({
doc: frm.doc,
method: "bisect_left",
freeze: true,
freeze_message: __("Bisecting Left ..."),
callback: (r) => {
frm.trigger("render_heatmap");
},
});
},
bisect_right(frm) {
frm.call({
doc: frm.doc,
freeze: true,
freeze_message: __("Bisecting Right ..."),
method: "bisect_right",
callback: (r) => {
frm.trigger("render_heatmap");
},
});
},
move_up(frm) {
frm.call({
doc: frm.doc,
freeze: true,
freeze_message: __("Moving up in tree ..."),
method: "move_up",
callback: (r) => {
frm.trigger("render_heatmap");
},
});
},
build_tree(frm) {
frm.call({
doc: frm.doc,
freeze: true,
freeze_message: __("Rebuilding BTree for period ..."),
method: "build_tree",
callback: (r) => {
frm.trigger("render_heatmap");
},
});
},
});

View File

@@ -0,0 +1,194 @@
{
"actions": [],
"allow_rename": 1,
"creation": "2023-09-15 21:28:28.054773",
"default_view": "List",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"section_break_cvfg",
"company",
"column_break_hcam",
"from_date",
"column_break_qxbi",
"to_date",
"column_break_iwny",
"algorithm",
"section_break_8ph9",
"current_node",
"section_break_ngid",
"bisect_heatmap",
"section_break_hmsy",
"bisecting_from",
"current_from_date",
"column_break_uqyd",
"bisecting_to",
"current_to_date",
"section_break_hbyo",
"heading_cppb",
"p_l_summary",
"column_break_aivo",
"balance_sheet_summary",
"b_s_summary",
"column_break_gvwx",
"difference_heading",
"difference"
],
"fields": [
{
"fieldname": "column_break_qxbi",
"fieldtype": "Column Break"
},
{
"fieldname": "from_date",
"fieldtype": "Datetime",
"label": "From Date"
},
{
"fieldname": "to_date",
"fieldtype": "Datetime",
"label": "To Date"
},
{
"default": "BFS",
"fieldname": "algorithm",
"fieldtype": "Select",
"label": "Algorithm",
"options": "BFS\nDFS"
},
{
"fieldname": "column_break_iwny",
"fieldtype": "Column Break"
},
{
"fieldname": "current_node",
"fieldtype": "Link",
"label": "Current Node",
"options": "Bisect Nodes"
},
{
"fieldname": "section_break_hmsy",
"fieldtype": "Section Break"
},
{
"fieldname": "current_from_date",
"fieldtype": "Datetime",
"read_only": 1
},
{
"fieldname": "current_to_date",
"fieldtype": "Datetime",
"read_only": 1
},
{
"fieldname": "column_break_uqyd",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_hbyo",
"fieldtype": "Section Break"
},
{
"fieldname": "p_l_summary",
"fieldtype": "Float",
"read_only": 1
},
{
"fieldname": "b_s_summary",
"fieldtype": "Float",
"read_only": 1
},
{
"fieldname": "difference",
"fieldtype": "Float",
"read_only": 1
},
{
"fieldname": "column_break_aivo",
"fieldtype": "Column Break"
},
{
"fieldname": "column_break_gvwx",
"fieldtype": "Column Break"
},
{
"fieldname": "company",
"fieldtype": "Link",
"label": "Company",
"options": "Company"
},
{
"fieldname": "column_break_hcam",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_ngid",
"fieldtype": "Section Break"
},
{
"fieldname": "section_break_8ph9",
"fieldtype": "Section Break",
"hidden": 1
},
{
"fieldname": "bisect_heatmap",
"fieldtype": "HTML",
"label": "Heatmap"
},
{
"fieldname": "heading_cppb",
"fieldtype": "Heading",
"label": "Profit and Loss Summary"
},
{
"fieldname": "balance_sheet_summary",
"fieldtype": "Heading",
"label": "Balance Sheet Summary"
},
{
"fieldname": "difference_heading",
"fieldtype": "Heading",
"label": "Difference"
},
{
"fieldname": "bisecting_from",
"fieldtype": "Heading",
"label": "Bisecting From"
},
{
"fieldname": "bisecting_to",
"fieldtype": "Heading",
"label": "Bisecting To"
},
{
"fieldname": "section_break_cvfg",
"fieldtype": "Section Break"
}
],
"hide_toolbar": 1,
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2023-12-01 16:49:54.073890",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bisect Accounting Statements",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"print": 1,
"read": 1,
"role": "Administrator",
"share": 1,
"write": 1
}
],
"read_only": 1,
"sort_field": "modified",
"sort_order": "DESC",
"states": []
}

View File

@@ -0,0 +1,226 @@
# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
import datetime
from collections import deque
from math import floor
import frappe
from dateutil.relativedelta import relativedelta
from frappe import _
from frappe.model.document import Document
from frappe.utils import getdate
from frappe.utils.data import guess_date_format
class BisectAccountingStatements(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
algorithm: DF.Literal["BFS", "DFS"]
b_s_summary: DF.Float
company: DF.Link | None
current_from_date: DF.Datetime | None
current_node: DF.Link | None
current_to_date: DF.Datetime | None
difference: DF.Float
from_date: DF.Datetime | None
p_l_summary: DF.Float
to_date: DF.Datetime | None
# end: auto-generated types
def validate(self):
self.validate_dates()
def validate_dates(self):
if getdate(self.from_date) > getdate(self.to_date):
frappe.throw(
_("From Date: {0} cannot be greater than To date: {1}").format(
frappe.bold(self.from_date), frappe.bold(self.to_date)
)
)
def bfs(self, from_date: datetime, to_date: datetime):
# Make Root node
node = frappe.new_doc("Bisect Nodes")
node.root = None
node.period_from_date = from_date
node.period_to_date = to_date
node.insert()
period_queue = deque([node])
while period_queue:
cur_node = period_queue.popleft()
delta = cur_node.period_to_date - cur_node.period_from_date
if delta.days == 0:
continue
else:
cur_floor = floor(delta.days / 2)
next_to_date = cur_node.period_from_date + relativedelta(days=+cur_floor)
left_node = frappe.new_doc("Bisect Nodes")
left_node.period_from_date = cur_node.period_from_date
left_node.period_to_date = next_to_date
left_node.root = cur_node.name
left_node.generated = False
left_node.insert()
cur_node.left_child = left_node.name
period_queue.append(left_node)
next_from_date = cur_node.period_from_date + relativedelta(days=+(cur_floor + 1))
right_node = frappe.new_doc("Bisect Nodes")
right_node.period_from_date = next_from_date
right_node.period_to_date = cur_node.period_to_date
right_node.root = cur_node.name
right_node.generated = False
right_node.insert()
cur_node.right_child = right_node.name
period_queue.append(right_node)
cur_node.save()
def dfs(self, from_date: datetime, to_date: datetime):
# Make Root node
node = frappe.new_doc("Bisect Nodes")
node.root = None
node.period_from_date = from_date
node.period_to_date = to_date
node.insert()
period_stack = [node]
while period_stack:
cur_node = period_stack.pop()
delta = cur_node.period_to_date - cur_node.period_from_date
if delta.days == 0:
continue
else:
cur_floor = floor(delta.days / 2)
next_to_date = cur_node.period_from_date + relativedelta(days=+cur_floor)
left_node = frappe.new_doc("Bisect Nodes")
left_node.period_from_date = cur_node.period_from_date
left_node.period_to_date = next_to_date
left_node.root = cur_node.name
left_node.generated = False
left_node.insert()
cur_node.left_child = left_node.name
period_stack.append(left_node)
next_from_date = cur_node.period_from_date + relativedelta(days=+(cur_floor + 1))
right_node = frappe.new_doc("Bisect Nodes")
right_node.period_from_date = next_from_date
right_node.period_to_date = cur_node.period_to_date
right_node.root = cur_node.name
right_node.generated = False
right_node.insert()
cur_node.right_child = right_node.name
period_stack.append(right_node)
cur_node.save()
@frappe.whitelist()
def build_tree(self):
frappe.db.delete("Bisect Nodes")
# Convert str to datetime format
dt_format = guess_date_format(self.from_date)
from_date = datetime.datetime.strptime(self.from_date, dt_format)
to_date = datetime.datetime.strptime(self.to_date, dt_format)
if self.algorithm == "BFS":
self.bfs(from_date, to_date)
if self.algorithm == "DFS":
self.dfs(from_date, to_date)
# set root as current node
root = frappe.db.get_all("Bisect Nodes", filters={"root": ["is", "not set"]})[0]
self.get_report_summary()
self.current_node = root.name
self.current_from_date = self.from_date
self.current_to_date = self.to_date
self.save()
def get_report_summary(self):
filters = {
"company": self.company,
"filter_based_on": "Date Range",
"period_start_date": self.current_from_date,
"period_end_date": self.current_to_date,
"periodicity": "Yearly",
}
pl_summary = frappe.get_doc("Report", "Profit and Loss Statement")
self.p_l_summary = pl_summary.execute_script_report(filters=filters)[5]
bs_summary = frappe.get_doc("Report", "Balance Sheet")
self.b_s_summary = bs_summary.execute_script_report(filters=filters)[5]
self.difference = abs(self.p_l_summary - self.b_s_summary)
def update_node(self):
current_node = frappe.get_doc("Bisect Nodes", self.current_node)
current_node.balance_sheet_summary = self.b_s_summary
current_node.profit_loss_summary = self.p_l_summary
current_node.difference = self.difference
current_node.generated = True
current_node.save()
def current_node_has_summary_info(self):
"Assertion method"
return frappe.db.get_value("Bisect Nodes", self.current_node, "generated")
def fetch_summary_info_from_current_node(self):
current_node = frappe.get_doc("Bisect Nodes", self.current_node)
self.p_l_summary = current_node.balance_sheet_summary
self.b_s_summary = current_node.profit_loss_summary
self.difference = abs(self.p_l_summary - self.b_s_summary)
def fetch_or_calculate(self):
if self.current_node_has_summary_info():
self.fetch_summary_info_from_current_node()
else:
self.get_report_summary()
self.update_node()
@frappe.whitelist()
def bisect_left(self):
if self.current_node is not None:
cur_node = frappe.get_doc("Bisect Nodes", self.current_node)
if cur_node.left_child is not None:
lft_node = frappe.get_doc("Bisect Nodes", cur_node.left_child)
self.current_node = cur_node.left_child
self.current_from_date = lft_node.period_from_date
self.current_to_date = lft_node.period_to_date
self.fetch_or_calculate()
self.save()
else:
frappe.msgprint(_("No more children on Left"))
@frappe.whitelist()
def bisect_right(self):
if self.current_node is not None:
cur_node = frappe.get_doc("Bisect Nodes", self.current_node)
if cur_node.right_child is not None:
rgt_node = frappe.get_doc("Bisect Nodes", cur_node.right_child)
self.current_node = cur_node.right_child
self.current_from_date = rgt_node.period_from_date
self.current_to_date = rgt_node.period_to_date
self.fetch_or_calculate()
self.save()
else:
frappe.msgprint(_("No more children on Right"))
@frappe.whitelist()
def move_up(self):
if self.current_node is not None:
cur_node = frappe.get_doc("Bisect Nodes", self.current_node)
if cur_node.root is not None:
root = frappe.get_doc("Bisect Nodes", cur_node.root)
self.current_node = cur_node.root
self.current_from_date = root.period_from_date
self.current_to_date = root.period_to_date
self.fetch_or_calculate()
self.save()
else:
frappe.msgprint(_("Reached Root"))

View File

@@ -0,0 +1,9 @@
# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
# import frappe
from frappe.tests.utils import FrappeTestCase
class TestBisectAccountingStatements(FrappeTestCase):
pass

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
// frappe.ui.form.on("Bisect Nodes", {
// refresh(frm) {
// },
// });

View File

@@ -0,0 +1,97 @@
{
"actions": [],
"autoname": "autoincrement",
"creation": "2023-09-27 14:56:38.112462",
"default_view": "List",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"root",
"left_child",
"right_child",
"period_from_date",
"period_to_date",
"difference",
"balance_sheet_summary",
"profit_loss_summary",
"generated"
],
"fields": [
{
"fieldname": "root",
"fieldtype": "Link",
"label": "Root",
"options": "Bisect Nodes"
},
{
"fieldname": "left_child",
"fieldtype": "Link",
"label": "Left Child",
"options": "Bisect Nodes"
},
{
"fieldname": "right_child",
"fieldtype": "Link",
"label": "Right Child",
"options": "Bisect Nodes"
},
{
"fieldname": "period_from_date",
"fieldtype": "Datetime",
"label": "Period_from_date"
},
{
"fieldname": "period_to_date",
"fieldtype": "Datetime",
"label": "Period To Date"
},
{
"fieldname": "difference",
"fieldtype": "Float",
"label": "Difference"
},
{
"fieldname": "balance_sheet_summary",
"fieldtype": "Float",
"label": "Balance Sheet Summary"
},
{
"fieldname": "profit_loss_summary",
"fieldtype": "Float",
"label": "Profit and Loss Summary"
},
{
"default": "0",
"fieldname": "generated",
"fieldtype": "Check",
"label": "Generated"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2023-12-01 17:46:12.437996",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bisect Nodes",
"naming_rule": "Autoincrement",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Administrator",
"share": 1,
"write": 1
}
],
"read_only": 1,
"sort_field": "modified",
"sort_order": "DESC",
"states": []
}

View File

@@ -0,0 +1,29 @@
# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
# import frappe
from frappe.model.document import Document
class BisectNodes(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
balance_sheet_summary: DF.Float
difference: DF.Float
generated: DF.Check
left_child: DF.Link | None
name: DF.Int | None
period_from_date: DF.Datetime | None
period_to_date: DF.Datetime | None
profit_loss_summary: DF.Float
right_child: DF.Link | None
root: DF.Link | None
# end: auto-generated types
pass

View File

@@ -0,0 +1,9 @@
# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
# import frappe
from frappe.tests.utils import FrappeTestCase
class TestBisectNodes(FrappeTestCase):
pass

View File

@@ -2,48 +2,48 @@
// For license information, please see license.txt
frappe.provide("erpnext.accounts.dimensions");
frappe.ui.form.on('Budget', {
onload: function(frm) {
frm.set_query("account", "accounts", function() {
frappe.ui.form.on("Budget", {
onload: function (frm) {
frm.set_query("account", "accounts", function () {
return {
filters: {
company: frm.doc.company,
report_type: "Profit and Loss",
is_group: 0
}
is_group: 0,
},
};
});
frm.set_query("monthly_distribution", function() {
frm.set_query("monthly_distribution", function () {
return {
filters: {
fiscal_year: frm.doc.fiscal_year
}
fiscal_year: frm.doc.fiscal_year,
},
};
});
erpnext.accounts.dimensions.setup_dimension_filters(frm, frm.doctype);
},
refresh: function(frm) {
frm.trigger("toggle_reqd_fields")
refresh: function (frm) {
frm.trigger("toggle_reqd_fields");
},
budget_against: function(frm) {
frm.trigger("set_null_value")
frm.trigger("toggle_reqd_fields")
budget_against: function (frm) {
frm.trigger("set_null_value");
frm.trigger("toggle_reqd_fields");
},
set_null_value: function(frm) {
if(frm.doc.budget_against == 'Cost Center') {
frm.set_value('project', null)
set_null_value: function (frm) {
if (frm.doc.budget_against == "Cost Center") {
frm.set_value("project", null);
} else {
frm.set_value('cost_center', null)
frm.set_value("cost_center", null);
}
},
toggle_reqd_fields: function(frm) {
frm.toggle_reqd("cost_center", frm.doc.budget_against=="Cost Center");
frm.toggle_reqd("project", frm.doc.budget_against=="Project");
}
toggle_reqd_fields: function (frm) {
frm.toggle_reqd("cost_center", frm.doc.budget_against == "Cost Center");
frm.toggle_reqd("project", frm.doc.budget_against == "Project");
},
});

View File

@@ -22,6 +22,36 @@ class DuplicateBudgetError(frappe.ValidationError):
class Budget(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.budget_account.budget_account import BudgetAccount
accounts: DF.Table[BudgetAccount]
action_if_accumulated_monthly_budget_exceeded: DF.Literal["", "Stop", "Warn", "Ignore"]
action_if_accumulated_monthly_budget_exceeded_on_mr: DF.Literal["", "Stop", "Warn", "Ignore"]
action_if_accumulated_monthly_budget_exceeded_on_po: DF.Literal["", "Stop", "Warn", "Ignore"]
action_if_annual_budget_exceeded: DF.Literal["", "Stop", "Warn", "Ignore"]
action_if_annual_budget_exceeded_on_mr: DF.Literal["", "Stop", "Warn", "Ignore"]
action_if_annual_budget_exceeded_on_po: DF.Literal["", "Stop", "Warn", "Ignore"]
amended_from: DF.Link | None
applicable_on_booking_actual_expenses: DF.Check
applicable_on_material_request: DF.Check
applicable_on_purchase_order: DF.Check
budget_against: DF.Literal["", "Cost Center", "Project"]
company: DF.Link
cost_center: DF.Link | None
fiscal_year: DF.Link
monthly_distribution: DF.Link | None
naming_series: DF.Data | None
project: DF.Link | None
# end: auto-generated types
def validate(self):
if not self.get(frappe.scrub(self.budget_against)):
frappe.throw(_("{0} is mandatory").format(self.budget_against))

View File

@@ -6,4 +6,19 @@ from frappe.model.document import Document
class BudgetAccount(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account: DF.Link
budget_amount: DF.Currency
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
# end: auto-generated types
pass

View File

@@ -6,4 +6,18 @@ from frappe.model.document import Document
class CampaignItem(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
campaign: DF.Link | None
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
# end: auto-generated types
pass

View File

@@ -1,11 +1,10 @@
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
frappe.ui.form.on('Cashier Closing', {
setup: function(frm){
frappe.ui.form.on("Cashier Closing", {
setup: function (frm) {
if (frm.doc.user == "" || frm.doc.user == null) {
frm.doc.user = frappe.session.user;
}
}
},
});

View File

@@ -1,457 +1,152 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"actions": [],
"autoname": "naming_series:",
"beta": 0,
"creation": "2018-06-18 16:51:49.994750",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"naming_series",
"user",
"date",
"from_time",
"time",
"expense",
"custody",
"returns",
"outstanding_amount",
"payments",
"net_amount",
"amended_from"
],
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "POS-CLO-",
"fieldname": "naming_series",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 1,
"in_list_view": 0,
"in_standard_filter": 1,
"label": "Series",
"length": 0,
"no_copy": 0,
"options": "POS-CLO-",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"read_only": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "user",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 1,
"label": "User",
"length": 0,
"no_copy": 0,
"options": "User",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"reqd": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Today",
"fieldname": "date",
"fieldtype": "Date",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 1,
"label": "Date",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"read_only": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "from_time",
"fieldtype": "Time",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 1,
"label": "From Time",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"reqd": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "",
"fieldname": "time",
"fieldtype": "Time",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 1,
"label": "To Time",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"reqd": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "0.00",
"fieldname": "expense",
"fieldtype": "Float",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Expense",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"label": "Expense"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "0.00",
"fieldname": "custody",
"fieldtype": "Float",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Custody",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"label": "Custody"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "0.00",
"fieldname": "returns",
"fieldtype": "Float",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Returns",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "2",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
"precision": "2"
},
{
"allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "0.00",
"fieldname": "outstanding_amount",
"fieldtype": "Float",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Outstanding Amount",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"read_only": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "0.0",
"fieldname": "payments",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Payments",
"length": 0,
"no_copy": 0,
"options": "Cashier Closing Payments",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"options": "Cashier Closing Payments"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "net_amount",
"fieldtype": "Float",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 1,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Net Amount",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"read_only": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "amended_from",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Amended From",
"length": 0,
"no_copy": 1,
"options": "Cashier Closing",
"permlevel": 0,
"print_hide": 1,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
"read_only": 1
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2019-02-19 08:35:24.157327",
"links": [],
"modified": "2023-12-28 13:15:46.858427",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Cashier Closing",
"name_case": "",
"naming_rule": "By \"Naming Series\" field",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 1,
"write": 1
}
],
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0,
"track_views": 0
}
"states": [],
"track_changes": 1
}

View File

@@ -9,6 +9,32 @@ from frappe.utils import flt
class CashierClosing(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.cashier_closing_payments.cashier_closing_payments import (
CashierClosingPayments,
)
amended_from: DF.Link | None
custody: DF.Float
date: DF.Date | None
expense: DF.Float
from_time: DF.Time
naming_series: DF.Literal["POS-CLO-"]
net_amount: DF.Float
outstanding_amount: DF.Float
payments: DF.Table[CashierClosingPayments]
returns: DF.Float
time: DF.Time
user: DF.Link
# end: auto-generated types
def validate(self):
self.validate_time()

View File

@@ -6,4 +6,19 @@ from frappe.model.document import Document
class CashierClosingPayments(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
amount: DF.Float
mode_of_payment: DF.Link
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
# end: auto-generated types
pass

View File

@@ -1,4 +1,4 @@
frappe.ui.form.on('Chart of Accounts Importer', {
frappe.ui.form.on("Chart of Accounts Importer", {
onload: function (frm) {
frm.set_value("company", "");
frm.set_value("import_file", "");
@@ -8,31 +8,34 @@ frappe.ui.form.on('Chart of Accounts Importer', {
frm.disable_save();
// make company mandatory
frm.set_df_property('company', 'reqd', frm.doc.company ? 0 : 1);
frm.set_df_property('import_file_section', 'hidden', frm.doc.company ? 0 : 1);
frm.set_df_property("company", "reqd", frm.doc.company ? 0 : 1);
frm.set_df_property("import_file_section", "hidden", frm.doc.company ? 0 : 1);
if (frm.doc.import_file) {
frappe.run_serially([
() => generate_tree_preview(frm),
() => create_import_button(frm),
() => frm.set_df_property('chart_preview', 'hidden', 0)
() => frm.set_df_property("chart_preview", "hidden", 0),
]);
}
frm.set_df_property('chart_preview', 'hidden',
$(frm.fields_dict['chart_tree'].wrapper).html()!="" ? 0 : 1);
frm.set_df_property(
"chart_preview",
"hidden",
$(frm.fields_dict["chart_tree"].wrapper).html() != "" ? 0 : 1
);
},
download_template: function(frm) {
download_template: function (frm) {
var d = new frappe.ui.Dialog({
title: __("Download Template"),
fields: [
{
label : "File Type",
label: "File Type",
fieldname: "file_type",
fieldtype: "Select",
reqd: 1,
options: ["Excel", "CSV"]
options: ["Excel", "CSV"],
},
{
label: "Template Type",
@@ -41,38 +44,53 @@ frappe.ui.form.on('Chart of Accounts Importer', {
reqd: 1,
options: ["Sample Template", "Blank Template"],
change: () => {
let template_type = d.get_value('template_type');
let template_type = d.get_value("template_type");
if (template_type === "Sample Template") {
d.set_df_property('template_type', 'description',
d.set_df_property(
"template_type",
"description",
`The Sample Template contains all the required accounts pre filled in the template.
You can add more accounts or change existing accounts in the template as per your choice.`);
You can add more accounts or change existing accounts in the template as per your choice.`
);
} else {
d.set_df_property('template_type', 'description',
d.set_df_property(
"template_type",
"description",
`The Blank Template contains just the account type and root type required to build the Chart
of Accounts. Please enter the account names and add more rows as per your requirement.`);
of Accounts. Please enter the account names and add more rows as per your requirement.`
);
}
}
}
},
},
{
label: "Company",
fieldname: "company",
fieldtype: "Link",
reqd: 1,
hidden: 1,
default: frm.doc.company,
},
],
primary_action: function() {
var data = d.get_values();
primary_action: function () {
let data = d.get_values();
if (!data.template_type) {
frappe.throw(__('Please select <b>Template Type</b> to download template'));
frappe.throw(__("Please select <b>Template Type</b> to download template"));
}
open_url_post(
'/api/method/erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.download_template',
"/api/method/erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.download_template",
{
file_type: data.file_type,
template_type: data.template_type
template_type: data.template_type,
company: data.company,
}
);
d.hide();
},
primary_action_label: __('Download')
primary_action_label: __("Download"),
});
d.show();
},
@@ -80,7 +98,7 @@ frappe.ui.form.on('Chart of Accounts Importer', {
import_file: function (frm) {
if (!frm.doc.import_file) {
frm.page.set_indicator("");
$(frm.fields_dict['chart_tree'].wrapper).empty(); // empty wrapper on removing file
$(frm.fields_dict["chart_tree"].wrapper).empty(); // empty wrapper on removing file
}
},
@@ -90,89 +108,97 @@ frappe.ui.form.on('Chart of Accounts Importer', {
frappe.call({
method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.validate_company",
args: {
company: frm.doc.company
company: frm.doc.company,
},
callback: function(r) {
if(r.message===false) {
callback: function (r) {
if (r.message === false) {
frm.set_value("company", "");
frappe.throw(__("Transactions against the Company already exist! Chart of Accounts can only be imported for a Company with no transactions."));
frappe.throw(
__(
"Transactions against the Company already exist! Chart of Accounts can only be imported for a Company with no transactions."
)
);
} else {
frm.trigger("refresh");
}
}
},
});
}
}
},
});
var create_import_button = function(frm) {
frm.page.set_primary_action(__("Import"), function () {
var create_import_button = function (frm) {
frm.page
.set_primary_action(__("Import"), function () {
return frappe.call({
method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.import_coa",
args: {
file_name: frm.doc.import_file,
company: frm.doc.company,
},
freeze: true,
freeze_message: __("Creating Accounts..."),
callback: function (r) {
if (!r.exc) {
clearInterval(frm.page["interval"]);
frm.page.set_indicator(__("Import Successful"), "blue");
create_reset_button(frm);
}
},
});
})
.addClass("btn btn-primary");
};
var create_reset_button = function (frm) {
frm.page
.set_primary_action(__("Reset"), function () {
frm.page.clear_primary_action();
delete frm.page["show_import_button"];
frm.reload_doc();
})
.addClass("btn btn-primary");
};
var validate_coa = function (frm) {
if (frm.doc.import_file) {
let parent = __("All Accounts");
return frappe.call({
method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.import_coa",
method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.get_coa",
args: {
file_name: frm.doc.import_file,
company: frm.doc.company
},
freeze: true,
freeze_message: __("Creating Accounts..."),
callback: function(r) {
if (!r.exc) {
clearInterval(frm.page["interval"]);
frm.page.set_indicator(__('Import Successful'), 'blue');
create_reset_button(frm);
}
}
});
}).addClass('btn btn-primary');
};
var create_reset_button = function(frm) {
frm.page.set_primary_action(__("Reset"), function () {
frm.page.clear_primary_action();
delete frm.page["show_import_button"];
frm.reload_doc();
}).addClass('btn btn-primary');
};
var validate_coa = function(frm) {
if (frm.doc.import_file) {
let parent = __('All Accounts');
return frappe.call({
'method': 'erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.get_coa',
'args': {
file_name: frm.doc.import_file,
parent: parent,
doctype: 'Chart of Accounts Importer',
doctype: "Chart of Accounts Importer",
file_type: frm.doc.file_type,
for_validate: 1
for_validate: 1,
},
callback: function(r) {
if (r.message['show_import_button']) {
frm.page['show_import_button'] = Boolean(r.message['show_import_button']);
callback: function (r) {
if (r.message["show_import_button"]) {
frm.page["show_import_button"] = Boolean(r.message["show_import_button"]);
}
}
},
});
}
};
var generate_tree_preview = function(frm) {
let parent = __('All Accounts');
$(frm.fields_dict['chart_tree'].wrapper).empty(); // empty wrapper to load new data
var generate_tree_preview = function (frm) {
let parent = __("All Accounts");
$(frm.fields_dict["chart_tree"].wrapper).empty(); // empty wrapper to load new data
// generate tree structure based on the csv data
return new frappe.ui.Tree({
parent: $(frm.fields_dict['chart_tree'].wrapper),
parent: $(frm.fields_dict["chart_tree"].wrapper),
label: parent,
expandable: true,
method: 'erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.get_coa',
method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.get_coa",
args: {
file_name: frm.doc.import_file,
parent: parent,
doctype: 'Chart of Accounts Importer',
file_type: frm.doc.file_type
doctype: "Chart of Accounts Importer",
file_type: frm.doc.file_type,
},
onclick: function(node) {
onclick: function (node) {
parent = node.value;
}
},
});
};

View File

@@ -8,6 +8,7 @@ from functools import reduce
import frappe
from frappe import _
from frappe.desk.form.linked_with import get_linked_fields
from frappe.model.document import Document
from frappe.utils import cint, cstr
from frappe.utils.csvutils import UnicodeWriter
@@ -23,6 +24,18 @@ from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import
class ChartofAccountsImporter(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
company: DF.Link | None
import_file: DF.Attach | None
# end: auto-generated types
def validate(self):
if self.import_file:
get_coa(
@@ -112,7 +125,7 @@ def generate_data_from_csv(file_doc, as_dict=False):
if as_dict:
data.append({frappe.scrub(header): row[index] for index, header in enumerate(headers)})
else:
if not row[1]:
if not row[1] and len(row) > 1:
row[1] = row[0]
row[3] = row[2]
data.append(row)
@@ -294,10 +307,8 @@ def build_response_as_excel(writer):
@frappe.whitelist()
def download_template(file_type, template_type):
data = frappe._dict(frappe.local.form_dict)
writer = get_template(template_type)
def download_template(file_type, template_type, company):
writer = get_template(template_type, company)
if file_type == "CSV":
# download csv file
@@ -308,8 +319,7 @@ def download_template(file_type, template_type):
build_response_as_excel(writer)
def get_template(template_type):
def get_template(template_type, company):
fields = [
"Account Name",
"Parent Account",
@@ -335,34 +345,17 @@ def get_template(template_type):
["", "", "", "", 0, account_type.get("account_type"), account_type.get("root_type")]
)
else:
writer = get_sample_template(writer)
writer = get_sample_template(writer, company)
return writer
def get_sample_template(writer):
template = [
["Application Of Funds(Assets)", "", "", "", 1, "", "Asset"],
["Sources Of Funds(Liabilities)", "", "", "", 1, "", "Liability"],
["Equity", "", "", "", 1, "", "Equity"],
["Expenses", "", "", "", 1, "", "Expense"],
["Income", "", "", "", 1, "", "Income"],
["Bank Accounts", "Application Of Funds(Assets)", "", "", 1, "Bank", "Asset"],
["Cash In Hand", "Application Of Funds(Assets)", "", "", 1, "Cash", "Asset"],
["Stock Assets", "Application Of Funds(Assets)", "", "", 1, "Stock", "Asset"],
["Cost Of Goods Sold", "Expenses", "", "", 0, "Cost of Goods Sold", "Expense"],
["Asset Depreciation", "Expenses", "", "", 0, "Depreciation", "Expense"],
["Fixed Assets", "Application Of Funds(Assets)", "", "", 0, "Fixed Asset", "Asset"],
["Accounts Payable", "Sources Of Funds(Liabilities)", "", "", 0, "Payable", "Liability"],
["Accounts Receivable", "Application Of Funds(Assets)", "", "", 1, "Receivable", "Asset"],
["Stock Expenses", "Expenses", "", "", 0, "Stock Adjustment", "Expense"],
["Sample Bank", "Bank Accounts", "", "", 0, "Bank", "Asset"],
["Cash", "Cash In Hand", "", "", 0, "Cash", "Asset"],
["Stores", "Stock Assets", "", "", 0, "Stock", "Asset"],
]
for row in template:
writer.writerow(row)
def get_sample_template(writer, company):
currency = frappe.db.get_value("Company", company, "default_currency")
with open(os.path.join(os.path.dirname(__file__), "coa_sample_template.csv"), "r") as f:
for row in f:
row = row.strip().split(",") + [currency]
writer.writerow(row)
return writer
@@ -453,14 +446,11 @@ def get_mandatory_account_types():
def unset_existing_data(company):
linked = frappe.db.sql(
'''select fieldname from tabDocField
where fieldtype="Link" and options="Account" and parent="Company"''',
as_dict=True,
)
# remove accounts data from company
update_values = {d.fieldname: "" for d in linked}
fieldnames = get_linked_fields("Account").get("Company", {}).get("fieldname", [])
linked = [{"fieldname": name} for name in fieldnames]
update_values = {d.get("fieldname"): "" for d in linked}
frappe.db.set_value("Company", company, update_values, update_values)
# remove accounts data from various doctypes

View File

@@ -0,0 +1,17 @@
Application Of Funds(Assets),,,,1,,Asset
Sources Of Funds(Liabilities),,,,1,,Liability
Equity,,,,1,,Equity
Expenses,,,,1,Expense Account,Expense
Income,,,,1,Income Account,Income
Bank Accounts,Application Of Funds(Assets),,,1,Bank,Asset
Cash In Hand,Application Of Funds(Assets),,,1,Cash,Asset
Stock Assets,Application Of Funds(Assets),,,1,Stock,Asset
Cost Of Goods Sold,Expenses,,,0,Cost of Goods Sold,Expense
Asset Depreciation,Expenses,,,0,Depreciation,Expense
Fixed Assets,Application Of Funds(Assets),,,0,Fixed Asset,Asset
Accounts Payable,Sources Of Funds(Liabilities),,,0,Payable,Liability
Accounts Receivable,Application Of Funds(Assets),,,1,Receivable,Asset
Stock Expenses,Expenses,,,0,Stock Adjustment,Expense
Sample Bank,Bank Accounts,,,0,Bank,Asset
Cash,Cash In Hand,,,0,Cash,Asset
Stores,Stock Assets,,,0,Stock,Asset
1 Application Of Funds(Assets) 1 Asset
2 Sources Of Funds(Liabilities) 1 Liability
3 Equity 1 Equity
4 Expenses 1 Expense Account Expense
5 Income 1 Income Account Income
6 Bank Accounts Application Of Funds(Assets) 1 Bank Asset
7 Cash In Hand Application Of Funds(Assets) 1 Cash Asset
8 Stock Assets Application Of Funds(Assets) 1 Stock Asset
9 Cost Of Goods Sold Expenses 0 Cost of Goods Sold Expense
10 Asset Depreciation Expenses 0 Depreciation Expense
11 Fixed Assets Application Of Funds(Assets) 0 Fixed Asset Asset
12 Accounts Payable Sources Of Funds(Liabilities) 0 Payable Liability
13 Accounts Receivable Application Of Funds(Assets) 1 Receivable Asset
14 Stock Expenses Expenses 0 Stock Adjustment Expense
15 Sample Bank Bank Accounts 0 Bank Asset
16 Cash Cash In Hand 0 Cash Asset
17 Stores Stock Assets 0 Stock Asset

View File

@@ -3,18 +3,20 @@
frappe.provide("erpnext.cheque_print");
frappe.ui.form.on('Cheque Print Template', {
refresh: function(frm) {
if(!frm.doc.__islocal) {
frm.add_custom_button(frm.doc.has_print_format?__("Update Print Format"):__("Create Print Format"),
function() {
frappe.ui.form.on("Cheque Print Template", {
refresh: function (frm) {
if (!frm.doc.__islocal) {
frm.add_custom_button(
frm.doc.has_print_format ? __("Update Print Format") : __("Create Print Format"),
function () {
erpnext.cheque_print.view_cheque_print(frm);
}).addClass("btn-primary");
}
).addClass("btn-primary");
$(frm.fields_dict.cheque_print_preview.wrapper).empty()
$(frm.fields_dict.cheque_print_preview.wrapper).empty();
var template = '<div style="position: relative; overflow-x: scroll;">\
var template =
'<div style="position: relative; overflow-x: scroll;">\
<div id="cheque_preview" style="width: {{ cheque_width }}cm; \
height: {{ cheque_height }}cm;\
background-repeat: no-repeat;\
@@ -48,30 +50,30 @@ frappe.ui.form.on('Cheque Print Template', {
</div>\
</div>';
$(frappe.render(template, frm.doc)).appendTo(frm.fields_dict.cheque_print_preview.wrapper)
$(frappe.render(template, frm.doc)).appendTo(frm.fields_dict.cheque_print_preview.wrapper);
if (frm.doc.scanned_cheque) {
$(frm.fields_dict.cheque_print_preview.wrapper).find("#cheque_preview").css('background-image', 'url(' + frm.doc.scanned_cheque + ')');
$(frm.fields_dict.cheque_print_preview.wrapper)
.find("#cheque_preview")
.css("background-image", "url(" + frm.doc.scanned_cheque + ")");
}
}
}
},
});
erpnext.cheque_print.view_cheque_print = function(frm) {
erpnext.cheque_print.view_cheque_print = function (frm) {
frappe.call({
method: "erpnext.accounts.doctype.cheque_print_template.cheque_print_template.create_or_update_cheque_print_format",
args:{
"template_name": frm.doc.name
args: {
template_name: frm.doc.name,
},
callback: function(r) {
callback: function (r) {
if (!r.exe && !frm.doc.has_print_format) {
var doc = frappe.model.sync(r.message);
frappe.set_route("Form", r.message.doctype, r.message.name);
} else {
frappe.msgprint(__("Print settings updated in respective print format"));
}
else {
frappe.msgprint(__("Print settings updated in respective print format"))
}
}
})
}
},
});
};

View File

@@ -8,6 +8,41 @@ from frappe.model.document import Document
class ChequePrintTemplate(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
acc_no_dist_from_left_edge: DF.Float
acc_no_dist_from_top_edge: DF.Float
acc_pay_dist_from_left_edge: DF.Float
acc_pay_dist_from_top_edge: DF.Float
amt_in_figures_from_left_edge: DF.Float
amt_in_figures_from_top_edge: DF.Float
amt_in_word_width: DF.Float
amt_in_words_from_left_edge: DF.Float
amt_in_words_from_top_edge: DF.Float
amt_in_words_line_spacing: DF.Float
bank_name: DF.Data
cheque_height: DF.Float
cheque_size: DF.Literal["", "Regular", "A4"]
cheque_width: DF.Float
date_dist_from_left_edge: DF.Float
date_dist_from_top_edge: DF.Float
has_print_format: DF.Check
is_account_payable: DF.Check
message_to_show: DF.Data | None
payer_name_from_left_edge: DF.Float
payer_name_from_top_edge: DF.Float
scanned_cheque: DF.Attach | None
signatory_from_left_edge: DF.Float
signatory_from_top_edge: DF.Float
starting_position_from_top_edge: DF.Float
# end: auto-generated types
pass

View File

@@ -6,4 +6,19 @@ from frappe.model.document import Document
class ClosedDocument(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
closed: DF.Check
document_type: DF.Link
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
# end: auto-generated types
pass

View File

@@ -3,75 +3,80 @@
frappe.provide("erpnext.accounts");
frappe.ui.form.on('Cost Center', {
onload: function(frm) {
frm.set_query("parent_cost_center", function() {
frappe.ui.form.on("Cost Center", {
onload: function (frm) {
frm.set_query("parent_cost_center", function () {
return {
filters: {
company: frm.doc.company,
is_group: 1
}
}
is_group: 1,
},
};
});
},
refresh: function(frm) {
refresh: function (frm) {
if (!frm.is_new()) {
frm.add_custom_button(__('Update Cost Center Name / Number'), function () {
frm.add_custom_button(__("Update Cost Center Name / Number"), function () {
frm.trigger("update_cost_center_number");
});
}
let intro_txt = '';
let intro_txt = "";
let doc = frm.doc;
frm.toggle_display('cost_center_name', doc.__islocal);
frm.toggle_enable(['is_group', 'company'], doc.__islocal);
frm.toggle_display("cost_center_name", doc.__islocal);
frm.toggle_enable(["is_group", "company"], doc.__islocal);
if(!doc.__islocal && doc.is_group==1) {
intro_txt += __('Note: This Cost Center is a Group. Cannot make accounting entries against groups.');
if (!doc.__islocal && doc.is_group == 1) {
intro_txt += __(
"Note: This Cost Center is a Group. Cannot make accounting entries against groups."
);
}
frm.events.hide_unhide_group_ledger(frm);
frm.toggle_display('sb1', doc.is_group==0);
frm.toggle_display("sb1", doc.is_group == 0);
frm.set_intro(intro_txt);
if(!frm.doc.__islocal) {
frm.add_custom_button(__('Chart of Cost Centers'),
function() { frappe.set_route("Tree", "Cost Center"); });
if (!frm.doc.__islocal) {
frm.add_custom_button(__("Chart of Cost Centers"), function () {
frappe.set_route("Tree", "Cost Center");
});
frm.add_custom_button(__('Budget'),
function() { frappe.set_route("List", "Budget", {'cost_center': frm.doc.name}); });
frm.add_custom_button(__("Budget"), function () {
frappe.set_route("List", "Budget", { cost_center: frm.doc.name });
});
}
},
update_cost_center_number: function(frm) {
update_cost_center_number: function (frm) {
var d = new frappe.ui.Dialog({
title: __('Update Cost Center Name / Number'),
title: __("Update Cost Center Name / Number"),
fields: [
{
"label": "Cost Center Name",
"fieldname": "cost_center_name",
"fieldtype": "Data",
"reqd": 1,
"default": frm.doc.cost_center_name
label: "Cost Center Name",
fieldname: "cost_center_name",
fieldtype: "Data",
reqd: 1,
default: frm.doc.cost_center_name,
},
{
"label": "Cost Center Number",
"fieldname": "cost_center_number",
"fieldtype": "Data",
"default": frm.doc.cost_center_number
label: "Cost Center Number",
fieldname: "cost_center_number",
fieldtype: "Data",
default: frm.doc.cost_center_number,
},
{
"label": __("Merge with existing"),
"fieldname": "merge",
"fieldtype": "Check",
"default": 0
}
label: __("Merge with existing"),
fieldname: "merge",
fieldtype: "Check",
default: 0,
},
],
primary_action: function() {
primary_action: function () {
let data = d.get_values();
if(data.cost_center_name === frm.doc.cost_center_name && data.cost_center_number === frm.doc.cost_center_number) {
if (
data.cost_center_name === frm.doc.cost_center_name &&
data.cost_center_number === frm.doc.cost_center_number
) {
d.hide();
return;
}
@@ -83,12 +88,12 @@ frappe.ui.form.on('Cost Center', {
cost_center_name: data.cost_center_name,
cost_center_number: cstr(data.cost_center_number),
company: frm.doc.company,
merge: data.merge
merge: data.merge,
},
callback: function(r) {
callback: function (r) {
frappe.dom.unfreeze();
if(!r.exc) {
if(r.message) {
if (!r.exc) {
if (r.message) {
frappe.set_route("Form", "Cost Center", r.message);
} else {
frm.set_value("cost_center_name", data.cost_center_name);
@@ -96,44 +101,42 @@ frappe.ui.form.on('Cost Center', {
}
d.hide();
}
}
},
});
},
primary_action_label: __('Update')
primary_action_label: __("Update"),
});
d.show();
},
parent_cost_center(frm) {
if(!frm.doc.company) {
frappe.msgprint(__('Please enter company name first'));
if (!frm.doc.company) {
frappe.msgprint(__("Please enter company name first"));
}
},
hide_unhide_group_ledger(frm) {
let doc = frm.doc;
if (doc.is_group == 1) {
frm.add_custom_button(__('Convert to Non-Group'),
() => frm.events.convert_to_ledger(frm));
frm.add_custom_button(__("Convert to Non-Group"), () => frm.events.convert_to_ledger(frm));
} else if (doc.is_group == 0) {
frm.add_custom_button(__('Convert to Group'),
() => frm.events.convert_to_group(frm));
frm.add_custom_button(__("Convert to Group"), () => frm.events.convert_to_group(frm));
}
},
convert_to_group(frm) {
frm.call('convert_ledger_to_group').then(r => {
if(r.message === 1) {
frm.call("convert_ledger_to_group").then((r) => {
if (r.message === 1) {
frm.refresh();
}
});
},
convert_to_ledger(frm) {
frm.call('convert_group_to_ledger').then(r => {
if(r.message === 1) {
frm.call("convert_group_to_ledger").then((r) => {
if (r.message === 1) {
frm.refresh();
}
});
}
},
});

View File

@@ -41,7 +41,7 @@
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Cost Center Number",
"read_only": 1
"read_only_depends_on": "eval:!doc.__islocal"
},
{
"fieldname": "parent_cost_center",
@@ -170,4 +170,4 @@
"sort_field": "modified",
"sort_order": "ASC",
"states": []
}
}

View File

@@ -10,6 +10,25 @@ from erpnext.accounts.utils import validate_field_number
class CostCenter(NestedSet):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
company: DF.Link
cost_center_name: DF.Data
cost_center_number: DF.Data | None
disabled: DF.Check
is_group: DF.Check
lft: DF.Int
old_parent: DF.Link | None
parent_cost_center: DF.Link
rgt: DF.Int
# end: auto-generated types
nsm_parent_field = "parent_cost_center"
def autoname(self):

View File

@@ -1,54 +1,84 @@
frappe.treeview_settings["Cost Center"] = {
breadcrumb: "Accounts",
get_tree_root: false,
filters: [{
fieldname: "company",
fieldtype:"Select",
options: erpnext.utils.get_tree_options("company"),
label: __("Company"),
default: erpnext.utils.get_tree_default("company")
}],
root_label: "Cost Centers",
get_tree_nodes: 'erpnext.accounts.utils.get_children',
add_tree_node: 'erpnext.accounts.utils.add_cc',
menu_items:[
filters: [
{
label: __('New Company'),
action: function() { frappe.new_doc("Company", true) },
condition: 'frappe.boot.user.can_create.indexOf("Company") !== -1'
}
fieldname: "company",
fieldtype: "Select",
options: erpnext.utils.get_tree_options("company"),
label: __("Company"),
default: erpnext.utils.get_tree_default("company"),
},
],
fields:[
{fieldtype:'Data', fieldname:'cost_center_name', label:__('New Cost Center Name'), reqd:true},
{fieldtype:'Check', fieldname:'is_group', label:__('Is Group'),
description:__('Further cost centers can be made under Groups but entries can be made against non-Groups')},
{fieldtype:'Data', fieldname:'cost_center_number', label:__('Cost Center Number'),
description: __("Number of new Cost Center, it will be included in the cost center name as a prefix")}
root_label: "Cost Centers",
get_tree_nodes: "erpnext.accounts.utils.get_children",
add_tree_node: "erpnext.accounts.utils.add_cc",
menu_items: [
{
label: __("New Company"),
action: function () {
frappe.new_doc("Company", true);
},
condition: 'frappe.boot.user.can_create.indexOf("Company") !== -1',
},
],
ignore_fields:["parent_cost_center"],
onload: function(treeview) {
fields: [
{ fieldtype: "Data", fieldname: "cost_center_name", label: __("New Cost Center Name"), reqd: true },
{
fieldtype: "Check",
fieldname: "is_group",
label: __("Is Group"),
description: __(
"Further cost centers can be made under Groups but entries can be made against non-Groups"
),
},
{
fieldtype: "Data",
fieldname: "cost_center_number",
label: __("Cost Center Number"),
description: __(
"Number of new Cost Center, it will be included in the cost center name as a prefix"
),
},
],
ignore_fields: ["parent_cost_center"],
onload: function (treeview) {
function get_company() {
return treeview.page.fields_dict.company.get_value();
}
// tools
treeview.page.add_inner_button(__("Chart of Accounts"), function() {
frappe.set_route('Tree', 'Account', {company: get_company()});
}, __('View'));
treeview.page.add_inner_button(
__("Chart of Accounts"),
function () {
frappe.set_route("Tree", "Account", { company: get_company() });
},
__("View")
);
// make
treeview.page.add_inner_button(__("Budget List"), function() {
frappe.set_route('List', 'Budget', {company: get_company()});
}, __('Budget'));
treeview.page.add_inner_button(
__("Budget List"),
function () {
frappe.set_route("List", "Budget", { company: get_company() });
},
__("Budget")
);
treeview.page.add_inner_button(__("Monthly Distribution"), function() {
frappe.set_route('List', 'Monthly Distribution', {company: get_company()});
}, __('Budget'));
treeview.page.add_inner_button(
__("Monthly Distribution"),
function () {
frappe.set_route("List", "Monthly Distribution", { company: get_company() });
},
__("Budget")
);
treeview.page.add_inner_button(__("Budget Variance Report"), function() {
frappe.set_route('query-report', 'Budget Variance Report', {company: get_company()});
}, __('Budget'));
}
}
treeview.page.add_inner_button(
__("Budget Variance Report"),
function () {
frappe.set_route("query-report", "Budget Variance Report", { company: get_company() });
},
__("Budget")
);
},
};

View File

@@ -1,19 +1,24 @@
// Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Cost Center Allocation', {
setup: function(frm) {
let filters = {"is_group": 0};
if (frm.doc.company) {
$.extend(filters, {
"company": frm.doc.company
});
}
frm.set_query('main_cost_center', function() {
frappe.ui.form.on("Cost Center Allocation", {
setup: function (frm) {
frm.set_query("main_cost_center", function () {
return {
filters: filters
filters: {
company: frm.doc.company,
is_group: 0,
},
};
});
}
frm.set_query("cost_center", "allocation_percentages", function () {
return {
filters: {
company: frm.doc.company,
is_group: 0,
},
};
});
},
});

View File

@@ -28,6 +28,25 @@ class InvalidDateError(frappe.ValidationError):
class CostCenterAllocation(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.cost_center_allocation_percentage.cost_center_allocation_percentage import (
CostCenterAllocationPercentage,
)
allocation_percentages: DF.Table[CostCenterAllocationPercentage]
amended_from: DF.Link | None
company: DF.Link
main_cost_center: DF.Link
valid_from: DF.Date
# end: auto-generated types
def __init__(self, *args, **kwargs):
super(CostCenterAllocation, self).__init__(*args, **kwargs)
self._skip_from_date_validation = False

View File

@@ -6,4 +6,19 @@ from frappe.model.document import Document
class CostCenterAllocationPercentage(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
cost_center: DF.Link
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
percentage: DF.Percent
# end: auto-generated types
pass

View File

@@ -1,44 +1,41 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Coupon Code', {
setup: function(frm) {
frm.set_query("pricing_rule", function() {
frappe.ui.form.on("Coupon Code", {
setup: function (frm) {
frm.set_query("pricing_rule", function () {
return {
filters: [
["Pricing Rule","coupon_code_based", "=", "1"]
]
filters: [["Pricing Rule", "coupon_code_based", "=", "1"]],
};
});
},
coupon_name:function(frm){
if (frm.doc.__islocal===1) {
coupon_name: function (frm) {
if (frm.doc.__islocal === 1) {
frm.trigger("make_coupon_code");
}
},
coupon_type:function(frm){
if (frm.doc.__islocal===1) {
coupon_type: function (frm) {
if (frm.doc.__islocal === 1) {
frm.trigger("make_coupon_code");
}
},
make_coupon_code: function(frm) {
var coupon_name=frm.doc.coupon_name;
make_coupon_code: function (frm) {
var coupon_name = frm.doc.coupon_name;
var coupon_code;
if (frm.doc.coupon_type=='Gift Card') {
coupon_code=Math.random().toString(12).substring(2, 12).toUpperCase();
if (frm.doc.coupon_type == "Gift Card") {
coupon_code = Math.random().toString(12).substring(2, 12).toUpperCase();
} else if (frm.doc.coupon_type == "Promotional") {
coupon_name = coupon_name.replace(/\s/g, "");
coupon_code = coupon_name.toUpperCase().slice(0, 8);
}
else if(frm.doc.coupon_type=='Promotional'){
coupon_name=coupon_name.replace(/\s/g,'');
coupon_code=coupon_name.toUpperCase().slice(0,8);
}
frm.doc.coupon_code=coupon_code;
frm.refresh_field('coupon_code');
frm.doc.coupon_code = coupon_code;
frm.refresh_field("coupon_code");
},
refresh: function(frm) {
refresh: function (frm) {
if (frm.doc.pricing_rule) {
frm.add_custom_button(__("Add/Edit Coupon Conditions"), function(){
frm.add_custom_button(__("Add/Edit Coupon Conditions"), function () {
frappe.set_route("Form", "Pricing Rule", frm.doc.pricing_rule);
});
}
}
},
});

View File

@@ -9,6 +9,27 @@ from frappe.utils import strip
class CouponCode(Document):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
amended_from: DF.Link | None
coupon_code: DF.Data | None
coupon_name: DF.Data
coupon_type: DF.Literal["Promotional", "Gift Card"]
customer: DF.Link | None
description: DF.TextEditor | None
maximum_use: DF.Int
pricing_rule: DF.Link
used: DF.Int
valid_from: DF.Date | None
valid_upto: DF.Date | None
# end: auto-generated types
def autoname(self):
self.coupon_name = strip(self.coupon_name)
self.name = self.coupon_name

View File

@@ -1,28 +1,41 @@
// Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Currency Exchange Settings', {
service_provider: function(frm) {
if (frm.doc.service_provider == "exchangerate.host") {
let result = ['result'];
let params = {
date: '{transaction_date}',
from: '{from_currency}',
to: '{to_currency}'
};
add_param(frm, "https://api.exchangerate.host/convert", params, result);
} else if (frm.doc.service_provider == "frankfurter.app") {
let result = ['rates', '{to_currency}'];
let params = {
base: '{from_currency}',
symbols: '{to_currency}'
};
add_param(frm, "https://frankfurter.app/{transaction_date}", params, result);
}
}
frappe.ui.form.on("Currency Exchange Settings", {
service_provider: function (frm) {
frm.call({
method: "erpnext.accounts.doctype.currency_exchange_settings.currency_exchange_settings.get_api_endpoint",
args: {
service_provider: frm.doc.service_provider,
use_http: frm.doc.use_http,
},
callback: function (r) {
if (r && r.message) {
if (frm.doc.service_provider == "exchangerate.host") {
let result = ["result"];
let params = {
date: "{transaction_date}",
from: "{from_currency}",
to: "{to_currency}",
};
add_param(frm, r.message, params, result);
} else if (frm.doc.service_provider == "frankfurter.app") {
let result = ["rates", "{to_currency}"];
let params = {
base: "{from_currency}",
symbols: "{to_currency}",
};
add_param(frm, r.message, params, result);
}
}
},
});
},
use_http: function (frm) {
frm.trigger("service_provider");
},
});
function add_param(frm, api, params, result) {
var row;
frm.clear_table("req_params");
@@ -30,13 +43,13 @@ function add_param(frm, api, params, result) {
frm.doc.api_endpoint = api;
$.each(params, function(key, value) {
$.each(params, function (key, value) {
row = frm.add_child("req_params");
row.key = key;
row.value = value;
});
$.each(result, function(key, value) {
$.each(result, function (key, value) {
row = frm.add_child("result_key");
row.key = value;
});

Some files were not shown because too many files have changed in this diff Show More