Compare commits

...

3575 Commits

Author SHA1 Message Date
Frappe PR Bot
6a9660de65 chore(release): Bumped to Version 13.45.1
## [13.45.1](https://github.com/frappe/erpnext/compare/v13.45.0...v13.45.1) (2023-02-01)

### Bug Fixes

* incorrect actual qty in Bin ([e3ad0b1](e3ad0b1655))
2023-02-01 17:46:11 +00:00
rohitwaghchaure
edbbb2469f Merge pull request #33928 from frappe/mergify/bp/version-13/pr-33922
fix: incorrect actual qty in Bin (backport #33918) (backport #33922)
2023-02-01 23:14:23 +05:30
Rohit Waghchaure
e3ad0b1655 fix: incorrect actual qty in Bin
(cherry picked from commit f8c852c54c)
(cherry picked from commit 8f42833fba)
2023-02-01 16:51:50 +00:00
Frappe PR Bot
81e4be37ff chore(release): Bumped to Version 13.45.0
# [13.45.0](https://github.com/frappe/erpnext/compare/v13.44.0...v13.45.0) (2023-01-31)

### Bug Fixes

* disposal_was_made_on_original_schedule_date ([939a312](939a3121b7))
* enable customs in Selling Workpace by default ([#33853](https://github.com/frappe/erpnext/issues/33853)) ([54c1642](54c1642e3b))
* Fetch commission rate from sales partner ([#33851](https://github.com/frappe/erpnext/issues/33851)) ([3425a3b](3425a3bef9))
* **gp:** fetch buying amount from dn related to so ([be5edd3](be5edd329f))
* item rate not fetching ([bb56415](bb5641535b))
* manual depr entry not updating asset value [v13] ([#33890](https://github.com/frappe/erpnext/issues/33890)) ([f5efb20](f5efb2057c))
* use correct filter name in `item_query` (backport [#33814](https://github.com/frappe/erpnext/issues/33814)) ([#33817](https://github.com/frappe/erpnext/issues/33817)) ([b38ad66](b38ad66012))

### Features

* **gp:** test for inv and dn related via so ([b72a35a](b72a35a622))

### Performance Improvements

* show update items dialog ([0ff5099](0ff5099cbc))
* Timeout while doing payment reconciliation (v13) ([#33818](https://github.com/frappe/erpnext/issues/33818)) ([4bf3e31](4bf3e310e1))
2023-01-31 06:19:21 +00:00
Deepesh Garg
62edb118eb Merge pull request #33872 from frappe/version-13-hotfix
chore: release v13
2023-01-31 11:47:48 +05:30
Anand Baburajan
f5efb2057c fix: manual depr entry not updating asset value [v13] (#33890)
fix: asset value for manual depr entries
2023-01-31 11:00:06 +05:30
mergify[bot]
3425a3bef9 fix: Fetch commission rate from sales partner (#33851)
* fix: Fetch commission rate from sales partner (#33851)
2023-01-31 10:17:05 +05:30
Deepesh Garg
4bf3e310e1 perf: Timeout while doing payment reconciliation (v13) (#33818)
perf: Timeout while doing payment reconciliation
2023-01-31 09:37:45 +05:30
ruthra kumar
abb466e2fb Merge pull request #33876 from frappe/mergify/bp/version-13-hotfix/pr-33736
fix(gp): fetch buying amount from dn related to so (backport #33736)
2023-01-31 09:29:56 +05:30
HENRY Florian
54c1642e3b fix: enable customs in Selling Workpace by default (#33853)
* fix: enable customs in Selling Workpace by default

* fix: enable customs in Selling Workpace by default
2023-01-31 08:50:34 +05:30
mergify[bot]
b6839d8f51 ci: bump isort to 5.12.0 (backport #33875) (#33880)
ci: bump isort to 5.12.0 (#33875)

[skip ci]

(cherry picked from commit 2bad86d8d8)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2023-01-31 08:49:28 +05:30
Anand Baburajan
af3ad155e5 Merge pull request #33885 from AnandBaburajan/fix_disposal_was_made_on_original_schedule_date_v13
fix: disposal_was_made_on_original_schedule_date [v13]
2023-01-30 22:55:34 +05:30
anandbaburajan
939a3121b7 fix: disposal_was_made_on_original_schedule_date 2023-01-30 22:10:51 +05:30
Dany Robert
ac6186e16f chore: linting issues
(cherry picked from commit d69c839369)
2023-01-30 13:35:51 +00:00
Dany Robert
b72a35a622 feat(gp): test for inv and dn related via so
(cherry picked from commit 1f6ab86a65)
2023-01-30 13:35:50 +00:00
Dany Robert
0d8a4bf936 chore: linting issue
(cherry picked from commit ef90e24931)
2023-01-30 13:35:50 +00:00
Dany Robert
be5edd329f fix(gp): fetch buying amount from dn related to so
(cherry picked from commit e8e20da78e)
2023-01-30 13:35:50 +00:00
rohitwaghchaure
0902a5c440 Merge pull request #33847 from frappe/mergify/bp/version-13-hotfix/pr-33845
fix: item rate not fetching (backport #33845)
2023-01-28 22:41:06 +05:30
Rohit Waghchaure
bb5641535b fix: item rate not fetching
(cherry picked from commit 0d7f98b496)
2023-01-28 09:41:20 +00:00
Sagar Vora
fc7aac9d41 Merge pull request #33833 from frappe/mergify/bp/version-13-hotfix/pr-33831
perf: show update items dialog (backport #33831)
2023-01-27 04:19:30 +00:00
Devin Slauenwhite
0ff5099cbc perf: show update items dialog
(cherry picked from commit a835c1a418)
2023-01-27 04:18:50 +00:00
mergify[bot]
b38ad66012 fix: use correct filter name in item_query (backport #33814) (#33817)
fix: use correct filter name in `item_query` (#33814)

(cherry picked from commit da323cbb40)

Co-authored-by: Daizy Modi <modidaizy5217@gmail.com>
2023-01-25 17:38:03 +05:30
Frappe PR Bot
71395b9a8e chore(release): Bumped to Version 13.44.0
# [13.44.0](https://github.com/frappe/erpnext/compare/v13.43.2...v13.44.0) (2023-01-25)

### Bug Fixes

* accumulated_depreciation in reverse_depreciation_entry_made_after_disposal ([b7e9e4a](b7e9e4a7c5))
* backport of [#32226](https://github.com/frappe/erpnext/issues/32226) ([d6913ff](d6913fffe6))
* calculate correct amount for qty == 0 (backport [#33739](https://github.com/frappe/erpnext/issues/33739)) ([#33752](https://github.com/frappe/erpnext/issues/33752)) ([d650432](d6504320b1))
* conflicts ([d717ca0](d717ca0325))
* conflicts ([055f853](055f8536c3))
* don't add template item in sales/purchase transaction ([f81d4a7](f81d4a79ea))
* e-Invoicing for SEZ Customer(v13) ([#33796](https://github.com/frappe/erpnext/issues/33796)) ([1b11566](1b11566485))
* **ecommerce:** breadcrumb: fallback to `/all-products` ([#33718](https://github.com/frappe/erpnext/issues/33718)) ([2da543e](2da543ebd4))
* fb issue in asset chart ([ae031ce](ae031cea63))
* incorrect actual qty for the packed item ([09e13d2](09e13d279c))
* incorrect row order and accumulated_depreciation when schedule with multiple FBs is scrapped ([7174a2c](7174a2cd93))
* linter issue ([593d7f3](593d7f3dd6))
* linting ([13906cb](13906cba9a))
* **minor:** Label updates in Statement of Accounts ([#33639](https://github.com/frappe/erpnext/issues/33639)) ([47e500c](47e500c2eb))
* missing constant definition ([fc4be1b](fc4be1b337))
* patch item_reposting_for_incorrect_sl_and_gl ([1c5c067](1c5c06716b))
* rewrite logic for duplicate check in Item Attribute ([4741ce1](4741ce13c6))
* Short closed order, receipt and delivery note status on cancellation ([#33743](https://github.com/frappe/erpnext/issues/33743)) ([3daaa02](3daaa021eb))

### Features

* provision to select date type based on filter ([5ed6a74](5ed6a74fc4))
2023-01-25 04:00:37 +00:00
Deepesh Garg
d3aa37aece Merge pull request #33801 from frappe/version-13-hotfix
chore: release v13
2023-01-25 09:29:03 +05:30
Deepesh Garg
1b11566485 fix: e-Invoicing for SEZ Customer(v13) (#33796) 2023-01-25 08:57:52 +05:30
mergify[bot]
28f5d28201 ci: documentation helper (backport #33757) (#33799)
ci: documentation helper (#33757)

refactor: documentation helper
(cherry picked from commit d155042edd)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2023-01-24 16:47:13 +05:30
Anand Baburajan
421814e9b3 Merge pull request #33773 from AnandBaburajan/asset_bug_fixes_13
fix: backport #32226 and fix some asset bugs related to finance books [v13]
2023-01-23 21:09:05 +05:30
Anand Baburajan
814333b0cc Merge branch 'version-13-hotfix' into asset_bug_fixes_13 2023-01-23 14:22:46 +05:30
rohitwaghchaure
0862f670ee Merge pull request #33787 from frappe/mergify/bp/version-13-hotfix/pr-33684
feat: [minor] date type based on filter in Work Order Summary report (backport #33684)
2023-01-23 14:16:43 +05:30
rohitwaghchaure
593d7f3dd6 fix: linter issue 2023-01-23 13:22:24 +05:30
Rohit Waghchaure
5ed6a74fc4 feat: provision to select date type based on filter
(cherry picked from commit 20c8873208)
2023-01-23 07:44:08 +00:00
Anand Baburajan
76b6833b61 Merge branch 'version-13-hotfix' into asset_bug_fixes_13 2023-01-22 13:57:31 +05:30
anandbaburajan
b7e9e4a7c5 fix: accumulated_depreciation in reverse_depreciation_entry_made_after_disposal 2023-01-22 13:56:56 +05:30
Sagar Sharma
54b2f78a99 Merge pull request #33780 from frappe/mergify/bp/version-13-hotfix/pr-33778
fix: missing constant definition (backport #33778)
2023-01-21 22:32:59 +05:30
barredterra
fc4be1b337 fix: missing constant definition
(cherry picked from commit 547d37b1db)
2023-01-21 16:59:37 +00:00
Anand Baburajan
b9b110674e Merge branch 'version-13-hotfix' into asset_bug_fixes_13 2023-01-21 20:04:20 +05:30
anandbaburajan
7959e41a81 chore: fix circular import issue and rename date_of_sale to date_of_disposal 2023-01-21 19:58:26 +05:30
anandbaburajan
d6913fffe6 fix: backport of #32226 2023-01-21 19:29:39 +05:30
anandbaburajan
7174a2cd93 fix: incorrect row order and accumulated_depreciation when schedule with multiple FBs is scrapped 2023-01-21 18:41:19 +05:30
mergify[bot]
47e500c2eb fix(minor): Label updates in Statement of Accounts (#33639)
fix(minor): Label updates in Statement of Accounts (#33639)
2023-01-21 15:44:27 +05:30
mergify[bot]
4511d41329 Removed an unnecessary check in code which always evaluates to true (#33710)
fix: removed an unnecessary check which always evaluates to true
2023-01-21 12:03:33 +05:30
rohitwaghchaure
7243f71d7d Merge pull request #33762 from frappe/mergify/bp/version-13-hotfix/pr-33759
fix: incorrect actual qty for the packed item (backport #33759)
2023-01-21 09:46:59 +05:30
mergify[bot]
3daaa021eb fix: Short closed order, receipt and delivery note status on cancellation (#33743)
fix: Short closed order, receipt, and delivery note status on cancellation (#33743)
2023-01-20 23:41:14 +05:30
Rohit Waghchaure
09e13d279c fix: incorrect actual qty for the packed item
(cherry picked from commit 02566a02a8)
2023-01-20 18:10:16 +00:00
mergify[bot]
d6504320b1 fix: calculate correct amount for qty == 0 (backport #33739) (#33752)
fix: calculate correct amount for qty == 0 (#33739)

(cherry picked from commit 327b6fdb32)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2023-01-20 23:38:37 +05:30
Raffael Meyer
af3a0e56f6 chore: bump python version for docs-checker (#33756) 2023-01-20 22:52:33 +05:30
mergify[bot]
2da543ebd4 fix(ecommerce): breadcrumb: fallback to /all-products (#33718)
fix(ecommerce): breadcrumb: fallback to `/all-products` (#33718)

* fix(ecommerce): breadcrumb: fallback to `/all-products`

* fix(item_group): use `==` instead of `is`

* test(ecommerce): breadcrumb

(cherry picked from commit a94aa7a79f)

Co-authored-by: Sabu Siyad <hello@ssiyad.com>
2023-01-20 19:26:05 +05:30
anandbaburajan
ae031cea63 fix: fb issue in asset chart 2023-01-20 15:39:01 +05:30
rohitwaghchaure
6135d2972e Merge pull request #33742 from frappe/mergify/bp/version-13-hotfix/pr-33695
fix: patch item_reposting_for_incorrect_sl_and_gl (backport #33695)
2023-01-20 14:35:10 +05:30
rohitwaghchaure
d717ca0325 fix: conflicts 2023-01-20 14:05:14 +05:30
Rohit Waghchaure
1c5c06716b fix: patch item_reposting_for_incorrect_sl_and_gl
(cherry picked from commit dbde3a3421)

# Conflicts:
#	erpnext/patches.txt
2023-01-20 06:14:02 +00:00
rohitwaghchaure
61d06dd702 Merge pull request #33732 from frappe/mergify/bp/version-13-hotfix/pr-33723
fix: don't add template item in sales/purchase transaction (backport #33723)
2023-01-20 08:30:41 +05:30
Sagar Sharma
b702a02f61 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-33723 2023-01-19 22:04:05 +05:30
rohitwaghchaure
055f8536c3 fix: conflicts 2023-01-19 16:57:17 +05:30
Sagar Sharma
40ab5b034c Merge pull request #33734 from frappe/mergify/bp/version-13-hotfix/pr-33619
fix: rewrite logic for duplicate check in Item Attribute (backport #33619)
2023-01-19 15:29:17 +05:30
unknown
13906cba9a fix: linting
(cherry picked from commit 2ca4d3fb71)
2023-01-19 07:59:03 +00:00
unknown
4741ce13c6 fix: rewrite logic for duplicate check in Item Attribute
Previously, Item Attribute values were not checked for case-insensitive duplicates, and Item tttribute abbreviations were forced to be uppercase. This commit fixes both problems.

(cherry picked from commit 974e12c837)
2023-01-19 07:59:02 +00:00
Rohit Waghchaure
f81d4a79ea fix: don't add template item in sales/purchase transaction
(cherry picked from commit 2c83fff1a1)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/test_purchase_order.py
2023-01-19 07:13:29 +00:00
Frappe PR Bot
550daf2108 chore(release): Bumped to Version 13.43.2
## [13.43.2](https://github.com/frappe/erpnext/compare/v13.43.1...v13.43.2) (2023-01-17)

### Bug Fixes

* allow to create sales order from expired quotation ([#33582](https://github.com/frappe/erpnext/issues/33582)) ([2f81f15](2f81f15f02))
* asset value in fixed asset register ([#33608](https://github.com/frappe/erpnext/issues/33608)) ([42fe63d](42fe63da2c))
* better comparision of difference value between stock and account ([a450c8d](a450c8dce9))
* don't check other warehouse ledgers to calculate valuation rate ([66bf107](66bf1071bb))
* handle post depr entries fail and fix asset repair link ([5f7dc8a](5f7dc8a5b9))
* only group similar items in print format if group_same_items is checked in pick list (backport [#33627](https://github.com/frappe/erpnext/issues/33627)) ([#33631](https://github.com/frappe/erpnext/issues/33631)) ([7dcf0f0](7dcf0f0866))
* Return against internal purchase invoice ([#33635](https://github.com/frappe/erpnext/issues/33635)) ([eef0f45](eef0f453d2))
* Sales ORder Connections on Material Request ([97488ae](97488aee88))
* Updating SO throws ordered_qty not allowed to change after submission ([a46aa80](a46aa808be))

### Reverts

* Reverting changes done on 33495 ([#33662](https://github.com/frappe/erpnext/issues/33662)) ([0f0a2b1](0f0a2b100c))
2023-01-17 15:36:54 +00:00
Deepesh Garg
959eae1b5c Merge pull request #33702 from frappe/version-13-hotfix
chore: release v13
2023-01-17 21:05:24 +05:30
Anand Baburajan
f2d83b1b21 Merge pull request #33689 from AnandBaburajan/misc_asset_fixes_v13
fix: handle asset depr entries posting failure and fix asset repair link [v13]
2023-01-17 15:14:10 +05:30
Anand Baburajan
f1670e922f Merge branch 'version-13-hotfix' into misc_asset_fixes_v13 2023-01-17 11:21:29 +05:30
Ankush Menat
ec780ac263 chore: ignore b028 2023-01-17 10:59:03 +05:30
Sagar Sharma
847171bd14 Merge pull request #33693 from frappe/mergify/bp/version-13-hotfix/pr-33690
fix: Sales Order Connections Tabs do not show linked Material Request or "+" button  (intoduce by #33304) (backport #33690)
2023-01-17 10:08:17 +05:30
Florian HENRY
97488aee88 fix: Sales ORder Connections on Material Request
(cherry picked from commit e19161a8ee)
2023-01-17 04:37:12 +00:00
Anand Baburajan
2b3a0ba9c4 Merge branch 'version-13-hotfix' into misc_asset_fixes_v13 2023-01-17 00:44:05 +05:30
anandbaburajan
5f7dc8a5b9 fix: handle post depr entries fail and fix asset repair link 2023-01-17 00:39:35 +05:30
ruthra kumar
edc20ae8b8 Merge pull request #33672 from frappe/mergify/bp/version-13-hotfix/pr-33646
Revert "fix: Updating SO throws ordered_qty not allowed to change after submission" (backport #33646)
2023-01-16 15:28:33 +05:30
ruthra kumar
6ebc9c5c82 Merge pull request #33669 from frappe/mergify/bp/version-13-hotfix/pr-33662
revert: Reverting changes done on 33495 (backport #33662)
2023-01-16 14:25:55 +05:30
Sagar Sharma
5a4d92b1bc Merge pull request #33666 from frappe/mergify/bp/version-13-hotfix/pr-33664
chore: `Sales Order` link in `Pick List` (backport #33664)
2023-01-16 13:53:28 +05:30
Sagar Sharma
ff48c44496 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-33664 2023-01-16 10:30:13 +05:30
mergify[bot]
2f81f15f02 fix: allow to create sales order from expired quotation (#33582)
fix: allow to create sales order from expired quotation (#33582)

(cherry picked from commit dceef0397a)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2023-01-16 10:02:41 +05:30
ruthra kumar
f1bb8933c1 Revert "fix: Updating SO throws ordered_qty not allowed to change after submission" (#33646)
(cherry picked from commit 333907b7a5)
2023-01-16 04:09:26 +00:00
ruthra kumar
0f0a2b100c revert: Reverting changes done on 33495 (#33662)
'ordered_qty' will not be fetched from `tabBin`

(cherry picked from commit be382054e5)
2023-01-16 04:03:32 +00:00
mergify[bot]
eef0f453d2 fix: Return against internal purchase invoice (#33635)
fix: Return against internal purchase invoice (#33635)

(cherry picked from commit 906ad10d16)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-01-16 08:48:52 +05:30
s-aga-r
e4af69bc93 chore: Sales Order link in Pick List
(cherry picked from commit b3759890d7)
2023-01-15 17:35:52 +00:00
mergify[bot]
42fe63da2c fix: asset value in fixed asset register (#33608)
fix: asset value in fixed asset register

(cherry picked from commit aa1f2a7297)

Co-authored-by: anandbaburajan <anandbaburajan@gmail.com>
2023-01-15 17:33:17 +05:30
ruthra kumar
e23d7aa968 Merge pull request #33629 from frappe/mergify/bp/version-13-hotfix/pr-33622
fix: Updating SO throws ordered_qty not allowed to change after submission (backport #33622)
2023-01-13 10:15:14 +05:30
ruthra kumar
a46aa808be fix: Updating SO throws ordered_qty not allowed to change after submission
(cherry picked from commit 391f42db04)
2023-01-13 08:22:50 +05:30
mergify[bot]
f3b6b4609e chore: reuse doc object in test_pick_list_grouping_before_print (backport #33636) (#33638)
chore: reuse doc object in test_pick_list_grouping_before_print (#33636)

(cherry picked from commit e22d56484d)

Co-authored-by: Ritwik Puri <ritwikpuri5678@gmail.com>
2023-01-13 01:33:46 +05:30
mergify[bot]
7dcf0f0866 fix: only group similar items in print format if group_same_items is checked in pick list (backport #33627) (#33631)
fix: only group similar items in print format if group_same_items is checked in pick list (#33627)

* fix: only group similar items if group same items is checked in pick list

* test: non grouping of locations if group_same_items is false

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
(cherry picked from commit cfb0bb1eaa)

Co-authored-by: Ritwik Puri <ritwikpuri5678@gmail.com>
2023-01-12 20:32:37 +05:30
Sagar Sharma
29dcce53db Merge pull request #33615 from frappe/mergify/bp/version-13-hotfix/pr-33611
fix: better comparision of `difference_value` of Stock and Account (backport #33611)
2023-01-11 15:44:03 +05:30
Smit Vora
a450c8dce9 fix: better comparision of difference value between stock and account
(cherry picked from commit be05aea101)
2023-01-11 09:24:10 +00:00
Sagar Sharma
287411667a Merge pull request #33602 from frappe/mergify/bp/version-13-hotfix/pr-33597
fix: don't check other warehouse ledgers to calculate valuation rate (backport #33597)
2023-01-10 22:58:10 +05:30
Frappe PR Bot
ab30e2a9c7 chore(release): Bumped to Version 13.43.1
## [13.43.1](https://github.com/frappe/erpnext/compare/v13.43.0...v13.43.1) (2023-01-10)

### Bug Fixes

* better handling of duplicate bundle items ([0b952e8](0b952e8bba))
* remove hard-coded roles for populating leave balance reports ([#249](https://github.com/frappe/erpnext/issues/249)) ([#33557](https://github.com/frappe/erpnext/issues/33557)) ([c20d469](c20d469f31))
* remove unnecessary permissions from Appointment and Appointment Booking Settings ([#33468](https://github.com/frappe/erpnext/issues/33468)) ([a50ad1d](a50ad1d292))
2023-01-10 16:51:45 +00:00
Deepesh Garg
65dd72a0b0 Merge pull request #33600 from frappe/version-13-hotfix
chore: release v13
2023-01-10 22:20:15 +05:30
Rohit Waghchaure
66bf1071bb fix: don't check other warehouse ledgers to calculate valuation rate
(cherry picked from commit ef2bf3c223)
2023-01-10 10:05:12 +00:00
Sagar Sharma
410e617834 Merge pull request #33587 from frappe/mergify/bp/version-13-hotfix/pr-33562
fix: better handling of duplicate bundle items (backport #33562)
2023-01-09 22:55:56 +05:30
ruthra kumar
0b952e8bba fix: better handling of duplicate bundle items
(cherry picked from commit c717e87c9e)
2023-01-09 16:54:55 +00:00
mergify[bot]
e9d85a3ee4 ci: bump node in release workflow (backport #33574) (#33576)
ci: bump node in release workflow (#33574)

[skip ci]

(cherry picked from commit 1ad1fc4c7d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-01-09 13:26:18 +05:30
Rucha Mahabal
c20d469f31 fix: remove hard-coded roles for populating leave balance reports (#249) (#33557) 2023-01-06 14:28:15 +05:30
Sagar Sharma
7d0a118eab Merge pull request #33546 from frappe/mergify/bp/version-13-hotfix/pr-33543
chore: enable `No Copy` attribute for `route` in Item Group (backport #33543)
2023-01-05 13:32:52 +05:30
s-aga-r
2394f64872 chore: enable No Copy attribute for route in Item Group
(cherry picked from commit 348dc32514)
2023-01-05 07:33:04 +00:00
Daizy Modi
a50ad1d292 fix: remove unnecessary permissions from Appointment and Appointment Booking Settings (#33468)
* fix: remove unnecessary permissions from Appointment and Appointment Booking Settings

* fix: remove line

* fix: use more intuitive import

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2023-01-04 21:44:44 +05:30
Frappe PR Bot
3efa5215a0 chore(release): Bumped to Version 13.43.0
# [13.43.0](https://github.com/frappe/erpnext/compare/v13.42.7...v13.43.0) (2023-01-04)

### Bug Fixes

* `shipping_address` for non-drop shipping item ([19feebb](19feebbcb6))
* `shipping_address` in PO ([1068d0e](1068d0ec63))
* add missing 'ordered_qty' to get_bin_details ([66ba098](66ba098462))
* conflicts ([8521e12](8521e12753))
* conflicts ([1c7c591](1c7c591ee2))
* conflicts ([c18a451](c18a451362))
* consider child nodes while getting bin details ([c9bf062](c9bf062f63))
* Conversion factor error for invoices without item code (petty expenses) ([#32714](https://github.com/frappe/erpnext/issues/32714)) ([acf8b46](acf8b464f3))
* debit note not pulled on reconciliation tool ([cf133b2](cf133b2f1c))
* Deferred revenue date comparison (backport [#33515](https://github.com/frappe/erpnext/issues/33515)) ([#33517](https://github.com/frappe/erpnext/issues/33517)) ([ea99ac9](ea99ac9c29))
* **ecommerce:** remove query parameters from referrer (backport [#33269](https://github.com/frappe/erpnext/issues/33269)) ([#33513](https://github.com/frappe/erpnext/issues/33513)) ([6516e80](6516e8042b))
* ERR journals reported in AR/AP ([c850635](c850635551))
* linter ([f0475e9](f0475e9cc5))
* Missing opening entry in general ledger (backport [#33519](https://github.com/frappe/erpnext/issues/33519)) ([#33527](https://github.com/frappe/erpnext/issues/33527)) ([865f233](865f233add))
* Multi-currency issues in Bank Reconciliation Tool (backport [#33488](https://github.com/frappe/erpnext/issues/33488)) ([#33493](https://github.com/frappe/erpnext/issues/33493)) ([4ba2f1e](4ba2f1ec96))
* No permission to read doctype ([8e1c0cd](8e1c0cd234))
* patch ([7b813d6](7b813d6045))
* provision to set tax_deducted_till_date after document is subnmmited ([64454e0](64454e0d4e))
* reconciled credit notes being fetched again in Payment Reconciliation tool ([#33471](https://github.com/frappe/erpnext/issues/33471)) ([5ec11ba](5ec11bad4f))
* Tax withheld vouchers naming rule ([#33467](https://github.com/frappe/erpnext/issues/33467)) ([334219e](334219e36a))
* **test:** holiday list dates in attendance test setup ([8df1151](8df11516be))
* **test:** monthly attendance sheet ([e5a187e](e5a187e08c))
* typerror on multi warehouse in Packed Items ([6a394c5](6a394c5be7))
* use base_net_amount in case of missing stock qty ([#33457](https://github.com/frappe/erpnext/issues/33457)) ([6e363a6](6e363a62db))
* use get_all instead of get_value as get_value api dont supports between condition ([bc04e05](bc04e05b46))

### Features

* explicit time period for mark attendance ([d2f86ea](d2f86ead74))
* provision to setup opening balances for earnings and deductions while creating SSA ([c3b9059](c3b9059c1b))
2023-01-04 15:44:05 +00:00
Deepesh Garg
1fa0fe7434 Merge pull request #33512 from frappe/version-13-hotfix
chore: release v13
2023-01-04 21:12:18 +05:30
Deepesh Garg
be48b4a028 chore: resolve conflicts 2023-01-04 08:24:20 +05:30
Deepesh Garg
b6ed0698b4 chore: resolve conflicts 2023-01-03 22:56:58 +05:30
Deepesh Garg
208d541373 Merge branch 'version-13' into version-13-hotfix 2023-01-03 22:22:12 +05:30
mergify[bot]
865f233add fix: Missing opening entry in general ledger (backport #33519) (#33527)
fix: Missing opening entry in general ledger (#33519)

(cherry picked from commit c78399c618)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-01-03 22:13:44 +05:30
mergify[bot]
ea99ac9c29 fix: Deferred revenue date comparison (backport #33515) (#33517)
fix: Deferred revenue date comparison (#33515)

(cherry picked from commit a3ab8f973a)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-01-03 18:41:40 +05:30
mergify[bot]
6516e8042b fix(ecommerce): remove query parameters from referrer (backport #33269) (#33513)
fix(ecommerce): remove query parameters from referer

inclusion of query parameters results in logic failure

example:
- logic check if referrer is `all-products`
- `http://shop.example/all-products` -> `all-products`, valid outcome
- `http://shop.example/all-products?start=1` -> `all-products?start=1`,
  invalid outcome

Signed-off-by: Sabu Siyad <hello@ssiyad.com>
(cherry picked from commit b6bd408f19)

Co-authored-by: Sabu Siyad <hello@ssiyad.com>
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-01-03 17:51:57 +05:30
Rucha Mahabal
3c83ec5613 Merge pull request #33510 from ruchamahabal/mark-attendance-period 2023-01-03 16:47:31 +05:30
Rucha Mahabal
e5a187e08c fix(test): monthly attendance sheet 2023-01-03 16:18:42 +05:30
Rucha Mahabal
8df11516be fix(test): holiday list dates in attendance test setup 2023-01-03 15:44:58 +05:30
Rucha Mahabal
03af48b50b chore(style): fix formatting 2023-01-03 14:36:36 +05:30
Samuel Danieli
a2bd8d22cb test: get_unmarked_days 2023-01-03 13:15:36 +05:30
Samuel Danieli
d2f86ead74 feat: explicit time period for mark attendance 2023-01-03 13:12:15 +05:30
Sagar Sharma
985c47fe3b Merge pull request #33501 from frappe/mergify/bp/version-13-hotfix/pr-33444
fix: consider child nodes while getting bin details (backport #33444)
2023-01-02 19:29:33 +05:30
s-aga-r
6c7815cd72 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-33444 2023-01-02 19:12:19 +05:30
Sagar Sharma
9b1384f79c Merge pull request #33499 from frappe/mergify/bp/version-13-hotfix/pr-33495
fix(stock): missing ordered_qty in get_bin_details (backport #33495)
2023-01-02 18:53:59 +05:30
s-aga-r
299e02ae46 chore: linter 2023-01-02 18:23:50 +05:30
s-aga-r
4fb2d2c000 chore: use frappe.qb instead of frappe.db.get_value
(cherry picked from commit c3911a592a)
2023-01-02 06:25:22 +00:00
s-aga-r
c9bf062f63 fix: consider child nodes while getting bin details
(cherry picked from commit c716dcc01e)
2023-01-02 06:25:22 +00:00
Devin Slauenwhite
196ba6759e test: get_item_details contains bin details
(cherry picked from commit 239a5f8bf4)
2023-01-02 05:45:43 +00:00
Devin Slauenwhite
66ba098462 fix: add missing 'ordered_qty' to get_bin_details
(cherry picked from commit 8d62cdfd5f)
2023-01-02 05:45:42 +00:00
mergify[bot]
4ba2f1ec96 fix: Multi-currency issues in Bank Reconciliation Tool (backport #33488) (#33493)
fix: Multi-currency issues in Bank Recociliation Tool

(cherry picked from commit ad53ecf2b4)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2023-01-02 08:52:04 +05:30
Deepesh Garg
6ab91348fd Merge pull request #33478 from frappe/mergify/bp/version-13-hotfix/pr-32714
fix: Conversion factor error for invoices without item code (petty expenses) (backport #32714)
2022-12-31 13:06:11 +05:30
Deepesh Garg
3f9b8923a9 chore: resolve conflicts 2022-12-30 20:57:38 +05:30
Deepesh Garg
038fa4dbe2 chore: resolve conflicts 2022-12-30 20:56:50 +05:30
Frappe PR Bot
d97e673874 chore(release): Bumped to Version 13.42.7
## [13.42.7](https://github.com/frappe/erpnext/compare/v13.42.6...v13.42.7) (2022-12-30)

### Bug Fixes

* debit note not pulled on reconciliation tool ([e01ff0d](e01ff0df40))
2022-12-30 15:21:51 +00:00
Deepesh Garg
b16bfa541d Merge pull request #33491 from frappe/mergify/bp/version-13/pr-33483
fix: debit note not pulled on reconciliation tool (#33483)
2022-12-30 20:49:48 +05:30
rohitwaghchaure
8156cb4db0 Merge pull request #33490 from frappe/mergify/bp/version-13-hotfix/pr-33487
Revert "fix: daily scheduler to identify and fix stock transfer entries having incorrect valuation" (backport #33487)
2022-12-30 16:13:20 +05:30
Deepesh Garg
65688684a7 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32714 2022-12-30 16:00:59 +05:30
ruthra kumar
e01ff0df40 fix: debit note not pulled on reconciliation tool
(cherry picked from commit cf133b2f1c)
2022-12-30 10:05:59 +00:00
rohitwaghchaure
f0475e9cc5 fix: linter 2022-12-30 15:32:38 +05:30
ruthra kumar
b2333d3b5f Merge pull request #33483 from ruthra-kumar/debit_note_not_pulled_in_reconciliation_tool
fix: debit note not pulled on reconciliation tool
2022-12-30 15:02:49 +05:30
rohitwaghchaure
8521e12753 fix: conflicts 2022-12-30 14:35:12 +05:30
rohitwaghchaure
1c7c591ee2 fix: conflicts 2022-12-30 14:30:35 +05:30
rohitwaghchaure
c18a451362 fix: conflicts 2022-12-30 14:28:18 +05:30
rohitwaghchaure
529fb411ab Revert "fix: daily scheduler to identify and fix stock transfer entries having incorrect valuation"
(cherry picked from commit 728dc1acf4)

# Conflicts:
#	erpnext/hooks.py
#	erpnext/stock/doctype/stock_entry/stock_entry.py
#	erpnext/stock/doctype/stock_entry/test_stock_entry.py
2022-12-30 08:51:54 +00:00
ruthra kumar
4acaa3eecf Merge pull request #33475 from frappe/mergify/bp/version-13-hotfix/pr-33457
fix: use base_net_amount in case of missing stock qty (backport #33457)
2022-12-30 13:39:54 +05:30
ruthra kumar
cf133b2f1c fix: debit note not pulled on reconciliation tool 2022-12-29 18:02:16 +05:30
ruthra kumar
92c895aa1c Merge pull request #33460 from frappe/mergify/bp/version-13-hotfix/pr-33380
fix: ERR journals should be reported in AR/AP (backport #33380)
2022-12-29 11:27:05 +05:30
Frappe PR Bot
8d99763bea chore(release): Bumped to Version 13.42.6
## [13.42.6](https://github.com/frappe/erpnext/compare/v13.42.5...v13.42.6) (2022-12-29)

### Bug Fixes

* reconciled credit notes being fetched again in Payment Reconciliation tool ([#33471](https://github.com/frappe/erpnext/issues/33471)) ([b4589d8](b4589d8b8f))
* reconciled credit notes being fetched again in Payment Reconciliation tool ([#33471](https://github.com/frappe/erpnext/issues/33471)) ([37ae2df](37ae2dfe7f))
2022-12-29 05:30:04 +00:00
Deepesh Garg
b4589d8b8f fix: reconciled credit notes being fetched again in Payment Reconciliation tool (#33471)
fix: reconciled credit notes being fetched again in Payment Reconciliation tool (#33471)
2022-12-29 10:58:09 +05:30
ruthra kumar
ec15965a6c test: err for party should be in AR/AP report
(cherry picked from commit 2ed86760d7)
2022-12-29 10:53:55 +05:30
ruthra kumar
c850635551 fix: ERR journals reported in AR/AP
Exchange Rate Revaluation on Receivable/Payable will included in AR/AP report

(cherry picked from commit b09eade3e4)
2022-12-29 10:53:07 +05:30
Deepesh Garg
acf8b464f3 fix: Conversion factor error for invoices without item code (petty expenses) (#32714)
* fix: Set default uom conversion factor to 1 for invoices

* chore: set default conversion_factor as 1

* chore: remove print statements

(cherry picked from commit 617518389a)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
2022-12-29 05:12:48 +00:00
ruthra kumar
37ae2dfe7f fix: reconciled credit notes being fetched again in Payment Reconciliation tool (#33471)
fix: reconciled cr note showing up as Payments
(cherry picked from commit 5ec11bad4f)
2022-12-29 05:01:57 +00:00
ruthra kumar
5ec11bad4f fix: reconciled credit notes being fetched again in Payment Reconciliation tool (#33471)
fix: reconciled cr note showing up as Payments
2022-12-29 10:31:06 +05:30
ruthra kumar
6e363a62db fix: use base_net_amount in case of missing stock qty (#33457)
(cherry picked from commit e3a0ce5d63)
2022-12-29 04:05:54 +00:00
Deepesh Garg
334219e36a fix: Tax withheld vouchers naming rule (#33467) 2022-12-28 18:05:24 +05:30
Frappe PR Bot
cbda28d739 chore: release v13 (#33453)
* fix: typerror on multi warehouse in Packed Items

DN(with bundled item with varying warehouses)-> Sales Invoice.

(cherry picked from commit e684eb32d0)

* test: type error on bundled products with different warehouses

(cherry picked from commit 5918bb03f7)

* fix: No permission to read doctype

(cherry picked from commit c0da948a4e)

* fix: `shipping_address` in PO

(cherry picked from commit 7e1b6b3c2a)

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

* chore: conflicts

* chore: linter

* refactor: Customer and Supplier Ledger summary will have hidden fields for better handling of user permission (#33432)

* feat: provision to setup opening balances for earnings and deductions while creating SSA

* fix: use get_all instead of get_value as get_value api dont supports between condition

* fix: patch

* fix: provision to set tax_deducted_till_date after document is subnmmited

* fix: `shipping_address` for non-drop shipping item

(cherry picked from commit 67a7ccf3ce)

* chore: linter (#33455)

fix: linter

Co-authored-by: ruthra kumar <ruthra@erpnext.com>
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Saurabh <saurabh6790@gmail.com>
2022-12-27 17:49:51 +05:30
Saurabh
79643a5716 chore: linter (#33455)
fix: linter
2022-12-27 17:49:38 +05:30
Sagar Sharma
707eb9e8d5 Merge pull request #33446 from frappe/mergify/bp/version-13-hotfix/pr-33437
fix: `shipping_address` in PO for non-drop ship item (backport #33437)
2022-12-27 10:16:50 +05:30
s-aga-r
19feebbcb6 fix: shipping_address for non-drop shipping item
(cherry picked from commit 67a7ccf3ce)
2022-12-26 15:51:49 +00:00
Nabin Hait
0cf9702a21 Merge pull request #33412 from saurabh6790/provision-to-set-earnings-and-deductions-till-date
feat: provision to setup opening balances for earnings and deductions while creating SSA
2022-12-26 17:26:35 +05:30
Saurabh
64454e0d4e fix: provision to set tax_deducted_till_date after document is subnmmited 2022-12-26 12:48:37 +05:30
Saurabh
7b813d6045 fix: patch 2022-12-26 12:22:34 +05:30
Saurabh
bc04e05b46 fix: use get_all instead of get_value as get_value api dont supports between condition 2022-12-26 12:09:03 +05:30
Saurabh
c3b9059c1b feat: provision to setup opening balances for earnings and deductions while creating SSA 2022-12-26 12:09:03 +05:30
Sagar Sharma
7f1574478b Merge pull request #33436 from frappe/mergify/bp/version-13-hotfix/pr-33434
fix(ux): `shipping_address` in PO (backport #33434)
2022-12-26 11:19:01 +05:30
Sagar Sharma
b634e44fac Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-33434 2022-12-26 10:49:48 +05:30
mergify[bot]
3aa335d36a refactor: Customer and Supplier Ledger summary will have hidden fields for better handling of user permission (#33432) 2022-12-26 10:12:35 +05:30
s-aga-r
820e82265b chore: linter 2022-12-25 21:46:58 +05:30
s-aga-r
91dad909ec chore: conflicts 2022-12-25 21:40:49 +05:30
s-aga-r
1068d0ec63 fix: shipping_address in PO
(cherry picked from commit 7e1b6b3c2a)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/purchase_order.json
2022-12-25 14:11:23 +00:00
ruthra kumar
ae3581c7d0 Merge pull request #33416 from frappe/mergify/bp/version-13-hotfix/pr-32219
fix: No permission to read doctype (backport #32219)
2022-12-24 07:34:39 +05:30
ruthra kumar
7a97cc4629 Merge pull request #33413 from frappe/mergify/bp/version-13-hotfix/pr-33410
fix: TypeError on GP Report due to multiple warehouse on bundled items (backport #33410)
2022-12-22 12:06:55 +05:30
Nabin Hait
8e1c0cd234 fix: No permission to read doctype
(cherry picked from commit c0da948a4e)
2022-12-22 04:12:14 +00:00
ruthra kumar
d58719a30a test: type error on bundled products with different warehouses
(cherry picked from commit 5918bb03f7)
2022-12-21 12:58:15 +00:00
ruthra kumar
6a394c5be7 fix: typerror on multi warehouse in Packed Items
DN(with bundled item with varying warehouses)-> Sales Invoice.

(cherry picked from commit e684eb32d0)
2022-12-21 12:58:13 +00:00
Frappe PR Bot
35c71f5923 chore(release): Bumped to Version 13.42.5
## [13.42.5](https://github.com/frappe/erpnext/compare/v13.42.4...v13.42.5) (2022-12-20)

### Bug Fixes

* conflict ([7ef0c6b](7ef0c6bb01))
* conflict in hooks file ([2a18067](2a18067aad))
* conflict in stock_entry ([4587bb3](4587bb3767))
* conflicts ([086e747](086e74791b))
* Consolidated financial report ([7825c56](7825c564eb))
* Cost center filter not working in cash flow report ([684a45f](684a45f234))
* daily scheduler to identify and fix stock transfer entries having incorrect valuation ([b82154c](b82154cb9e))
* disabled items showing in the report 'Itemwise Recommended Reorder Level ([c3fca3c](c3fca3cfcb))
* get_serial_nos not defined ([e5b3748](e5b3748b49))
* get_serial_nos_for_fg() missing 1 required positional argument: 'args' ([eddb7b4](eddb7b429e))
* linter issue ([ab2f250](ab2f250960))
* translation for warning on Overbilling/-receipt/-delivery ([b13ee4f](b13ee4fc8c))
* unsupported operand type(s) for +: 'int' and 'NoneType' ([a6241fc](a6241fc813))
* unsupported operand type(s) for +=: 'int' and 'NoneType' ([b573d97](b573d9739f))
2022-12-20 14:02:06 +00:00
Deepesh Garg
52d4e2acf8 Merge pull request #33403 from frappe/version-13-hotfix
chore: release v13
2022-12-20 19:30:24 +05:30
Deepesh Garg
3691eec66c Merge pull request #33401 from frappe/mergify/bp/version-13-hotfix/pr-33393
fix: Cost center filter not working in cash flow report (backport #33393)
2022-12-20 18:22:46 +05:30
rohitwaghchaure
e93af962a1 Merge pull request #33390 from frappe/mergify/bp/version-13-hotfix/pr-33387
fix: daily scheduler to identify and fix stock transfer entries having incorrect valuation (backport #33387)
2022-12-20 16:59:58 +05:30
rohitwaghchaure
9692eeeb15 Merge pull request #33392 from frappe/mergify/bp/version-13-hotfix/pr-33382
fix: unsupported operand type(s) for +=: 'int' and 'NoneType' (backport #33382)
2022-12-20 16:59:40 +05:30
Deepesh Garg
7825c564eb fix: Consolidated financial report 2022-12-20 16:52:28 +05:30
Deepesh Garg
e5fd95bb21 chore: remove print statement
(cherry picked from commit 068df9f815)
2022-12-20 08:17:21 +00:00
Deepesh Garg
684a45f234 fix: Cost center filter not working in cash flow report
(cherry picked from commit d0dbfec052)
2022-12-20 08:17:20 +00:00
rohitwaghchaure
7ef0c6bb01 fix: conflict 2022-12-20 11:55:22 +05:30
rohitwaghchaure
4587bb3767 fix: conflict in stock_entry 2022-12-20 11:52:33 +05:30
rohitwaghchaure
2a18067aad fix: conflict in hooks file 2022-12-20 11:49:22 +05:30
Rohit Waghchaure
b573d9739f fix: unsupported operand type(s) for +=: 'int' and 'NoneType'
(cherry picked from commit 2b4eae5f84)
2022-12-20 04:19:14 +00:00
Rohit Waghchaure
4dbce87660 test: added test case to validate audit for incorrect entries
(cherry picked from commit f31612376a)

# Conflicts:
#	erpnext/hooks.py
#	erpnext/stock/doctype/stock_entry/test_stock_entry.py
2022-12-20 04:18:19 +00:00
Rohit Waghchaure
b82154cb9e fix: daily scheduler to identify and fix stock transfer entries having incorrect valuation
(cherry picked from commit b1721b79ce)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/stock_entry.py
2022-12-20 04:18:18 +00:00
Deepesh Garg
2105193594 Merge pull request #33367 from ruthra-kumar/using_subquery_for_fetching_dr_cr_notes
perf: using subquery in get_dr_or_cr_notes() to improve performance
2022-12-17 16:41:58 +05:30
Deepesh Garg
ef74c6689b Merge pull request #33360 from frappe/mergify/bp/version-13-hotfix/pr-33355
fix: disabled items showing in the report Itemwise Recommended Reorder Level (backport #33355)
2022-12-16 16:12:29 +05:30
ruthra kumar
799d7b254e refactor: using subquery in get_dr_or_cr_notes to improve performance 2022-12-16 14:06:05 +05:30
rohitwaghchaure
086e74791b fix: conflicts 2022-12-16 11:41:22 +05:30
Rohit Waghchaure
c3fca3cfcb fix: disabled items showing in the report 'Itemwise Recommended Reorder Level
'

(cherry picked from commit ae31ff1c48)

# Conflicts:
#	erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py
2022-12-15 12:39:14 +00:00
rohitwaghchaure
1634448864 Merge pull request #33357 from frappe/mergify/bp/version-13-hotfix/pr-33354
fix: unsupported operand type(s) for +: 'int' and 'NoneType' (backport #33354)
2022-12-15 18:08:33 +05:30
Rohit Waghchaure
a6241fc813 fix: unsupported operand type(s) for +: 'int' and 'NoneType'
(cherry picked from commit 0f28074e5a)
2022-12-15 11:44:56 +00:00
Deepesh Garg
896bac10bc Merge pull request #33343 from frappe/mergify/bp/version-13-hotfix/pr-33323
fix: translatability of warning on overbilling/-receipt/-delivery (backport #33323)
2022-12-15 09:17:19 +05:30
Raffael Meyer
0992ca40b0 chore: resolve merge conflict (2) 2022-12-15 00:13:13 +01:00
Raffael Meyer
10ac8d6e67 chore: resolve merge conflicts 2022-12-15 00:11:35 +01:00
rohitwaghchaure
c8a2f9f857 Merge pull request #33334 from frappe/mergify/bp/version-13-hotfix/pr-33332
fix: get_serial_nos_for_fg() missing 1 required positional argument: … (backport #33332)
2022-12-15 00:55:00 +05:30
barredterra
b13ee4fc8c fix: translation for warning on Overbilling/-receipt/-delivery
(cherry picked from commit 36997d9788)

# Conflicts:
#	erpnext/controllers/status_updater.py
#	erpnext/translations/de.csv
2022-12-14 17:55:29 +00:00
rohitwaghchaure
ab2f250960 fix: linter issue 2022-12-14 23:23:19 +05:30
rohitwaghchaure
e5b3748b49 fix: get_serial_nos not defined 2022-12-14 23:06:38 +05:30
Rohit Waghchaure
eddb7b429e fix: get_serial_nos_for_fg() missing 1 required positional argument: 'args'
(cherry picked from commit 410a58b3de)
2022-12-14 10:38:38 +00:00
Frappe PR Bot
b3a9c1eb2a chore(release): Bumped to Version 13.42.4
## [13.42.4](https://github.com/frappe/erpnext/compare/v13.42.3...v13.42.4) (2022-12-13)

### Bug Fixes

* `Enough Parts to Build` in `BOM Stock Report` ([50b2898](50b2898a2c))
* `Material Request` reference in internal `Sales Order` ([988a327](988a327b58))
* incorrect balance on parent company due to key mismatch ([b17ac52](b17ac522f5))
* order status in `Production Planning Report` ([2880469](2880469706))

### Performance Improvements

* add indexes on payment entry reference (backport [#33288](https://github.com/frappe/erpnext/issues/33288)) ([#33290](https://github.com/frappe/erpnext/issues/33290)) ([45f79ef](45f79ef644))
2022-12-13 12:31:01 +00:00
Ankush Menat
e44646054c Merge pull request #33317 from frappe/version-13-hotfix
chore: release v13
2022-12-13 17:59:05 +05:30
Sagar Sharma
12f11a6976 Merge pull request #33321 from frappe/mergify/bp/version-13-hotfix/pr-33314
fix: `Enough Parts to Build` in `BOM Stock Report` (backport #33314)
2022-12-13 15:58:15 +05:30
s-aga-r
50b2898a2c fix: Enough Parts to Build in BOM Stock Report
(cherry picked from commit 723c64ba73)
2022-12-13 09:50:30 +00:00
ruthra kumar
23830266f2 Merge pull request #33310 from frappe/mergify/bp/version-13-hotfix/pr-33303
fix: incorrect balance on parent company on consolidate Balance sheet due to key mismatch (backport #33303)
2022-12-13 13:56:31 +05:30
ruthra kumar
b17ac522f5 fix: incorrect balance on parent company due to key mismatch
(cherry picked from commit 7b3316dc31)
2022-12-13 03:36:32 +00:00
Sagar Sharma
1b22f53fde Merge pull request #33307 from frappe/mergify/bp/version-13-hotfix/pr-33304
fix: `Material Request` reference in internal `Sales Order` (backport #33304)
2022-12-13 00:01:25 +05:30
s-aga-r
988a327b58 fix: Material Request reference in internal Sales Order
(cherry picked from commit 78b438f6cf)
2022-12-12 18:19:15 +00:00
mergify[bot]
45f79ef644 perf: add indexes on payment entry reference (backport #33288) (#33290)
perf: add indexes on payment entry reference (#33288)

Adds index on:
1. reference doctype
2. reference name

*Why not composite index?*

There are three type of queries on this doctype

- filtering ref_doctype - doctype index helps here
- filtering ref_name - name index helps here
- filtering both - name index helps here too. Since it has sufficiently
  high cardinality. Composite index wont help in case where ref_doctype
  isn't specfied.

[skip ci]

(cherry picked from commit 593626f502)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-12-12 13:02:08 +05:30
Sagar Sharma
bce3506e90 Merge pull request #33257 from frappe/mergify/bp/version-13-hotfix/pr-33255
fix: order status in `Production Planning Report` (backport #33255)
2022-12-08 00:04:53 +05:30
s-aga-r
2880469706 fix: order status in Production Planning Report
(cherry picked from commit 632c08f7e0)
2022-12-07 18:07:23 +00:00
Frappe PR Bot
104967881d chore(release): Bumped to Version 13.42.3
## [13.42.3](https://github.com/frappe/erpnext/compare/v13.42.2...v13.42.3) (2022-12-06)

### Bug Fixes

* add company filter in RFQ Items ([a716f78](a716f780a8))
* key error on p/l and balance sheet reports on foreign currency ([0003e0c](0003e0cb5b))
* key error while filtering on date range and different currency ([84ef814](84ef814f45))
* non empty FG batch picked while completing work order ([635d80d](635d80dc2f))
* remove duplicate schema ([4ad9aa2](4ad9aa29ee))
* replace sql code with fields list in get_cached_value ([b3ccad8](b3ccad8cf4))
2022-12-06 14:37:49 +00:00
Deepesh Garg
b2ef5f7cd2 Merge pull request #33232 from frappe/version-13-hotfix
chore: release v13
2022-12-06 20:06:03 +05:30
Deepesh Garg
cd5b8aeb64 Merge pull request #33234 from frappe/mergify/bp/version-13-hotfix/pr-33191
fix: key error while filtering on date range and reporting on foreign currency (backport #33191)
2022-12-06 17:36:37 +05:30
ruthra kumar
0003e0cb5b fix: key error on p/l and balance sheet reports on foreign currency
(cherry picked from commit a6794c3606)
2022-12-06 16:52:26 +05:30
ruthra kumar
b3ccad8cf4 fix: replace sql code with fields list in get_cached_value
(cherry picked from commit 19db7e2989)
2022-12-06 16:52:22 +05:30
ruthra kumar
84ef814f45 fix: key error while filtering on date range and different currency
(cherry picked from commit 9b8d6fe411)
2022-12-06 10:13:40 +00:00
rohitwaghchaure
ac432ea52f Merge pull request #33226 from frappe/mergify/bp/version-13-hotfix/pr-33224
fix: non empty FG batch picked while completing work order (backport #33224)
2022-12-05 23:58:52 +05:30
Rohit Waghchaure
635d80dc2f fix: non empty FG batch picked while completing work order
(cherry picked from commit 713330cbf6)
2022-12-05 15:00:38 +00:00
Sagar Sharma
0c4de03baa Merge pull request #33176 from frappe/mergify/bp/version-13-hotfix/pr-33174
fix: add company filter in RFQ Items (backport #33174)
2022-11-30 12:25:15 +05:30
s-aga-r
a716f780a8 fix: add company filter in RFQ Items
(cherry picked from commit ca0485a503)
2022-11-30 05:07:27 +00:00
Deepesh Garg
6f6598878e Merge pull request #33173 from frappe/mergify/bp/version-13-hotfix/pr-33115
fix: remove product schema block from additional info section on item template (backport #33115)
2022-11-30 09:46:49 +05:30
ruthra kumar
4ad9aa29ee fix: remove duplicate schema
(cherry picked from commit 2c18a95115)
2022-11-30 03:49:36 +00:00
Frappe PR Bot
e54b23d71b chore(release): Bumped to Version 13.42.2
## [13.42.2](https://github.com/frappe/erpnext/compare/v13.42.1...v13.42.2) (2022-11-29)

### Bug Fixes

* `production_item` filter in `Job Card Summary Report` ([ce54198](ce5419888b))
* `Work Order` filter typo in `Job Card Summary Report` ([2de239c](2de239c73b))
* cannot update auth token until token expiry if credentials change ([2121714](2121714856))
* company name with `,` in `Job Card Summary Report` ([ffef0cb](ffef0cb771))
* company name with `,` in `Work Order Summary Report` ([11978fc](11978fca4e))
* create rounding gl entry for PCV during gle post processing ([7af4597](7af45972ae))
* disbursable amount on currrent security price ([eca2d96](eca2d96419))
* Dispatch address display ([10cfcb5](10cfcb5e8a))
* incorrect balance qty ([78e64fa](78e64fa486))
* linter ([b91860d](b91860ddf2))
* MR Item `description` and `item_name` gets reset on `qty` change ([b66976b](b66976bd36))
* Multicurrency invoice with exchange gain and loss showing up in AR/AP report ([d38a289](d38a2895b0))
* only consider draft pending asset repair docs ([6da7b38](6da7b38f6e))
* only show serial no batch selector only once ([0c6a7ce](0c6a7cef95))
* reset `voucher_type` and `voucher_no` if `based_on` is set to `Item and Warehouse` ([ff59483](ff594831b0))
* validate voucher type while checking journal entry against payroll entry ([07c25ac](07c25ace5c))
2022-11-29 13:19:11 +00:00
Deepesh Garg
ba9220f9d2 Merge pull request #33164 from frappe/version-13-hotfix
chore: release v13
2022-11-29 18:47:36 +05:30
Sagar Sharma
354f258543 Merge pull request #33160 from frappe/mergify/bp/version-13-hotfix/pr-33136
fix: reset `voucher_type` and `voucher_no` if `based_on` is set to `Transaction` (backport #33136)
2022-11-29 13:24:45 +05:30
s-aga-r
f7d3f136c5 chore: make posting_date and posting_time read-only if based_on is set to Transaction
(cherry picked from commit 4e10352b48)
2022-11-29 06:44:57 +00:00
s-aga-r
ff594831b0 fix: reset voucher_type and voucher_no if based_on is set to Item and Warehouse
(cherry picked from commit eeec008547)
2022-11-29 06:44:57 +00:00
rohitwaghchaure
b08d36cb7b Merge pull request #33150 from frappe/mergify/bp/version-13-hotfix/pr-33144
fix: incorrect balance qty (backport #33144)
2022-11-29 12:06:09 +05:30
Sagar Sharma
cdb6a4e3f7 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-33144 2022-11-29 11:17:07 +05:30
Deepesh Garg
99188afa16 Merge pull request #33157 from frappe/mergify/bp/version-13-hotfix/pr-33116
fix: only show serial no batch selector only once (backport #33116)
2022-11-29 11:07:09 +05:30
Deepesh Garg
64fda0d4b7 Merge pull request #33028 from saurabh6790/small-fixes
chore: link payroll entry reference in accrual payroll journal entry
2022-11-29 10:53:42 +05:30
Shariq Ansari
0c6a7cef95 fix: only show serial no batch selector only once
(cherry picked from commit 0f87d329d6)
2022-11-29 04:51:41 +00:00
Rohit Waghchaure
c930d64e8d test: test case for serialized batched item
(cherry picked from commit b606a9684b)
2022-11-29 03:19:16 +00:00
Rohit Waghchaure
78e64fa486 fix: incorrect balance qty
(cherry picked from commit b2105a8be7)
2022-11-29 03:19:15 +00:00
Deepesh Garg
2a0d7acc2b Merge pull request #33122 from deepeshgarg007/receivable_payable_multi_currency
fix: Multicurrency invoice with exchange gain and loss showing up in AR/AP report
2022-11-28 22:49:06 +05:30
Sagar Sharma
24a3da55e6 Merge pull request #33124 from frappe/mergify/bp/version-13-hotfix/pr-33120
fix: `Work Order Summary` and `Job Card Summary` Report (backport #33120)
2022-11-27 23:23:06 +05:30
Sagar Sharma
c3289c265a Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-33120 2022-11-27 22:11:06 +05:30
s-aga-r
b39f367dbd chore: conflicts 2022-11-27 22:10:10 +05:30
Deepesh Garg
d76e291927 Merge pull request #33114 from frappe/mergify/bp/version-13-hotfix/pr-33111
fix: Loan disbursable amount on current security price (backport #33111)
2022-11-27 20:50:19 +05:30
s-aga-r
ce5419888b fix: production_item filter in Job Card Summary Report
(cherry picked from commit ef7fd670fc)

# Conflicts:
#	erpnext/manufacturing/report/job_card_summary/job_card_summary.py
2022-11-26 16:25:16 +00:00
s-aga-r
ffef0cb771 fix: company name with , in Job Card Summary Report
(cherry picked from commit 481149814e)

# Conflicts:
#	erpnext/manufacturing/report/job_card_summary/job_card_summary.py
2022-11-26 16:25:15 +00:00
s-aga-r
2de239c73b fix: Work Order filter typo in Job Card Summary Report
(cherry picked from commit 2e4f3e9317)
2022-11-26 16:25:14 +00:00
s-aga-r
11978fca4e fix: company name with , in Work Order Summary Report
(cherry picked from commit 87b39f045c)
2022-11-26 16:25:14 +00:00
Deepesh Garg
d38a2895b0 fix: Multicurrency invoice with exchange gain and loss showing up in AR/AP report 2022-11-26 20:21:22 +05:30
Sagar Sharma
4492ee4771 Merge pull request #33109 from frappe/mergify/bp/version-13-hotfix/pr-33090
fix: MR Item `item_name` and `description` gets reset on `qty` change (backport #33090)
2022-11-26 10:07:37 +05:30
Abhinav Raut
eca2d96419 fix: disbursable amount on currrent security price
(cherry picked from commit fe87c27acd)
2022-11-25 09:49:03 +00:00
s-aga-r
b66976bd36 fix: MR Item description and item_name gets reset on qty change
(cherry picked from commit df0fee2312)
2022-11-25 05:50:10 +00:00
Deepesh Garg
776c8c6d6a Merge pull request #33093 from frappe/einv-reset-client-creds
fix: cannot update auth token until token expiry if credentials change
2022-11-24 21:25:46 +05:30
Deepesh Garg
452db7ed15 Merge pull request #33105 from frappe/mergify/bp/version-13-hotfix/pr-33100
fix: Dispatch address display (backport #33100)
2022-11-24 21:22:13 +05:30
Deepesh Garg
10cfcb5e8a fix: Dispatch address display
(cherry picked from commit 104fdcb9f9)
2022-11-24 12:31:40 +00:00
Saqib Ansari
b91860ddf2 fix: linter 2022-11-24 15:26:32 +05:30
Deepesh Garg
eda89a467c Merge pull request #33086 from AnandBaburajan/pending_asset_repair
fix: only consider draft pending asset repair docs
2022-11-24 14:37:36 +05:30
Saqib Ansari
2121714856 fix: cannot update auth token until token expiry if credentials change 2022-11-23 21:33:04 +05:30
Saurabh
8b46da39ea Merge branch 'version-13-hotfix' into small-fixes 2022-11-23 18:16:49 +05:30
anandbaburajan
6da7b38f6e fix: only consider draft pending asset repair docs 2022-11-23 13:05:52 +05:30
Deepesh Garg
7688239fc0 Merge pull request #33084 from frappe/mergify/bp/version-13-hotfix/pr-33062
fix: create rounding gl entry for PCV during gle post processing (backport #33062)
2022-11-23 11:50:14 +05:30
Saurabh
07c25ace5c fix: validate voucher type while checking journal entry against payroll entry 2022-11-23 11:45:50 +05:30
Saurabh
6ae21c92de chore: link payroll entry reference in accrual payroll journal entry 2022-11-23 11:45:50 +05:30
Nabin Hait
7af45972ae fix: create rounding gl entry for PCV during gle post processing
(cherry picked from commit 022d8d5d79)
2022-11-23 05:07:10 +00:00
Frappe PR Bot
f106b9e884 chore(release): Bumped to Version 13.42.1
## [13.42.1](https://github.com/frappe/erpnext/compare/v13.42.0...v13.42.1) (2022-11-22)

### Bug Fixes

* Accounting Dimension filtering for Sales and Purchase Report ([58f3f2b](58f3f2b6d9))
* cast POS query inputs to integers  (backport [#32975](https://github.com/frappe/erpnext/issues/32975)) ([#32978](https://github.com/frappe/erpnext/issues/32978)) ([3aba14f](3aba14f71a))
* GP incorrect buying amount if no upd on SI and Delivery Note ([40bb2cb](40bb2cba93))
* incorrect fix of conversion factor in PP ([726c3d3](726c3d32be))
* linter issue ([72f9308](72f9308df6))
* make `is_internal_supplier` read-only ([30b5d1c](30b5d1c400))
* Opening journal entry templates ([4ad3e28](4ad3e28147))
* **pos:** item selector image border radius ([ab31eb4](ab31eb4ee7))
* **realtime:** Restrict updates to only last modified or current user ([#33034](https://github.com/frappe/erpnext/issues/33034)) ([ecdd849](ecdd8493ea))
* use `list()` on self mutating iteration ([0070b5e](0070b5ef9a))
2022-11-22 16:00:21 +00:00
Deepesh Garg
b839c53572 Merge pull request #33075 from frappe/version-13-hotfix
chore: release v13
2022-11-22 21:28:29 +05:30
ruthra kumar
30b42b22ab Merge pull request #32942 from frappe/mergify/bp/version-13-hotfix/pr-32866
fix: incorrect buying amount on Gross Profit (backport #32866)
2022-11-22 15:59:28 +05:30
ruthra kumar
4834b78ed2 refactor: clean up code in test suite
Remove doctypes that are not in v13
2022-11-22 15:06:46 +05:30
ruthra kumar
72f9308df6 fix: linter issue 2022-11-22 15:06:27 +05:30
Deepesh Garg
dc9b81d216 Merge pull request #33041 from frappe/mergify/bp/version-13-hotfix/pr-33032
fix: Accounting Dimension filtering for Sales and Purchase Report (backport #33032)
2022-11-19 18:53:34 +05:30
Deepesh Garg
61b20c81c2 Merge pull request #33036 from frappe/mergify/bp/version-13-hotfix/pr-33034
fix(realtime): Restrict updates to only last modified or current user (backport #33034)
2022-11-19 18:22:17 +05:30
Deepesh Garg
58f3f2b6d9 fix: Accounting Dimension filtering for Sales and Purchase Report
(cherry picked from commit 8b394afaa9)
2022-11-19 12:50:19 +00:00
rohitwaghchaure
e3435369a0 Merge pull request #33037 from frappe/mergify/bp/version-13-hotfix/pr-32947
fix: incorrect fix of conversion factor in PP (backport #32947)
2022-11-19 11:50:05 +05:30
Rohit Waghchaure
726c3d32be fix: incorrect fix of conversion factor in PP
(cherry picked from commit 490b0e3cdf)
2022-11-18 14:39:27 +00:00
gavin
ecdd8493ea fix(realtime): Restrict updates to only last modified or current user (#33034)
(cherry picked from commit dd2493a541)
2022-11-18 11:49:11 +00:00
Deepesh Garg
431a94b961 Merge pull request #33016 from frappe/mergify/bp/version-13-hotfix/pr-33009
fix(pos): item selector image border radius (backport #33009)
2022-11-18 15:09:17 +05:30
Sagar Sharma
00f990e3f4 Merge pull request #33024 from frappe/mergify/bp/version-13-hotfix/pr-33019
fix: use `list()` on self mutating iteration (backport #33019)
2022-11-18 10:59:54 +05:30
Sabu Siyad
0070b5ef9a fix: use list() on self mutating iteration
https://github.com/frappe/erpnext/issues/30325

Signed-off-by: Sabu Siyad <hello@ssiyad.com>
(cherry picked from commit 546c809cbe)
2022-11-18 04:56:12 +00:00
Sabu Siyad
ab31eb4ee7 fix(pos): item selector image border radius
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
(cherry picked from commit 2f4940cc26)
2022-11-17 12:02:46 +00:00
mergify[bot]
357ae939d1 refactor: search queries (backport #33004) (#33008)
* refactor: search queries (#33004)

- guard clauses for readability
- use values or format

(cherry picked from commit 34e4903ed7)

# Conflicts:
#	erpnext/stock/doctype/material_request/material_request.py
#	erpnext/stock/doctype/quality_inspection/quality_inspection.py

* chore: conflicts

[skip ci]

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-11-17 14:24:45 +05:30
Sagar Sharma
b8aa63b5e2 Merge pull request #33011 from frappe/mergify/bp/version-13-hotfix/pr-33006
fix: make `is_internal_supplier` read-only in PO (backport #33006)
2022-11-17 14:23:28 +05:30
s-aga-r
9191c54b90 chore: conflicts 2022-11-17 14:19:01 +05:30
s-aga-r
30b5d1c400 fix: make is_internal_supplier read-only
(cherry picked from commit 5efbc2cbf8)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/purchase_order.json
2022-11-17 08:41:11 +00:00
Ankush Menat
9d5c4ffadf chore: hardcode doctype 2022-11-17 12:03:02 +05:30
Deepesh Garg
85d8540379 Merge pull request #32995 from frappe/mergify/bp/version-13-hotfix/pr-32983
fix: Opening journal entry templates (backport #32983)
2022-11-17 11:15:52 +05:30
Deepesh Garg
4ad3e28147 fix: Opening journal entry templates
(cherry picked from commit 33b61aef5a)
2022-11-16 15:12:34 +00:00
Deepesh Garg
ec6a01de4c Merge pull request #32991 from frappe/mergify/bp/version-13-hotfix/pr-32989
ci: fix flake8 URL (backport #32989)
2022-11-16 17:05:25 +05:30
Deepesh Garg
7831744064 ci: fix flake8 URL
(cherry picked from commit e81bec5fc9)
2022-11-16 10:56:43 +00:00
mergify[bot]
3aba14f71a fix: cast POS query inputs to integers (backport #32975) (#32978)
* fix: cast POS query inputs to integers  (#32975)

fix: cast POS query inputs to integers
(cherry picked from commit c013db6ea1)

# Conflicts:
#	erpnext/selling/page/point_of_sale/point_of_sale.py

* chore: conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-11-15 18:50:32 +05:30
Frappe PR Bot
f3f6d35a84 chore(release): Bumped to Version 13.42.0
# [13.42.0](https://github.com/frappe/erpnext/compare/v13.41.1...v13.42.0) (2022-11-15)

### Bug Fixes

* add Document Date in E-Invoice print format ([a16347f](a16347f325))
* ambiguous 'cost_center' on payment reconciliation ([e9e5ded](e9e5ded36b))
* check type for reference name ([ad648f3](ad648f313c))
* don't set WIP Warehouse if  is checked in WO ([4a17711](4a177113c6))
* Label for applicable dimension table ([cbc8b2d](cbc8b2da0a))
* Pricing rule item group consider UOM ([1ed0b6e](1ed0b6e89b)), closes [#32566](https://github.com/frappe/erpnext/issues/32566)
* query condition change ([88ce59a](88ce59a1ca))
* repayment schedule regeneration ([a19031c](a19031cf9a))
* set `WIP Warehouse` in Job Card ([f09e427](f09e4273d9))
* set stock UOM in args to ensure item price is fetched ([bd2242b](bd2242b285))
* wrong totals in hsn summary report ([79d508f](79d508f4ff))

### Features

* page break in SoA pdf ([e93ac3c](e93ac3c9a8))
2022-11-15 13:02:04 +00:00
Deepesh Garg
1cf5b23d9c Merge pull request #32973 from frappe/version-13-hotfix
chore: release v13
2022-11-15 18:17:49 +05:30
Deepesh Garg
de3453e477 Merge pull request #32934 from rtdany10/hsn-summary-report
fix: wrong hsn summary totals
2022-11-15 16:33:46 +05:30
Deepesh Garg
ee015273c9 Merge pull request #32953 from gavindsouza/rm-dead-validation-pe
chore(payment_entry): Remove dead validations
2022-11-15 13:56:38 +05:30
Deepesh Garg
db3f8d2768 Merge pull request #32961 from frappe/mergify/bp/version-13-hotfix/pr-32956
fix: Label for applicable dimension table (backport #32956)
2022-11-15 13:01:34 +05:30
Gavin D'souza
e1ecc9a819 chore(payment_entry): Remove dead validations 2022-11-15 10:43:47 +05:30
Deepesh Garg
9e340a8307 Merge branch 'version-13-hotfix' into hsn-summary-report 2022-11-15 09:26:00 +05:30
Deepesh Garg
cbc8b2da0a fix: Label for applicable dimension table
(cherry picked from commit 8c13f70fc5)
2022-11-15 03:56:00 +00:00
ruthra kumar
b7ff5fb426 Merge pull request #32930 from ruthra-kumar/ambiguous_cost_center_field
fix: ambiguous 'cost_center' while using payment reconciliation
2022-11-14 16:56:36 +05:30
Sagar Sharma
2b2a4f66ad Merge pull request #32949 from frappe/mergify/bp/version-13-hotfix/pr-32937
refactor: rewrite `job_card.py` queries in QB (backport #32937)
2022-11-14 12:22:59 +05:30
s-aga-r
78ca078474 refactor: rewrite job_card.py queries in QB
(cherry picked from commit 7df2921d38)
2022-11-14 05:57:03 +00:00
Deepesh Garg
65c9941aa4 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32866 2022-11-14 10:45:09 +05:30
Deepesh Garg
5e46567a0b Merge pull request #32940 from deepeshgarg007/psa_pdf_issue_v13
feat: page break in SoA pdf
2022-11-14 10:44:56 +05:30
Deepesh Garg
079cf6899e Merge pull request #32943 from frappe/mergify/bp/version-13-hotfix/pr-32938
chore: Remove raw SQL query (backport #32938)
2022-11-14 10:44:24 +05:30
Sagar Vora
ad648f313c fix: check type for reference name
(cherry picked from commit b06345af46)
2022-11-13 15:11:50 +00:00
Deepesh Garg
9c9c6607f8 chore: Remove qb doc reference
(cherry picked from commit 4b9921782b)
2022-11-13 15:11:49 +00:00
Deepesh Garg
d6901e51ad chore: Remove raw SQL query
(cherry picked from commit 42a59d5c17)
2022-11-13 15:11:48 +00:00
Deepesh Garg
8733ce5ca9 Merge branch 'version-13-hotfix' into psa_pdf_issue_v13 2022-11-13 20:41:38 +05:30
Deepesh Garg
1ee5c2ff87 chore: Resolve conflicts 2022-11-13 19:49:07 +05:30
ruthra kumar
09ef8eeaea test: buying amount of invoices
1. Invoice with unset `update_stock`, with and without Delivery Notes

(cherry picked from commit 2c8b0b17a7)
2022-11-13 13:46:48 +00:00
ruthra kumar
40bb2cba93 fix: GP incorrect buying amount if no upd on SI and Delivery Note
(cherry picked from commit e4d16c31da)

# Conflicts:
#	erpnext/accounts/report/gross_profit/gross_profit.py
2022-11-13 13:46:47 +00:00
Dany Robert
95f81d3563 chore: remove commented line 2022-11-13 18:53:10 +05:30
Dany Robert
88ce59a1ca fix: query condition change 2022-11-13 18:52:57 +05:30
Dany Robert
e93ac3c9a8 feat: page break in SoA pdf 2022-11-13 18:52:44 +05:30
Sagar Sharma
079fc2dc34 Merge pull request #32936 from frappe/mergify/bp/version-13-hotfix/pr-32913
fix: set stock UOM in args to ensure item price is fetched (backport #32913)
2022-11-12 12:46:54 +05:30
Sagar Vora
bd2242b285 fix: set stock UOM in args to ensure item price is fetched
(cherry picked from commit 57038c3969)
2022-11-12 04:39:52 +00:00
Dany Robert
79d508f4ff fix: wrong totals in hsn summary report 2022-11-12 05:22:31 +01:00
Deepesh Garg
a0cab4c5e7 Merge pull request #32931 from frappe/mergify/bp/version-13-hotfix/pr-32878
fix: repayment schedule regeneration (backport #32878)
2022-11-11 15:15:32 +05:30
Abhinav Raut
a19031cf9a fix: repayment schedule regeneration
(cherry picked from commit d6ab2b3b87)
2022-11-11 08:53:31 +00:00
ruthra kumar
e9e5ded36b fix: ambiguous 'cost_center' on payment reconciliation 2022-11-11 10:14:04 +05:30
Sagar Sharma
fcb6ee22ba Merge pull request #32920 from frappe/mergify/bp/version-13-hotfix/pr-32918
fix: WO Skip Material Transfer to WIP Warehouse (backport #32918)
2022-11-10 18:42:25 +05:30
Sagar Sharma
f09e4273d9 fix: set WIP Warehouse in Job Card
(cherry picked from commit e7fa2e08ad)
2022-11-10 11:43:23 +00:00
Sagar Sharma
4a177113c6 fix: don't set WIP Warehouse if is checked in WO
(cherry picked from commit 9730cd0aec)
2022-11-10 11:43:22 +00:00
Deepesh Garg
972893d00e Merge pull request #32908 from maharshivpatel/item-group-pricing-rule-backport
fix: Pricing rule item group consider UOM
2022-11-10 09:58:50 +05:30
Maharshi Patel
1ed0b6e89b fix: Pricing rule item group consider UOM
Pricing rule's apply_on_field == "item_group" didn't check for UOM. I have added the required checks.

Same as #32566
2022-11-09 17:17:35 +05:30
Deepesh Garg
dafb575500 Merge pull request #32894 from maharshivpatel/add-einvoice-document-date
fix: add Document Date in E-Invoice print format
2022-11-08 21:45:17 +05:30
Frappe PR Bot
9cf5e9e61e chore(release): Bumped to Version 13.41.1
## [13.41.1](https://github.com/frappe/erpnext/compare/v13.41.0...v13.41.1) (2022-11-08)

### Bug Fixes

* `Material Consumption` option in case of `Skip Transfer to WIP` in WO ([418c131](418c131331))
* Create POS Opening Entry POS Profile filter. ([76e4bb4](76e4bb44f1))
* Disable tax included prices for internal transfers ([#32794](https://github.com/frappe/erpnext/issues/32794)) ([84ee1b8](84ee1b86af))
* for asset's purchase_date, if bill_date is set, use that instead of posting_date ([1d23c9a](1d23c9a9fd))
* Reset advance paid amount on Oreder cancel and amend ([e32e0bc](e32e0bc8fa))
* use `flt` instead of `cint` in `get_batch_no` ([601b1e3](601b1e3821))
2022-11-08 12:14:53 +00:00
Deepesh Garg
af8b99a5e0 Merge pull request #32892 from frappe/version-13-hotfix
chore: release v13
2022-11-08 17:43:28 +05:30
Maharshi Patel
a16347f325 fix: add Document Date in E-Invoice print format 2022-11-08 16:35:34 +05:30
Deepesh Garg
19b9875ba8 Merge pull request #32781 from frappe/mergify/bp/version-13-hotfix/pr-32777
fix: Reset advance paid amount on Order cancel and amend (backport #32777)
2022-11-08 10:53:02 +05:30
Deepesh Garg
43aa670e90 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into mergify/bp/version-13-hotfix/pr-32777 2022-11-08 10:40:07 +05:30
Deepesh Garg
4f76ed1c68 chore: Resolve conflicts 2022-11-08 10:39:21 +05:30
Deepesh Garg
b93d13feef Merge pull request #32865 from frappe/mergify/bp/version-13-hotfix/pr-32846
fix: add german translations (backport #32846)
2022-11-07 18:42:38 +05:30
Raffael Meyer
e1a32cc620 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32846 2022-11-07 13:18:06 +01:00
barredterra
550f5f280c chore: resolve merge conflicts 2022-11-07 13:15:38 +01:00
Deepesh Garg
fbbfeb8563 Merge pull request #32873 from frappe/mergify/bp/version-13-hotfix/pr-32802
fix: `Material Consumption` option in case of `Skip Transfer to WIP` in WO (backport #32802)
2022-11-07 10:18:14 +05:30
Sagar Sharma
418c131331 fix: Material Consumption option in case of Skip Transfer to WIP in WO
(cherry picked from commit 8ea6983734)
2022-11-07 04:06:55 +00:00
Raffael Meyer
a8bf17e560 chore: add german translations (#32846)
Mostly for balance sheet

(cherry picked from commit d2b6490bca)

# Conflicts:
#	erpnext/translations/de.csv
2022-11-06 04:53:43 +00:00
Deepesh Garg
9961037f71 Merge pull request #32860 from frappe/mergify/bp/version-13-hotfix/pr-32794
fix: Disable tax included prices for internal transfers (backport #32794)
2022-11-05 21:17:09 +05:30
Deepesh Garg
84ee1b86af fix: Disable tax included prices for internal transfers (#32794)
* fix: Disable tax-included prices for internal transfers

(cherry picked from commit 8d30ebb12b)
2022-11-05 15:22:30 +00:00
Deepesh Garg
afe86d83aa Merge pull request #32857 from frappe/mergify/bp/version-13-hotfix/pr-32847
fix: Create POS Opening Entry POS Profile filter. (backport #32847)
2022-11-05 20:52:12 +05:30
Maharshi Patel
76e4bb44f1 fix: Create POS Opening Entry POS Profile filter.
pos_profile_query was variable instead of function.

(cherry picked from commit 1328a45f2a)
2022-11-05 11:15:58 +00:00
Deepesh Garg
c1bc1040b8 Merge pull request #32834 from frappe/mergify/bp/version-13-hotfix/pr-32773
fix: for asset's purchase_date, if bill_date is set, use that instead of posting_date (backport #32773)
2022-11-03 12:06:50 +05:30
anandbaburajan
1d23c9a9fd fix: for asset's purchase_date, if bill_date is set, use that instead of posting_date
(cherry picked from commit f322c608cf)
2022-11-03 06:28:37 +00:00
Sagar Sharma
5a211813d3 Merge pull request #32821 from frappe/mergify/bp/version-13-hotfix/pr-32788
fix: use `flt` instead of `cint` in `get_batch_no` (backport #32788)
2022-11-02 17:08:08 +05:30
Sagar Sharma
601b1e3821 fix: use flt instead of cint in get_batch_no
(cherry picked from commit 9fb3fb4c83)
2022-11-02 10:25:54 +00:00
Frappe PR Bot
6d1ae68d70 chore(release): Bumped to Version 13.41.0
# [13.41.0](https://github.com/frappe/erpnext/compare/v13.40.3...v13.41.0) (2022-11-01)

### Bug Fixes

* add `Sales Order` reference in Material Request Dashboard ([cb89dba](cb89dba5ab))
* Do not force eligibilgity of itc for reverse charge ([9dc0edf](9dc0edfb8a))
* filter return pos in reconciliation tool ([b877b0d](b877b0d3a2))
* group warehouse filter not working for Batch-wise Balance history report ([310e7c5](310e7c522c))
* Issues while cancel/amending Purchase Invoice with TDS enabled ([8888957](8888957952))
* Mode of payment for returns in POS Sales Invoice ([9b63a1a](9b63a1a2e9))

### Features

* Repayment schedule types for term loans ([c2817be](c2817bed0b))
2022-11-01 17:19:09 +00:00
Deepesh Garg
19ebebdc47 Merge pull request #32792 from frappe/version-13-hotfix
chore: release v13
2022-11-01 22:46:15 +05:30
Deepesh Garg
a91483899b Merge pull request #32806 from frappe/mergify/bp/version-13-hotfix/pr-32779
fix: Mode of payment for returns in POS Sales Invoice (backport #32779)
2022-11-01 22:11:50 +05:30
Deepesh Garg
2f6d55d8d2 Merge pull request #32803 from frappe/mergify/bp/version-13-hotfix/pr-32801
fix: Issues while cancel/amending Purchase Invoice with TDS enabled (backport #32801)
2022-11-01 22:11:26 +05:30
Deepesh Garg
4a10454d89 chore: Resolve conflicts 2022-11-01 21:30:36 +05:30
Deepesh Garg
12b15347bc chore: Update tests
(cherry picked from commit 5b74161195)
2022-11-01 15:59:54 +00:00
Deepesh Garg
9b63a1a2e9 fix: Mode of payment for returns in POS Sales Invoice
(cherry picked from commit 06e8e28531)
2022-11-01 15:59:53 +00:00
Deepesh Garg
8888957952 fix: Issues while cancel/amending Purchase Invoice with TDS enabled
(cherry picked from commit f7c9258770)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
2022-11-01 15:18:48 +00:00
ruthra kumar
a9660bf026 Merge pull request #32798 from ruthra-kumar/better_approach_to_list_item_removal
fix: filter return pos in reconciliation tool
2022-11-01 17:28:01 +05:30
ruthra kumar
b877b0d3a2 fix: filter return pos in reconciliation tool 2022-11-01 16:56:35 +05:30
Deepesh Garg
e4082093b8 Merge pull request #32796 from deepeshgarg007/itc_eligibility_reverse_charge
fix: Do not force eligibilgity of itc for reverse charge
2022-11-01 16:32:39 +05:30
Deepesh Garg
9dc0edfb8a fix: Do not force eligibilgity of itc for reverse charge 2022-11-01 16:03:32 +05:30
rohitwaghchaure
e13f05ce19 Merge pull request #32784 from rohitwaghchaure/fixed-warehouse-group-for-batch
fix: group warehouse filter not working for Batch-wise Balance history report
2022-10-31 23:34:00 +05:30
Rohit Waghchaure
310e7c522c fix: group warehouse filter not working for Batch-wise Balance history report 2022-10-31 23:21:29 +05:30
Deepesh Garg
e32e0bc8fa fix: Reset advance paid amount on Oreder cancel and amend
(cherry picked from commit 92f37ca111)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/purchase_order.js
2022-10-31 16:09:48 +00:00
Deepesh Garg
0c24ba0118 Merge pull request #32690 from frappe/mergify/bp/version-13-hotfix/pr-32424
feat: Repayment schedule types for term loans (backport #32424)
2022-10-31 11:57:57 +05:30
Deepesh Garg
60fa87751a chore: Update payroll loan tests 2022-10-31 11:28:32 +05:30
Deepesh Garg
50bc7785f7 chore: reload doctypes 2022-10-31 10:39:03 +05:30
Deepesh Garg
d2aea0cd2e chore: fix datetime value 2022-10-30 11:01:41 +05:30
Deepesh Garg
e9006582fb chore: Add removed field 2022-10-30 10:48:37 +05:30
Deepesh Garg
3483e0e2a5 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into mergify/bp/version-13-hotfix/pr-32424 2022-10-30 10:46:21 +05:30
Deepesh Garg
65b047c94c chore: Resync Loan Doc 2022-10-30 10:44:15 +05:30
Sagar Sharma
ada3ce21c0 Merge pull request #32757 from frappe/mergify/bp/version-13-hotfix/pr-32754
fix: add `Sales Order` reference in Material Request Dashboard (backport #32754)
2022-10-29 13:52:28 +05:30
Sagar Sharma
cb89dba5ab fix: add Sales Order reference in Material Request Dashboard
(cherry picked from commit 15ebf4a0cf)
2022-10-29 07:07:45 +00:00
Deepesh Garg
d73237e896 chore: Resolve conflicts 2022-10-29 11:06:53 +05:30
Sagar Sharma
8e0d393cd4 Merge pull request #32741 from frappe/mergify/bp/version-13-hotfix/pr-32738
fix: Added Material Request Reference in Purchase Recipt Dashboard for Tracking (backport #32738)
2022-10-28 16:06:35 +05:30
Vishal
292ff1bd6b chore: minor linting issue fixed
(cherry picked from commit e8c0157017)
2022-10-28 08:55:07 +00:00
Vishal
804cf40f69 chore: Added Material Request Reference in Purchase Recipt Dashboard for Tracking
(cherry picked from commit a04c44fe34)
2022-10-28 08:55:06 +00:00
Frappe PR Bot
1d31ab1ab7 chore(release): Bumped to Version 13.40.3
## [13.40.3](https://github.com/frappe/erpnext/compare/v13.40.2...v13.40.3) (2022-10-26)

### Bug Fixes

* allow to create Sales Order from expired Quotation ([#32641](https://github.com/frappe/erpnext/issues/32641)) ([ea03289](ea032893d3))
* Billing Address for inter-company purchase docs ([3a2f08f](3a2f08fbda))
* BOM cost update message ([98bcb72](98bcb7255d))
* conflicts ([447485a](447485ae90))
* incorrect qty in material request ([1741501](1741501ea8))
* overlap error not raised for job card in case of workstation with production capacity ([b5376ce](b5376ce5cb))
* unset contact details ([7afb19f](7afb19f965))
2022-10-26 05:09:20 +00:00
Deepesh Garg
dd493fb46f Merge pull request #32706 from frappe/version-13-hotfix
chore: release v13
2022-10-26 10:37:31 +05:30
Deepesh Garg
85f48dd6bd chore: Update tests
(cherry picked from commit e59b147a62)
2022-10-23 14:09:20 +00:00
Deepesh Garg
fa0a137a38 chore: Add repayment date on option
(cherry picked from commit ef0cb17faf)
2022-10-23 14:09:19 +00:00
Deepesh Garg
5fc8d20e96 chore: label post save
(cherry picked from commit bf7a51791a)
2022-10-23 14:09:18 +00:00
Deepesh Garg
7ddcfc00fc chore: Add patch to update repayment schedule type in loan documents
(cherry picked from commit 679b5ed551)

# Conflicts:
#	erpnext/patches.txt
2022-10-23 14:09:17 +00:00
Deepesh Garg
3f02059085 chore: Update labels as per repayment type
(cherry picked from commit 2ddee50f27)

# Conflicts:
#	erpnext/loan_management/doctype/loan/loan.json
2022-10-23 14:09:14 +00:00
Deepesh Garg
71b21086b1 chore: Remove print statements
(cherry picked from commit 3466461eb3)
2022-10-23 14:09:13 +00:00
Deepesh Garg
c2817bed0b feat: Repayment schedule types for term loans
(cherry picked from commit 76c6ccab5d)

# Conflicts:
#	erpnext/loan_management/doctype/loan/loan.json
#	erpnext/loan_management/doctype/loan/loan.py
2022-10-23 14:09:12 +00:00
Deepesh Garg
dc972718d5 Merge pull request #32687 from frappe/mergify/bp/version-13-hotfix/pr-32650
fix: unset contact details (backport #32650)
2022-10-23 18:32:15 +05:30
barredterra
7afb19f965 fix: unset contact details
(cherry picked from commit 23f0bb45b0)
2022-10-23 12:52:29 +00:00
Deepesh Garg
0ca137808b Merge pull request #32656 from frappe/mergify/bp/version-13-hotfix/pr-32641
fix: allow to create Sales Order from expired Quotation (backport #32641)
2022-10-20 17:34:31 +05:30
rohitwaghchaure
99e0106193 Merge pull request #32670 from frappe/mergify/bp/version-13-hotfix/pr-32667
fix: BOM cost update message (backport #32667)
2022-10-20 16:52:56 +05:30
rohitwaghchaure
447485ae90 fix: conflicts 2022-10-20 15:01:22 +05:30
Rohit Waghchaure
98bcb7255d fix: BOM cost update message
(cherry picked from commit 9cfe527492)

# Conflicts:
#	erpnext/manufacturing/doctype/bom/test_bom.py
2022-10-20 09:09:02 +00:00
Deepesh Garg
2df24ec459 Merge pull request #32664 from frappe/mergify/bp/version-13-hotfix/pr-32659
fix: Billing Address for inter-company purchase docs (backport #32659)
2022-10-20 12:42:38 +05:30
Deepesh Garg
3a2f08fbda fix: Billing Address for inter-company purchase docs
(cherry picked from commit 796f2d3c09)
2022-10-20 06:29:56 +00:00
rohitwaghchaure
7c9b535514 Merge pull request #32661 from frappe/mergify/bp/version-13-hotfix/pr-32654
fix: incorrect qty in material request created from PP (backport #32654)
2022-10-20 10:27:41 +05:30
Rohit Waghchaure
4f0c2909ab test: validate qty and purchase uom in material request which is created from PP
(cherry picked from commit 4d5ef721f7)
2022-10-20 04:30:29 +00:00
Rohit Waghchaure
1741501ea8 fix: incorrect qty in material request
(cherry picked from commit ad278b2007)
2022-10-20 04:30:28 +00:00
Raffael Meyer
ea032893d3 fix: allow to create Sales Order from expired Quotation (#32641)
(cherry picked from commit 4ad3002861)
2022-10-19 16:38:19 +00:00
rohitwaghchaure
7601a016b8 Merge pull request #32653 from frappe/mergify/bp/version-13-hotfix/pr-32645
fix: overlap error not raised for job card in case of workstation with production capacity (backport #32645)
2022-10-19 18:09:44 +05:30
Rohit Waghchaure
b5376ce5cb fix: overlap error not raised for job card in case of workstation with production capacity
(cherry picked from commit 8b2165e0d1)
2022-10-19 11:35:59 +00:00
Frappe PR Bot
7ba029b140 chore(release): Bumped to Version 13.40.2
## [13.40.2](https://github.com/frappe/erpnext/compare/v13.40.1...v13.40.2) (2022-10-19)

### Bug Fixes

* `Brand Defaults` filters ([b1c70af](b1c70af4db))
* don't try to update youtube data if disabled in settings (backport [#32588](https://github.com/frappe/erpnext/issues/32588)) ([#32590](https://github.com/frappe/erpnext/issues/32590)) ([7e7122b](7e7122b668))
* Ignore linked purchase invoice on cancel ([eec770a](eec770a4a8))
* Party account for multi-order invoices ([0ae2a4f](0ae2a4f1c4))
* pricing rule item code UOM apply & conversions (backport [#32566](https://github.com/frappe/erpnext/issues/32566)) ([#32636](https://github.com/frappe/erpnext/issues/32636)) ([b8d97b8](b8d97b82b8))
2022-10-19 03:57:46 +00:00
Deepesh Garg
cf74d24400 Merge pull request #32634 from frappe/version-13-hotfix
chore: release v13
2022-10-19 09:24:40 +05:30
mergify[bot]
b8d97b82b8 fix: pricing rule item code UOM apply & conversions (backport #32566) (#32636)
* fix: pricing rule for non stock UOM and conversions

* fix: pricing rule for non stock UOM and conversions

(cherry picked from commit 96b4211ea1)

# Conflicts:
#	erpnext/accounts/doctype/pricing_rule/pricing_rule.py

* chore: resolve conflicts

Co-authored-by: Maharshi Patel <39730881+maharshivpatel@users.noreply.github.com>
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2022-10-18 23:31:31 +05:30
Deepesh Garg
56c4c3186b Merge pull request #32624 from frappe/mergify/bp/version-13-hotfix/pr-32622
fix: Ignore linked purchase invoice on cancel (backport #32622)
2022-10-18 14:49:36 +05:30
Deepesh Garg
015a221d8d chore: Resolve conflicts 2022-10-18 09:11:58 +05:30
Deepesh Garg
eec770a4a8 fix: Ignore linked purchase invoice on cancel
(cherry picked from commit faadf78332)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
2022-10-17 14:09:12 +00:00
Deepesh Garg
44f5ccc9dc Merge pull request #32605 from frappe/mergify/bp/version-13-hotfix/pr-32594
fix: Party account for multi-order invoices (backport #32594)
2022-10-15 18:25:25 +05:30
Deepesh Garg
0ae2a4f1c4 fix: Party account for multi-order invoices
(cherry picked from commit fd49503ba2)
2022-10-15 11:29:21 +00:00
mergify[bot]
5fdaddad86 chore: drop dead code (backport #32595) (#32597)
chore: drop dead code (#32595)

[skip ci]

(cherry picked from commit 50e9698932)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-10-13 15:27:09 +05:30
Sagar Sharma
03ccddc1cc Merge pull request #32587 from frappe/mergify/bp/version-13-hotfix/pr-32576
fix: `Brand Defaults` filters (backport #32576)
2022-10-13 14:42:29 +05:30
Sagar Sharma
e00ebcd9e5 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32576 2022-10-13 14:38:26 +05:30
mergify[bot]
7e7122b668 fix: don't try to update youtube data if disabled in settings (backport #32588) (#32590)
* fix: don't try to update youtube data if disabled in settings (#32588)

fix: cast value from db

[skip ci]

(cherry picked from commit e543dca6a0)

* chore: qualified path

not imported 

[skip ci]

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-10-13 11:57:08 +05:30
Sagar Sharma
b1c70af4db fix: Brand Defaults filters
(cherry picked from commit 7da32c7db3)
2022-10-12 13:53:56 +00:00
Frappe PR Bot
1609129e1e chore(release): Bumped to Version 13.40.1
## [13.40.1](https://github.com/frappe/erpnext/compare/v13.40.0...v13.40.1) (2022-10-12)

### Bug Fixes

* conflct in test purchase receipt ([6ae2f90](6ae2f90683))
* conflict ([cb7aef5](cb7aef505d))
* consider outgoingrate while valuation rate calculate ([6f43133](6f43133c04))
* consider sales rate as incoming rate for transit warehouse in purchase flow ([f72602e](f72602ebf3))
* Hanlde rounding loss for internal transfer ([dd26ef9](dd26ef96e0))
* Incoming rate precision fixes for intra company transfer ([227ce5f](227ce5f8a2))
* incorrect import ([8238b89](8238b89907))
* linter issue ([aa0552d](aa0552d788))
* test case ([acd64ba](acd64ba7c1))
* value error on pos submit ([4383980](4383980bcc))
2022-10-12 12:34:41 +00:00
Deepesh Garg
9b02455c09 Merge pull request #32585 from frappe/version-13-hotfix
chore: version 13 release
2022-10-12 18:03:01 +05:30
Deepesh Garg
ff3bfb060a Merge pull request #32584 from frappe/mergify/bp/version-13-hotfix/pr-32557
fix: Value error on validation of POS invoices with Serial Nos (backport #32557)
2022-10-12 17:17:01 +05:30
rohitwaghchaure
63e087d31e Merge pull request #32580 from frappe/mergify/bp/version-13-hotfix/pr-32563
fix: consider sales rate as incoming rate for transit warehouse in purchase flow (backport #32563)
2022-10-12 17:08:33 +05:30
Deepesh Garg
b62a397397 Merge pull request #32581 from frappe/mergify/bp/version-13-hotfix/pr-32272
fix: Incoming rate precision fixes for intra company transfer (backport #32272)
2022-10-12 17:04:52 +05:30
ruthra kumar
48efcc82b6 test: value error on serial no validation on pos
(cherry picked from commit 9e2bd10d03)
2022-10-12 11:12:09 +00:00
ruthra kumar
4383980bcc fix: value error on pos submit
(cherry picked from commit 4b908ebcd6)
2022-10-12 11:12:08 +00:00
rohitwaghchaure
aa0552d788 fix: linter issue 2022-10-12 16:33:53 +05:30
Deepesh Garg
3b5889ef85 chore: resolve conflicts 2022-10-12 16:30:23 +05:30
rohitwaghchaure
8238b89907 fix: incorrect import 2022-10-12 16:28:31 +05:30
rohitwaghchaure
6ae2f90683 fix: conflct in test purchase receipt 2022-10-12 16:26:52 +05:30
rohitwaghchaure
cb7aef505d fix: conflict 2022-10-12 16:24:50 +05:30
Deepesh Garg
4a8c42d62b chore: check only for inter-company transfers
(cherry picked from commit 9aa5e20ef7)
2022-10-12 10:54:15 +00:00
Deepesh Garg
c67bdcf3c6 chore: fix precision condition
(cherry picked from commit 49601558c6)
2022-10-12 10:54:14 +00:00
Deepesh Garg
7a9e7b66ac chore: Use proper accounts
(cherry picked from commit 1c05c004cd)
2022-10-12 10:54:13 +00:00
Deepesh Garg
151b9d4d7b chore: Increase precision for other doc fields
(cherry picked from commit c8d2181498)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#	erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
2022-10-12 10:54:13 +00:00
Deepesh Garg
b966f10711 chore: GL Entries for SLE diff
(cherry picked from commit df2a0e265b)
2022-10-12 10:54:11 +00:00
Deepesh Garg
0b48f13873 test: Internal tranfer precision loss test
(cherry picked from commit dc20b21fb5)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
2022-10-12 10:54:10 +00:00
Deepesh Garg
b531a38efe chore: Increase incoming_rate field precision to 6
(cherry picked from commit b31c3bd35d)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
2022-10-12 10:54:08 +00:00
Deepesh Garg
dd26ef96e0 fix: Hanlde rounding loss for internal transfer
(cherry picked from commit 6e47fd54a0)
2022-10-12 10:54:07 +00:00
Deepesh Garg
227ce5f8a2 fix: Incoming rate precision fixes for intra company transfer
(cherry picked from commit 083309c056)
2022-10-12 10:54:06 +00:00
Rohit Waghchaure
acd64ba7c1 fix: test case
(cherry picked from commit 98bf8e1304)
2022-10-12 10:51:22 +00:00
Rohit Waghchaure
6f43133c04 fix: consider outgoingrate while valuation rate calculate
(cherry picked from commit 3266e54e33)
2022-10-12 10:51:22 +00:00
Rohit Waghchaure
f72602ebf3 fix: consider sales rate as incoming rate for transit warehouse in purchase flow
(cherry picked from commit 683a47f7a1)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
#	erpnext/stock/stock_ledger.py
2022-10-12 10:51:21 +00:00
Frappe PR Bot
49c9c68e14 chore(release): Bumped to Version 13.40.0
# [13.40.0](https://github.com/frappe/erpnext/compare/v13.39.5...v13.40.0) (2022-10-12)

### Bug Fixes

* Do not add tax withheld vouchers post tax withheding in one document ([e1c41b9](e1c41b9195))
* future attendance marking ([cb4fbd5](cb4fbd5432))
* make readings status mandatory in Quality Inspection ([257a2a3](257a2a3d71))
* mark attendance issue with joining date ([6f8d620](6f8d62088e))
* mark attendance issue with relieving date ([a9546dd](a9546dd01f))
* PO cancel post advance payment cancel against PO ([41599cf](41599cf29f))
* set Quality Inspection status based on readings status ([d67b44f](d67b44fcec))
* Tax withholding related fixes ([32a9575](32a9575f07))
* **test:** `test_rejected_qi_validation` ([2763d06](2763d06307))
* TooManyWritesError during reposting of stock ([476175b](476175b307))

### Features

* cst ux improvement ([552c595](552c5951bd))
* **JE:** trigger account field when fetched from template ([baa4fec](baa4fec611)), closes [#32409](https://github.com/frappe/erpnext/issues/32409)
2022-10-12 07:21:47 +00:00
Ankush Menat
9ce765b268 Merge pull request #32561 from frappe/version-13-hotfix
chore: release v13
2022-10-12 12:49:45 +05:30
Ankush Menat
002ae8ae13 ci: disable test orchestrator v13 (#32574) 2022-10-12 12:13:51 +05:30
Deepesh Garg
558dc57b94 Merge pull request #32539 from frappe/mergify/bp/version-13-hotfix/pr-32536
fix: PO cancel post advance payment cancel against PO (backport #32536)
2022-10-11 13:58:24 +05:30
Deepesh Garg
cd942d36a8 chore: resolve conflicts 2022-10-11 10:16:31 +05:30
Sagar Sharma
3257533ee3 Merge pull request #32544 from frappe/mergify/bp/version-13-hotfix/pr-32497
chore: set `Quality Inspection` status based on readings status (backport #32497)
2022-10-10 12:10:29 +05:30
Sagar Sharma
2763d06307 fix(test): test_rejected_qi_validation
(cherry picked from commit 4992e4a2b8)
2022-10-10 05:21:09 +00:00
Sagar Sharma
a0772ea8d7 test: add test cases for Quality Inspection status
(cherry picked from commit fcc1272d42)
2022-10-10 05:21:08 +00:00
Sagar Sharma
d67b44fcec fix: set Quality Inspection status based on readings status
(cherry picked from commit 2657ece2cd)
2022-10-10 05:21:08 +00:00
Sagar Sharma
257a2a3d71 fix: make readings status mandatory in Quality Inspection
(cherry picked from commit d7c3b7633a)
2022-10-10 05:21:07 +00:00
Sagar Sharma
e6abbd1c83 chore: add Manual Inspection field in Quality Inspection DocType
(cherry picked from commit 39707757a6)
2022-10-10 05:21:06 +00:00
Deepesh Garg
41599cf29f fix: PO cancel post advance payment cancel against PO
(cherry picked from commit d806e32030)

# Conflicts:
#	erpnext/buying/doctype/purchase_order/purchase_order.py
2022-10-09 13:05:46 +00:00
Frappe PR Bot
c66ebcdf9a chore(release): Bumped to Version 13.39.5
## [13.39.5](https://github.com/frappe/erpnext/compare/v13.39.4...v13.39.5) (2022-10-07)

### Bug Fixes

* Do not add tax withheld vouchers post tax withheding in one document ([be404b7](be404b77a1))
* Tax withholding related fixes ([6e9b52d](6e9b52d268))
2022-10-07 13:08:29 +00:00
Deepesh Garg
4623b986a3 Merge pull request #32526 from frappe/mergify/bp/version-13/pr-32523
fix: Tax withholding related fixes (backport #32522) (backport #32523)
2022-10-07 18:36:57 +05:30
Deepesh Garg
611dd5c073 chore: resolve conflicts
(cherry picked from commit 2bf76f64bd)
2022-10-07 12:39:14 +00:00
Deepesh Garg
be404b77a1 fix: Do not add tax withheld vouchers post tax withheding in one document
(cherry picked from commit 781d160c68)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
(cherry picked from commit e1c41b9195)
2022-10-07 12:39:13 +00:00
Deepesh Garg
6e9b52d268 fix: Tax withholding related fixes
(cherry picked from commit abf5b6be3e)
(cherry picked from commit 32a9575f07)
2022-10-07 12:39:13 +00:00
Deepesh Garg
997990c69f Merge pull request #32523 from frappe/mergify/bp/version-13-hotfix/pr-32522
fix: Tax withholding related fixes (backport #32522)
2022-10-07 18:08:31 +05:30
Deepesh Garg
2bf76f64bd chore: resolve conflicts 2022-10-07 17:33:03 +05:30
Deepesh Garg
e1c41b9195 fix: Do not add tax withheld vouchers post tax withheding in one document
(cherry picked from commit 781d160c68)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
2022-10-07 11:03:16 +00:00
Deepesh Garg
32a9575f07 fix: Tax withholding related fixes
(cherry picked from commit abf5b6be3e)
2022-10-07 11:03:15 +00:00
Deepesh Garg
e031e095dd Merge pull request #32521 from FHenry/13_fr_translation
chore: fr translation (backport #32385)
2022-10-07 08:48:43 +05:30
Florian HENRY
39ce3756c8 chore: fr translation 2022-10-06 22:39:40 +02:00
Deepesh Garg
f2515d9c9c Merge pull request #32449 from rtdany10/cst-ux-improvement
feat(ux): improved course scheduling tool
2022-10-05 18:44:05 +05:30
Deepesh Garg
27fe9c9179 Merge pull request #32426 from AnandBaburajan/fix_mark_attendance_joining_date_and_future
fix: mark attendance issue with joining and relieving date, and fix future attendance marking
2022-10-05 18:34:31 +05:30
Deepesh Garg
503183cb0b Merge pull request #32502 from frappe/mergify/bp/version-13-hotfix/pr-32499
fix: TooManyWritesError during reposting of stock (backport #32499)
2022-10-05 17:29:25 +05:30
Deepesh Garg
f1ea5de022 Merge pull request #32504 from frappe/mergify/bp/version-13-hotfix/pr-32478
feat(JE): trigger account field when fetched from template (backport #32478)
2022-10-05 17:29:05 +05:30
Dany Robert
baa4fec611 feat(JE): trigger account field when fetched from template
Closes #32409

(cherry picked from commit c35adcf5a1)
2022-10-05 10:38:21 +00:00
Rohit Waghchaure
476175b307 fix: TooManyWritesError during reposting of stock
(cherry picked from commit aaabba9b1e)
2022-10-05 10:35:55 +00:00
Frappe PR Bot
de584535e9 chore(release): Bumped to Version 13.39.4
## [13.39.4](https://github.com/frappe/erpnext/compare/v13.39.3...v13.39.4) (2022-10-04)

### Bug Fixes

* asset requiring maintenance sold status ([14ab9d9](14ab9d9158))
* conflict ([0f8e34e](0f8e34e972))
* Disbursement Account in patch to update old loans ([b4a511c](b4a511cbb4))
* e-Way bill JSON for Intra-state internal transfers ([b7fbf75](b7fbf75e10))
* fetch swift_number in payment_request ([6074570](60745705a8))
* Incorrect TCS amount deducted in Sales Invoice ([32456bf](32456bff30))
* Item details fetching on making transaction from item dashboard ([1aed76f](1aed76f778))
* linter issue ([4757a65](4757a65863))
* not able to return sold expired batches ([2fd4485](2fd4485f2f))
* payment reconciliation tool consider cost_center for JV ([9f98891](9f988910b5))
* payment request make bank field Link instead of Read Only ([299175e](299175e6fe))
* pick list picked-qty for batch item ([96a6db0](96a6db0422))
* SEZ Without Payment of Tax don't add tax rows ([a13eecc](a13eecc961))
* show `Make Purchase Invoice` button based on permission ([7124328](7124328640))
* typo in sales_register's filter mode_of_payment (backport [#32371](https://github.com/frappe/erpnext/issues/32371)) ([#32447](https://github.com/frappe/erpnext/issues/32447)) ([cdc8297](cdc8297083))
* update with new Frappe color. fix [#32455](https://github.com/frappe/erpnext/issues/32455) ([#32456](https://github.com/frappe/erpnext/issues/32456)) ([ad43b18](ad43b18ace))

### Reverts

* Revert "fix: fetch swift_number in payment_request" ([8251b84](8251b843ec))
2022-10-04 12:14:27 +00:00
Deepesh Garg
d95d234aa4 Merge pull request #32494 from frappe/version-13-hotfix
chore: release v13
2022-10-04 17:41:06 +05:30
rohitwaghchaure
3648745e5e Merge pull request #32470 from frappe/mergify/bp/version-13-hotfix/pr-32466
fix: not able to return sold expired batches (backport #32466)
2022-10-04 07:35:10 +05:30
Deepesh Garg
8e1e6a194b Merge pull request #32467 from frappe/mergify/bp/version-13-hotfix/pr-32394
fix: fetch swift number in payment request from bank doctype (backport #32394)
2022-10-03 21:54:05 +05:30
Ankush Menat
663e9b403f chore: codeowners 2022-10-03 16:27:32 +05:30
Ankush Menat
3219b7c766 chore: codeowners 2022-10-03 16:27:13 +05:30
Sagar Sharma
3a6e4c8da7 Merge pull request #32474 from frappe/mergify/bp/version-13-hotfix/pr-32472
fix: pick list picked-qty for batch item (backport #32472)
2022-10-03 15:24:02 +05:30
Sagar Sharma
96a6db0422 fix: pick list picked-qty for batch item
(cherry picked from commit ba02209f1d)
2022-10-03 09:17:03 +00:00
rohitwaghchaure
4757a65863 fix: linter issue 2022-10-03 13:27:38 +05:30
rohitwaghchaure
0f8e34e972 fix: conflict 2022-10-03 13:18:58 +05:30
Rohit Waghchaure
2fd4485f2f fix: not able to return sold expired batches
(cherry picked from commit 0b1727cf79)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
2022-10-03 07:46:13 +00:00
Maharshi Patel
299175e6fe fix: payment request make bank field Link instead of Read Only
(cherry picked from commit dc8d49260c)
2022-10-03 07:26:06 +00:00
Maharshi Patel
8251b843ec Revert "fix: fetch swift_number in payment_request"
This reverts commit f42a8e4e03.

(cherry picked from commit 9245d3b5cd)
2022-10-03 07:26:05 +00:00
Maharshi Patel
60745705a8 fix: fetch swift_number in payment_request
There isn't direct link between payment_request and bank so swift_number wasn't fetched using Fetch form. I fixed it by fetching swift_number on_change of bank_account.

(cherry picked from commit f42a8e4e03)
2022-10-03 07:26:04 +00:00
Deepesh Garg
caedc9f6ad Merge pull request #32462 from frappe/mergify/bp/version-13-hotfix/pr-32456
fix: update with new Frappe color. fix #32455 (backport #32456)
2022-10-03 09:15:21 +05:30
Deepesh Garg
fbeb86b9c0 Merge pull request #32453 from deepeshgarg007/intra_state_transfer_eway_bill_v13
fix: e-Way bill JSON for Intra-state internal transfers
2022-10-03 09:07:26 +05:30
Muvuk
ad43b18ace fix: update with new Frappe color. fix #32455 (#32456)
* Update with new Frappe color.

* refactor: use css variables

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
(cherry picked from commit 73e5a7d671)
2022-10-02 17:02:25 +00:00
Frappe PR Bot
34284216cd chore(release): Bumped to Version 13.39.3
## [13.39.3](https://github.com/frappe/erpnext/compare/v13.39.2...v13.39.3) (2022-10-02)

### Bug Fixes

* asset requiring maintenance sold status ([a668d4e](a668d4e789))
2022-10-02 15:39:08 +00:00
Deepesh Garg
5c6c9812c0 Merge pull request #32458 from frappe/mergify/bp/version-13/pr-32413
fix: status of assets with maintenance_required changing back to 'Partially Depreciated' some time after being sold [v13] (backport #32413)
2022-10-02 21:07:00 +05:30
anandbaburajan
4afd2b7470 chore: refactor by just using a filter
(cherry picked from commit 6b21deedae)
2022-10-02 12:14:41 +00:00
anandbaburajan
bc21ce412b chore: refactor by creating is_sold
(cherry picked from commit 430a4c98a0)
2022-10-02 12:14:41 +00:00
anandbaburajan
a668d4e789 fix: asset requiring maintenance sold status
(cherry picked from commit 14ab9d9158)
2022-10-02 12:14:40 +00:00
Deepesh Garg
9f8d3e43ea Merge pull request #32413 from AnandBaburajan/fix_asset_sold_status_v13
fix: status of assets with maintenance_required changing back to 'Partially Depreciated' some time after being sold [v13]
2022-10-02 17:43:09 +05:30
Deepesh Garg
9dbb2bf512 Merge pull request #32369 from maharshivpatel/fix-taxes-sez-without-payment-of-tax
fix: SEZ Without Payment of Tax don't add tax rows
2022-10-01 16:13:11 +05:30
Deepesh Garg
8c52c71299 Merge pull request #32344 from maharshivpatel/fix-payment-reconciliation-jv-cost-center
fix: consider cost center for journal entry in payment reconciliation tool
2022-10-01 16:12:30 +05:30
Deepesh Garg
c4c52c1cd3 chore: Linting Issues 2022-10-01 16:06:31 +05:30
Deepesh Garg
b7fbf75e10 fix: e-Way bill JSON for Intra-state internal transfers 2022-10-01 15:58:31 +05:30
Dany Robert
6dabfbedf1 Merge branch 'version-13-hotfix' into cst-ux-improvement 2022-10-01 14:19:31 +05:30
Dany Robert
68c592377b chore: pre-commit 2022-09-30 23:41:01 -07:00
Deepesh Garg
d69d2217f6 Merge pull request #32431 from frappe/mergify/bp/version-13-hotfix/pr-32402
fix: Item details fetching on making transaction from item dashboard (backport #32402)
2022-10-01 12:05:26 +05:30
mergify[bot]
cdc8297083 fix: typo in sales_register's filter mode_of_payment (backport #32371) (#32447)
fix: typo in sales_register's filter mode_of_payment (#32371)
2022-10-01 12:04:40 +05:30
Dany Robert
f24f71f387 Merge branch 'version-13-hotfix' into cst-ux-improvement 2022-10-01 12:03:05 +05:30
Dany Robert
552c5951bd feat: cst ux improvement 2022-09-30 23:25:55 -07:00
Deepesh Garg
562025eb45 Merge branch 'version-13-hotfix' into fix-payment-reconciliation-jv-cost-center 2022-10-01 11:10:21 +05:30
Deepesh Garg
f0a37f545a chore: resolve conflicts 2022-10-01 11:02:40 +05:30
Deepesh Garg
001afb96ba Merge pull request #32435 from frappe/mergify/bp/version-13-hotfix/pr-32412
fix: Incorrect TCS amount deducted in Sales Invoice (backport #32412)
2022-10-01 11:01:05 +05:30
Deepesh Garg
61d3370527 chore: Remove print statements
(cherry picked from commit bff3cd9068)
2022-09-30 10:36:20 +00:00
Deepesh Garg
32456bff30 fix: Incorrect TCS amount deducted in Sales Invoice
(cherry picked from commit 08443c6421)
2022-09-30 10:36:20 +00:00
Deepesh Garg
1aed76f778 fix: Item details fetching on making transaction from item dashboard
(cherry picked from commit 0439e41a44)

# Conflicts:
#	erpnext/stock/doctype/item/item.js
2022-09-30 10:27:36 +00:00
anandbaburajan
308c400c6a chore: make linter happy 2022-09-30 15:33:34 +05:30
anandbaburajan
a9546dd01f fix: mark attendance issue with relieving date 2022-09-30 15:27:03 +05:30
anandbaburajan
cb4fbd5432 fix: future attendance marking 2022-09-30 14:48:30 +05:30
anandbaburajan
6f8d62088e fix: mark attendance issue with joining date 2022-09-30 14:46:57 +05:30
Anand Baburajan
5d66646fcd Merge branch 'version-13-hotfix' into fix_asset_sold_status_v13 2022-09-29 22:49:10 +05:30
Sagar Sharma
6a58d15497 Merge pull request #32419 from frappe/mergify/bp/version-13-hotfix/pr-32404
fix(ux): show `Make Purchase Invoice` button based on permission (backport #32404)
2022-09-29 17:16:15 +05:30
anandbaburajan
6b21deedae chore: refactor by just using a filter 2022-09-29 15:37:04 +05:30
Sagar Sharma
7124328640 fix: show Make Purchase Invoice button based on permission
(cherry picked from commit 80080a3d7b)
2022-09-29 09:27:03 +00:00
anandbaburajan
430a4c98a0 chore: refactor by creating is_sold 2022-09-29 08:59:49 +05:30
Anand Baburajan
c65fb64578 Merge branch 'version-13-hotfix' into fix_asset_sold_status_v13 2022-09-28 21:36:48 +05:30
anandbaburajan
14ab9d9158 fix: asset requiring maintenance sold status 2022-09-28 21:25:42 +05:30
Deepesh Garg
1095052479 Merge pull request #32410 from frappe/mergify/bp/version-13-hotfix/pr-32403
fix: Disbursement Account in patch to update old loans (backport #32403)
2022-09-28 20:13:45 +05:30
Deepesh Garg
b4a511cbb4 fix: Disbursement Account in patch to update old loans
(cherry picked from commit be623ce8e8)
2022-09-28 14:06:42 +00:00
Frappe PR Bot
a77388d520 chore(release): Bumped to Version 13.39.2
## [13.39.2](https://github.com/frappe/erpnext/compare/v13.39.1...v13.39.2) (2022-09-28)

### Bug Fixes

* `For Quantity` error msg in `Stock Entry` ([a194d28](a194d28b69))
* Add return against indexes for POS Invoice ([9e8e7aa](9e8e7aab70))
* Add return against indexes for POS Invoice ([6c528d4](6c528d469d))
* allow to return expired batches using purchase return ([02468a9](02468a902f))
* consider overproduction percentage for WO finish button ([ed4ac10](ed4ac100ba))
* difference amount calculation on payment reconciliation ([d68cdb4](d68cdb4f5e))
* don't count half day in absent days in Monthly Attendance Sheet summarized view ([#32399](https://github.com/frappe/erpnext/issues/32399)) ([255aa7a](255aa7a84a))
* **e-invoicing:** local variable 'res' referenced before assignment ([#32352](https://github.com/frappe/erpnext/issues/32352)) ([8f961ab](8f961abe8b))
* get amount in words for debit note ([0cd1cac](0cd1cacc29))
* GST Itemised Sales Register GSTIN filter ([#32367](https://github.com/frappe/erpnext/issues/32367)) ([988c5b9](988c5b95e6))
* item_code key error in production plan ([638d5e9](638d5e9dc3))
* Move subscription process to hourly long quque ([447c553](447c553954))
* opening entry causing discepancy between stock and trial balance ([70c68f0](70c68f011a))
* POS only validate QTY if is_stock_item ([ac8100f](ac8100f1e5))
* POS properly validate stock for bundle products ([96fa14b](96fa14be88))
* Reduce font size for Process Statement of accounts print/pdf ([1cfeb93](1cfeb9371c))
* remove no_copy for ignore_pricing_rule ([8abfdb6](8abfdb6598))
* total value in all keys ([80d046a](80d046a38c))
2022-09-28 10:10:58 +00:00
Deepesh Garg
eda6076a43 Merge pull request #32374 from frappe/version-13-hotfix
chore: release v13
2022-09-28 15:39:01 +05:30
Deepesh Garg
0b2405bbdf Merge pull request #32395 from frappe/mergify/bp/version-13-hotfix/pr-32379
fix: POS only validate QTY if is_stock_item (backport #32379)
2022-09-28 15:12:47 +05:30
Rucha Mahabal
255aa7a84a fix: don't count half day in absent days in Monthly Attendance Sheet summarized view (#32399) 2022-09-28 15:02:21 +05:30
Deepesh Garg
a604eed1b9 chore: Resolve conflicts 2022-09-28 14:49:25 +05:30
Maharshi Patel
96fa14be88 fix: POS properly validate stock for bundle products
Stock availability was not calculated properly for Product Bundle with non stock item so i have added logic to properly calculate that as well.

(cherry picked from commit e392ea1104)

# Conflicts:
#	erpnext/selling/page/point_of_sale/pos_item_details.js
2022-09-28 08:16:02 +00:00
Maharshi Patel
ac8100f1e5 fix: POS only validate QTY if is_stock_item
POS invoice raised " Item not available " validation error even though item is non_stock.

(cherry picked from commit e39e088f18)
2022-09-28 08:16:00 +00:00
Deepesh Garg
07cc05785e Merge pull request #32386 from frappe/mergify/bp/version-13-hotfix/pr-32382
fix: Move subscription process to hourly long queue (backport #32382)
2022-09-28 10:39:08 +05:30
Deepesh Garg
f03fbc0e6d chore: Resolve conflicts 2022-09-28 08:10:37 +05:30
Deepesh Garg
447c553954 fix: Move subscription process to hourly long quque
(cherry picked from commit 82a2f31ada)

# Conflicts:
#	erpnext/hooks.py
2022-09-27 18:09:32 +00:00
Deepesh Garg
b2e9dccc8c Merge pull request #32384 from frappe/mergify/bp/version-13-hotfix/pr-32378
fix: Add return against indexes for POS Invoice (backport #32378)
2022-09-27 23:34:50 +05:30
Deepesh Garg
9e8e7aab70 fix: Add return against indexes for POS Invoice
(cherry picked from commit cbfe28286a)
2022-09-27 16:52:59 +00:00
Deepesh Garg
6c528d469d fix: Add return against indexes for POS Invoice
(cherry picked from commit 1f6205e1ea)
2022-09-27 16:52:59 +00:00
Maharshi Patel
988c5b95e6 fix: GST Itemised Sales Register GSTIN filter (#32367)
fix: GST Itemised Sales Register GSTIN filte
2022-09-27 22:21:14 +05:30
Sagar Sharma
1f2887d601 Merge pull request #32381 from frappe/mergify/bp/version-13-hotfix/pr-32377
fix: consider overproduction percentage for WO finish button (backport #32377)
2022-09-27 18:51:37 +05:30
Sagar Sharma
ed4ac100ba fix: consider overproduction percentage for WO finish button
(cherry picked from commit 05392e0918)
2022-09-27 12:15:43 +00:00
Sagar Sharma
a194d28b69 fix: For Quantity error msg in Stock Entry
(cherry picked from commit 9049db41ae)
2022-09-27 12:15:42 +00:00
rohitwaghchaure
3217924242 Merge pull request #32373 from frappe/mergify/bp/version-13-hotfix/pr-32370
fix: Not allowing to return expired batches using purchase return (backport #32370)
2022-09-27 14:44:30 +05:30
Rohit Waghchaure
02468a902f fix: allow to return expired batches using purchase return
(cherry picked from commit a4a86ee23f)
2022-09-27 08:51:26 +00:00
Maharshi Patel
a13eecc961 fix: SEZ Without Payment of Tax don't add tax rows
taxes were added even when gst_category was SEZ and export_type was Without Payment of Tax
2022-09-27 13:40:04 +05:30
rohitwaghchaure
776ee53a25 Merge pull request #32358 from frappe/mergify/bp/version-13-hotfix/pr-32346
refactor: rewrite `Item Price Stock Report` queries in `QB` (backport #32346)
2022-09-27 10:44:05 +05:30
rohitwaghchaure
ddf5565c67 Merge pull request #32366 from frappe/mergify/bp/version-13-hotfix/pr-32339
fix: opening entry causing discrepancy between stock and trial balance (backport #32339)
2022-09-27 09:57:01 +05:30
Maharshi Patel
4152a9f026 Merge branch 'version-13-hotfix' into fix-payment-reconciliation-jv-cost-center 2022-09-26 23:03:39 +05:30
Saqib Ansari
8f961abe8b fix(e-invoicing): local variable 'res' referenced before assignment (#32352) 2022-09-26 22:42:07 +05:30
Rohit Waghchaure
70c68f011a fix: opening entry causing discepancy between stock and trial balance
(cherry picked from commit bc3ab45af2)
2022-09-26 15:03:48 +00:00
Sagar Sharma
9066009e89 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32346 2022-09-26 18:18:41 +05:30
Sagar Sharma
9332e7f96f Merge pull request #32360 from frappe/mergify/bp/version-13-hotfix/pr-32347
refactor: rewrite `Incorrect Stock Value Report` queries in `QB` (backport #32347)
2022-09-26 18:18:01 +05:30
Sagar Sharma
d6a335e59f refactor: rewrite Incorrect Stock Value Report queries in QB
(cherry picked from commit b93331e844)
2022-09-26 11:40:21 +00:00
Sagar Sharma
a66002f774 refactor: rewrite Item Price Stock Report queries in QB
(cherry picked from commit 22299d2382)
2022-09-26 11:39:24 +00:00
ruthra kumar
6eb3428f8e Merge pull request #32348 from frappe/mergify/bp/version-13-hotfix/pr-32303
fix: difference amount calculation and popup on payment reconciliation (backport #32303)
2022-09-26 14:18:09 +05:30
ruthra kumar
d158784472 Merge pull request #32350 from frappe/mergify/bp/version-13-hotfix/pr-32310
fix: total value in all keys (backport #32310)
2022-09-26 12:05:04 +05:30
nishibakabeer
80d046a38c fix: total value in all keys
Gross and net profit report showing wrong values in monthly quarterly and half yearly filters which is the total value
@ruthra-kumar added in develop branch as suggested ( https://github.com/frappe/erpnext/pull/32020)

(cherry picked from commit 6919f389aa)
2022-09-26 06:03:15 +00:00
ruthra kumar
d68cdb4f5e fix: difference amount calculation on payment reconciliation
(cherry picked from commit 122d5f2729)
2022-09-26 10:36:08 +05:30
Maharshi Patel
9f988910b5 fix: payment reconciliation tool consider cost_center for JV
We need to consider cost center in all four cases of get_conditions. I have removed check in if statement for get_invoices, get_payments, get_return_invoices as it is not required.
2022-09-25 23:24:59 +05:30
Deepesh Garg
09cd480c81 Merge pull request #32333 from frappe/mergify/bp/version-13-hotfix/pr-32117
fix: Reduce font size for Process Statement of accounts print/pdf (backport #32117)
2022-09-25 17:20:57 +05:30
Sagar Sharma
4777991a74 Merge pull request #32338 from frappe/mergify/bp/version-13-hotfix/pr-32324
refactor: rewrite `Production Planning Report` queries in `QB` (backport #32324)
2022-09-23 10:38:20 +05:30
Sagar Sharma
1301a6ff7f refactor: rewrite Production Planning Report queries in QB
(cherry picked from commit 8417b9b99c)
2022-09-23 04:20:42 +00:00
Sagar Sharma
a6a5f63af2 Merge pull request #32328 from s-aga-r/backport/v13-h/32309
fix: item_code key error in production plan (backport #32309)
2022-09-23 09:48:25 +05:30
Deepesh Garg
1cfeb9371c fix: Reduce font size for Process Statement of accounts print/pdf
(cherry picked from commit 6bfd193b0d)
2022-09-22 19:38:55 +00:00
Rohit Waghchaure
638d5e9dc3 fix: item_code key error in production plan 2022-09-22 18:09:12 +05:30
Sagar Sharma
b4ee72e15e Merge pull request #32316 from s-aga-r/backport/v13-h/32304
refactor: rewrite `Exponential Smoothing Forecasting` queries in `QB` (backport #32304)
2022-09-22 11:16:22 +05:30
Sagar Sharma
2a9b519773 Merge branch 'version-13-hotfix' into backport/v13-h/32304 2022-09-22 01:32:20 +05:30
Sagar Sharma
57136fa921 Merge pull request #32315 from s-aga-r/backport/v13-h/32153
refactor: rewrite Work Order Stock Report queries in QB (backport #32153)
2022-09-22 01:31:18 +05:30
Sagar Sharma
882542c2d5 Merge branch 'version-13-hotfix' into backport/v13-h/32153 2022-09-22 01:31:04 +05:30
Sagar Sharma
0a4025e7e0 Merge pull request #32314 from s-aga-r/backport/v13-h/32161
refactor: rewrite Process Loss Report queries in QB (backport #32161)
2022-09-22 01:30:40 +05:30
Sagar Sharma
54dfd50391 refactor: rewrite Exponential Smoothing Forecasting queries in QB 2022-09-21 21:27:04 +05:30
Sagar Sharma
45d02ceb4e refactor: rewrite Work Order Stock Report queries in QB 2022-09-21 21:20:03 +05:30
Sagar Sharma
f72bb18da7 refactor: rewrite Process Loss Report queries in QB 2022-09-21 21:13:10 +05:30
Deepesh Garg
f371008cd9 Merge pull request #32293 from frappe/mergify/bp/version-13-hotfix/pr-32284
fix: remove no_copy for ignore_pricing_rule (backport #32284)
2022-09-21 16:41:25 +05:30
Deepesh Garg
82e5a784cb Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32284 2022-09-21 13:08:41 +05:30
Deepesh Garg
d267372334 Merge pull request #32299 from frappe/mergify/bp/version-13-hotfix/pr-32296
fix: get amount in words for debit note (backport #32296)
2022-09-21 13:07:39 +05:30
Sagar Sharma
92c7d074dd Merge pull request #32307 from s-aga-r/backport/13/refactor/report/exponential-smoothing-forecasting
refactor: rewrite `BOM Variance Report` queries in `QB` (backport #32297)
2022-09-21 12:42:10 +05:30
Sagar Sharma
cedc8d28e4 refactor: rewrite BOM Variance Report queries in QB 2022-09-21 12:13:05 +05:30
Frappe PR Bot
be4fdca6c7 chore(release): Bumped to Version 13.39.1
## [13.39.1](https://github.com/frappe/erpnext/compare/v13.39.0...v13.39.1) (2022-09-20)

### Bug Fixes

* Add child table for tax withheld vouchers ([4165fee](4165fee6a7))
* Change Department fieldtype to Link in Leave Balance Report ([#32252](https://github.com/frappe/erpnext/issues/32252)) ([e2e69dc](e2e69dced7))
* dont show zero qty available items in stock ageing report ([37dbc70](37dbc7043a))
* fetch description only if empty on the payment schedule ([07a7fdb](07a7fdbe6c))
* Fetch vouchers to show in Invoice ([51d7c0b](51d7c0bfe4))
* incorrect gl if tax on multi currency payment entry ([d9d6a07](d9d6a07bbb))
* item wise sales register taxes and charges ([e65990e](e65990eb34))
* make `po_detail` or `sco_rm_detail` mandatory for SE `Send to Subcontractor` ([0329642](0329642116))
* Parent Level project linkning on creating PO from project ([3c3e3cf](3c3e3cfcf8))
* pending accrual entries ([ef86b43](ef86b437cb))
* production plan pending-qty ([2dcb35d](2dcb35da33))
* remove return pos from pos reconciliation tool ([e9bf74e](e9bf74e589))
* TDS deduction via journal entry ([ca0cce7](ca0cce7599))
* use default supplier currency if default supplier is enabled ([3c10e50](3c10e5066a))
* warehouse filter in `BOM Stock Calculated Report` ([96bf1e2](96bf1e2a0a))
2022-09-20 19:12:47 +00:00
Deepesh Garg
2694438163 Merge pull request #32291 from frappe/version-13-hotfix
chore: release v13
2022-09-21 00:41:03 +05:30
Deepesh Garg
d0bd78ddcd Merge pull request #32289 from frappe/mergify/bp/version-13-hotfix/pr-32204
fix(UX): More predictable tax withholding application in invoices (backport #32204)
2022-09-21 00:11:37 +05:30
Deepesh Garg
e2912caeae chore: Handle edge cases 2022-09-20 23:50:16 +05:30
Sagar Sharma
6f9c2e6c80 Merge pull request #32302 from frappe/mergify/bp/version-13-hotfix/pr-32295
refactor: rewrite `BOM Stock Report` queries in `QB` (backport #32295)
2022-09-20 23:10:19 +05:30
Sagar Sharma
96bf1e2a0a fix: warehouse filter in BOM Stock Calculated Report
(cherry picked from commit 390ce5719d)
2022-09-20 17:37:41 +00:00
Sagar Sharma
1f633b293d refactor: rewrite BOM Stock Report queries in QB
(cherry picked from commit 8fd7c04920)
2022-09-20 17:37:40 +00:00
ruthra kumar
0cd1cacc29 fix: get amount in words for debit note
(cherry picked from commit 70f6484d9d)
2022-09-20 12:43:45 +00:00
Deepesh Garg
21154c8bee chore: fix tests 2022-09-20 17:52:37 +05:30
ruthra kumar
9270e58969 Merge pull request #32277 from frappe/remove_return_pos_from_reconciliation_tool
fix: remove return pos from pos reconciliation tool
2022-09-20 17:20:25 +05:30
Deepesh Garg
de8f44bbff chore: Resolve conflicts 2022-09-20 16:42:30 +05:30
ruthra kumar
e9bf74e589 fix: remove return pos from pos reconciliation tool 2022-09-20 16:41:28 +05:30
Maharshi Patel
8abfdb6598 fix: remove no_copy for ignore_pricing_rule
(cherry picked from commit 8c5b420aea)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#	erpnext/buying/doctype/purchase_order/purchase_order.json
#	erpnext/selling/doctype/quotation/quotation.json
#	erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
2022-09-20 10:49:59 +00:00
Nabin Hait
305693b562 Merge pull request #32281 from maharshivpatel/fix-item-wise-sales-register-v13
fix: item wise sales register taxes and charges
2022-09-20 14:56:23 +05:30
Deepesh Garg
794eeebabc chore: resolve conflicts 2022-09-20 14:48:06 +05:30
Deepesh Garg
75768d780f Merge pull request #32282 from frappe/mergify/bp/version-13-hotfix/pr-32217
fix: incorrect gl if tax on multi currency payment entry (backport #32217)
2022-09-20 14:39:37 +05:30
Deepesh Garg
fe252b48f7 chore: fix tests
(cherry picked from commit 9aa1f84d45)
2022-09-20 09:07:06 +00:00
Deepesh Garg
ca0cce7599 fix: TDS deduction via journal entry
(cherry picked from commit 36d0906ea2)
2022-09-20 09:07:05 +00:00
Deepesh Garg
e07fd46a46 test: Add tests
(cherry picked from commit b6184ce471)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
2022-09-20 09:07:04 +00:00
Deepesh Garg
51d7c0bfe4 fix: Fetch vouchers to show in Invoice
(cherry picked from commit 3fb1595a4e)
2022-09-20 09:07:03 +00:00
Deepesh Garg
4165fee6a7 fix: Add child table for tax withheld vouchers
(cherry picked from commit 246c1a9380)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
2022-09-20 09:07:02 +00:00
Deepesh Garg
d251ef9ce5 Merge pull request #32279 from frappe/mergify/bp/version-13-hotfix/pr-32235
fix: fetch description only if empty on the payment schedule (backport #32235)
2022-09-20 14:35:35 +05:30
Sagar Sharma
afda4bdb17 Merge pull request #32286 from frappe/mergify/bp/version-13-hotfix/pr-32280
refactor: rewrite `Item Shortage Report` queries in QB (backport #32280)
2022-09-20 11:43:41 +05:30
Sagar Sharma
c4452360da test: add test cases for Item Shortage Report
(cherry picked from commit 3dc754cac2)
2022-09-20 05:45:29 +00:00
Sagar Sharma
13527d6154 refactor: rewrite Item Shortage Report queries in QB
(cherry picked from commit f0a78aa559)
2022-09-20 05:45:28 +00:00
ruthra kumar
5c0a46110e test: gl entries of payments with advance tax
(cherry picked from commit 5bd5dd7262)
2022-09-20 11:09:37 +05:30
ruthra kumar
d9d6a07bbb fix: incorrect gl if tax on multi currency payment entry
(cherry picked from commit f0ae77b23b)
2022-09-20 04:30:42 +00:00
Maharshi Patel
e65990eb34 fix: item wise sales register taxes and charges
I have added a separate column for other charges. Instead of adding all values to tax_total, it checks if account_type is tax, and then only it adds to total_tax otherwise it adds to the total_other_charges.
2022-09-20 09:47:47 +05:30
Maharshi Patel
07a7fdbe6c fix: fetch description only if empty on the payment schedule
added fetch_if_empty on description field of payment_schedule.

(cherry picked from commit f4b64686ae)
2022-09-20 03:44:50 +00:00
Sagar Sharma
2fca8b541e Merge pull request #32261 from frappe/mergify/bp/version-13-hotfix/pr-32250
fix: make `po_detail` or `sco_rm_detail` mandatory for SE Send to Subcontractor (backport #32250)
2022-09-19 19:53:57 +05:30
Sagar Sharma
7fc460bb32 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32250 2022-09-19 19:22:31 +05:30
Solufyin
e2e69dced7 fix: Change Department fieldtype to Link in Leave Balance Report (#32252)
Co-authored-by: Nihantra C. Patel <n.patel.serpentcs@gmail.com>
2022-09-19 15:42:05 +05:30
Deepesh Garg
5e49b6ea0f Merge pull request #32269 from frappe/mergify/bp/version-13-hotfix/pr-32251
fix: use default supplier currency if default supplier is enabled (backport #32251)
2022-09-19 15:20:44 +05:30
Ritwik Puri
2e3445fad9 chore: patch for removing stale values in Naming Series (#32271) 2022-09-19 13:35:08 +05:30
ruthra kumar
3c10e5066a fix: use default supplier currency if default supplier is enabled
(cherry picked from commit 77fdc37cb7)
2022-09-19 07:32:58 +00:00
Sagar Sharma
e8d2e49155 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32250 2022-09-18 20:30:21 +05:30
Deepesh Garg
5690e9771a Merge pull request #32256 from frappe/mergify/bp/version-13-hotfix/pr-32244
fix: Parent Level project linkning on creating PO from project (backport #32244)
2022-09-18 19:41:57 +05:30
Sagar Sharma
ec6cac8043 chore: conflicts 2022-09-18 16:38:09 +05:30
Sagar Sharma
0329642116 fix: make po_detail or sco_rm_detail mandatory for SE Send to Subcontractor
(cherry picked from commit b90875575c)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/stock_entry.py
2022-09-18 09:25:10 +00:00
Deepesh Garg
3c3e3cfcf8 fix: Parent Level project linkning on creating PO from project
(cherry picked from commit 93e134aab0)
2022-09-17 15:00:56 +00:00
Sagar Sharma
7c4f5fa5c5 Merge pull request #32241 from frappe/mergify/bp/version-13-hotfix/pr-32236
fix: production plan pending-qty (backport #32236)
2022-09-16 20:43:28 +05:30
Sagar Sharma
367e05f808 test: update test case for production plan pending-qty
(cherry picked from commit bd6af7c613)
2022-09-16 13:00:59 +00:00
Sagar Sharma
2dcb35da33 fix: production plan pending-qty
(cherry picked from commit 5be7d42dfd)
2022-09-16 13:00:58 +00:00
Sagar Sharma
94732479f5 Merge pull request #32237 from frappe/mergify/bp/version-13-hotfix/pr-32233
refactor: rewrite Production Plan queries in QB (backport #32233)
2022-09-16 17:35:38 +05:30
Sagar Sharma
b4dec4630d chore: conflicts 2022-09-16 17:08:35 +05:30
Sagar Sharma
c415a47d25 refactor: rewrite Production Plan queries in QB
(cherry picked from commit b8cf3b4c77)

# Conflicts:
#	erpnext/manufacturing/doctype/production_plan/production_plan.py
2022-09-16 09:30:11 +00:00
rohitwaghchaure
1e0cc65c61 Merge pull request #32220 from frappe/mergify/bp/version-13-hotfix/pr-31681
fix: dont show zero qty available items in stock ageing report (backport #31681)
2022-09-15 12:39:22 +05:30
Rohit Waghchaure
37dbc7043a fix: dont show zero qty available items in stock ageing report
(cherry picked from commit 5da7e01db2)
2022-09-15 06:01:10 +00:00
Deepesh Garg
0e88496607 Merge pull request #32209 from frappe/mergify/bp/version-13-hotfix/pr-32208
fix: Loans pending accrual entries (backport #32208)
2022-09-14 15:34:10 +05:30
Abhinav Raut
ef86b437cb fix: pending accrual entries
(cherry picked from commit f2209045f8)
2022-09-14 08:45:27 +00:00
Frappe PR Bot
47aa191004 chore(release): Bumped to Version 13.39.0
# [13.39.0](https://github.com/frappe/erpnext/compare/v13.38.0...v13.39.0) (2022-09-13)

### Bug Fixes

* add missing warehouse filter in BOM Stock Calculated report ([ab32c09](ab32c09ff9))
* calculate amount based on payment days for statistical components too ([3f99522](3f99522764))
* conflict ([6f2a567](6f2a567c95))
* linter ([e177f1e](e177f1e51b))
* Loan amount post write off ([e78a767](e78a7679a4))
* option to start reposting from repost item valuation ([a1826f2](a1826f215a))
* pick_list - picked qty getting set to 1 ([3256e2b](3256e2b8b7))
* Purchase Order creation from Sales Order ([d79aacd](d79aacd1cb))
* Rate for internal PI have non stock UOM items ([638d6b7](638d6b7177))
* reposting not working for internal transferred purchase receipt ([bb41d8b](bb41d8bc47))
* require barcode item barcode ([#32112](https://github.com/frappe/erpnext/issues/32112)) ([44c3a32](44c3a322d3)), closes [#31957](https://github.com/frappe/erpnext/issues/31957)
* required_qty in BOM Stock Calculated report ([f2e63bc](f2e63bc491))
* **Salary Slip:** set default amount to 0 if None ([#32184](https://github.com/frappe/erpnext/issues/32184)) ([d29a033](d29a033c09))

### Features

* Ability to manually update loan amount in Salary Slips ([ac320e4](ac320e4d55))
2022-09-13 11:15:15 +00:00
Deepesh Garg
5840913320 Merge pull request #32200 from frappe/version-13-hotfix
chore: release v13
2022-09-13 16:43:21 +05:30
Deepesh Garg
b7b0076743 Merge pull request #32194 from deepeshgarg007/loan_amount_post_write_off
fix: Loan amount post write off
2022-09-13 13:41:21 +05:30
Deepesh Garg
ef5dd1d693 Merge pull request #32165 from frappe/mergify/bp/version-13-hotfix/pr-32144
fix: Rate for internal PI have non stock UOM items (backport #32144)
2022-09-13 12:02:12 +05:30
Deepesh Garg
a53b40ba93 chore: Remove print 2022-09-13 12:00:06 +05:30
Deepesh Garg
e78a7679a4 fix: Loan amount post write off 2022-09-13 11:53:11 +05:30
Deepesh Garg
6a5beecb36 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-32144 2022-09-13 09:39:37 +05:30
Rucha Mahabal
2b900e2f0e Merge pull request #32187 from ruchamahabal/stat-comp-pd
fix: calculate amount based on payment days for statistical components too
2022-09-13 02:09:39 +05:30
Rucha Mahabal
bc14dbbcad refactor(tests): add a test utility file for commonly used functions in tests 2022-09-13 01:42:27 +05:30
Rucha Mahabal
f4e53a5c91 test: statistical component based on payment days 2022-09-13 00:59:59 +05:30
Rucha Mahabal
3f99522764 fix: calculate amount based on payment days for statistical components too 2022-09-13 00:59:03 +05:30
Sagar Sharma
81dd9722fe Merge pull request #32179 from Havenir/fix-picklist-picked-qty
fix: pick_list - picked qty getting set to 1
2022-09-12 22:19:26 +05:30
Sagar Sharma
9c5d335360 Merge pull request #32186 from frappe/mergify/bp/version-13-hotfix/pr-32150
refactor: BOM Stock Calculated report, fix required-qty (backport #32150)
2022-09-12 19:48:38 +05:30
Sagar Sharma
c5c28615f5 test: add test cases for BOM Stock Calculated report
(cherry picked from commit e1a98c1ff7)
2022-09-12 13:52:31 +00:00
Sagar Sharma
ab32c09ff9 fix: add missing warehouse filter in BOM Stock Calculated report
(cherry picked from commit 7a968a5f0d)
2022-09-12 13:52:30 +00:00
Sagar Sharma
f2e63bc491 fix: required_qty in BOM Stock Calculated report
(cherry picked from commit 56192daabf)
2022-09-12 13:52:30 +00:00
Sagar Sharma
882aa96973 refactor: BOM Stock Calculated report
(cherry picked from commit 723fa9eebc)
2022-09-12 13:52:29 +00:00
Rucha Mahabal
d29a033c09 fix(Salary Slip): set default amount to 0 if None (#32184) 2022-09-12 19:21:58 +05:30
Deepesh Garg
b3125a56ed Merge pull request #32178 from deepeshgarg007/manual_update_loan_amount
feat: Ability to manually update loan amount in Salary Slips
2022-09-12 17:41:02 +05:30
rohitwaghchaure
adfc57487b Merge pull request #32167 from frappe/mergify/bp/version-13-hotfix/pr-32118
fix: option to start reposting from repost item valuation (backport #32118)
2022-09-12 16:16:26 +05:30
Deepesh Garg
ac320e4d55 feat: Ability to manually update loan amount in Salary Slips 2022-09-12 15:05:42 +05:30
Ahmad
3256e2b8b7 fix: pick_list - picked qty getting set to 1 2022-09-12 14:23:44 +05:00
mergify[bot]
b4ec4ccc56 chore: correct license text for GPLv3 (backport #32170) (#32172)
* chore: correct license text for GPLv3 (#32170)

[skip ci]



Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-09-12 14:00:14 +05:30
Rohit Waghchaure
a1826f215a fix: option to start reposting from repost item valuation
(cherry picked from commit f1c4aea7b5)
2022-09-12 06:44:59 +00:00
Deepesh Garg
181c0acf99 Merge pull request #32127 from SolufyPrivateLimited/Solufy-so-to-po-v13
fix: Purchase Order creation from Sales Order
2022-09-12 09:25:24 +05:30
Deepesh Garg
638d6b7177 fix: Rate for internal PI have non stock UOM items
(cherry picked from commit 0f655e4430)
2022-09-12 03:40:23 +00:00
rohitwaghchaure
f5132411eb Merge pull request #32152 from frappe/mergify/bp/version-13-hotfix/pr-32135
fix: reposting not working for internal transferred purchase receipt (backport #32135)
2022-09-10 23:29:56 +05:30
rohitwaghchaure
e177f1e51b fix: linter 2022-09-10 23:01:48 +05:30
rohitwaghchaure
6f2a567c95 fix: conflict 2022-09-10 16:41:39 +05:30
Rohit Waghchaure
bb41d8bc47 fix: reposting not working for internal transferred purchase receipt
(cherry picked from commit a03b4ce213)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
2022-09-09 17:13:21 +00:00
Nihantra C. Patel
d79aacd1cb fix: Purchase Order creation from Sales Order 2022-09-08 13:51:11 +05:30
Sagar Sharma
44c3a322d3 fix: require barcode item barcode (#32112)
fix: require barcode item barcode. (#31957)

* fix: require barcode item barcode.

* fix: make supplier mandatory in Item Supplier DocType

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>

Co-authored-by: Devin Slauenwhite <devin.slauenwhite@gmail.com>
2022-09-07 14:24:53 +05:30
Frappe PR Bot
2af489d69d chore(release): Bumped to Version 13.38.0
# [13.38.0](https://github.com/frappe/erpnext/compare/v13.37.0...v13.38.0) (2022-09-06)

### Bug Fixes

* consider Stock Entry purpose while getting total supplied qty ([8964612](8964612b8e))
* force delete old report docs (backport [#32026](https://github.com/frappe/erpnext/issues/32026)) ([#32028](https://github.com/frappe/erpnext/issues/32028)) ([0f1f67d](0f1f67dcae))
* incorrect import parameter for cancel PDA ([814dd36](814dd36a3e))
* key error on consolidated financial report ([20919c8](20919c8626))
* KSA VAT report multi currency amount issue ([56d8962](56d8962e40))
* Loan Interest accruals for 0 rated loans ([a369852](a3698524ca))
* lost quotation not to expired ([ea995de](ea995de4a3))
* Naming series in Journal Entry Template ([66cb3fd](66cb3fd63f))
* **pos:** error while consolidating pos invoices ([0527393](0527393b09))
* QR Code multi currency issue ([b10a2b8](b10a2b87b6))

### Features

* better Item Price list view ([#31954](https://github.com/frappe/erpnext/issues/31954)) ([25d2847](25d2847881))
2022-09-06 16:05:26 +00:00
Deepesh Garg
bb1c450c33 Merge pull request #32104 from frappe/version-13-hotfix
chore: release v13
2022-09-06 21:33:13 +05:30
Sagar Sharma
5707118d58 Merge pull request #32099 from s-aga-r/fix/stock-entry/send-to-subcontractor
fix: consider Stock Entry purpose while getting total supplied qty
2022-09-06 15:49:38 +05:30
Sagar Sharma
8964612b8e fix: consider Stock Entry purpose while getting total supplied qty 2022-09-06 13:04:03 +05:30
Deepesh Garg
514d280ee7 Merge pull request #32086 from Havenir/qr_code_multi_currency_issue
fix: QR Code multi currency issue
2022-09-05 12:42:43 +05:30
hamzaali15
b10a2b87b6 fix: QR Code multi currency issue
When try to scan qr code on app it is showing correct values for multi currencies because it is not getting base amount
2022-09-05 11:15:43 +05:00
Deepesh Garg
3664a12bb9 Merge pull request #32078 from frappe/mergify/bp/version-13-hotfix/pr-31954
feat: better Item Price list view (backport #31954)
2022-09-04 18:15:13 +05:30
Deepesh Garg
0605cbf26b Merge pull request #32076 from frappe/mergify/bp/version-13-hotfix/pr-32045
fix: Naming series in Journal Entry Template (backport #32045)
2022-09-04 18:14:40 +05:30
HENRY Florian
25d2847881 feat: better Item Price list view (#31954)
* feat: better Item Price list view

(cherry picked from commit 86395c6adb)
2022-09-04 12:38:43 +00:00
Solufyin
66cb3fd63f fix: Naming series in Journal Entry Template
(cherry picked from commit 2085626390)
2022-09-04 11:04:44 +00:00
Deepesh Garg
d22104ad40 Merge pull request #32072 from frappe/mergify/bp/version-13-hotfix/pr-31822
fix(pos): error while consolidating pos invoices (backport #31822)
2022-09-04 15:57:37 +05:30
Saqib Ansari
0527393b09 fix(pos): error while consolidating pos invoices
(cherry picked from commit 33762dbbac)
2022-09-04 07:56:06 +00:00
Deepesh Garg
741d6fcb9a Merge pull request #32053 from Havenir/version-13-hotfix
fix: KSA VAT report multi currency amount issue
2022-09-04 13:12:21 +05:30
ruthra kumar
1870dbf9a8 Merge pull request #32059 from frappe/mergify/bp/version-13-hotfix/pr-32054
fix: type error on cancellation of Process Deferred Accounting (backport #32054)
2022-09-02 17:10:01 +05:30
ruthra kumar
69a9724422 test: pda document submission and cancellation
(cherry picked from commit 1c385541fa)
2022-09-02 11:15:13 +00:00
ruthra kumar
814dd36a3e fix: incorrect import parameter for cancel PDA
(cherry picked from commit 08f2e4edc3)
2022-09-02 11:15:12 +00:00
ruthra kumar
17ad96998e Merge pull request #32057 from frappe/mergify/bp/version-13-hotfix/pr-32052
fix: key error on consolidated financial report (backport #32052)
2022-09-02 16:41:56 +05:30
ruthra kumar
20919c8626 fix: key error on consolidated financial report
accounts with same name but different account number will throw key
error on consolidated report

(cherry picked from commit 6e8395cccd)
2022-09-02 10:46:23 +00:00
hamzaali15
56d8962e40 fix: KSA VAT report multi currency amount issue
In KSA VAT report amount is not showing correctly for multi currencies because net_amount field is fetched instead of base_net_amount
2022-09-01 15:02:21 +05:00
Deepesh Garg
0a3ac82232 Merge pull request #32031 from frappe/mergify/bp/version-13-hotfix/pr-32030
fix: Loan Interest accruals for 0 rated loans (backport #32030)
2022-08-31 21:04:27 +05:30
Deepesh Garg
b736df3f0b Merge pull request #32036 from niyazrazak/patch-5
fix: lost quotation not to expired
2022-08-31 21:03:31 +05:30
MOHAMMED NIYAS
ea995de4a3 fix: lost quotation not to expired
code is merged in version-14 and conflict in version 13
2022-08-31 15:31:07 +05:30
Deepesh Garg
b7c94e38a6 chore: Add check for principal amount
(cherry picked from commit a76d3827ec)
2022-08-30 15:46:39 +00:00
Deepesh Garg
a3698524ca fix: Loan Interest accruals for 0 rated loans
(cherry picked from commit eefc9b7172)
2022-08-30 15:46:38 +00:00
mergify[bot]
0f1f67dcae fix: force delete old report docs (backport #32026) (#32028)
fix: force delete old report docs (#32026)

(cherry picked from commit ffa3071d36)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-08-30 15:45:47 +05:30
Frappe PR Bot
11b04acf8b chore(release): Bumped to Version 13.37.0
# [13.37.0](https://github.com/frappe/erpnext/compare/v13.36.5...v13.37.0) (2022-08-30)

### Bug Fixes

* Add docstatus filter for voucher_no in Repost Item Valuation ([2cf2885](2cf2885470))
* Cash and non trade discount calculation ([20e9599](20e9599fc1))
* do not clear promotion/transfer details if doc is amended ([#32000](https://github.com/frappe/erpnext/issues/32000)) ([074d484](074d484d3c))
* filter leave types and render leave application dashboard w/o from date ([#32001](https://github.com/frappe/erpnext/issues/32001)) ([7686c9e](7686c9e450))
* Loan Write-off for term loans ([e64e812](e64e812679))
* **minor:** don't print tax rate if its '0' ([#31838](https://github.com/frappe/erpnext/issues/31838)) ([a46dca5](a46dca57cb))
* permissions for Task Type ([#32016](https://github.com/frappe/erpnext/issues/32016)) ([1157bf8](1157bf887f))
* **pos:** edge case while closing pos (backport [#31748](https://github.com/frappe/erpnext/issues/31748)) ([#31893](https://github.com/frappe/erpnext/issues/31893)) ([261405c](261405cec1))
* Purposes not set ([edfaf99](edfaf99388))
* Route condition set for stock ledger (backport [#31935](https://github.com/frappe/erpnext/issues/31935)) ([#31946](https://github.com/frappe/erpnext/issues/31946)) ([34537c9](34537c9dc2))
* Set the condition to create a purchase receipt ([b4c992d](b4c992dd4d))
* Test cases ([7c85b48](7c85b487cd))

### Features

* In BOM,  Operation time can be fix (backport [#27063](https://github.com/frappe/erpnext/issues/27063)) ([#31923](https://github.com/frappe/erpnext/issues/31923)) ([c2b8d1b](c2b8d1bd9a))
2022-08-30 08:05:05 +00:00
Deepesh Garg
4c1156a816 Merge pull request #32023 from frappe/version-13-hotfix
chore: weekly version 13 release
2022-08-30 13:32:35 +05:30
Deepesh Garg
570729b73e Merge pull request #32024 from frappe/mergify/bp/version-13-hotfix/pr-31838
fix(minor): don't print tax rate if its '0' (backport #31838)
2022-08-30 13:32:16 +05:30
ruthra kumar
a46dca57cb fix(minor): don't print tax rate if its '0' (#31838)
(cherry picked from commit 3b4c0a3fc0)
2022-08-30 07:34:26 +00:00
Deepesh Garg
821c1cddfc Merge pull request #32011 from deepeshgarg007/loan_write_off_salary_slip
fix: Loan Write-off for term loans
2022-08-30 11:36:09 +05:30
Deepesh Garg
8217c6dd9f chore: Linting issues and test case fixes 2022-08-30 10:24:31 +05:30
Deepesh Garg
fc030a7de9 Merge pull request #32018 from frappe/mergify/bp/version-13-hotfix/pr-32016
fix: permissions for Task Type (backport #32016)
2022-08-30 08:38:25 +05:30
Raffael Meyer
1157bf887f fix: permissions for Task Type (#32016)
(cherry picked from commit 73f4d5931d)
2022-08-29 16:27:24 +00:00
Deepesh Garg
e64e812679 fix: Loan Write-off for term loans 2022-08-29 18:33:40 +05:30
Deepesh Garg
6025df97ef Merge pull request #31931 from frappe/mergify/bp/version-13-hotfix/pr-31910
fix: Cash and non trade discount calculation (backport #31910)
2022-08-29 15:06:00 +05:30
Deepesh Garg
4793adfefd chore: rounded total for cash and non trade discounts 2022-08-29 14:02:18 +05:30
Rucha Mahabal
7686c9e450 fix: filter leave types and render leave application dashboard w/o from date (#32001) 2022-08-29 12:26:05 +05:30
Rucha Mahabal
074d484d3c fix: do not clear promotion/transfer details if doc is amended (#32000) 2022-08-29 12:10:15 +05:30
Deepesh Garg
332e86af7e Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31910 2022-08-28 17:32:41 +05:30
Deepesh Garg
8eded437d2 Merge pull request #31971 from frappe/mergify/bp/version-13-hotfix/pr-31955
chore: update french translation (backport #31955)
2022-08-28 11:32:34 +05:30
Deepesh Garg
bef7f6114d Merge pull request #31989 from frappe/mergify/bp/version-13-hotfix/pr-31988
chore: remove precision on discount_percentage of Sales Invoice Item (backport #31988)
2022-08-28 11:32:14 +05:30
Deepesh Garg
4095a3dae2 chore: Resolve conflicts 2022-08-26 18:10:09 +05:30
ruthra kumar
0b40117bfd chore: remove precision on discount_percentage of Sales Invoice Item
(cherry picked from commit c42fef541a)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
2022-08-26 10:34:31 +00:00
ruthra kumar
09de1cba92 Merge pull request #31972 from frappe/mergify/bp/version-13-hotfix/pr-31934
refactor: disable discount accounting on Buying module(PI) (backport #31934)
2022-08-25 17:14:44 +05:30
ruthra kumar
51a40ad2fc test: remove discount accounting tests
(cherry picked from commit 277ef04b60)
2022-08-25 16:05:01 +05:30
mergify[bot]
261405cec1 fix(pos): edge case while closing pos (backport #31748) (#31893) 2022-08-25 14:50:24 +05:30
ruthra kumar
1ac9d7f43e refactor: disable discount accounting on Buying module(PI)
(cherry picked from commit a956e20f29)
2022-08-25 14:44:54 +05:30
Florian HENRY
69b3145be4 chore: update fr translation
(cherry picked from commit 299da5d596)
2022-08-25 07:37:26 +00:00
Florian HENRY
5e1d367d7a chore: update fr translation
(cherry picked from commit 1f6f2747d4)
2022-08-25 07:37:25 +00:00
Florian HENRY
10f0baf6ad chore: update french translation
(cherry picked from commit 264f98af14)
2022-08-25 07:37:25 +00:00
Deepesh Garg
20694eb509 Merge pull request #31965 from frappe/mergify/bp/version-13-hotfix/pr-31909
fix: Add docstatus filter for voucher_no in Repost Item Valuation (backport #31909)
2022-08-25 11:25:14 +05:30
HENRY Florian
c2b8d1bd9a feat: In BOM, Operation time can be fix (backport #27063) (#31923)
* feat: In BOM Operation time can be fix (backport #27063)

* chore: only changes necessary for feature

* chore: add test

* chore: linter

* chore: linter

* chore: linter

* chore: fix date in json

* chore: fix test order

* chore: revert test from version-13 not develop

* chore: make test ok
2022-08-25 11:14:35 +05:30
rohitwaghchaure
49bf05c1c2 Merge pull request #31962 from frappe/mergify/bp/version-13-hotfix/pr-31951
fix: Purposes not set in Maintenance Visit (backport #31951)
2022-08-25 10:51:12 +05:30
Sagar Sharma
2cf2885470 fix: Add docstatus filter for voucher_no in Repost Item Valuation
(cherry picked from commit 520306dc87)
2022-08-25 05:20:46 +00:00
Rohit Waghchaure
edfaf99388 fix: Purposes not set
(cherry picked from commit f9a7b31b5b)
2022-08-25 05:19:36 +00:00
Deepesh Garg
3a7a53ab72 Merge pull request #31919 from SolufyPrivateLimited/Solufy-pur_inv_docstatus
fix: Set the condition to create a purchase receipt
2022-08-25 10:35:14 +05:30
mergify[bot]
34537c9dc2 fix: Route condition set for stock ledger (backport #31935) (#31946)
fix: Route condition set for stock ledger (#31935)

(cherry picked from commit 0e26df331c)

Co-authored-by: Solufyin <34390782+Solufyin@users.noreply.github.com>
2022-08-24 13:30:49 +05:30
Frappe PR Bot
f6248d0259 chore(release): Bumped to Version 13.36.5
## [13.36.5](https://github.com/frappe/erpnext/compare/v13.36.4...v13.36.5) (2022-08-23)

### Bug Fixes

* added employee name to call log ([476ded2](476ded2972))
* added field to show called group, user_id ([66578a5](66578a58cf))
* added tests ([aa8a063](aa8a063103))
* added type of call select field, additional status for agent rejecting call ([b65bce8](b65bce8f98))
* call status fix ([ffb1196](ffb1196516))
* call type doctype, fixes ([b94154f](b94154f00a))
* Handle exception where no employee is returned ([baab96d](baab96d02c))
* incorrect buying amount in Gross Profit rpt ([6405a93](6405a9378d))
* incorrect tax amt due to different exchange rate in PR and PI ([ba5ee1c](ba5ee1ca96))
* interview rescheduling not working ([a482840](a4828407d0))
* limit pos recent order page result ([9751f10](9751f1060e))
* linter, sider fixes ([b529627](b52962751c))
* **minor:** save the employee doc on promotion/transfer update ([36130c6](36130c6292))
* process loan interest accrual ([acbed43](acbed434c2))
* Replace walrus operator ([23a4412](23a441252b))
* sider fixes ([90ed14a](90ed14a055))
* TDS calculation for advance payment ([a452143](a452143782))
* term loan interest calculation ([8dea238](8dea238d12))
* Update received_by if "to" is changed ([9263d5f](9263d5ff4d))
* used get_employees_with_number, strip_number methods ([3f46b2a](3f46b2a0ce))
2022-08-23 13:37:34 +00:00
Deepesh Garg
4e6ef5d6fa Merge pull request #31939 from frappe/version-13-hotfix
chore: Weekly version 13 release
2022-08-23 19:05:53 +05:30
mergify[bot]
154adcbb58 chore: add Work Order test dependencies (backport #31936) (#31938)
chore: add Work Order test dependencies (#31936)

(cherry picked from commit fe73d55f70)

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
2022-08-23 16:10:27 +05:30
Deepesh Garg
6a9d13ff28 chore: Linting issues
(cherry picked from commit 1cb7ae16ab)
2022-08-23 04:50:19 +00:00
Deepesh Garg
7c85b487cd fix: Test cases
(cherry picked from commit ae3dce0cbd)
2022-08-23 04:50:18 +00:00
Deepesh Garg
20e9599fc1 fix: Cash and non trade discount calculation
(cherry picked from commit 3b15966cc9)
2022-08-23 04:50:17 +00:00
Solufyin
b4c992dd4d fix: Set the condition to create a purchase receipt 2022-08-22 12:00:21 +05:30
Suraj Shetty
d46ce05dcd Merge pull request #31903 from frappe/exotel_fixes_v13 2022-08-22 10:52:18 +05:30
Deepesh Garg
6bc6681f92 Merge pull request #31825 from frappe/mergify/bp/version-13-hotfix/pr-31817
fix: limit pos recent order page result (backport #31817)
2022-08-22 10:32:30 +05:30
Deepesh Garg
75d57c1f77 Merge pull request #31889 from frappe/mergify/bp/version-13-hotfix/pr-31871
fix: incorrect buying amount in Gross Profit rpt (backport #31871)
2022-08-22 10:29:47 +05:30
Deepesh Garg
fc7285cc85 Merge pull request #31826 from frappe/mergify/bp/version-13-hotfix/pr-31799
fix: process loan interest accrual (backport #31799)
2022-08-22 10:28:04 +05:30
Suraj Shetty
23a441252b fix: Replace walrus operator 2022-08-22 09:49:15 +05:30
Deepesh Garg
474f34c04c Merge pull request #31868 from frappe/mergify/bp/version-13-hotfix/pr-31856
fix: incorrect tax amt due to different exchange rate in PR and PI (backport #31856)
2022-08-22 09:09:53 +05:30
Deepesh Garg
6606028062 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31799 2022-08-22 09:00:14 +05:30
Deepesh Garg
f58427bffe Merge pull request #31894 from maharshivpatel/fix-tax-withholding-advance-vouchers
fix: TDS calculation for advance payment
2022-08-22 08:58:59 +05:30
Suraj Shetty
89f889068e style: Fix formatting 2022-08-20 14:19:15 +05:30
Suraj Shetty
9263d5ff4d fix: Update received_by if "to" is changed 2022-08-20 14:15:54 +05:30
Suraj Shetty
4df197a282 test: Do not overwrite frappe.form_dict to retain proxy reference
Set frappe.local.form_dict instead
2022-08-20 14:14:16 +05:30
Suraj Shetty
b495969eb8 test: Clean up form_dict
To avoid failures like
https://github.com/frappe/erpnext/runs/5887687369?check_suite_focus=true#step:12:783
2022-08-20 14:14:10 +05:30
Suraj Shetty
5f4760985c test: Fix used frappe._dict to avoid AttributeError down the line
ref: https://github.com/frappe/erpnext/runs/5816574721?check_suite_focus=true#step:12:880
2022-08-20 14:14:03 +05:30
Suraj Shetty
4a61840e39 test: Use FrappeAPITestCase to track coverage 2022-08-20 14:13:56 +05:30
Suraj Shetty
ca48b9de54 test: Fix erroneous code 2022-08-20 14:13:50 +05:30
Suraj Shetty
baab96d02c fix: Handle exception where no employee is returned 2022-08-20 14:13:40 +05:30
Suraj Shetty
f5b967a947 chore: Remove unused code
- and simplify get_call_log
2022-08-20 14:13:24 +05:30
Suraj Shetty
06b1bcbf59 test: Refactor exotel test setup
- Remove unnecessary code
- Move test data to separate file
- Make proper test assertions
2022-08-20 14:12:17 +05:30
Subin Tom
aa8a063103 fix: added tests 2022-08-20 14:11:48 +05:30
Subin Tom
3f46b2a0ce fix: used get_employees_with_number, strip_number methods 2022-08-20 14:10:18 +05:30
Subin Tom
b52962751c fix: linter, sider fixes 2022-08-20 14:07:17 +05:30
Subin Tom
b94154f00a fix: call type doctype, fixes 2022-08-20 14:06:52 +05:30
Subin Tom
90ed14a055 fix: sider fixes 2022-08-20 14:05:49 +05:30
Subin Tom
b65bce8f98 fix: added type of call select field, additional status for agent rejecting call 2022-08-20 14:05:27 +05:30
Subin Tom
66578a58cf fix: added field to show called group, user_id 2022-08-20 14:04:01 +05:30
Subin Tom
476ded2972 fix: added employee name to call log 2022-08-20 14:03:40 +05:30
Subin Tom
ffb1196516 fix: call status fix 2022-08-20 14:03:14 +05:30
Maharshi Patel
a452143782 fix: TDS calculation for advance payment
"against_voucher": ["is", "not set"] was used in query due to which if TDS was added on "advance" payment vouchers and then reconciled against purchase invoice. it will not find those vouchers and consider this as first-time threshold due to which it will calculate Tax for all transactions.
2022-08-19 12:30:47 +05:30
ruthra kumar
6405a9378d fix: incorrect buying amount in Gross Profit rpt
(cherry picked from commit 967dd398e7)
2022-08-18 13:28:45 +00:00
Rucha Mahabal
2471ca58ee Merge pull request #31884 from ruchamahabal/fix-promotion 2022-08-18 12:29:31 +05:30
Rucha Mahabal
a4828407d0 fix: interview rescheduling not working 2022-08-18 12:02:32 +05:30
Frappe PR Bot
bafa3ce150 chore(release): Bumped to Version 13.36.4
## [13.36.4](https://github.com/frappe/erpnext/compare/v13.36.3...v13.36.4) (2022-08-18)

### Bug Fixes

* check item_code in all rows of po_items (backport [#31741](https://github.com/frappe/erpnext/issues/31741)) ([#31843](https://github.com/frappe/erpnext/issues/31843)) ([ba8dc89](ba8dc8925f))
* conflicts ([41b8563](41b8563b7a))
* contact search in request for quotation (backport [#31828](https://github.com/frappe/erpnext/issues/31828)) ([#31841](https://github.com/frappe/erpnext/issues/31841)) ([2a615af](2a615af00a))
* incorrect produced-qty in production-plan-item (backport [#31706](https://github.com/frappe/erpnext/issues/31706)) ([#31862](https://github.com/frappe/erpnext/issues/31862)) ([7ddb332](7ddb332f47))
* incorrect rate in BOM exploded items (backport [#31513](https://github.com/frappe/erpnext/issues/31513)) ([#31865](https://github.com/frappe/erpnext/issues/31865)) ([3274e76](3274e7681d))
* Make expense account editable in Purchase Receipt Item (backport [#31730](https://github.com/frappe/erpnext/issues/31730)) ([#31879](https://github.com/frappe/erpnext/issues/31879)) ([4775c42](4775c42593))
* not able to issue expired batches ([7ee75ff](7ee75ff762))
* set `billing_address` for purchases in `get_party_details` ([a7d66fa](a7d66fa352))
* set `company_address` for purchases in `party.js` ([d1de4b0](d1de4b027c))
* Transit filter for Default Target Warehouse in SE (backport [#31839](https://github.com/frappe/erpnext/issues/31839)) ([#31874](https://github.com/frappe/erpnext/issues/31874)) ([b0917aa](b0917aaf8a))
* use old style for `_dict.update` ([15654aa](15654aae8b))
2022-08-18 06:15:23 +00:00
Deepesh Garg
cff140db3d Merge pull request #31880 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-08-18 11:43:42 +05:30
Rucha Mahabal
36130c6292 fix(minor): save the employee doc on promotion/transfer update 2022-08-18 11:42:29 +05:30
mergify[bot]
4775c42593 fix: Make expense account editable in Purchase Receipt Item (backport #31730) (#31879)
* fix: Make expense account editable in Purchase Receipt Item (#31730)

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
(cherry picked from commit 1a6508972e)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json

* chore: conflicts

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-08-18 11:15:26 +05:30
mergify[bot]
b0917aaf8a fix: Transit filter for Default Target Warehouse in SE (backport #31839) (#31874)
fix: Transit filter for Default Target Warehouse in SE (#31839)

(cherry picked from commit f1a612245c)

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-08-17 17:25:31 +05:30
rohitwaghchaure
d349a337e1 Merge pull request #31866 from frappe/mergify/bp/version-13-hotfix/pr-31863
fix: not able to issue expired batches (backport #31863)
2022-08-17 15:43:22 +05:30
ruthra kumar
ba5ee1ca96 fix: incorrect tax amt due to different exchange rate in PR and PI
(cherry picked from commit 5fd0770372)
2022-08-17 09:40:36 +00:00
rohitwaghchaure
41b8563b7a fix: conflicts 2022-08-17 14:47:47 +05:30
Rohit Waghchaure
7ee75ff762 fix: not able to issue expired batches
(cherry picked from commit 795c94384a)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/test_stock_entry.py
2022-08-17 09:16:37 +00:00
mergify[bot]
3274e7681d fix: incorrect rate in BOM exploded items (backport #31513) (#31865)
* fix: incorrect rate in BOM exploded items (#31513)

(cherry picked from commit 313625c349)

# Conflicts:
#	erpnext/manufacturing/doctype/bom_item/bom_item.json

* chore: conflicts

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-08-17 14:39:15 +05:30
mergify[bot]
7ddb332f47 fix: incorrect produced-qty in production-plan-item (backport #31706) (#31862)
fix: incorrect produced-qty in production-plan-item (#31706)

(cherry picked from commit 538cd6fdcf)

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-08-17 13:49:51 +05:30
mergify[bot]
2a615af00a fix: contact search in request for quotation (backport #31828) (#31841)
* fix: contact search in request for quotation (#31828)

(cherry picked from commit e5e88bb9f1)

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

* chore: conflicts

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-08-17 11:23:24 +05:30
mergify[bot]
ba8dc8925f fix: check item_code in all rows of po_items (backport #31741) (#31843)
fix: check item_code in all rows of po_items (#31741)

fix: check item-code in each row of po-items
(cherry picked from commit 0047e18a9b)

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-08-17 11:21:47 +05:30
Sagar Vora
14891ccf18 Merge pull request #31792 from frappe/mergify/bp/version-13-hotfix/pr-31733
fix: set `billing_address` for purchases in `get_party_details` (backport #31733)
2022-08-16 05:48:48 +00:00
Sagar Vora
15654aae8b fix: use old style for _dict.update 2022-08-13 08:00:27 +00:00
Sagar Vora
d1de4b027c fix: set company_address for purchases in party.js
(cherry picked from commit d05082987f)
2022-08-13 08:00:27 +00:00
Sagar Vora
a7d66fa352 fix: set billing_address for purchases in get_party_details
(cherry picked from commit a3625b3817)
2022-08-13 08:00:27 +00:00
Abhinav Raut
8dea238d12 fix: term loan interest calculation
(cherry picked from commit 534d7ce64b)
2022-08-11 10:18:04 +00:00
Abhinav Raut
acbed434c2 fix: process loan interest accrual
(cherry picked from commit 9ef8d5c5c3)
2022-08-11 10:18:04 +00:00
ruthra kumar
9751f1060e fix: limit pos recent order page result
(cherry picked from commit bb40e38451)
2022-08-11 08:40:05 +00:00
Frappe PR Bot
c15cff05b0 chore(release): Bumped to Version 13.36.3
## [13.36.3](https://github.com/frappe/erpnext/compare/v13.36.2...v13.36.3) (2022-08-09)

### Bug Fixes

* (india) HSN wise report ([08c69c7](08c69c7a76))
* add asset repair to accounting dimension list ([809d5ca](809d5caf80))
* consider precision while validating advance amount against sanctioned amount ([63cd434](63cd4349a6))
* **ecommerce:** remove query to non-existing field (backport [#31771](https://github.com/frappe/erpnext/issues/31771)) ([#31774](https://github.com/frappe/erpnext/issues/31774)) ([0e46b33](0e46b33ee3))
* f-string and where clause ([42b3959](42b395916d))
* getting error to show sales invoice group or print rep… (backport [#31756](https://github.com/frappe/erpnext/issues/31756)) ([#31768](https://github.com/frappe/erpnext/issues/31768)) ([473a43b](473a43b6b1))
* incorrect incoming rate set for inter transfer purchase receipt ([4e8b39a](4e8b39ab3f))
* incorrect tax calculation in case of reduced payment days ([80981d0](80981d025f))
* intercompany SO throws exception ([a17acfd](a17acfdaa2))
* minor changed link ([e9e53a7](e9e53a74c9))
* Payment Entry button is visible even when claim is fully paid ([d820757](d820757359))
* pending principal- amount ([16c94d2](16c94d292c))
* **pos:** validate product bundles while submitting pos invoice (backport [#31615](https://github.com/frappe/erpnext/issues/31615)) ([#31657](https://github.com/frappe/erpnext/issues/31657)) ([b145fe3](b145fe3b3e))
* specify allowed doctype in queries ([#31765](https://github.com/frappe/erpnext/issues/31765)) ([0dbfb15](0dbfb1589e))
* statistical component showing up in salary slip ([#31746](https://github.com/frappe/erpnext/issues/31746)) ([26aef4f](26aef4fb1c))
* sum stock_value and group by warehouse ([18d93f8](18d93f8398))
* taxable_value and gst_account_heads ([6c574fb](6c574fbf33))
* update To Date in Employee Work History ([#31811](https://github.com/frappe/erpnext/issues/31811)) ([0057c10](0057c10a7d))
2022-08-09 14:09:11 +00:00
Deepesh Garg
b80526f226 Merge pull request #31812 from frappe/version-13-hotfix
chore: weekly version 13 release
2022-08-09 19:37:13 +05:30
Deepesh Garg
0569f8a857 Merge pull request #31736 from maharshivpatel/fix-india-hsn-report
fix: (india) HSN wise report
2022-08-09 18:58:25 +05:30
Rucha Mahabal
63715bf229 Merge pull request #31813 from ruchamahabal/fix-claim 2022-08-09 18:52:22 +05:30
Rucha Mahabal
63cd4349a6 fix: consider precision while validating advance amount against sanctioned amount 2022-08-09 18:28:19 +05:30
Maharshi Patel
42b395916d fix: f-string and where clause
Used f-string formatting and added conditions to WHERE clause
2022-08-09 18:22:05 +05:30
Rucha Mahabal
0057c10a7d fix: update To Date in Employee Work History (#31811) 2022-08-09 18:19:09 +05:30
Deepesh Garg
3c8c5d01fb Merge pull request #31797 from frappe/mergify/bp/version-13-hotfix/pr-31779
Bug add accouting dimension in asset repair (backport #31779)
2022-08-09 18:18:42 +05:30
Rucha Mahabal
d820757359 fix: Payment Entry button is visible even when claim is fully paid 2022-08-09 18:15:41 +05:30
mergify[bot]
14e59c86aa Tds report (backport #31801) (#31808)
* fix: TDS Computation Summary Report not loading, too many values to unpack
2022-08-09 18:11:13 +05:30
Deepesh Garg
9e16f4e412 chore: resolve conflicts 2022-08-09 17:55:02 +05:30
rohitwaghchaure
6d269a4d89 Merge pull request #31805 from frappe/mergify/bp/version-13-hotfix/pr-31804
fix: incorrect incoming rate set for inter transfer purchase receipt (backport #31804)
2022-08-09 16:26:34 +05:30
Rohit Waghchaure
4e8b39ab3f fix: incorrect incoming rate set for inter transfer purchase receipt
(cherry picked from commit ddd24ea8c8)
2022-08-09 10:31:14 +00:00
Rucha Mahabal
9925eb9982 Merge pull request #31802 from ruchamahabal/fix-salary-slip-tds-v13 2022-08-09 15:33:54 +05:30
Rucha Mahabal
301d199ece test: default amount in slip 2022-08-09 14:57:10 +05:30
Maharshi Patel
6c574fbf33 fix: taxable_value and gst_account_heads
used taxable_value instead of base_net_amount and only appended required GST accounts
2022-08-09 14:39:13 +05:30
Rucha Mahabal
80981d025f fix: incorrect tax calculation in case of reduced payment days 2022-08-09 12:40:06 +05:30
ruthra kumar
a420d0242c chore: patch for creating existing dimensions in asset repair
(cherry picked from commit 80f508c4b1)

# Conflicts:
#	erpnext/patches.txt
2022-08-08 11:09:55 +00:00
ruthra kumar
809d5caf80 fix: add asset repair to accounting dimension list
(cherry picked from commit 452584c4bd)
2022-08-08 11:09:53 +00:00
Deepesh Garg
6f442d14cf Merge pull request #31795 from frappe/mergify/bp/version-13-hotfix/pr-31777
fix: intercompany SO created from Purchase Order throws exception (backport #31777)
2022-08-08 16:37:39 +05:30
ruthra kumar
a17acfdaa2 fix: intercompany SO throws exception
(cherry picked from commit af0a353b79)
2022-08-08 10:37:25 +00:00
Deepesh Garg
3673dea03b Merge pull request #31783 from frappe/mergify/bp/version-13-hotfix/pr-31780
Fix: Loan pending principal amount  (backport #31780)
2022-08-08 14:48:06 +05:30
Deepesh Garg
fb3725752f chore: resolve conflicts 2022-08-08 11:53:49 +05:30
Abhinav Raut
16c94d292c fix: pending principal- amount
(cherry picked from commit a272d73dd9)

# Conflicts:
#	erpnext/loan_management/doctype/loan_repayment/loan_repayment.json
2022-08-05 10:35:05 +00:00
mergify[bot]
0e46b33ee3 fix(ecommerce): remove query to non-existing field (backport #31771) (#31774)
fix(ecommerce): remove query to non-existing field (#31771)

(cherry picked from commit 17b9bfd249)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-08-03 17:08:46 +05:30
mergify[bot]
df716fbd0c ci: fix automated release regex (backport #31770) (#31772)
ci: fix automated release regex (#31770)

[skip ci]

(cherry picked from commit 2defb89962)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-08-03 16:37:39 +05:30
mergify[bot]
0dbfb1589e fix: specify allowed doctype in queries (#31765)
Co-authored-by: Sagar Vora <sagar@resilient.tech>
2022-08-03 12:03:53 +05:30
mergify[bot]
473a43b6b1 fix: getting error to show sales invoice group or print rep… (backport #31756) (#31768)
fix: getting error to show sales invoice group or print rep… (#31756)

fix: formatter getting error to show sales invoice group or print report.

1 - When I view the Gross Profit report in Sales Invoice mode, the table is all broken.
Error on browser console:
TypeError: Cannot read properties of undefined (reading 'indent')

2 - When I try to print, no matter the Group (Sales Invoice, Item Code, Item Group...) nothing happens. in browser log console I have the following error:
TypeError: Cannot read properties of undefined (reading 'content')

i fixed both errors and all working perfectly.

(cherry picked from commit ea88451875)

Co-authored-by: HarryPaulo <paulo_fabris@hotmail.com>
2022-08-03 11:23:10 +05:30
rohitwaghchaure
1a3b3b96c2 Merge pull request #31751 from frappe/mergify/bp/version-13-hotfix/pr-31750
fix: minor URL link (backport #31750)
2022-08-01 14:34:12 +05:30
Rohit Waghchaure
e9e53a74c9 fix: minor changed link
(cherry picked from commit 0e7c4314b4)
2022-08-01 09:02:07 +00:00
Rucha Mahabal
26aef4fb1c fix: statistical component showing up in salary slip (#31746)
* fix: statistical component showing up in salary slip

* fix(test): payment days effect on timesheet salary slio
2022-08-01 12:54:25 +05:30
mergify[bot]
b145fe3b3e fix(pos): validate product bundles while submitting pos invoice (backport #31615) (#31657) 2022-07-31 19:12:14 +05:30
Marica
d83c869d73 Merge pull request #31717 from frappe/mergify/bp/version-13-hotfix/pr-31601
perf: reduce db calls for warehouse wise stock value chart (backport #31601)
2022-07-31 18:26:27 +05:30
Maharshi Patel
08c69c7a76 fix: (india) HSN wise report
Problem:
The previous approach for calculating tax_rate was incorrect.
```
['tax_rate'] * ['number of unique rows']
```
Joining `tabSales Taxes and Charges` was adding unnecessary rows & complexity.

Solution:
Instead of trying to get tax_rate from the main query itself, I used the get_tax_accounts's data to calculate the correct tax_rate.

Todo:
Union Territory
2022-07-29 14:22:31 +05:30
Frappe PR Bot
84e6cead56 chore(release): Bumped to Version 13.36.2
## [13.36.2](https://github.com/frappe/erpnext/compare/v13.36.1...v13.36.2) (2022-07-28)

### Bug Fixes

* (india) (e-invoice) margin & internal company transfer ([b97d30a](b97d30aad0))
* (india) add overseas in HSN wise report ([1d69ce1](1d69ce1932))
* Allow allocating advance amount against Expense Claim taxes ([42f3592](42f3592e95))
* assign duplicate_items_msg outside conditional ([#31639](https://github.com/frappe/erpnext/issues/31639)) ([8e23c6a](8e23c6ad69))
* correct Brazilian portuguese translations (backport [#31498](https://github.com/frappe/erpnext/issues/31498)) ([#31660](https://github.com/frappe/erpnext/issues/31660)) ([794fd08](794fd0819f))
* discount and test added ([a843e78](a843e784e6))
* display customer name on picking list ([dbf245c](dbf245c687))
* do not update component amount for timesheet components ([#31696](https://github.com/frappe/erpnext/issues/31696)) ([bc7cfe6](bc7cfe6919))
* enable tax withholding checkbox in PI with supplier_tds ([bc74942](bc7494278d))
* ensure defaults removed in bad frappe patch get set again (backport [#31659](https://github.com/frappe/erpnext/issues/31659)) ([#31661](https://github.com/frappe/erpnext/issues/31661)) ([763787b](763787b0a5))
* hero image not loading in portal homepage ([#31699](https://github.com/frappe/erpnext/issues/31699)) ([8a6432e](8a6432ec3f))
* **india:** e-way bill json for unregistered gst category ([01d6df4](01d6df45d0))
* make customer_name field read only. ([2381b81](2381b81aac))
* manually generated salary slips overwritten by structure amount ([#31711](https://github.com/frappe/erpnext/issues/31711)) ([32c1bb6](32c1bb61de))
* Map `Item` image to `Website Item` website_image only if published via UI (v13) ([9b1544a](9b1544aa14))
* payment entry to student ([#31708](https://github.com/frappe/erpnext/issues/31708)) ([4f02375](4f023757de))
* Reload loan Table in Salary Slip when change Employee ([#31525](https://github.com/frappe/erpnext/issues/31525)) ([a95c011](a95c011a93))
* rounding errors while closing pos (backport [#31654](https://github.com/frappe/erpnext/issues/31654)) ([#31658](https://github.com/frappe/erpnext/issues/31658)) ([529a47b](529a47bc88))
* Route condition set with proper filter ([#31556](https://github.com/frappe/erpnext/issues/31556)) ([5cdc267](5cdc267aee))
* The Fee details are not fetched in Program Enrollment ([#31153](https://github.com/frappe/erpnext/issues/31153)) ([0602848](0602848caa))
* update fr translations ([#31687](https://github.com/frappe/erpnext/issues/31687)) ([89348c1](89348c1bb4))
* update fr translations (backport [#31526](https://github.com/frappe/erpnext/issues/31526)) ([#31666](https://github.com/frappe/erpnext/issues/31666)) ([95e1021](95e1021caf))
* update SO's percentage billed on credit note ([2f2d3de](2f2d3de306))
* use current pos profile on sales return ([c442b4a](c442b4aef1))
2022-07-28 12:13:57 +00:00
Deepesh Garg
590e48fa1d Merge pull request #31725 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-07-28 17:42:15 +05:30
Deepesh Garg
25da4d28ff Merge pull request #31727 from frappe/mergify/bp/version-13-hotfix/pr-31656
fix: use current pos profile on sales return (backport #31656)
2022-07-28 16:32:36 +05:30
Deepesh Garg
f57d2fadbc Merge pull request #31728 from frappe/mergify/bp/version-13-hotfix/pr-31676
fix: enable tax withholding checkbox in PI with supplier_tds (backport #31676)
2022-07-28 16:32:17 +05:30
Deepesh Garg
9e7edd677a Merge pull request #31726 from frappe/mergify/bp/version-13-hotfix/pr-31576
fix: credite note for returned delivery note updates SO's billed percentage (backport #31576)
2022-07-28 16:32:05 +05:30
ruthra kumar
bc7494278d fix: enable tax withholding checkbox in PI with supplier_tds
(cherry picked from commit b461724416)
2022-07-28 10:42:58 +00:00
ruthra kumar
c442b4aef1 fix: use current pos profile on sales return
(cherry picked from commit 5b85af5f1a)
2022-07-28 10:36:23 +00:00
ruthra kumar
ef9b25cf08 test: SO percentage billed when cr_note made against delivery return
(cherry picked from commit 243f66fcd3)
2022-07-28 10:21:19 +00:00
ruthra kumar
2f2d3de306 fix: update SO's percentage billed on credit note
Credit Note created from Sales Return will update precentage billed in
Sales Order accordingly

(cherry picked from commit 04c1019242)
2022-07-28 10:21:18 +00:00
Rucha Mahabal
13639682ce Merge pull request #31724 from ruchamahabal/expense-claim-adv 2022-07-28 14:51:15 +05:30
Rucha Mahabal
c01adae8a5 test: advance amount allocation against expense claim with taxes 2022-07-28 14:27:09 +05:30
Deepesh Garg
8ae691d9dc Merge branch 'version-13' into version-13-hotfix 2022-07-28 13:59:25 +05:30
Alaa Alsalehi
a95c011a93 fix: Reload loan Table in Salary Slip when change Employee (#31525)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
Co-authored-by: bahaaabed <bahaa.9999.sh@gmail.com>
Co-authored-by: newhr1 <104132586+newhr1@users.noreply.github.com>
2022-07-28 13:22:07 +05:30
Rucha Mahabal
42f3592e95 fix: Allow allocating advance amount against Expense Claim taxes 2022-07-28 13:21:29 +05:30
Syed Mujeer Hashmi
0602848caa fix: The Fee details are not fetched in Program Enrollment (#31153) 2022-07-28 12:30:39 +05:30
Rucha Mahabal
9985d28571 chore: Add HR & Payroll deprecation warning (#31720) 2022-07-28 11:43:49 +05:30
Marica
31824c2280 Merge pull request #31716 from frappe/mergify/bp/version-13-hotfix/pr-31687
fix: update fr translations (backport #31687)
2022-07-27 18:01:30 +05:30
Devin Slauenwhite
18d93f8398 fix: sum stock_value and group by warehouse
(cherry picked from commit 1e20358c28)
2022-07-27 12:18:39 +00:00
Devin Slauenwhite
c9443123f9 chore: remove unused import
(cherry picked from commit bc3023318e)
2022-07-27 12:18:38 +00:00
Devin Slauenwhite
0fdec8fac8 pref: reduce count of db calls from n to 2
(cherry picked from commit 73ade04dcf)
2022-07-27 12:18:38 +00:00
marination
6fbb06a878 chore: Merge Conflict 2022-07-27 17:30:46 +05:30
HENRY Florian
89348c1bb4 fix: update fr translations (#31687)
* fix: update fr translations

* fix: update fr translation

* fix: update fr translation

* chore: Replace apostrophe encoding by symbol

Co-authored-by: marination <maricadsouza221197@gmail.com>
(cherry picked from commit cc1f837685)

# Conflicts:
#	erpnext/translations/fr.csv
2022-07-27 11:52:03 +00:00
Marica
598dbc93ac Merge pull request #31669 from frappe/mergify/bp/version-13-hotfix/pr-31579
fix: display customer name on picking list (backport #31579)
2022-07-27 16:45:07 +05:30
Marica
51a4ef3069 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31579 2022-07-27 16:23:22 +05:30
Marica
49fb177f86 chore: Merge Conflicts 2022-07-27 16:22:17 +05:30
Marica
b0aae8a297 Merge pull request #31713 from frappe/mergify/bp/version-13-hotfix/pr-31469
chore: Make `image` field obsolete in Website Item (redundant) (backport #31469)
2022-07-27 16:12:32 +05:30
Marica
e310347ca4 chore: Merge Conflicts 2022-07-27 15:51:01 +05:30
marination
9b1544aa14 fix: Map Item image to Website Item website_image only if published via UI (v13)
- For v12 Items, `website_image` should be mapped from `Item` to `Website Item`

(cherry picked from commit af38baeb3b)

# Conflicts:
#	erpnext/e_commerce/doctype/website_item/website_item.py
2022-07-27 10:14:20 +00:00
marination
a8da5f4566 chore: Remove image use in website item list
(cherry picked from commit 7a6ee8cf2d)
2022-07-27 10:14:18 +00:00
marination
0e469f6d95 chore: Remove image from ProductQuery fields
(cherry picked from commit eec07833f4)
2022-07-27 10:14:18 +00:00
marination
b393c230bd chore: Make image field obsolete in Website Item (redundant)
- Delete Image field and set `website_image` as form's image field for uploads
- Remove instances of `image` field access via Website Item
- Item -> Web Item via Desk: Map Item's `image` to Web Item's `website_image`
- Item -> Web Item via patch: `website_image` will be mapped with thumbnail
- Remove magic that auto-sets `website_image` from `image` in Website Item

(cherry picked from commit 9541354ec7)

# Conflicts:
#	erpnext/e_commerce/doctype/website_item/website_item.py
2022-07-27 10:14:16 +00:00
Rucha Mahabal
32c1bb61de fix: manually generated salary slips overwritten by structure amount (#31711) 2022-07-27 12:44:26 +05:30
MohsinAli
4f023757de fix: payment entry to student (#31708)
Payment entry to student via Payment References(From Journal Entry)
2022-07-27 11:50:15 +05:30
Deepesh Garg
d2d25e17bb Merge pull request #31698 from maharshivpatel/fix-einvoice-margin-internal-transfer
fix: (india) (e-invoice) margin & internal company transfer
2022-07-26 21:59:44 +05:30
Maharshi Patel
a843e784e6 fix: discount and test added
only report net rate if discount is less than 0 and added test.
2022-07-26 17:40:59 +05:30
Rucha Mahabal
8a6432ec3f fix: hero image not loading in portal homepage (#31699) 2022-07-26 13:43:36 +05:30
Maharshi Patel
b97d30aad0 fix: (india) (e-invoice) margin & internal company transfer
When the item price is more than the price list rate ( margin added ) discount value becomes negative. The previous attempt to solve this was to convert discount to absolute value. However, that gives incorrect unit price and discount value. To solve this, I have made changes to report net rates in cases where the margin is added or is an internal company transfer.
2022-07-26 12:57:47 +05:30
Rucha Mahabal
bc7cfe6919 fix: do not update component amount for timesheet components (#31696)
* fix: do not update component amount for timesheet components

* fix: warn the user about overwriting timesheet component amount
2022-07-26 12:35:50 +05:30
Deepesh Garg
85802b0f97 Merge pull request #31602 from rtdany10/patch-19
fix(india): e-way bill json for unregistered gst category
2022-07-22 13:11:19 +05:30
Deepesh Garg
dc67d39ce6 Merge pull request #31665 from maharshivpatel/fix-add-overseas-hsn-report
fix: (india) add entries from overseas invoices in HSN wise report
2022-07-22 13:06:30 +05:30
mergify[bot]
529a47bc88 fix: rounding errors while closing pos (backport #31654) (#31658) 2022-07-22 11:17:59 +05:30
Devin Slauenwhite
2381b81aac fix: make customer_name field read only.
(cherry picked from commit 7083b3148b)

# Conflicts:
#	erpnext/stock/doctype/pick_list/pick_list.json
2022-07-21 13:08:41 +00:00
Devin Slauenwhite
dbf245c687 fix: display customer name on picking list
(cherry picked from commit 0a633a212d)

# Conflicts:
#	erpnext/stock/doctype/pick_list/pick_list.json
2022-07-21 13:08:40 +00:00
Nihantra C. Patel
5cdc267aee fix: Route condition set with proper filter (#31556)
* fix: Redirect to report with proper filter

* Update member.js

* fix: Route condition set with proper filter

* fix: Route condition set with proper filter

* fix: Route condition set with proper filter

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-07-21 18:29:06 +05:30
mergify[bot]
95e1021caf fix: update fr translations (backport #31526) (#31666)
fix: update fr translations (#31526)

* fix: update fr translations

* fix: update fr translations

* fix: update fr translations

* fix: update fr translations

* chore: Update french translation

Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 3ba0d6cc5c)

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
2022-07-21 18:11:32 +05:30
mergify[bot]
7d50f8798a Update de.csv (backport #31596) (#31667)
Update de.csv (#31596)

IN,IM to IN,EIN

Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 8629d01dd5)

Co-authored-by: billy995 <48571007+billy995@users.noreply.github.com>
2022-07-21 18:10:46 +05:30
Marica
dd751c6e92 Merge pull request #31664 from frappe/mergify/bp/version-13-hotfix/pr-31544
FIX: quality inspection quick creation from purchase receipt: pre-fill sample size if available (backport #31544)
2022-07-21 14:13:48 +05:30
Frappe PR Bot
69087b8790 chore(release): Bumped to Version 13.36.1
## [13.36.1](https://github.com/frappe/erpnext/compare/v13.36.0...v13.36.1) (2022-07-21)

### Bug Fixes

* ensure defaults removed in bad frappe patch get set again (backport [#31659](https://github.com/frappe/erpnext/issues/31659)) ([2ae3bd9](2ae3bd9fed))
2022-07-21 08:26:20 +00:00
mergify[bot]
763787b0a5 fix: ensure defaults removed in bad frappe patch get set again (backport #31659) (#31661)
fix: ensure defaults removed in bad frappe patch get set again (#31659)

(cherry picked from commit bf2833b8ee)

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2022-07-21 13:54:55 +05:30
mergify[bot]
2ae3bd9fed fix: ensure defaults removed in bad frappe patch get set again (backport #31659)
fix: ensure defaults removed in bad frappe patch get set again (#31659)

(cherry picked from commit bf2833b8ee)
(cherry picked from commit 9071018e4e)

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2022-07-21 13:54:40 +05:30
Marc de Lima Lucio
1998223ee3 FIX: quality inspection quick creation from purchase receipt: pre-fill sample size if available (#31544)
FIX: quality inspection quick creation from transaction documents: pre-fill sample size if available

Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 048c037842)
2022-07-21 08:17:48 +00:00
mergify[bot]
794fd0819f fix: correct Brazilian portuguese translations (backport #31498) (#31660)
fix: correct Brazilian portuguese translations (#31498)

* fix brazilian portuguese translations

* minor adjustments

* fix minor adjustments

* fix: remove legacy pt_br.csv

* chore: Fix translation quotation marks

Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit d30f8387d9)

Co-authored-by: Marco Fonseca <62901164+treasuryesc@users.noreply.github.com>
2022-07-21 13:47:18 +05:30
Maharshi Patel
1d69ce1932 fix: (india) add overseas in HSN wise report
SQL query had WHERE `tabSales Taxes and Charges`.parent = `tabSales Invoice`.name. However, In overseas, there is no `tabSales Taxes and Charges` so I changed the query to use a combination of INNER JOIN and LEFT JOIN to fetch all entries.
2022-07-21 13:27:30 +05:30
Maharshi Patel
8e23c6ad69 fix: assign duplicate_items_msg outside conditional (#31639)
duplicate_items_msg was defined inside if the statement  of stock_item so when duplicate was found in non_stock_item it raised referenced before assignment
2022-07-20 21:25:36 +05:30
Frappe PR Bot
32ba8c7d6d chore(release): Bumped to Version 13.36.0
# [13.36.0](https://github.com/frappe/erpnext/compare/v13.35.3...v13.36.0) (2022-07-20)

### Bug Fixes

* (india) (e-invoice) allow generation for UIN Holders ([82539fc](82539fc18a))
* (india) (e-invoice) CN / DN with 0 qty ([84f260e](84f260e1d8))
* (india) (e-invoice) discount calculation ([1f4d434](1f4d434675))
* (india) (e-invoice) discount in CN/DN ([6e6b55e](6e6b55ece0))
* (india) (e-invoice) qty should not be changed to 1 ([b0efb98](b0efb98237))
* (india)(einvoice) discount for CN DN ([844758a](844758a27c))
* added Section translation in German for Salary Slip (backport [#31608](https://github.com/frappe/erpnext/issues/31608)) ([#31616](https://github.com/frappe/erpnext/issues/31616)) ([12d3d6a](12d3d6ab49))
* Allow multi currency invoice against single party account ([9ac9c46](9ac9c46dab))
* **India:** Inward supplies from Composition Supplier in 3B report ([b147ce4](b147ce4206))
* LCV updates wrong future qty/Bin qty ([f0ecdbe](f0ecdbef5a))
* linter ([9a3c846](9a3c84663f))
* move auto attendance job to long queue ([8eb9aaa](8eb9aaafe9))
* on cancel for loan refund ([8237d94](8237d94b11))
* Opening Invoice Creation Tool msgprint ([cb80bcd](cb80bcd0ee))
* Patch to make accounting dimension in orders ([55399f2](55399f2e58))
* Remove unnecessary list comprehensions ([711501b](711501be5e))
* Removed 'Allow Monthly Depreciation' checkbox and fixed wdv depreciation rate ([616e3c6](616e3c66b9))
* Renamed status field to gle_processing_status ([1180135](1180135067))
* Set Amount in Supplied Item table ([72e8c02](72e8c02ae0))
* set default_bom for item ([def622c](def622c13e))
* set status on submit/cancel ([04b077a](04b077a89f))
* slow stock reposting ([a5dae92](a5dae9264d))
* Supplier details in TDS monthly report ([#31599](https://github.com/frappe/erpnext/issues/31599)) ([431d79f](431d79f516))
* Tax amount not considered in Expense Claim Journal Entry ([90c751f](90c751f648))
* test ([9631ffd](9631ffd215))

### Features

* add adjustment amount to loan ([d5ce780](d5ce780e87))

### Performance Improvements

* index shift type and employee in checkins and assignment to avoid full table scans ([6938025](6938025952))
* Optimization of gl entry processing logic in period closing voucher ([903e42f](903e42fbdd))
* Replace `db.get_all` with `db.exists` in `is_holiday` ([85c554e](85c554eab5))
* Replace `get_doc` with `db.get_value` in `get_shift_details` ([abb7ac5](abb7ac5a0b))
* Use `get_cached_value` and `get_cached_doc` ([8c9035d](8c9035d914))
2022-07-20 15:21:11 +00:00
Deepesh Garg
4d67695294 Merge pull request #31647 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-07-20 20:49:09 +05:30
Deepesh Garg
50fbfd9839 Merge pull request #31649 from frappe/mergify/bp/version-13-hotfix/pr-31648
fix: Patch to make accounting dimension in orders (backport #31648)
2022-07-20 20:01:27 +05:30
Deepesh Garg
e36c74ac44 chore: resolve conflicts 2022-07-20 19:39:18 +05:30
Deepesh Garg
45e25b2d56 chore: do not re run patch
(cherry picked from commit cad2035e07)

# Conflicts:
#	erpnext/patches.txt
2022-07-20 13:32:41 +00:00
Deepesh Garg
55399f2e58 fix: Patch to make accounting dimension in orders
(cherry picked from commit d46e406db7)

# Conflicts:
#	erpnext/patches.txt
2022-07-20 13:32:41 +00:00
Deepesh Garg
a5cd81c73c Merge branch 'version-13' into version-13-hotfix 2022-07-20 17:52:28 +05:30
Nabin Hait
52c8e0a6ea Merge pull request #31644 from nabinhait/asset-monthly-depreciation-v13-hotfix
fix: Removed 'Allow Monthly Depreciation' checkbox
2022-07-20 17:33:15 +05:30
Nabin Hait
616e3c66b9 fix: Removed 'Allow Monthly Depreciation' checkbox and fixed wdv depreciation rate 2022-07-20 17:32:28 +05:30
Nabin Hait
a6e97ea9ab Merge pull request #31626 from nabinhait/pcv-perf-enhancements
perf: Optimization of gl entry processing logic in period closing voucher
2022-07-20 15:39:39 +05:30
Deepesh Garg
2c5e117f01 Merge pull request #31629 from maharshivpatel/fix-einvoice-discounts
fix: (india) (e-invoice) convert discount to absolute value
2022-07-20 13:18:14 +05:30
Marica
a65dd58444 Merge pull request #31416 from frappe/mergify/bp/version-13-hotfix/pr-31412
fix: set default_bom for item (backport #31412)
2022-07-20 11:31:55 +05:30
Nabin Hait
04b077a89f fix: set status on submit/cancel 2022-07-20 11:10:36 +05:30
Nabin Hait
1180135067 fix: Renamed status field to gle_processing_status 2022-07-20 10:50:44 +05:30
Rucha Mahabal
eae4b06a80 Merge pull request #31630 from ruchamahabal/auto-attendance-perf 2022-07-20 10:25:02 +05:30
Maharshi Patel
b0efb98237 fix: (india) (e-invoice) qty should not be changed to 1
Qty of 0 is allowed so can't change item.qty to 1  instead created item_qty and used it.
2022-07-19 22:29:38 +05:30
rohitwaghchaure
e7e1847ec9 Merge pull request #31634 from frappe/mergify/bp/version-13-hotfix/pr-31631
fix: slow stock reposting (backport #31631)
2022-07-19 19:26:35 +05:30
Rohit Waghchaure
a5dae9264d fix: slow stock reposting
(cherry picked from commit 1d80d37ccf)
2022-07-19 13:18:13 +00:00
Marica
284095106c Merge pull request #31588 from SolufyPrivateLimited/Solufyin-oict
fix: Opening Invoice Creation Tool msgprint
2022-07-19 17:47:44 +05:30
Rucha Mahabal
8eb9aaafe9 fix: move auto attendance job to long queue 2022-07-19 16:07:18 +05:30
Rucha Mahabal
6938025952 perf: index shift type and employee in checkins and assignment to avoid full table scans 2022-07-19 16:02:31 +05:30
Maharshi Patel
6e6b55ece0 fix: (india) (e-invoice) discount in CN/DN
discount fixes
2022-07-19 15:31:34 +05:30
Rucha Mahabal
8c9035d914 perf: Use get_cached_value and get_cached_doc 2022-07-19 14:47:14 +05:30
Nabin Hait
cfb11f4b84 test: Added test for PCV cancellation 2022-07-19 14:31:02 +05:30
Marica
feffc3af27 Merge pull request #31627 from frappe/mergify/bp/version-13-hotfix/pr-31515
fix: LCV updates wrong future qty/Bin qty (backport #31515)
2022-07-19 14:21:33 +05:30
marination
ca9c6e1651 test: LCV impact on future stock balancees
(cherry picked from commit de9ea70ce3)
2022-07-19 08:10:22 +00:00
marination
f0ecdbef5a fix: LCV updates wrong future qty/Bin qty
- As -ve LCV SLE case is returned from `repost_current_voucher`, future qty is not updated
- This just doubly shifts all future qty which is then fixed by a repost
- Until the repost balance values are wrong
- Bin continues to show wrong projected qty even after repost, this is fixed by next SLE that recalculates Bin

(cherry picked from commit 7a5fd71a6c)
2022-07-19 08:10:21 +00:00
Marica
31930a16fa Merge pull request #31624 from marination/sub-contract-amount
fix: Set `amount` in Raw Supplied Items table
2022-07-19 12:55:20 +05:30
Deepesh Garg
4f55fef782 Merge pull request #31623 from frappe/mergify/bp/version-13-hotfix/pr-31599
fix: Supplier details in TDS monthly report (backport #31599)
2022-07-19 12:20:29 +05:30
marination
72e8c02ae0 fix: Set Amount in Supplied Item table 2022-07-19 11:47:25 +05:30
Deepesh Garg
f02596242c Merge pull request #31609 from deepeshgarg007/gstr_3b_gst_category
fix(India): Inward supplies from Composition Supplier in GST 3B report
2022-07-19 10:23:44 +05:30
Deepesh Garg
431d79f516 fix: Supplier details in TDS monthly report (#31599)
(cherry picked from commit a6ff4db2ec)
2022-07-19 04:45:28 +00:00
Rucha Mahabal
711501be5e fix: Remove unnecessary list comprehensions 2022-07-18 21:32:04 +05:30
Rucha Mahabal
abb7ac5a0b perf: Replace get_doc with db.get_value in get_shift_details 2022-07-18 21:13:02 +05:30
Rucha Mahabal
85c554eab5 perf: Replace db.get_all with db.exists in is_holiday
- widely used function call, fetching all rows for holidays
2022-07-18 21:08:15 +05:30
Nabin Hait
903e42fbdd perf: Optimization of gl entry processing logic in period closing voucher 2022-07-18 17:59:42 +05:30
mergify[bot]
12d3d6ab49 fix: added Section translation in German for Salary Slip (backport #31608) (#31616)
Co-authored-by: Wolfram Schmidt <wolfram.schmidt@phamos.eu>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-07-18 13:41:42 +05:30
Rucha Mahabal
26497f9c0e Merge pull request #31614 from ruchamahabal/fix-claim-payment
fix: Tax amount not considered in Expense Claim Journal Entry
2022-07-18 13:24:12 +05:30
Rucha Mahabal
6a7549d4b2 test: Journal Entry against Expense Claim 2022-07-18 12:57:50 +05:30
Rucha Mahabal
90c751f648 fix: Tax amount not considered in Expense Claim Journal Entry
- add a helper function `get_outstanding_amount_for_claim` for uniformity in usages
2022-07-18 12:39:09 +05:30
Frappe PR Bot
1090862296 chore(release): Bumped to Version 13.35.3
## [13.35.3](https://github.com/frappe/erpnext/compare/v13.35.2...v13.35.3) (2022-07-18)

### Bug Fixes

* (india) (e-invoice) CN / DN with 0 qty and discount issues ([425abcd](425abcdea7))
2022-07-18 05:21:17 +00:00
mergify[bot]
425abcdea7 fix: (india) (e-invoice) CN / DN with 0 qty and discount issues
* fix: (india) (e-invoice) CN / DN with 0 qty
2022-07-18 10:49:41 +05:30
Deepesh Garg
144057f7e3 Merge pull request #31583 from maharshivpatel/fix-e_invoice-cn-dn-qty-0-error
fix: (india) (e-invoice) CN / DN with 0 qty and discount issues
2022-07-18 09:09:19 +05:30
Maharshi Patel
9631ffd215 fix: test
change setting to run test with correct use case.
2022-07-17 15:40:55 +05:30
Maharshi Patel
9a3c84663f fix: linter 2022-07-17 15:22:37 +05:30
Maharshi Patel
2066e5a53a discount settings for e-invoice added and test cases 2022-07-17 15:08:40 +05:30
Deepesh Garg
b147ce4206 fix(India): Inward supplies from Composition Supplier in 3B report 2022-07-17 00:43:25 +05:30
Deepesh Garg
0d6beed546 test: Update test case 2022-07-16 14:06:01 +05:30
Maharshi Patel
844758a27c fix: (india)(einvoice) discount for CN DN 2022-07-15 16:54:10 +05:30
Maharshi Patel
1f4d434675 fix: (india) (e-invoice) discount calculation
I have added fixes for discount in e-inovice.
2022-07-15 16:03:42 +05:30
Dany Robert
01d6df45d0 fix(india): e-way bill json for unregistered gst category 2022-07-15 11:17:41 +05:30
Deepesh Garg
8c7b836de8 Merge pull request #31595 from maharshivpatel/fix-uin-e_invoice
fix: (india) (e-invoice) allow generation for UIN Holders
2022-07-14 21:25:45 +05:30
Deepesh Garg
9fd1fad259 Merge pull request #31572 from frappe/mergify/bp/version-13-hotfix/pr-31566
fix: Allow multi currency invoice against single party account (backport #31566)
2022-07-14 21:25:17 +05:30
Deepesh Garg
dfa0638baf Merge pull request #31577 from frappe/mergify/bp/version-13-hotfix/pr-31543
feat: Loan balance adjustment doctypes (backport #31543)
2022-07-14 21:24:49 +05:30
Deepesh Garg
0a5bc86d1b chore: resolve conflicts 2022-07-14 17:20:32 +05:30
Deepesh Garg
bdd15895ff chore: resolve conflicts 2022-07-14 17:06:01 +05:30
Maharshi Patel
82539fc18a fix: (india) (e-invoice) allow generation for UIN Holders
e-invoice is required for UIN Holders and they should be treated as Registered Regular. there was incorrect if hasattr check that prevented UIN number validation.
2022-07-14 15:12:51 +05:30
Solufyin
cb80bcd0ee fix: Opening Invoice Creation Tool msgprint 2022-07-13 11:55:47 +05:30
Maharshi Patel
84f260e1d8 fix: (india) (e-invoice) CN / DN with 0 qty
Qty 0 is allowed when creating Credit or Debit Note this caused ZeroDivisionError during unit_rate calculation.
fixed the issue by adding required conditionals.
2022-07-13 01:39:36 +05:30
Sagar Sharma
023c5db3bc Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31412 2022-07-12 23:33:48 +05:30
Deepesh Garg
0b3958d692 chore: Linting Issues
(cherry picked from commit 0bac030ca7)
2022-07-12 12:56:46 +00:00
Deepesh Garg
c2a7dc7754 chore: Linting Issues
(cherry picked from commit d933ff5cf6)
2022-07-12 12:56:46 +00:00
Abhinav Raut
8237d94b11 fix: on cancel for loan refund
(cherry picked from commit 13b7ed1e2c)
2022-07-12 12:56:45 +00:00
Labeeb Mattra
0713a240a7 Consider refund_amount in pending principal amount
(cherry picked from commit 35f2717ad2)
2022-07-12 12:56:45 +00:00
Labeeb Mattra
61b2a1c3cb fix excess amount calculation in loan refund
(cherry picked from commit 9df1413adb)
2022-07-12 12:56:44 +00:00
Labeeb Mattra
94be7a95f7 Update adjustment_type field options
(cherry picked from commit 245b0c7818)
2022-07-12 12:56:44 +00:00
Labeeb Mattra
7ba0326bdd fix adjustment amount field name
(cherry picked from commit 6cc09ef3a2)
2022-07-12 12:56:43 +00:00
Labeeb Mattra
86af1ef6ed fix indent and imports
(cherry picked from commit 0ed6382ab6)
2022-07-12 12:56:43 +00:00
Labeeb Mattra
b995338d0c fix lint
(cherry picked from commit 8434ec09c3)
2022-07-12 12:56:43 +00:00
Labeeb Mattra
0856e14c13 Use adjustment amounts in pending principal amnt
(cherry picked from commit 1b5b2138ee)
2022-07-12 12:56:42 +00:00
Labeeb Mattra
ff5ee2bbac Add ref no to balance adjustment remarks
(cherry picked from commit a1a51ce1a6)
2022-07-12 12:56:42 +00:00
Labeeb Mattra
a36e8a83d8 Add reference number to repayment remarks
(cherry picked from commit 74dbf8c5d9)

# Conflicts:
#	erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
2022-07-12 12:56:41 +00:00
Labeeb Mattra
d81e7e2421 Add NPA checkbox in Loan
(cherry picked from commit 27a8e16b28)
2022-07-12 12:56:41 +00:00
Labeeb Mattra
8181d61293 Update list view for Accrual and Shortfall
(cherry picked from commit 7d6e4898c4)
2022-07-12 12:56:40 +00:00
Labeeb Mattra
548aac5b11 Remove loan account field from doctype
(cherry picked from commit 6febcd529b)
2022-07-12 12:56:40 +00:00
Labeeb Mattra
de69fee6aa Use new adjustment amount fields
(cherry picked from commit 7d468a8778)
2022-07-12 12:56:39 +00:00
Labeeb Mattra
c3e6d7ba29 Seperate credit and debit adjust amount fields in Loan
(cherry picked from commit d6f632a770)
2022-07-12 12:56:38 +00:00
Abhinav Raut
d5ce780e87 feat: add adjustment amount to loan
- fix: bugs in loan balance adjustment

(cherry picked from commit 5c0a25012c)
2022-07-12 12:56:38 +00:00
Labeeb Mattra
a2125e694d Add Loan Balance Adjustment doctype
(cherry picked from commit 2e8f056514)
2022-07-12 12:56:37 +00:00
Labeeb Mattra
0d94653c5b Add Loan Refund doctype
(cherry picked from commit e1682965c5)
2022-07-12 12:56:36 +00:00
Labeeb Mattra
d9723a12c4 Add refund amount to loan
(cherry picked from commit 88cd780ca1)
2022-07-12 12:56:36 +00:00
Labeeb Mattra
d24cb01a9d Add more loan interest accrual types
(cherry picked from commit a81da2ea85)
2022-07-12 12:56:35 +00:00
Labeeb Mattra
ab214bcdfc update loan interest accrual types
(cherry picked from commit 900c878e03)
2022-07-12 12:56:35 +00:00
Frappe PR Bot
751fbd6794 chore(release): Bumped to Version 13.35.2
## [13.35.2](https://github.com/frappe/erpnext/compare/v13.35.1...v13.35.2) (2022-07-12)

### Bug Fixes

* components in the same table don't get updated value of prev payment-days based component ([01beb6f](01beb6f391))
* conflicts ([2045df1](2045df19f9))
* Incorrect provisional expense booking while reposting ([d182137](d182137ed1))
* timeout error while reposting ([07b80c2](07b80c295d))
* Use Contact Name instead of Supplier in RFQ Email ([b0e17de](b0e17dea2a))
* Use fallback conversion factor while setting incoming rate for petty purchase ([2a432c2](2a432c22d4))
* Validate payment-days-based dependent component ([a28c7cf](a28c7cf094))
2022-07-12 09:29:26 +00:00
Deepesh Garg
36566c1d14 Merge pull request #31574 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-07-12 14:57:39 +05:30
Rucha Mahabal
28e4e4320e Merge pull request #31521 from ruchamahabal/fix-salary-calc-pd
fix: components in the same table don't get updated value of prev payment-days based component
2022-07-12 12:06:21 +05:30
Rucha Mahabal
1133062bfc Merge branch 'version-13-hotfix' into fix-salary-calc-pd 2022-07-12 11:42:07 +05:30
Rucha Mahabal
a28c7cf094 fix: Validate payment-days-based dependent component 2022-07-12 11:39:00 +05:30
Deepesh Garg
1c686c732e chore: fix query
(cherry picked from commit e04e67c6bf)
2022-07-11 15:44:49 +00:00
Deepesh Garg
66c5290dee chore: Ignore validation
(cherry picked from commit 3cf609fab1)
2022-07-11 15:44:49 +00:00
Deepesh Garg
9ac9c46dab fix: Allow multi currency invoice against single party account
(cherry picked from commit c83fbd5c50)

# Conflicts:
#	erpnext/accounts/doctype/accounts_settings/accounts_settings.json
2022-07-11 15:44:48 +00:00
Sagar Sharma
faa489bc73 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31412 2022-07-11 17:11:21 +05:30
Sagar Sharma
b17850ac3e chore: conflicts 2022-07-11 17:09:30 +05:30
Marica
7d36bdf292 Merge pull request #31565 from frappe/mergify/bp/version-13-hotfix/pr-31550
fix: Use Contact Name instead of Supplier in RFQ Email (backport #31550)
2022-07-11 12:35:18 +05:30
marination
b331c462ef chore: Instantiate variable unconditionally
(cherry picked from commit 300e812a1f)
2022-07-11 05:52:08 +00:00
marination
b0e17dea2a fix: Use Contact Name instead of Supplier in RFQ Email
(cherry picked from commit 88ac519b24)
2022-07-11 05:52:07 +00:00
Frappe PR Bot
be3b010b44 chore(release): Bumped to Version 13.35.1
## [13.35.1](https://github.com/frappe/erpnext/compare/v13.35.0...v13.35.1) (2022-07-08)

### Bug Fixes

* Use fallback conversion factor while setting incoming rate for petty purchase ([bac8546](bac854628f))
2022-07-08 10:20:30 +00:00
Deepesh Garg
45799f51b3 Merge pull request #31558 from frappe/mergify/bp/version-13/pr-31529
fix: Use fallback conversion factor while setting incoming rate for petty purchase (backport #31529)
2022-07-08 15:48:47 +05:30
marination
bac854628f fix: Use fallback conversion factor while setting incoming rate for petty purchase
- PIs for petty items (that do not need an Item record) are allowed using Item Name field
- If a different UOM is used in this case, conversion factor stays 0 and causes an error
- Fallback to 1 in `set_incoming_rate` for buying
- Selling will need a proper item, so this change is not needed there

(cherry picked from commit aa043fe961)
2022-07-08 09:47:05 +00:00
Deepesh Garg
6d04bafb04 Merge pull request #31518 from frappe/mergify/bp/version-13-hotfix/pr-31516
fix: Incorrect provisional expense booking while reposting (backport #31516)
2022-07-07 11:53:58 +05:30
rohitwaghchaure
c4f39c7b8b Merge pull request #31538 from frappe/mergify/bp/version-13-hotfix/pr-31519
fix: timeout error while reposting (backport #31519)
2022-07-06 14:33:26 +05:30
rohitwaghchaure
2045df19f9 fix: conflicts 2022-07-06 12:34:10 +05:30
Rohit Waghchaure
07b80c295d fix: timeout error while reposting
(cherry picked from commit 78c8bb251e)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/test_stock_entry.py
2022-07-06 07:02:31 +00:00
Marica
a8c3882400 Merge pull request #31534 from frappe/mergify/bp/version-13-hotfix/pr-31529
fix: Use fallback conversion factor while setting incoming rate for petty purchase (backport #31529)
2022-07-06 01:20:51 +05:30
marination
2a432c22d4 fix: Use fallback conversion factor while setting incoming rate for petty purchase
- PIs for petty items (that do not need an Item record) are allowed using Item Name field
- If a different UOM is used in this case, conversion factor stays 0 and causes an error
- Fallback to 1 in `set_incoming_rate` for buying
- Selling will need a proper item, so this change is not needed there

(cherry picked from commit aa043fe961)
2022-07-05 19:09:36 +00:00
Deepesh Garg
776e807ade Merge pull request #31530 from vorasmit/warn-remove-india
chore: deprecation warning for remove-india
2022-07-05 22:46:33 +05:30
Smit Vora
6bda2a0865 chore: deprecation warning for remove-india 2022-07-05 21:20:51 +05:30
Frappe PR Bot
5072e6b1dc chore(release): Bumped to Version 13.35.0
# [13.35.0](https://github.com/frappe/erpnext/compare/v13.34.2...v13.35.0) (2022-07-05)

### Bug Fixes

* **India:** Discounts in E-Invoicing ([9ba7290](9ba7290dc9))
* Internal PI link in Sales Invoice ([8727a6c](8727a6c5da))
* Modify opts parameter misspell (backport [#31476](https://github.com/frappe/erpnext/issues/31476)) ([#31477](https://github.com/frappe/erpnext/issues/31477)) ([4d987a9](4d987a9510)), closes [#31474](https://github.com/frappe/erpnext/issues/31474)
* offset some scheduled jobs to avoid locks (backport [#31466](https://github.com/frappe/erpnext/issues/31466)) ([#31489](https://github.com/frappe/erpnext/issues/31489)) ([b1c6d78](b1c6d789a9))
* **UX:** dont apply price list  when changing batch on mapped docs (backport [#31503](https://github.com/frappe/erpnext/issues/31503)) ([#31504](https://github.com/frappe/erpnext/issues/31504)) ([31fd263](31fd263825))

### Features

* Cash and Non trade discounts in Sales Invoice ([fd2ec25](fd2ec25588))
2022-07-05 08:55:20 +00:00
Deepesh Garg
a8180796db Merge pull request #31524 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-07-05 14:22:20 +05:30
Rucha Mahabal
01beb6f391 fix: components in the same table don't get updated value of prev payment-days based component 2022-07-04 23:14:26 +05:30
Deepesh Garg
d182137ed1 fix: Incorrect provisional expense booking while reposting
(cherry picked from commit 60aad31162)
2022-07-04 14:58:41 +00:00
mergify[bot]
31fd263825 fix(UX): dont apply price list when changing batch on mapped docs (backport #31503) (#31504)
fix(UX): dont apply price list  when changing batch on mapped docs (#31503)

fix(UX): dont apply price list batch change on mapped docs

(cherry picked from commit 7e40c86c56)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-07-04 17:02:11 +05:30
Ankush Menat
5fc93076f4 chore: ignore late binding warnings
Most are false positives

[skip ci]
2022-07-04 13:22:01 +05:30
Deepesh Garg
827794b676 Merge pull request #31510 from frappe/mergify/bp/version-13-hotfix/pr-31405
feat: Cash and Non trade discounts in Sales Invoice (backport #31405)
2022-07-04 11:58:45 +05:30
Deepesh Garg
c72ae178fa chore: resolve conflicts 2022-07-03 14:05:34 +05:30
Deepesh Garg
4a5d681c77 chore: use get instead of . operator
(cherry picked from commit e54ec4b9b6)
2022-07-03 08:05:23 +00:00
Deepesh Garg
57dc1026c8 test: Add test for einvoice discounts
(cherry picked from commit 38352b3e46)
2022-07-03 08:05:22 +00:00
Deepesh Garg
9ba7290dc9 fix(India): Discounts in E-Invoicing
(cherry picked from commit f337213f33)
2022-07-03 08:05:21 +00:00
Deepesh Garg
fd2ec25588 feat: Cash and Non trade discounts in Sales Invoice
(cherry picked from commit 169ff5a0dd)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.js
2022-07-03 08:05:19 +00:00
Deepesh Garg
eb85ef974a Merge pull request #31508 from frappe/mergify/bp/version-13-hotfix/pr-31493
fix: Internal PI link in Sales Invoice (backport #31493)
2022-07-03 10:09:51 +05:30
Deepesh Garg
8727a6c5da fix: Internal PI link in Sales Invoice
(cherry picked from commit 536e768ba9)
2022-07-02 17:17:50 +00:00
Ankush Menat
1b9a4483d4 chore(meta): update CODEOWNERS 2022-07-01 15:44:18 +05:30
Deepesh Garg
fecf567e92 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31412 2022-06-30 16:46:59 +05:30
Ankush Menat
2e130c335a ci: reduce container count on v13 2022-06-30 11:38:12 +05:30
mergify[bot]
b1c6d789a9 fix: offset some scheduled jobs to avoid locks (backport #31466) (#31489)
fix: offset some scheduled jobs to avoid locks (#31466)

If your site has multiple background workers then there's possibility
that two jobs will execute in parallal, this creates problem when both
are on operating on same data.

This PR adds a separate section for hourly and daily jobs which have
frequency offset from default frequency to avoid such conflicts.

(cherry picked from commit 5d73697c64)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-30 11:35:01 +05:30
mergify[bot]
4d987a9510 fix: Modify opts parameter misspell (backport #31476) (#31477)
fix: Modify opts parameter misspell (#31476)

Modify opts parameter misspell

closes #31474

(cherry picked from commit 2a619fd789)

Co-authored-by: gn306029 <gn306029@users.noreply.github.com>
2022-06-29 14:58:03 +05:30
Frappe PR Bot
43cb4fcbb1 chore(release): Bumped to Version 13.34.2
## [13.34.2](https://github.com/frappe/erpnext/compare/v13.34.1...v13.34.2) (2022-06-28)

### Bug Fixes

* add UOM validation for planned-qty ([559bde3](559bde3135))
* dont update RM items table if not required (backport [#31408](https://github.com/frappe/erpnext/issues/31408)) ([#31457](https://github.com/frappe/erpnext/issues/31457)) ([8155306](815530650c))
* General Ledger and TB opening entries mismatch issues ([a0c5c73](a0c5c730f5))
* Monthly depreciation using WDV method ([e7659a1](e7659a10e4))
* Quotation and Sales Order item sync ([2219132](2219132fdb))
* Respect system precision for user facing balance qty values ([#30837](https://github.com/frappe/erpnext/issues/30837)) ([642b9c5](642b9c5466))
* **Salary Slip:** Components not updated when amount evaluates to 0 due to payment days ([#31425](https://github.com/frappe/erpnext/issues/31425)) ([abfe926](abfe926a45))
* translation for filter status on report ([736f206](736f20656d))
* update ru translate (backport [#31404](https://github.com/frappe/erpnext/issues/31404)) ([#31417](https://github.com/frappe/erpnext/issues/31417)) ([8b78a12](8b78a122e7))
2022-06-28 07:31:44 +00:00
Deepesh Garg
0d5bb92149 Merge pull request #31464 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-06-28 13:00:06 +05:30
mergify[bot]
815530650c fix: dont update RM items table if not required (backport #31408) (#31457)
fix: dont update RM items table if not required (#31408)

Currently on PO update RM item table is auto computed again and again,
if there was any transfer/consumption against that then it will be lost.

This change:
1. Disables updating RM table if no change in qty of FG was made. Since
   RM table can't possibly be different with same FG qty.
2. Blocks update completely if qty is changed and RM items are already
   transferred.

(cherry picked from commit dd11f26eba)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-28 10:28:11 +05:30
Deepesh Garg
8ab65bc44e Merge pull request #31453 from frappe/mergify/bp/version-13-hotfix/pr-31446
fix: Quotation and Sales Order item sync (backport #31446)
2022-06-28 08:49:21 +05:30
mergify[bot]
5e7cad476f refactor: clean up product bundle client side code (backport #31455) (#31456)
refactor: clean up product bundle client side code (#31455)

refactor: clean up product bundle cient side code

- Remove deprecated CUR_FRM scripts
- Remove client side fetches and move it to doctype schema

(cherry picked from commit 20dac08f5f)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-27 18:33:17 +05:30
Deepesh Garg
2219132fdb fix: Quotation and Sales Order item sync
(cherry picked from commit 58fe220479)
2022-06-27 05:48:39 +00:00
Deepesh Garg
873d1ecdf0 Merge pull request #31447 from frappe/mergify/bp/version-13-hotfix/pr-31439
fix: General Ledger and TB opening entries mismatch issues (backport #31439)
2022-06-27 09:47:00 +05:30
Deepesh Garg
a0c5c730f5 fix: General Ledger and TB opening entries mismatch issues
(cherry picked from commit 6acd0325be)
2022-06-24 16:15:38 +00:00
Nabin Hait
e7659a10e4 fix: Monthly depreciation using WDV method 2022-06-24 21:12:31 +05:30
Sagar Sharma
96bd493a6f Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31412 2022-06-24 13:17:43 +05:30
Marica
5f8d8c096c Merge pull request #31440 from frappe/mergify/bp/version-13-hotfix/pr-31421
fix: add UOM validation for planned-qty (backport #31421)
2022-06-24 13:02:44 +05:30
s-aga-r
559bde3135 fix: add UOM validation for planned-qty
(cherry picked from commit 00807abe31)
2022-06-24 07:10:55 +00:00
Deepesh Garg
d1bb94bb1d Merge pull request #31431 from frappe/mergify/bp/version-13-hotfix/pr-31395
fix: filter set in Bank Clearance Summary (backport #31395)
2022-06-23 14:26:45 +05:30
Rucha Mahabal
abfe926a45 fix(Salary Slip): Components not updated when amount evaluates to 0 due to payment days (#31425)
* fix(Salary Slip): Components not updated when amount evaluates to 0 due to payment days

* fix: remove 0 valued components that have been updated later
2022-06-23 11:01:00 +05:30
Nihantra C. Patel
4b53ec22c5 Update bank_clearance_summary.py
(cherry picked from commit 0097a2b60c)
2022-06-23 05:25:17 +00:00
Marica
87f77813ea Merge pull request #31422 from frappe/mergify/bp/version-13-hotfix/pr-31420
fix: translation for filter status on report (backport #31420)
2022-06-22 14:01:42 +05:30
Marica
b4e64d0ebb Merge pull request #31423 from marination/bom-update-log-cleanup-perf-hotfix
chore: Clear Progress section for completed logs & `on_submit` UX
2022-06-22 14:01:19 +05:30
marination
fcec318588 chore: Clear Progress section for completed logs & on_submit UX
- Delete `BOM Update Batch` table on 'Completed' log, to save space
- Hide Progress section on 'Completed' log
- Enqueue `on_submit` for 'Update Cost' job, getting leaf boms could take time for huge DBs. Users have to wait for screen to unfreeze.
- Add error handling to `process_boms_cost_level_wise` (Called via cron job and on submit, both in background)
2022-06-22 12:27:08 +05:30
hrzzz
736f20656d fix: translation for filter status on report
(cherry picked from commit 8b1ff96e30)
2022-06-22 06:16:52 +00:00
mergify[bot]
8b78a122e7 fix: update ru translate (backport #31404) (#31417)
* fix: update ru translate (#31404)

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

fix logic

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

(cherry picked from commit ce1b4e40a1)

# Conflicts:
#	erpnext/translations/ru.csv

* chore: Fix merge conflicts

Co-authored-by: Vladislav <integration.into.society@gmail.com>
Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-06-21 20:14:13 +05:30
Marica
1e34616c91 Merge pull request #31393 from frappe/mergify/bp/version-13-hotfix/pr-30837
fix: Respect system precision for user facing balance qty values (backport #30837)
2022-06-21 20:13:23 +05:30
Frappe PR Bot
0a25d28e34 chore(release): Bumped to Version 13.34.1
## [13.34.1](https://github.com/frappe/erpnext/compare/v13.34.0...v13.34.1) (2022-06-21)

### Bug Fixes

* Conversion rate validation for multi-currency invoices ([4186aaf](4186aafd07))
* **india:** e-invoice eligibility if company gstin is not configured ([#31247](https://github.com/frappe/erpnext/issues/31247)) ([7696ae4](7696ae4de1))
* internal transfer GLE validation ([8a4cd2a](8a4cd2aba1))
* Merge Conflicts ([0f3a02d](0f3a02db57))
* Pick Template BOM if variant BOM absent in WO popup from SO ([7c35887](7c35887d07))
* Quotation lost update ([3b9f943](3b9f943335))
* Spelling mistake in quotation depend on (backport [#31362](https://github.com/frappe/erpnext/issues/31362)) ([#31363](https://github.com/frappe/erpnext/issues/31363)) ([ebcdaf7](ebcdaf7c82))
* transaction date gets unset in material request ([#31387](https://github.com/frappe/erpnext/issues/31387)) ([4e2ed6f](4e2ed6f9d9)), closes [#31327](https://github.com/frappe/erpnext/issues/31327)
* UOM handling for transaction without item (backport [#31389](https://github.com/frappe/erpnext/issues/31389)) ([#31391](https://github.com/frappe/erpnext/issues/31391)) ([051e5cd](051e5cd741))

### Performance Improvements

* GLE reposting with progress and chunking (backport [#31343](https://github.com/frappe/erpnext/issues/31343)) ([#31373](https://github.com/frappe/erpnext/issues/31373)) ([f19ed0b](f19ed0b74c))
2022-06-21 11:14:34 +00:00
s-aga-r
def622c13e fix: set default_bom for item
(cherry picked from commit dc2830da4d)

# Conflicts:
#	erpnext/manufacturing/doctype/bom/test_bom.py
2022-06-21 11:13:31 +00:00
Ankush Menat
d6d2215d8e Merge pull request #31414 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-06-21 16:39:04 +05:30
Deepesh Garg
e43e442448 Merge pull request #31413 from frappe/mergify/bp/version-13-hotfix/pr-31264
fix: internal transfer GLE validation (backport #31264)
2022-06-21 14:56:56 +05:30
Ankush Menat
8a4cd2aba1 fix: internal transfer GLE validation
(cherry picked from commit 65b21ee7d6)
2022-06-21 09:02:02 +00:00
Marica
3f4d00d288 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-30837 2022-06-21 11:02:46 +05:30
Deepesh Garg
8b3fc15ca8 Merge pull request #31397 from frappe/mergify/bp/version-13-hotfix/pr-31396
fix: Quotation lost update (backport #31396)
2022-06-21 10:28:45 +05:30
Deepesh Garg
760ba0877c Merge pull request #31411 from frappe/mergify/bp/version-13-hotfix/pr-31350
fix: Conversion rate validation for multi-currency invoices (backport #31350)
2022-06-21 10:28:15 +05:30
Deepesh Garg
da70b69d68 test: Add test case
(cherry picked from commit 8f37393044)
2022-06-21 03:40:13 +00:00
Deepesh Garg
4186aafd07 fix: Conversion rate validation for multi-currency invoices
(cherry picked from commit d05d15346a)
2022-06-21 03:40:13 +00:00
marination
70a7dfe2f0 chore: Missing import flt 2022-06-20 17:18:01 +05:30
Marica
e982abbe4d chore: Change autoname to v13 compatible value (#31407)
- 'autoincrement' is present only in v14
- 'hash' is automatically still used in tables but change value for safety
2022-06-20 17:09:52 +05:30
marination
5bcfbbe124 chore: fix merge conflict 2022-06-20 16:59:18 +05:30
Deepesh Garg
8e2e61ef84 chore: resolve conflicts 2022-06-18 20:23:58 +05:30
Deepesh Garg
b3169edfc8 Merge pull request #31275 from frappe/mergify/bp/version-13-hotfix/pr-31247
fix(india): e-invoice eligibility if company gstin is not configured (backport #31247)
2022-06-17 21:41:44 +05:30
Deepesh Garg
8d63abb442 chore: fix condition
(cherry picked from commit e457288dba)

# Conflicts:
#	erpnext/selling/doctype/quotation/quotation.py
2022-06-17 15:39:53 +00:00
Deepesh Garg
3b9f943335 fix: Quotation lost update
(cherry picked from commit 02f9441e1a)

# Conflicts:
#	erpnext/selling/doctype/quotation/quotation.py
2022-06-17 15:39:52 +00:00
Marica
642b9c5466 fix: Respect system precision for user facing balance qty values (#30837)
* fix: Respect system precision for user facing balance qty values

- `get_precision` -> `set_precision`
- Use system wide currency precision for `stock_value`
- Round of qty defiiciency as per user defined precision (system flt precision), so that it is WYSIWYG for users

* fix: Consider system precision when validating future negative qty

* test: Immediate Negative Qty precision test

- Test for Immediate Negative Qty precision
- Stock Entry Negative Qty message: Format available qty in system precision
- Pass `stock_uom` as confugrable option in `make_item`

* test: Future Negative Qty validation with precision

* fix: Use `get_field_precision` for currency precision as it used to

- `get_field_precision` defaults to number format for precision (maintain old behaviour)
- Don't pass `currency` to `get_field_precision` as its not used anymore

(cherry picked from commit d6078aa911)

# Conflicts:
#	erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py
2022-06-17 09:46:09 +00:00
mergify[bot]
051e5cd741 fix: UOM handling for transaction without item (backport #31389) (#31391)
fix: UOM handling for transaction without item (#31389)

If invoice is made without item code then UOM, Stock UOM and
conversion_factor all need to be manually added, this is confusing and
leads missing them out leads to errors.

Simplest solution:

- if either UOM exists then set both to same uom conversion factor to
- also set conversion factor based on UOM conversions

(cherry picked from commit 10583eb3ce)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-17 15:11:28 +05:30
mergify[bot]
4e2ed6f9d9 fix: transaction date gets unset in material request (#31387)
* fix: transaction date gets unset in material request (#31327)

* fix: set date correctly in material request

* fix: use only `transaction_date` in `get_item_details`

* fix: resolve merge conflict

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2022-06-17 12:04:10 +05:30
Marica
2d6e518f87 Merge pull request #31380 from frappe/mergify/bp/version-13-hotfix/pr-31372
chore: Fix a potential variable misuse bug (backport #31372)
2022-06-16 12:47:58 +05:30
Marica
0f3a02db57 fix: Merge Conflicts 2022-06-16 12:23:13 +05:30
Jingxuan He
2cd03196a4 chore: Fix a potential variable misuse bug (#31372)
* Fix a potential variable misuse bug

* chore: Separate check (separate line) for empty table in Pricing Rule

* chore: Code readability & check for field in row (now row itself)

Co-authored-by: marination <maricadsouza221197@gmail.com>
(cherry picked from commit b4a93da9f3)

# Conflicts:
#	erpnext/accounts/doctype/pricing_rule/pricing_rule.py
2022-06-16 06:47:49 +00:00
Ankush Menat
f19ed0b74c perf: GLE reposting with progress and chunking (backport #31343) (#31373)
* fix: dont use cached doc for GLE reposts

ported from https://github.com/frappe/erpnext/pull/31240

* perf: GLE reposting with progress and chunking

If stock voucher count goes >1000 then fetching all gles and reposting
them all at once requires much more memory and can cause crash.

- This PR ensures that GLE reposting is done in chunks of 100 vouchers.
- This PR also starts keeping track of how many such chunks were
  processed so in future progress is resumed in event of timeout.

* test: add "actual" test for chunked GLE reposting
2022-06-15 20:54:20 +05:30
Marica
001130c0da Merge pull request #31368 from frappe/mergify/bp/version-13-hotfix/pr-31353
fix: Pick Template BOM if variant BOM absent in WO popup from SO (backport #31353)
2022-06-15 15:42:58 +05:30
marination
7c35887d07 fix: Pick Template BOM if variant BOM absent in WO popup from SO
- Use `get_default_bom` in sales_order.py (reduce duplicate utility functions)
- Remove redundant if else in `get_work_order_items`
- `get_default_bom`: If no BOM and template exists try to fetch template BOM
- test: `get_work_order_items` via SO and if right BOM is picked

(cherry picked from commit 9f2d325e67)
2022-06-15 09:07:54 +00:00
mergify[bot]
ebcdaf7c82 fix: Spelling mistake in quotation depend on (backport #31362) (#31363)
* fix: Spelling mistake in quotation depend on (#31362)

Update quotation.json

(cherry picked from commit 37e9622426)

* chore: bump modified

Co-authored-by: Nihantra C. Patel <99652762+nihantra@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-15 12:05:46 +05:30
Frappe PR Bot
943d83b739 chore(release): Bumped to Version 13.34.0
# [13.34.0](https://github.com/frappe/erpnext/compare/v13.33.0...v13.34.0) (2022-06-14)

### Bug Fixes

* (auto-merge) Use `frappe.log_error` instead of `doc.log_error` ([bced6a0](bced6a07b4))
* `test_work_order_with_non_stock_item` ([b827c3b](b827c3b3c9))
* Add cost center in loan document ([c19dfbe](c19dfbe98a))
* **asset:** failing test case ([#31277](https://github.com/frappe/erpnext/issues/31277)) ([8a4c9d1](8a4c9d1238))
* Auto Insert Item Price If Missing when discount & blank UOM (backport [#31168](https://github.com/frappe/erpnext/issues/31168)) ([#31267](https://github.com/frappe/erpnext/issues/31267)) ([e69bff0](e69bff0caa))
* Call `calculate_cost` for Draft BOM and typo in argument ([d035aa2](d035aa2afb))
* Company address filter in quotation ([d375939](d375939475))
* DB update child items, remove redundancy, fix perf ([cbc52a2](cbc52a2e45))
* Depreciate Asset before generating GL Entries on sale ([#30759](https://github.com/frappe/erpnext/issues/30759)) ([dfbfe40](dfbfe403e9))
* Get fresh RM rate in `calculate_rm_cost` ([9a513fd](9a513fda74))
* **India:** Incorrect taxable in GSTR-3B report ([e5d2c59](e5d2c59929))
* **India:** Sales taxes and charges template fetching in quotation ([a1ba847](a1ba8475d0))
* locale Currency and Float setting in update_employee ([391ed9c](391ed9c567))
* misaligned columns in print format of AR/AP report ([81e32e2](81e32e2855))
* Partially Ordered status for quotation ([37ba550](37ba550398))
* purchase invoice standalone return GLEs (backport [#31209](https://github.com/frappe/erpnext/issues/31209)) ([#31263](https://github.com/frappe/erpnext/issues/31263)) ([6d99b5a](6d99b5a95a))
* Reset represents company on disabling internal customer and supplier (backport [#31302](https://github.com/frappe/erpnext/issues/31302)) ([#31306](https://github.com/frappe/erpnext/issues/31306)) ([fb9b302](fb9b302ecf))
* Safe cast `row.rate` (in case of faulty exploded items, edge case but oh well) ([6d65e2b](6d65e2bab4))
* Supplied Qty not updated on Stock Entry cancel ([79b2062](79b20622c9))
* Trial Balance failing to ignore Finance Book ([00371f4](00371f4a22))
* typo in sql condition ([894f945](894f945be7))
* update fr translation (backport [#31232](https://github.com/frappe/erpnext/issues/31232)) ([#31334](https://github.com/frappe/erpnext/issues/31334)) ([5d0f271](5d0f271451))
* update Period Closing Voucher per Company ([5ebbe81](5ebbe81543))
* update ru translate (backport [#31200](https://github.com/frappe/erpnext/issues/31200)) ([#31304](https://github.com/frappe/erpnext/issues/31304)) ([77e4755](77e4755c1f))
* Use `frappe.as_unicode` to decode output of redis module list (backport [#31282](https://github.com/frappe/erpnext/issues/31282)) ([#31283](https://github.com/frappe/erpnext/issues/31283)) ([633a452](633a4521e4))
* **ux:** hide new version btn on unsaved BOM (backport [#31297](https://github.com/frappe/erpnext/issues/31297)) ([#31298](https://github.com/frappe/erpnext/issues/31298)) ([9f6b32a](9f6b32af12))
* **UX:** use doc.status for Job Card status ([#31320](https://github.com/frappe/erpnext/issues/31320)) ([78473b8](78473b8d99))

### Features

* Add german translations ([a3f2cf3](a3f2cf3917))
* Level-wise BOM cost updation ([74d7d81](74d7d81d6e))
* Only update exploded items rate and amount ([a26da58](a26da58718))
* Track progress in Log Batch/Job wise ([3b2a8bf](3b2a8bf837))

### Performance Improvements

* `get_boms_in_bottom_up_order` ([87c2b3b](87c2b3be0b))
* `get_next_higher_level_boms` ([767a775](767a775709))
* Use cached doc instead of `get_doc` ([faa69c9](faa69c942b))
2022-06-14 07:45:40 +00:00
Deepesh Garg
662a63b3f5 Merge pull request #31349 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-06-14 13:13:45 +05:30
Deepesh Garg
55e0c03ef0 Merge pull request #31347 from frappe/mergify/bp/version-13-hotfix/pr-31322
fix: Company address filter in quotation (backport #31322)
2022-06-14 12:44:59 +05:30
Deepesh Garg
da1a948a28 chore: resolve conflicts 2022-06-14 11:36:43 +05:30
Deepesh Garg
823cf88c3c chore: linting issues
(cherry picked from commit fb3da124e5)
2022-06-14 05:47:58 +00:00
Deepesh Garg
37ba550398 fix: Partially Ordered status for quotation
(cherry picked from commit 118c786e63)

# Conflicts:
#	erpnext/selling/doctype/quotation/quotation.json
2022-06-14 05:47:57 +00:00
Deepesh Garg
a1ba8475d0 fix(India): Sales taxes and charges template fetching in quotation
(cherry picked from commit 243625898e)
2022-06-14 05:47:55 +00:00
Deepesh Garg
d375939475 fix: Company address filter in quotation
(cherry picked from commit 2fc04f661a)
2022-06-14 05:47:54 +00:00
Marica
c5bda9cb09 Merge pull request #31344 from frappe/mergify/bp/version-13-hotfix/pr-31341
fix: Supplied Qty not updated on Stock Entry cancel (backport #31341)
2022-06-13 23:24:49 +05:30
Marica
6064ca6fed test: Pass "yes" instead of 1 for is_subcontracted in create_purchase_order 2022-06-13 21:06:04 +05:30
marination
86a0ba5c9f test: PO Supplied Qty reset on cancel/submit
(cherry picked from commit b8f468cb4f)
2022-06-13 15:13:54 +00:00
marination
79b20622c9 fix: Supplied Qty not updated on Stock Entry cancel
- Loop over PO supplied items and update them as data from SE will exclude a row if supplied qty becomes 0 on cancel
- Use DB API insteaf of raw SQL

(cherry picked from commit fa1d9d548e)
2022-06-13 15:13:53 +00:00
Saqib Ansari
fb1325d7a5 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31247 2022-06-13 17:08:23 +05:30
mergify[bot]
5d0f271451 fix: update fr translation (backport #31232) (#31334)
* fix: update fr translation (#31232)

* update fr translation

* fix:update fr translation

* fix:update fr translation

* fix:update fr translation

* fix:update fr translation

* fix:update fr translation

* fix:update fr translation

* fix:update fr translation

* Update fr.csv

update typo

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* update fr translation

* fix: Use elision instead of HTML code equivalent

* fix: Use elision instead of HTML code equivalent (pt 2)

* fix: Use elision/single quote instead of HTML code equivalent (pt 3)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 83367bfe5e)

* fix: Accidental '=' instead of comma

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-06-13 12:18:46 +05:30
Marica
1e6e652988 Merge pull request #31314 from frappe/mergify/bp/version-13-hotfix/pr-31303
fix: locale Currency and Float setting in update_employee (backport #31303)
2022-06-13 10:49:29 +05:30
Marica
ff770bbf04 Merge pull request #31321 from frappe/mergify/bp/version-13-hotfix/pr-31320
fix(UX): use doc.status for Job Card status (backport #31320)
2022-06-13 10:30:05 +05:30
Ankush Menat
78473b8d99 fix(UX): use doc.status for Job Card status (#31320)
- Use doc.status directly for indicator - single source of truth
- Update status to cancelled when doc is cancelled

(cherry picked from commit 39ec0aca95)
2022-06-13 10:04:53 +05:30
Deepesh Garg
977d6969d5 Merge pull request #31318 from frappe/mergify/bp/version-13-hotfix/pr-31295
fix: update Period Closing Voucher per Company (backport #31295)
2022-06-11 23:44:22 +05:30
mergify[bot]
50a4c2e9dc refactor: remove add_fetch (backport #31315) (#31319)
* refactor: remove add_fetch (#31315)

- Sales Team already had fetch from set up
- Set up fetch from on sales partner in sales transaction

Reason for removal: the JS code applies arbitrarily to any field called "sales_person"

(cherry picked from commit 1646fbe478)

# Conflicts:
#	erpnext/selling/sales_common.js

* chore: conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-10 18:30:50 +05:30
hendrik
5ebbe81543 fix: update Period Closing Voucher per Company
Validate period closing voucher company-wise

(cherry picked from commit 74b274f555)
2022-06-10 09:23:36 +00:00
Deepesh Garg
395f86f42b Merge pull request #31310 from frappe/mergify/bp/version-13-hotfix/pr-31294
fix(India): Incorrect taxable in GSTR-3B report (backport #31294)
2022-06-10 14:27:20 +05:30
Deepesh Garg
9e0cb2a467 Merge pull request #31262 from frappe/mergify/bp/version-13-hotfix/pr-30155
fix: Add cost center in loan document (backport #30155)
2022-06-10 13:16:33 +05:30
Deepesh Garg
1aaca097b3 chore: Linting Issues 2022-06-10 12:51:16 +05:30
Deepesh Garg
309bdf257d Merge pull request #31139 from frappe/mergify/bp/version-13-hotfix/pr-31102
feat: Add german translations (backport #31102)
2022-06-10 12:42:10 +05:30
Deepesh Garg
4c9422fb1b chore: resolve conflicts 2022-06-10 12:39:12 +05:30
RJPvT
391ed9c567 fix: locale Currency and Float setting in update_employee
In fieldtypes locale settings (example NL) . and , changes whereby the field is inproperly filled

(cherry picked from commit 17887cde71)
2022-06-10 06:05:51 +00:00
Deepesh Garg
95f8784ea9 chore: Resolve conflicts 2022-06-10 10:59:46 +05:30
Deepesh Garg
176a6722e5 chore: cleanup
(cherry picked from commit 50aafdbe99)
2022-06-10 05:19:55 +00:00
Deepesh Garg
e5d2c59929 fix(India): Incorrect taxable in GSTR-3B report
(cherry picked from commit 20f568c159)
2022-06-10 05:19:54 +00:00
Deepesh Garg
384ce92b4b Merge pull request #31307 from frappe/mergify/bp/version-13-hotfix/pr-31216
fix: Trial Balance failing to ignore Finance Book (backport #31216)
2022-06-10 00:10:23 +05:30
Sun Howwrongbum
894f945be7 fix: typo in sql condition
(cherry picked from commit ee2949aa3f)
2022-06-09 15:05:15 +00:00
Deepesh Garg
44642dba39 chore: Linting Issues
(cherry picked from commit b9dbb36d0e)
2022-06-09 15:05:14 +00:00
Sun Howwrongbum
00371f4a22 fix: Trial Balance failing to ignore Finance Book
(cherry picked from commit 48bde2de2a)
2022-06-09 15:05:14 +00:00
mergify[bot]
fb9b302ecf fix: Reset represents company on disabling internal customer and supplier (backport #31302) (#31306)
fix: Reset represents company on disabling internal customer and supplier (#31302)

(cherry picked from commit c13e5ad741)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
2022-06-09 19:20:53 +05:30
mergify[bot]
77e4755c1f fix: update ru translate (backport #31200) (#31304)
* fix: update ru translate (#31200)

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

fix logic

* Update ru.csv

* Update ru.csv

* Update ru.csv

(cherry picked from commit 2675751d6c)

# Conflicts:
#	erpnext/translations/ru.csv

* fix: Merge conflicts

Co-authored-by: Vladislav <integration.into.society@gmail.com>
Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-06-09 19:16:48 +05:30
Marica
bb431bb21f Merge pull request #31299 from frappe/mergify/bp/version-13-hotfix/pr-31296
fix: misaligned columns in print format of AR/AP report (backport #31296)
2022-06-09 18:31:20 +05:30
Marica
48de5ab62a Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31296 2022-06-09 18:09:09 +05:30
Marica
3816ae21bb Merge pull request #31078 from marination/v13-perf-bom-update-tool
perf: BOM Update Tool (backport)
2022-06-09 17:51:28 +05:30
meaziz
9347cbbc9f chore: Asset Arabic translation Fix (#31221)
Update ar.csv

Fix Translation arabic translation that caused an error when submitting an asset if user language was arabic
2022-06-09 17:43:31 +05:30
ruthra kumar
81e32e2855 fix: misaligned columns in print format of AR/AP report
(cherry picked from commit bbaa14af16)
2022-06-09 12:06:11 +00:00
mergify[bot]
9f6b32af12 fix(ux): hide new version btn on unsaved BOM (backport #31297) (#31298)
fix(ux): hide new version btn on unsaved BOM (#31297)

(cherry picked from commit d9a5213952)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-06-09 17:22:50 +05:30
marination
5a08850aa1 chore: Less hacky tests, versioning (replace bom) and clearing log data (update cost)
- Remove `auto_commit_on_many_writes` in `update_cost_in_level()` as commits happen every N BOMs
- Auto commit every 50 BOMs
- test: Remove hacky `frappe.flags.in_test` returns
- test: Enqueue `now` if in tests (for update cost and replace bom)
- Replace BOM: Copy bom object to `_doc_before_save` so that version.py finds a difference between the two
- Replace BOM: Add reference to version
- Update Cost: Unset `processed_boms` if Log is completed (useless after completion)
- test: `update_cost_in_all_boms_in_test` works close to actual prod implementation (only call Cron job manually)
- Test: use `enqueue_replace_bom`  so that test works closest to production behaviour

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
2022-06-09 16:56:19 +05:30
Marica
7a868a46d5 Merge branch 'version-13-hotfix' into v13-perf-bom-update-tool 2022-06-09 13:33:52 +05:30
mergify[bot]
633a4521e4 fix: Use frappe.as_unicode to decode output of redis module list (backport #31282) (#31283)
fix: Use `frappe.as_unicode` to decode output of redis module list (#31282)

- As of redis 7, a list is added to the result of fetching the module list
- This list cannot be "decoded",so use `frappe.as_unicode` that handles bytes as well as other types

(cherry picked from commit 2832731601)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-06-08 18:12:02 +05:30
Saqib Ansari
e1fe901a91 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31247 2022-06-08 14:21:31 +05:30
Saqib Ansari
8a4c9d1238 fix(asset): failing test case (#31277) 2022-06-08 14:12:59 +05:30
Marica
8656020c00 Merge branch 'version-13-hotfix' into v13-perf-bom-update-tool 2022-06-08 14:09:51 +05:30
marination
289d65a4ed chore: get_valuation_rate sider fixes
- Use qb instead of db.sql
- Don't use `args` as argument for function
- Cleaner variable names
2022-06-08 14:08:45 +05:30
marination
b529a610fb test: Fix test_update_bom_cost_in_all_boms
- Use base_rate for assertions as rate is subject to change due to conversion factor (USD)
2022-06-08 14:08:12 +05:30
marination
c7accb9c33 test: Util to update cost in all BOMs
- Utility to update cost in all BOMs without cron jobs or background jobs (run immediately)
- Re-use util wherever all bom costs are to be updated
- Skip explicit commits if in test
- Specify company in test records (dirty data sometimes, company wh mismatch)
- Skip background jobs queueing if in test
2022-06-08 14:07:34 +05:30
Saqib Ansari
7696ae4de1 fix(india): e-invoice eligibility if company gstin is not configured (#31247)
(cherry picked from commit fb4f8d870b)
2022-06-08 04:06:58 +00:00
Ganga Manoj
dfbfe403e9 fix: Depreciate Asset before generating GL Entries on sale (#30759) 2022-06-08 09:35:43 +05:30
mergify[bot]
e69bff0caa fix: Auto Insert Item Price If Missing when discount & blank UOM (backport #31168) (#31267)
fix: Auto Insert Item Price If Missing when discount & blank UOM (#31168)

* fix: Auto Insert Item Price If Missing when discount and blank UOM

fixes wrong item price insert when discount is used and adds uom=stock_uom instead of blank as price is converted to stock uom

* unit tests added for item with discount

I have added test  for auto_insert_price where discount is used.

* unit test issue fixed

fixed make_sales_order as some of the test that depended on it were failing due to passing of incorrect parameters.

Co-authored-by: Ankush Menat <me@ankush.dev>
(cherry picked from commit b3ccc4bfb9)

Co-authored-by: maharshivpatel <39730881+maharshivpatel@users.noreply.github.com>
2022-06-07 16:04:00 +05:30
Ankush Menat
0e53edfd49 test: sales register report with conditions (#31266) 2022-06-07 16:03:29 +05:30
mergify[bot]
6d99b5a95a fix: purchase invoice standalone return GLEs (backport #31209) (#31263)
* test: create stock test mixin for assertion/utils

(cherry picked from commit 293eb8d722)

# Conflicts:
#	erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py
#	erpnext/stock/tests/test_utils.py

* fix: purchase invoice return GLe

voucher_wise_stock_value contains tuples and the condition was looking
for string, so it's never triggered.

Caused by https://github.com/frappe/erpnext/pull/24200

(cherry picked from commit 7726271e2a)

* chore: conflicts

Co-authored-by: Ankush Menat <me@ankush.dev>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-07 15:43:37 +05:30
Frappe PR Bot
3b1f9fe03b chore(release): Bumped to Version 13.33.0
# [13.33.0](https://github.com/frappe/erpnext/compare/v13.32.0...v13.33.0) (2022-06-07)

### Bug Fixes

* Close unsecured terms loans ([d6d1d79](d6d1d79ba0))
* Consider only Approved leave applications in LWP, Employee Benefit calculations ([7f84c86](7f84c86d43))
* display currencies in validation message. ([ef22337](ef22337a9b))
* incorrect billed_qty in sales order analysis report when multiple delivery notes for item (backport [#31194](https://github.com/frappe/erpnext/issues/31194)) ([#31250](https://github.com/frappe/erpnext/issues/31250)) ([3b1f6da](3b1f6da741))
* incorrect LWP calculation for half days in employee benefit application ([10f0c93](10f0c935fe))
* **India:** GSTIN filter in GSTR-1 report ([abe9fe7](abe9fe70ce))
* **India:** Supplies from composite dealer not showing up ([15712c7](15712c742b))
* **job card:** only hold during draft state (backport [#31243](https://github.com/frappe/erpnext/issues/31243)) ([#31249](https://github.com/frappe/erpnext/issues/31249)) ([a7fc278](a7fc278b60))
* **Leave Application:** 'Cancelled' status shown as 'Open' in list view ([8b48d45](8b48d45286))
* leave balance for earned leaves in backdated Leave Application dashboard (backport [#31253](https://github.com/frappe/erpnext/issues/31253)) ([#31256](https://github.com/frappe/erpnext/issues/31256)) ([a22d92f](a22d92f946))
* only fetch membership expiry if not already set in `member.js` ([#31259](https://github.com/frappe/erpnext/issues/31259)) ([d433784](d433784171))
* Parent dimension filters in orders ([b3cbcd8](b3cbcd871b))
* Pluralize year text instead of optional bracket (backport [#31210](https://github.com/frappe/erpnext/issues/31210)) ([#31212](https://github.com/frappe/erpnext/issues/31212)) ([b31709c](b31709c793))
* re-validate warehouse after 'update items' (backport [#31203](https://github.com/frappe/erpnext/issues/31203)) ([#31206](https://github.com/frappe/erpnext/issues/31206)) ([3a718c7](3a718c7d5f))
* remove leave policy assignment creation patch (backport [#31097](https://github.com/frappe/erpnext/issues/31097)) ([#31204](https://github.com/frappe/erpnext/issues/31204)) ([4aeb448](4aeb448fea))
* Remove redundant query ([3c4cf59](3c4cf5929f))
* Reverse provisional entries on Purchase Invoice cancel ([1fba432](1fba432786))
* **Sales Register:** incorrect query with dimensions (backport [#31242](https://github.com/frappe/erpnext/issues/31242)) ([#31251](https://github.com/frappe/erpnext/issues/31251)) ([0badfc8](0badfc8748))
* Simply cancel reverse entries ([100b8d9](100b8d9b96))

### Features

* **india:** Improve E-way Bill Cancellation. ([#31088](https://github.com/frappe/erpnext/issues/31088)) ([622d25e](622d25e126))
2022-06-07 09:59:51 +00:00
Deepesh Garg
5f7f8361d9 Merge pull request #31265 from frappe/version-13-hotfix
chore: weekly version-13 release
2022-06-07 15:28:17 +05:30
Deepesh Garg
f087246e38 Merge pull request #31261 from frappe/mergify/bp/version-13-hotfix/pr-31258
fix: Close unsecured terms loans (backport #31258)
2022-06-07 14:52:47 +05:30
Deepesh Garg
c19dfbe98a fix: Add cost center in loan document
(cherry picked from commit 5d66cc4c4a)

# Conflicts:
#	erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py
#	erpnext/patches.txt
2022-06-07 08:40:48 +00:00
Deepesh Garg
ef8483d2ea chore: Resolve conflicts 2022-06-07 14:10:44 +05:30
Deepesh Garg
8cb85fa90b Merge pull request #31260 from frappe/mergify/bp/version-13-hotfix/pr-31233
fix: Reverse provisional entries on Purchase Invoice cancel (backport #31233)
2022-06-07 14:03:44 +05:30
Rucha Mahabal
d433784171 fix: only fetch membership expiry if not already set in member.js (#31259) 2022-06-07 14:01:12 +05:30
Deepesh Garg
d6d1d79ba0 fix: Close unsecured terms loans
(cherry picked from commit 815141bf57)

# Conflicts:
#	erpnext/loan_management/doctype/loan/loan.py
2022-06-07 08:24:23 +00:00
Deepesh Garg
42a0b82c71 test: Add test coverage for cancellation
(cherry picked from commit dc8e80ea81)
2022-06-07 08:01:46 +00:00
Deepesh Garg
100b8d9b96 fix: Simply cancel reverse entries
(cherry picked from commit 86a24f3d22)
2022-06-07 08:01:45 +00:00
Deepesh Garg
1fba432786 fix: Reverse provisional entries on Purchase Invoice cancel
(cherry picked from commit 61fa4eb6c9)
2022-06-07 08:01:45 +00:00
Rucha Mahabal
149c6031a1 chore: add missing import 2022-06-07 11:08:29 +05:30
Rucha Mahabal
ad1b419368 test: Employee Benefit Application
- make `get_no_of_days` a function for reusability
2022-06-07 11:08:29 +05:30
Rucha Mahabal
10f0c935fe fix: incorrect LWP calculation for half days in employee benefit application 2022-06-07 11:08:29 +05:30
Rucha Mahabal
8b48d45286 fix(Leave Application): 'Cancelled' status shown as 'Open' in list view 2022-06-07 11:08:29 +05:30
Rucha Mahabal
144d71c6af refactor: rewrite lwp queries using query builder 2022-06-07 11:08:29 +05:30
Rucha Mahabal
7f84c86d43 fix: Consider only Approved leave applications in LWP, Employee Benefit calculations
- do not allow submitting leave applications with 'Cancelled' status
2022-06-07 11:08:29 +05:30
mergify[bot]
a22d92f946 fix: leave balance for earned leaves in backdated Leave Application dashboard (backport #31253) (#31256)
fix: leave balance for earned leaves in backdated Leave Application dashboard

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-06-07 10:22:27 +05:30
Deepesh Garg
86856491b7 Merge pull request #31235 from frappe/mergify/bp/version-13-hotfix/pr-31219
fix: Parent dimension filters in orders (backport #31219)
2022-06-06 20:53:33 +05:30
Deepesh Garg
60d378aed2 chore: Resolve conflicts 2022-06-06 20:36:40 +05:30
mergify[bot]
3b1f6da741 fix: incorrect billed_qty in sales order analysis report when multiple delivery notes for item (backport #31194) (#31250)
* fix: incorrect billed_qty when item has multiple Delivery note

sales order analysis report returns incorrect billed_qty value for
an SO item has multiple delivery notes

(cherry picked from commit 0331e37982)

* test: multiple delivery notes and billed quantity

(cherry picked from commit 4f1bfbb93d)

Co-authored-by: ruthra kumar <ruthra@erpnext.com>
2022-06-06 19:55:18 +05:30
mergify[bot]
a7fc278b60 fix(job card): only hold during draft state (backport #31243) (#31249)
* fix(job card): only hold during draft state (#31243)

(cherry picked from commit ee5bc58e9b)

# Conflicts:
#	erpnext/patches.txt

* chore: conflicts

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-06-06 19:54:56 +05:30
mergify[bot]
0badfc8748 fix(Sales Register): incorrect query with dimensions (backport #31242) (#31251)
fix(Sales Register): incorrect query with dimensions

If accounting dimension is also part of the default filters then same
query is repeated with incorrect syntax.

e.g. `item_group = (child1, child2)` instead of `in` query.

fix: don't add default filter if they are part of dimensions to be
added.

(cherry picked from commit c3219ebad1)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-06 19:54:41 +05:30
marination
d3b06a682c chore: get_valuation_rate in bom.py must always return float & goto Item master if no bins 2022-06-06 18:15:07 +05:30
marination
7bd5558c31 chore: Miscellanous fixes/enhancements
- `get_valuation_rate`: if no bins are found return 0, SLEs do not exist either
- `get_valuation_rate`: Compute average valuation rate via query
- `get_rm_rate_map`: set order_by as None to avoid creating sort index (modified) each time query runs (seen in process list)
- BOM Update Batch: add status field and hide `boms_updated` so that  users can see progress without loading all updated boms (too much data)
- BOM Update Batch: set batch row status to completed after job runs
- BOM Update Log: remove `parent_boms` field (just pass parent boms to processing function) & remove Paused state (not used)
- Move job to long queue to avoid choking default queue
- `update_cost_in_boms`: use `get_doc` as each BOM is accessed only once. Use `for_update` to lock BOM row
- Commit after every 100 BOMs
2022-06-06 17:04:06 +05:30
Deepesh Garg
b58c7750c6 Merge pull request #31237 from frappe/mergify/bp/version-13-hotfix/pr-31223
fix: display currencies in validation message. (backport #31223)
2022-06-06 14:48:21 +05:30
Deepesh Garg
aaaacf9a8f Merge pull request #31241 from frappe/mergify/bp/version-13-hotfix/pr-31230
fix: Remove redundant query (backport #31230)
2022-06-06 14:48:00 +05:30
Deepesh Garg
3c4cf5929f fix: Remove redundant query
(cherry picked from commit a200e7e1fb)
2022-06-06 06:54:41 +00:00
Deepesh Garg
ed89963d65 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31223 2022-06-06 12:24:34 +05:30
Deepesh Garg
281fe34457 Merge pull request #31236 from frappe/mergify/bp/version-13-hotfix/pr-31231
fix(India): Supplies from composite dealer not showing up (backport #31231)
2022-06-06 12:24:20 +05:30
Deepesh Garg
d07014340f Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31223 2022-06-06 11:50:30 +05:30
Deepesh Garg
fa0984f192 Merge pull request #31234 from frappe/mergify/bp/version-13-hotfix/pr-31218
fix(India): GSTIN filter in GSTR-1 report (backport #31218)
2022-06-06 11:45:41 +05:30
Deepesh Garg
3ea2c95768 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31223 2022-06-06 10:42:48 +05:30
Deepesh Garg
23d94c135f Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31231 2022-06-06 10:42:41 +05:30
Deepesh Garg
66bc9a974e Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-31218 2022-06-06 10:42:28 +05:30
Deepesh Garg
91716e9c26 Merge pull request #31238 from frappe/mergify/bp/version-13-hotfix/pr-31217
ci: stale apt cache (backport #31217)
2022-06-06 10:06:41 +05:30
Ankush Menat
2db12d7bfa ci: stale apt cache (#31217)
(cherry picked from commit c7efa3b44d)
2022-06-06 04:03:14 +00:00
Devin Slauenwhite
f4a4dacb22 chore: linter
(cherry picked from commit b061ea4cd2)
2022-06-06 03:37:41 +00:00
Devin Slauenwhite
ef22337a9b fix: display currencies in validation message.
(cherry picked from commit 3a1c923e76)
2022-06-06 03:37:40 +00:00
Deepesh Garg
15712c742b fix(India): Supplies from composite dealer not showing up
(cherry picked from commit db07831db7)
2022-06-06 03:30:59 +00:00
Deepesh Garg
b3cbcd871b fix: Parent dimension filters in orders
(cherry picked from commit 3f376cc3a5)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.js
2022-06-06 03:29:07 +00:00
Deepesh Garg
abe9fe70ce fix(India): GSTIN filter in GSTR-1 report
(cherry picked from commit f0ac394d6e)
2022-06-06 03:28:38 +00:00
marination
3b2a8bf837 feat: Track progress in Log Batch/Job wise
- This was done due to stale reads while the background jobs tried updating status of the log
- Added a table where all bom jobs within log will be tracked with what level they are processing
- Cron job will check if table jobs are all processed every 5 mins
- If yes, it will prepare parents and call `process_boms_cost_level_wise` to start next level
- If pending jobs, do nothing
- Current BOM Level is being tracked that helps adding rows to the table
- Individual bom cost jobs (that are queued) will process and update boms > will update BOM Update Batch table row with list of updated BOMs
2022-06-02 13:41:56 +05:30
mergify[bot]
b31709c793 fix: Pluralize year text instead of optional bracket (backport #31210) (#31212)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
Co-authored-by: Mohammad Hussain Nagaria <34810212+NagariaHussain@users.noreply.github.com>
2022-06-01 16:47:02 +05:30
mergify[bot]
3a718c7d5f fix: re-validate warehouse after 'update items' (backport #31203) (#31206)
fix: re-validate warehouse after 'update items' (#31203)

(cherry picked from commit c84e11ac82)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-06-01 15:24:55 +05:30
mergify[bot]
8b985d632f test: fix attendance tests for unmarked days (backport #31205) (#31208)
test: fix attendance tests for unmarked days (#31205)

* test: fix attendance tests for unmarked days

* chore: remove unused import

(cherry picked from commit 536f1dfc4b)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-06-01 14:15:59 +05:30
mergify[bot]
4aeb448fea fix: remove leave policy assignment creation patch (backport #31097) (#31204)
* fix: remove leave policy assignment creation patch (#31097)

(cherry picked from commit d4b9cc0242)

# Conflicts:
#	erpnext/patches.txt

* chore: fix conflicts

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-06-01 12:46:17 +05:30
Deepesh Garg
910ab405ae Merge pull request #31188 from frappe/mergify/bp/version-13-hotfix/pr-31088
feat(india): Check E-way Bill Status before Cancellation. (backport #31088)
2022-05-31 21:41:54 +05:30
Frappe PR Bot
56070c7b86 chore(release): Bumped to Version 13.32.0
# [13.32.0](https://github.com/frappe/erpnext/compare/v13.31.1...v13.32.0) (2022-05-31)

### Bug Fixes

* add list view settings for Gratuity ([e4426ad](e4426addeb))
* amount precision for Tax Exemption Proof Submission ([bb04e4b](bb04e4b6de))
* component pay calculation ([b1e119d](b1e119d97d))
* conflicts ([cdb884b](cdb884bbf2))
* conflicts ([c02a89d](c02a89db4d))
* conflicts ([6aa6114](6aa6114757))
* date filter on quality inspection report (backport [#31148](https://github.com/frappe/erpnext/issues/31148)) ([#31164](https://github.com/frappe/erpnext/issues/31164)) ([f19747c](f19747cee0))
* Exchange rate reste to 1 on making mapped doc ([91863c7](91863c7457))
* Gratuity status not updated on salary slip submission ([0a014ed](0a014edd7a))
* HRA Exemption calculation in case of multiple salary structure assignments ([de8f5f8](de8f5f87d0))
* Improve button labels in Warehouse (backport [#31101](https://github.com/frappe/erpnext/issues/31101)) ([#31150](https://github.com/frappe/erpnext/issues/31150)) ([d891394](d891394dc8))
* **india:** duplicate qrcode and hide button ([#31154](https://github.com/frappe/erpnext/issues/31154)) ([f40100d](f40100d483))
* Job Opening linked to Staffing Plan cannot be created/updated if there are existing employees ([b4a3a53](b4a3a533c8))
* **pos:** freeze screen while processing pos invoices ([#30850](https://github.com/frappe/erpnext/issues/30850)) ([a7bf236](a7bf236c28))
* skip existing batch number during autogen (backport [#31140](https://github.com/frappe/erpnext/issues/31140)) ([#31144](https://github.com/frappe/erpnext/issues/31144)) ([a380bae](a380bae298))
* Tax Declaration tests and amount precision ([1e728df](1e728df54c))
* validation message ([096ae21](096ae210e1))

### Features

* Auto accrue loan interest for backdated term loans ([89c4d51](89c4d518e1))
* live preview of naming series on naming series tool (backport [#31141](https://github.com/frappe/erpnext/issues/31141)) ([#31146](https://github.com/frappe/erpnext/issues/31146)) ([fd2f3b9](fd2f3b9061))
* provision to exclude exploded items in the BOM (backport [#29450](https://github.com/frappe/erpnext/issues/29450)) ([#31174](https://github.com/frappe/erpnext/issues/31174)) ([50d338d](50d338df30))
2022-05-31 13:22:25 +00:00
Ankush Menat
683256eccc Merge pull request #31197 from frappe/version-13-hotfix
chore: weekly release for version-13
2022-05-31 18:50:44 +05:30
marination
e6ad56cd68 chore: Limit Update Cost jobs & db_update only if changed values
- If `Update Cost` job is ongoing, then block creation of new ones since all BOMs are updated
- `db_update` in `calculate_rm_cost` only if changed values to reduce redundant row updates
- Misc: Use variable for batch size
2022-05-31 16:01:22 +05:30
Rucha Mahabal
cdb884bbf2 fix: conflicts 2022-05-31 13:11:32 +05:30
Rucha Mahabal
2c26ab599a test: HRA Exemption in Proof Submission
(cherry picked from commit ed1ba677d6)
2022-05-31 13:11:32 +05:30
Rucha Mahabal
bb04e4b6de fix: amount precision for Tax Exemption Proof Submission
(cherry picked from commit cfe2f8cac1)
2022-05-31 13:11:32 +05:30
Rucha Mahabal
66deee1582 test: set country to India before running regional tests
(cherry picked from commit 2e98e9e0b9)
2022-05-31 13:11:32 +05:30
Rucha Mahabal
1e728df54c fix: Tax Declaration tests and amount precision
(cherry picked from commit 00adda7c8d)
2022-05-31 13:11:32 +05:30
Rucha Mahabal
c1f6f11e91 test: HRA Exemption in Employee Tax Exemption Declaration
(cherry picked from commit 5e96a46c87)
2022-05-31 13:11:32 +05:30
Rucha Mahabal
b1e119d97d fix: component pay calculation
(cherry picked from commit 2b65c9616f)
2022-05-31 13:11:32 +05:30
Rucha Mahabal
de8f5f87d0 fix: HRA Exemption calculation in case of multiple salary structure assignments
(cherry picked from commit 34925a3a8c)

# Conflicts:
#	erpnext/regional/india/utils.py
2022-05-31 13:11:32 +05:30
maharshivpatel
622d25e126 feat(india): Improve E-way Bill Cancellation. (#31088)
(cherry picked from commit a8f98f3f96)
2022-05-31 06:45:23 +00:00
Deepesh Garg
99917af73f Merge pull request #31156 from frappe/mergify/bp/version-13-hotfix/pr-30850
fix(pos): freeze screen while processing pos invoices (backport #30850)
2022-05-31 10:56:32 +05:30
Deepesh Garg
698c9ed3bc Merge pull request #31186 from frappe/mergify/bp/version-13-hotfix/pr-31127
feat: Auto accrue loan interest for backdated term loans (backport #31127)
2022-05-31 10:28:38 +05:30
Deepesh Garg
3344823b7d Merge pull request #31185 from frappe/mergify/bp/version-13-hotfix/pr-31184
fix(accounts): Ignore Cancelled GL Entries (backport #31184)
2022-05-31 10:28:27 +05:30
Deepesh Garg
89c4d518e1 feat: Auto accrue loan interest for backdated term loans
(cherry picked from commit 96d8b1ef3c)
2022-05-31 04:28:29 +00:00
Mitchy25
d8531f20a0 Ignore Cancelled GL Entries
Profitability Analysis includes 'is_cancelled' GL Entries which means that the profit numbers are incorrect. This change will ensure that the profit figures ignore cancelled GL Entries.

(cherry picked from commit a0c412a0dd)
2022-05-31 04:19:35 +00:00
Rucha Mahabal
2fe54e5435 chore: add Interview doctypes to HR workspace (#31181) 2022-05-30 18:26:20 +05:30
mergify[bot]
0759a8aee3 chore: remove unused bill no & date from purchase receipt (backport #31163) (#31177)
chore: remove unused bill no & date from purchase receipt (#31163)

(cherry picked from commit 08bf0baaae)

Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2022-05-30 15:50:04 +05:30
mergify[bot]
50d338df30 feat: provision to exclude exploded items in the BOM (backport #29450) (#31174)
* feat: provision to exclude exploded items in the BOM (#29450)

(cherry picked from commit b75b00fefc)

* fix(ux): "New Version" button BOM

"duplicate" technically creates a new version but that's not intuitive
at all.

* fix: only erase BOM when do_not_explode is set

* fix: allow non-explosive recrusive BOMs

Recursion should be allowed as long as child item is not "exploded"
further by a BOM.

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-30 15:43:49 +05:30
Ankush Menat
eb8d30fe06 chore: remove framework tests from erpnext
Similar tests exist in FW and this is failing because someone updated
the translations
2022-05-30 15:42:34 +05:30
mergify[bot]
7767dc1ee3 chore: update translation fr for BOM (backport #31126) (#31165)
* chore: update translation fr for BOM (#31126)

* fix: update translation

* fix: fr translation for BOM

(cherry picked from commit ce8e05146e)

* chore: format

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-29 22:10:46 +05:30
marination
bced6a07b4 fix: (auto-merge) Use frappe.log_error instead of doc.log_error
- The latter is only on develop
2022-05-27 22:06:12 +05:30
marination
6d65e2bab4 fix: Safe cast row.rate (in case of faulty exploded items, edge case but oh well) 2022-05-27 22:01:26 +05:30
marination
767a775709 perf: get_next_higher_level_boms
- Separate getting dependants and checking if they are valid (loop within loop led to redundant processing that slowed down function)
- Adding to above, the same dependant(parent) was repeatedly processed as many children shared it. Expensive.
- Use a parent-child map similar to child-parent map to check if all children are resolved
- `map.get()` reduced time: 10 mins -> 0.9s~1 second (as compared to `get_cached_doc` or query)
- Total time: 17 seconds to process 6599 leaf boms and 4.2L parent boms
- Previous Total time: >10 mins (I terminated it due to not wanting to waste time XD)
2022-05-27 21:16:07 +05:30
mergify[bot]
f19747cee0 fix: date filter on quality inspection report (backport #31148) (#31164)
fix: date filter on quality inspection report (#31148)

* fix: date filter

fix from date to to date filter btw those days

* fix: remove unnecessary conditions

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
(cherry picked from commit 7ff8acac51)

Co-authored-by: MOHAMMED NIYAS <76736615+niyazrazak@users.noreply.github.com>
2022-05-27 17:32:24 +05:30
marination
12f0a9a183 chore: Change BOM Progress field types to Long Text 2022-05-27 17:05:29 +05:30
Rucha Mahabal
b98f3647ec Merge pull request #31162 from frappe/mergify/bp/version-13-hotfix/pr-31160
fix: Gratuity status not updated on salary slip submission (backport #31160)
2022-05-27 15:49:08 +05:30
Rucha Mahabal
c02a89db4d fix: conflicts 2022-05-27 15:30:29 +05:30
Rucha Mahabal
6aa6114757 fix: conflicts 2022-05-27 15:11:49 +05:30
marination
a26da58718 feat: Only update exploded items rate and amount
- Generate RM-Rate map from Items table (will include subassembly items with rate)
- Function to reset exploded item rate from above map
- `db_update` exploded item rate only if rate is changed
- Via Update Cost, only update exploded items rate, do not regenerate table again
- Exploded Items are regenerated on Save and Replace BOM job
- `calculate_exploded_cost` is run only via non doc events (Update Cost button, Update BOMs Cost Job)
2022-05-27 15:10:50 +05:30
Rucha Mahabal
30cbe8feb6 test: make holiday list before running gratuity tests
(cherry picked from commit c9e070393d)
2022-05-27 09:36:21 +00:00
Rucha Mahabal
e4426addeb fix: add list view settings for Gratuity
(cherry picked from commit 79b0aede00)

# Conflicts:
#	erpnext/payroll/doctype/gratuity/gratuity.json
2022-05-27 09:36:21 +00:00
Rucha Mahabal
b5d66877d8 refactor: clean-up gratuity tests
(cherry picked from commit 6c66bbbbfe)

# Conflicts:
#	erpnext/payroll/doctype/gratuity/test_gratuity.py
2022-05-27 09:36:20 +00:00
Rucha Mahabal
00a6bc7970 test: Gratuity status for payment via salary slip
(cherry picked from commit b81d7519c1)

# Conflicts:
#	erpnext/payroll/doctype/gratuity/test_gratuity.py
2022-05-27 09:36:20 +00:00
Rucha Mahabal
0a014edd7a fix: Gratuity status not updated on salary slip submission
(cherry picked from commit 385e22a067)
2022-05-27 09:36:19 +00:00
Frappe PR Bot
1bffd06e3a chore(release): Bumped to Version 13.31.1
## [13.31.1](https://github.com/frappe/erpnext/compare/v13.31.0...v13.31.1) (2022-05-27)

### Bug Fixes

* Exchange rate reste to 1 on making mapped doc ([e5b586f](e5b586ffd5))
2022-05-27 06:50:43 +00:00
Deepesh Garg
0371c62eae Merge pull request #31158 from frappe/mergify/bp/version-13/pr-31155
fix: Exchange rate reste to 1 on making mapped doc (backport #31155)
2022-05-27 12:19:09 +05:30
Deepesh Garg
f820d8d35e Merge pull request #31157 from frappe/mergify/bp/version-13-hotfix/pr-31155
fix: Exchange rate reste to 1 on making mapped doc (backport #31155)
2022-05-27 12:18:26 +05:30
Deepesh Garg
e5b586ffd5 fix: Exchange rate reste to 1 on making mapped doc
(cherry picked from commit 2a10f09d8d)
2022-05-27 06:47:55 +00:00
Deepesh Garg
91863c7457 fix: Exchange rate reste to 1 on making mapped doc
(cherry picked from commit 2a10f09d8d)
2022-05-27 06:47:35 +00:00
mergify[bot]
f40100d483 fix(india): duplicate qrcode and hide button (#31154) 2022-05-27 12:16:47 +05:30
HarryPaulo
a7bf236c28 fix(pos): freeze screen while processing pos invoices (#30850)
(cherry picked from commit 4b04694c2c)
2022-05-27 06:46:26 +00:00
mergify[bot]
d891394dc8 fix: Improve button labels in Warehouse (backport #31101) (#31150)
* style: format warehouse js

(cherry picked from commit c704ad889d)

* fix: improve labels, simplify logic

(cherry picked from commit a6ddd86d31)

* fix: german translations

(cherry picked from commit 9356eb11de)

* fix: remove unsupported arguments

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
(cherry picked from commit e77c379cbb)

* refactor: set queries during setup

(cherry picked from commit 1b16eb7667)

* style: format

(cherry picked from commit 1e9f9c452f)

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
2022-05-27 12:11:12 +05:30
mergify[bot]
a380bae298 fix: skip existing batch number during autogen (backport #31140) (#31144)
* fix: skip existing batch number during autogen (#31140)

* test: correctly check for existing item

* test: batch no for test PR generation

Co-authored-by: Ankush Menat <me@ankush.dev>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-26 20:55:29 +05:30
mergify[bot]
fd2f3b9061 feat: live preview of naming series on naming series tool (backport #31141) (#31146)
* chore: resave naming series doctype schema

separate commit to avoid mixing actual changes

(cherry picked from commit 82cd54b40b)

* feat: preview next numbers on naming series tool

(cherry picked from commit 24d1bf5328)

* docs: update help information on naming series

(cherry picked from commit 4d0e2aa33a)

* test: add basic tests for naming series tool

(cherry picked from commit 964b4184a6)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-26 17:10:49 +05:30
Rucha Mahabal
2ce90afa25 Merge pull request #31142 from frappe/mergify/bp/version-13-hotfix/pr-31130 2022-05-26 13:42:48 +05:30
Rucha Mahabal
096ae210e1 fix: validation message
(cherry picked from commit 2bc6d46070)
2022-05-26 07:54:35 +00:00
Rucha Mahabal
ec63912253 test: Job Opening against a Staffing Plan
(cherry picked from commit ab0ef60918)
2022-05-26 07:54:35 +00:00
Rucha Mahabal
b4a3a533c8 fix: Job Opening linked to Staffing Plan cannot be created/updated if there are existing employees
(cherry picked from commit 29228575fa)
2022-05-26 07:54:34 +00:00
barredterra
a3f2cf3917 feat: Add german translations
(cherry picked from commit 2388d86623)

# Conflicts:
#	erpnext/translations/de.csv
2022-05-26 06:20:15 +00:00
Frappe PR Bot
91e935fee7 chore(release): Bumped to Version 13.31.0
# [13.31.0](https://github.com/frappe/erpnext/compare/v13.30.0...v13.31.0) (2022-05-26)

### Bug Fixes

* Account currency validation for first transaction ([228f10b](228f10bf30))
* Add party account validation for journal entry ([7f853b1](7f853b1f0f))
* always update item_name for stock entry (backport [#31068](https://github.com/frappe/erpnext/issues/31068)) ([#31071](https://github.com/frappe/erpnext/issues/31071)) ([f519dc6](f519dc613c))
* change project's actual_start_date fieldtype from Data to Date (backport [#31085](https://github.com/frappe/erpnext/issues/31085)) ([#31135](https://github.com/frappe/erpnext/issues/31135)) ([8c2f203](8c2f203361))
* Chart data for monthly periodicity in Cash Flow report ([#31039](https://github.com/frappe/erpnext/issues/31039)) ([f14e9b7](f14e9b7502))
* corrective job card creation (backport [#31083](https://github.com/frappe/erpnext/issues/31083)) ([#31084](https://github.com/frappe/erpnext/issues/31084)) ([c17c260](c17c260a65))
* don't capture payments with invoice_id as donations ([168a9d4](168a9d417b))
* employee advance status update on return via additional salary ([d59c3d2](d59c3d2142))
* Handle missing HSN Codes ([ce3a21e](ce3a21eb03))
* Healthcare module accounting test cases ([09a42a1](09a42a122f))
* **India:** Async issue in company address trigger ([2ea3318](2ea331852a))
* **india:** error while parsing e-invoice ([#31061](https://github.com/frappe/erpnext/issues/31061)) ([1461d66](1461d66dda))
* **india:** eway bill cancel api is disabled ([#31060](https://github.com/frappe/erpnext/issues/31060)) ([95491e1](95491e1718))
* Job Card excess transfer behaviour (backport [#31054](https://github.com/frappe/erpnext/issues/31054)) ([#31096](https://github.com/frappe/erpnext/issues/31096)) ([3984f04](3984f04a49))
* Leave Encashment calculations (backport [#31062](https://github.com/frappe/erpnext/issues/31062)) ([#31091](https://github.com/frappe/erpnext/issues/31091)) ([ba76b64](ba76b6419e))
* Loan Doc query in Bank Reconciliation Statement ([611d1af](611d1af526))
* Loan repayment entries for payroll payable account ([ea6d754](ea6d754f73))
* multiple entries for same payment term ([90b1147](90b1147365))
* Party account validation in JV ([d10c2e5](d10c2e50be))
* payments duplicate on pos closing entry (backport [#30976](https://github.com/frappe/erpnext/issues/30976)) ([#31005](https://github.com/frappe/erpnext/issues/31005)) ([0efbabe](0efbabe7cf))
* **pos:** paid amount calculation for multicurrency invoice ([#31122](https://github.com/frappe/erpnext/issues/31122)) ([98eb7da](98eb7da06a))
* remove bad default for Membership From Date ([34928d2](34928d29f1))
* Remove validation from Journal Entry ([4ca6cdc](4ca6cdca76))
* replace document states with list settings ([78e9e66](78e9e66d63))
* timesheet fetching in sales invoice ([216c32f](216c32f4bc))
* Use directly <a> and style it as button instead of using button ([0ab9fc0](0ab9fc0040))

### Features

* **Employee Advance:** add 'Returned' and 'Partly Claimed and Returned' status ([42e7a86](42e7a86a3b))

### Reverts

* Revert "fix: Add party account validation for journal entry" ([9d43a90](9d43a90eb0))
2022-05-26 05:38:49 +00:00
Deepesh Garg
63288fcd6c Merge pull request #31137 from frappe/version-13-hotfix
chore: Weekly release for version-13
2022-05-26 11:07:11 +05:30
mergify[bot]
8c2f203361 fix: change project's actual_start_date fieldtype from Data to Date (backport #31085) (#31135)
Co-authored-by: sersaber <93864988+sersaber@users.noreply.github.com>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-05-26 10:32:10 +05:30
Deepesh Garg
0b0d57f7c2 Merge pull request #31128 from frappe/mergify/bp/version-13-hotfix/pr-26916
fix: Account currency validation for first transaction (backport #26916)
2022-05-26 09:41:19 +05:30
Deepesh Garg
5748af7d53 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-26916 2022-05-26 09:23:46 +05:30
Deepesh Garg
7df829f9cc chore: Update test case 2022-05-26 09:03:18 +05:30
Deepesh Garg
3d51d125bf chore: Update test case 2022-05-25 23:52:40 +05:30
Deepesh Garg
68d1787eeb Merge pull request #31124 from nextchamp-saqib/fix-timesheet-fetch
fix: timesheet fetching in sales invoice
2022-05-25 20:15:19 +05:30
Deepesh Garg
a61d7558eb Merge pull request #31132 from frappe/mergify/bp/version-13-hotfix/pr-31039
fix: Chart data for monthly periodicity in Cash Flow report (backport #31039)
2022-05-25 20:10:08 +05:30
Deepesh Garg
14422eaf59 chore: Update test cases 2022-05-25 20:06:31 +05:30
Deepesh Garg
4aed7eda91 Merge pull request #31131 from frappe/mergify/bp/version-13-hotfix/pr-31129
fix: Loan Doc query in Bank Reconciliation Statement (backport #31129)
2022-05-25 19:41:40 +05:30
xdlumertz
f14e9b7502 fix: Chart data for monthly periodicity in Cash Flow report (#31039)
fix: Chart data for monthly periodicity in Cash Flow report
(cherry picked from commit c5e922c76b)
2022-05-25 14:10:33 +00:00
Deepesh Garg
cd00cb2fb7 chore: Linting Issues
(cherry picked from commit 9e4a36089e)
2022-05-25 13:52:10 +00:00
Deepesh Garg
74ddf261e9 chore: Linting Issues
(cherry picked from commit a1f53f8d31)
2022-05-25 13:52:09 +00:00
Deepesh Garg
611d1af526 fix: Loan Doc query in Bank Reconciliation Statement
(cherry picked from commit 147fc8fde7)
2022-05-25 13:52:08 +00:00
Deepesh Garg
3fab8a2213 chore: Remove unintended changes 2022-05-25 19:20:09 +05:30
Deepesh Garg
f724f6d1bb chore: Resolve conflicts 2022-05-25 19:04:20 +05:30
Deepesh Garg
a5bd76bbb1 Merge pull request #31076 from frappe/mergify/bp/version-13-hotfix/pr-31004
fix: duplicate entries in payment terms report output (backport #31004)
2022-05-25 17:09:15 +05:30
Deepesh Garg
761669c7ca chore: Update test case
(cherry picked from commit bc34737709)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
2022-05-25 11:33:46 +00:00
Deepesh Garg
0628785c64 test: Update test cases
(cherry picked from commit 65232edfd5)

# Conflicts:
#	erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
#	erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py
2022-05-25 11:33:45 +00:00
Deepesh Garg
4ca6cdca76 fix: Remove validation from Journal Entry
(cherry picked from commit 5b8726405d)

# Conflicts:
#	erpnext/accounts/doctype/journal_entry/journal_entry.py
2022-05-25 11:33:44 +00:00
Deepesh Garg
d10c2e50be fix: Party account validation in JV
(cherry picked from commit 417d6abcf4)

# Conflicts:
#	erpnext/accounts/doctype/journal_entry/journal_entry.py
2022-05-25 11:33:43 +00:00
Deepesh Garg
4727482737 test: Set default currency for patient
(cherry picked from commit 30876a105c)

# Conflicts:
#	erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py
2022-05-25 11:33:43 +00:00
Deepesh Garg
e28f6b7d31 test: fix property name
(cherry picked from commit c10a22529c)

# Conflicts:
#	erpnext/healthcare/doctype/patient_appointment/patient_appointment.py
2022-05-25 11:33:42 +00:00
Deepesh Garg
8f969fbd66 test: Update test cases for currency change validation
(cherry picked from commit 60915e874d)

# Conflicts:
#	erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
#	erpnext/healthcare/doctype/patient_appointment/patient_appointment.py
#	erpnext/healthcare/doctype/therapy_plan/therapy_plan.py
#	erpnext/non_profit/doctype/membership/membership.py
2022-05-25 11:33:42 +00:00
Deepesh Garg
9d43a90eb0 Revert "fix: Add party account validation for journal entry"
This reverts commit f00620a3ca.

(cherry picked from commit 0a618817dc)
2022-05-25 11:33:39 +00:00
Deepesh Garg
09a42a122f fix: Healthcare module accounting test cases
(cherry picked from commit bcaf475295)

# Conflicts:
#	erpnext/healthcare/doctype/lab_test/test_lab_test.py
2022-05-25 11:33:39 +00:00
Deepesh Garg
7f853b1f0f fix: Add party account validation for journal entry
(cherry picked from commit f00620a3ca)
2022-05-25 11:33:38 +00:00
Deepesh Garg
228f10bf30 fix: Account currency validation for first transaction
(cherry picked from commit 80c85dd17c)

# Conflicts:
#	erpnext/controllers/accounts_controller.py
2022-05-25 11:33:38 +00:00
marination
196a824c4f style: Update docstrings and fix/add type hints + Collapsible progress section in Log 2022-05-25 16:48:07 +05:30
marination
74d7d81d6e feat: Level-wise BOM cost updation
- Process BOMs level wise and Pause after level is complete
- Cron job will resume Paused jobs, which will again process the new level and pause at the end
- This will go on until all BOMs are updated
- Added Progress section with fields to track updated BOMs in Log
- Cleanup: Add BOM Updation utils file to contain helper functions/sub-functions
- Cleanup: BOM Update Log file will only contain functions that are in direct context of the Log

Co-authored-by: Gavin D'souza <gavin18d@gmail.com>
2022-05-25 16:47:54 +05:30
Deepesh Garg
3528d6fbdb Merge pull request #31121 from frappe/mergify/bp/version-13-hotfix/pr-31077
fix: Loan repayment entries for payroll payable account (backport #31077)
2022-05-25 12:37:17 +05:30
Deepesh Garg
2ae085d258 Merge pull request #31123 from deepeshgarg007/hsn_wise_tax_rate_none_type
fix: Handle missing HSN Codes
2022-05-25 12:34:26 +05:30
Deepesh Garg
187768892d Merge pull request #31120 from frappe/mergify/bp/version-13-hotfix/pr-31080
fix(India): Async issue in company address trigger (backport #31080)
2022-05-25 12:33:37 +05:30
mergify[bot]
98eb7da06a fix(pos): paid amount calculation for multicurrency invoice (#31122) 2022-05-25 12:24:09 +05:30
Saqib Ansari
216c32f4bc fix: timesheet fetching in sales invoice 2022-05-25 12:12:35 +05:30
Deepesh Garg
ce3a21eb03 fix: Handle missing HSN Codes 2022-05-25 11:51:07 +05:30
Deepesh Garg
ea6d754f73 fix: Loan repayment entries for payroll payable account
(cherry picked from commit 3128f9603e)
2022-05-25 05:54:08 +00:00
Deepesh Garg
559fc509e7 chore: Linting issues
(cherry picked from commit 8fd0b3b9f5)
2022-05-25 05:53:45 +00:00
Deepesh Garg
2ea331852a fix(India): Async issue in company address trigger
(cherry picked from commit c41f9f046f)
2022-05-25 05:53:45 +00:00
Rucha Mahabal
22aeacb088 Merge pull request #31104 from ruchamahabal/emp-adv-status-v13
feat(Employee Advance): add 'Returned' and 'Partly Claimed and Returned'
2022-05-25 11:09:52 +05:30
Rucha Mahabal
7ac0624f68 Merge branch 'version-13-hotfix' into emp-adv-status-v13 2022-05-25 10:46:25 +05:30
Rucha Mahabal
a071095886 Merge pull request #31110 from ruchamahabal/fix-npo-membership 2022-05-24 18:38:43 +05:30
Rucha Mahabal
168a9d417b fix: don't capture payments with invoice_id as donations
- if donations and subscriptions are set up in the same dashboard, membership payments also trigger payment webhook

- in order to differentiate there is already a check for RP's auto generated description but if subscriptions are configured using subscription links, RP doesn't send descriptions

- use invoice_id to ignore such payments instead
2022-05-24 18:16:56 +05:30
Rucha Mahabal
34928d29f1 fix: remove bad default for Membership From Date 2022-05-24 18:14:06 +05:30
Ankush Menat
e9968cc6fc chore: disable feed for material request 2022-05-24 14:33:57 +05:30
Rucha Mahabal
ab9744fe97 Merge branch 'version-13-hotfix' into emp-adv-status-v13 2022-05-24 11:49:24 +05:30
Rucha Mahabal
78e9e66d63 fix: replace document states with list settings 2022-05-24 11:29:58 +05:30
Rucha Mahabal
b265ca467c test: test advance filters in expense claim and cancelled status 2022-05-24 11:19:14 +05:30
Rucha Mahabal
806752111e test: employee advance status 2022-05-24 11:13:18 +05:30
Rucha Mahabal
d59c3d2142 fix: employee advance status update on return via additional salary 2022-05-24 11:11:44 +05:30
Rucha Mahabal
cac9e245b6 patch: Employee Advance return statuses 2022-05-24 11:11:10 +05:30
Rucha Mahabal
42e7a86a3b feat(Employee Advance): add 'Returned' and 'Partly Claimed and Returned' status 2022-05-24 11:09:42 +05:30
mergify[bot]
c2a08f1285 chore: error logging for auto material requests (backport #31103) (#31105)
chore: error logging for auto material requests (#31103)

(cherry picked from commit ecb39d81e0)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-24 10:41:50 +05:30
mergify[bot]
3984f04a49 fix: Job Card excess transfer behaviour (backport #31054) (#31096)
* fix: Job Card excess transfer behaviour

- Block excess transfer of items if not allowed in settings
- Behaviour made consistent with js behaviour (button disappears if not pending and not allowed in settings)
- Test for same case

(cherry picked from commit e07ce6efe0)

# Conflicts:
#	erpnext/manufacturing/doctype/job_card/test_job_card.py

* chore: Run `_validate_over_transfer` only if excess transfer is blocked in settings

(cherry picked from commit 9f6e10663b)

* chore: conflicts

* chore: missing conflict resolution changes

Co-authored-by: marination <maricadsouza221197@gmail.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-23 15:20:47 +05:30
mergify[bot]
f6b2f36ca8 test: search test failing because of stale data (backport #31098) (#31099)
test: search test failing because of stale data (#31098)

(cherry picked from commit a36174afdf)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-23 15:13:13 +05:30
Suraj Shetty
1c3ad13f6c Merge pull request #31094 from frappe/mergify/bp/version-13-hotfix/pr-31092 2022-05-23 12:20:53 +05:30
mergify[bot]
ddee0893e6 fix translation German "Designation" (backport #31082) (#31093)
fix translation German "Designation" (#31082)

changed "Bezeichnung" to "Position" as the is more precice in the field of employment which erpnext refers to here

(cherry picked from commit 348a674df9)

Co-authored-by: Wolfram Schmidt <wolfram.schmidt@phamos.eu>
2022-05-23 12:02:30 +05:30
Suraj Shetty
0ab9fc0040 fix: Use directly <a> and style it as button instead of using button
Since few email servers (like outlook) strips out link in the button making them unclickable.

(cherry picked from commit a29b92febc)
2022-05-23 06:27:37 +00:00
mergify[bot]
ba76b6419e fix: Leave Encashment calculations (backport #31062) (#31091)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-05-23 10:32:41 +05:30
mergify[bot]
c17c260a65 fix: corrective job card creation (backport #31083) (#31084)
* test: simplify job card tests

(cherry picked from commit e625394488)

* fix: creation of corrective job card fails

This used to fail because sub_operations is a child table that's not
initalized by default till v13, in develop branch we init tables with
empty list.

(cherry picked from commit 66cf9aa344)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-21 14:28:27 +05:30
marination
b827c3b3c9 fix: test_work_order_with_non_stock_item
- Use the right price list and currency to avoid rate conversion (1000/62.9), since rates are reset correctly now
- Use RM rate based on Price List in BOM. Non stock item has no valuation
2022-05-20 12:34:15 +05:30
marination
9a513fda74 fix: Get fresh RM rate in calculate_rm_cost 2022-05-20 12:23:52 +05:30
marination
faa69c942b perf: Use cached doc instead of get_doc
- Doc is only used to iterate over items(which wont change) and change rate/amount of rows
- These changes are inserted in db via `db_update`, so no harm
- Tested locally: refetching cached doc after db update, reflects fresh data.
2022-05-20 12:23:42 +05:30
marination
d035aa2afb fix: Call calculate_cost for Draft BOM and typo in argument 2022-05-20 12:23:32 +05:30
marination
cbc52a2e45 fix: DB update child items, remove redundancy, fix perf
- Move `get_boms_in_bottom_up_order` in bom update tool’s file
- Remove repeated rm cost update from `update_cost`. `calculate_cost` handles RM cost update
- db_update children in `calculate_cost` optionally
- Don’t call `update_exploded_items` and regenerate exploded items in `update_cost`. They will stay the same (except cost)
2022-05-20 12:23:18 +05:30
marination
87c2b3be0b perf: get_boms_in_bottom_up_order
- Create child-parent map once and fetch value from child key to get parents
- Get parents recursively for a leaf node (get all ancestors)
- Approx. 44 secs for 4lakh 70k boms
2022-05-20 12:20:24 +05:30
ruthra kumar
90b1147365 fix: multiple entries for same payment term
(cherry picked from commit e826093150)
2022-05-20 02:24:23 +00:00
mergify[bot]
f519dc613c fix: always update item_name for stock entry (backport #31068) (#31071)
fix: always update item_name for stock entry (#31068)

If item_name is already set and for some reason becomes outdated then
it's not updated in backend.

Fix: always set item_name and stock_uom when fetching item details
(cherry picked from commit 6d6616dbcd)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-19 16:02:20 +05:30
mergify[bot]
0efbabe7cf fix: payments duplicate on pos closing entry (backport #30976) (#31005) 2022-05-19 14:27:19 +05:30
mergify[bot]
1461d66dda fix(india): error while parsing e-invoice (#31061) 2022-05-18 12:44:24 +05:30
mergify[bot]
95491e1718 fix(india): eway bill cancel api is disabled (#31060) 2022-05-18 12:44:07 +05:30
Frappe PR Bot
d9f76478da chore(release): Bumped to Version 13.30.0
# [13.30.0](https://github.com/frappe/erpnext/compare/v13.29.2...v13.30.0) (2022-05-17)

### Bug Fixes

* `set_missing_values` in SE and re-use the same on all SE mappings ([fe52c1f](fe52c1f354))
* Add validation for SEZ and Export invoices without payment of taxes ([cb8453d](cb8453dac8))
* allow to use formatting for the field to_discuss in opportunity ([e126d4e](e126d4e592))
* Block 0 Qty via Update Items to be consistent with form validation ([5647875](56478752e4))
* Calculate totals even though pricing rule is not applied on mapped doc ([678a01d](678a01d4bd))
* **charts:** Pass fieldtype for chart data in selling reports ([917e7c3](917e7c34af))
* conflicts ([87fd933](87fd93370a))
* conflicts ([fb62bbf](fb62bbf61a))
* disable pricing rules for internal transfers (backport [#31034](https://github.com/frappe/erpnext/issues/31034)) ([#31036](https://github.com/frappe/erpnext/issues/31036)) ([d5eb9fb](d5eb9fb3fd))
* discount ledger entry in case of multicurrency invoice ([#31047](https://github.com/frappe/erpnext/issues/31047)) ([c3417e4](c3417e4103))
* dont fail repost for recoverable errors (backport [#30979](https://github.com/frappe/erpnext/issues/30979)) ([#31023](https://github.com/frappe/erpnext/issues/31023)) ([a019cb6](a019cb6caa))
* **Employee Advance:** Return/Deduction from Salary button visibility (backport [#31011](https://github.com/frappe/erpnext/issues/31011)) ([#31012](https://github.com/frappe/erpnext/issues/31012)) ([5b1d85e](5b1d85e8bf))
* Failing accounting dimension patch ([b14a7b8](b14a7b8a5d))
* german translations for Employee ([b9bda04](b9bda04a83))
* gl entry validation for miniscule loan penalty ([e958ef2](e958ef26e0))
* hide template items from sales/purchase order ([8b99f43](8b99f43c61))
* IN time not captured in Attendance through Employee Checkin (backport [#31029](https://github.com/frappe/erpnext/issues/31029)) ([#31031](https://github.com/frappe/erpnext/issues/31031)) ([477bbcc](477bbcc9e5))
* Item rate reset on changing posting date ([#30990](https://github.com/frappe/erpnext/issues/30990)) ([8ef649f](8ef649f65d))
* Just add one rate in GST HSN Code ([ed76687](ed76687dac))
* Merge Conflicts ([3abf264](3abf26428c))
* Multiple fixes in GSTR-1 report ([f2cbb70](f2cbb70325))
* **patch:** avoid checking for return field if it doesnt exits (backport [#30995](https://github.com/frappe/erpnext/issues/30995)) ([#30997](https://github.com/frappe/erpnext/issues/30997)) ([a94b5c0](a94b5c0d8b))
* per_billed for return DN (backport [#30868](https://github.com/frappe/erpnext/issues/30868)) ([#30971](https://github.com/frappe/erpnext/issues/30971)) ([97ea1f5](97ea1f5123))
* precision loss when transferring  (backport [#30834](https://github.com/frappe/erpnext/issues/30834)) ([#31032](https://github.com/frappe/erpnext/issues/31032)) ([fc80a50](fc80a50640))
* precision of total penalty paid ([ad21853](ad21853b01))
* precision of total penalty paid ([5c45737](5c45737a8f))
* prevent bypassing forced valuation rate (backport [#30987](https://github.com/frappe/erpnext/issues/30987)) ([#31020](https://github.com/frappe/erpnext/issues/31020)) ([706c19d](706c19db70))
* pro rata calculation for monthly depreciation ([#30989](https://github.com/frappe/erpnext/issues/30989)) ([408d952](408d952332))
* remove item attribute limit from variant selector (backport [#31026](https://github.com/frappe/erpnext/issues/31026)) ([#31028](https://github.com/frappe/erpnext/issues/31028)) ([1f016e9](1f016e9137))
* Set actual qty and basic rate in SE on warehouse triggers (`get_warehouse_details`) ([30b0aee](30b0aee013))
* stock analytics report shows incorrect data there's no stock movement in a period (backport [#30945](https://github.com/frappe/erpnext/issues/30945)) ([#30980](https://github.com/frappe/erpnext/issues/30980)) ([295ffb3](295ffb3f1a))
* translation for status filter ([e5f8231](e5f8231632))
* **translations:** Update ru translations ([#30992](https://github.com/frappe/erpnext/issues/30992)) ([f797005](f797005384))
* TypeError in add_indicator_for_multicompany (backport [#31042](https://github.com/frappe/erpnext/issues/31042)) ([#31048](https://github.com/frappe/erpnext/issues/31048)) ([e24bb1d](e24bb1dbf1))
* unlink Attendance from Employee Checkins on cancellation (backport [#31045](https://github.com/frappe/erpnext/issues/31045)) ([#31049](https://github.com/frappe/erpnext/issues/31049)) ([e03fe97](e03fe97a6e))
* UOM in HSN-wise summary of outward supply ([cd7d5cd](cd7d5cdb22))
* user can select disabled accounts in taxes table ([047c879](047c879bec))
* validate disabled accounts before posting ledger entries ([515e49b](515e49bb90))
* validate on hold purchase invoices in payment entry ([9fbd170](9fbd170fa4))

### Features

* add Employee Status filter in leave balance reports ([716b525](716b5253a4))
* add Link to Opportunity ([#30614](https://github.com/frappe/erpnext/issues/30614)) ([bc23bc7](bc23bc738e))
* request_for_quotation ([db4e264](db4e264d92))
* request_for_quotation - refactor ([b6a3e69](b6a3e693ae))
* select multiple values for accounting dimension (backport [#31015](https://github.com/frappe/erpnext/issues/31015)) ([#31041](https://github.com/frappe/erpnext/issues/31041)) ([9c21eb5](9c21eb5b94))
2022-05-17 07:41:35 +00:00
Ankush Menat
3f8816f2ce Merge pull request #31050 from ankush/v13_release
chore: release
2022-05-17 13:09:46 +05:30
mergify[bot]
e03fe97a6e fix: unlink Attendance from Employee Checkins on cancellation (backport #31045) (#31049)
* fix: unlink Attendance from Employee Checkins on cancellation (#31045)

(cherry picked from commit 28fe4f3d54)

* fix: import missing function

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-05-17 12:35:27 +05:30
mergify[bot]
c3417e4103 fix: discount ledger entry in case of multicurrency invoice (#31047) 2022-05-17 12:22:08 +05:30
mergify[bot]
9c21eb5b94 feat: select multiple values for accounting dimension (backport #31015) (#31041)
fix: select multiple values for accounting dimenssion

(cherry picked from commit 69be22ba7c)

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
2022-05-17 11:56:31 +05:30
mergify[bot]
e24bb1dbf1 fix: TypeError in add_indicator_for_multicompany (backport #31042) (#31048)
fix: TypeError in add_indicator_for_multicompany (#31042)

Minor fix in add_indicator_for_multicompany

In case of multi-company transactions add (+) buttons in connection dashboard pf customer aren't being loaded due to TypeError (TypeError: e.dashboard.stats_area.removeClass is not a function) created by "frm.dashboard.stats_area.removeClass('hidden');" during the stats section creation.

(cherry picked from commit 867f2c6282)

Co-authored-by: Deepak <36790711+dpk404@users.noreply.github.com>
2022-05-17 11:54:50 +05:30
Ganga Manoj
408d952332 fix: pro rata calculation for monthly depreciation (#30989) 2022-05-17 11:21:10 +05:30
mergify[bot]
d5eb9fb3fd fix: disable pricing rules for internal transfers (backport #31034) (#31036)
fix: disable pricing rules for internal transfers (#31034)

* fix: disable pricing rules for internal transfers

* fix: only apply validation on internal transfers

* fix: internal_party_field undefined

(cherry picked from commit 3714e36b44)

Co-authored-by: Ankush Menat <me@ankush.dev>
Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-05-16 18:34:39 +05:30
Marica
d7bea97095 Merge pull request #31030 from frappe/mergify/bp/version-13-hotfix/pr-30992
fix(translations): Update ru translations (backport #30992)
2022-05-16 17:35:17 +05:30
Marica
3abf26428c fix: Merge Conflicts 2022-05-16 17:13:00 +05:30
mergify[bot]
477bbcc9e5 fix: IN time not captured in Attendance through Employee Checkin (backport #31029) (#31031)
* fix: IN time not captured in Attendance through Employee Checkin (#31029)

(cherry picked from commit 1b7ce9649b)

# Conflicts:
#	erpnext/hr/doctype/employee_checkin/test_employee_checkin.py

* fix: conflicts

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-05-16 17:05:26 +05:30
mergify[bot]
fc80a50640 fix: precision loss when transferring (backport #30834) (#31032)
* fix: stock transfer value when precision differs

(cherry picked from commit b1c90e9949)

# Conflicts:
#	erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py

* fix: Merge conflicts

* chore: Remove unused `flt` (sider)

Co-authored-by: Ankush Menat <ankush@frappe.io>
Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-05-16 17:02:47 +05:30
Vladislav
f797005384 fix(translations): Update ru translations (#30992)
* fix incorrect translation

* Update ru.csv

* Update ru.csv

* Update erpnext/translations/ru.csv

Co-authored-by: Marica <maricadsouza221197@gmail.com>

Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit af1eab5d54)

# Conflicts:
#	erpnext/translations/ru.csv
2022-05-16 09:49:23 +00:00
mergify[bot]
1f016e9137 fix: remove item attribute limit from variant selector (backport #31026) (#31028)
fix: remove item attribute limit from variant selector

(cherry picked from commit 6bd1cb9235)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-16 14:13:38 +05:30
Marica
a0930a5619 Merge pull request #31027 from frappe/mergify/bp/version-13-hotfix/pr-31025
fix: hide template items from sales/purchase order (backport #31025)
2022-05-16 14:11:24 +05:30
Ankush Menat
8b99f43c61 fix: hide template items from sales/purchase order
(cherry picked from commit 0e875f5049)
2022-05-16 08:31:07 +00:00
mergify[bot]
a019cb6caa fix: dont fail repost for recoverable errors (backport #30979) (#31023)
recoverable erros:
1. timeout
2. lock/deadlocks

(cherry picked from commit 80d959c579)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-16 12:08:32 +05:30
mergify[bot]
6adeaa1de6 test: check translation files (backport #31006) (#31007)
This is an automatic backport of pull request #31006 done by [Mergify](https://mergify.com).


---


<details>
<summary>Mergify commands and options</summary>

<br />

More conditions and actions can be found in the [documentation](https://docs.mergify.com/).

You can also trigger Mergify actions by commenting on this pull request:

- `@Mergifyio refresh` will re-evaluate the rules
- `@Mergifyio rebase` will rebase this PR on its base branch
- `@Mergifyio update` will merge the base branch into this PR
- `@Mergifyio backport <destination>` will backport this PR on `<destination>` branch

Additionally, on Mergify [dashboard](https://dashboard.mergify.com/) you can:

- look at your merge queues
- generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com
</details>
2022-05-16 06:13:32 +00:00
Deepesh Garg
e2028a0d6d Merge pull request #31021 from frappe/mergify/bp/version-13-hotfix/pr-31010
fix: GL entry validation for minuscule loan penalty (backport #31010)
2022-05-15 23:38:07 +05:30
mergify[bot]
706c19db70 fix: prevent bypassing forced valuation rate (backport #30987) (#31020)
fix: prevent bypassing forced valuation rate

if you edit "margin_rate_or_amount" after saving DN then based on
selected margin the rate gets updated which isn't valuation rate.

(cherry picked from commit ee0a277540)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-15 21:15:24 +05:30
Abhinav Raut
ad21853b01 fix: precision of total penalty paid
(cherry picked from commit 589dd17e58)
2022-05-15 15:21:09 +00:00
Abhinav Raut
5c45737a8f fix: precision of total penalty paid
(cherry picked from commit 9a86885c0a)
2022-05-15 15:21:09 +00:00
Abhinav Raut
e958ef26e0 fix: gl entry validation for miniscule loan penalty
(cherry picked from commit aef65e7417)
2022-05-15 15:21:08 +00:00
Deepesh Garg
c7f4a1595a Merge pull request #30978 from deepeshgarg007/gstr_export_sez_tax_rates
fix: Multiple fixes in GST reporting
2022-05-15 20:33:32 +05:30
Deepesh Garg
5b02b5b3cd chore: Remove unintended changes 2022-05-15 16:42:34 +05:30
Deepesh Garg
ed76687dac fix: Just add one rate in GST HSN Code 2022-05-15 16:40:33 +05:30
Deepesh Garg
c54c01e0de Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into gstr_export_sez_tax_rates 2022-05-14 21:33:16 +05:30
Rucha Mahabal
c4650160ce Merge pull request #31014 from frappe/mergify/bp/version-13-hotfix/pr-31013 2022-05-13 22:33:48 +05:30
Rucha Mahabal
64b58ac031 test: employee status filter in leave balance reports
(cherry picked from commit 260cfa5d1e)
2022-05-13 16:37:57 +00:00
Rucha Mahabal
e5f8231632 fix: translation for status filter
(cherry picked from commit 08fb9a4318)
2022-05-13 16:37:56 +00:00
Rucha Mahabal
716b5253a4 feat: add Employee Status filter in leave balance reports
(cherry picked from commit ed8a49737a)
2022-05-13 16:37:56 +00:00
mergify[bot]
5b1d85e8bf fix(Employee Advance): Return/Deduction from Salary button visibility (backport #31011) (#31012)
fix(Employee Advance): Return/Deduction from Salary button visibility (#31011)

(cherry picked from commit 3016ed958e)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-05-13 20:06:26 +05:30
Deepesh Garg
cb8453dac8 fix: Add validation for SEZ and Export invoices without payment of taxes 2022-05-13 18:12:18 +05:30
Deepesh Garg
8af30bcc16 chore: Linting Issues 2022-05-13 18:12:18 +05:30
Deepesh Garg
cd7d5cdb22 fix: UOM in HSN-wise summary of outward supply 2022-05-13 18:12:18 +05:30
Frappe PR Bot
7369db59aa chore(release): Bumped to Version 13.29.0
# [13.29.0](https://github.com/frappe/erpnext/compare/v13.28.0...v13.29.0) (2022-05-10)

### Bug Fixes

* Consider paryt and party type as well in group by consolidated view ([189fc89](189fc89e2d))
* disable form save on naming series tool ([#30909](https://github.com/frappe/erpnext/issues/30909)) ([#30910](https://github.com/frappe/erpnext/issues/30910)) ([d60a6cb](d60a6cb2f8))
* double future qty updates ([0db3013](0db3013c9b))
* HSN-wise-summary of outward supplies Updated Report ([3637525](363752510e))
* Ignore loan repayments made from salary slip ([b7e1d40](b7e1d40e43))
* **india:** invoice type for a debit note e-invoice ([#30948](https://github.com/frappe/erpnext/issues/30948)) ([c46add3](c46add3760))
* **india:** keyerror while generating e-way bill from an e-invoice ([#30879](https://github.com/frappe/erpnext/issues/30879)) ([98d799e](98d799e7cc))
* **india:** re-arrange e-way bill dialog fields ([#30941](https://github.com/frappe/erpnext/issues/30941)) ([7ce5c93](7ce5c93f44))
* Item Alternative Test ([964de1f](964de1fc69))
* patch for renaming membership settings ([#30929](https://github.com/frappe/erpnext/issues/30929)) ([9189653](9189653f2e))
* **pos:** creating pos returns resets pricing rules & discounts ([#30936](https://github.com/frappe/erpnext/issues/30936)) ([a0e39db](a0e39db200))
* remove check for already allocated earned leaves ([#30931](https://github.com/frappe/erpnext/issues/30931)) ([#30932](https://github.com/frappe/erpnext/issues/30932)) ([80f7d66](80f7d66255))
* Remove commit from stock entry test. The assertion is not important ([c449b35](c449b35cc1))
* Set available-for-use date if missing ([#30838](https://github.com/frappe/erpnext/issues/30838)) ([bf2eaec](bf2eaecb1d))
* show group warehouse in Sales Order ([#30891](https://github.com/frappe/erpnext/issues/30891)) ([#30893](https://github.com/frappe/erpnext/issues/30893)) ([c458e14](c458e14e68))
* Show linked time sheets in sales invoice dashboard ([4f4af52](4f4af523e0))
* sort before picking next stock reco ([e27fb58](e27fb58130))
* subtract change_amount from paid_amount field on POS Register ([#30937](https://github.com/frappe/erpnext/issues/30937)) ([b7e873b](b7e873b55d))
* Unlink and delete batch created from stock reco on cancel ([fc35323](fc35323106))
* Wrap SLE actual_qty in `flt` to avoid NoneType operation ([d53228b](d53228b153))

### Features

* **HR:** Leave Type configuration to allow over allocation (backport [#30940](https://github.com/frappe/erpnext/issues/30940)) ([#30944](https://github.com/frappe/erpnext/issues/30944)) ([64440fc](64440fc4fb))
* **india:** cancel e-way bill is enabled with e-invoicing APIs. ([#30924](https://github.com/frappe/erpnext/issues/30924)) ([4ef2ffd](4ef2ffd14c))
* **india:** generate qrcode button for e-invoice ([#30946](https://github.com/frappe/erpnext/issues/30946)) ([7bd5b2b](7bd5b2ba29))
* **india:** store e-way bill auto calculated distance in sales invoice ([#30923](https://github.com/frappe/erpnext/issues/30923)) ([b96f156](b96f1565c5))
2022-05-13 18:12:18 +05:30
Frappe PR Bot
8cc2ea0ddb chore(release): Bumped to Version 13.28.0
# [13.28.0](https://github.com/frappe/erpnext/compare/v13.27.1...v13.28.0) (2022-05-03)

### Bug Fixes

* Consistent accounting dimensions across Sales and Purchase docs ([5df5058](5df50588cf))
* convert default_item_manufacturer to link field ([#30835](https://github.com/frappe/erpnext/issues/30835)) ([#30866](https://github.com/frappe/erpnext/issues/30866)) ([37fad7e](37fad7e04c))
* Cost center filter on payment reconciliation ([22e7f03](22e7f03a03))
* filters not working in Shift Assignment Calendar view ([#30822](https://github.com/frappe/erpnext/issues/30822)) ([3cdbb65](3cdbb65b5a))
* Ignore custom field validation while setup ([ee54bf7](ee54bf7fe2))
* **india:** e-invoice generation for registered composition gst category type ([#30814](https://github.com/frappe/erpnext/issues/30814)) ([#30877](https://github.com/frappe/erpnext/issues/30877)) ([246869d](246869dd28))
* Multi currency opening invoices ([2e62d51](2e62d518e8))
* payment days calculation for employees joining/leaving mid-month ([#30863](https://github.com/frappe/erpnext/issues/30863)) ([#30883](https://github.com/frappe/erpnext/issues/30883)) ([a1b0813](a1b0813966))
* Period Closing Voucher is considering GL entries with is_cancelled=1 ([#30865](https://github.com/frappe/erpnext/issues/30865)) ([5a5b49b](5a5b49b61a))
* **pos:** number pad translations ([b01f855](b01f8555e5))
* **pos:** search field doesn't reset on checkout ([edbf551](edbf5513da))
* Supply type for overseas invoices with payment of tax ([fdcc591](fdcc591a5e))
* supply type for sez invoices with payment of tax ([cf08710](cf087103cb))
* Use `account_type == 'Stock'` to filter stock accounts ([93482f3](93482f3302))
* **UX:** misleading stock entry lables ([#30870](https://github.com/frappe/erpnext/issues/30870)) ([#30871](https://github.com/frappe/erpnext/issues/30871)) ([57b03f0](57b03f0bf2))
* **UX:** record reason for skipping attendance or marking absent for auto attendance ([#30846](https://github.com/frappe/erpnext/issues/30846)) ([f7bf4a3](f7bf4a3e62))
* Vat Audit report fixes ([d5319a4](d5319a4826))

### Features

* Copy task color from project template (backport [#30857](https://github.com/frappe/erpnext/issues/30857)) ([#30859](https://github.com/frappe/erpnext/issues/30859)) ([7ee18e8](7ee18e86a2))
* support product bundles in picklist (backport [#30762](https://github.com/frappe/erpnext/issues/30762)) ([#30826](https://github.com/frappe/erpnext/issues/30826)) ([645ee2d](645ee2d822))
2022-05-13 18:12:18 +05:30
Frappe PR Bot
096dcf0e54 chore(release): Bumped to Version 13.27.1
## [13.27.1](https://github.com/frappe/erpnext/compare/v13.27.0...v13.27.1) (2022-04-26)

### Bug Fixes

* Add accounting dimensions for round off GL Entry ([dedb90e](dedb90ea72))
* batch_no filtering not working when batch no is also a number in scientific notation ([#30770](https://github.com/frappe/erpnext/issues/30770)) ([#30771](https://github.com/frappe/erpnext/issues/30771)) ([c339305](c339305e9c))
* Check if accounting dimension exists ([1834671](1834671d59))
* dependent gle reposting (backport [#30726](https://github.com/frappe/erpnext/issues/30726)) ([#30772](https://github.com/frappe/erpnext/issues/30772)) ([a6d0938](a6d0938591))
* Do not validate while creating accounting dimension ([153b41a](153b41a269))
* e_commerce_settings.js ([3a5f5d5](3a5f5d5cd0))
* e_commerce_settings.py ([86c5f4d](86c5f4db85))
* First preference to parent cost center rather than round off cost center ([a2d95fc](a2d95fc62b))
* Handle Multiselect field mapping separately ([dc2f694](dc2f694547))
* **india:** 401 & 403 client error while generating IRN ([198bdcf](198bdcfdc6))
* **india:** cess value not considered while validating e-invoice totals ([#30800](https://github.com/frappe/erpnext/issues/30800)) ([f70fca1](f70fca1c9e))
* **india:** transporter name is null while generating e-way bill ([#30736](https://github.com/frappe/erpnext/issues/30736)) ([6291b28](6291b28c37))
* linter ([6dddbb9](6dddbb9f27))
* Loan doctypes in bank reconciliation ([e69c715](e69c71576d))
* Mistyped variable name in patch ([e76220e](e76220e819))
* monthly attendance sheet ([#30748](https://github.com/frappe/erpnext/issues/30748)) ([0b4e3f1](0b4e3f1467))
* Must not be able to start Job Card if it is related to Work Order that is not started yet ([#29072](https://github.com/frappe/erpnext/issues/29072)) ([#30755](https://github.com/frappe/erpnext/issues/30755)) ([b656ffa](b656ffa45e))
* Query filter fields from Website Item instead of Item master ([bed9e09](bed9e09153))
* select doctype as payment_document ([44f0b69](44f0b69152))
* **Selling,E-Commerce:** Shopping cart quotation without website item. ([#29085](https://github.com/frappe/erpnext/issues/29085)) ([ea0fe5e](ea0fe5e10c))
* SO analysis rpt will fetch SO's without Delivery note as well ([f9d89c7](f9d89c7ce6))
* translation ([#30781](https://github.com/frappe/erpnext/issues/30781)) ([#30783](https://github.com/frappe/erpnext/issues/30783)) ([8335ca6](8335ca6331))
* Update token to allow updates on protected branch ([baab379](baab3797ca))
* update translation ([#30725](https://github.com/frappe/erpnext/issues/30725)) ([#30776](https://github.com/frappe/erpnext/issues/30776)) ([b585262](b585262842))
* Use parent cost center for Sales and Purchase Invoice ([fe9f329](fe9f32946c))
* Use right precision for asset value after full schedule ([#30745](https://github.com/frappe/erpnext/issues/30745)) ([269e192](269e1923c9))
* Validate field filter wrt to Website Item & re-use validation in Item Group ([34437a8](34437a83df))
2022-05-13 18:12:18 +05:30
Deepesh Garg
f2cbb70325 fix: Multiple fixes in GSTR-1 report 2022-05-13 18:12:18 +05:30
Deepesh Garg
7d8e3344e9 Merge pull request #31002 from frappe/mergify/bp/version-13-hotfix/pr-30990
fix: Item rate reset on changing posting date (backport #30990)
2022-05-13 14:44:04 +05:30
Marica
f7eb3ca1c0 Merge pull request #31000 from frappe/mergify/bp/version-13-hotfix/pr-30894
chore: added RFQ Link to Opportunity Dashboard (backport #30894)
2022-05-13 13:17:12 +05:30
Ankush Menat
0ec5adeed8 chore:conflicts 2022-05-13 13:14:08 +05:30
Marica
44d892fb70 Merge pull request #30999 from frappe/mergify/bp/version-13-hotfix/pr-30614
feat: add Link to Opportunity (backport #30614)
2022-05-13 13:12:50 +05:30
Frappe PR Bot
9ea017248d chore(release): Bumped to Version 13.29.2
## [13.29.2](https://github.com/frappe/erpnext/compare/v13.29.1...v13.29.2) (2022-05-13)

### Bug Fixes

* **patch:** avoid checking for return field if it doesnt exits (backport [#30995](https://github.com/frappe/erpnext/issues/30995)) ([#30997](https://github.com/frappe/erpnext/issues/30997)) ([752bda5](752bda5d84))
2022-05-13 07:41:38 +00:00
Ankush Menat
e392f6ce31 Merge branch 'version-13-pre-release' into version-13 2022-05-13 13:09:44 +05:30
mergify[bot]
752bda5d84 fix(patch): avoid checking for return field if it doesnt exits (backport #30995) (#30997)
(cherry picked from commit b08180092e)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-13 13:09:22 +05:30
Deepesh Garg
8ef649f65d fix: Item rate reset on changing posting date (#30990)
* fix: Item rate reset on changing posting date

* chore: Remove debugger

(cherry picked from commit 54d6cf18fc)

# Conflicts:
#	erpnext/public/js/controllers/transaction.js
2022-05-13 07:37:57 +00:00
mergify[bot]
a94b5c0d8b fix(patch): avoid checking for return field if it doesnt exits (backport #30995) (#30997)
(cherry picked from commit b08180092e)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-13 13:07:51 +05:30
Marica
a829072353 Merge pull request #31001 from frappe/mergify/bp/version-13-hotfix/pr-30911
fix: German translations for Employee doctype (backport #30911)
2022-05-13 12:55:11 +05:30
Marica
eb1245e9f8 Merge pull request #30998 from frappe/mergify/bp/version-13-hotfix/pr-30818
feat: request_for_quotation - show supplier name (backport #30818)
2022-05-13 12:24:02 +05:30
barredterra
b9bda04a83 fix: german translations for Employee
(cherry picked from commit 02b38a439f)
2022-05-13 06:54:02 +00:00
Wolfram Schmidt
24851a8577 chore: added RFQ Link to Opportunity Dashboard (#30894)
added Link to Dashboard

added backlink to Request for Quotation in the Quotation dashboard for transparency and ease of navigation.

(cherry picked from commit c4a2778359)
2022-05-13 06:48:34 +00:00
Wolfram Schmidt
bc23bc738e feat: add Link to Opportunity (#30614)
Adding Link to Opportunity

Following the process of Opportunity to Quotation I added a section and link field to Opportunity for a backlink when using "create"-> Request for Quotation from Opportunity.

(cherry picked from commit 0bbed414f8)
2022-05-13 06:48:08 +00:00
Ahmad
b6a3e693ae feat: request_for_quotation - refactor
- Set supplier as link in while selecting supplier to create quotation

(cherry picked from commit 04c96b547e)
2022-05-13 06:47:19 +00:00
Ahmad
db4e264d92 feat: request_for_quotation
- Show supplier name if supplier ID is not equal to supplier name

(cherry picked from commit b226e7d2ac)
2022-05-13 06:47:18 +00:00
Saqib Ansari
1ecbf33960 Merge pull request #30991 from frappe/mergify/bp/version-13-hotfix/pr-30968
fix(accounts): minor fixes & validations (backport #30968)
2022-05-13 12:03:52 +05:30
Saqib Ansari
013ac26231 test: sales_invoice_with_disabled_account
(cherry picked from commit 6c16422beb)
2022-05-12 16:37:27 +00:00
Saqib Ansari
7c750571cd test: payment_entry_against_onhold_purchase_invoice
(cherry picked from commit 92613777b9)
2022-05-12 16:37:26 +00:00
Saqib Ansari
515e49bb90 fix: validate disabled accounts before posting ledger entries
(cherry picked from commit 95b059a98c)
2022-05-12 16:37:26 +00:00
Saqib Ansari
047c879bec fix: user can select disabled accounts in taxes table
(cherry picked from commit a1e3ae8869)
2022-05-12 16:37:25 +00:00
Saqib Ansari
9fbd170fa4 fix: validate on hold purchase invoices in payment entry
(cherry picked from commit b0f302e579)
2022-05-12 16:37:24 +00:00
Frappe PR Bot
a89612e448 chore(release): Bumped to Version 13.29.1
## [13.29.1](https://github.com/frappe/erpnext/compare/v13.29.0...v13.29.1) (2022-05-12)

### Bug Fixes

* Failing accounting dimension patch ([b9a5575](b9a557599e))
2022-05-12 10:01:53 +00:00
Deepesh Garg
1def38dba0 Merge pull request #30985 from frappe/version-13-pre-release
chore: version-13 patch release
2022-05-12 15:29:21 +05:30
Deepesh Garg
bed1a218a2 Merge pull request #30984 from frappe/mergify/bp/version-13-pre-release/pr-30982
fix: Failing accounting dimension patch (backport #30982)
2022-05-12 15:28:05 +05:30
Deepesh Garg
b9a557599e fix: Failing accounting dimension patch
(cherry picked from commit b14a7b8a5d)
2022-05-12 09:48:53 +00:00
Deepesh Garg
43ebe946f1 Merge pull request #30982 from deepeshgarg007/failing_patch_for_dimensisons
fix: Failing accounting dimension patch
2022-05-12 14:57:01 +05:30
Deepesh Garg
b14a7b8a5d fix: Failing accounting dimension patch 2022-05-12 13:54:47 +05:30
mergify[bot]
295ffb3f1a fix: stock analytics report shows incorrect data there's no stock movement in a period (backport #30945) (#30980)
* test: basic test for stock analytics report

(cherry picked from commit d81422fb58)

* fix: consider previous balance is missing

Also remove `total`, total of total is a meaningless value.

(cherry picked from commit 6ab0046e9c)

* fix: batch_no doesn't maintain qty_after_transaction

(cherry picked from commit 287b255ad6)

* fix: only carry-forward balances till today's period

Showing data in future doesn't make sense. Only carry-forward till last
bucket that contains today's day.

(cherry picked from commit 198b91f8d4)

Co-authored-by: Ankush Menat <me@ankush.dev>
2022-05-12 13:06:52 +05:30
Marica
d697515125 Merge pull request #30975 from frappe/mergify/bp/version-13-hotfix/pr-30950
fix: Set actual qty and basic rate in SE on warehouse triggers (`get_warehouse_details`) (backport #30950)
2022-05-12 12:54:12 +05:30
marination
6ef1261afd test: Test for mapped SE and fix for failing tests
- Remove `set_missing_values` from mapper util function since a lot of item data is set after this function is run
- `split_batch` can skip `set_missing_values` since no warehouses are set on mapping and relies on user input

(cherry picked from commit 4fa15b50ca)
2022-05-11 14:44:42 +00:00
marination
fe52c1f354 fix: set_missing_values in SE and re-use the same on all SE mappings
- `set_missing_values` in SE will set actual qty, transfer qty and calculate rate/amount
- Re-use `set_missing_values` wherever SE is doc is being mapped

(cherry picked from commit 90a8e924f5)
2022-05-11 14:44:42 +00:00
marination
678a01d4bd fix: Calculate totals even though pricing rule is not applied on mapped doc
- `apply_pricing_rule` is triggered due to change in some data which most likely contributes to Total.

(cherry picked from commit 494ddd1eb4)
2022-05-11 14:44:38 +00:00
marination
30b0aee013 fix: Set actual qty and basic rate in SE on warehouse triggers (get_warehouse_details)
- set `actual_qty` on source and target warehouse change

(cherry picked from commit 1ce45f623e)
2022-05-11 14:44:37 +00:00
mergify[bot]
97ea1f5123 fix: per_billed for return DN (backport #30868) (#30971)
This is a semi-automatic backport of pull request #30868 done by [Mergify](https://mergify.com).
2022-05-11 14:33:58 +00:00
rohitwaghchaure
60964a48c4 Merge pull request #30947 from frappe/mergify/bp/version-13-hotfix/pr-30938
fix: allow to use formatting for the field to_discuss in opportunity (backport #30938)
2022-05-11 17:48:23 +05:30
rohitwaghchaure
87fd93370a fix: conflicts 2022-05-11 16:07:24 +05:30
rohitwaghchaure
fb62bbf61a fix: conflicts 2022-05-11 16:05:19 +05:30
Ankush Menat
b008efbfdb Merge pull request #30970 from frappe/mergify/bp/version-13-hotfix/pr-30969
chore: fifo queue vs qty after transaction comparison report (backport #30969)
2022-05-11 15:55:17 +05:30
Ankush Menat
78f694ca4e chore: incompatible changes 2022-05-11 15:22:33 +05:30
Ankush Menat
8c2bfe1d5c chore: fifo queue vs qty after transaction comparison report
(cherry picked from commit f6d6463a33)
2022-05-11 09:43:15 +00:00
Marica
c873950f41 Merge pull request #30967 from frappe/mergify/bp/version-13-hotfix/pr-30962
fix: Block 0 Qty via Update Items to be consistent with form validation (backport #30962)
2022-05-11 13:04:10 +05:30
marination
56478752e4 fix: Block 0 Qty via Update Items to be consistent with form validation
(cherry picked from commit 0c9154389b)
2022-05-11 07:12:29 +00:00
gavin
a761c5c62c Merge pull request #30961 from frappe/mergify/bp/version-13-hotfix/pr-30958
fix(charts): Pass fieldtype for chart data in selling reports (backport #30958)
2022-05-10 17:55:19 +05:30
Gavin D'souza
917e7c34af fix(charts): Pass fieldtype for chart data in selling reports
(cherry picked from commit 7bf0e4f8e5)
2022-05-10 12:10:48 +00:00
Frappe PR Bot
974f2a85ea chore(release): Bumped to Version 13.29.0
# [13.29.0](https://github.com/frappe/erpnext/compare/v13.28.0...v13.29.0) (2022-05-10)

### Bug Fixes

* Consider paryt and party type as well in group by consolidated view ([189fc89](189fc89e2d))
* disable form save on naming series tool ([#30909](https://github.com/frappe/erpnext/issues/30909)) ([#30910](https://github.com/frappe/erpnext/issues/30910)) ([d60a6cb](d60a6cb2f8))
* double future qty updates ([0db3013](0db3013c9b))
* HSN-wise-summary of outward supplies Updated Report ([3637525](363752510e))
* Ignore loan repayments made from salary slip ([b7e1d40](b7e1d40e43))
* **india:** invoice type for a debit note e-invoice ([#30948](https://github.com/frappe/erpnext/issues/30948)) ([c46add3](c46add3760))
* **india:** keyerror while generating e-way bill from an e-invoice ([#30879](https://github.com/frappe/erpnext/issues/30879)) ([98d799e](98d799e7cc))
* **india:** re-arrange e-way bill dialog fields ([#30941](https://github.com/frappe/erpnext/issues/30941)) ([7ce5c93](7ce5c93f44))
* Item Alternative Test ([964de1f](964de1fc69))
* patch for renaming membership settings ([#30929](https://github.com/frappe/erpnext/issues/30929)) ([9189653](9189653f2e))
* **pos:** creating pos returns resets pricing rules & discounts ([#30936](https://github.com/frappe/erpnext/issues/30936)) ([a0e39db](a0e39db200))
* remove check for already allocated earned leaves ([#30931](https://github.com/frappe/erpnext/issues/30931)) ([#30932](https://github.com/frappe/erpnext/issues/30932)) ([80f7d66](80f7d66255))
* Remove commit from stock entry test. The assertion is not important ([c449b35](c449b35cc1))
* Set available-for-use date if missing ([#30838](https://github.com/frappe/erpnext/issues/30838)) ([bf2eaec](bf2eaecb1d))
* show group warehouse in Sales Order ([#30891](https://github.com/frappe/erpnext/issues/30891)) ([#30893](https://github.com/frappe/erpnext/issues/30893)) ([c458e14](c458e14e68))
* Show linked time sheets in sales invoice dashboard ([4f4af52](4f4af523e0))
* sort before picking next stock reco ([e27fb58](e27fb58130))
* subtract change_amount from paid_amount field on POS Register ([#30937](https://github.com/frappe/erpnext/issues/30937)) ([b7e873b](b7e873b55d))
* Unlink and delete batch created from stock reco on cancel ([fc35323](fc35323106))
* Wrap SLE actual_qty in `flt` to avoid NoneType operation ([d53228b](d53228b153))

### Features

* **HR:** Leave Type configuration to allow over allocation (backport [#30940](https://github.com/frappe/erpnext/issues/30940)) ([#30944](https://github.com/frappe/erpnext/issues/30944)) ([64440fc](64440fc4fb))
* **india:** cancel e-way bill is enabled with e-invoicing APIs. ([#30924](https://github.com/frappe/erpnext/issues/30924)) ([4ef2ffd](4ef2ffd14c))
* **india:** generate qrcode button for e-invoice ([#30946](https://github.com/frappe/erpnext/issues/30946)) ([7bd5b2b](7bd5b2ba29))
* **india:** store e-way bill auto calculated distance in sales invoice ([#30923](https://github.com/frappe/erpnext/issues/30923)) ([b96f156](b96f1565c5))
2022-05-10 10:27:19 +00:00
Deepesh Garg
705a21a0f0 Merge pull request #30952 from frappe/version-13-pre-release
chore: Release for version-13
2022-05-10 15:55:39 +05:30
Ankush Menat
6863a59472 Merge branch 'version-13-hotfix' into version-13-pre-release 2022-05-10 15:20:35 +05:30
Ankush Menat
f64ba80913 Merge pull request #30953 from frappe/mergify/bp/version-13-hotfix/pr-30913
fix: double future qty updates (backport #30913)
2022-05-10 15:16:37 +05:30
mergify[bot]
b7e873b55d fix: subtract change_amount from paid_amount field on POS Register (#30937)
Co-authored-by: HarryPaulo <paulo_fabris@hotmail.com>
Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2022-05-10 14:54:19 +05:30
Ankush Menat
4d682face2 chore: remove datettime formatting from debug report
This hides some information that would otherwise help during debugging

(cherry picked from commit ae842d8145)
2022-05-10 14:51:02 +05:30
Ankush Menat
6312938fed chore: conflicts 2022-05-10 14:50:35 +05:30
Ankush Menat
e27fb58130 fix: sort before picking next stock reco
(cherry picked from commit 7e2fbc050a)
2022-05-10 14:50:35 +05:30
Ankush Menat
0db3013c9b fix: double future qty updates
update_qty_in_future_sle is reprocessing rows which are already
processed by process_sle_against_current_voucher

(cherry picked from commit 7c839c4503)

# Conflicts:
#	erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py
2022-05-10 09:17:34 +00:00
Deepesh Garg
a85fe517df Merge pull request #30951 from frappe/version-13-hotfix
chore: Pre release for version-13
2022-05-10 14:42:16 +05:30
Deepesh Garg
3373ce5c47 Merge pull request #30949 from frappe/mergify/bp/version-13-hotfix/pr-30948
fix(india): invoice type for a debit note e-invoice (backport #30948)
2022-05-10 14:13:48 +05:30
Saqib Ansari
c46add3760 fix(india): invoice type for a debit note e-invoice (#30948)
(cherry picked from commit 8dd046cc51)
2022-05-10 08:10:34 +00:00
mergify[bot]
7bd5b2ba29 feat(india): generate qrcode button for e-invoice (#30946) 2022-05-10 12:29:52 +05:30
Rohit Waghchaure
e126d4e592 fix: allow to use formatting for the field to_discuss in opportunity
(cherry picked from commit 3f41cb762d)

# Conflicts:
#	erpnext/crm/doctype/opportunity/opportunity.py
#	erpnext/crm/doctype/opportunity/test_opportunity.py
2022-05-10 06:41:34 +00:00
mergify[bot]
64440fc4fb feat(HR): Leave Type configuration to allow over allocation (backport #30940) (#30944)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-05-10 09:25:32 +05:30
mergify[bot]
7ce5c93f44 fix(india): re-arrange e-way bill dialog fields (#30941) 2022-05-09 21:36:57 +05:30
Ankush Menat
c1f6586e39 Merge pull request #30869 from marination/batch-source-reference-v13
fix: Unlink and delete batch created from stock reco on cancel
2022-05-09 19:01:59 +05:30
mergify[bot]
a0e39db200 fix(pos): creating pos returns resets pricing rules & discounts (#30936) 2022-05-09 17:43:36 +05:30
mergify[bot]
80f7d66255 fix: remove check for already allocated earned leaves (#30931) (#30932)
* fix: remove check for already allocated earned leaves

* fix: do not set New Leaves Allocated field as read-only for earned leaves

- removing this until there's a better way to update existing allocations

(cherry picked from commit f92bc4dd33)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-05-09 12:34:21 +05:30
Rucha Mahabal
9189653f2e fix: patch for renaming membership settings (#30929) 2022-05-09 10:11:52 +05:30
Deepesh Garg
4e53dd71db Merge pull request #30065 from govindsmenokee/patch-9
fix: HSN-wise-summary of outward supplies Updated Report
2022-05-08 19:36:11 +05:30
mergify[bot]
4ef2ffd14c feat(india): cancel e-way bill is enabled with e-invoicing APIs. (#30924) 2022-05-08 19:11:04 +05:30
mergify[bot]
b96f1565c5 feat(india): store e-way bill auto calculated distance in sales invoice (#30923) 2022-05-08 19:10:22 +05:30
Saqib Ansari
713a84bb73 Merge branch 'version-13-hotfix' into patch-9 2022-05-08 12:49:28 +05:30
Saqib Ansari
2972ef8f2c chore: fix linter (#30925) 2022-05-08 12:48:57 +05:30
Deepesh Garg
a8fbd2451b chore: Remove print statement 2022-05-07 22:53:59 +05:30
Deepesh Garg
b0e929b8ae chore: Remove extra columns 2022-05-07 22:44:53 +05:30
Deepesh Garg
ac362c75db Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into patch-9 2022-05-07 19:04:14 +05:30
Ganga Manoj
bf2eaecb1d fix: Set available-for-use date if missing (#30838) 2022-05-06 18:06:21 +05:30
Deepesh Garg
e9e2dcc1bf Merge pull request #30915 from frappe/mergify/bp/version-13-hotfix/pr-30897
fix: Consider party and party type as well in group by consolidated view (backport #30897)
2022-05-06 13:37:54 +05:30
Deepesh Garg
189fc89e2d fix: Consider paryt and party type as well in group by consolidated view
(cherry picked from commit c2d52a1ac0)
2022-05-06 07:40:39 +00:00
Deepesh Garg
4c2fdfe2c1 Merge pull request #30914 from deepeshgarg007/payment_reco_linting_issue
chore: Linting issues
2022-05-06 13:08:57 +05:30
Deepesh Garg
b7698aa210 chore: Linting issues 2022-05-06 13:08:09 +05:30
Deepesh Garg
96db9ee17b Merge pull request #30912 from frappe/mergify/bp/version-13-hotfix/pr-30879
fix(india): keyerror while generating e-way bill from an e-invoice (backport #30879)
2022-05-06 13:05:21 +05:30
maharshivpatel
98d799e7cc fix(india): keyerror while generating e-way bill from an e-invoice (#30879)
(cherry picked from commit ee7a7eb782)
2022-05-06 05:53:50 +00:00
mergify[bot]
d60a6cb2f8 fix: disable form save on naming series tool (#30909) (#30910)
(cherry picked from commit f31122cbc3)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-05 17:38:11 +05:30
marination
a2fff8741e style: Spaces to Tabs 2022-05-05 13:00:00 +05:30
mergify[bot]
c458e14e68 fix: show group warehouse in Sales Order (#30891) (#30893)
(cherry picked from commit 91cd5f5d4a)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-05 11:07:11 +05:30
Deepesh Garg
59686093b4 Merge pull request #30902 from frappe/mergify/bp/version-13-hotfix/pr-30899
fix: Show linked time sheets in sales invoice dashboard (backport #30899)
2022-05-04 21:01:08 +05:30
Deepesh Garg
4f4af523e0 fix: Show linked time sheets in sales invoice dashboard
(cherry picked from commit 3e38dc7ea8)
2022-05-04 14:24:57 +00:00
marination
c449b35cc1 fix: Remove commit from stock entry test. The assertion is not important 2022-05-04 13:00:00 +05:30
Deepesh Garg
57409b6ffd Merge pull request #30884 from deepeshgarg007/loan_repayment_clearance_v3
fix: Ignore loan repayments made from salary slip
2022-05-04 09:44:22 +05:30
Frappe PR Bot
53024be347 chore(release): Bumped to Version 13.28.0
# [13.28.0](https://github.com/frappe/erpnext/compare/v13.27.1...v13.28.0) (2022-05-03)

### Bug Fixes

* Consistent accounting dimensions across Sales and Purchase docs ([5df5058](5df50588cf))
* convert default_item_manufacturer to link field ([#30835](https://github.com/frappe/erpnext/issues/30835)) ([#30866](https://github.com/frappe/erpnext/issues/30866)) ([37fad7e](37fad7e04c))
* Cost center filter on payment reconciliation ([22e7f03](22e7f03a03))
* filters not working in Shift Assignment Calendar view ([#30822](https://github.com/frappe/erpnext/issues/30822)) ([3cdbb65](3cdbb65b5a))
* Ignore custom field validation while setup ([ee54bf7](ee54bf7fe2))
* **india:** e-invoice generation for registered composition gst category type ([#30814](https://github.com/frappe/erpnext/issues/30814)) ([#30877](https://github.com/frappe/erpnext/issues/30877)) ([246869d](246869dd28))
* Multi currency opening invoices ([2e62d51](2e62d518e8))
* payment days calculation for employees joining/leaving mid-month ([#30863](https://github.com/frappe/erpnext/issues/30863)) ([#30883](https://github.com/frappe/erpnext/issues/30883)) ([a1b0813](a1b0813966))
* Period Closing Voucher is considering GL entries with is_cancelled=1 ([#30865](https://github.com/frappe/erpnext/issues/30865)) ([5a5b49b](5a5b49b61a))
* **pos:** number pad translations ([b01f855](b01f8555e5))
* **pos:** search field doesn't reset on checkout ([edbf551](edbf5513da))
* Supply type for overseas invoices with payment of tax ([fdcc591](fdcc591a5e))
* supply type for sez invoices with payment of tax ([cf08710](cf087103cb))
* Use `account_type == 'Stock'` to filter stock accounts ([93482f3](93482f3302))
* **UX:** misleading stock entry lables ([#30870](https://github.com/frappe/erpnext/issues/30870)) ([#30871](https://github.com/frappe/erpnext/issues/30871)) ([57b03f0](57b03f0bf2))
* **UX:** record reason for skipping attendance or marking absent for auto attendance ([#30846](https://github.com/frappe/erpnext/issues/30846)) ([f7bf4a3](f7bf4a3e62))
* Vat Audit report fixes ([d5319a4](d5319a4826))

### Features

* Copy task color from project template (backport [#30857](https://github.com/frappe/erpnext/issues/30857)) ([#30859](https://github.com/frappe/erpnext/issues/30859)) ([7ee18e8](7ee18e86a2))
* support product bundles in picklist (backport [#30762](https://github.com/frappe/erpnext/issues/30762)) ([#30826](https://github.com/frappe/erpnext/issues/30826)) ([645ee2d](645ee2d822))
2022-05-03 08:51:32 +00:00
Deepesh Garg
a1f31013e2 Merge pull request #30886 from frappe/version-13-pre-release
chore: weekly release for version-13
2022-05-03 14:19:46 +05:30
Deepesh Garg
64d96f436b Merge pull request #30885 from frappe/version-13-hotfix
chore: pre release for version-13
2022-05-03 13:41:33 +05:30
Deepesh Garg
fda250606a Merge branch 'version-13-pre-release' into version-13-hotfix 2022-05-03 13:21:10 +05:30
Deepesh Garg
2126dee8ca Merge pull request #30874 from frappe/mergify/bp/version-13-hotfix/pr-30848
fix: Cost center filter in payment reconciliation (backport #30848)
2022-05-03 13:18:31 +05:30
marination
d53228b153 fix: Wrap SLE actual_qty in flt to avoid NoneType operation
- Since Batch cancellation SLEs do not set qtys (will fix separately), `merge_similar_entries` gets `actual_qty` as None
- This causes NoneType operation error on tests that cancel batch-serial reco
- Modified tests to avoid using commit and rollback explicitly
2022-05-03 13:00:00 +05:30
Deepesh Garg
b7e1d40e43 fix: Ignore loan repayments made from salary slip 2022-05-03 12:55:04 +05:30
Deepesh Garg
937d358fbf Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-30848 2022-05-03 12:46:10 +05:30
Deepesh Garg
366cd6171c chore: resolve conflicts 2022-05-03 12:21:06 +05:30
mergify[bot]
a1b0813966 fix: payment days calculation for employees joining/leaving mid-month (#30863) (#30883)
(cherry picked from commit 924cf7763e)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-05-03 11:46:46 +05:30
Saqib Ansari
4db588e72e Merge pull request #30876 from frappe/mergify/bp/version-13-hotfix/pr-30875
fix(India): Supply type for overseas invoices with payment of tax (backport #30875)
2022-05-02 22:17:56 +05:30
mergify[bot]
246869dd28 fix(india): e-invoice generation for registered composition gst category type (#30814) (#30877) 2022-05-02 22:16:43 +05:30
Saqib Ansari
cf087103cb fix: supply type for sez invoices with payment of tax
(cherry picked from commit c8aa77285e)
2022-05-02 16:20:44 +00:00
Deepesh Garg
fdcc591a5e fix: Supply type for overseas invoices with payment of tax
(cherry picked from commit d7cb269e0c)
2022-05-02 16:20:44 +00:00
Deepesh Garg
0df96e1084 test: Add test for payment reconciliation
(cherry picked from commit b440dabe12)
2022-05-02 12:29:25 +00:00
Deepesh Garg
22e7f03a03 fix: Cost center filter on payment reconciliation
(cherry picked from commit ab94b73e93)

# Conflicts:
#	erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js
2022-05-02 12:29:24 +00:00
Deepesh Garg
6aab9ca427 Merge pull request #30852 from deepeshgarg007/vat_ksa
fix: Vat Audit report fixes
2022-05-02 16:14:03 +05:30
mergify[bot]
57b03f0bf2 fix(UX): misleading stock entry lables (#30870) (#30871)
* fix(UX): misleading stock entry lables

* chore: field labels

[skip ci]

Co-authored-by: Marica <maricadsouza221197@gmail.com>

Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 59a5090843)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-02 15:17:13 +05:30
Sherin KR
5a5b49b61a fix: Period Closing Voucher is considering GL entries with is_cancelled=1 (#30865)
* fix: Period Closing Voucher - Period Closing Voucher is considering GL entry with is_cancelled=1 as well

* fix: condition

Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2022-05-02 15:03:30 +05:30
mergify[bot]
37fad7e04c fix: convert default_item_manufacturer to link field (#30835) (#30866)
(cherry picked from commit dcda55641b)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-02 14:58:05 +05:30
marination
964de1fc69 fix: Item Alternative Test 2022-05-02 14:44:26 +05:30
marination
5bc5af1066 chore: Tests for Stock Reconciliation 2022-05-02 14:41:08 +05:30
marination
a144548db9 chore: Tests for Stock Entry 2022-05-02 14:18:54 +05:30
marination
fc35323106 fix: Unlink and delete batch created from stock reco on cancel 2022-05-02 14:18:27 +05:30
Deepesh Garg
7c0069c0d3 chore: Education domain deprecation warning (#30861)
* chore: Education domain deprecation warning

* chore: Education domain deprecation warning

* chore: Rename file and patch
2022-05-02 13:29:25 +05:30
Deepesh Garg
0b9a59c605 Merge pull request #30856 from frappe/mergify/bp/version-13-hotfix/pr-30806
fix: Consistent accounting dimensions across Sales and Purchase docs (backport #30806)
2022-05-02 11:44:52 +05:30
Deepesh Garg
b9c326e3f6 chore: resolve conflicts 2022-05-02 11:16:48 +05:30
Deepesh Garg
d9756d54ad chore: resolve conflicts 2022-05-02 11:15:58 +05:30
mergify[bot]
7ee18e86a2 feat: Copy task color from project template (backport #30857) (#30859)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
Co-authored-by: sersaber <93864988+sersaber@users.noreply.github.com>
2022-05-02 10:59:58 +05:30
Deepesh Garg
5df50588cf fix: Consistent accounting dimensions across Sales and Purchase docs
(cherry picked from commit 82a0635c66)

# Conflicts:
#	erpnext/patches.txt
#	erpnext/selling/doctype/sales_order/sales_order.json
2022-05-01 16:33:16 +00:00
Deepesh Garg
87383680f0 Merge pull request #30853 from frappe/mergify/bp/version-13-hotfix/pr-30815
fix: Ignore custom field validation while setup (backport #30815)
2022-05-01 15:22:57 +05:30
Deepesh Garg
ee54bf7fe2 fix: Ignore custom field validation while setup
(cherry picked from commit 67bb29026f)
2022-04-30 16:33:44 +00:00
Deepesh Garg
d5319a4826 fix: Vat Audit report fixes 2022-04-30 22:01:05 +05:30
Deepesh Garg
a98263cd31 Merge pull request #30845 from frappe/mergify/bp/version-13-hotfix/pr-30843
fix: Multi currency opening invoices (backport #30843)
2022-04-29 23:04:03 +05:30
Deepesh Garg
a3de0320aa Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-30843 2022-04-29 22:16:52 +05:30
Rucha Mahabal
f7bf4a3e62 fix(UX): record reason for skipping attendance or marking absent for auto attendance (#30846) 2022-04-29 16:37:26 +05:30
Deepesh Garg
2e62d518e8 fix: Multi currency opening invoices
(cherry picked from commit a8452c2ba2)
2022-04-29 09:46:34 +00:00
mergify[bot]
731107d0a3 test: create new item instead of using with _Test Item (backport #30827) (#30829)
This is an automatic backport of pull request #30827 done by [Mergify](https://mergify.com).


---


<details>
<summary>Mergify commands and options</summary>

<br />

More conditions and actions can be found in the [documentation](https://docs.mergify.com/).

You can also trigger Mergify actions by commenting on this pull request:

- `@Mergifyio refresh` will re-evaluate the rules
- `@Mergifyio rebase` will rebase this PR on its base branch
- `@Mergifyio update` will merge the base branch into this PR
- `@Mergifyio backport <destination>` will backport this PR on `<destination>` branch

Additionally, on Mergify [dashboard](https://dashboard.mergify.com/) you can:

- look at your merge queues
- generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com
</details>
2022-04-28 10:58:24 +00:00
mergify[bot]
645ee2d822 feat: support product bundles in picklist (backport #30762) (#30826)
* refactor: misc pick list refactors

- make tracking fields read only and no-copy 🤦
- collapse print settings section, most users configure it once and
  forget about it, not need to show this.
- call pick list grouping function directly
- use get_descendants_of instead of obscure db function

(cherry picked from commit 5c3f9019cc)

* test: bundles in picklist

(cherry picked from commit 7d5682020a)

# Conflicts:
#	erpnext/stock/doctype/pick_list/test_pick_list.py

* feat: Pick list from SO with Product Bundle

(cherry picked from commit 36c5e8a14f)

* refactor: sales order status update

- rename badly named variables
- support updated packed items

(cherry picked from commit e64cc66df7)

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

* perf: single update per Sales Order.

For each SO item the sales order picking status was being updated, this
isn't required and wasteful.

(cherry picked from commit c3fc0a4f55)

* feat: back-update min picked qty for a bundle

(cherry picked from commit 60bc26fdbe)

* refactor: simplify needlessly complicated code

(cherry picked from commit 3ddad6891a)

* refactor: groupby using keys instead of int index

(cherry picked from commit 277b51b404)

* refactor: simpler check for non-SO items

(cherry picked from commit f574121741)

* feat: create DN from pick list with bundle items

(cherry picked from commit 23cb0d684d)

* refactor: remove unnecssary vars

also remove misleading docstring

(cherry picked from commit 25485edfd9)

* fix: round off bundle qty

This is to accomodate bundles that might allow floating point qty.

(cherry picked from commit 41aa4b3524)

* feat: transfer picklist stock info to packing list

(cherry picked from commit 1ac275ce61)

* test: product bundle fixture

(cherry picked from commit ee54ece8fd)

* test: test bundle - picklist behaviour

(cherry picked from commit 9e60acdf56)

# Conflicts:
#	erpnext/stock/doctype/pick_list/test_pick_list.py

* fix: compare against stock qty while validating

Other changes:

- only allow whole number of bundles to get picked

(cherry picked from commit 8207697e43)

* fix: dont map picked qty and consider pick qty for new PL

Co-Authored-By: marination <maricadsouza221197@gmail.com>
(cherry picked from commit 47e1a0104c)

* fix(UX): only show pick list when picking is pending

[skip ci]

(cherry picked from commit 9a8e3ef235)

* chore: make picked qty read only

(cherry picked from commit ebd5f0b1bb)

* chore: conflicts and py3.7 compatibilty

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-27 17:08:37 +05:30
mergify[bot]
b45db347cc ci: failfast when merge conflict exists (#30823) (#30824)
[skip ci]

(cherry picked from commit 3ae9fa98c4)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-27 14:45:21 +05:30
Rucha Mahabal
3cdbb65b5a fix: filters not working in Shift Assignment Calendar view (#30822) 2022-04-27 14:44:25 +05:30
Saqib Ansari
f693d43cda Merge pull request #30809 from frappe/mergify/bp/version-13-hotfix/pr-30808
fix(pos): search field doesn't reset on checkout (backport #30808)
2022-04-27 14:15:07 +05:30
Ankush Menat
b33317e987 chore: format 2022-04-26 18:44:03 +05:30
Ankush Menat
980a87417b Merge pull request #30812 from frappe/mergify/bp/version-13-hotfix/pr-30811
chore: Warn users about multiple warehouse accounts (backport #30811)
2022-04-26 18:42:10 +05:30
marination
93482f3302 fix: Use account_type == 'Stock' to filter stock accounts
(cherry picked from commit e2a163d4e9)
2022-04-26 12:49:00 +00:00
marination
38fbd94ac9 chore: Warn users about multiple warehouse accounts
- Get distinct accounts that warehouse value has been booked against
- If same account as the one being set, ignore
- If not same account or multiple accounts: warn user that it makes it harder to track mismatches

(cherry picked from commit 44331f4f1f)
2022-04-26 12:49:00 +00:00
Saqib Ansari
b01f8555e5 fix(pos): number pad translations
(cherry picked from commit b1ac5ff9d2)
2022-04-26 09:18:11 +00:00
Saqib Ansari
edbf5513da fix(pos): search field doesn't reset on checkout
(cherry picked from commit 03a6103fe5)
2022-04-26 09:18:11 +00:00
Frappe PR Bot
b77b3780d6 chore(release): Bumped to Version 13.27.1
## [13.27.1](https://github.com/frappe/erpnext/compare/v13.27.0...v13.27.1) (2022-04-26)

### Bug Fixes

* Add accounting dimensions for round off GL Entry ([dedb90e](dedb90ea72))
* batch_no filtering not working when batch no is also a number in scientific notation ([#30770](https://github.com/frappe/erpnext/issues/30770)) ([#30771](https://github.com/frappe/erpnext/issues/30771)) ([c339305](c339305e9c))
* Check if accounting dimension exists ([1834671](1834671d59))
* dependent gle reposting (backport [#30726](https://github.com/frappe/erpnext/issues/30726)) ([#30772](https://github.com/frappe/erpnext/issues/30772)) ([a6d0938](a6d0938591))
* Do not validate while creating accounting dimension ([153b41a](153b41a269))
* e_commerce_settings.js ([3a5f5d5](3a5f5d5cd0))
* e_commerce_settings.py ([86c5f4d](86c5f4db85))
* First preference to parent cost center rather than round off cost center ([a2d95fc](a2d95fc62b))
* Handle Multiselect field mapping separately ([dc2f694](dc2f694547))
* **india:** 401 & 403 client error while generating IRN ([198bdcf](198bdcfdc6))
* **india:** cess value not considered while validating e-invoice totals ([#30800](https://github.com/frappe/erpnext/issues/30800)) ([f70fca1](f70fca1c9e))
* **india:** transporter name is null while generating e-way bill ([#30736](https://github.com/frappe/erpnext/issues/30736)) ([6291b28](6291b28c37))
* linter ([6dddbb9](6dddbb9f27))
* Loan doctypes in bank reconciliation ([e69c715](e69c71576d))
* Mistyped variable name in patch ([e76220e](e76220e819))
* monthly attendance sheet ([#30748](https://github.com/frappe/erpnext/issues/30748)) ([0b4e3f1](0b4e3f1467))
* Must not be able to start Job Card if it is related to Work Order that is not started yet ([#29072](https://github.com/frappe/erpnext/issues/29072)) ([#30755](https://github.com/frappe/erpnext/issues/30755)) ([b656ffa](b656ffa45e))
* Query filter fields from Website Item instead of Item master ([bed9e09](bed9e09153))
* select doctype as payment_document ([44f0b69](44f0b69152))
* **Selling,E-Commerce:** Shopping cart quotation without website item. ([#29085](https://github.com/frappe/erpnext/issues/29085)) ([ea0fe5e](ea0fe5e10c))
* SO analysis rpt will fetch SO's without Delivery note as well ([f9d89c7](f9d89c7ce6))
* translation ([#30781](https://github.com/frappe/erpnext/issues/30781)) ([#30783](https://github.com/frappe/erpnext/issues/30783)) ([8335ca6](8335ca6331))
* Update token to allow updates on protected branch ([baab379](baab3797ca))
* update translation ([#30725](https://github.com/frappe/erpnext/issues/30725)) ([#30776](https://github.com/frappe/erpnext/issues/30776)) ([b585262](b585262842))
* Use parent cost center for Sales and Purchase Invoice ([fe9f329](fe9f32946c))
* Use right precision for asset value after full schedule ([#30745](https://github.com/frappe/erpnext/issues/30745)) ([269e192](269e1923c9))
* Validate field filter wrt to Website Item & re-use validation in Item Group ([34437a8](34437a83df))
2022-04-26 07:52:13 +00:00
Deepesh Garg
016839e573 Merge pull request #30805 from frappe/version-13-pre-release
chore: version 13 release
2022-04-26 13:17:29 +05:30
Deepesh Garg
25bc10e0a9 Merge branch 'version-13' into version-13-pre-release 2022-04-26 12:32:06 +05:30
Deepesh Garg
87ec9cd0cc Merge pull request #30804 from frappe/version-13-hotfix
chore: version 13 pre release
2022-04-26 12:25:25 +05:30
Deepesh Garg
2f42cb6362 Merge branch 'version-13-pre-release' into version-13-hotfix 2022-04-26 11:47:34 +05:30
Deepesh Garg
30d1cecf60 Merge pull request #30801 from frappe/mergify/bp/version-13-hotfix/pr-30754
fix: First preference to parent cost center rather than round off cost center (backport #30754)
2022-04-25 17:28:55 +05:30
Deepesh Garg
4522826335 test: Unit test for round off entry dimensions
(cherry picked from commit 3fa1c63479)
2022-04-25 11:37:13 +00:00
Deepesh Garg
1834671d59 fix: Check if accounting dimension exists
(cherry picked from commit c312cd3725)
2022-04-25 11:37:13 +00:00
Deepesh Garg
dedb90ea72 fix: Add accounting dimensions for round off GL Entry
(cherry picked from commit 015812b0b8)
2022-04-25 11:37:12 +00:00
Deepesh Garg
fe9f32946c fix: Use parent cost center for Sales and Purchase Invoice
(cherry picked from commit c42547d40f)
2022-04-25 11:37:12 +00:00
Deepesh Garg
a2d95fc62b fix: First preference to parent cost center rather than round off cost center
(cherry picked from commit 0ac11a5b30)
2022-04-25 11:37:11 +00:00
mergify[bot]
f70fca1c9e fix(india): cess value not considered while validating e-invoice totals (#30800)
(cherry picked from commit 8e6c7a6bf7)

Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2022-04-25 15:08:09 +05:30
Deepesh Garg
30bf48e1db Merge pull request #30798 from frappe/mergify/bp/version-13-hotfix/pr-30778
fix: Do not validate while creating accounting dimension (backport #30778)
2022-04-25 14:08:13 +05:30
Deepesh Garg
153b41a269 fix: Do not validate while creating accounting dimension
(cherry picked from commit 9bb132fdd3)
2022-04-25 07:01:28 +00:00
Deepesh Garg
d99cc8b05a Merge pull request #30794 from frappe/mergify/bp/version-13-hotfix/pr-30763
fix: Add loan doctypes in bank clearance (backport #30763)
2022-04-25 08:51:50 +05:30
Deepesh Garg
12f5d65271 test: Remove teardown method
(cherry picked from commit c515abc392)
2022-04-24 15:26:13 +00:00
Deepesh Garg
57485b30b8 test: Fixes in test case
(cherry picked from commit d4d83f4bb6)
2022-04-24 15:26:12 +00:00
Deepesh Garg
1a74c6ee56 test: Fixes in test case
(cherry picked from commit 0eacc99ab7)
2022-04-24 15:26:12 +00:00
Deepesh Garg
728ac1f54e test: Add test coverage for bank clearance
(cherry picked from commit 8a8476bb5c)
2022-04-24 15:26:12 +00:00
Deepesh Garg
44f0b69152 fix: select doctype as payment_document
(cherry picked from commit 3d0e68acaa)
2022-04-24 15:26:11 +00:00
Deepesh Garg
e69c71576d fix: Loan doctypes in bank reconciliation
(cherry picked from commit c3e27b5556)
2022-04-24 15:26:11 +00:00
Deepesh Garg
664a2989a6 Merge pull request #30773 from frappe/mergify/bp/version-13-hotfix/pr-30757
fix(india): 401 & 403 client error while generating IRN (backport #30757)
2022-04-22 19:47:19 +05:30
mergify[bot]
8335ca6331 fix: translation (#30781) (#30783)
fixed the short word for March in german language

(cherry picked from commit 43c1d63ab2)

Co-authored-by: Wolfram Schmidt <wolfram.schmidt@phamos.eu>
2022-04-22 17:39:15 +05:30
Devin Slauenwhite
ea0fe5e10c fix(Selling,E-Commerce): Shopping cart quotation without website item. (#29085)
* test: assert error if quotation contains non website item

* fix(test): validate exception without website item

* fix: shopping cart quotation without website item

* fix: sider issues

* fix: linter trilaing whitespace

* fix: linter format string after translation

* fix: Skip unpublished Variants with published templates in shopping cart quote validation

* style: Re-run pre-commit

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-04-22 17:19:29 +05:30
Saqib Ansari
6dddbb9f27 fix: linter 2022-04-22 14:15:21 +05:30
Deepesh Garg
a074d12afd Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-30757 2022-04-22 13:20:09 +05:30
Deepesh Garg
712443a91c chore: Resolve conflicts 2022-04-22 11:48:07 +05:30
mergify[bot]
b585262842 fix: update translation (#30725) (#30776)
* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

* Update ru.csv

(cherry picked from commit e088e65871)

Co-authored-by: Vladislav <integration.into.society@gmail.com>
2022-04-22 11:18:29 +05:30
mergify[bot]
a6d0938591 fix: dependent gle reposting (backport #30726) (#30772)
* refactor: repost error handling

(cherry picked from commit afc5a55a23)

* test: dependent GL entry reposting

(cherry picked from commit a2af2daca7)

# Conflicts:
#	erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py

* fix: dependent GLE reposting

(cherry picked from commit ecdb49314f)

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

* test: repost queue progress

(cherry picked from commit 8f519545b0)

* test: use disposable item codes in tests

dependency causes flake

(cherry picked from commit d2882ea436)

* fix: correct sorting while updating bin

(cherry picked from commit b24920c0e9)

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

* fix: sort stock vouchers before reposting GLE

(cherry picked from commit 700e864d90)

* test: discard local future SLE cache between tests

(cherry picked from commit 9734329094)

* chore: conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-21 19:27:23 +05:30
Saqib Ansari
198bdcfdc6 fix(india): 401 & 403 client error while generating IRN
(cherry picked from commit ee8047aba3)

# Conflicts:
#	erpnext/regional/india/e_invoice/utils.py
2022-04-21 13:26:05 +00:00
Deepesh Garg
32cff94bde chore: Remove conflicts from Sales Order Analysis report (#30761)
* fix: Remove conflicts from Sales Order Analysis report

* fix: change field to duration and fetch elapsed seconds

* chore: Ignore linting check for sql query
2022-04-21 18:31:35 +05:30
mergify[bot]
c339305e9c fix: batch_no filtering not working when batch no is also a number in scientific notation (#30770) (#30771)
[skip ci]

(cherry picked from commit ee3036651a)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-21 16:39:24 +05:30
Marica
ac433dce2a Merge pull request #30179 from MostafaFekry/patch-4
fix: Filter fields in E Commerce Settings (use Website Item)
2022-04-21 14:36:20 +05:30
Marica
d8944b0499 Merge branch 'version-13-hotfix' into patch-4 2022-04-21 12:32:17 +05:30
marination
f58d3b4d3d test: setup e commerce settings before running invalid filtrs test 2022-04-21 12:31:16 +05:30
Ganga Manoj
269e1923c9 fix: Use right precision for asset value after full schedule (#30745) 2022-04-20 19:44:09 +05:30
marination
ba635145da test: Field filter validation and Custom field as field filter
- Test to block Item fields (which aren’t in Website Item) in E Commerce Settings as filters
- Removed unnecessary function and setup in E Commerce Settings test
- Removed commented useless test
- Test to check custom field as filter
2022-04-20 18:54:30 +05:30
marination
dc2f694547 fix: Handle Multiselect field mapping separately
- Map Multiselect child table to Website Item (copy rows)
2022-04-20 17:47:14 +05:30
mergify[bot]
b656ffa45e fix: Must not be able to start Job Card if it is related to Work Order that is not started yet (#29072) (#30755)
* fix: Cannot start Job strat if related to Work Order not started yet

* fix: Cannot start Job strat if related to Work Order not started yet

* test

* test

* fix siders

* PR review

* chore: Code cleanup

- Better short circuit for if condition (make it such that both conditions dont always have to be computed)
- Remove `r.message` extraction by avoiding `then()`

* chore: Remove unnecessary json change

Co-authored-by: marination <maricadsouza221197@gmail.com>
(cherry picked from commit 143786aaa0)

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
2022-04-20 15:11:11 +05:30
Raffael Meyer
0b4e3f1467 fix: monthly attendance sheet (#30748) 2022-04-20 12:29:45 +05:30
marination
e76220e819 fix: Mistyped variable name in patch 2022-04-20 12:27:04 +05:30
mergify[bot]
77e8c542dd chore: Update creds to allow updates on protected branch (#30749) (#30750)
(cherry picked from commit e4265ce814)

Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
2022-04-19 17:33:15 +05:30
FinByz Tech Pvt. Ltd
6291b28c37 fix(india): transporter name is null while generating e-way bill (#30736) 2022-04-19 16:26:56 +05:30
semantic-release-bot
4389100fa1 chore(release): Bumped to Version 13.27.0
# [13.27.0](https://github.com/frappe/erpnext/compare/v13.26.0...v13.27.0) (2022-04-19)

### Bug Fixes

* Depreciation Amount calculation for first row when Monthly Depreciation is allowed ([#30692](https://github.com/frappe/erpnext/issues/30692)) ([9cf790d](9cf790db9d))
* Do not show disabled dimensions in reports ([46d773d](46d773df5d))
* Exchange gain and loss on advance jv allocation ([9c5f841](9c5f8415bf))
* Map correct company to PO made via Prod Plan (subcontract) ([44be67e](44be67e6dd))
* Map Production Plan company in subassembly WO created from it ([f604101](f604101fea))
* **patch:** check if column is present while fixing reverse linking (backport [#30737](https://github.com/frappe/erpnext/issues/30737)) ([#30739](https://github.com/frappe/erpnext/issues/30739)) ([38002e3](38002e3fe2))
* Payment reco query with max invocie and payment amount limit ([4008c95](4008c95ac6))
* Price changing on creating Sales retrun from Delivery Note ([93fe840](93fe840844))
* process statement to_date override ([378d15d](378d15d388))
* Remove "Values Out of Sync" validation (backport [#30707](https://github.com/frappe/erpnext/issues/30707)) ([#30718](https://github.com/frappe/erpnext/issues/30718)) ([fb9d640](fb9d640d8b))
* Update token to allow updates on protected branch ([2a29aef](2a29aefb19))
* update translation ([#30716](https://github.com/frappe/erpnext/issues/30716)) ([fb127da](fb127da489))

### Features

* Item-wise provisional accounting for service items ([5776881](5776881f34))
2022-04-19 10:46:00 +00:00
Ankush Menat
f266d765fd chore: add GH token 2022-04-19 15:58:49 +05:30
Deepesh Garg
5915a73939 Merge pull request #30741 from frappe/version-13-pre-release
chore: release for v13.27.0
2022-04-19 15:42:46 +05:30
Deepesh Garg
f6898344ef Merge pull request #30744 from frappe/mergify/bp/version-13-pre-release/pr-30742
fix: Update token to allow updates on protected branch (backport #30742)
2022-04-19 15:33:21 +05:30
Deepesh Garg
2a29aefb19 fix: Update token to allow updates on protected branch
(cherry picked from commit 6f332f3669)
2022-04-19 10:02:33 +00:00
Deepesh Garg
377c37a99f Merge pull request #30743 from frappe/mergify/bp/version-13-hotfix/pr-30742
fix: Update token to allow updates on protected branch (backport #30742)
2022-04-19 15:32:10 +05:30
Deepesh Garg
baab3797ca fix: Update token to allow updates on protected branch
(cherry picked from commit 6f332f3669)
2022-04-19 10:01:58 +00:00
Deepesh Garg
8c291f7b7a Merge pull request #30734 from frappe/mergify/bp/version-13-hotfix/pr-30721
fix: SO's without delivery note will also be fetched (backport #30721)
2022-04-19 14:12:03 +05:30
Deepesh Garg
381e9d2236 Merge pull request #30740 from frappe/version-13-hotfix
chore: Pre-release for v13.27.0
2022-04-19 14:10:58 +05:30
mergify[bot]
38002e3fe2 fix(patch): check if column is present while fixing reverse linking (backport #30737) (#30739)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-04-19 12:39:28 +05:30
marination
9506dbe433 chore: Patch to copy custom fields (field filters) from Item to Website Item 2022-04-18 21:38:22 +05:30
ruthra kumar
61ff1c22b3 test: Sales order analysis report
(cherry picked from commit 13487e2408)
2022-04-18 14:29:06 +00:00
ruthra kumar
f9d89c7ce6 fix: SO analysis rpt will fetch SO's without Delivery note as well
(cherry picked from commit e28e6726f1)

# Conflicts:
#	erpnext/selling/report/sales_order_analysis/sales_order_analysis.py
2022-04-18 14:29:06 +00:00
marination
34437a83df fix: Validate field filter wrt to Website Item & re-use validation in Item Group 2022-04-18 19:24:08 +05:30
marination
bed9e09153 fix: Query filter fields from Website Item instead of Item master
- tweak `filters.py` to correctly query filter field values from Website Item
- Use Website Item for filter field options in Settings and Item Group Field Filter table
2022-04-18 19:23:17 +05:30
Marica
952e267e92 Merge branch 'version-13-hotfix' into patch-4 2022-04-18 18:10:02 +05:30
mergify[bot]
8e30af84cd chore: Add semantic releases (backport #30729) (#30732)
* chore: Add sematic releases

(cherry picked from commit 41249c57c4)

* chore: Update branch name

(cherry picked from commit cc1bdd426b)

* chore: block major releases

(cherry picked from commit c12a36aed9)

* ci: use latest ubuntu container

(cherry picked from commit 6fc11cb4c5)

* chore: do not publish any assets

(cherry picked from commit e0a9a69d76)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
2022-04-18 17:18:53 +05:30
Deepesh Garg
d6126b6695 Merge pull request #30731 from frappe/mergify/bp/version-13-hotfix/pr-30728
fix: Price changing on creating Sales return from Delivery Note (backport #30728)
2022-04-18 16:33:14 +05:30
Deepesh Garg
93fe840844 fix: Price changing on creating Sales retrun from Delivery Note
(cherry picked from commit 9c081947ec)
2022-04-18 09:04:50 +00:00
Deepesh Garg
183ff53ccb Merge pull request #30720 from frappe/mergify/bp/version-13-hotfix/pr-30716
fix: update translation (backport #30716)
2022-04-15 14:01:19 +05:30
HENRY Florian
fb127da489 fix: update translation (#30716)
* fix: update translation

* fix: update translation

* fix: update translation

* fix: update translation

(cherry picked from commit e6aa28ea14)
2022-04-14 16:07:40 +00:00
Deepesh Garg
933bd7413a Merge pull request #30408 from bhavesh95863/patch-3
fix: process statement to_date override
2022-04-14 18:43:28 +05:30
mergify[bot]
fb9d640d8b fix: Remove "Values Out of Sync" validation (backport #30707) (#30718)
This is an automatic backport of pull request #30707 done by [Mergify](https://mergify.com).
Cherry-pick of 89fab78027 has failed:
```
On branch mergify/bp/version-13-hotfix/pr-30707
Your branch is up to date with 'origin/version-13-hotfix'.

You are currently cherry-picking commit 89fab78027.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   erpnext/accounts/doctype/journal_entry/journal_entry.py

no changes added to commit (use "git add" and/or "git commit -a")
```


To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

---


<details>
<summary>Mergify commands and options</summary>

<br />

More conditions and actions can be found in the [documentation](https://docs.mergify.com/).

You can also trigger Mergify actions by commenting on this pull request:

- `@Mergifyio refresh` will re-evaluate the rules
- `@Mergifyio rebase` will rebase this PR on its base branch
- `@Mergifyio update` will merge the base branch into this PR
- `@Mergifyio backport <destination>` will backport this PR on `<destination>` branch

Additionally, on Mergify [dashboard](https://dashboard.mergify.com/) you can:

- look at your merge queues
- generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com
</details>
2022-04-14 12:29:35 +00:00
Deepesh Garg
62bad90c90 Merge pull request #30717 from frappe/mergify/bp/version-13-hotfix/pr-30710
fix: Exchange gain and loss on advance Journal Entry allocation (backport #30710)
2022-04-14 15:29:55 +05:30
Deepesh Garg
a167f9e17f test: Update customer in Sales Invoice
(cherry picked from commit c38be53ce8)
2022-04-14 09:40:53 +00:00
Deepesh Garg
e135c452af test: Update customer
(cherry picked from commit 972d9ec5b4)
2022-04-14 09:40:53 +00:00
Deepesh Garg
9c5f8415bf fix: Exchange gain and loss on advance jv allocation
(cherry picked from commit 31883b699d)
2022-04-14 09:40:53 +00:00
Deepesh Garg
46a00d1da6 Merge pull request #30714 from frappe/mergify/bp/version-13-hotfix/pr-30675
feat: Item-wise provisional accounting for service items (backport #30675)
2022-04-14 13:14:48 +05:30
Ankush Menat
3a7ac29907 chore: check in missing __init__.py (#30713) 2022-04-14 13:03:34 +05:30
Deepesh Garg
3dcef9352e test: Update test case
(cherry picked from commit ad171c6225)
2022-04-14 07:01:23 +00:00
Deepesh Garg
5776881f34 feat: Item-wise provisional accounting for service items
(cherry picked from commit 3ce64170db)
2022-04-14 07:01:23 +00:00
Deepesh Garg
0b62784f6f Merge pull request #30700 from deepeshgarg007/pay_reco_query_v13
fix: Payment reco query with max invoice and payment amount limit
2022-04-14 11:11:30 +05:30
Ankush Menat
ef4eb4705e chore: warning for DATEV deprecation (#30703) 2022-04-13 15:07:48 +05:30
Ganga Manoj
9cf790db9d fix: Depreciation Amount calculation for first row when Monthly Depreciation is allowed (#30692) 2022-04-13 14:15:10 +05:30
mergify[bot]
2778123106 Merge pull request #30699 from frappe/mergify/bp/version-13-hotfix/pr-30688
fix: Map Production Plan company in subassembly WO created from it (backport #30688)
2022-04-13 07:30:31 +00:00
marination
44be67e6dd fix: Map correct company to PO made via Prod Plan (subcontract)
(cherry picked from commit 6315acc450)
2022-04-13 07:14:16 +00:00
marination
f604101fea fix: Map Production Plan company in subassembly WO created from it
(cherry picked from commit 2777c5c67c)
2022-04-13 07:14:15 +00:00
Deepesh Garg
4008c95ac6 fix: Payment reco query with max invocie and payment amount limit 2022-04-13 12:21:33 +05:30
Deepesh Garg
512b480f6a chore: version bump 2022-04-12 23:31:47 +05:30
Deepesh Garg
d5d6b34380 Merge pull request #30695 from deepeshgarg007/v13_26_0
chore: change log and version bump
2022-04-12 23:29:44 +05:30
Deepesh Garg
2c2d5ccb8f Merge pull request #30694 from frappe/version-13-pre-release
chore: Release for v13.26.0
2022-04-12 23:28:24 +05:30
Deepesh Garg
147499bc9c chore: change log and version bump 2022-04-12 23:01:09 +05:30
Deepesh Garg
dc669b540d Merge pull request #30691 from frappe/mergify/bp/version-13-hotfix/pr-30689
fix: Do not show disabled dimensions in reports (backport #30689)
2022-04-12 22:28:46 +05:30
Deepesh Garg
08e2b9110c Merge pull request #30693 from frappe/version-13-hotfix
chore: Pre release for v13.26.0
2022-04-12 16:56:52 +05:30
Deepesh Garg
46d773df5d fix: Do not show disabled dimensions in reports
(cherry picked from commit 9a1c560c82)
2022-04-12 10:41:25 +00:00
Deepesh Garg
4a48a6aae3 Merge pull request #30690 from frappe/mergify/bp/version-13-hotfix/pr-30686
feat: Ignore permlevel for specific fields (backport #30686)
2022-04-12 16:10:51 +05:30
Nabin Hait
e650d99cdd feat: Ignore permlevel for specific fields
(cherry picked from commit 993c6c0de9)
2022-04-12 10:26:17 +00:00
Deepesh Garg
23ccadbcae Merge pull request #30683 from frappe/mergify/bp/version-13-hotfix/pr-30651
fix: Download JSON for GSTR-1 report (backport #30651)
2022-04-12 14:00:55 +05:30
Deepesh Garg
bfd8ab6d72 Merge pull request #30687 from frappe/mergify/bp/version-13-hotfix/pr-30626
feat(india): e-invoicing for intra-state union territory transactions (backport #30626)
2022-04-12 14:00:38 +05:30
Saqib Ansari
2ab431ad36 feat(india): e-invoicing for intra-state union territory transactions
(cherry picked from commit 45fca6bed7)
2022-04-12 08:03:23 +00:00
mergify[bot]
21066a48b6 fix: ignore item-less maintenance visit for sr no (#30684) (#30685)
(cherry picked from commit 60fb71bd2a)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-12 11:16:59 +05:30
Deepesh Garg
9efc0d1043 fix: Download JSON for GSTR-1 report
(cherry picked from commit b532ade383)
2022-04-11 18:37:17 +00:00
Deepesh Garg
54ea9319a1 Merge pull request #30680 from frappe/mergify/bp/version-13-hotfix/pr-30602
fix: Deferred Revenue/Expense Account validation (backport #30602)
2022-04-11 20:54:52 +05:30
Marica
f54f9771e4 Merge pull request #30681 from frappe/mergify/bp/version-13-hotfix/pr-30674
fix: Handle multiple item transfer in separate SEs against WO (backport #30674)
2022-04-11 17:46:12 +05:30
marination
e322e7654a test: Multiple RM transfer in separate Stock Entries
- Added test and acceptance of 0 as For Quantity in test helper

(cherry picked from commit 5aa60bb651)
2022-04-11 11:54:48 +00:00
marination
c674180f1a style: Missing Semicolon
(cherry picked from commit be2e5ce966)
2022-04-11 11:54:48 +00:00
marination
d079d8771b fix: Handle multiple item transfer in separate SEs against WO
- Check for pending qty in child items to show/hide "Start" button
- If no qty needed to transfer (FG qty is fulfilled), but RM qty pending: map pending in SE with For Quantity = 0

(cherry picked from commit dfff4beaf4)
2022-04-11 11:54:48 +00:00
Deepesh Garg
4296fc36cc test: Add test
(cherry picked from commit 553178bfe7)
2022-04-11 11:33:33 +00:00
Deepesh Garg
f6c9f052d2 fix: Deferred Revenue/Expense Account validation
(cherry picked from commit 9bf5f76ac8)
2022-04-11 11:33:33 +00:00
Ankush Menat
c9af4e8ce5 chore: broken link 2022-04-11 16:55:22 +05:30
mergify[bot]
e91dea62b8 fix: update translation (#30654) (#30676)
(cherry picked from commit 03c631d723)

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
2022-04-11 14:48:17 +05:30
Deepesh Garg
cc3c9c7042 Merge pull request #30662 from deepeshgarg007/implicit_ignore_prcing_rule_check_on_returns
fix: Implicit ignore pricing rule check on returns
2022-04-09 20:15:57 +05:30
Deepesh Garg
8e742d6612 Merge pull request #30663 from frappe/mergify/bp/version-13-hotfix/pr-30542
fix: Ignore disabled tax categories (backport #30542)
2022-04-09 20:15:30 +05:30
Deepesh Garg
37dc11e59a fix: Ignore disabled tax categories
(cherry picked from commit 9a6a181f14)
2022-04-09 14:22:53 +00:00
Deepesh Garg
1b25a7fe76 fix: Implicit ignore pricing rule check on returns 2022-04-09 19:20:51 +05:30
mergify[bot]
e69849d333 fix(pos): cannot change paid amount in pos payments (#30661) 2022-04-09 16:28:25 +05:30
Deepesh Garg
71f72458bf chore: version bump 2022-04-09 16:22:22 +05:30
Saqib Ansari
81812b608f fix(pos): cannot change paid amount in pos payments (#30659) 2022-04-09 16:14:26 +05:30
Saqib Ansari
e4bb81d830 fix(pos): cannot change paid amount in pos payments (#30657) 2022-04-09 16:13:29 +05:30
Jannat Patel
d66979ff52 Merge pull request #30650 from frappe/mergify/bp/version-13-hotfix/pr-30596 2022-04-08 16:50:38 +05:30
Jannat Patel
2ccf58d6ad fix: removed unused courses template
(cherry picked from commit bce1c2a028)
2022-04-08 10:58:18 +00:00
Ankush Menat
9b6c5f2e54 test: prevent cancelling RIV of cancelled voucher
(cherry picked from commit d74181630a)
2022-04-08 16:14:01 +05:30
Ankush Menat
8cac70a63c fix: prevent deleting repost queue for cancelled transactions
(cherry picked from commit a281998bcb)
2022-04-08 16:14:01 +05:30
Deepesh Garg
8d4d12c3b0 Merge pull request #30633 from frappe/mergify/bp/version-13-hotfix/pr-30606
fix: Exchange gain and loss button in Payment Entry (backport #30606)
2022-04-08 13:05:23 +05:30
mergify[bot]
341e8dffd3 fix: remove bad defaults from BOM operation (#30644) (#30645)
[skip ci]

(cherry picked from commit 49560d20bc)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-08 11:27:17 +05:30
Deepesh Garg
13f9207b41 Merge pull request #30620 from nabinhait/party-account-in-ar-ap-report-v13
feat: Receivable/Payable Account column and filter in AR/AP report
2022-04-07 21:24:56 +05:30
Deepesh Garg
a4ea9fa801 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-30606 2022-04-07 21:24:24 +05:30
mergify[bot]
c0cf18d2d6 Merge pull request #30624 from frappe/mergify/bp/version-13-hotfix/pr-30499
feat: 'customer' column and more filter to Payment terms status report (backport #30499)
2022-04-07 13:47:58 +00:00
Ankush Menat
d62928ed65 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-30499 2022-04-07 19:02:47 +05:30
mergify[bot]
4a7ae5c4a7 fix: dont reassign mutable (list) to a different field (backport #30634) (#30635)
This is an automatic backport of pull request #30634 done by [Mergify](https://mergify.com).
Conflicts fixed.
2022-04-07 13:30:24 +00:00
Deepesh Garg
be438c08db fix: Exchange gain and loss button in Payment Entry
(cherry picked from commit 8feb4f08c5)
2022-04-07 11:19:25 +00:00
Nabin Hait
709fcd5051 feat: Receivable/Payable Account column and filter in AR/AP report 2022-04-07 15:56:42 +05:30
mergify[bot]
560c55935f fix: warehouse naming when suffix is present (#30621) (#30629)
(cherry picked from commit be04eaf723)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-07 15:37:33 +05:30
Chillar Anand
30a86951c3 test: Fix failing tests for healthcare service unit (#30625) 2022-04-07 14:58:38 +05:30
mergify[bot]
4b77a4de28 fix: update translation (backport #30474) (#30593)
* fix: update translation (#30474)

* fix: update translation

* fix: update translation

* fix: update translation

* fix: update translation

* fix: update translation

* fix: update translation

* fix: update translation

* fix: update translation

* fix: update translation

* fix: update translation

(cherry picked from commit 4895761d89)

* chore: fix translation csv file

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-07 13:24:48 +05:30
Rucha Mahabal
8932d7040f fix: conflicts 2022-04-07 13:21:06 +05:30
Rucha Mahabal
07ff2cb1d3 fix: conflicts 2022-04-07 13:21:06 +05:30
Rucha Mahabal
8393d113d4 fix: show allocation history for earned leaves allocated via scheduler
(cherry picked from commit ec65af5f38)
2022-04-07 13:21:06 +05:30
Rucha Mahabal
c68a38eb5b fix: make New Leaves Allocated read-only if policy assignment is linked to the allocation and leave type is earned leave
(cherry picked from commit 6203ffc8fa)
2022-04-07 13:21:06 +05:30
Rucha Mahabal
0c163eef23 fix: enable Track Changes in Leave Allocation
(cherry picked from commit f8f1c3d8b5)

# Conflicts:
#	erpnext/hr/doctype/leave_allocation/leave_allocation.json
2022-04-07 13:21:06 +05:30
mergify[bot]
af039be03e fix: fallback to item_name if description is not found (backport #30619) (#30622)
* fix: strip html tags before checking for empty description (#30619)

(cherry picked from commit e4c6d6a1a6)

# Conflicts:
#	erpnext/stock/doctype/item/test_item.py

* fix: resolve conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-07 13:20:36 +05:30
ruthra kumar
39f8ee2ea6 test: added test cases for group filters
(cherry picked from commit 16bfb930f8)
2022-04-07 07:32:04 +00:00
ruthra kumar
a9d5000eab refactor: use group fields from Sales Order and Sales Order Items
(cherry picked from commit b2ed9fd3fe)
2022-04-07 07:32:03 +00:00
ruthra kumar
00acb000dc refactor: item filters are linked with group filters
(cherry picked from commit e324d668d3)
2022-04-07 07:32:02 +00:00
ruthra kumar
9336a3413f refactor: adding new filters and column to test cases
(cherry picked from commit 7558f1b078)
2022-04-07 07:32:02 +00:00
ruthra kumar
c6f946e3e8 feat: additional filters in payment terms status report
(cherry picked from commit eaeadbc422)
2022-04-07 07:32:01 +00:00
Deepesh Garg
da7a2bb3a6 chore: version bump 2022-04-06 22:37:47 +05:30
Saqib Ansari
d720d15e3d fix(pos): reload doc before set value (#30610) 2022-04-06 22:32:23 +05:30
Saqib Ansari
23a7ab15b5 fix(pos): reload doc before set value (#30612) 2022-04-06 22:31:50 +05:30
Saqib Ansari
2e29cf38bb Merge pull request #30611 from nextchamp-saqib/fix-pos-patch-v13
fix(pos): reload doc before set value
2022-04-06 22:28:49 +05:30
Saqib Ansari
f94afc1fff fix(pos): reload doc before set value 2022-04-06 22:14:37 +05:30
Deepesh Garg
78e8f047b5 Merge pull request #30604 from deepeshgarg007/v13_25_0
chore: version bump and change log for v13.25.0
2022-04-06 19:38:41 +05:30
Deepesh Garg
a2d4ae0482 Merge pull request #30605 from frappe/version-13-pre-release
chore: Release for v13.25.0
2022-04-06 19:38:16 +05:30
Deepesh Garg
72d04c66e2 Merge branch 'version-13' into version-13-pre-release 2022-04-06 18:49:58 +05:30
Deepesh Garg
2f7b192ff9 chore: version bump and change log for v13.25.0 2022-04-06 18:46:00 +05:30
Ankush Menat
f89c1b2c0c fix: dont trigger closed WO check on new Job card 2022-04-06 18:28:54 +05:30
mergify[bot]
52aa3561e3 fix: hide pending qty only if original item is assigned (#30599) (#30600)
(cherry picked from commit 8b090a9f7d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-06 16:38:25 +05:30
mergify[bot]
3c33a5e6ac fix: hide pending qty only if original item is assigned (#30599) (#30601)
(cherry picked from commit 8b090a9f7d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-06 16:37:15 +05:30
mergify[bot]
14f46a3e26 fix: check null values in is_cancelled patch (#30594) (#30595)
(cherry picked from commit bb875fe217)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-06 15:14:37 +05:30
Deepesh Garg
3fabc48744 Merge pull request #30592 from frappe/version-13-hotfix
chore: Pre-release for v13.25.0
2022-04-06 15:06:22 +05:30
Marica
50e753330f Merge pull request #30520 from frappe/mergify/bp/version-13-hotfix/pr-30146
refactor: Add exception handling in background job within BOM Update Tool (backport #30146)
2022-04-06 13:50:08 +05:30
Deepesh Garg
ff142f8809 Merge pull request #30589 from frappe/mergify/bp/version-13-hotfix/pr-30557
fix: Issues on loan repayment (backport #30557)
2022-04-06 13:38:39 +05:30
Deepesh Garg
d7af8e1dfe fix: Issues on loan repayment
(cherry picked from commit 194605823e)
2022-04-06 06:07:34 +00:00
Deepesh Garg
08bb18ae8a Merge pull request #30586 from frappe/mergify/bp/version-13-hotfix/pr-30555
fix: Ignore user perm for party account company (backport #30555)
2022-04-06 11:35:56 +05:30
Deepesh Garg
ae11562611 test: Ignore parent company account creation
(cherry picked from commit dec0c1b5bb)
2022-04-06 05:27:32 +00:00
Deepesh Garg
027b7e7de1 fix: Ignore user perm for party account company
(cherry picked from commit 18a3c5d536)
2022-04-06 05:27:32 +00:00
Deepesh Garg
3a55cad05f Merge pull request #30575 from deepeshgarg007/pos_shipping
fix: Do not apply shipping rule for POS transactions
2022-04-06 10:00:21 +05:30
Deepesh Garg
95298f0400 fix: Use get instead of dot 2022-04-06 09:27:40 +05:30
marination
e186d76337 fix: Linter 2022-04-05 19:05:30 +05:30
marination
ec646a1a44 fix: User Literal from typing_extensions as its not supported in typing in py 3.7
- https://mypy.readthedocs.io/en/stable/literal_types.html
2022-04-05 18:45:55 +05:30
Marica
c5c578d7b4 Merge pull request #30582 from frappe/mergify/bp/version-13-hotfix/pr-30578
chore: Accessibility for E-commerce Doctypes (backport #30578)
2022-04-05 18:32:02 +05:30
marination
e8f3e23008 fix: Merge Conflicts 2022-04-05 18:22:35 +05:30
marination
c636b366d5 chore: Add Prices, Stock and E-com Settings access from Website Item
(cherry picked from commit 065623ce25)
2022-04-05 12:42:40 +00:00
marination
732b302be0 chore: Accessibility for E-commerce Doctypes
- Add Website Item routing button and dashboard link in Item master
- Group Item variant buttons together

(cherry picked from commit d4301d6d2f)
2022-04-05 12:42:40 +00:00
Saqib Ansari
e5db8c57f9 Merge pull request #30581 from frappe/mergify/bp/version-13-hotfix/pr-30579
fix: fetch from fields not working in eway bill dialog (backport #30579)
2022-04-05 17:07:34 +05:30
Saqib Ansari
072c3d22b1 Merge pull request #30580 from frappe/mergify/bp/version-13-hotfix/pr-30553
fix(india): minor e-invoicing fixes (backport #30553)
2022-04-05 17:07:22 +05:30
Saqib Ansari
0700ee8a06 fix: fetch from fields not working in eway bill dialog
(cherry picked from commit c8779aa446)
2022-04-05 10:22:59 +00:00
Saqib Ansari
e1bd156f40 fix: server error while viewing gst e-invoice
(cherry picked from commit b91bf40f1b)
2022-04-05 10:22:23 +00:00
Saqib Ansari
01404b2b5b fix(india): cannot generate e-invoice for is_pos invoices
* If mode of payment > 18 characters, the e-invoice portal throws error

(cherry picked from commit 0c26f9a8c8)
2022-04-05 10:22:23 +00:00
Rucha Mahabal
6b1a27a641 Merge pull request #30576 from frappe/mergify/bp/version-13-hotfix/pr-30569 2022-04-04 20:40:49 +05:30
Rucha Mahabal
cb2a8aab31 fix(test): set company for employee in leave allocation test setup
(cherry picked from commit 793164ac2e)
2022-04-04 14:49:20 +00:00
Rucha Mahabal
e41f35aa82 test: leave allocation validations and total value for updates done before and after submission
(cherry picked from commit 5499cecffd)
2022-04-04 14:49:20 +00:00
Rucha Mahabal
1093307dcc fix: total leaves allocated not validated and recalculated on updates post submission
(cherry picked from commit 3538656a7d)
2022-04-04 14:49:19 +00:00
rohitwaghchaure
3f13ce5620 Merge pull request #30570 from frappe/mergify/bp/version-13-hotfix/pr-30564
fix: if accepted warehouse not selected during rejection then stock ledger not created (backport #30564)
2022-04-04 20:15:15 +05:30
Deepesh Garg
c0ebcfb393 fix: Do not apply shipping rule for POS transactions 2022-04-04 20:05:10 +05:30
Marica
761f8e0b1c Merge pull request #30539 from marination/redisearch-app-install-v13
feat: Redisearch with consent (bp)
2022-04-04 19:25:29 +05:30
Sherin KR
0a2c72c594 fix: Validation for single threshold in Tax With Holding Category (#30382) 2022-04-04 19:07:51 +05:30
Rohit Waghchaure
3038a5cd5a test: test case to validate rejected qty without accepted warehouse
(cherry picked from commit ac5df1abbe)
2022-04-04 12:57:04 +00:00
Rohit Waghchaure
157461ed02 fix: if accepted warehouse not selected during rejection then stock ledger not created
(cherry picked from commit 0a71cabab1)
2022-04-04 12:57:04 +00:00
Marica
3e84607cd4 Merge branch 'version-13-hotfix' into redisearch-app-install-v13 2022-04-04 18:01:36 +05:30
mergify[bot]
012cab80bf fix(ux): refresh update to zero val checkbox (#30567) (#30568)
(cherry picked from commit de83511091)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-04 17:31:26 +05:30
mergify[bot]
b524e657e2 fix(pos): do not reset search input on item selection (backport #30537) 2022-04-04 16:35:46 +05:30
Ankush Menat
4cc23830f1 fix: maintain FIFO queue even if outgoing_rate is not found (#30563)
port of #30560
2022-04-04 15:46:49 +05:30
Marica
e5c303e9f4 Merge branch 'version-13-hotfix' into redisearch-app-install-v13 2022-04-04 13:28:09 +05:30
marination
4dc7047a59 chore: Add TODOs(perf) for Redisearch Query 2022-04-04 13:26:08 +05:30
marination
42ec9db5f4 fix: Payload incorrect data (pass item_group.name) 2022-04-04 12:35:14 +05:30
marination
0f9277a8c8 fix: Add default score of 1 to Item Group Autocompleter
- If score 0 is inserted into suggestions, RS does not consider that suggestion
2022-04-04 12:06:27 +05:30
marination
5c36d12369 fix: Convert payload to string before adding to autocompleter 2022-04-04 11:34:39 +05:30
marination
b4d427b429 fix: Better Exception Handling and vaeiabl naming
- Function to handle RS exceptions (create log and raise error)
- Handle `ResponseError` where it is anticipated
- Misc: Better variables
2022-04-04 11:15:45 +05:30
rohitwaghchaure
d032a0cd77 Merge pull request #30450 from anupamvs/crm-contract-naming-v13
feat: configurable Contract naming
2022-04-02 23:43:02 +05:30
Deepesh Garg
00f6565596 Merge pull request #30550 from frappe/mergify/bp/version-13-hotfix/pr-30191
fix: incorrect payable amount for loan closure (backport #30191)
2022-04-02 23:32:56 +05:30
Deepesh Garg
7bf6de1883 fix: Resolve conflicts 2022-04-02 20:33:46 +05:30
Deepesh Garg
3fc43cb259 fix: Code cleanup
(cherry picked from commit 1b2c6a5b78)

# Conflicts:
#	erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
2022-04-02 14:23:50 +00:00
Abhinav Raut
1d9a6efb1b fix: incorrect payable amount for loan closure
(cherry picked from commit 8c76a76154)

# Conflicts:
#	erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
2022-04-02 14:23:50 +00:00
Abhinav Raut
c44a4e559b fix: incorrect payable amount for loan closure
- Add penalty amount to payable amount for loan closure

(cherry picked from commit 4e92926a52)

# Conflicts:
#	erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
2022-04-02 14:23:49 +00:00
marination
17f95b1f83 fix: Use Payload in AutoCompleter (categories in search) and misc
- Separate Item group and Item autocomplete dict definition
- Add payload along with Item group, containing namke and route
- Pass weightage while defining item group autocomplete dict (auto sort)
- Use payload while getting results for categories in search
- Remove check to show categories, always show
- Search fields mandatory if reidsearch enabled
- Code separation (rough)
2022-04-01 18:51:22 +05:30
mergify[bot]
c5fd77ebf7 perf: index barcode for faster scans (#30543) (#30544)
(cherry picked from commit 6c5b01c60d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-04-01 15:50:04 +05:30
Alberto826
63dacaa03d fix: Remove trailing slashes "/" from route (#30531)
Trailing slashes "/" in the routes causes redirect to port 8080 in docker implementation with reverse proxy.
The "student_admission_row.html" template has an href attribute with a trailing slash.
2022-04-01 14:48:15 +05:30
mergify[bot]
a35cc7004d fix: convert dates to datetime before comparing in leave days calculation and fix half day edge case (backport #30538) (#30541) 2022-04-01 14:17:25 +05:30
marination
fd29722d36 fix: Call Redisearch index creation functions on enabling redisearch in settings 2022-04-01 13:05:17 +05:30
Saqib Ansari
9a5acc313c Merge pull request #30515 from frappe/mergify/copy/version-13-hotfix/pr-30324
fix: multiple pos issues (copy #30324)
2022-04-01 12:11:06 +05:30
Saqib Ansari
9335578a0b fix: linting errors 2022-04-01 11:02:18 +05:30
Deepesh Garg
af6dcd66dc Merge pull request #30534 from frappe/mergify/bp/version-13-hotfix/pr-30510
fix: Taxes getting overriden from mapped to target doc (backport #30510)
2022-04-01 10:31:32 +05:30
Deepesh Garg
6c53ca6328 Merge pull request #30512 from frappe/mergify/bp/version-13-hotfix/pr-30486
fix: Account currency validation (backport #30486)
2022-04-01 09:45:45 +05:30
Deepesh Garg
20df023b9a Merge pull request #30525 from frappe/mergify/bp/version-13-hotfix/pr-30500
fix(India): Tax fetching based on tax category (backport #30500)
2022-04-01 09:45:28 +05:30
Deepesh Garg
328b9431b2 fix: Taxes getting overriden from mapped to target doc
(cherry picked from commit 4720969ce6)
2022-04-01 04:14:07 +00:00
Saqib Ansari
a9f24859ad Merge pull request #30514 from frappe/mergify/bp/version-13-hotfix/pr-30461
fix(asset): do not validate warehouse on asset purchase (backport #30461)
2022-03-31 21:08:51 +05:30
rohitwaghchaure
dbb872aeb4 Merge pull request #30530 from frappe/mergify/bp/version-13-hotfix/pr-30527
feat: minor, pick list item reference on delivery note item table (backport #30527)
2022-03-31 21:04:02 +05:30
Rohit Waghchaure
a74198f974 test: test case to check pick list name has mapped or not
(cherry picked from commit 2f51011f91)
2022-03-31 14:53:52 +00:00
Rohit Waghchaure
c92df4eed3 feat: minor, pick list item reference on delivery note item table
(cherry picked from commit 2f63ae2ee9)
2022-03-31 14:53:51 +00:00
Deepesh Garg
f213dc9999 fix(India): Tax fetching based on tax category
(cherry picked from commit 532961fad2)
2022-03-31 12:32:41 +00:00
Saqib Ansari
8416dc713c fix: unexpected keyword argument 'pluck' 2022-03-31 16:32:01 +05:30
Saqib Ansari
8d315a6573 fix: 'int' object has no attribute 'is_draft' 2022-03-31 16:17:51 +05:30
marination
a9ec72d833 chore: Added BOM std filters and update type in List View
(cherry picked from commit 2fece523f6)
2022-03-31 10:25:51 +00:00
marination
770f8da792 test: Added test for 2 more validations
- Covers full validate function

(cherry picked from commit a945484af4)
2022-03-31 10:25:51 +00:00
marination
0d3c8e4d74 fix: Type Annotations, Redundancy, etc.
- Renamed public function`update_new_bom` to `update_new_bom_in_bom_items`
- Replaced `get_cached_doc` with `get_doc`
- Removed click progress bar (drive through update log)
- Removed `bom_obj.update_new_bom()`, was redundant. Did same job as `update_new_bom_in_bom_items`
- Removed `update_new_bom()` in `bom.py`, unused.
- Prettier query formatting
- `update_type` annotated as non optional Literal
- Removed redundant use of JobTimeoutException
- Corrected type annotations in `create_bom_update_log()`

(cherry picked from commit 620575a901)

# Conflicts:
#	erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py
2022-03-31 10:25:50 +00:00
marination
c0c39f8c79 fix: Semgrep
- Explain explicit commits and skip semgrep
- Format client side translated string correctly

(cherry picked from commit ebf00946c9)
2022-03-31 10:25:48 +00:00
marination
1f9ecb3397 fix: Auto format bom_update_log.py
(cherry picked from commit 79495679e2)
2022-03-31 10:25:47 +00:00
marination
9b069ed04b test: API hit via BOM Update Tool
- test creation of log and it's impact

(cherry picked from commit 1d1e925bcf)
2022-03-31 10:25:47 +00:00
Marica
70485a6afc Merge pull request #30517 from frappe/mergify/bp/version-13-hotfix/pr-30509
fix: Add non-existent Item check and cleanup in `validate_for_items` (backport #30509)
2022-03-31 15:55:46 +05:30
marination
5dca5563ff fix: Test, Sider and Added button to access log from Tool
(cherry picked from commit f3715ab382)

# Conflicts:
#	erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py
2022-03-31 10:25:45 +00:00
marination
8b5e759965 fix: Sider and Linter
(cherry picked from commit 3e3af95712)
2022-03-31 10:25:43 +00:00
marination
444af4588f feat: List View indicators for Log and Error Log link in log
(cherry picked from commit 8aff75f8e8)
2022-03-31 10:25:42 +00:00
marination
59af556241 chore: Polish error handling and code sepration
- Added Typing
- Moved all job business logic to bom update log
- Added `run_bom_job` that handles errors and runs either of two methods
- UX: Replace button disabled until both inputs are filled
- Show log creation message on UI for correctness
- APIs return log document as result
- Converted raw sql to QB

(cherry picked from commit cff91558d4)

# Conflicts:
#	erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py
2022-03-31 10:25:41 +00:00
marination
7aa37ec511 feat: BOM Update Log
- Created BOM Update Log that will handle queued job status and failures
- Moved validation and BG job to thus new doctype
- BOM Update Tool only works as an endpoint

(cherry picked from commit 4283a13e5a)

# Conflicts:
#	erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py
2022-03-31 10:25:39 +00:00
marination
7317a0696b refactor: Add exception handling in background job within BOM Update Tool
(cherry picked from commit f57725f8fa)
2022-03-31 10:25:37 +00:00
marination
40a154e64d fix: (test) change expected exception due to https://github.com/frappe/frappe/pull/16454
(cherry picked from commit 93f6346cea)
2022-03-31 09:23:47 +00:00
marination
84247e91f3 fix: Add non-existent Item check and cleanup in validate_for_items
- Added a validation if invalid item code ia passed via data import/API, etc.
- Used DB APIs instead of raw sql
- Separated checks into separate functions
- Added return types to functions
- Better variable naming and removed redundant utils import in function

(cherry picked from commit 982a246eec)
2022-03-31 09:23:46 +00:00
Saqib Ansari
ab7417c26a fix: invalid keyword argument 'pluck' 2022-03-31 14:38:40 +05:30
Saqib Ansari
0bafec2384 fix: merge conflicts 2022-03-31 14:24:42 +05:30
Saqib Ansari
a51b32b7e0 fix: merge conflicts 2022-03-31 14:19:53 +05:30
Saqib Ansari
47567c66c1 chore: ignore rules for QB formatting
(cherry picked from commit e0c36d87e0)
2022-03-31 08:47:20 +00:00
Saqib Ansari
82aea2b998 fix: set is_return & return_against in POS Invoice Reference table
(cherry picked from commit 16253a2f72)

# Conflicts:
#	erpnext/patches.txt
2022-03-31 08:47:20 +00:00
Saqib Ansari
cf3e09588f fix: test cases
(cherry picked from commit 1b556d1c53)
2022-03-31 08:47:18 +00:00
Saqib Ansari
650274e973 fix: sider issues
(cherry picked from commit cb4873c019)
2022-03-31 08:47:17 +00:00
Saqib Ansari
3bb0716dff fix(pos): cannot close the pos if sr. no. is sold & returned
(cherry picked from commit cf51a0a1b8)

# Conflicts:
#	erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py
#	erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py
2022-03-31 08:47:17 +00:00
Saqib Ansari
36845a87e0 fix(pos): remove returned sr. nos. from pos reserved sr. nos. list
(cherry picked from commit f2ae63cbfd)

# Conflicts:
#	erpnext/accounts/doctype/pos_invoice/pos_invoice.py
#	erpnext/stock/doctype/serial_no/serial_no.py
2022-03-31 08:47:15 +00:00
Saqib Ansari
76f83ea559 fix(pos): allow validating stock on save
(cherry picked from commit aff7408775)

# Conflicts:
#	erpnext/accounts/doctype/pos_invoice/pos_invoice.py
2022-03-31 08:47:13 +00:00
Saqib Ansari
3b583c6c48 fix(pos): specific case when serialized item not removed
(cherry picked from commit 4afb47e869)
2022-03-31 08:47:11 +00:00
Saqib Ansari
a3a7dc9ce6 fix(pos): customer group filter in customer selector
(cherry picked from commit 2f82e237ef)
2022-03-31 08:47:10 +00:00
Saqib Ansari
bd2061d6f3 fix: prevent multiple save on applying coupon code
(cherry picked from commit d5fd8e0ba6)
2022-03-31 08:47:09 +00:00
Saqib Ansari
b4a10d571f fix(test): Item MacBook does not exist
(cherry picked from commit 4623a1bc57)
2022-03-31 08:46:17 +00:00
Saqib Ansari
c36b5d9ab8 perf: skip warehouse validation for non-stock items
(cherry picked from commit 199a6da960)

# Conflicts:
#	erpnext/controllers/accounts_controller.py
2022-03-31 08:46:16 +00:00
Saqib Ansari
ad91d57a41 perf: skip warehouse validation for non-stock items
(cherry picked from commit 6528218ac3)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
2022-03-31 08:46:15 +00:00
Saqib Ansari
00cb0d0294 fix(asset): do not validate warehouse on asset purchase
(cherry picked from commit 136466d255)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
2022-03-31 08:46:13 +00:00
Deepesh Garg
ebb2e975cd fix: make test record
(cherry picked from commit d93edbc859)
2022-03-31 08:10:25 +00:00
Deepesh Garg
168cc353ca fix: Account currency validation
(cherry picked from commit d4cc7c553e)
2022-03-31 08:10:25 +00:00
Anupam
444625a0ca fix: linter issues 2022-03-31 13:38:37 +05:30
Saqib Ansari
9ffe34757e Merge pull request #30455 from frappe/mergify/bp/version-13-hotfix/pr-30419
fix: move item tax to item tax template patch (backport #30419)
2022-03-31 12:43:15 +05:30
Anupam
af2d55f893 Merge branch 'crm-contract-naming-v13' of github.com:anupamvs/erpnext into crm-contract-naming-v13 2022-03-31 12:05:46 +05:30
Anupam
20ef6ab5bf fix: review changes 2022-03-31 12:04:53 +05:30
Saqib Ansari
1a169c9dc5 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-30419 2022-03-31 12:02:15 +05:30
mergify[bot]
22ec1a4996 fix: enable row deletion in reference table (#30492)
(cherry picked from commit 500870b2b0)

Co-authored-by: rahib-hassan <rahib.hassan10@gmail.com>
2022-03-30 16:37:00 +05:30
Anoop
3f3717952c fix: cast array slice index integer while splitting serial_nos array (#30468) 2022-03-30 16:36:15 +05:30
mergify[bot]
c7d8d60de6 fix: explicitly check if additional salary is recurring while fetching components for payroll (backport #30489) (#30491)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-30 15:07:56 +05:30
Saqib Ansari
6397456ba6 Merge pull request #30484 from frappe/mergify/bp/version-13-hotfix/pr-30470
fix: credit limit validation in delivery note (backport #30470)
2022-03-30 14:57:49 +05:30
mergify[bot]
46e6d16c49 fix: Dont set idx while adding WO items to Stock Entry (backport #30377) (#30485)
* fix: Dont set `idx` while adding WO items to Stock Entry

- `idx` must be computed by base document's `self.append()` function, so do not set it

(cherry picked from commit a787ebb732)

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

* chore: Remove redundant idx query and value setting

- idx can be removed from `select_columns` as it is already in the main query
- setting idx to '' is not required as it is not used further

(cherry picked from commit 639d380c1f)

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

* test: idx mapping correctness

(cherry picked from commit fa3b953cf7)

* fix: Linter

(cherry picked from commit b5ad626d23)

* fix: resolve conflicts

Co-authored-by: marination <maricadsouza221197@gmail.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-30 12:05:26 +05:30
Saqib Ansari
c9cd3ee9aa fix: credit limit validation in delivery note
(cherry picked from commit c122882884)
2022-03-30 05:39:15 +00:00
Ankush Menat
7a2729e5bb Merge branch 'version-13-hotfix' into version-13-pre-release 2022-03-29 18:41:22 +05:30
mergify[bot]
39ff7b0b06 fix: validate 0 transfer qty in stock entry (#30476) (#30479)
(cherry picked from commit b80fac03af)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-29 18:18:13 +05:30
Ankush Menat
eedfee367c Merge pull request #30478 from ankush/format_v13
style: bulk formatting (v13 port)
2022-03-29 17:51:30 +05:30
Ankush Menat
14c8386040 chore: ignore black formatting commit in blame 2022-03-29 17:31:43 +05:30
Ankush Menat
c07713b860 style: bulk format code with black
v13 port because otherwise backports will result in conflicts always
2022-03-29 17:29:34 +05:30
Ankush Menat
7cc84dcbb4 ci: pin click for black (#30464)
[skip ci]
2022-03-29 17:26:42 +05:30
Ankush Menat
68ded18a23 ci: force black formatting (pre-commit) 2022-03-29 17:26:26 +05:30
mergify[bot]
00ad515ac7 fix: use name for links not item_code (backport #30462) (#30463)
* fix: use `name` for links not `item_code` (#30462)

(cherry picked from commit 76dce2eddc)

# Conflicts:
#	erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py

* fix: conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-29 17:16:31 +05:30
Deepesh Garg
751a6354f1 Merge pull request #30471 from deepeshgarg007/release_v13_24_0
chore: version bump an change log for v13.24.0
2022-03-29 14:35:21 +05:30
Deepesh Garg
33071a4731 Merge pull request #30469 from frappe/version-13-pre-release
chore: v13.24.0 release
2022-03-29 14:29:09 +05:30
Deepesh Garg
e1a0f067b0 chore: version bump an change log for v13.24.0 2022-03-29 14:18:37 +05:30
mergify[bot]
6b3bdb2e9e fix: dont check for failed repost while freezing (backport #30472) (#30473)
* fix: dont check for failed repost while freezing (#30472)

[skip ci]

(cherry picked from commit b12fe0f15b)

# Conflicts:
#	erpnext/stock/utils.py

* fix: conflicts

[skip ci]

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-29 13:56:15 +05:30
Deepesh Garg
a7b2fa31a1 chore: version bump an change log for v13.24.0 2022-03-29 13:38:39 +05:30
Deepesh Garg
4ee08e390a Merge pull request #30460 from frappe/mergify/bp/version-13-pre-release/pr-30385
fix(India): Auto tax fetching based on GSTIN (backport #30385)
2022-03-29 12:32:10 +05:30
Anupam Kumar
825fea0883 Merge branch 'version-13-hotfix' into crm-contract-naming-v13 2022-03-29 12:11:57 +05:30
Deepesh Garg
504f213742 fix: Resolve conflicts 2022-03-29 10:35:44 +05:30
Deepesh Garg
3ff77f9cb3 fix(India): Auto tax fetching based on GSTIN
(cherry picked from commit 7cae669e81)

# Conflicts:
#	erpnext/patches.txt
2022-03-29 04:57:17 +00:00
Deepesh Garg
8e59e67197 Merge pull request #30385 from deepeshgarg007/quotation_gst
fix(India): Auto tax fetching based on GSTIN
2022-03-29 10:25:57 +05:30
mergify[bot]
659fa7a190 fix: bom valuation - handle lack of LPP (#30454) (#30457)
(cherry picked from commit 8dff4d66a4)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-28 18:36:12 +05:30
Mostafa Fekry
86c5f4db85 fix: e_commerce_settings.py
Update get meta from Item to Website Item doctype to check validate_field_filters
2022-03-28 18:15:46 +05:30
Ankush Menat
fc5fd34621 Merge branch 'version-13-hotfix' into patch-4 2022-03-28 18:06:50 +05:30
Raffael Meyer
471a3279b9 fix(lead): reload address and contact before updating their links (Backport #29966) (#29968)
* fix(lead): reload address and contact before updating their links

They might have changed since they were created. Backport of #29966.

* refactor: reload contact after insert
2022-03-28 18:01:00 +05:30
Saqib Ansari
3142e6f188 fix: move item tax to item tax template patch
(cherry picked from commit 936267c934)
2022-03-28 12:05:23 +00:00
Deepesh Garg
ea2b0e224e Merge pull request #30451 from frappe/version-13-hotfix
chore: Pre release for v13.24.0
2022-03-28 16:59:18 +05:30
Anupam
1efb317243 feat: configurable Contract naming 2022-03-28 14:36:43 +05:30
Ankush Menat
7f3651a938 fix: update picked qty on cancellation
(cherry picked from commit 69ae2661d2)
2022-03-28 10:44:53 +05:30
Deepesh Garg
8fb56d57bb Merge pull request #30438 from deepeshgarg007/amount_to_pay
fix: Incorrect default amount to pay for POS invoices
2022-03-27 18:00:42 +05:30
Deepesh Garg
156416bcc3 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into quotation_gst 2022-03-27 17:28:42 +05:30
Deepesh Garg
a044e92687 fix: Incorrect default amount to pay for POS invoices 2022-03-27 13:02:31 +05:30
Saqib Ansari
99dc1ecd2d Merge pull request #30435 from frappe/mergify/bp/version-13-hotfix/pr-30420
fix: unsupported operand type(s) for +=: 'int' and 'NoneType' (backport #30420)
2022-03-26 20:00:07 +05:30
Saqib Ansari
bd171fbd42 fix: unsupported operand type(s) for +=: 'int' and 'NoneType'
(cherry picked from commit 5450542fdb)
2022-03-26 13:46:24 +00:00
Rucha Mahabal
020a4269ae fix(Expense Claim): validate advances after setting totals 2022-03-25 23:43:46 +05:30
Rucha Mahabal
84de986c5a fix(test): add function for getting advances for claim 2022-03-25 23:43:46 +05:30
Rucha Mahabal
e783e3f93e fix: do not update status to Paid if sanctioned amount is 0 2022-03-25 23:43:46 +05:30
Rucha Mahabal
ed0a685e0e chore: sort imports 2022-03-25 23:43:46 +05:30
Rucha Mahabal
7d3c211b1f test: expense claim against fully and partially paid advances 2022-03-25 23:43:46 +05:30
Rucha Mahabal
961e691bdc fix: Expense Claim conditions for Paid status
- status doesn't change to Paid if the entire required amount is already covered via linked advances

- status doesn't change to Paid if the claim is partially paid via advances

- patch to update such uncancelled claims to Paid
2022-03-25 23:43:46 +05:30
Deepesh Garg
5308bb05fc chore: version bump 2022-03-25 21:57:48 +05:30
Deepesh Garg
985e3007e7 Merge pull request #30432 from frappe/mergify/bp/version-13/pr-30429
fix: Check for onload property (backport #30429)
2022-03-25 21:55:47 +05:30
Deepesh Garg
d6703cef55 Merge pull request #30431 from frappe/mergify/bp/version-13-pre-release/pr-30429
fix: Check for onload property (backport #30429)
2022-03-25 21:55:20 +05:30
Deepesh Garg
430c9c9df4 fix: Check for onload property
(cherry picked from commit 71402b43a7)
2022-03-25 16:24:24 +00:00
Deepesh Garg
071064c097 fix: Check for onload property
(cherry picked from commit 71402b43a7)
2022-03-25 16:24:02 +00:00
Deepesh Garg
c2b2b3962a Merge pull request #30429 from deepeshgarg007/transaction_issue
fix: Check for onload property
2022-03-25 21:51:07 +05:30
Deepesh Garg
71402b43a7 fix: Check for onload property 2022-03-25 21:49:19 +05:30
Deepesh Garg
0740158431 Merge pull request #30395 from deepeshgarg007/pos_write_off
fix: Write off amount wrongly calculated in POS Invoice
2022-03-25 20:56:19 +05:30
mergify[bot]
8b5fe164fd fix: show subassembly table always (#30422) (#30423)
[skip ci]

(cherry picked from commit 0534cf6c9c)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-25 19:04:22 +05:30
Deepesh Garg
6a50f36b31 test: test for auto write-off amount 2022-03-25 18:02:14 +05:30
Deepesh Garg
665bd4c510 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into pos_write_off 2022-03-25 16:00:33 +05:30
Deepesh Garg
04a25b0e19 chore: version bump 2022-03-25 13:07:45 +05:30
Deepesh Garg
c2911998a1 Merge pull request #30415 from frappe/mergify/bp/version-13/pr-30406
fix: Rate change issue on save and mapping from other doc (backport #30406)
2022-03-25 13:02:17 +05:30
Deepesh Garg
73d4031100 Merge pull request #30414 from frappe/mergify/bp/version-13-pre-release/pr-30406
fix: Rate change issue on save and mapping from other doc (backport #30406)
2022-03-25 13:02:01 +05:30
Deepesh Garg
f892eb588a fix: Condition
(cherry picked from commit 2e0e6ca6b1)
2022-03-25 07:31:37 +00:00
Deepesh Garg
858fd6fce3 fix: Revert rate calculation
(cherry picked from commit 6937a498e7)
2022-03-25 07:31:36 +00:00
Deepesh Garg
f40c5cb681 fix: Add back calculation for discount
(cherry picked from commit 067564bd26)
2022-03-25 07:31:36 +00:00
Deepesh Garg
8ff47999ab fix: Rate change issue on save and mapping from other doc
(cherry picked from commit 13fcda5776)
2022-03-25 07:31:36 +00:00
Deepesh Garg
def18f2b13 fix: Condition
(cherry picked from commit 2e0e6ca6b1)
2022-03-25 07:31:08 +00:00
Deepesh Garg
6c23dea716 fix: Revert rate calculation
(cherry picked from commit 6937a498e7)
2022-03-25 07:31:08 +00:00
Deepesh Garg
4737cb10f3 fix: Add back calculation for discount
(cherry picked from commit 067564bd26)
2022-03-25 07:31:07 +00:00
Deepesh Garg
13e73f6a38 fix: Rate change issue on save and mapping from other doc
(cherry picked from commit 13fcda5776)
2022-03-25 07:31:07 +00:00
Deepesh Garg
26b90ffce0 Merge pull request #30406 from deepeshgarg007/rate_change_fixes
fix: Rate change issue on save and mapping from other doc
2022-03-25 12:59:40 +05:30
mergify[bot]
29fde6ee8b fix: failing broken patches (#30409) (#30412)
* fix: failing broken patches

* refactor: simpler conditions

[skip ci]

(cherry picked from commit c4854bb1b1)

Co-authored-by: Shadrak Gurupnor <30501401+shadrak98@users.noreply.github.com>
2022-03-25 12:57:05 +05:30
Deepesh Garg
2e0e6ca6b1 fix: Condition 2022-03-25 12:39:59 +05:30
Deepesh Garg
6937a498e7 fix: Revert rate calculation 2022-03-25 12:28:55 +05:30
Deepesh Garg
067564bd26 fix: Add back calculation for discount 2022-03-25 12:17:51 +05:30
Bhavesh Maheshwari
378d15d388 fix: process statement to_date override 2022-03-25 11:27:19 +05:30
Deepesh Garg
13fcda5776 fix: Rate change issue on save and mapping from other doc 2022-03-25 10:46:09 +05:30
Ankush Menat
20794ac9ce fix: consider all existing PO items
When this is sent from API/client side doesn't send temporary_name it
can be flaky. Hence, use all available names for validation.
2022-03-24 18:00:00 +05:30
mergify[bot]
03d7fc1570 fix: broken production item links on production plan (backport #30399) (#30400)
* fix: only validate qty for main non-subassy items

(cherry picked from commit 3d43c437ad)

* fix: subassembly items linked to temporary name

Production Plan tables for po_items and sub_assembly_items are prepared
client side so both dont exist at time of first save or modifying and
hence any "links" created are invalid. This change retains temporary
name so it can be relinked server side after naming is performed.

Co-Authored-By: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 5b1d6055e6)

* test: dont resubmit WO

[skip ci]

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-24 17:30:58 +05:30
Deepesh Garg
d3fd2fd2c5 fix: Ignore for Purchase Invoices 2022-03-24 13:35:32 +05:30
Deepesh Garg
ed38679d22 fix: Ignore for Purchase Invoices 2022-03-24 13:09:55 +05:30
mergify[bot]
26fe2388e1 fix: (ux) Add is_group=0 filter on website warehouse (#30396) (#30397)
- It does not support group warehouses right now and it is misleading

(cherry picked from commit d24458ab77)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-03-24 13:01:06 +05:30
Deepesh Garg
2e33e748ea fix: Client side changes for POS Write off amount 2022-03-24 12:56:22 +05:30
Deepesh Garg
ee4258e42c fix: Write off amount wrongly calculated in POS Invoice 2022-03-24 12:31:37 +05:30
Deepesh Garg
e63f20b3f7 Merge pull request #30389 from frappe/mergify/bp/version-13-hotfix/pr-30334
fix: Reset GST State number (backport #30334)
2022-03-24 10:11:13 +05:30
Deepesh Garg
cd20502c7e fix: Reset GST State number
(cherry picked from commit 363e676a35)
2022-03-23 18:00:47 +00:00
Deepesh Garg
aded1fca3e Merge pull request #30343 from deepeshgarg007/item_tax_template_bug
fix: Taxes not getting fetched from item tax template
2022-03-23 22:02:17 +05:30
Deepesh Garg
7cae669e81 fix(India): Auto tax fetching based on GSTIN 2022-03-23 18:47:58 +05:30
Ankush Menat
54e4ff19ee fix: make auto created job cards "Open"
(cherry picked from commit 6418dc1606)
2022-03-23 16:46:22 +05:30
Ankush Menat
ff38d0498b fix: material transfer status should be before WIP
(cherry picked from commit e1f5620654)
2022-03-23 16:46:22 +05:30
Ankush Menat
a1740b0762 fix: ignore items without info for pending qty computation
(cherry picked from commit 4aa74af90d)
2022-03-23 15:51:29 +05:30
Ankush Menat
277c03e157 chore(DX): add sourceURL for debugging
(cherry picked from commit be16fb9dbb)
2022-03-23 15:51:29 +05:30
Deepesh Garg
67b9f43330 Merge pull request #30367 from frappe/mergify/bp/version-13-hotfix/pr-30365
fix: Changing item prices on converting orders/receipts to invoices (backport #30365)
2022-03-23 14:27:22 +05:30
Deepesh Garg
a5b29c1722 Merge pull request #30373 from frappe/mergify/bp/version-13/pr-30368
fix: Changing item prices on converting orders/receipts to invoices (backport #30365) (backport #30368)
2022-03-23 14:22:16 +05:30
Deepesh Garg
14ac2d39ab fix: Check if onload property exists in the form object
(cherry picked from commit 41b2d98c3f)
2022-03-23 08:48:17 +00:00
Deepesh Garg
740a9da1ee fix: Add ignore pricelist for missing flows
(cherry picked from commit 405dcb1d3c)
(cherry picked from commit 7d3cdf527b)
2022-03-23 08:48:17 +00:00
Deepesh Garg
c44231a432 fix: Changing item prices on converting orders/receipts to invoices
(cherry picked from commit 66ca085e39)
(cherry picked from commit a9533ef814)
2022-03-23 08:48:17 +00:00
Deepesh Garg
8fe9dbc75c Merge pull request #30368 from frappe/mergify/bp/version-13-pre-release/pr-30365
fix: Changing item prices on converting orders/receipts to invoices (backport #30365)
2022-03-23 14:17:56 +05:30
Deepesh Garg
a3f4069ad5 fix: Check if onload property exists in the form object 2022-03-23 13:58:21 +05:30
Deepesh Garg
41b2d98c3f fix: Check if onload property exists in the form object 2022-03-23 13:57:23 +05:30
Deepesh Garg
ebcd85e675 Merge pull request #30371 from frappe/mergify/bp/version-13-hotfix/pr-30361
fix: GST account not showing up in tax templates (backport #30361)
2022-03-23 13:42:44 +05:30
Deepesh Garg
0979ba0670 fix: GST account not showing up in tax templates
(cherry picked from commit 57924599da)
2022-03-23 07:47:52 +00:00
Deepesh Garg
7d3cdf527b fix: Add ignore pricelist for missing flows
(cherry picked from commit 405dcb1d3c)
2022-03-23 04:40:53 +00:00
Deepesh Garg
a9533ef814 fix: Changing item prices on converting orders/receipts to invoices
(cherry picked from commit 66ca085e39)
2022-03-23 04:40:52 +00:00
Deepesh Garg
0e3d0b0b03 fix: Add ignore pricelist for missing flows
(cherry picked from commit 405dcb1d3c)
2022-03-23 04:40:23 +00:00
Deepesh Garg
9f2868e858 fix: Changing item prices on converting orders/receipts to invoices
(cherry picked from commit 66ca085e39)
2022-03-23 04:40:22 +00:00
Ankush Menat
1b469bc341 fix: consider full integer batch nos
(cherry picked from commit 41db43cdc5)
2022-03-22 23:37:31 +05:30
Ankush Menat
4e3bb12b3a fix: ignore already fetched serial no
exclude_sr_nos is sent as JSON string of list, so load it before
operating on it.

(cherry picked from commit a18c687844)
2022-03-22 23:37:31 +05:30
Marica
315599b46f Merge pull request #30355 from frappe/mergify/bp/version-13-hotfix/pr-30336
fix: Product Filters Lookup (backport #30336)
2022-03-22 18:05:17 +05:30
mergify[bot]
7e6131280f fix: flaky salary slip email test (backport #30358) (#30360)
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-22 17:55:26 +05:30
marination
cfce719a7d fix: Add temporary text-md variable to maintain placeholder font size in input fields
- font is unusally large for filter lookup input
2022-03-22 16:12:30 +05:30
mergify[bot]
e29757f023 test: get leave allocation records query (backport #30342) (#30353)
Co-authored-by: Ankush Menat <ankush@frappe.io>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-22 15:44:45 +05:30
Marica
0f774f2f07 fix: Merge conflicts in macros
- Use `filter-lookup-wrapper` on checkbox wrapper
- Bind data value to wrapper
2022-03-22 15:39:36 +05:30
marination
37134b04d8 fix: Product Filters Lookup
- bind the right classes to the filter lookup field
- make class names more descriptive
- make filter lookup field more visible with white bg and border
- bind lookup input field js in `views.js`
- make filter lookup field functioning for atribute filters too
- added placeholder to lookup field

(cherry picked from commit f6e64c2cac)

# Conflicts:
#	erpnext/templates/includes/macros.html
2022-03-22 10:02:28 +00:00
Deepesh Garg
7cba4975ef fix: Taxes not getting fetched from item tax template 2022-03-21 21:28:41 +05:30
mergify[bot]
3ca90cc3c7 fix(ux): warning for disabled carry forwarding in Policy Assignment (backport #30331) (#30333)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-21 15:53:08 +05:30
mergify[bot]
34d27f1855 fix: clear "Retain Sample" and "Max Sample Quantity" in Item card if Has Batch No is uncheck (backport #30307) (#30314)
* fix: clear "Retain Sample" and "Max Sample Quantity" in Item card if Has Batch No is uncheck (#30307)

(cherry picked from commit ca8d757691)

# Conflicts:
#	erpnext/stock/doctype/item/test_item.py

* chore: conflicts

* refactor: correct usage for test decorator

Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-21 15:39:04 +05:30
mergify[bot]
684e83faac fix: Future recurring period calculation for additional salary (#29581) (#30329)
* fix: Future recurring period calculation for addl salary

* fix: future recurring period calculation

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
(cherry picked from commit cedabd7242)

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2022-03-21 15:00:07 +05:30
mergify[bot]
2148e7e32d fix: Payment Request Amount calculation in case of multicurrency (#30254) (#30326)
(cherry picked from commit 9abd22b408)

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2022-03-21 14:57:25 +05:30
Nabin Hait
cedabd7242 fix: Future recurring period calculation for additional salary (#29581)
* fix: Future recurring period calculation for addl salary

* fix: future recurring period calculation

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-21 14:23:31 +05:30
Nabin Hait
c5f257da00 fix: While creating Payment Request from other forms, open a new Payment Request form without saving (#30228) 2022-03-21 14:22:10 +05:30
Nabin Hait
9abd22b408 fix: Payment Request Amount calculation in case of multicurrency (#30254) 2022-03-21 14:20:15 +05:30
mergify[bot]
71d6209a29 fix: disable deferred naming on SLE/GLE if hash method is used. (#30286) (#30315)
* fix: dont rename GLE/SLE that dont have naming series

* test: tests for deferred naming of ledgers

(cherry picked from commit c2aad115c1)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-21 12:29:21 +05:30
Deepesh Garg
621db33591 Merge pull request #30321 from frappe/mergify/bp/version-13-hotfix/pr-30317
fix: P&L account validation on cancellation (backport #30317)
2022-03-21 12:05:41 +05:30
Deepesh Garg
4337b86349 Merge pull request #30318 from frappe/mergify/bp/version-13-hotfix/pr-30304
fix: Add permission for KSA VAT documents (backport #30304)
2022-03-21 12:05:15 +05:30
Saqib Ansari
10f06d2e50 Merge pull request #30320 from frappe/mergify/bp/version-13-hotfix/pr-30287
fix: custom cash flow mapper doesn't show any data (backport #30287)
2022-03-21 11:40:06 +05:30
Deepesh Garg
1b5e936d27 fix: P&L account validation on cancellation
(cherry picked from commit 2ff6790283)
2022-03-21 05:15:39 +00:00
Saqib Ansari
8f6333cd40 refactor: convert raw sql to frappe.qb
(cherry picked from commit 00bfee97c7)
2022-03-21 05:03:19 +00:00
Saqib Ansari
4dd6a99b69 fix: custom cash flow mapper doesn't show any data
(cherry picked from commit 119273e633)
2022-03-21 05:03:19 +00:00
Ankush Menat
5ab6e3fc85 chore: bump version 2022-03-21 10:31:24 +05:30
Ankush Menat
84c5f98412 Merge branch 'version-13-pre-release' into version-13 2022-03-21 10:30:52 +05:30
Deepesh Garg
da09b64174 fix: Conflicts 2022-03-21 10:28:58 +05:30
Deepesh Garg
75458f90b5 fix: Add permission for KSA Vat documents
(cherry picked from commit 972d06555a)

# Conflicts:
#	erpnext/patches.txt
2022-03-21 04:49:05 +00:00
Syed Mujeer Hashmi
dc8674fe0d fix: Allow draft PE, PA to link to Vital Signs (#29934)
Signed-off-by: Syed Mujeer Hashmi <mujeerhashmi@4csolutions.in>

Co-authored-by: Chillar Anand <chillar@avilpage.com>
Co-authored-by: Chillar Anand <anand21nanda@gmail.com>
2022-03-21 08:42:28 +05:30
mergify[bot]
3636e596d3 refactor: remove redundant if-statement (#30311) (#30316)
(cherry picked from commit 0a015b7f70)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2022-03-20 20:24:40 +05:30
mergify[bot]
7bcad01953 fix(UX): misc serial no selector + warehouse.py refactor (backport #30309) (#30310)
* fix: set current qty as default qty for stock entry

(cherry picked from commit f4c213379e)

* fix: filter serial nos by selected batch number

(cherry picked from commit 5ec27c9055)

* fix: skip already selected serials in sr selector

(cherry picked from commit 0a533d6ccc)

* fix: sort serial nos before sending

(cherry picked from commit 4f8bb91eae)

* test: auto serial fetching

(cherry picked from commit b9eec331e3)

* refactor: batch no filter handling

(cherry picked from commit a585dff6fd)

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

* refactor: Use QB for serial fetching query

(cherry picked from commit 4b695915f4)

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

* refactor(warehouse): raw query to ORM

(cherry picked from commit 953afda01b)

* test: warehouse conversion and treeview test

(cherry picked from commit 684d9d66d1)

* perf: Single query to delete bins instead of `N`

(cherry picked from commit 4859574233)

* chore: resolve conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-20 19:25:10 +05:30
Ankush Menat
230d171c58 chore: add change log for v13.23.0 2022-03-20 15:18:33 +05:30
Devarsh Bhatt
cca9668309 fix: Allow on Submit for Material Request Item Required Date (#30174)
* fix: Allow on Submit for Material Request Item Required Date

* chore: whitespace

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
2022-03-19 13:02:21 +05:30
Deepesh Garg
1c36b1a923 Merge pull request #30293 from frappe/mergify/bp/version-13-pre-release/pr-30284
fix: Cleanup and fixes in Dimension-wise Accounts Balance Report (backport #30284)
2022-03-18 17:37:12 +05:30
mergify[bot]
ec79e13b61 fix: respect db multi_tenancy while fetching precision (#30301) (#30303)
[skip ci]

(cherry picked from commit 5a9bf9ffd6)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-18 17:32:09 +05:30
mergify[bot]
3d35c69a2d fix: respect db multi_tenancy while fetching precision (#30301) (#30302)
[skip ci]

(cherry picked from commit 5a9bf9ffd6)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-18 17:32:01 +05:30
Deepesh Garg
88b2447297 Merge pull request #30296 from frappe/mergify/bp/version-13-hotfix/pr-30266
fix: Validate income/expense account in sales and purchase invoice (backport #30266)
2022-03-17 18:55:21 +05:30
Deepesh Garg
6c23b306d9 Merge pull request #30297 from frappe/mergify/bp/version-13-pre-release/pr-30266
fix: Validate income/expense account in sales and purchase invoice (backport #30266)
2022-03-17 18:54:50 +05:30
Deepesh Garg
0269bc9191 fix: Test case
(cherry picked from commit 4237e5d928)
2022-03-17 13:03:41 +00:00
Deepesh Garg
c0183289f5 fix: Validate income/expense account in sales and purchase invoice
(cherry picked from commit 06936cf1c0)
2022-03-17 13:03:41 +00:00
Deepesh Garg
2cf19aa19d fix: Test case
(cherry picked from commit 4237e5d928)
2022-03-17 13:03:20 +00:00
Deepesh Garg
935d2e3d64 fix: Validate income/expense account in sales and purchase invoice
(cherry picked from commit 06936cf1c0)
2022-03-17 13:03:20 +00:00
mergify[bot]
face53ae8e feat: Create single PL/DN from several SO. (backport #30238) (#30289)
* feat: Create single PL/DN from several SO. New PR from latest develop to avoid rebase

(cherry picked from commit 61eb9b6c68)

* to enable selection of SO irrespective of customer,removed validation for customer

(cherry picked from commit 466df6bdb7)

* fixed spacings

(cherry picked from commit f33a725a9e)

* added new field - Picked Qty, in Sales Order Item

(cherry picked from commit a68213d82e)

* Added new field in SO - % Picked

(cherry picked from commit 9f7fee7a4f)

* removed semicolon for break statement

(cherry picked from commit e970616b51)

* as per review comments - changed for loop

(cherry picked from commit 0211f27e83)

* corrected spacing

(cherry picked from commit a12895ec03)

Co-authored-by: Krithi Ramani <krithi.ramani@gmail.com>
2022-03-17 18:17:16 +05:30
Deepesh Garg
c20fc51921 Merge pull request #30294 from frappe/mergify/bp/version-13-pre-release/pr-30261
fix: Error in bank reconciliation statement (backport #30261)
2022-03-17 18:11:14 +05:30
Deepesh Garg
e60145e10a Merge pull request #30295 from frappe/mergify/bp/version-13-hotfix/pr-30261
fix: Error in bank reconciliation statement (backport #30261)
2022-03-17 18:11:04 +05:30
Deepesh Garg
aa1732a212 fix: Error in bank reco statement
(cherry picked from commit fbcb413d96)
2022-03-17 12:21:03 +00:00
Deepesh Garg
9e8b8305e9 fix: Error in bank reco statement
(cherry picked from commit fbcb413d96)
2022-03-17 12:00:05 +00:00
Deepesh Garg
fe88cfb80d fix: Remove comments
(cherry picked from commit cab69fe1f2)
2022-03-17 11:58:11 +00:00
Deepesh Garg
eac07238d9 fix: Clean and fixes in Dimension-wise Accounts Balance Report
(cherry picked from commit 08a06ce5c6)
2022-03-17 11:58:10 +00:00
Deepesh Garg
65d0189f71 Merge pull request #30284 from deepeshgarg007/dimension_wise_balance_report
fix: Clean and fixes in Dimension-wise Accounts Balance Report
2022-03-17 17:27:01 +05:30
Ankush Menat
d8b7693ea9 Merge pull request #30291 from ankush/13_23_pre_release
chore: merge version-13-hotfix to version-13-pre-release
2022-03-17 16:31:00 +05:30
mergify[bot]
3b1033c315 test: fix holiday list creation causing flaky tests (backport #30260) (#30288)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-17 15:39:02 +05:30
Deepesh Garg
cab69fe1f2 fix: Remove comments 2022-03-17 12:57:12 +05:30
Deepesh Garg
08a06ce5c6 fix: Clean and fixes in Dimension-wise Accounts Balance Report 2022-03-17 12:56:43 +05:30
Rucha Mahabal
15413cf835 fix: Non Profit fixes (#30280) 2022-03-17 12:52:02 +05:30
mergify[bot]
0becc1e231 refactor: call repost directly during tests (#30277) (#30279)
enqueue(now=frappe.flags.in_test) is always true in test, this change avoids
confusion.

(cherry picked from commit 76187d175f)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-16 23:01:38 +05:30
mergify[bot]
64b646050e refactor: removed unrequired code and test for standalone delivery note serial return (#30276) (#30278)
(cherry picked from commit 2a0ca7c91a)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2022-03-16 19:51:22 +05:30
Ankush Menat
f3af5dd384 test: packed item return scenarios
(cherry picked from commit b46d6e3c05)
2022-03-16 14:02:17 +05:30
Ankush Menat
cde3c685ee revert: "fix: updated packed_items getting fetched on Sales Return / Credit Note (#28607)"
This reverts commit 20216fa9f1.

(cherry picked from commit b781e8b7d1)
2022-03-16 14:02:17 +05:30
Saqib Ansari
b8fc06f633 Merge pull request #30270 from frappe/mergify/bp/version-13-hotfix/pr-30269
fix: Do not update ignore pricing rule check implicitly (backport #30269)
2022-03-16 13:01:54 +05:30
Saqib Ansari
461506a7ff Merge pull request #30267 from frappe/mergify/bp/version-13-hotfix/pr-30265
feat: add German translations (backport #30265)
2022-03-16 13:01:32 +05:30
Deepesh Garg
f27fd605f5 fix: Do not update ignore prcing rule check implicitly
(cherry picked from commit 1f79b47a17)
2022-03-16 07:03:16 +00:00
Saqib Ansari
3bcef50b15 Merge pull request #30262 from frappe/mergify/bp/version-13-hotfix/pr-30244
fix: incorrect debit credit amount in presentation currency (backport #30244)
2022-03-16 10:55:04 +05:30
Samuel Danieli
29fa902b33 feat: add German translations
(cherry picked from commit bbe5739547)
2022-03-16 05:24:45 +00:00
Saqib Ansari
510668f78a test: foreign_account_balance_after_exchange_rate_revaluation
(cherry picked from commit 12d99ed69a)
2022-03-15 13:10:27 +00:00
Saqib Ansari
8663a776dd fix: incorrect debit credit amount in presentation currency
(cherry picked from commit 83a5fae591)
2022-03-15 13:10:26 +00:00
Marica
69bf64e238 Merge pull request #30259 from frappe/mergify/bp/version-13-hotfix/pr-30258
fix: Sub-Category Routing in Item Group Page Listing pills (backport #30258)
2022-03-15 17:47:40 +05:30
marination
a56fd20ab4 fix: Sub-Categpry Routing in Item Group Page Listing pills
- Use absolute route even 3-4 sub-category levels down
- Remove scroll from category pills due to accessibility issues
- Arrange sub-category pills alphabetically

(cherry picked from commit 8264d6b0bc)
2022-03-15 12:00:33 +00:00
mergify[bot]
2c5e76d542 fix(pos): loyalty points in case of returned pos invoice (#30257) 2022-03-15 17:28:21 +05:30
rohitwaghchaure
5d458d6eb7 Merge pull request #30243 from akurungadam/jc-fix
fix: Job Card sub operations status and list view
2022-03-15 15:20:56 +05:30
mergify[bot]
6ef08545b6 fix: Leave Policy Assignment creation patch (backport #30215) (#30252)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-15 12:24:08 +05:30
mergify[bot]
0133b2a145 fix: salary slip amount rounding errors (backport #30248) (#30251)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-15 11:41:38 +05:30
Deepesh Garg
f48caf4944 Merge pull request #30246 from frappe/mergify/bp/version-13-hotfix/pr-30230
fix: KSA E-Invoice QR Code showing wrong VAT amount (backport #30230)
2022-03-15 09:49:55 +05:30
Deepesh Garg
5e4ab346c7 Merge pull request #30245 from frappe/mergify/bp/version-13-hotfix/pr-30206
fix: Do not update ignore prcing rule check implicitly (backport #30206)
2022-03-15 09:49:35 +05:30
Deepesh Garg
ec92551f7c Update erpnext/regional/saudi_arabia/utils.py
Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
(cherry picked from commit e33d4713cd)
2022-03-14 16:17:46 +00:00
Deepesh Garg
c5de90320f fix: Itemised tax rate updation
(cherry picked from commit be56efad26)
2022-03-14 16:17:46 +00:00
Deepesh Garg
fc298770e9 fix: Linting Issue
(cherry picked from commit 3cc2e53b08)
2022-03-14 16:17:46 +00:00
Deepesh Garg
8b077106f9 fix: KSA E-Invoice QR Code showing wrong VAT amount
(cherry picked from commit b37559c535)
2022-03-14 16:17:45 +00:00
Deepesh Garg
b0e178a29d fix: Do not update ignore prcing rule check implicitly
(cherry picked from commit 96b5cedcf8)
2022-03-14 16:16:50 +00:00
Anoop Kurungadam
7b8723445e fix: job card - sub operations table status misbehaviour on pause / resume Job Card 2022-03-14 19:34:18 +05:30
Anoop Kurungadam
fa32fc3c83 fix: show status in job card list view in Draft mode 2022-03-14 19:33:58 +05:30
Ankush Menat
1dbb654500 test: refactor BOM quality template test 2022-03-14 18:56:33 +05:30
Florian HENRY
d8de8caa1e fix: BOM - clear Quality Inspection Template according to Inspection Quality Required
Squashed commit of the following:

commit b73fa210b234d2c8067db2c32f94f362b89afe5a
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Mon Mar 14 08:30:24 2022 +0100

    add json tes

commit 984d015a7d9aceb6ea64be7ed9f1cc0caa356714
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Mon Mar 14 08:30:06 2022 +0100

    better test

commit 42061146658598da02eda7cb781bd2cf44c8ca34
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Fri Mar 11 16:12:57 2022 +0100

    update test

commit 6259c0957566600b044fcd4a5e14e69cdff71020
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Fri Mar 11 13:59:13 2022 +0100

    update test

commit cbc4ad9566f6f7f01dd622651458fea309d80954
Merge: faa44b3fdd 94d0f8d4e7
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Fri Mar 11 12:46:48 2022 +0100

    Merge branch 'develop' of https://github.com/frappe/erpnext into dev_fix_30190

commit faa44b3fdd983adfc04bbf04a7ebfef114501bb3
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Fri Mar 11 12:03:35 2022 +0100

    fix: clear Quality Inspection Template according to Inspection Quality Required
2022-03-14 18:56:33 +05:30
mergify[bot]
767a02cd15 fix: cannot create multicurrency sales order with product bundles (#30222) 2022-03-14 18:33:42 +05:30
mergify[bot]
34d6031601 fix(pos): do not reset mode of payments in case of consolidation (backport #30198) (#30218) 2022-03-14 18:30:41 +05:30
Marica
9b2cb23b22 Merge pull request #30232 from frappe/mergify/bp/version-13-hotfix/pr-30229
fix: Add missing currency option in Supplier Quotation's `rounded_total` field (backport #30229)
2022-03-14 17:22:06 +05:30
Ankush Menat
2d8bbf1112 Merge pull request #30237 from frappe/mergify/bp/version-13-hotfix/pr-30207
fix: Do not consider cancelled entries (backport #30207)
2022-03-14 17:20:46 +05:30
Deepesh Garg
f23810749d fix: Do not consider cancelled entries
(cherry picked from commit 6308e1be91)
2022-03-14 11:49:53 +00:00
Ankush Menat
4768f4f278 fix(ux): negative stock warning
(cherry picked from commit 02d64a32c2)
2022-03-14 17:18:06 +05:30
Ankush Menat
fab8e16537 Merge pull request #30235 from frappe/mergify/bp/version-13-pre-release/pr-30216
fix: max_qty validation condition in WO (backport #30216)
2022-03-14 17:09:24 +05:30
Sagar Sharma
46f9503a5c test: add test for planned_qty
(cherry picked from commit b22bdc5ff7)
2022-03-14 11:38:43 +00:00
Sagar Sharma
18d7c77bad fix: max_qty validation condition
(cherry picked from commit d198c488a4)
2022-03-14 11:38:43 +00:00
Ankush Menat
aab677c26f Merge pull request #30216 from s-aga-r/fix/production-plan/validation/max_qty
fix: max_qty validation condition in WO
2022-03-14 17:08:21 +05:30
marination
d5b142e5ca chore: Re-arrange fields for consistency with base currency LHS
(cherry picked from commit a579a211fd)
2022-03-14 11:31:19 +00:00
marination
017624c270 fix: Add missing currency option in Supplier Quotation's rounded_total field
(cherry picked from commit dcd88ddc87)
2022-03-14 11:31:19 +00:00
Sagar Sharma
b22bdc5ff7 test: add test for planned_qty 2022-03-14 16:28:23 +05:30
Ankush Menat
1fd96f379f test(refactor): use FrappeTestCase
(cherry picked from commit b0d1e6db54)
2022-03-14 16:20:04 +05:30
mergify[bot]
2e79c4fd59 fix(ux): remove get item buttons from submitted production plan (#30224)
(cherry picked from commit 1af13ca4bf)

fix(patch): remove dead links to ProdPlan Item

(cherry picked from commit d3e90ed8c8)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-14 15:17:46 +05:30
Ankush Menat
468964a3f7 ci: Revert fail on merge conflict label
This reverts commit d32f229483.
2022-03-14 14:43:15 +05:30
Nabin Hait
98a67967a3 fix: Search query of payroll entry reference in Journal Entry (#30225) 2022-03-14 14:40:00 +05:30
Saqib Ansari
75061cae66 Merge pull request #30220 from nextchamp-saqib/backport-#26872
fix: pos return payment mode issue (#26872)
2022-03-14 13:41:41 +05:30
Subin Tom
a1c9d1c67f fix: pos return payment mode issue (#26872) 2022-03-14 12:53:26 +05:30
Deepesh Garg
2e10e9ec33 Merge pull request #30210 from frappe/mergify/bp/version-13-hotfix/pr-30039
fix: Nil and Exempted values in GSTR-3B Report (backport #30039)
2022-03-14 12:51:31 +05:30
Deepesh Garg
5c285bc019 Merge pull request #30211 from frappe/mergify/bp/version-13-hotfix/pr-29979
fix: Multi-currency bank reconciliation fixes (backport #29979)
2022-03-14 12:51:14 +05:30
Ankush Menat
7aca949a33 fix(ux): skip items without batch series
(cherry picked from commit 941ea1ec74)
2022-03-14 12:50:59 +05:30
Ankush Menat
aadc2a8849 test: negative fifo test
(cherry picked from commit 91fd9d917a)
2022-03-14 12:50:59 +05:30
Saqib Ansari
1120a0f72f Merge pull request #30219 from frappe/mergify/bp/version-13-hotfix/pr-30217
fix: cannot create purchase order from sales order (backport #30217)
2022-03-14 12:45:51 +05:30
Saqib Ansari
1cee08f3e9 fix: cannot create purchase order from sales order
(cherry picked from commit 58804b8436)
2022-03-14 07:05:59 +00:00
Sagar Sharma
d198c488a4 fix: max_qty validation condition 2022-03-14 12:05:34 +05:30
Ankush Menat
fc257fa58d test: actual bom naming test
(cherry picked from commit 94d0f8d4e7)
2022-03-14 09:58:14 +05:30
Rohan Bansal
c8ca92e406 fix: cancelled document check
(cherry picked from commit 67d8a7ba86)
2022-03-14 09:58:14 +05:30
Ankush Menat
1a2a03ed98 refactor: split versioning code for testability
(cherry picked from commit 6b58d53403)
2022-03-14 09:58:14 +05:30
Rohan Bansal
6a031a87da fix: improve bom autoname logic
(cherry picked from commit 7f2670941c)
2022-03-14 09:58:14 +05:30
Ankush Menat
25df914bc6 test: bom for item_code that is >VARCHAR_LEN
(cherry picked from commit e2c99e02a9)
2022-03-14 09:58:14 +05:30
Rohan Bansal
404a82121d fix: if an item code is too long, truncate before setting BOM name
(cherry picked from commit d9c91748f4)
2022-03-14 09:58:14 +05:30
Rucha Mahabal
164d28a87a Merge pull request #30212 from frappe/mergify/bp/version-13-hotfix/pr-29439 2022-03-13 21:46:50 +05:30
Rucha Mahabal
465c117708 fix: conflicts 2022-03-13 21:05:06 +05:30
Rucha Mahabal
d50dbca844 fix: flaky tests
(cherry picked from commit d61c437588)
2022-03-13 15:26:33 +00:00
Rucha Mahabal
70febe468b fix: add more type hints
(cherry picked from commit 558650bc3a)
2022-03-13 15:26:33 +00:00
Rucha Mahabal
9449d11a4c fix: simplify insufficient leave balance message
(cherry picked from commit 8173e6a8ea)
2022-03-13 15:26:32 +00:00
Rucha Mahabal
c66a66e090 fix: conflicts
(cherry picked from commit b2c549a464)
2022-03-13 15:26:32 +00:00
Rucha Mahabal
d4301675d1 chore: linter issue
(cherry picked from commit 921d6b25d7)
2022-03-13 15:26:32 +00:00
Rucha Mahabal
fab0153e34 test: separate leave ledger entries for leave applications across allocations
(cherry picked from commit 97b7b5012e)
2022-03-13 15:26:31 +00:00
Rucha Mahabal
75833243ae fix: boundary determination for separate ledger entries
(cherry picked from commit 70239158b9)
2022-03-13 15:26:31 +00:00
Rucha Mahabal
b63cedc7d7 test: leave application validations
(cherry picked from commit 6755d6e6f5)
2022-03-13 15:26:31 +00:00
Rucha Mahabal
bfedac47e6 fix: clearer validation/warning messages for insufficient balance in leave application
(cherry picked from commit a504ffcc4c)
2022-03-13 15:26:31 +00:00
Rucha Mahabal
a30ec8bef6 feat: split ledger entries for applications created across allocations
- fix: ledger entry for expiring cf leaves not considering holidays

(cherry picked from commit c0f1e269e4)
2022-03-13 15:26:31 +00:00
Rucha Mahabal
51b17cfbc0 fix: add type hints for employee leave balance report
(cherry picked from commit 430bf00458)
2022-03-13 15:26:30 +00:00
Rucha Mahabal
4cd89c3dac test: get leave details for leave application dashboard
(cherry picked from commit 3f3b1766c2)

# Conflicts:
#	erpnext/hr/doctype/leave_application/test_leave_application.py
2022-03-13 15:26:30 +00:00
Rucha Mahabal
758e095ffd test: fix test test_leave_balance_near_allocaton_expiry
(cherry picked from commit a58dfecb23)
2022-03-13 15:26:30 +00:00
Rucha Mahabal
d9ec973096 fix: earned leave policy assignment test
(cherry picked from commit aaa1ae94f2)
2022-03-13 15:26:30 +00:00
Rucha Mahabal
b1d3d8226c fix: leave application dashboard
- total leaves allocated considering cancelled leaves

- optional plural for leave category labels

- show dashboard only once from date is set, else it fetches all allocations till date and generates incorrect balance

- change pending leaves to 'Leaves Pending Approval' for better context

- update labels in Salary Slip Leave Details table

(cherry picked from commit 942511cfff)
2022-03-13 15:26:29 +00:00
Rucha Mahabal
73b104aa45 test: Employee Leave Balance Summary
(cherry picked from commit 88141d6116)
2022-03-13 15:26:29 +00:00
Rucha Mahabal
49434e443c chore: remove unused imports, sort imports, fix sider
(cherry picked from commit c7d594984a)
2022-03-13 15:26:28 +00:00
Rucha Mahabal
6af8e9790b test: employee leave balance report
- fix expired leaves calculation when filters span across 2 different allocation periods

(cherry picked from commit c050ce49c2)

# Conflicts:
#	erpnext/payroll/doctype/salary_slip/test_salary_slip.py
2022-03-13 15:26:28 +00:00
Rucha Mahabal
e96b661ca1 fix: show actual balance instead of consumption balance in opening balance
- not changing opening balance based on remaining days

(cherry picked from commit dbfa463738)
2022-03-13 15:26:28 +00:00
Rucha Mahabal
420cb8269c fix: sort imports, sider issues
(cherry picked from commit b5c686ac40)
2022-03-13 15:26:28 +00:00
Rucha Mahabal
4632d13dca refactor: balance in Balance Summary report near allocation expiry date
- Leave Balance shows minimum leaves remaining after comparing with remaining days for allocation expiry causing ambiguity

- refactor remaining leaves calculation to return both, actual leave balance and balance for consumption

- show actual balance in leave application, use balance for consumption only in validations

(cherry picked from commit 55ac8519bf)
2022-03-13 15:26:27 +00:00
Rucha Mahabal
60eb38c911 refactor: Leaves Taken calculation
- fix issue where Leaves Taken also adds leaves expiring on boundary date as leaves taken, causing ambiguity

- remove unnecessary `skip_expiry_leaves` function

- `get_allocation_expiry` considering cancelled entries too

(cherry picked from commit 26b40e7cfd)
2022-03-13 15:26:27 +00:00
Rucha Mahabal
d7a75a695d fix: expired leaves not calculated properly because of newly created expiry ledger entries
(cherry picked from commit 1ea749cf1a)
2022-03-13 15:26:27 +00:00
Rucha Mahabal
f7b06a622f refactor: Employee Leave Balance Report
- incorrect opening balance on boundary allocation dates

- carry forwarded leaves accounted in leaves allocated column, should be part of opening balance

- leaves allocated column also adds expired leave allocations causing negative balances, should only consider non-expiry records

(cherry picked from commit 538b64b1fa)
2022-03-13 15:26:27 +00:00
Deepesh Garg
8a567b8d8c fix: Multi-currency bank reconciliation fixes
(cherry picked from commit cbb5ffb6fe)
2022-03-13 14:57:26 +00:00
Deepesh Garg
39d6cebf1a fix: Nil and Exempted values in GSTR-3B Report
(cherry picked from commit abe580e8b0)
2022-03-13 14:31:37 +00:00
Ankush Menat
2a00380e5b fix: attach sr no si standalone credit note
(cherry picked from commit 1a256c62c4)
2022-03-13 19:24:41 +05:30
Ankush Menat
625034a016 test: standalone SI creates and attaches serial nos
(cherry picked from commit 1c37d2711a)
2022-03-13 19:24:41 +05:30
Deepesh Garg
d71a8886b4 Merge pull request #30205 from frappe/mergify/bp/version-13-hotfix/pr-30152
fix: Sales and Purchase return optimization (backport #30152)
2022-03-13 17:49:19 +05:30
Deepesh Garg
abc2dd9e3e fix: Update modified timestamp
(cherry picked from commit a5befb6bf8)
2022-03-13 11:44:13 +00:00
Deepesh Garg
f31a7bde82 fix: Update party type
(cherry picked from commit e9d458b822)
2022-03-13 11:44:13 +00:00
Deepesh Garg
5eeb09c84e fix: Sales and Purchase retrun optimization
(cherry picked from commit 395b15058c)
2022-03-13 11:44:13 +00:00
Deepesh Garg
d47b3517f3 Merge pull request #30188 from frappe/mergify/bp/version-13-hotfix/pr-30181
fix: Shipping rule application fixes (backport #30181)
2022-03-13 17:14:07 +05:30
Deepesh Garg
44fd94f6b2 fix: Shipping rule application fixes
(cherry picked from commit d596e0e4df)
2022-03-11 06:35:03 +00:00
Mostafa Fekry
3a5f5d5cd0 fix: e_commerce_settings.js
Update get meta from Item to Website Item
To allow Website Item Fields to display meta fields
2022-03-10 16:05:08 +02:00
Ankush Menat
a04c7fc27d test: submit PR directly
(cherry picked from commit 472fe8e319)
2022-03-10 18:27:57 +05:30
Ankush Menat
b13389b99a test: flaky MR report test
all test records are on same day so sorting was random in report rows.

(cherry picked from commit 6c54be0dcd)
2022-03-10 18:27:57 +05:30
Ankush Menat
e428c36053 fix: only update valuation rate if not None
(cherry picked from commit 7dd10367f4)
2022-03-10 18:27:57 +05:30
mergify[bot]
f06554236f fix: fetch new fields from routing to bom (backport #30169) (#30171)
* fix: fetch new fields in bom from routing

(cherry picked from commit 18e2a33a9b)

* fix: dont hardcode hour rate precision

(cherry picked from commit 362102e802)

# Conflicts:
#	erpnext/manufacturing/doctype/bom_operation/bom_operation.json

* fix: resolve conflict

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-10 18:09:09 +05:30
Ankush Menat
33ddbb4f3c fix: handle duplicate bins during item merge renames
(cherry picked from commit 73901aad6f)
2022-03-10 17:23:23 +05:30
Ankush Menat
de5500817f test: refactor item merge test and disable commits
(cherry picked from commit b4d4ae6aa3)
2022-03-10 17:23:23 +05:30
mergify[bot]
a5b25db880 fix: dont reset UOM in MR on every get_item_detail call (#30164) (#30165)
(cherry picked from commit 4126455975)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-10 15:44:25 +05:30
Saqib Ansari
e89c181179 Merge pull request #30162 from frappe/mergify/bp/version-13-hotfix/pr-30103
fix: Ignore missing customer group while fetching price list (backport #30103)
2022-03-10 15:29:34 +05:30
Marica
584f0698ff Merge pull request #30163 from frappe/mergify/bp/version-13-hotfix/pr-30160
fix: 'save_quotations_as_draft' checkbox not honoured (backport #30160)
2022-03-10 15:12:02 +05:30
Marica
b529b5c0cb fix: Remove extra empty line after frappe imports 2022-03-10 14:53:48 +05:30
Marica
aec1916a0f fix: Merge Conflicts in test_shopping_cart imports 2022-03-10 14:49:05 +05:30
marination
62b50b6b63 fix: 'save_quotations_as_draft' checkbox not honoured
- Make sure `request_for_quotation` considers `save_quotations_as_draft`
- Added test for checkout disabled quote

(cherry picked from commit a13e06156b)

# Conflicts:
#	erpnext/e_commerce/shopping_cart/test_shopping_cart.py
2022-03-10 09:09:00 +00:00
mergify[bot]
4febcd86f8 fix: flaky tests (backport #30154) (#30161)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-10 14:38:08 +05:30
Saqib Ansari
3f0a4d9921 fix: Ignore missing customer group while fetching price list
(cherry picked from commit e5fb871ef4)
2022-03-10 09:06:42 +00:00
ChillarAnand
bb0be1699b fix: Ignore missing customer group while fetching price list
(cherry picked from commit 9ace7d606c)
2022-03-10 09:06:42 +00:00
Deepesh Garg
5e6879a7f7 Merge pull request #30159 from frappe/mergify/bp/version-13-hotfix/pr-29696
fix: do not reset asset_category (backport #29696)
2022-03-10 14:19:55 +05:30
Himanshu
5081438748 fix: do not reset asset_category (#29696)
(cherry picked from commit 5193a63781)
2022-03-10 08:15:21 +00:00
mergify[bot]
6c21642f32 fix(psoa): no such element: dict object['account'] (#30156) 2022-03-10 13:36:52 +05:30
Saqib Ansari
92a59fabe5 chore: imports (#30157)
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-10 13:26:11 +05:30
Saqib Ansari
903e5d03a7 Merge pull request #30151 from frappe/mergify/bp/version-13-hotfix/pr-30145
fix(psoa): add company filter to account (backport #30145)
2022-03-10 13:16:44 +05:30
Saqib Ansari
cef8820369 fix(psoa): add company filter to account
(cherry picked from commit fc42041f8f)
2022-03-10 05:25:24 +00:00
mergify[bot]
31ba09b3d0 fix: program enrollment button labels (backport #30148) (#30149)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-10 10:07:47 +05:30
Marica
c9d0692fb4 Merge pull request #30141 from frappe/mergify/bp/version-13-hotfix/pr-30091
feat: Include child item group products in Item Group Page & cleanup (backport #30091)
2022-03-09 18:11:35 +05:30
mergify[bot]
e3387a06b6 fix: customer credit limit validation on update (#30126)
(cherry picked from commit a0dc79332d)

Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2022-03-09 17:49:34 +05:30
mergify[bot]
eb90d50946 fix: ignore non-unique swift numbers while migrating (#30139)
(cherry picked from commit 4d8798b0ea)

Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2022-03-09 17:49:11 +05:30
mergify[bot]
63e7d8c651 perf(asset): fetch only distinct depreciable assets (#30138)
(cherry picked from commit 66f20209f6)

Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2022-03-09 17:48:49 +05:30
Marica
458f264575 fix: Remove extra line 2022-03-09 17:35:01 +05:30
Marica
6241f9b9aa Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-30091 2022-03-09 17:33:37 +05:30
Marica
db38c36bba Merge pull request #30144 from frappe/mergify/bp/version-13-hotfix/pr-30000
fix(translation) - correction for assets translation (backport #30000)
2022-03-09 17:33:13 +05:30
mergify[bot]
d68cf1885f test: Added test for monthly attendance report (backport #29989) (#30143)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
Co-authored-by: Chillar Anand <anand21nanda@gmail.com>
2022-03-09 17:32:29 +05:30
Marica
4b4b104843 fix: Merge conflicts 2022-03-09 17:29:38 +05:30
hrzzz
f721a2929f fix(translation) - correction for translation
(cherry picked from commit 16de29a3cb)

# Conflicts:
#	erpnext/assets/doctype/asset/asset_dashboard.py
2022-03-09 11:53:10 +00:00
mergify[bot]
51f7ca856b revert: BU Schlüssel (a21f76f) (#30142)
(cherry picked from commit 363ed9ccba)

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
2022-03-09 16:51:58 +05:30
marination
ca41263736 fix: Linter
(cherry picked from commit 7b37a74023)
2022-03-09 11:16:56 +00:00
marination
c8026eb9df test: Test include_descendants in Item Group Product Listing
- Also made include_descendants field's visibility dependant on show_in_website

(cherry picked from commit 3507cf5985)
2022-03-09 11:16:55 +00:00
marination
7f234c7e34 feat: Include child item group products in Item Group Page & cleanup
- Added 'Include descendants' checkbox, which will pull child item group products too
- Build item group filters in query engine file
- Include logic in filter engine
- Clean up Website section of Item Group page (UX)
- Add util to fetch child item groups including self

(cherry picked from commit b2755f6fdd)
2022-03-09 11:16:55 +00:00
Deepesh Garg
b503b83960 Merge pull request #30137 from frappe/mergify/bp/version-13-hotfix/pr-30136
fix: Remove tax invoice no field (backport #30136)
2022-03-09 16:42:01 +05:30
Deepesh Garg
8d7418171b fix: Update timestamp
(cherry picked from commit 9b8258479c)
2022-03-09 10:51:05 +00:00
Deepesh Garg
856534c8a0 fix: Remove tax invoice no field
(cherry picked from commit 8a2fe7a2e3)
2022-03-09 10:51:05 +00:00
Ankush Menat
76376d7ad7 chore: bump version 2022-03-09 15:41:58 +05:30
Deepesh Garg
5c7b2e2616 Merge pull request #30133 from frappe/mergify/bp/version-13-hotfix/pr-30096
fix(ux): Improve label for better understanding (backport #30096)
2022-03-09 15:40:26 +05:30
mergify[bot]
a12a3bd441 fix: dont fetch entire barcode table in get_item_details (#30131) (#30135)
(cherry picked from commit 64905188c4)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-09 15:38:38 +05:30
mergify[bot]
58f41722b6 fix: dont fetch entire barcode table in get_item_details (#30131) (#30134)
(cherry picked from commit 64905188c4)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-09 15:38:26 +05:30
Deepesh Garg
4a5ea55965 fix(ux): Improve label for better understanding
(cherry picked from commit f3a95d3c27)
2022-03-09 10:05:11 +00:00
Deepesh Garg
ab6cdbde14 Merge pull request #29949 from frappe/mergify/bp/version-13-hotfix/pr-29865
feat: Bank Reconciliation for loan documents (backport #29865)
2022-03-09 15:23:38 +05:30
Mohamed-D-Ouf
3d8eaa5392 fix: add filters in default_discount_account (#30095) 2022-03-09 11:25:36 +05:30
Ankush Menat
ba21e2e08d Merge pull request #30123 from frappe/mergify/bp/version-13-hotfix/pr-30080
fix: Item-wise sales history report (backport #30080)
2022-03-09 11:16:34 +05:30
Ankush Menat
b3fd6652c0 Merge pull request #30122 from frappe/mergify/bp/version-13-hotfix/pr-30102
fix: Ambigous column in picklist query (backport #30102)
2022-03-09 11:15:59 +05:30
Deepesh Garg
8fc105a186 fix: Item-wise sales history report
(cherry picked from commit e2c144e9e3)
2022-03-09 04:48:32 +00:00
Deepesh Garg
95792d8f32 fix: Remove unintentional changes
(cherry picked from commit d9d4c2ce79)
2022-03-09 04:48:07 +00:00
Deepesh Garg
b9ccbd50b4 fix: Ambigous column in picklist query
(cherry picked from commit 517fbf1d1f)
2022-03-09 04:48:06 +00:00
Deepesh Garg
3aace2f420 fix: Reload doctypes 2022-03-09 10:11:01 +05:30
mergify[bot]
07b8dd0300 fix: leave allocation records query (backport #30118) (#30120)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-08 23:48:44 +05:30
mergify[bot]
e8f17e582b test: Fix flaky tests (backport #30107) (#30119)
Co-authored-by: Chillar Anand <anand21nanda@gmail.com>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-08 23:25:59 +05:30
Deepesh Garg
6a4c0234f5 Merge pull request #29918 from frappe/mergify/bp/version-13-hotfix/pr-29740
fix: Multiple fixes in Gross Profit report (backport #29740)
2022-03-08 23:01:40 +05:30
Deepesh Garg
ac7f1820c5 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29740 2022-03-08 21:41:53 +05:30
mergify[bot]
e5c82d018f fix: Get MRs that are yet to be received but fully ordered in Report Requested Items to Order and Receive (backport #29987) (#30083)
* fix: Get MRs that are yet to be received but fully ordered in Report

- Remove incorrect query clause that only check if ordered qty < 100
- MR should be visible in report until fully received (cycle complete)

(cherry picked from commit d3b0ca30c6)

* refactor: Convert to QB, added test file, removed white space

- Converted mysql raw query to qb
- Test file for Report Requested Items to Order and Receive
- Removed white space and edited copyright year

(cherry picked from commit e6952cb7f9)

* fix: Sider and Linter

(cherry picked from commit ac425722e2)

* fix: linter (imports alphabetical)

(cherry picked from commit 54b3676f35)

Co-authored-by: marination <maricadsouza221197@gmail.com>
2022-03-08 18:00:19 +05:30
Deepesh Garg
dc8fd6d0ff Merge pull request #30104 from frappe/mergify/bp/version-13-hotfix/pr-29940
fix: Item discounts for quotation and other docs (backport #29940)
2022-03-08 14:58:43 +05:30
Rohit Waghchaure
ab0dcd7146 Merge branch 'version-13-pre-release' into version-13 2022-03-08 14:57:18 +05:30
Rohit Waghchaure
a7776f85ef bumped to version 13.22.0 2022-03-08 15:17:18 +05:50
Deepesh Garg
7de6f0a9c3 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29865 2022-03-08 14:02:26 +05:30
Deepesh Garg
07db36b23d Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29940 2022-03-08 14:02:00 +05:30
Deepesh Garg
c46e76c543 Merge pull request #30109 from deepeshgarg007/change_log_v13_22
chore: change log for v13.22.0
2022-03-08 13:06:29 +05:30
Deepesh Garg
9538c94b69 chore: change log for v13.22.0 2022-03-08 12:48:27 +05:30
Saqib Ansari
86afbf98a3 Merge pull request #30108 from frappe/mergify/bp/version-13-pre-release/pr-30097
fix(pos): multiple pos round off cases (backport #30097)
2022-03-08 12:40:16 +05:30
Saqib Ansari
150d1e6e60 fix(pos): multiple pos round off cases
(cherry picked from commit 17445c7e04)
2022-03-08 06:29:56 +00:00
Saqib Ansari
f7f114789d Merge pull request #30106 from frappe/mergify/bp/version-13-hotfix/pr-30097
fix(pos): multiple pos round off cases (backport #30097)
2022-03-08 11:59:02 +05:30
Saqib Ansari
31f20cf144 fix(pos): multiple pos round off cases
(cherry picked from commit 17445c7e04)
2022-03-08 05:55:08 +00:00
Deepesh Garg
ba4d496404 fix: Resolve conflicts 2022-03-08 09:55:36 +05:30
Türker Tunalı
456ebc32f0 fix: translate error message titles 2022-03-08 09:54:33 +05:30
Deepesh Garg
9af14ec0d0 fix: Test cases with discount
(cherry picked from commit d95f8934aa)
2022-03-08 03:39:33 +00:00
Ankush Menat
dfbd0ebf91 fix: apply margin on duplicated doc too
(cherry picked from commit bbc4710fa3)
2022-03-08 03:39:33 +00:00
Deepesh Garg
fd3adbb6fe fix: Item discounts for quotation
(cherry picked from commit 3a547cb0d9)

# Conflicts:
#	erpnext/selling/doctype/quotation/quotation.js
2022-03-08 03:39:33 +00:00
mergify[bot]
a8ae86e23f fix: wrong payment days in salary slip for employees joining/leaving during mid payroll dates (backport #29082) (#30099)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
Co-authored-by: Dany Robert <danyrt@wahni.com>
2022-03-07 20:29:52 +05:30
Deepesh Garg
2b512617fa Merge pull request #30098 from deepeshgarg007/pre_release
chore: Merge branch version-13-hotfix into version-13-pre-release
2022-03-07 19:12:42 +05:30
Deepesh Garg
7452b8572e Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into pre_release 2022-03-07 18:07:42 +05:30
Saqib Ansari
0ed7249484 Merge pull request #30089 from frappe/version-13-pre-release
Merge 'version-13-pre-release' into 'version-13'
2022-03-07 12:16:25 +05:30
Saqib Ansari
25dce9da67 chore: bumped to version 13.21.1 2022-03-07 12:15:42 +05:30
Saqib Ansari
db26928b28 Merge pull request #30086 from frappe/mergify/bp/version-13-hotfix/pr-30084
fix(e-invoicing): remove batch no from e-invoices (backport #30084)
2022-03-07 11:56:58 +05:30
Saqib Ansari
5a5d9b42c0 Merge pull request #30087 from frappe/mergify/bp/version-13-pre-release/pr-30084
fix(e-invoicing): remove batch no from e-invoices (backport #30084)
2022-03-07 11:56:40 +05:30
Saqib Ansari
052ad1fb47 fix(e-invoicing): remove batch no from e-invoices
(cherry picked from commit 031a0dd703)
2022-03-07 06:25:00 +00:00
Saqib Ansari
cf2580083c fix(e-invoicing): remove batch no from e-invoices
(cherry picked from commit 031a0dd703)
2022-03-07 06:24:21 +00:00
Saqib Ansari
58501c7e0e Merge pull request #30085 from frappe/mergify/bp/version-13-pre-release/pr-29991
fix(pos): minor fixes (backport #29991)
2022-03-07 11:53:14 +05:30
Saqib Ansari
3525f0e585 fix: merge conflicts 2022-03-07 11:52:16 +05:30
Saqib Ansari
25c434fb02 fix(pos): coupon code is applied even if ignore pricing rule is check
(cherry picked from commit 81514516f3)

# Conflicts:
#	erpnext/public/js/controllers/transaction.js
2022-03-07 06:20:52 +00:00
Saqib Ansari
da4e43b8bc fix(pos): mode of payment disappears after save
(cherry picked from commit 69c34cd7ae)
2022-03-07 06:20:50 +00:00
Saqib Ansari
8af7a9918b Merge pull request #30079 from frappe/mergify/bp/version-13-hotfix/pr-29939
feat: update ordered qty for packed items (backport #29939)
2022-03-06 13:45:31 +05:30
Saqib Ansari
1e418f9ecc fix: merge conflicts 2022-03-06 13:13:50 +05:30
Saqib Ansari
447692d770 chore: remove unintentional search index
(cherry picked from commit 2f1709dfef)
2022-03-06 07:40:51 +00:00
Saqib Ansari
1c0d0e1ac7 chore: remove unintentional search index
(cherry picked from commit 1e139cf9a1)
2022-03-06 07:40:51 +00:00
Saqib Ansari
14f31ac2fa test: po updates packed item's ordered_qty
(cherry picked from commit 8e3f1e306d)

# Conflicts:
#	erpnext/selling/doctype/sales_order/test_sales_order.py
2022-03-06 07:40:51 +00:00
Saqib Ansari
131158a24c feat: update ordered qty for packed items
(cherry picked from commit 8005fee656)

# Conflicts:
#	erpnext/selling/doctype/sales_order/sales_order.js
2022-03-06 07:40:50 +00:00
Govind S Menokee
363752510e fix: HSN-wise-summary of outward supplies Updated Report
Report changes done in order to meet the specification as per govt guideline - [GUIDELINE](https://taxguru.in/goods-and-service-tax/12-points-note-filing-gstr-1-01st-2021-onwards.html)
2022-03-02 22:29:19 +05:30
Ankush Menat
a8137bda67 fix: dont hardcode precision in routing
Co-Authored-By: Suraj Shetty <surajshetty3416@gmail.com>
(cherry picked from commit 9ef35ef773)
2022-03-02 20:22:02 +05:30
Ankush Menat
d34f5051d7 fix: remove dead dashboard links
(cherry picked from commit f8ac4c082a)
2022-03-02 20:22:02 +05:30
Ankush Menat
5bad8d0e10 fix: dont hardcode precision in routing
Co-Authored-By: Suraj Shetty <surajshetty3416@gmail.com>
(cherry picked from commit 9ef35ef773)
2022-03-02 19:34:01 +05:30
Ankush Menat
478e1eb8db fix: remove dead dashboard links
(cherry picked from commit f8ac4c082a)
2022-03-02 19:34:01 +05:30
mergify[bot]
8ef1f679f7 chore: get stock reco qty from SR instead of SLE (#30059) (#30060)
[skip ci]

(cherry picked from commit 55a966ec41)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-02 14:50:54 +05:30
mergify[bot]
d1cc291c80 fix(Timesheet): fetch exchange rate only if currency is set (backport #30057) (#30058)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-02 14:19:11 +05:30
Ankush Menat
95f30ada7b fix: resolve conflicts 2022-03-02 14:08:57 +05:30
Ankush Menat
870799c4e2 fix: repost items with repeating item-warehouses
(cherry picked from commit 3638fbf06b)
2022-03-02 14:08:57 +05:30
Ankush Menat
a1c3e9aef9 revert "fix: FIFO valuation in case of multi-item entries"
This reverts commit b8ee193d1a.

This is huge performance regression for large docs.

(cherry picked from commit 701878f60b)
2022-03-02 14:08:57 +05:30
Ankush Menat
9fc0da1688 test: repack FIFO rates
(cherry picked from commit 2f71c5bcca)
2022-03-02 14:08:57 +05:30
Ankush Menat
bb58c49aef fix: FIFO valuation in case of multi-item entries
(cherry picked from commit ccd2ce56b1)
2022-03-02 14:08:57 +05:30
Ankush Menat
a84e7c633e test: FIFO transfer for multi-batch transaction
(cherry picked from commit b3b7cdfb49)

# Conflicts:
#	erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py
2022-03-02 14:08:57 +05:30
Ankush Menat
5be64c2b7f docs: explain make_sl_entries arguments
(cherry picked from commit eb8495a401)
2022-03-02 13:30:20 +05:30
Ankush Menat
5ebfb65b42 fix: ignore serial no during landed cost voucher
(cherry picked from commit efc4b943f8)
2022-03-02 13:30:20 +05:30
Ankush Menat
cdafed1092 test: fix flaky bin value test
(cherry picked from commit 5d85b35f41)
2022-03-02 12:35:26 +05:30
Deepesh Garg
ab69cb7b76 Merge pull request #30014 from frappe/mergify/bp/version-13-hotfix/pr-29978
fix: Commission not applied while making Sales Order from Quotation (backport #29978)
2022-03-01 18:19:10 +05:30
Deepesh Garg
69d3678d21 Merge pull request #30025 from deepeshgarg007/payment_entry_exchange_rate
fix: Exchange rate not getting set in payment entry
2022-03-01 18:18:42 +05:30
mergify[bot]
28a7c79f3c fix: dont validate empty category (#30038)
(cherry picked from commit 65bb727030)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-01 17:57:10 +05:30
mergify[bot]
c7539ae416 fix(test): flaky test_point_of_sale (#30035)
(cherry picked from commit 47fe87a72f)

Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2022-03-01 17:51:40 +05:30
Saqib Ansari
3eee7412c5 Merge pull request #30033 from frappe/mergify/bp/version-13-hotfix/pr-30032
fix: debit credit difference case with rounding adjustment (backport #30032)
2022-03-01 15:33:10 +05:30
rohitwaghchaure
1e5b9e747f Merge pull request #30023 from frappe/mergify/bp/version-13-hotfix/pr-30015
refactor: removed validation to check zero qty (backport #30015)
2022-03-01 14:44:31 +05:30
Saqib Ansari
d93a41e0d0 fix: debit credit difference case with rounding adjustment
(cherry picked from commit ad2c64f3ff)
2022-03-01 08:43:25 +00:00
Deepesh Garg
40c0f79291 Merge pull request #30027 from frappe/mergify/bp/version-13-hotfix/pr-30026
fix: Deferred revenue booking (backport #30026)
2022-03-01 13:26:28 +05:30
Ankush Menat
5f4965022f fix: track changes on warehouse
(cherry picked from commit d22a1d440c)
2022-03-01 13:11:49 +05:30
Ankush Menat
45ba50036f fix: track changes on warehouse
(cherry picked from commit d22a1d440c)
2022-03-01 13:11:35 +05:30
Deepesh Garg
5f9b2cc1bf fix: Deferred revenue booking
(cherry picked from commit 366120ffee)
2022-03-01 07:12:02 +00:00
Deepesh Garg
86e6bdf2c9 fix: Exchange rate not getting set in payment entry 2022-02-28 21:07:08 +05:30
Deepesh Garg
fb05230d51 Merge pull request #30024 from frappe/mergify/bp/version-13-hotfix/pr-29977
fix: Total taxes and charges in payment entry for multi-currency payments (backport #29977)
2022-02-28 19:36:21 +05:30
Ankush Menat
e89d60147e test: remove transaction commits from buying module
(cherry picked from commit 829c453cb6)
2022-02-28 19:28:36 +05:30
Deepesh Garg
de978ca3d7 test: Add test case for payment entry taxes
(cherry picked from commit 19fb7ead9f)
2022-02-28 13:40:22 +00:00
Deepesh Garg
6ed01fedd4 fix: Total taxes and charges in payment entry for multicurrency payments
(cherry picked from commit b1a46c80d5)
2022-02-28 13:40:22 +00:00
Deepesh Garg
ca6f196bad fix: Remove conflicts 2022-02-28 18:15:29 +05:30
Rohit Waghchaure
b98d3da8e3 fix: removed validation to check zero qty
(cherry picked from commit 39d3f20d9b)
2022-02-28 12:25:20 +00:00
Ankush Menat
aa684e6f3d fix: dont fetch draft/cancelled BOMs
(cherry picked from commit 1d1203d5ec)
2022-02-28 15:15:36 +05:30
Deepesh Garg
ebf70a4b5d test: add correct test case
(cherry picked from commit 4e9a9f35a6)
2022-02-28 07:35:04 +00:00
Deepesh Garg
bce4ca9390 fix: Commission not applied while making Sales Order from Quotation
(cherry picked from commit 0373914704)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
2022-02-28 07:35:04 +00:00
Deepesh Garg
9c0f8fe7fd Merge pull request #30009 from frappe/mergify/bp/version-13-hotfix/pr-29928
fix: Account filter in PSOA (backport #29928)
2022-02-28 12:57:04 +05:30
Marica
5aa42c736f Merge pull request #29994 from marination/fix-user-unique-cart-hotfix
fix(e-commerce): Unique Shopping Cart Per Logged In User
2022-02-28 12:37:39 +05:30
Marica
a531792ea5 Merge branch 'version-13-hotfix' into fix-user-unique-cart-hotfix 2022-02-28 12:13:57 +05:30
Deepesh Garg
c9da4e1059 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29865 2022-02-28 11:43:01 +05:30
Deepesh Garg
e509ce5438 fix: Account filter in PSOA
(cherry picked from commit 70b960e650)
2022-02-28 06:12:42 +00:00
Saqib Ansari
f21951fa33 Merge pull request #29992 from frappe/mergify/bp/version-13-hotfix/pr-29991
fix(pos): minor fixes (backport #29991)
2022-02-28 11:34:27 +05:30
mergify[bot]
5d69a182f6 fix(ux): make "allow zero valuation rate" readonly if "s_warehouse" is set (#29681) (#30002)
* chore: make allow zero valuation rate readonly if s_warehouse is set

* fix: setting the checkbox to zero whenever the source warehouse is set

* fix: remove allow_on_submit and refresh trigger

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

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-02-26 12:12:10 +05:30
Sagar Sharma
067ede76ea fix: validate Work Order qty against Production Plan (#29721)
* fix: validate Work Order qty against Production Plan

* chore: err msg when max_qty is 0

* test: add test for overproduction

* fix: CI
2022-02-26 11:13:00 +05:30
mergify[bot]
afade046fb fix: org chart connectors not rendered when Employee Naming is set to Full Name (backport #29997) (#29998)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-02-25 23:07:04 +05:30
Devin Slauenwhite
03945aae37 fix: get cart items for logged in user. 2022-02-25 16:43:21 +05:30
Devin Slauenwhite
78c2a369c4 fix: get cart for logged in user. 2022-02-25 16:43:12 +05:30
Devin Slauenwhite
a067aabb3c test: many users linked to customer shopping cart 2022-02-25 16:43:04 +05:30
Marica
c099833560 Merge pull request #29970 from frappe/mergify/bp/version-13-hotfix/pr-29913
fix: Block merging items if both have product bundles (backport #29913)
2022-02-25 16:10:09 +05:30
Saqib Ansari
6bb1dccddd fix: merge conflicts 2022-02-25 15:45:52 +05:30
Saqib Ansari
f2264fa58d fix(pos): coupon code is applied even if ignore pricing rule is check
(cherry picked from commit 81514516f3)

# Conflicts:
#	erpnext/public/js/controllers/transaction.js
2022-02-25 10:06:21 +00:00
Saqib Ansari
dcef0de906 fix(pos): mode of payment disappears after save
(cherry picked from commit 69c34cd7ae)
2022-02-25 10:06:21 +00:00
Deepesh Garg
5ec6a96882 Merge pull request #29960 from frappe/mergify/bp/version-13-hotfix/pr-29879
fix: Validate party account with company (backport #29879)
2022-02-24 00:00:30 +05:30
Ankush Menat
82ed96859a Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29913 2022-02-23 17:21:25 +05:30
mergify[bot]
95bf7acff8 test: fix flaky stateful tests (#29749) (#29969)
Co-authored-by: Ankush Menat <ankush@frappe.io>
Co-Authored-By: Marica <maricadsouza221197@gmail.com>
2022-02-23 17:07:13 +05:30
marination
34e0b85d6a fix: Check if both old and new items have bundles before merging
- If only one has bundle against it, they can be merged

(cherry picked from commit a33f04ea41)
2022-02-23 11:30:04 +00:00
marination
e0ed91433b test: Item Merging with Product Bundles
(cherry picked from commit 530f9f7029)
2022-02-23 11:30:04 +00:00
marination
5d1b7ec61d fix: Block merging items if both have product bundles
(cherry picked from commit 28cc2dbb72)
2022-02-23 11:30:04 +00:00
mergify[bot]
cdcd60a1ea chore: Rollback after each test, due to premature commit via remove_user_permission (backport #29964) (#29967)
* chore: Rollback after each test, due to premature commit via `remove_user_permission`

- `remove_user_permission` in `test_warehouse_user` calls delete_doc that enqueues dynamic link deletion
- Execution of background job eventually commits
- While in the test suite it runs sequentially in the same thread and commits whatever was done until then
- Which is why the rollback in `tearDownClass` is quite useless here
- This premature commit causes many illegal transactions caught by `assertRaises` to be committed in the db
- This creates faulty/dirty ledgers and breaks reports, as outiside the test suite this shouldn't/wouldn't happen
- Rollback after each test, and for `test_warehouse_user` in particular, manually cancel transaction

(cherry picked from commit bf8743713d)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/test_stock_entry.py

* test: Make Variant if absent in `test_variant_work_order`, keep test atomic

(cherry picked from commit 5ff3705872)

* fix: Merge conflicts

Co-authored-by: marination <maricadsouza221197@gmail.com>
2022-02-23 16:09:37 +05:30
Ankush Menat
37ba3666ac fix: reset stock value if no qty 2022-02-23 14:03:07 +05:30
Ankush Menat
6d354edb6b refactor: code duplication for fallback rates 2022-02-23 14:03:07 +05:30
Ankush Menat
982476d684 chore: batch flag and consumption rate in invariant report 2022-02-23 14:03:07 +05:30
Deepesh Garg
da1713ad00 fix: Remove unintended changes
(cherry picked from commit a61790c00f)
2022-02-23 05:52:53 +00:00
Deepesh Garg
e82f55ce9e fix: Validate party account with company
(cherry picked from commit 5a2b571aa9)
2022-02-23 05:52:52 +00:00
Deepesh Garg
c040d7df8a Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29740 2022-02-23 11:10:54 +05:30
Deepesh Garg
d1049b0d00 fix: Resolve conflicts 2022-02-23 11:10:07 +05:30
Suraj Shetty
1fbf2b511f Merge pull request #29958 from frappe/mergify/bp/version-13-hotfix/pr-29956 2022-02-23 11:01:38 +05:30
Suraj Shetty
cebe8888af fix: Email translations
(cherry picked from commit aaa84a21ba)
2022-02-23 05:31:15 +00:00
Saqib Ansari
1689409438 Merge pull request #29714 from GangaManoj/fetch-valuation-rate
fix: Fetch valuation rate for stock items consumed during asset repair
2022-02-23 09:24:27 +05:30
Deepesh Garg
259a091a37 fix: Remove print statements
(cherry picked from commit a4c6cb9f12)
2022-02-22 15:14:01 +00:00
Deepesh Garg
247325e4f5 fix: Update bank reconciliation statement
(cherry picked from commit 0b5e618e3a)
2022-02-22 15:14:01 +00:00
Deepesh Garg
e998521ca6 fix: Update queries in Bank Reconciliation Tool
(cherry picked from commit 295cbb0ff2)
2022-02-22 15:14:00 +00:00
Deepesh Garg
c2129b762a fix: Add patch for account fields
(cherry picked from commit a0bdcbd0cd)

# Conflicts:
#	erpnext/patches.txt
2022-02-22 15:13:59 +00:00
Deepesh Garg
93033fb87f feat: Bank Reconciliation for loan documents
(cherry picked from commit 555b1335f6)
2022-02-22 15:13:58 +00:00
Deepesh Garg
ee84985dc7 Merge pull request #29947 from frappe/mergify/bp/version-13-hotfix/pr-29942
fix: Taxjar minor fixes (backport #29942)
2022-02-22 19:39:39 +05:30
Subin Tom
46ed9a059c fix: Taxjar minor fixes
(cherry picked from commit 1682a26fe6)
2022-02-22 14:08:52 +00:00
Saqib Ansari
945a685a34 Merge pull request #29937 from frappe/mergify/bp/version-13-hotfix/pr-29900
fix(asset): no. of depr booked cannot be equal to total no. of depr (backport #29900)
2022-02-22 18:45:01 +05:30
Saqib Ansari
f4d987c21e Merge branch 'version-13-hotfix' into fetch-valuation-rate 2022-02-22 18:44:46 +05:30
mergify[bot]
807997c6ec fix: remove customer field value when MR is not customer provided (#29938) (#29941)
(cherry picked from commit 7f55226a58)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-22 18:20:59 +05:30
Saqib Ansari
b6d42ff571 test: number_of_depr_booked = total_number_of_depr
(cherry picked from commit 780694f6e2)
2022-02-22 08:54:16 +00:00
Saqib Ansari
2e6a076f90 fix(asset): no. of depreciation booked cannot be equal to total no. of depreciations
(cherry picked from commit c5808543c8)
2022-02-22 08:54:16 +00:00
Saqib Ansari
7157a86ea0 Merge branch 'version-13-hotfix' into fetch-valuation-rate 2022-02-22 14:23:29 +05:30
mergify[bot]
6539d32ca9 fix: Fetch conversion factor even if it already existed in row, on item change (#29917) (#29935)
* fix: Fetch conversion factor even if it already existed in row, on item change

* fix: Retain manually changed conversion factor

- If item code changes, reset conversion factor on client side
- Keep API behavious consistent, if conversion factor is sent, same must come back
- API should not ideally reset values in most cases

(cherry picked from commit 235fc127b3)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-02-22 13:01:31 +05:30
mergify[bot]
0f101b5209 fix(Salary Slip): TypeError while clearing any amount field in components (backport #29931) (#29932)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-02-22 11:56:56 +05:30
mergify[bot]
233a75a438 fix(LMS): program enrollment does not give any feedback (backport #29922) (#29924)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-02-21 23:10:20 +05:30
Rohit Waghchaure
f87ba6ac0a Merge branch 'version-13-pre-release' into version-13 2022-02-21 20:29:03 +05:30
Rohit Waghchaure
506e1221b8 bumped to version 13.21.0 2022-02-21 20:49:03 +05:50
rohitwaghchaure
a6a7504d6c Merge pull request #29920 from rohitwaghchaure/change-log-for-v13-21
chore: change log for v13.21.0
2022-02-21 20:21:27 +05:30
Rohit Waghchaure
b05d2201eb chore: change log for v13.21.0 2022-02-21 20:18:04 +05:30
mergify[bot]
6b87d38a80 fix: JobCard TimeLog to_date (#29872) (#29919)
(cherry picked from commit e4c4dc402e)

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-02-21 20:17:05 +05:30
Deepesh Garg
a63373ce98 fix: Gross profit for credit notes
(cherry picked from commit 973f6b1bbd)
2022-02-21 13:59:15 +00:00
Deepesh Garg
9a0b83027a fix: Remove unused param
(cherry picked from commit 07bcbc6c7e)
2022-02-21 13:59:15 +00:00
Deepesh Garg
b0a9ff0b04 fix: Update columns in new format
(cherry picked from commit 2172ab2d37)
2022-02-21 13:59:15 +00:00
Deepesh Garg
ab4a96dadd fix: Multiple fixes in Gross Profit report
(cherry picked from commit da73685f71)
2022-02-21 13:59:15 +00:00
Saqib Ansari
f107a6f3f2 Merge branch 'version-13-hotfix' into fetch-valuation-rate 2022-02-21 17:56:11 +05:30
Ankush Menat
9adbaaea4a fix: round off increments in numeric item variant
(cherry picked from commit 00e8565868)
2022-02-21 17:44:41 +05:30
Deepesh Garg
b10d167c98 Merge pull request #29910 from frappe/mergify/bp/version-13-pre-release/pr-29907
fix: Total Credit amount in TDS Payable monthly report (backport #29907)
2022-02-21 15:40:53 +05:30
Deepesh Garg
e4281734fe Merge pull request #29909 from frappe/mergify/bp/version-13-hotfix/pr-29907
fix: Total Credit amount in TDS Payable monthly report (backport #29907)
2022-02-21 15:40:41 +05:30
Deepesh Garg
a5fbf89285 fix: Total Credit amount in TDS Payable monthly report
(cherry picked from commit a82cf7214e)
2022-02-21 10:05:49 +00:00
Deepesh Garg
a6fba24ab1 fix: Total Credit amount in TDS Payable monthly report
(cherry picked from commit a82cf7214e)
2022-02-21 10:05:23 +00:00
Saqib Ansari
1b0ee018b5 Merge branch 'version-13-hotfix' into fetch-valuation-rate 2022-02-21 15:11:26 +05:30
Deepesh Garg
15849c5cac Merge pull request #29906 from frappe/mergify/bp/version-13-pre-release/pr-29887
fix: Ledger entries on LIA for term loans (backport #29887)
2022-02-21 14:54:18 +05:30
Deepesh Garg
e70933eea2 Merge pull request #29905 from frappe/mergify/bp/version-13-hotfix/pr-29887
fix: Ledger entries on LIA for term loans (backport #29887)
2022-02-21 14:54:05 +05:30
Marica
28abe13e0b Merge pull request #29908 from frappe/mergify/bp/version-13-pre-release/pr-29904
chore: Show 'Produced Qty' field in Sales Order Item (backport #29903) (backport #29904)
2022-02-21 14:42:22 +05:30
mergify[bot]
251288994c chore: Show 'Produced Qty' field in Sales Order Item (#29903) (#29904)
(cherry picked from commit e952cce17d)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 14c5be7c27)
2022-02-21 09:06:01 +00:00
Saqib Ansari
bc28755978 fix: sider 2022-02-21 14:26:21 +05:30
Deepesh Garg
a015fcc921 fix: Ledger entries on LIA for term loans
(cherry picked from commit 1aa12fb3f1)
2022-02-21 08:55:36 +00:00
Deepesh Garg
130f039549 fix: Ledger entries on LIA for term loans
(cherry picked from commit 1aa12fb3f1)
2022-02-21 08:54:58 +00:00
mergify[bot]
14c5be7c27 chore: Show 'Produced Qty' field in Sales Order Item (#29903) (#29904)
(cherry picked from commit e952cce17d)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-02-21 14:23:52 +05:30
Saqib Ansari
2aba6c38b3 fix: cannot edit valutaion_rate in asset repair 2022-02-21 14:01:12 +05:30
Saqib Ansari
57d5a027fb fix: remove redundant method 2022-02-21 13:58:01 +05:30
Saqib Ansari
c34fcf3083 Merge pull request #29899 from frappe/mergify/bp/version-13-pre-release/pr-29896
fix(pos): removal of coupon code (backport #29896)
2022-02-21 12:02:49 +05:30
Saqib Ansari
2c84b1dfa6 Merge pull request #29898 from frappe/mergify/bp/version-13-hotfix/pr-29896
fix(pos): removal of coupon code (backport #29896)
2022-02-21 11:52:31 +05:30
Saqib Ansari
9b241cb6f1 fix(pos): removal of coupon code
(cherry picked from commit fa38c291bd)
2022-02-21 06:19:46 +00:00
Saqib Ansari
8d24cb44a8 fix(pos): removal of coupon code
(cherry picked from commit fa38c291bd)
2022-02-21 06:19:24 +00:00
rohitwaghchaure
85b7bc8d6b Merge pull request #29892 from frappe/mergify/bp/version-13-hotfix/pr-29771
fix: Error in consolidated financial statements (backport #29771)
2022-02-20 19:54:44 +05:30
Deepesh Garg
232ba3580b fix: Linting issues
(cherry picked from commit fec40aac7a)
2022-02-20 13:48:45 +00:00
Deepesh Garg
b99a95b280 fix: Remove commented out code
(cherry picked from commit 42cdd6d237)
2022-02-20 13:48:45 +00:00
Deepesh Garg
02b7541fb9 fix: Error in consolidated financial statements
(cherry picked from commit ae613008be)
2022-02-20 13:48:45 +00:00
Deepesh Garg
ce2a5c97eb Merge pull request #29888 from frappe/mergify/bp/version-13-hotfix/pr-29869
fix: GSTIN filter for GSTR-1 report (backport #29869)
2022-02-20 17:25:10 +05:30
Deepesh Garg
6084aeb7d1 chore: remove console statements
(cherry picked from commit d188fcc066)
2022-02-19 14:12:43 +00:00
Deepesh Garg
3a98cc351c Update gstr_1.js
(cherry picked from commit a28ec89507)
2022-02-19 14:12:43 +00:00
Deepesh Garg
41b82145ea fix: GSTIN filter for GSTR-1 report
(cherry picked from commit 87b074ac09)
2022-02-19 14:12:42 +00:00
Marica
920a99ee76 Merge pull request #29877 from frappe/mergify/bp/version-13-pre-release/pr-29816
fix: Stock Ageing Transfer Bucket logic for Repack Entry with split batch rows (backport #29816)
2022-02-18 20:02:17 +05:30
Marica
8dc6468b6a Merge pull request #29878 from frappe/mergify/bp/version-13-pre-release/pr-29825
fix: Update SO via Work Order made from MR (attached to SO) (backport #29803) (backport #29825)
2022-02-18 20:01:18 +05:30
Marica
52aedcf8c4 Merge pull request #29876 from frappe/mergify/bp/version-13-hotfix/pr-29816
fix: Stock Ageing Transfer Bucket logic for Repack Entry with split batch rows (backport #29816)
2022-02-18 19:34:35 +05:30
Marica
104d3e1019 fix: Solve merge conflict in patches.txt 2022-02-18 19:27:11 +05:30
marination
6cf1049495 chore: Move patch that updates SO from WO to v13
(cherry picked from commit 94a1016623)

# Conflicts:
#	erpnext/patches.txt
2022-02-18 13:51:12 +00:00
marination
b46bd0d9d1 chore: Patch to update SO work_order_qty and Linter fix
(cherry picked from commit 0ca58d7627)

# Conflicts:
#	erpnext/patches.txt
(cherry picked from commit 98ce6a1c8d)

# Conflicts:
#	erpnext/patches.txt
2022-02-18 13:51:12 +00:00
marination
0e3398c761 test: SO > MR > WO flow
(cherry picked from commit f9d52e7346)
(cherry picked from commit 2ce07eff71)
2022-02-18 13:51:11 +00:00
marination
8dbe953b8f fix: Update SO via Work Order made from MR (attached to SO)
- Add SO Item reference in WO from MR (that was made from SO)

(cherry picked from commit 18731622c4)
(cherry picked from commit bb119c8e52)
2022-02-18 13:51:10 +00:00
marination
113222628b test: Negative Stock, over consumption & over production with split rows, balance precision
(cherry picked from commit d5be536740)
2022-02-18 13:50:36 +00:00
marination
ae7aead4d0 fix: Range Qty precision
(cherry picked from commit ed4a6c6cc6)
2022-02-18 13:50:36 +00:00
marination
4126e42ae7 fix: Precision of available qty and negative stock in transfer bucket
- Maintain only positive values in transfer bucket
- Use it to neutralize/add stock to fifo queue

(cherry picked from commit d3fbbcfed3)
2022-02-18 13:50:36 +00:00
marination
51af328a53 chore: Add transfer bucket working to .md file
(cherry picked from commit f6233e77c6)
2022-02-18 13:50:35 +00:00
marination
06758e53fd test: Stock Ageing FIFO buckets for Repack entry with same item
(cherry picked from commit ea3b7de867)
2022-02-18 13:50:35 +00:00
marination
cb4e6b9221 fix: Transfer Bucket logic for Repack Entry with split batch rows
(cherry picked from commit 799671c748)
2022-02-18 13:50:35 +00:00
Marica
f958956322 Merge pull request #29825 from frappe/mergify/bp/version-13-hotfix/pr-29803
fix: Update SO via Work Order made from MR (attached to SO) (backport #29803)
2022-02-18 19:20:12 +05:30
marination
88ca371887 test: Negative Stock, over consumption & over production with split rows, balance precision
(cherry picked from commit d5be536740)
2022-02-18 13:49:09 +00:00
marination
fde5a9e6f7 fix: Range Qty precision
(cherry picked from commit ed4a6c6cc6)
2022-02-18 13:49:09 +00:00
marination
c66b5752e2 fix: Precision of available qty and negative stock in transfer bucket
- Maintain only positive values in transfer bucket
- Use it to neutralize/add stock to fifo queue

(cherry picked from commit d3fbbcfed3)
2022-02-18 13:49:08 +00:00
marination
cab05dbefb chore: Add transfer bucket working to .md file
(cherry picked from commit f6233e77c6)
2022-02-18 13:49:08 +00:00
marination
690ae52a8e test: Stock Ageing FIFO buckets for Repack entry with same item
(cherry picked from commit ea3b7de867)
2022-02-18 13:49:08 +00:00
marination
d86e63e22d fix: Transfer Bucket logic for Repack Entry with split batch rows
(cherry picked from commit 799671c748)
2022-02-18 13:49:07 +00:00
Rohit Waghchaure
58aedaa0f7 fix: added item name in the excel sheet
(cherry picked from commit 02e77029fa)
2022-02-17 20:18:01 +05:30
Rohit Waghchaure
72dec4b28f fix: added item name in the excel sheet
(cherry picked from commit 02e77029fa)
2022-02-17 20:17:47 +05:30
Ankush Menat
90ebe6f266 fix: avoid creating bins without item-wh
Co-Authored-By:  Shadrak Gurupnor <30501401+shadrak98@users.noreply.github.com>
Co-Authored-By: Saurabh <saurabh6790@gmail.com>
(cherry picked from commit c36bd7e1a6)
2022-02-17 20:17:13 +05:30
Ankush Menat
29a1f338a4 fix: avoid creating bins without item-wh
Co-Authored-By:  Shadrak Gurupnor <30501401+shadrak98@users.noreply.github.com>
Co-Authored-By: Saurabh <saurabh6790@gmail.com>
(cherry picked from commit c36bd7e1a6)
2022-02-17 20:16:57 +05:30
Deepesh Garg
bdef164061 Merge pull request #29827 from frappe/mergify/bp/version-13-hotfix/pr-29137
feat: Payment Terms Status report (backport #29137)
2022-02-17 19:16:28 +05:30
Rucha Mahabal
ddfdb445fa chore: remove unused code and fields related to workstation from Timesheet Detail
(cherry picked from commit bef46e2b64)
2022-02-17 18:22:43 +05:30
Rucha Mahabal
98bafc5898 test: timesheet not overlapping with continuous timelogs
(cherry picked from commit 47ff968253)
2022-02-17 18:22:43 +05:30
Rucha Mahabal
91e6fea2cd fix: convert overlap raw query to frappe.qb
(cherry picked from commit 3ec9acf8f7)
2022-02-17 18:22:43 +05:30
Rucha Mahabal
6db0ea8be8 fix(Timesheet): convert time logs to datetime while checking for overlap
(cherry picked from commit e2e998fbd9)
2022-02-17 18:22:43 +05:30
Saqib Ansari
f9282d2a6b Merge pull request #29861 from frappe/mergify/bp/version-13-pre-release/pr-29859
fix: coupon code is applied even if ignore_pricing_rule is enabled (backport #29859)
2022-02-17 16:22:05 +05:30
Saqib Ansari
5db80b2b57 Merge pull request #29860 from frappe/mergify/bp/version-13-hotfix/pr-29859
fix: coupon code is applied even if ignore_pricing_rule is enabled (backport #29859)
2022-02-17 16:20:51 +05:30
Saqib Ansari
381ccd7653 fix: coupon code is applied even if ignore_pricing_rule is enabled
(cherry picked from commit 2743999785)
2022-02-17 10:42:43 +00:00
Saqib Ansari
63079f3e07 fix: coupon code is applied even if ignore_pricing_rule is enabled
(cherry picked from commit 2743999785)
2022-02-17 10:42:15 +00:00
Ankush Menat
20f7db98cb fix: production plan status should consider qty + WO status
(cherry picked from commit db93f26f20)
2022-02-17 15:09:08 +05:30
Saqib Ansari
6559c1cd01 Merge pull request #29851 from frappe/mergify/bp/version-13-pre-release/pr-29848
fix: currency in bank reconciliation tool (backport #29848)
2022-02-17 14:40:22 +05:30
Saqib Ansari
a4cd33441f Merge pull request #29850 from frappe/mergify/bp/version-13-hotfix/pr-29848
fix: currency in bank reconciliation tool (backport #29848)
2022-02-17 14:40:16 +05:30
Saqib Ansari
d898cb45dc fix: currency in bank reconciliation tool
(cherry picked from commit 60674e52b8)
2022-02-17 08:57:47 +00:00
Saqib Ansari
97505fdc82 fix: currency in bank reconciliation tool
(cherry picked from commit 60674e52b8)
2022-02-17 08:57:28 +00:00
Ankush Menat
fb0167ffc6 test: putaway rule re-application shouldn't do anything
(cherry picked from commit d9fc3f3d90)
2022-02-17 12:47:44 +05:30
Ankush Menat
90f2cfd102 fix: avoid updating items table if no change due to putaway
(cherry picked from commit b000e93744)
2022-02-17 12:47:44 +05:30
mergify[bot]
8953794cda fix: allow renaming and merging (backport #29830) (#29832)
Co-authored-by: Wolfram Schmidt <wolfram.schmidt@phamos.eu>
2022-02-16 17:53:00 +05:30
marination
94a1016623 chore: Move patch that updates SO from WO to v13 2022-02-16 17:45:41 +05:30
Marica
8727addec3 Merge pull request #29824 from frappe/mergify/bp/version-13-pre-release/pr-29823
perf: Weed out disabled variants via sql query instead of pythonic looping separately (backport #29639) (backport #29823)
2022-02-16 14:30:47 +05:30
ruthra kumar
2ca25fc9f1 test: added test for alternate currency
- Sales Order and Invoice will be submitted in USD with exchange rate
of 70 with the default company currency
- Report will display in defauly company currency

(cherry picked from commit 48f37c7659)
2022-02-16 08:46:23 +00:00
ruthra kumar
fa03246a94 test: refactor and fix failing test case
(cherry picked from commit 49fdc6c52e)
2022-02-16 08:46:23 +00:00
ruthra kumar
07c094152e refactor: create invoices list without if else
(cherry picked from commit a4b8d67323)
2022-02-16 08:46:22 +00:00
ruthra kumar
63c73e6eaf fix: default to company currency in report output
(cherry picked from commit 85ed0fb8d6)
2022-02-16 08:46:22 +00:00
ruthra kumar
2614de9ab3 refactor: currency field and code cleanup
(cherry picked from commit bc244d0740)
2022-02-16 08:46:22 +00:00
Deepesh Garg
b249478fcc fix: Copyright info
(cherry picked from commit 4284017e9d)
2022-02-16 08:46:21 +00:00
ruthra
b6910912a9 test: qty and rate changed to remove need for fractional Nos
(cherry picked from commit 4535a7a301)
2022-02-16 08:46:21 +00:00
ruthra
c6fb52a31a refactor: remove unused imports
(cherry picked from commit edd980acdc)
2022-02-16 08:46:21 +00:00
ruthra
408704e269 test: fix failing test case payment terms status
(cherry picked from commit 9f1e68801d)
2022-02-16 08:46:20 +00:00
ruthra
bc2b4411ee feat: Payment Terms Status report
- calculate status at runtime for payment terms based on invoices
 - invoices are used in FIFO method

(cherry picked from commit 1bac793083)
2022-02-16 08:46:20 +00:00
marination
98ce6a1c8d chore: Patch to update SO work_order_qty and Linter fix
(cherry picked from commit 0ca58d7627)

# Conflicts:
#	erpnext/patches.txt
2022-02-16 08:35:11 +00:00
marination
2ce07eff71 test: SO > MR > WO flow
(cherry picked from commit f9d52e7346)
2022-02-16 08:35:09 +00:00
marination
bb119c8e52 fix: Update SO via Work Order made from MR (attached to SO)
- Add SO Item reference in WO from MR (that was made from SO)

(cherry picked from commit 18731622c4)
2022-02-16 08:35:09 +00:00
marination
ad0d865ccc chore: Remove commented out code
(cherry picked from commit 29c576e144)
(cherry picked from commit de834a8362)
2022-02-16 08:33:44 +00:00
marination
abd5d3caea chore: Fix flaky test test_exact_match_with_price
- Clear cart settings in cache to avoid stale values

(cherry picked from commit 4f5a0b8941)
(cherry picked from commit b75e982286)
2022-02-16 08:33:44 +00:00
marination
2bcc77583a fix: Trim spaces from attributes (multi-variant creation) & explicit method for building cache
- Multiple Item Variants creation fails due to extra spaces in attributes from popup. Clean them before passing to server side
- Mention explicit method to build variants cache to avoid ambiguity between old method path (pre-refactor)

(cherry picked from commit a64228741d)
(cherry picked from commit ca8986028d)
2022-02-16 08:33:43 +00:00
marination
585b760144 perf: Weed out disabled variants via sql query instead of pythonic looping separately
- If the number of variants are large (almost 2lakhs), the query to get variants and attribute data takes time
- If the no.of disabled attributes is large as well, the list comprehension weeding out disabled variants takes forever
- We dont need to loop over the variants data so many times
- Avoid any `if a in list(b)` is best when the iterables have tremendous data

(cherry picked from commit 26bd3053d1)
(cherry picked from commit 251656ab52)
2022-02-16 08:33:43 +00:00
Marica
ec0ea604ac Merge pull request #29823 from frappe/mergify/bp/version-13-hotfix/pr-29639
perf: Weed out disabled variants via sql query instead of pythonic looping separately (backport #29639)
2022-02-16 14:02:54 +05:30
marination
de834a8362 chore: Remove commented out code
(cherry picked from commit 29c576e144)
2022-02-16 08:10:00 +00:00
marination
b75e982286 chore: Fix flaky test test_exact_match_with_price
- Clear cart settings in cache to avoid stale values

(cherry picked from commit 4f5a0b8941)
2022-02-16 08:10:00 +00:00
marination
ca8986028d fix: Trim spaces from attributes (multi-variant creation) & explicit method for building cache
- Multiple Item Variants creation fails due to extra spaces in attributes from popup. Clean them before passing to server side
- Mention explicit method to build variants cache to avoid ambiguity between old method path (pre-refactor)

(cherry picked from commit a64228741d)
2022-02-16 08:10:00 +00:00
marination
251656ab52 perf: Weed out disabled variants via sql query instead of pythonic looping separately
- If the number of variants are large (almost 2lakhs), the query to get variants and attribute data takes time
- If the no.of disabled attributes is large as well, the list comprehension weeding out disabled variants takes forever
- We dont need to loop over the variants data so many times
- Avoid any `if a in list(b)` is best when the iterables have tremendous data

(cherry picked from commit 26bd3053d1)
2022-02-16 08:09:59 +00:00
mergify[bot]
765ade74e6 fix: add supported currencies (#29805) (#29822)
(cherry picked from commit a26183e205)

Co-authored-by: Kenneth Sequeira <33246109+kennethsequeira@users.noreply.github.com>
2022-02-16 13:04:20 +05:30
mergify[bot]
dccf2a3dec test: set correct DocType (#29819) (#29820)
(cherry picked from commit 08a391fa88)

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2022-02-16 11:52:03 +05:30
mergify[bot]
3b4e4955f7 fix: task status loop (backport #26006) (#29821)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
Co-authored-by: Jannat Patel <31363128+pateljannat@users.noreply.github.com>
2022-02-16 11:32:40 +05:30
rohitwaghchaure
c843b0b210 Merge pull request #29809 from rohitwaghchaure/merge-branch-hotfix-to-pre-release-for-13-21
chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release'
2022-02-15 17:54:17 +05:30
mergify[bot]
20ba40066a fix: dont attempt to set batch number if item doesn't have batch no (#29812) (#29814)
This causes other triggers and unnecessary changes (e.g. price list)

(cherry picked from commit f89a64db48)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-15 16:12:17 +05:30
mergify[bot]
fd5ce9ca10 fix: dont attempt to set batch number if item doesn't have batch no (#29812) (#29813)
This causes other triggers and unnecessary changes (e.g. price list)

(cherry picked from commit f89a64db48)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-15 16:12:03 +05:30
Deepesh Garg
335e80f787 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into merge-branch-hotfix-to-pre-release-for-13-21 2022-02-15 15:56:33 +05:30
Deepesh Garg
3e2b9a2c50 Merge pull request #29810 from frappe/mergify/bp/version-13-hotfix/pr-29791
fix: Fixes in TDS payable monthly report (backport #29791)
2022-02-15 15:55:08 +05:30
Deepesh Garg
038d729462 fix: Filter out bank payment entries
(cherry picked from commit 04cbde2e52)
2022-02-15 10:10:29 +00:00
Deepesh Garg
ea3acb09be fix: Fixes in TDS payable monthly report
(cherry picked from commit 2ff6b3560e)
2022-02-15 10:10:28 +00:00
Rohit Waghchaure
01356031bb chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release' 2022-02-15 15:14:10 +05:30
Sagar Sharma
83ab63ba81 chore: warning for Amazon MWS integration deprecation (#29792)
* chore: warning for amazon mws integration deprecation

* style: spaces to tabs

[skip ci]
2022-02-15 11:37:29 +05:30
Deepesh Garg
321cbd5982 Merge pull request #29800 from frappe/mergify/bp/version-13-hotfix/pr-29789
fix: disable rounded total in opening invoice creation tool (backport #29789)
2022-02-15 11:32:14 +05:30
Saqib Ansari
5d608edc54 fix: disable rounded total in opening invoice creation tool
(cherry picked from commit 18d0a59a9d)
2022-02-15 05:09:01 +00:00
Marica
93cde7e5ff Merge pull request #29794 from frappe/mergify/bp/version-13-hotfix/pr-29705
fix: Set Pending Qty in Prod Plan after updating Work Order (backport #29705)
2022-02-14 23:39:26 +05:30
Marica
a8107f6e06 Merge pull request #29795 from frappe/mergify/bp/version-13-hotfix/pr-29788
fix: Generate Warehouse wise FIFO Queue always and later aggregate if required (backport #29788)
2022-02-14 23:38:52 +05:30
marination
e9ef1cbd3d test: Cover back to back recos from different warehouses
(cherry picked from commit f221a0d253)
2022-02-14 17:35:38 +00:00
marination
3d45ea0c1f fix: Generate Wh wise FIFO Queue and later aggregate if required
- Back to back stock recos cause incorrect qty calculation across warehouses
- Hard to differentiate how much of the qty is reset by the reco
- Maintain Queue and balances warehouse wise and later aggregate for accurate values

(cherry picked from commit f62b3207ff)
2022-02-14 17:35:37 +00:00
marination
698f910a30 fix: Server Tests and sider
(cherry picked from commit e46a1bc80f)
2022-02-14 17:32:59 +00:00
marination
1df4e2c44a test: Production Plan Pending Qty impact tests
- Two tests to check impact on pending qty: From SO and independent Prod Plan
- Added docstring to each test case for brief summary
- Changed helper function args to fallback to 0 instead of 1 if no arg is passed
- Removed unnecessary `get_doc()`
- Made helper function actions optional depending on args passed

(cherry picked from commit 86ca41b14a)
2022-02-14 17:32:59 +00:00
marination
6800c3efae fix: Initialise pending qty as planned qty for independent item rows in Prod Plan
- Rows that are not fetched from MR or SO, had pending qty 0 throughout
- Initialise pending qty on save only.
- After submit this field will be updated by work order/stock entry
- Bring functions in `validate()` closer to the top

(cherry picked from commit eaccef6116)
2022-02-14 17:32:58 +00:00
marination
c7b9df5aee fix: Set Pending Qty in Prod Plan after updating Work Order
(cherry picked from commit 7116d7ae0e)
2022-02-14 17:32:58 +00:00
Sagar Sharma
7fa46f77e0 revert: "Merge pull request #29290 from s-aga-r/fix/delivery-note/billed-amount" (#29782)
* Revert "Merge pull request #29290 from s-aga-r/fix/delivery-note/billed-amount"

This reverts commit 038f949550, reversing
changes made to c7b4918434.

* fix: linter
2022-02-14 19:54:29 +05:30
Saqib Ansari
53275d4045 Merge pull request #29790 from frappe/mergify/bp/version-13-hotfix/pr-29778
fix: incorrect pricing rule filtering on selecting first item (backport #29778)
2022-02-14 19:13:38 +05:30
Saqib Ansari
47f8b44cfe fix: incorrect pricing rule filtering on selecting first item
(cherry picked from commit 3713ae75ab)
2022-02-14 13:11:57 +00:00
mergify[bot]
e5b50557e6 fix: show user id in emp group table (backport #29776) (#29777)
Co-authored-by: Dany Robert <danyrt@wahni.com>
2022-02-14 10:09:39 +05:30
rohitwaghchaure
f462d5ba38 Merge pull request #29755 from frappe/mergify/bp/version-13-hotfix/pr-29736
fix: time out error while making work orders from production plan (backport #29736)
2022-02-13 22:50:14 +05:30
mergify[bot]
c7fbeb3aac fix(India): Report GSTR-1 minor fixes (#29768)
* fix(India): Report GSTR-1 minor fixes

(cherry picked from commit 6e679a5ad2)

* fix: cleaner implementation for `get_invoice_type`

(cherry picked from commit 2bc157a95c)

Co-authored-by: Smit Vora <mailsmitvora@gmail.com>
Co-authored-by: Sagar Vora <sagar@resilient.tech>
2022-02-12 20:55:27 +05:30
Deepesh Garg
90f5372fb1 Merge pull request #29716 from deepeshgarg007/loan_repay_via_salary_v2
fix: Loan repayment via Salary Slip
2022-02-12 18:46:38 +05:30
Govind S Menokee
894a406ed4 Bug: fix list mutation within loop
Prevent list mutation within loop leading to incorrect data
2022-02-12 12:12:31 +05:30
Saqib Ansari
e55a27b6a5 Merge pull request #29765 from frappe/mergify/bp/version-13-hotfix/pr-29754
chore: remove deprecated print format (backport #29754)
2022-02-12 12:12:03 +05:30
Sagar Vora
b7b5531ed0 chore: remove deprecated print format
(cherry picked from commit d93d2a80b1)
2022-02-12 06:38:49 +00:00
Rucha Mahabal
672a633154 Merge pull request #29763 from frappe/mergify/bp/version-13-hotfix/pr-29711 2022-02-11 21:43:38 +05:30
Rucha Mahabal
0e3788e346 fix: conflicts 2022-02-11 21:27:44 +05:30
Rucha Mahabal
6a1c27a18f fix(test): reset test setup
(cherry picked from commit cbaadcf113)
2022-02-11 15:55:17 +00:00
Rucha Mahabal
c261621dca test: earned leave allocations based on DOJ
(cherry picked from commit 9b0f9c3442)
2022-02-11 15:55:16 +00:00
Rucha Mahabal
c0ea6d0721 chore: clean-up leave policy assignment tests
(cherry picked from commit 51e6086829)
2022-02-11 15:55:16 +00:00
Rucha Mahabal
9b6040979a fix: consider leaves for past months if assignment is based on joining date too
(cherry picked from commit c7be9ef5d2)

# Conflicts:
#	erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py
2022-02-11 15:55:15 +00:00
Rucha Mahabal
3fea6fd9e8 fix: consider based on DOJ config while calculating leaves for passed months
(cherry picked from commit 89fa0bb73f)
2022-02-11 15:55:14 +00:00
Rucha Mahabal
2b4e532226 fix: Earned Leave allocation based on joining date not working
(cherry picked from commit 7326d57966)
2022-02-11 15:55:14 +00:00
Deepesh Garg
540559d6fd Merge branch 'version-13-pre-release' into version-13 2022-02-11 19:14:54 +05:30
Deepesh Garg
5df93916b4 bumped to version 13.20.1 2022-02-11 19:34:54 +05:50
Deepesh Garg
6cb5e85342 Merge pull request #29758 from frappe/mergify/bp/version-13-pre-release/pr-29756
Revert "fix(India): Tax calculation for overseas suppliers" (backport #29756)
2022-02-11 18:06:03 +05:30
Deepesh Garg
5a961dec24 Merge pull request #29757 from frappe/mergify/bp/version-13-hotfix/pr-29756
Revert "fix(India): Tax calculation for overseas suppliers" (backport #29756)
2022-02-11 18:05:08 +05:30
Deepesh Garg
5855225366 Revert "fix(India): Tax calculation for overseas suppliers"
(cherry picked from commit ea20c63182)
2022-02-11 12:11:31 +00:00
Deepesh Garg
87decb3734 Revert "fix(India): Tax calculation for overseas suppliers"
(cherry picked from commit ea20c63182)
2022-02-11 12:11:09 +00:00
Saqib Ansari
31d5d9e1c0 Merge pull request #29752 from frappe/mergify/bp/version-13-hotfix/pr-29732
fix: encode filters for URI (backport #29732)
2022-02-11 17:02:31 +05:30
Rohit Waghchaure
adaa8bd32d fix: time out error while making work orders from prodcution plan
(cherry picked from commit eec2f87088)
2022-02-11 10:43:09 +00:00
barredterra
032e4e4486 fix: encode filters for URI
(cherry picked from commit 5811d9e318)
2022-02-11 09:16:09 +00:00
Saqib Ansari
7629d472a1 Merge pull request #29751 from frappe/mergify/bp/version-13-hotfix/pr-29748
fix: cannot jump to sales invoice in gross profit report (backport #29748)
2022-02-11 14:45:02 +05:30
Saqib Ansari
7c5480d729 fix: cannot jump to sales invoice in gross profit report
(cherry picked from commit 78dd364b0b)
2022-02-11 09:09:38 +00:00
Ankush Menat
5a771dca46 fix: update bin modified timestamp when updating qty
These timestamps are used for writing integrations hence whenever bin is
updated timestamp should update to reliabily use Bin for integration
logic.

(cherry picked from commit 77be98295c)
2022-02-11 12:12:49 +05:30
Saqib Ansari
5fd120a926 Merge pull request #29728 from frappe/mergify/bp/version-13-hotfix/pr-29701
fix(pos): incorrect grand_total in case of inclusive taxes on item (backport #29701)
2022-02-10 11:24:33 +05:30
Ankush Menat
70951bd833 ci: bump ci python version for patch test 2022-02-10 10:57:24 +05:30
Saqib Ansari
c980bce1c8 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29701 2022-02-10 10:53:53 +05:30
Ankush Menat
ffd5efe669 ci: bump ci python version for patch test 2022-02-10 10:53:17 +05:30
Saqib Ansari
6922a91a66 Merge pull request #29726 from frappe/mergify/bp/version-13-hotfix/pr-29374
fix: ignore pricing rule in transactions (backport #29374)
2022-02-10 10:52:35 +05:30
Ankush Menat
d062504593 fix: restrict filetypes to csv for rename tool
(cherry picked from commit c371b52d27)
2022-02-10 10:31:42 +05:30
Saqib Ansari
503cc65db4 fix: restore missing change from develop branch 2022-02-10 10:28:51 +05:30
Saqib Ansari
ec1bafeafc Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29374 2022-02-09 16:45:34 +05:30
Saqib Ansari
d97fa58e4f fix: merge conflicts 2022-02-09 16:44:13 +05:30
Saqib Ansari
41b7c5f92d fix: cancelling of consolidated sales invoice that doesn't have closing entry
(cherry picked from commit 0ebd32dc63)
2022-02-09 11:13:05 +00:00
Saqib Ansari
02cf4e9f25 fix: flaky point of sale test
(cherry picked from commit 4bb557dbd8)
2022-02-09 11:13:05 +00:00
Saqib Ansari
7835e86da0 fix(test): do not enable negative stock
(cherry picked from commit 75256863c6)
2022-02-09 11:13:04 +00:00
Saqib Ansari
e2d8fce3c5 fix(test): case if write off is calculated as negative amount
(cherry picked from commit c2b83a0283)
2022-02-09 11:13:04 +00:00
Saqib Ansari
96034c4396 fix(test): ignore stock validation
(cherry picked from commit afc5c26d1c)
2022-02-09 11:13:04 +00:00
Saqib Ansari
32b55e715a fix(pos): incorrect grand_total in case of inclusive taxes on item
(cherry picked from commit 0452d7de20)
2022-02-09 11:13:03 +00:00
Ankush Menat
a86e8f47e5 Merge pull request #29723 from frappe/mergify/copy/version-13-hotfix/pr-29715
fix: Reserved for Production calculation considered closed work orders (copy #29715)
2022-02-09 15:59:23 +05:30
Rohit Waghchaure
9dec4a2454 Merge branch 'version-13-pre-release' into version-13 2022-02-09 14:44:10 +05:30
Rohit Waghchaure
7e910f21b8 bumped to version 13.20.0 2022-02-09 15:04:10 +05:50
rohitwaghchaure
b27c4ac6e2 Merge pull request #29727 from rohitwaghchaure/change-log-for-v13-20
chore: change log for v13.20.0
2022-02-09 14:42:15 +05:30
Rohit Waghchaure
a451c49a42 chore: change log for v13.20.0 2022-02-09 14:40:07 +05:30
Deepesh Garg
a54e0fe42b test: Update account type in payroll payable account 2022-02-09 13:44:14 +05:30
Saqib Ansari
23a5b3df18 fix: ignore pricing rule in all transactions
(cherry picked from commit ab36b27a94)
2022-02-09 08:02:56 +00:00
Saqib Ansari
91f65da4ec fix(test): pass price_list_rate only if pricing rule has to be removed
(cherry picked from commit 6fa406dd04)
2022-02-09 08:02:55 +00:00
Saqib Ansari
fc67f02ffc test: item price on remove pricing rule
(cherry picked from commit b8c41e3030)

# Conflicts:
#	erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py
2022-02-09 08:02:55 +00:00
Saqib Ansari
78c5f34286 fix: ignore pricing rule in all transactions
(cherry picked from commit f6dda738dc)
2022-02-09 08:02:53 +00:00
Ankush Menat
94fc5f95db fix: concflicts 2022-02-09 12:21:38 +05:30
Ankush Menat
0ac16f9e63 fix: patch existing bins
(cherry picked from commit e134524532db0473bef48b7e558e5d7a289f090e)

# Conflicts:
#	erpnext/patches.txt
2022-02-09 06:17:27 +00:00
Ankush Menat
197bf8fbec refactor: move reserve quantity computation to work order
(cherry picked from commit a8bf3a3f0d)

# Conflicts:
#	erpnext/stock/doctype/bin/bin.py
2022-02-09 06:17:26 +00:00
Ankush Menat
bde3bece36 test: remove dependency on other tests
(cherry picked from commit d2cc5f2482)
2022-02-09 06:17:25 +00:00
aaronmenezes
bc80f34d92 fix: Reserved for Production calculation considered closed work orders
(cherry picked from commit 6a8b7eeffe)

# Conflicts:
#	erpnext/stock/doctype/bin/bin.py
2022-02-09 06:17:25 +00:00
rohitwaghchaure
a3f1844311 Merge pull request #29552 from frappe/mergify/bp/version-13-hotfix/pr-29359
fix: bypass selling price validation for free item (backport #29359)
2022-02-09 10:39:34 +05:30
Deepesh Garg
2572480554 fix: Loan repayment via Salary Slip 2022-02-08 22:56:14 +05:30
mergify[bot]
e69f70f264 fix: fetch image form item (backport #29523) (#29571)
* fix: fetch image form item (#29523)

(cherry picked from commit 319322228a)

# Conflicts:
#	erpnext/assets/doctype/asset/asset.json

* chore: resolve merge conflicts

Co-authored-by: Himanshu <himanshuwarekar@yahoo.com>
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2022-02-08 21:54:07 +05:30
GangaManoj
e1a9b61103 fix: Pass value instead of array 2022-02-08 17:59:06 +05:30
GangaManoj
df71907be4 fix: Fetch valuation rate 2022-02-08 17:37:38 +05:30
Saqib Ansari
422dcc245f Merge pull request #29707 from frappe/mergify/bp/version-13-hotfix/pr-29560
fix: typeerror on invoice creation from SO/PO (backport #29560)
2022-02-08 17:24:47 +05:30
Deepesh Garg
ca02fa98f8 Merge pull request #29710 from frappe/mergify/bp/version-13-hotfix/pr-29709
fix: currency in bank reconciliation chart (backport #29709)
2022-02-08 16:57:43 +05:30
Saqib Ansari
df870e4b22 fix: currency in bank reconciliation chart
(cherry picked from commit 0fc5d2278d)
2022-02-08 11:03:10 +00:00
Rucha Mahabal
409664387c Merge pull request #29708 from frappe/mergify/bp/version-13-hotfix/pr-29650 2022-02-08 16:31:07 +05:30
Rucha Mahabal
e3246efa5d fix: conflicts 2022-02-08 16:12:24 +05:30
Rucha Mahabal
cc867d6338 fix: conflicts 2022-02-08 15:55:44 +05:30
Rucha Mahabal
a5f016a7cd fix: handle carry forwarded leaves while checking for duplicate allocation
(cherry picked from commit bd1555bd23)
2022-02-08 10:18:34 +00:00
Rucha Mahabal
aa04e02710 fix(test): add ignore duplicates flag to allocation function
(cherry picked from commit e25544f94e)
2022-02-08 10:18:34 +00:00
Rucha Mahabal
ce26759a95 fix: linter
(cherry picked from commit a52ba0a544)
2022-02-08 10:18:34 +00:00
Rucha Mahabal
d26a8d47e4 test: earned leave allocation for passed months and allocation on month-end
(cherry picked from commit 63ee4f1b64)
2022-02-08 10:18:33 +00:00
Rucha Mahabal
5363b1922a fix: earned leaves not allocated if assignment is created on month-end
(cherry picked from commit 25c7f850b1)

# Conflicts:
#	erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py
2022-02-08 10:18:33 +00:00
Saqib Ansari
48a9d985e8 Merge pull request #29702 from frappe/mergify/bp/version-13-hotfix/pr-29699
chore: show credit/debit-to account in error message (backport #29699)
2022-02-08 15:28:01 +05:30
ruthra kumar
e5112e16a8 fix: typeerror on invoice creation from SO/PO
(cherry picked from commit 9bd56b0f79)
2022-02-08 09:57:47 +00:00
Saqib Ansari
dddfab1310 fix: Coupon code item pricing dynamic updation issue in pos screen (backport #29599) 2022-02-08 15:27:36 +05:30
Bhavesh Maheshwari
08b9ee7b36 fix: ignore rate validation for work order (#29690)
* fix: ignore rate validation for work order

* test: validate on save instead of on creation

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-08 14:01:20 +05:30
mergify[bot]
bd9a07ed4c fix: dont ignore items that dont have SVD (backport #29656) (#29694)
* fix: dont ignore items that dont have SVD

When items go from negative to positive stock value diff can be zero but
item might have taxes / need divisional loss adjustment.

(cherry picked from commit c88c368880)

* test: check when PR moves stock from neg to pos

(cherry picked from commit d1f5753885)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-08 13:52:41 +05:30
mergify[bot]
cc5107eab3 fix: ignore cancelled SLEs (#29679) (#29698)
(cherry picked from commit 0ca60afc3f)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-08 13:52:28 +05:30
Subin Tom
c494ed087a fix: Coupon code item pricing dynamic updation issue
(cherry picked from commit ccf63124d6)
2022-02-08 06:20:51 +00:00
Saqib Ansari
52a74921c0 chore: show credit/debit-to account in error message
(cherry picked from commit e93bb8a336)
2022-02-08 06:13:31 +00:00
Ankush Menat
8e660890f4 test: commit item/warehouse creation to db
(cherry picked from commit f82d7eb73f)
2022-02-07 23:16:18 +05:30
Ankush Menat
29d3a189cb chore: drop dead field from stock reconciliation
(cherry picked from commit 43f8ee1dd1)
2022-02-07 23:16:18 +05:30
Ankush Menat
19f99a1c5f test: product bundle reposting
(cherry picked from commit 699519f7b6)
2022-02-07 23:16:18 +05:30
Ankush Menat
86d30ed583 test: move bundle info to class variables
(cherry picked from commit 853e658dcc)
2022-02-07 23:16:18 +05:30
Ankush Menat
6f6b474333 fix: merge stock ledger item warehouse with doc's
(cherry picked from commit 1022db0474)
2022-02-07 23:16:18 +05:30
Ankush Menat
eeb8f4874d refactor: simplify get_items_and_warehouses
Also remove dead code related to stock reconciliation_json.

(cherry picked from commit e6ab8df8f2)
2022-02-07 23:16:18 +05:30
Ankush Menat
bd401810e4 fix: consider packed items too when reposting
(cherry picked from commit c56d07dee3)
2022-02-07 23:16:18 +05:30
Ritwik Puri
c137b141e8 fix: use item_code instead of parent field in bom_stock_calculated report (#29684)
(cherry picked from commit 72a812f18b)
2022-02-07 23:11:40 +05:30
Deepesh Garg
cace76b355 Merge pull request #29682 from frappe/mergify/bp/version-13-hotfix/pr-29349
feat: option to disable Item Tax Template and Tax Category (backport #29349)
2022-02-07 22:26:09 +05:30
Deepesh Garg
fbf6b4e5aa Merge pull request #29677 from frappe/mergify/bp/version-13-hotfix/pr-29460
feat: Refund entry against loans (backport #29460)
2022-02-07 19:17:32 +05:30
Deepesh Garg
427d8c865a Merge pull request #29678 from frappe/mergify/bp/version-13-pre-release/pr-29460
feat: Refund entry against loans (backport #29460)
2022-02-07 19:17:07 +05:30
Deepesh Garg
146cf89588 Merge pull request #29685 from frappe/mergify/bp/version-13-hotfix/pr-29660
fix: Add missing key in Loan (backport #29660)
2022-02-07 19:05:38 +05:30
Deepesh Garg
5ed44bdb88 Merge pull request #29686 from frappe/mergify/bp/version-13-pre-release/pr-29660
fix: Add missing key in Loan (backport #29660)
2022-02-07 19:05:06 +05:30
Deepesh Garg
eb36ebee8f fix: Resolve conflicts 2022-02-07 18:49:57 +05:30
Deepesh Garg
066ceb06cd fix: Resolve conflicts 2022-02-07 18:46:53 +05:30
Deepesh Garg
159e492053 test: Add test case for repayment against partially disbursed loans
(cherry picked from commit ef69d1fd38)
2022-02-07 13:16:19 +00:00
Abhinav Raut
6dbb3cdf75 fix: missing key in loan
(cherry picked from commit d0043bdbac)
2022-02-07 13:16:19 +00:00
Deepesh Garg
4196f04f49 test: Add test case for repayment against partially disbursed loans
(cherry picked from commit ef69d1fd38)
2022-02-07 13:15:42 +00:00
Abhinav Raut
9396143009 fix: missing key in loan
(cherry picked from commit d0043bdbac)
2022-02-07 13:15:41 +00:00
barredterra
ec55251f6a feat: option to disable tax category
(cherry picked from commit 663c594ead)
2022-02-07 12:11:14 +00:00
barredterra
501ce90796 feat: option to disable Item Tax Template
(cherry picked from commit f60e040d69)
2022-02-07 12:11:13 +00:00
Deepesh Garg
25012399fa fix: Add disbursement accounts to tests
(cherry picked from commit 8ece2845f2)
2022-02-07 09:09:20 +00:00
Deepesh Garg
4ab6994b3d feat: Refund entry against loans
(cherry picked from commit c68c70f8bc)

# Conflicts:
#	erpnext/loan_management/doctype/loan/loan.json
#	erpnext/patches.txt
2022-02-07 09:09:19 +00:00
Deepesh Garg
f4e2c1fad3 fix: Add disbursement accounts to tests
(cherry picked from commit 8ece2845f2)
2022-02-07 09:08:48 +00:00
Deepesh Garg
946e560c55 feat: Refund entry against loans
(cherry picked from commit c68c70f8bc)

# Conflicts:
#	erpnext/loan_management/doctype/loan/loan.json
#	erpnext/patches.txt
2022-02-07 09:08:48 +00:00
mergify[bot]
8cadc2668d fix(ux): make stock entry type the title field (#29674) (#29675)
(cherry picked from commit 5e6227e3d8)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-07 13:20:34 +05:30
Deepesh Garg
fd4e0f1d40 Merge pull request #29666 from frappe/mergify/bp/version-13-hotfix/pr-29659
fix: Billing status for zero amount ref doc (backport #29659)
2022-02-06 21:56:34 +05:30
Deepesh Garg
3c032146ad Merge pull request #29668 from frappe/mergify/bp/version-13-hotfix/pr-29601
fix: Incorrect provisional profit and loss in balance sheet (backport #29601)
2022-02-06 21:55:54 +05:30
Deepesh Garg
dcff8e74fc Merge pull request #29669 from frappe/mergify/bp/version-13-hotfix/pr-29609
fix: Zero rated exports in GSTR-3B report (backport #29609)
2022-02-06 21:55:15 +05:30
Deepesh Garg
00af714743 Merge pull request #29661 from frappe/mergify/bp/version-13-hotfix/pr-29641
fix: Ignore linked invoices on Journal Entry cancel (backport #29641)
2022-02-06 21:53:12 +05:30
Ankush Menat
3e79533112 fix: dont show cancelled PO items in plan report
(cherry picked from commit 6459ceaea1)
2022-02-06 20:07:31 +05:30
Ankush Menat
e618571fb3 fix: dont show cancelled PO items in plan report
(cherry picked from commit 6459ceaea1)
2022-02-06 20:07:22 +05:30
Deepesh Garg
aca788cbe0 fix: Zero rated exports in GSTR-3B report
(cherry picked from commit 233e6449fc)
2022-02-06 14:04:46 +00:00
Deepesh Garg
d10423ef1f fix: Incorrect provisional profit and loss in balance sheet
(cherry picked from commit ed2c6b6637)
2022-02-06 14:03:41 +00:00
Deepesh Garg
62b71f9edd fix: Add test case
(cherry picked from commit c5726fd3da)
2022-02-06 13:52:58 +00:00
Deepesh Garg
3b47a55932 fix: Billing status for zero amount ref doc
(cherry picked from commit d679692472)
2022-02-06 13:52:57 +00:00
Deepesh Garg
5acf773042 Merge pull request #29635 from deepeshgarg007/sales_invoice_tax_template
fix: Incorrect tax template in Sales Invoice via data import
2022-02-06 18:58:43 +05:30
Deepesh Garg
f5f1afde15 fix: Ignore linked invoices on Journal Entry cancel
(cherry picked from commit 6f7ae62907)
2022-02-06 13:27:34 +00:00
Ankush Menat
65d4670f45 test: regression test for LCV GL entries
(cherry picked from commit 69c65afd72)
2022-02-06 12:31:27 +05:30
Ankush Menat
689f8cb537 fix: ignore cancelled svd while updating GLE for PR
This happens because LCV cancels and reposts entries so unless filtered
by non-cancelled entries you can randomly get old values.

(cherry picked from commit 8858c703a8)
2022-02-06 12:31:27 +05:30
Marica
c99a14a7f3 Merge pull request #29646 from frappe/mergify/bp/version-13-pre-release/pr-29642
fix: Regenerate packed items on newly mapped doc (backport #29642)
2022-02-04 23:25:17 +05:30
Marica
5bf994a82a Merge pull request #29645 from frappe/mergify/bp/version-13-hotfix/pr-29642
fix: Regenerate packed items on newly mapped doc (backport #29642)
2022-02-04 23:24:15 +05:30
marination
db24fca8c1 fix: Regenerate packed items on newly mapped doc
- Cannot determine action on newly mapped DN that hasnt been inserted
- Rows could have been deleted, updated, added, etc. before first save
- In this case , reset packing table

(cherry picked from commit bd41a99c8a)
2022-02-04 17:33:17 +00:00
mergify[bot]
2628e2faff fix: enable Allow on Submit for 'Is Active' field in Salary Structure (backport #29630) (#29643)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-02-04 23:02:45 +05:30
marination
3342efc388 fix: Regenerate packed items on newly mapped doc
- Cannot determine action on newly mapped DN that hasnt been inserted
- Rows could have been deleted, updated, added, etc. before first save
- In this case , reset packing table

(cherry picked from commit bd41a99c8a)
2022-02-04 17:32:09 +00:00
Deepesh Garg
20f321a889 fix: Incorrect tax template in Sales Invocie via data import 2022-02-04 12:01:07 +05:30
Marica
e095e27cb9 Merge pull request #29629 from frappe/mergify/bp/version-13-pre-release/pr-29456
fix: Incorrect packing list for recurring items & code cleanup (backport #29456)
2022-02-04 10:17:46 +05:30
Marica
51f9f42fab Merge pull request #29628 from frappe/mergify/bp/version-13-hotfix/pr-29456
fix: Incorrect packing list for recurring items & code cleanup (backport #29456)
2022-02-04 10:17:25 +05:30
marination
bdfb478b3b fix: (Linter) import sequence
(cherry picked from commit f18ec2d947)
2022-02-03 16:41:20 +00:00
marination
2428812dcc test: Packed Items test file
(cherry picked from commit 4e7b4dc9a8)
2022-02-03 16:41:20 +00:00
marination
677a3975ba refactor: Price fetching and updation logic
- fetch price from price list, use item master valuation rate as fallback fo0r packed item
- use a item code, item row name map to maintain cumulative price
- reset table if item in a row is replaced
- loop over items table only to set price, lesser iterations than packed items table

(cherry picked from commit 2f4d266ee1)
2022-02-03 16:41:19 +00:00
marination
5d37c9c38d chore: Break updation logic into smaller functions
- Smaller functions for updation
- All calls visible from parent function to avoid context switching due to nested calls

(cherry picked from commit 2c14ab0439)
2022-02-03 16:41:19 +00:00
marination
b836d4fe25 fix: Linter and minor code refactor
- Create an indexed map of stale packed items table to avoid loops to check if packed item row exists
- Reset packed items if row deletion takes place
- Renamed functions to self-explain them
- Split long function
- Reduce function calls inside function (makes it harder to follow through)

(cherry picked from commit 4c677eafe9)
2022-02-03 16:41:18 +00:00
marination
153fd355bc chore: SQL to QB & accomodate Update Items
- `doc_before_save` does not exist via Update Items (updates stuff in the backend so doc isn't considered unsaved/dirty)
- converted more raw sql to qb and ORM

(cherry picked from commit f8a5786542)
2022-02-03 16:41:18 +00:00
marination
350cac9207 fix: Incorrect packing list for recurring items & code cleanup
- Fix Incorrect packing list for recurring items in the Items table
- Re-organised functions based on external use and order of use
- Deleted `clean_packing_list` function and reduced no.of loops
- Raw SQL to QB
- Minor formatting changes

(cherry picked from commit 3f48fc1898)
2022-02-03 16:41:17 +00:00
marination
3fea24f9db fix: (Linter) import sequence
(cherry picked from commit f18ec2d947)
2022-02-03 16:40:46 +00:00
marination
f33a1e858f test: Packed Items test file
(cherry picked from commit 4e7b4dc9a8)
2022-02-03 16:40:45 +00:00
marination
fc35a74f76 refactor: Price fetching and updation logic
- fetch price from price list, use item master valuation rate as fallback fo0r packed item
- use a item code, item row name map to maintain cumulative price
- reset table if item in a row is replaced
- loop over items table only to set price, lesser iterations than packed items table

(cherry picked from commit 2f4d266ee1)
2022-02-03 16:40:45 +00:00
marination
cc22cbe50b chore: Break updation logic into smaller functions
- Smaller functions for updation
- All calls visible from parent function to avoid context switching due to nested calls

(cherry picked from commit 2c14ab0439)
2022-02-03 16:40:45 +00:00
marination
6e7f1a300c fix: Linter and minor code refactor
- Create an indexed map of stale packed items table to avoid loops to check if packed item row exists
- Reset packed items if row deletion takes place
- Renamed functions to self-explain them
- Split long function
- Reduce function calls inside function (makes it harder to follow through)

(cherry picked from commit 4c677eafe9)
2022-02-03 16:40:44 +00:00
marination
c59c5bf2c6 chore: SQL to QB & accomodate Update Items
- `doc_before_save` does not exist via Update Items (updates stuff in the backend so doc isn't considered unsaved/dirty)
- converted more raw sql to qb and ORM

(cherry picked from commit f8a5786542)
2022-02-03 16:40:44 +00:00
marination
596a3a65c2 fix: Incorrect packing list for recurring items & code cleanup
- Fix Incorrect packing list for recurring items in the Items table
- Re-organised functions based on external use and order of use
- Deleted `clean_packing_list` function and reduced no.of loops
- Raw SQL to QB
- Minor formatting changes

(cherry picked from commit 3f48fc1898)
2022-02-03 16:40:44 +00:00
mergify[bot]
b93d8f8716 feat: show stock value difference in stock ledger report (#29607) (#29621)
(cherry picked from commit 04f6426dbf)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-03 17:17:33 +05:30
Ankush Menat
862a90bb15 Merge pull request #29603 from s-aga-r/fix/production-plan/ordered_qty
fix: Multiple WO for a single Production Plan Item
2022-02-03 15:26:02 +05:30
Ankush Menat
22ff462abb fix: add default if qty is not found 2022-02-03 15:25:34 +05:30
mergify[bot]
c054d1f7ee fix: ignore empty customer/supplier in item query (#29610) (#29614)
* fix: dont try to filter by customer/supplier if None

* test: item query with emtpy supplier

(cherry picked from commit 41a95e5624)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-03 14:44:33 +05:30
mergify[bot]
754a3d65f0 fix: ignore empty customer/supplier in item query (#29610) (#29613)
* fix: dont try to filter by customer/supplier if None

* test: item query with emtpy supplier

(cherry picked from commit 41a95e5624)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-03 13:22:15 +05:30
Sagar Sharma
35ee119c99 Merge branch 'version-13-hotfix' into fix/production-plan/ordered_qty 2022-02-03 11:08:35 +05:30
Sagar Sharma
36609c50c0 test: add test case for multiple WO 2022-02-02 23:04:19 +05:30
Saqib Ansari
03248ea483 Merge pull request #29598 from frappe/mergify/bp/version-13-hotfix/pr-29597
fix(pos): pricing rule on transactions doesn't work (backport #29597)
2022-02-02 21:45:49 +05:30
Saqib Ansari
6dd5ed68b4 Merge pull request #29446 from frappe/mergify/bp/version-13-hotfix/pr-29426
fix: Use get for conditionally available fields while setting missing values (backport #29426)
2022-02-02 21:45:11 +05:30
Saqib Ansari
34f223a144 Merge pull request #29565 from frappe/mergify/bp/version-13-hotfix/pr-29556
feat: Allowing non stock items in POS (backport #29556)
2022-02-02 21:44:02 +05:30
Saqib Ansari
e2f5ddb20a fix(pos): pricing rule on transactions doesn't work
(cherry picked from commit e082e3f702)
2022-02-02 14:18:46 +00:00
mergify[bot]
0608f61b80 fix: Program Enrollment tests (backport #29592) (#29594)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-02-02 17:51:46 +05:30
Sagar Sharma
4e58c1da3a fix: ordered_qty for production-plan-item 2022-02-02 14:56:11 +05:30
Deepesh Garg
68b337316a Merge pull request #29573 from frappe/mergify/bp/version-13-pre-release/pr-29561
feat: Provisional accounting for expenses (backport #29451) (backport #29561)
2022-02-01 20:39:09 +05:30
mergify[bot]
535e6d61f0 fix: employee reminders fixes (backport #29548) (#29576)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-02-01 20:22:49 +05:30
Deepesh Garg
1ab3714fd0 chore: Resolve conflicts 2022-02-01 19:41:00 +05:30
Deepesh Garg
dbb3ea3a6e chore: fix tests
(cherry picked from commit 640b2d57de)
2022-02-01 12:42:09 +00:00
Deepesh Garg
abfccde664 fix: Linting Issues
(cherry picked from commit c71dbda166)
2022-02-01 12:42:09 +00:00
Deepesh Garg
293ec00023 chore: Resolve conflicts
(cherry picked from commit aa16a4bb5f)

# Conflicts:
#	erpnext/patches.txt
2022-02-01 12:42:09 +00:00
Deepesh Garg
061a569f4d feat: Provisional accounting for expenses (#29451)
* feat: Provisonal accounting for expenses

* fix: Method for provisional accounting entry

* chore: Add test case

* fix: Remove test case

* fix: Use company doctype

* fix: Add provisional expense account field in Purchase Receipt Item

* fix: Test case

* fix: Move provisional expense account to parent

* fix: Patch

(cherry picked from commit 528c71382f)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
#	erpnext/patches.txt
#	erpnext/setup/doctype/company/company.json
#	erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
(cherry picked from commit a54c84728f)

# Conflicts:
#	erpnext/patches.txt
2022-02-01 12:42:08 +00:00
Deepesh Garg
b9b42c11e6 Merge pull request #29561 from frappe/mergify/bp/version-13-hotfix/pr-29451
feat: Provisional accounting for expenses (backport #29451)
2022-02-01 18:11:37 +05:30
mergify[bot]
ffbf7ec3b7 fix: don't show "create" on cancelled BOMs (#29570) (#29572)
(cherry picked from commit a3a05c0c23)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-02-01 17:44:13 +05:30
Deepesh Garg
640b2d57de chore: fix tests 2022-02-01 17:25:26 +05:30
Saqib Ansari
c0a2388ab2 fix: Validation for invalid serial nos at POS invoice level (backport #29447) 2022-02-01 16:39:22 +05:30
Saqib Ansari
4778f16c56 fix: flaky test
(cherry picked from commit bf70feb7c9)
2022-02-01 11:07:33 +00:00
Saqib Ansari
33e8cd9cde chore: remove unused import
(cherry picked from commit 4e4159ec06)
2022-02-01 11:07:33 +00:00
Saqib Ansari
04acbea93d chore: remove useless rollback
(cherry picked from commit 2aca54eb38)
2022-02-01 11:07:32 +00:00
Saqib Ansari
c8f2a7fc69 test: point of sale search
(cherry picked from commit 650d44a714)
2022-02-01 11:07:32 +00:00
Subin Tom
7815ffb842 fix: remove qty indicator from non stock items
(cherry picked from commit 845c02a989)
2022-02-01 11:07:31 +00:00
Subin Tom
c57d184576 fix: sider fix
(cherry picked from commit 27b35d72e2)
2022-02-01 11:07:30 +00:00
Subin Tom
8ed2a7bc2c fix: removing get_value call by returning is_stock_item in get_stock_availability method
(cherry picked from commit ac9a9fb229)
2022-02-01 11:07:30 +00:00
Subin Tom
15c6b93ee3 fix: Removed validate_non_stock_items, filter_service_items methods
(cherry picked from commit 9e20fa85c1)
2022-02-01 11:07:29 +00:00
Subin Tom
0aff20e85c fix: sider issues
(cherry picked from commit 6b973d658c)
2022-02-01 11:07:28 +00:00
Subin Tom
75faa151fd fix: Allowing non stock items in POS
(cherry picked from commit ec37930404)
2022-02-01 11:07:28 +00:00
mergify[bot]
e2bdd5efdb fix: leave application tests (backport #29539) (#29563)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-02-01 16:18:16 +05:30
Deepesh Garg
c71dbda166 fix: Linting Issues 2022-02-01 15:08:45 +05:30
Deepesh Garg
aa16a4bb5f chore: Resolve conflicts 2022-02-01 15:02:23 +05:30
Deepesh Garg
a54c84728f feat: Provisional accounting for expenses (#29451)
* feat: Provisonal accounting for expenses

* fix: Method for provisional accounting entry

* chore: Add test case

* fix: Remove test case

* fix: Use company doctype

* fix: Add provisional expense account field in Purchase Receipt Item

* fix: Test case

* fix: Move provisional expense account to parent

* fix: Patch

(cherry picked from commit 528c71382f)

# Conflicts:
#	erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
#	erpnext/patches.txt
#	erpnext/setup/doctype/company/company.json
#	erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
2022-02-01 09:13:47 +00:00
mergify[bot]
2b83dabae1 fix: do not hide Loan Repayment Entry field in salary slip (backport #29535) (#29551)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-02-01 12:52:30 +05:30
Krithi Ramani
f5bb778d37 bypass selling price validation for free item
(cherry picked from commit 8c536ffb20)
2022-02-01 06:55:41 +00:00
Saqib Ansari
7731a2984c Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29447 2022-02-01 11:12:13 +05:30
Deepesh Garg
038f949550 Merge pull request #29290 from s-aga-r/fix/delivery-note/billed-amount
fix: billed amount in delivery note items
2022-02-01 11:08:49 +05:30
rohitwaghchaure
8c0613a600 Merge pull request #29542 from rohitwaghchaure/merge-branch-hotfix-to-pre-release-for-13-20
chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release'
2022-01-31 20:16:11 +05:30
Rohit Waghchaure
862961d92e chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release' 2022-01-31 19:38:44 +05:30
Saqib Ansari
96efdf124e Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29447 2022-01-31 19:34:54 +05:30
Saqib Ansari
c7b4918434 Merge pull request #29388 from frappe/mergify/bp/version-13-hotfix/pr-29373
fix: cost center validation of asset (backport #29373)
2022-01-31 19:34:27 +05:30
Sagar Sharma
c4155016d4 Merge branch 'version-13-hotfix' into fix/delivery-note/billed-amount 2022-01-31 19:13:21 +05:30
Sagar Sharma
fedeb2a70f chore: remove patch 2022-01-31 19:07:07 +05:30
mergify[bot]
5ac11a4ba5 refactor!: dynamically compute bom_level (backport #29522) (#29540)
* refactor!: dynamically compute bom_level

(cherry picked from commit 157b4b33fe)

# Conflicts:
#	erpnext/manufacturing/doctype/bom/bom.py
#	erpnext/patches.txt

* fix(ux): sort multi-production item plans correctly

(cherry picked from commit d38fd8635c)

* fix: conflicts

* fix: removed set_bom_level

* fix: conflict

Co-authored-by: Ankush Menat <ankush@frappe.io>
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2022-01-31 17:11:43 +05:30
Ankush Menat
2bc42759d2 Merge pull request #29534 from frappe/mergify/bp/version-13-hotfix/pr-29519
fix: bin uniqueness (backport #29519)
2022-01-31 15:56:12 +05:30
mergify[bot]
9425ca07f5 chore: revert manual handling of stock level section (#29537) (#29538)
(cherry picked from commit a254201696)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-31 15:43:08 +05:30
Ankush Menat
2b868e7f56 fix: update reserved qty for production/ s/c
(cherry picked from commit 0a15334464)
2022-01-31 09:00:20 +00:00
Ankush Menat
f99f537b57 refactor: patch for fixing broken bins
fix(patch): delete fully broken bins

if bin doesn't have item_code or warehouse then it's not recoverable.

(cherry picked from commit c2ecc7a2d1)
2022-01-31 09:00:19 +00:00
Sagar Sharma
a7b30d9197 fix(patch): patch duplicate bins
(cherry picked from commit 7ff3ca25e5)
2022-01-31 09:00:18 +00:00
Ankush Menat
b3f36efa8f fix: ignore None item/wh whie updating reservation
(cherry picked from commit a1e7771cdd)
2022-01-31 09:00:17 +00:00
Ankush Menat
8aa6423093 fix: add unique constraint on bin at db level
(cherry picked from commit 08810dbcce)
2022-01-31 09:00:16 +00:00
Subin Tom
86a560eeb0 fix: Validation for invalid serial nos at POS invoice level (#29447)
(cherry picked from commit 05bbb69d0e)
2022-01-31 07:39:10 +00:00
Saqib Ansari
144c8ec904 Merge pull request #29528 from frappe/mergify/bp/version-13-hotfix/pr-29454
fix(sales order): incorrect no. of items fetched while creating dn (backport #29454)
2022-01-31 12:16:30 +05:30
Saqib Ansari
bed7201efe fix: merge conflicts 2022-01-31 11:40:59 +05:30
Saqib Ansari
e6f2343fb4 chore: add comment
(cherry picked from commit 0b9a850a17)
2022-01-31 06:09:26 +00:00
Saqib Ansari
9da63f2e79 fix(sales order): incorrect no. of items fetched while creating dn
(cherry picked from commit a73ad6759d)

# Conflicts:
#	erpnext/selling/doctype/sales_order/sales_order.js
2022-01-31 06:09:26 +00:00
Saqib Ansari
f31e52123a fix: qty filter not working if apply_multiple_pricing_rules is enabled 2022-01-31 11:37:33 +05:30
Deepesh Garg
2c83f18864 Merge pull request #29518 from frappe/mergify/bp/version-13-hotfix/pr-29499
fix(India): Tax calculation for overseas suppliers (backport #29499)
2022-01-31 11:06:51 +05:30
mergify[bot]
0fb4e81a30 fix: cost of poor quality report time filters not working (#28958) (#29521)
* fix: cost of poor quality report time filters not working

* chore:update cost of poor quality report to use query builder

* fix: linter warnings

* chore: updated report query

* chore: added test filters

* fix : cleared linter warnings

* chore: formatting

* refactor: query generation

- optionally apply date filters
- join instead of expensive sub-query
- return as dictionary

* test: simplify test

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

Co-authored-by: aaronmenezes <ron2805@gmail.com>
2022-01-30 20:49:41 +05:30
Deepesh Garg
ab0e63fe13 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29426 2022-01-30 17:30:10 +05:30
Deepesh Garg
dc82becbd2 fix(India) Tax calculation for overseas suppliers
(cherry picked from commit e45c38337c)
2022-01-30 07:44:43 +00:00
Ankush Menat
70dc77305b fix: work order serial no allows storing whitespace
(cherry picked from commit 43bd88e741)
2022-01-29 14:27:09 +05:30
Ankush Menat
db3eef9a8b fix: extend sr_no cleanup to packed items too
(cherry picked from commit e177c5277f)
2022-01-29 14:27:09 +05:30
Ankush Menat
cc08125f39 refactor: reusable clean_serial_nos
(cherry picked from commit b20df3745e)
2022-01-29 14:27:09 +05:30
Ankush Menat
997ddbea78 fix: ignore alternate item while checking pending qty
(cherry picked from commit 14e3e163ae)
2022-01-29 14:02:10 +05:30
Deepesh Garg
ebe9599dda Merge pull request #29428 from deepeshgarg007/shipping_rule_apply
fix: Add shipping charges to taxes only if applicable
2022-01-29 12:56:49 +05:30
Saqib Ansari
8535ad5294 chore: undo unnecessary changes
(cherry picked from commit 3da2cac772)
2022-01-29 07:14:23 +00:00
Saqib Ansari
eeb2402764 chore: rename redefinition of multiple pricing rule test
(cherry picked from commit 5a7a9a598b)
2022-01-29 07:14:22 +00:00
Saqib Ansari
e7e0359e3e test: add test_multiple_pricing_rules
(cherry picked from commit c0d1f4869f)
2022-01-29 07:14:22 +00:00
Saqib Ansari
c24724ac7a fix: qty filter not working if apply_multiple_pricing_rules is enabled
(cherry picked from commit 1e17d6a607)
2022-01-29 07:14:22 +00:00
Deepesh Garg
5f9fdba49e Merge branch 'version-13-hotfix' into shipping_rule_apply 2022-01-29 12:41:14 +05:30
Sagar Sharma
acd39ff6ae Merge branch 'version-13-hotfix' into fix/delivery-note/billed-amount 2022-01-28 15:38:26 +05:30
Ankush Menat
5dd443eeb0 test: delete data after running test
[skip ci]
2022-01-28 13:52:20 +05:30
Ankush Menat
de01f0f364 fix(patch): update BOMs to have correct transfer_material_against
(cherry picked from commit e4c220053f)
2022-01-28 13:52:20 +05:30
Ankush Menat
4e14d28564 fix: ensure correct-ish transfer against
(cherry picked from commit 86efa0dbfd)
2022-01-28 13:52:20 +05:30
Ankush Menat
03bd68654b chore: disable annoying flake8 formatting for QB (#29488)
[skip ci]

(cherry picked from commit 251576a6bb)
2022-01-28 13:50:02 +05:30
mergify[bot]
67689e7374 fix: stock ledger rendering glitch (#29482)
undefined Issue

(cherry picked from commit f380042195)

Co-authored-by: smehata <53169014+smehata@users.noreply.github.com>
(cherry picked from commit 0dafa8a12a)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-27 20:24:51 +05:30
Suraj Shetty
4e4855fed7 Merge pull request #29473 from frappe/mergify/bp/version-13-hotfix/pr-29471 2022-01-27 11:27:29 +05:30
Suraj Shetty
352c585ef5 fix: Further sort sales_order_analysis to get consistent response
Since the data was sorted by `transaction_date`, report sorting order used to be inconsistent everytime if there were lots of records with same transaction date. This used to create problems while exporting report as "Excel" with filters.

(cherry picked from commit 29c7947db0)
2022-01-27 05:46:44 +00:00
Akash Krishna
d2b61bbe8a fix(healthcare): populate current practitioner in appointment availability popup (#29405)
* fix: Remove two-way patient fetch from inpatient_record (Lab Test, Vital Signs, Sample Collection)

* fix: Patient Appointment - practitioner field gettng cleared on Check Availability dialog, added Practitioner name in the dialog

* fix: Patient Appointment - set practitioner in check availability dialog load

Co-authored-by: Chillar Anand <chillar@avilpage.com>
2022-01-26 14:13:40 +05:30
mergify[bot]
58fd7044b5 fix: remove all stock UOM conversion when changing stock UOM (#29463)
(cherry picked from commit eb8d08b411)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-26 12:28:26 +05:30
Rucha Mahabal
177a209f50 fix(Employee): set user image and validate user id only if user data is found (#29452) 2022-01-25 16:49:53 +05:30
marination
c6273b32ee fix: Use get for conditionally available fields while setting missing values
- Due to custom field "supplier" and missing field "supplier_address", dot operator breaks
- Make sure to use "get" instead of just dot operator if field is in some doctypes, not all

(cherry picked from commit 78b6b29a57)
2022-01-25 07:22:45 +00:00
Saurabh
034773a670 fix: broken patches (#29067)
* chore: patch fixes

* fix: remove desktop icons while deleting sales reports

* refactor: dont ignore dangerous exceptions in patches

* fix: make patch kinda idempotent

with previous query rerunning would've caused all values to become 0.

* fix: check type before patching

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-25 11:12:25 +05:30
mergify[bot]
63ccddfcc9 fix: fetch "transfer material against" from BOM (#29435) (#29436)
(cherry picked from commit b8fbfed096)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-24 22:10:28 +05:30
Deepesh Garg
ecba064161 Merge pull request #29404 from deepeshgarg007/doc_currency_override
fix: Previous document currency getting overridden
2022-01-24 20:49:09 +05:30
mergify[bot]
895dd68691 fix: honour 'include holidays' setting while marking attendance for leave application (backport #29425) (#29432)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-01-24 19:21:58 +05:30
mergify[bot]
d361e23a59 test: clear singles cache for changed settings (#29430) (#29431)
(cherry picked from commit 3d3f0139fd)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-24 18:46:20 +05:30
Deepesh Garg
e8bc4f12a7 fix:Add shipping charges to taxes only if applicable 2022-01-24 16:16:27 +05:30
rohitwaghchaure
aba8788ea2 Merge pull request #29422 from frappe/mergify/bp/version-13-hotfix/pr-29419
fix: incorrect raw materials quantity in manufacture stock entry (backport #29419)
2022-01-24 15:32:38 +05:30
rohitwaghchaure
3dfe7faf70 fix: issue of CI 2022-01-24 13:11:13 +05:30
Deepesh Garg
f7593f599e Merge pull request #29424 from frappe/mergify/bp/version-13-hotfix/pr-29360
test: unit test for deferred item with zero months (backport #29360)
2022-01-24 13:01:49 +05:30
Deepesh Garg
51518cf978 Merge pull request #29423 from frappe/mergify/bp/version-13-hotfix/pr-29407
fix: opening invoice creation tool can fetch multiple accounting dimension (backport #29407)
2022-01-24 13:01:11 +05:30
Deepesh Garg
f6ee0c70e2 Merge branch 'version-13-hotfix' into doc_currency_override 2022-01-24 12:48:53 +05:30
ruthra
abd8291012 test: unit test for deferred items with zero months
(cherry picked from commit 1e0450ed17)
2022-01-24 07:12:37 +00:00
ruthra
37bbdc6743 refactor: a more generalized way to clear old entries for test cases
(cherry picked from commit ed0f9cc063)
2022-01-24 07:12:36 +00:00
ruthra
24011bc6a4 refactor: fix failing test cases
(cherry picked from commit f122a47d0d)
2022-01-24 07:07:04 +00:00
ruthra
1273221477 fix: linter issue
(cherry picked from commit 80ea163953)
2022-01-24 07:07:04 +00:00
ruthra
b96fa03228 test: validating custom accouting dimension in opening invoice tool
- create new dimension 'department'
 - assign and validate department in opening invoices

(cherry picked from commit 88463dc494)
2022-01-24 07:07:03 +00:00
ruthra
bbd777a9cb fix: opening invoice creation tool not taking in accouting dimension
(cherry picked from commit e2267cdba8)
2022-01-24 07:07:03 +00:00
rohitwaghchaure
384c6234d5 fix: conflicts 2022-01-24 12:16:19 +05:30
Rohit Waghchaure
540690252f fix: incorrect raw materials quantity in manufacture stock entry
(cherry picked from commit f8d232ac26)

# Conflicts:
#	erpnext/manufacturing/doctype/work_order/test_work_order.py
2022-01-24 06:44:46 +00:00
rohitwaghchaure
43a21f2836 Merge pull request #29337 from anupamvs/crm-contact-duplication-v13
fix: contact duplication on converting lead to customer
2022-01-24 10:16:23 +05:30
Saqib Ansari
ddf5ffc47e Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29373 2022-01-23 18:17:56 +05:30
mergify[bot]
2fbaba40b5 fix: bypass_credit_limit_check in credit balance report (#29401) 2022-01-23 18:17:30 +05:30
Britlog
096e7b9ec5 fix: Don't delete barcode while saving Item (#29411) 2022-01-23 16:56:09 +05:30
Rohit Waghchaure
5c8fc3890f Merge branch 'version-13-pre-release' into version-13 2022-01-23 14:57:36 +05:30
Rohit Waghchaure
f44d90e097 bumped to version 13.19.0 2022-01-23 15:17:36 +05:50
rohitwaghchaure
4305d58273 Merge pull request #29415 from rohitwaghchaure/change-log-for-v13-19
chore: change log for v13.19.0
2022-01-23 14:55:32 +05:30
Rohit Waghchaure
194b7fbf2f chore: change log for v13.19.0 2022-01-23 14:50:49 +05:30
Marica
f9de807b25 Merge pull request #29400 from marination/minor-quotation-doc-wrong-var-pre-release
fix: Wrong variable name breaks Cart Items rendering
2022-01-21 19:45:49 +05:30
marination
5ed4b43b73 debug: CI 2022-01-21 19:21:38 +05:30
Marica
315d542c2a Merge pull request #29398 from marination/minor-quotation-doc-wrong-var
fix: Wrong variable name breaks Cart Items rendering
2022-01-21 19:20:29 +05:30
marination
bfbcde7595 debug: CI 2022-01-21 19:02:47 +05:30
Deepesh Garg
ef782fd35b fix: Previous document currency getting overriden 2022-01-21 18:00:35 +05:30
Ankush Menat
1538076ae4 fix(patch): skip patch if column doesn't exist 2022-01-21 16:11:32 +05:30
Ankush Menat
f60ea20145 test: create and cancel sr no with stock reco
(cherry picked from commit 4fa93e246e)
2022-01-21 16:11:32 +05:30
Ankush Menat
91887f215d fix(patch): update stock reconciliation current serial nos
When current serial nos are non-existing there shouldn't be any value in
current_serial_no field.

(cherry picked from commit 203f0086f8)
2022-01-21 16:11:32 +05:30
Ankush Menat
0e413ef54e fix: bad default for non-existing serial nos
serial_no field should have empty string if it doesn't have any serial
nos

(cherry picked from commit 33c4a0b5a9)
2022-01-21 16:11:32 +05:30
Ankush Menat
f336b5d586 perf: single query to update serial nos
(cherry picked from commit ea5efd0791)
2022-01-21 16:11:32 +05:30
marination
b27fe43920 fix: Wrong variable name breaks Cart Items rendering 2022-01-21 16:04:48 +05:30
marination
2be15bd8e0 fix: Wrong variable name breaks Cart Items rendering 2022-01-21 15:58:29 +05:30
Marica
398fa6eb48 Merge pull request #29396 from frappe/mergify/bp/version-13-pre-release/pr-29383
fix: Cart & Popup Logic of Item variant without Website Item (backport #29383)
2022-01-21 15:35:16 +05:30
mergify[bot]
d9f783f38e fix: update status on visit cancel (#29389) (#29394)
* fix: update status on cancelling visit

* test: updated test for cancelling visits

(cherry picked from commit 11c9a5a79f)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2022-01-21 15:22:56 +05:30
mergify[bot]
0da75d745e fix: update status on visit cancel (#29389) (#29395)
* fix: update status on cancelling visit

* test: updated test for cancelling visits

(cherry picked from commit 11c9a5a79f)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2022-01-21 15:18:15 +05:30
marination
522031fd73 fix: (test) set user for price test
(cherry picked from commit 2185016f71)
2022-01-21 09:46:15 +00:00
marination
927efffcb7 fix: Sider and Linter
(cherry picked from commit 33b5e1d7e6)
2022-01-21 09:46:15 +00:00
marination
454ae7e0ed tests: Variant without web item price fetch and add to cart
- Also, optionally get image from template web item for cart if variant has no image

(cherry picked from commit c1dd3d7d9e)
2022-01-21 09:46:14 +00:00
marination
c81cf33dce fix: Cart Logic of Item variant without Website Item
(cherry picked from commit 7d130af12b)
2022-01-21 09:46:14 +00:00
Saqib Ansari
6aaa187a49 Merge pull request #29392 from frappe/mergify/bp/version-13-hotfix/pr-29385
fix: first depreciation amount in asset (backport #29385)
2022-01-21 15:15:55 +05:30
Marica
f2d8d7ab96 Merge pull request #29383 from marination/item-variant-web-logic-fix
fix: Cart & Popup Logic of Item variant without Website Item
2022-01-21 15:15:33 +05:30
mergify[bot]
fde6f13b4b fix: cannot cancel jv after migrating from v12 (#29391) 2022-01-21 15:15:11 +05:30
marination
2185016f71 fix: (test) set user for price test 2022-01-21 14:55:43 +05:30
marination
33b5e1d7e6 fix: Sider and Linter 2022-01-21 14:49:10 +05:30
Saqib Ansari
4fec250cbf fix: merge conflicts 2022-01-21 14:33:59 +05:30
marination
c1dd3d7d9e tests: Variant without web item price fetch and add to cart
- Also, optionally get image from template web item for cart if variant has no image
2022-01-21 14:33:30 +05:30
Saqib Ansari
8e2b96e814 fix: failing test cases
(cherry picked from commit ae580d116c)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2022-01-21 08:56:40 +00:00
Saqib Ansari
398fab4786 fix: depreciation amount on selling an asset
(cherry picked from commit 0bbde4819b)
2022-01-21 08:56:40 +00:00
Saqib Ansari
844b73efcd fix: first depreciation amount in asset
(cherry picked from commit 60bfead773)
2022-01-21 08:56:39 +00:00
mergify[bot]
9869b31b31 fix(Timesheets): calculate to time (backport #28589) (#29390)
Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
Co-authored-by: Himanshu <himanshuwarekar@yahoo.com>
2022-01-21 13:51:49 +05:30
Saqib Ansari
04e3fb85e5 Merge pull request #28851 from frappe/mergify/bp/version-13-hotfix/pr-28507
fix: Clear Depreciation Schedule before modification (backport #28507)
2022-01-21 12:34:05 +05:30
Saqib Ansari
e623716391 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29373 2022-01-21 12:28:35 +05:30
Marica
1f099bcdfb Merge pull request #29077 from dj12djdjs/fix-ecommerce-cart-badge
fix(e-commerce)(UX): shopping cart qty badge
2022-01-21 12:28:28 +05:30
Saqib Ansari
b66f86b044 fix: merge conflict 2022-01-21 12:28:02 +05:30
Saqib Ansari
afda48a12b fix: cost center validation of asset
(cherry picked from commit 4390adcaa1)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2022-01-21 06:52:31 +00:00
mergify[bot]
ceba7f2fe4 fix: updated packed_items getting fetched on Sales Return / Credit Note (#28607) (#29387)
* fix: updated packed_items getting fetched on sales return

* fix: updated test cases for product bundle returns

* fix: moved calculate_mapped_packed_items_return to stock.utils

* fix: updated packed_items getting fetched on Return/Credit Note

* refactor: change var name to avoid `self`

* fix: check item code before assigning parent item

(cherry picked from commit 20216fa9f1)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-21 12:11:58 +05:30
Chillar Anand
696fc0a482 refactor: Added deprecation warning for hospitality domain (#29384) 2022-01-21 11:36:40 +05:30
marination
7d130af12b fix: Cart Logic of Item variant without Website Item 2022-01-20 19:34:36 +05:30
Anupam Kumar
29241070c1 Merge branch 'version-13-hotfix' into crm-contact-duplication-v13 2022-01-20 17:30:21 +05:30
Ankush Menat
d32f229483 ci: fail on merge conflict label 2022-01-20 15:39:32 +05:30
Ankush Menat
8a9a13cb96 ci: concurrency control on v13 branches 2022-01-20 15:39:32 +05:30
Ankush Menat
d190ea4ad3 ci: disable coverage on v13 branch 2022-01-20 15:39:32 +05:30
Marica
eb44b16e31 Merge pull request #29378 from frappe/mergify/bp/version-13-hotfix/pr-29375
fix: (enhance) BOM Operations Report (backport #29375)
2022-01-20 15:34:20 +05:30
mergify[bot]
b9a42807f8 fix: show stock UOM for material transfers (#29376) (#29377)
(cherry picked from commit 7e407bcc42)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-20 15:06:11 +05:30
marination
655d8980dc fix: Allow only BOM with ops in BOM ID filter & add total row to report
(cherry picked from commit af734298c8)
2022-01-20 09:25:05 +00:00
marination
e963d0e8e0 fix: Sider (unused imports) and Linter(add extra empty line)
(cherry picked from commit 3c7b772112)
2022-01-20 09:25:05 +00:00
marination
77cb7ebd40 fix: (enhance) BOM Operations Report
- Added filters in the Report for BOM ID, Item Code and Workstation
- Converted Raw SQL to frappe.qb and added method to get filtered data
- Changed fieldtype of 'Time in mins' from Int to Float
- Get BOM wise grouped data to  keep order and accurate grouping in report

(cherry picked from commit a9ff1fc52e)
2022-01-20 09:25:04 +00:00
Deepesh Garg
84803f8f21 Merge pull request #29370 from frappe/mergify/bp/version-13-pre-release/pr-29366
fix: Cleanup empty rows on bank statement import (backport #29366)
2022-01-20 12:14:51 +05:30
Deepesh Garg
6a53cfea00 fix: Cleanup empty rows on bank statement import
(cherry picked from commit 25398d017b)
2022-01-20 05:56:08 +00:00
Deepesh Garg
829ea71ae1 Merge pull request #29366 from deepeshgarg007/bank_statement_import_template
fix: Cleanup empty rows on bank statement import
2022-01-20 11:24:48 +05:30
Deepesh Garg
25398d017b fix: Cleanup empty rows on bank statement import 2022-01-20 10:51:59 +05:30
mergify[bot]
f75d36dcb4 fix: from time and to time not updated in drag and drop action #29114 (#29361)
fix: from time and to time not updated in drag and drop action
(cherry picked from commit 8b5827ed6d)

Co-authored-by: Mohammed Yusuf Shaikh <49878143+mohammedyusufshaikh@users.noreply.github.com>
2022-01-19 19:30:21 +05:30
Marica
56dd25355d Merge pull request #29357 from frappe/mergify/bp/version-13-pre-release/pr-29352
refactor: update_serial_no function for old Maintenance Visits (backport #28843) (backport #29352)
2022-01-19 16:40:44 +05:30
marination
fa7f5d745e fix: Patch (reload doc)
(cherry picked from commit 93d665b38a)
2022-01-19 09:19:06 +00:00
marination
dd81d622dd fix: Conflicts
(cherry picked from commit 3023757a60)
2022-01-19 09:19:06 +00:00
Noah Jacob
4086f4f8d1 fix: Serial No. filters for unscheduled visits
(cherry picked from commit dec7513773)
(cherry picked from commit add36363ab)
2022-01-19 09:19:05 +00:00
Noah Jacob
311b2dd1a9 refactor: moved purpose table mandatory check to server
(cherry picked from commit b98c61f2a7)

# Conflicts:
#	erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
(cherry picked from commit 93325c72f0)
2022-01-19 09:19:05 +00:00
Noah Jacob
0783b36ba0 fix(test): fixed test case not creating serials
(cherry picked from commit 90d32006f4)
(cherry picked from commit 0bb0a9d032)
2022-01-19 09:19:04 +00:00
Noah Jacob
f491cc92cd test: added test for serial no. filters
(cherry picked from commit 9109660a69)
(cherry picked from commit f541b5c780)
2022-01-19 09:19:04 +00:00
Noah Jacob
824eef9354 fix(patch): updates maintenance schedule field for old docs
(cherry picked from commit c872aa43f8)

# Conflicts:
#	erpnext/patches.txt
(cherry picked from commit dc0d974144)
2022-01-19 09:19:04 +00:00
Noah Jacob
216f45ce11 refactor: update_serial_no function and code cleanup
(cherry picked from commit 4f52b86d7e)

# Conflicts:
#	erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
(cherry picked from commit 8775154fa0)
2022-01-19 09:19:03 +00:00
Marica
6c45223606 Merge pull request #29352 from frappe/mergify/bp/version-13-hotfix/pr-28843
refactor: update_serial_no function for old Maintenance Visits (backport #28843)
2022-01-19 14:48:24 +05:30
marination
93d665b38a fix: Patch (reload doc) 2022-01-19 13:53:18 +05:30
Anupam
44d2098530 fix: changed function name 2022-01-19 13:10:23 +05:30
marination
3023757a60 fix: Conflicts 2022-01-19 13:06:52 +05:30
Noah Jacob
add36363ab fix: Serial No. filters for unscheduled visits
(cherry picked from commit dec7513773)
2022-01-19 07:19:51 +00:00
Noah Jacob
93325c72f0 refactor: moved purpose table mandatory check to server
(cherry picked from commit b98c61f2a7)

# Conflicts:
#	erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
2022-01-19 07:19:50 +00:00
Noah Jacob
0bb0a9d032 fix(test): fixed test case not creating serials
(cherry picked from commit 90d32006f4)
2022-01-19 07:19:49 +00:00
Noah Jacob
f541b5c780 test: added test for serial no. filters
(cherry picked from commit 9109660a69)
2022-01-19 07:19:49 +00:00
Noah Jacob
dc0d974144 fix(patch): updates maintenance schedule field for old docs
(cherry picked from commit c872aa43f8)

# Conflicts:
#	erpnext/patches.txt
2022-01-19 07:19:48 +00:00
Noah Jacob
8775154fa0 refactor: update_serial_no function and code cleanup
(cherry picked from commit 4f52b86d7e)

# Conflicts:
#	erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
2022-01-19 07:19:47 +00:00
Anupam Kumar
b917f33399 Merge branch 'version-13-hotfix' into crm-contact-duplication-v13 2022-01-18 16:38:04 +05:30
Anupam
79ce36c19f fix: sider issue 2022-01-18 16:36:40 +05:30
Anupam
c8eae9dcef fix: contact duplication on converting lead to customer 2022-01-18 16:14:45 +05:30
mergify[bot]
69fded250c fix: enable allow negative stock by default in reposts (#29331) (#29333)
Negative stock validation is done BEFORE reposting as such it's not
required to be performed again and most likely this fails on old
intermediate data where user has no clue why it failed.

(cherry picked from commit fabe0bce15)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-18 13:33:29 +05:30
mergify[bot]
3064d95889 refactor: convert CTE validation to python (#29324) (#29332)
Some old servers running on mariadb <10.2 can't work with CTEs hence
reverting to basic python code

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

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-18 11:48:01 +05:30
mergify[bot]
d7f16c4924 refactor: convert CTE validation to python (#29324)
Some old servers running on mariadb <10.2 can't work with CTEs hence
reverting to basic python code

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-18 11:17:32 +05:30
rohitwaghchaure
ac2d1a9acc Merge pull request #29329 from rohitwaghchaure/merge-hotfix-to-pre-release-for-13-19
chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release'
2022-01-18 00:23:29 +05:30
Rohit Waghchaure
8d3f8619cf chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release' 2022-01-18 00:01:14 +05:30
mergify[bot]
d5d7f67ac2 fix: cover case when all material needs to be bought (#29326) (#29327)
When material request is to be made for purchase qty should be converted
to purchase UOM

(cherry picked from commit 48f3d53556)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-17 22:16:41 +05:30
mergify[bot]
5e3f5d8bcc fix: purchase to Stock UOM conversion on Production Plan #28570 (#29325)
fix: purchase to Stock UOM conversion on Production Plan
(cherry picked from commit 9cd26fbb6a)

Co-authored-by: Maxwell Morais <MaxMorais@users.noreply.github.com>
2022-01-17 22:15:12 +05:30
Devin Slauenwhite
c121ab8ef4 Merge remote-tracking branch 'upstream/version-13-hotfix' into fix-ecommerce-cart-badge 2022-01-17 09:15:14 -05:00
Ankush Menat
0b4b60a6c3 Merge pull request #29322 from frappe/mergify/bp/version-13-hotfix/pr-28987
fix: incorrect serial no valuation (backport #28987)
2022-01-17 18:02:57 +05:30
Deepesh Garg
7542dd3f15 Merge pull request #29318 from frappe/mergify/bp/version-13-hotfix/pr-29182
fix: get project from PO into payment entry (backport #29182)
2022-01-17 17:28:24 +05:30
Ankush Menat
0411bcbd5c test: serial no valuation test case
(cherry picked from commit 5d27a7672e)
2022-01-17 11:26:05 +00:00
Ankush Menat
9a3a679628 fix: get incoming rate only if not return
(cherry picked from commit fcc885bc16)
2022-01-17 11:26:04 +00:00
Ankush Menat
a3a9920771 fix: incorrect incoming rate computation for sr no
(cherry picked from commit b9642a1036)
2022-01-17 11:26:03 +00:00
mergify[bot]
c2d58ba796 feat(UX): Option to exclude holidays while marking monthly attendance (backport #29185) (#29321)
(cherry picked from commit 6aac8de53e)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-01-17 16:48:04 +05:30
Deepesh Garg
5da7e28d20 fix: Linting issues
(cherry picked from commit 09172002e7)
2022-01-17 09:34:58 +00:00
ruthra
7f5415177e refactor: get project from basic transactions
- sales order, sales invoice, purchase order and purchase order
- if project not found in transaction, get from items

(cherry picked from commit 8026f86548)
2022-01-17 09:34:57 +00:00
ruthra
ea9756da8f fix: get project from PO into payment entry
(cherry picked from commit ca17c7226c)
2022-01-17 09:34:57 +00:00
Ankush Menat
a0c2c94cff test: make sure zero incoming rate is maintained while consuming
(cherry picked from commit 0272397e54)
2022-01-17 13:21:48 +05:30
Ankush Menat
3b0f80b865 fix: dont update sle values from get_gl_entries
(cherry picked from commit 8f5772463c)
2022-01-17 13:21:48 +05:30
mergify[bot]
83ca2422f6 fix: show work order progress bar even it is closed (#29312) (#29313)
(cherry picked from commit 4d48035828)

Co-authored-by: Anupam Kumar <anupamvns0099@gmail.com>
2022-01-17 12:08:21 +05:30
mergify[bot]
de9a0d6a7f fix: ignore cancelled SLEs (#29303) (#29307)
(cherry picked from commit 82ea958730)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-16 21:44:07 +05:30
mergify[bot]
5db8af8cee fix(patch): sle.serial_no = "\n" causes incorrect queue (#29306) (#29309)
This happens due to old data.

(cherry picked from commit 66bf21f143)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-16 20:59:19 +05:30
mergify[bot]
42d3b0c063 fix: only add stock queue if FIFO (#29302) (#29305)
(cherry picked from commit b0cf6195e9)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-16 14:05:09 +05:30
mergify[bot]
ecbd885aad fix: exclude existing serial numbers while auto creating new #29292 (#29300)
fix: exclude existing serial numbers while auto creating new
(cherry picked from commit 2b681f04fd)

Co-authored-by: Dany Robert <danyrt@wahni.com>
2022-01-16 12:33:55 +05:30
Deepesh Garg
cfb43d159d Merge pull request #29298 from frappe/mergify/bp/version-13-hotfix/pr-29208
fix(India): NIL Rated, Exempted and non gst invoices in GSTR-1 report (backport #29208)
2022-01-15 19:18:25 +05:30
Deepesh Garg
f3ddf53d39 Merge pull request #29299 from frappe/mergify/bp/version-13-hotfix/pr-29115
fix: Deferred revenue booking for multi currency invoices via JV (backport #29115)
2022-01-15 19:18:11 +05:30
Deepesh Garg
ef3e4ee61f fix: Remove unwanted test
(cherry picked from commit fd922f1617)
2022-01-15 13:26:21 +00:00
Deepesh Garg
045a505a38 fix: Remove comment
(cherry picked from commit 08f26de3df)
2022-01-15 13:26:21 +00:00
Deepesh Garg
eff48299e4 fix: Test case
(cherry picked from commit 24bb1e8987)
2022-01-15 13:26:21 +00:00
Deepesh Garg
8ed138e373 fix: Test case
(cherry picked from commit 18c4ddadf1)
2022-01-15 13:26:20 +00:00
Deepesh Garg
a4e897d30b fix: Handle frozen books while handling
(cherry picked from commit 30a647ff80)
2022-01-15 13:26:20 +00:00
Deepesh Garg
38a330b55e fix: Test case
(cherry picked from commit e311667a25)
2022-01-15 13:26:19 +00:00
Deepesh Garg
a08b10d5cf fix: Add test case for multicurrency invoice
(cherry picked from commit 094158f287)
2022-01-15 13:26:19 +00:00
Deepesh Garg
eb3d28fcc0 fix: Deferred revenue booking for multi currency invoices via JV
(cherry picked from commit 98f294a8ae)
2022-01-15 13:26:19 +00:00
Deepesh Garg
103bf19700 fix: JSON for nil/exempt and non gst
(cherry picked from commit 55c445cd37)
2022-01-15 13:24:14 +00:00
Deepesh Garg
835448c9e5 fix(India): NIL Rated, Exempted and non gst invoices in GSTR-1 report
(cherry picked from commit 7d85755595)
2022-01-15 13:24:14 +00:00
Sagar Sharma
8274467d6b Merge branch 'version-13-hotfix' into fix/delivery-note/billed-amount 2022-01-15 11:53:42 +05:30
Sagar Sharma
0a9ec9f591 refactor: use frappe.qb instead of sql 2022-01-14 19:22:43 +05:30
Sagar Sharma
fc65a3d989 feat: add patch 2022-01-14 16:15:26 +05:30
mergify[bot]
94a30674df fix: threshold fields shows incorrect currency (#29289) 2022-01-14 15:29:46 +05:30
Deepesh Garg
2524be6386 Merge pull request #29281 from frappe/mergify/bp/version-13-hotfix/pr-29280
fix: accounts are coming from different company in the dropdown (backport #29280)
2022-01-13 22:41:26 +05:30
Rohit Waghchaure
e28b046cf9 fix: accounts are coming from different company in the dropdown
(cherry picked from commit dabe5981bb)
2022-01-13 15:42:50 +00:00
Marica
f1c08f9b8c Merge pull request #29274 from frappe/mergify/bp/version-13-hotfix/pr-29271
fix: Don't validate FG in repack entry (backport #29271)
2022-01-13 16:50:02 +05:30
marination
80b037ed13 test: Check for FinishedGoodError if 0 FG in repack entry
(cherry picked from commit c49dff385a)
2022-01-13 09:57:50 +00:00
marination
61681e73ef test: Basic test one item repacked into two
- Also run fg validation and fg marking after checking purpose, avoid unnecessary calls

(cherry picked from commit 3922a39591)
2022-01-13 09:57:50 +00:00
marination
a868fd7df9 fix: Allow multiple fg in repack entry
(cherry picked from commit eac7b5d5aa)
2022-01-13 09:57:50 +00:00
mergify[bot]
21c194495c fix: filter for leave period in Bulk Leave Policy Assignment (backport #29272) (#29273)
* fix: filter for leave period in Bulk Leave Policy Assignment

* fix: set title for Leave Policy Assignment

(cherry picked from commit 3a18e62a9b)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-01-13 14:28:56 +05:30
Deepesh Garg
884edb45b3 Merge pull request #29240 from frappe/mergify/bp/version-13-hotfix/pr-29193
fix: deferred report division by zero exception (backport #29193)
2022-01-13 12:56:27 +05:30
Devin Slauenwhite
81f1b7dfeb fix(Payroll): Cannot submit salary slips from amended payroll entry. (#29228)
* fix: salary slip transaction state after payroll entry cancel

* fix: use db_set in on_cancel method

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-01-13 10:29:52 +05:30
mergify[bot]
dcea4f4c96 fix: autoname generated for Job Applicant is too long (backport #29260) (#29263)
* fix: autoname generated for Job Applicant is too long (#29260)

* fix: autoname generated for Job Applicant is too long

- autoname based on email and append number if exists instead of concatenating name, email, title

- add more search fields for context during selection

* test: Job applicant naming and fix related tests

(cherry picked from commit 5cda4ea39f)

# Conflicts:
#	erpnext/hr/doctype/employee_onboarding/test_employee_onboarding.py

* fix: conflicts

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-01-12 19:54:59 +05:30
Marica
a4210a7c85 Merge pull request #29257 from marination/fix-reset-wh-defaults (#29259)
fix: Avoid resetting Default wh fields for Manufacture Entry
(cherry picked from commit efcfb825d7)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2022-01-12 17:09:13 +05:30
Marica
d01e794558 Merge pull request #29257 from marination/fix-reset-wh-defaults
fix: Avoid resetting Default wh fields for Manufacture Entry
(cherry picked from commit efcfb825d7)
2022-01-12 11:15:35 +00:00
Sagar Sharma
5de6b8dc4d fix: check so_detail before dn_detail 2022-01-12 16:13:06 +05:30
Sagar Sharma
63aaa1e357 fix: consider returned_qty while updating billed_amt 2022-01-12 16:10:57 +05:30
Ganga Manoj
852543cbcd fix: Merge conflicts 2022-01-12 14:05:09 +05:30
rohitwaghchaure
464f813677 Merge pull request #29255 from frappe/mergify/bp/version-13-hotfix/pr-29179
fix: incorrect scrap item qty (backport #29179)
2022-01-12 14:00:36 +05:30
mergify[bot]
366f663c5a fix(asset): check if fixed asset account is set against company (#29256) 2022-01-12 13:45:37 +05:30
rohitwaghchaure
b4fee6d065 fix: conflicts 2022-01-12 13:31:34 +05:30
mergify[bot]
f4a031d94b fix: description not fetched in sales order analytics report (#29254) 2022-01-12 13:31:07 +05:30
rohitwaghchaure
fa66d1d87d fix: conflicts 2022-01-12 13:30:05 +05:30
Rohit Waghchaure
d71d769c7a fix: incorrect scrap item qty
(cherry picked from commit 8f0b2fa90e)

# Conflicts:
#	erpnext/manufacturing/doctype/work_order/test_work_order.py
2022-01-12 07:44:38 +00:00
Marica
e05ad8ed10 Merge pull request #29219 from marination/item-variant-config-backend-cleanup
fix: Behaviour of Item Variants Cache generation
2022-01-12 02:12:03 +05:30
Marica
f8761dc5ca Merge branch 'version-13-hotfix' into item-variant-config-backend-cleanup 2022-01-12 01:52:55 +05:30
marination
a0bd82e99f fix: Server Side test - teardown correctly 2022-01-11 22:43:39 +05:30
mergify[bot]
00ad0dd24d feat: early payment discount on sales & purchase orders (#29238) 2022-01-11 21:11:42 +05:30
Marica
c773051a3e Merge branch 'version-13-hotfix' into item-variant-config-backend-cleanup 2022-01-11 20:16:41 +05:30
marination
746bb6277f test: Variant Selector - Fetch next valid Attribute values fetching after selection of one 2022-01-11 20:15:24 +05:30
Ankush Menat
d9f31770c6 fix(patch): enable all uoms on recently created sites
(cherry picked from commit f8119563ca)
2022-01-11 18:56:50 +05:30
Ankush Menat
c1fbd2308c fix: UOM autocomplete broken
All new recent sites seem to have all UOMs as disabled by default. The
desired behaviour is exact opposite of this.

(cherry picked from commit 33aad4b950)
2022-01-11 18:56:50 +05:30
marination
577de39ca6 test: Variant Selector - Attribute Value fetching 2022-01-11 18:19:29 +05:30
ruthra
de9429b585 fix: deferred report division by zero exception
(cherry picked from commit fe4d7f86ee)
2022-01-11 11:50:18 +00:00
mergify[bot]
819346f69f fix: "update cost" should ignore overridden routing times #29154 (#29235)
fix: "update cost" should ignore overridden routing times
(cherry picked from commit 754596dfc1)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-11 09:02:57 +00:00
mergify[bot]
8bb72dece4 fix(pos): cannot ignore pricing rule for one particular invoice (#29232) 2022-01-11 14:26:39 +05:30
mergify[bot]
4343eddd46 fix(gl-report): group by cost center only if include_dimensions is checked (#28883) (#29231) 2022-01-11 13:24:21 +05:30
Ankush Menat
f35ef60262 Merge pull request #29224 from frappe/mergify/bp/version-13-hotfix/pr-29131
fix(patch): serial no whitespace trimming (backport #29131)
2022-01-10 22:33:15 +05:30
Ankush Menat
d0c7d4fc98 refactor: convert query to ORM
(cherry picked from commit cbaa8fdade)
2022-01-10 14:22:46 +00:00
Ankush Menat
fbe0442e89 fix(patch): serial no whitespace trimming
old data can contain trailing/leading whitespace which doesn't work well
with code to find last SLE for serial no.

(cherry picked from commit 0faa116f97)
2022-01-10 14:22:45 +00:00
mergify[bot]
055d620ef3 fix: pos invoices consolidation case with permlevel (#29220) 2022-01-10 19:48:28 +05:30
Marica
495c5126f8 fix: Exclude unpublished items while fetching items from other item groups (#29211) 2022-01-10 19:47:50 +05:30
marination
23f4b51e3e fix: Behaviour if Item Variants Cache generation
- Revert to old behaviour where variant doesnt need to be published
- Delete unused functions
2022-01-10 18:04:03 +05:30
marination
0174aa238c fix: Exclude unpublished items while fetching items from other item groups 2022-01-10 13:38:54 +05:30
mergify[bot]
ac4e996928 fix: Task Depends on not removed from Gantt chart (backport #28309) (#29207)
Co-authored-by: conncampbell <conncampbell@conzu.ca>
(cherry picked from commit 31123436fb)

Co-authored-by: Conn Campbell <conn.campbell@conzu.ca>
2022-01-10 10:49:29 +05:30
Deepesh Garg
d85aef5b2a Merge pull request #29188 from frappe/mergify/bp/version-13-hotfix/pr-29176
fix: Inconsistency in calculating outstanding amount (backport #29176)
2022-01-07 20:21:02 +05:30
mergify[bot]
822a8ba47a chore: remove framework patch for custom fields (#29117) (#29195)
* chore: patches were breaking during migration

* fix: rewrote the query in query builder

* chore: removed patch from patches.txt

(cherry picked from commit 25c875e447)

Co-authored-by: Shadrak Gurupnor <30501401+shadrak98@users.noreply.github.com>
2022-01-07 19:04:19 +05:30
Deepesh Garg
14aca20b00 Merge pull request #29194 from frappe/mergify/bp/version-13-hotfix/pr-28994
fix: cannot create debit note with zero qty (backport #28994)
2022-01-07 19:03:56 +05:30
Saqib Ansari
ecf341d1b1 fix: cannot save debit note with zero quantity
(cherry picked from commit 2be5104848)
2022-01-07 13:06:01 +00:00
Saqib Ansari
4ef9d289e8 fix(sales-invoice): cannot create debit note with zero qty
(cherry picked from commit 04ea42ce52)
2022-01-07 13:06:00 +00:00
Deepesh Garg
9b6c2fdfb7 fix: Conflicts 2022-01-07 15:03:55 +05:30
Deepesh Garg
203943ef97 Merge pull request #29186 from frappe/mergify/bp/version-13-hotfix/pr-29169
fix: GL Entries for loan repayment via Salary (backport #29169)
2022-01-07 15:02:19 +05:30
Deepesh Garg
b561c18502 fix: Inconsistency in calculating outstanding amount
(cherry picked from commit 9d3a5c3184)

# Conflicts:
#	erpnext/public/js/controllers/taxes_and_totals.js
2022-01-07 07:59:28 +00:00
Deepesh Garg
a333635ab6 Merge pull request #29135 from deepeshgarg007/gl_balance_ar_ap
fix: Show GL balance in Accounts Receivable and Payable summary
2022-01-07 12:59:17 +05:30
Deepesh Garg
892e63575e fix: GL Entries for loan repayment via Salary
(cherry picked from commit f316aaf41e)
2022-01-07 07:25:10 +00:00
Syed Mujeer Hashmi
60ddf39e37 chore: Remove the extra 's' in patient age string (#29180) 2022-01-07 09:22:36 +05:30
Rohit Waghchaure
dfe2140f70 Merge branch 'version-13-pre-release' into version-13 2022-01-06 23:59:30 +05:30
Rohit Waghchaure
c4dab3eef3 bumped to version 13.18.0 2022-01-07 00:19:30 +05:50
rohitwaghchaure
e967aafc28 Merge pull request #29178 from rohitwaghchaure/change-log-for-v13-18
chore: change log for v13.18.0
2022-01-06 23:58:02 +05:30
Rohit Waghchaure
0e925c6ea2 chore: change log for v13.18.0 2022-01-06 23:56:24 +05:30
mergify[bot]
49c33a67e1 fix: incorrect serial no valuation report showing cancelled entries (#29172) (#29174)
(cherry picked from commit 24fc487dd8)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-06 17:07:05 +05:30
mergify[bot]
7abe7c752b fix: incorrect serial no valuation report showing cancelled entries (#29172) (#29173)
(cherry picked from commit 24fc487dd8)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-06 17:05:00 +05:30
Deepesh Garg
d243291e1c Merge pull request #29155 from deepeshgarg007/ksa_vat_currency
fix: Currency in KSA VAT report
2022-01-06 16:22:40 +05:30
Deepesh Garg
493af62038 Merge pull request #29170 from frappe/mergify/bp/version-13-hotfix/pr-29125
fix: cannot create reverse journal entry (backport #29125)
2022-01-06 14:11:46 +05:30
Saqib Ansari
b82d4b7577 fix: cannot create reverse journal entry
(cherry picked from commit 3aa1817f7b)
2022-01-06 08:01:51 +00:00
mergify[bot]
2f98aa121a fix: Earned Leave allocation from Leave Policy Assignment (backport #29163) (#29166)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-01-06 11:46:37 +05:30
mergify[bot]
37d2f6fd15 fix: Earned Leave allocation from Leave Policy Assignment (backport #29163) (#29165)
* fix: Earned Leave allocation from Leave Policy Assignment

* test: Earned Leave Allocation from Leave Policy Assignment

(cherry picked from commit 26247be3b8)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-01-06 11:44:58 +05:30
mergify[bot]
6cc3c612ee feat: 'Invoice Number' field in Opening Invoice Creation Tool (#29156) 2022-01-05 16:00:00 +05:30
Deepesh Garg
1d87e9d8f6 fix: Currency in KSA VAT report 2022-01-05 15:08:29 +05:30
Chillar Anand
a64efb764b refactor: Add deprecation warning for agriculture domain (#29149) 2022-01-05 11:56:32 +05:30
Subin Tom
d3820f6ce3 feat: 'Invoice Number' field in Opening Invoice Creation Tool (#29147) 2022-01-05 11:21:15 +05:30
rohitwaghchaure
2f07d38caf Merge pull request #29150 from frappe/mergify/bp/version-13-pre-release/pr-29103
fix: incorrect posting time fetching incorrect qty (backport #29103)
2022-01-05 10:36:37 +05:30
rohitwaghchaure
48f98a68b8 fix: incorrect posting time fetching incorrect qty (#29103)
(cherry picked from commit f02e6b4631)
2022-01-05 04:23:01 +00:00
mergify[bot]
485fa4700f fix(UX): validate setup on clicking Mark Attendance button in Shift Type (backport #29146) (#29148)
(cherry picked from commit ac816f4fed)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-01-04 21:52:42 +05:30
Deepesh Garg
f90b49a1b5 Merge pull request #29145 from frappe/mergify/bp/version-13-pre-release/pr-29142
fix: map Accounting Dimensions for Bank Entry against Payroll Entry (backport #29142)
2022-01-04 21:02:16 +05:30
Deepesh Garg
e8e93bdf43 Merge pull request #29144 from frappe/mergify/bp/version-13-hotfix/pr-29142
fix: map Accounting Dimensions for Bank Entry against Payroll Entry (backport #29142)
2022-01-04 21:01:54 +05:30
Rucha Mahabal
1eccb83904 fix: map Accounting Dimensions for Bank Entry against Payroll Entry
(cherry picked from commit 5eeb94db31)
2022-01-04 14:58:45 +00:00
Rucha Mahabal
5900968bd9 fix: map Accounting Dimensions for Bank Entry against Payroll Entry
(cherry picked from commit 5eeb94db31)
2022-01-04 14:58:07 +00:00
mergify[bot]
fa735a0539 fix: Modifying Opening invoice creation tool timestamp (#29127) (#29143) 2022-01-04 20:04:47 +05:30
mergify[bot]
b808ef1625 feat: allow user to change the parent company (#29138) 2022-01-04 19:29:39 +05:30
mergify[bot]
06c0313a26 fix: POS items added to cart despite low qty (#29141) 2022-01-04 19:20:19 +05:30
mergify[bot]
f4670a86a0 fix: minor issues (#29140) 2022-01-04 19:16:52 +05:30
Subin Tom
0b07fbd5a2 fix: Modifying Opening invoice creation tool timestamp (#29139) 2022-01-04 19:15:59 +05:30
mergify[bot]
2838dc537e fix: update idx after updating items in so/po (#29134) (#29136)
(cherry picked from commit 733c9defdf)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-04 19:05:38 +05:30
Deepesh Garg
1d270dca05 fix: Show GL balance in Accounts Receivable and payable summary 2022-01-04 17:53:08 +05:30
mergify[bot]
3898b19086 fix: future recurring period calculation (backport #29083) (#29119)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2022-01-04 12:00:42 +05:30
mergify[bot]
fe1a66cf54 fix: future recurring period calculation (backport #29083) (#29118)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
(cherry picked from commit 11cfa16158)

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2022-01-04 11:58:41 +05:30
Saqib Ansari
e2b2be82e0 Merge pull request #29112 from frappe/mergify/bp/version-13-hotfix/pr-28907
fix: Validation in POS for item batch no stock quantity (backport #28907)
2022-01-03 19:35:43 +05:30
Subin Tom
fe3ebafea4 fix: linters fix 2022-01-03 19:10:03 +05:30
Subin Tom
860a0f4696 fix: linters fix 2022-01-03 19:06:40 +05:30
Subin Tom
a34ded79f3 fix: importing Sum() for qb for test fix 2022-01-03 19:01:57 +05:30
Saqib Ansari
d1739eb59a Merge pull request #29113 from frappe/mergify/bp/version-13-hotfix/pr-28160
refactor: `update_invoice_status` with query builder (backport #28160)
2022-01-03 18:32:53 +05:30
Pruthvi Patel
84f3f34821 Update erpnext/controllers/accounts_controller.py
Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
(cherry picked from commit 16a90d3e60)
2022-01-03 12:30:23 +00:00
Pruthvi Patel
50628d416c test: update_invoice_status
(cherry picked from commit 4d48ca4228)
2022-01-03 12:30:23 +00:00
Pruthvi Patel
e648a2ccde fix: consider Discounted status
(cherry picked from commit 0799f378b4)
2022-01-03 12:30:23 +00:00
Pruthvi Patel
1efce21ba4 refactor: update_invoice_status with query builder
(cherry picked from commit 6c96ed4e11)
2022-01-03 12:30:22 +00:00
Subin Tom
110a1e5557 fix: using get_batch_qty method to get available_qty
(cherry picked from commit 7385497219)
2022-01-03 12:27:40 +00:00
Subin Tom
80f92ee547 fix: added Sum() in query
(cherry picked from commit 267da48889)
2022-01-03 12:27:39 +00:00
Saqib
0be144c193 chore: remove extra whitespace
(cherry picked from commit c3a9ca09d1)
2022-01-03 12:27:39 +00:00
Saqib
bf92681fff fix: typo
(cherry picked from commit 9c8f523537)
2022-01-03 12:27:38 +00:00
Subin Tom
3947d859c5 fix: replaced sql query with frappe.qb
(cherry picked from commit 68beee2a00)
2022-01-03 12:27:38 +00:00
Subin Tom
0222cd198d fix: Validation in POS for item batch no stock quantity
(cherry picked from commit 9f235526d4)
2022-01-03 12:27:37 +00:00
rohitwaghchaure
fca8f17b40 Merge pull request #29104 from frappe/mergify/bp/version-13-hotfix/pr-29103
fix: incorrect posting time fetching incorrect qty (backport #29103)
2022-01-03 14:53:39 +05:30
rohitwaghchaure
fcbcb08fcd fix: incorrect posting time fetching incorrect qty (#29103)
(cherry picked from commit f02e6b4631)
2022-01-03 08:58:56 +00:00
mergify[bot]
674a923669 feat: Add currency in import download statement (#29093) 2022-01-03 13:42:25 +05:30
mergify[bot]
8a8648e6ec fix: filter query in bank reconciliation tool (#29100) 2022-01-03 11:41:38 +05:30
mergify[bot]
4fdaf51599 fix: filter query in bank reconciliation tool (#29099) 2022-01-03 11:41:23 +05:30
Deepesh Garg
19154074c1 Merge pull request #29095 from frappe/mergify/bp/version-13-pre-release/pr-29092
fix(India): Tax and Charges template not getting fetched based on tax category assigned (backport #29092)
2022-01-02 19:30:46 +05:30
Deepesh Garg
9a32bb6b51 fix: Test Case
(cherry picked from commit 342658ea70)
2022-01-02 13:37:23 +00:00
Deepesh Garg
cf4cac05ab fix(India): Tax and Charges template not getting fetched based on tax category assigned
(cherry picked from commit 7a5937a98c)
2022-01-02 13:37:23 +00:00
Deepesh Garg
39f7a9de47 Merge pull request #29092 from deepeshgarg007/taxes_category_tax_fetch
fix(India): Tax and Charges template not getting fetched based on tax category assigned
2022-01-02 19:06:00 +05:30
Deepesh Garg
342658ea70 fix: Test Case 2022-01-02 18:39:59 +05:30
Deepesh Garg
7a5937a98c fix(India): Tax and Charges template not getting fetched based on tax category assigned 2022-01-02 17:53:15 +05:30
Devin Slauenwhite
d763b16e9f Merge remote-tracking branch 'upstream/version-13-hotfix' into fix-ecommerce-cart-badge 2021-12-31 10:41:37 -05:00
Devin Slauenwhite
2602fc633b fix(e-commerce): shopping cart total quantity (#29076)
* fix: shopping cart total quantity

* fix: linter error
2021-12-31 20:28:00 +05:30
mergify[bot]
79d126f5d0 fix: leave_allocation variable not being defined (backport #29086) (#29087)
(cherry picked from commit dbbc8d8aed)

Co-authored-by: Vaibhav Chopra <53619134+sudo-vaibhav@users.noreply.github.com>
2021-12-31 13:54:18 +05:30
Devin Slauenwhite
c9a9d0bab8 fix(ux): tripple digit cart qty 2021-12-29 21:47:04 -05:00
rohitwaghchaure
0703c1f996 Merge pull request #29073 from rohitwaghchaure/merge-hotfix-to-pre-release-for-13-18
chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release'
2021-12-29 23:29:28 +05:30
Rohit Waghchaure
b378a225d0 chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release' 2021-12-29 23:10:55 +05:30
rohitwaghchaure
12f5464a3b Merge pull request #29066 from frappe/mergify/bp/version-13-hotfix/pr-29064
fix: optimize patch for update bom in SO and MR (backport #29064)
2021-12-29 13:59:40 +05:30
Rohit Waghchaure
9d575e6e27 fix: optimize patch for update bom in SO and MR
(cherry picked from commit d9b9f4e8b7)
2021-12-29 06:39:14 +00:00
Deepesh Garg
098b3614e1 Merge pull request #29061 from frappe/mergify/bp/version-13-hotfix/pr-28034
fix: Updates in term loan processing (backport #28034)
2021-12-28 19:36:04 +05:30
Deepesh Garg
bbe4bc1fc0 fix: Resolve conflicts 2021-12-28 19:10:27 +05:30
Deepesh Garg
0f8a7d7a6c fix: Update modified timestamp 2021-12-28 18:53:10 +05:30
Deepesh Garg
a4396d7f31 fix: Add test for loan repayment cancellation
(cherry picked from commit 68d49817a1)
2021-12-28 13:10:38 +00:00
Deepesh Garg
4248bebe48 fix: Test cases
(cherry picked from commit f78bf4c6ef)
2021-12-28 13:10:37 +00:00
Deepesh Garg
b616443809 fix: Book unaccrued interest check
(cherry picked from commit c572a4cb88)
2021-12-28 13:10:36 +00:00
Deepesh Garg
3c803c46d3 fix: Repayment schedule revert on cancel
(cherry picked from commit 8f6600b27a)
2021-12-28 13:10:35 +00:00
Deepesh Garg
dc3a0337d1 fix: Unsecured loan status update
(cherry picked from commit dcae9ba86e)

# Conflicts:
#	erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
2021-12-28 13:10:34 +00:00
Deepesh Garg
430617cb68 fix: Loan repayment schedule date
(cherry picked from commit 1a5f0da6ca)
2021-12-28 13:10:32 +00:00
Deepesh Garg
2b1b831560 fix: Updates in term loan processing
(cherry picked from commit 8116b9b62f)

# Conflicts:
#	erpnext/loan_management/doctype/loan/loan.json
2021-12-28 13:10:31 +00:00
mergify[bot]
165114ba4c fix: tests (#29051) (#29060)
* fix(test): create salary slip as per timesheet dates for Project Profitability

* fix(test): reload salary slip before checking for payment days

(cherry picked from commit 88df5ce530)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-12-28 17:28:31 +05:30
Marica
964b19e1b1 Merge pull request #29034 from frappe/mergify/bp/version-13-hotfix/pr-29033
fix: avoid `"string" in None` condition (backport #29033)
2021-12-28 15:02:28 +05:30
Marica
b9e327515b Merge pull request #29058 from frappe/mergify/bp/version-13-hotfix/pr-28555
fix: Validate Finished Goods for Independent Manufacture entries as well (backport #28555)
2021-12-28 15:01:11 +05:30
Deepesh Garg
e0a88d99f4 Merge pull request #29052 from frappe/mergify/bp/version-13-hotfix/pr-29009
fix: Start date validation for deferred invoices (backport #29009)
2021-12-28 14:45:58 +05:30
marination
00b9f1fbef fix: Merge conflict 2021-12-28 14:41:03 +05:30
marination
59aaef3719 fix: Avoid Impact on Repack Entry
- Repack entries must be considered for fg/scrap checkbox auto set
- This must be avoided only for Manufacture entries, due to confusion between scrap and fg
- No scrap in repack, so its straight forward

(cherry picked from commit 22809a2838)
2021-12-28 09:07:08 +00:00
marination
fdf5811c27 fix: Sider
(cherry picked from commit 7d0340e660)
2021-12-28 09:07:07 +00:00
marination
66a5b3f34d fix: Linter (imports)
(cherry picked from commit dfff972a78)
2021-12-28 09:07:07 +00:00
marination
d8b781bb1e test: Independent Manufacture Entry
- Check validations
- Check if FG basic rate is calculated correctly

(cherry picked from commit affb29194b)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/test_stock_entry.py
2021-12-28 09:07:07 +00:00
marination
6c6785e284 fix: Dont auto set is finished item or is scrap itm checkbox for independent entry
- System cant differentiate between scrap and FG when WO is absent, so dont auto set
- User must set it manually
- `validate_finished_goods` checks this

(cherry picked from commit 8c9779d69d)
2021-12-28 09:07:06 +00:00
marination
fc57ed1ca8 fix: Validate Finished Goods for Independent Manufacture entries as well
- Check if FG exists even if WO is absent
- Check if multiple FGs are there, block.

(cherry picked from commit d6bc121999)
2021-12-28 09:07:05 +00:00
mergify[bot]
aeb7bbc629 fix: rename non existent doctype field to the right one (#29055) (#29056)
(cherry picked from commit 095a6e186f)

Co-authored-by: Development for People <47140294+developmentforpeople@users.noreply.github.com>
2021-12-28 14:13:09 +05:30
Deepesh Garg
bdb6c4170b fix: Test case 2021-12-28 14:13:04 +05:30
Deepesh Garg
701bca5845 Merge pull request #28996 from deepeshgarg007/bank_reco_tool_fixes
fix: Issues in Bank Reconciliation tool
2021-12-28 13:40:28 +05:30
Deepesh Garg
becb39da90 fix: Remove debug statement 2021-12-28 13:18:17 +05:30
Marica
aa58653b75 Merge pull request #29053 from frappe/mergify/bp/version-13-hotfix/pr-28966
fix: Stock Ageing Report - Negative Opening Stock (backport #28966)
2021-12-28 13:04:33 +05:30
marination
bae184fc2f fix: Merge Conflicts 2021-12-28 12:43:14 +05:30
marination
24727dbadb fix: Linter (extra line after import)
(cherry picked from commit 6ca978c18b)
2021-12-28 06:54:48 +00:00
marination
ba5f4843c0 test: Stock Ageing FIFO Slot generation
(cherry picked from commit 098f72e7ec)
2021-12-28 06:54:47 +00:00
marination
bf266d82e7 chore: Added .md file to explain stock ageing business logic
(cherry picked from commit c007f84ade)
2021-12-28 06:54:47 +00:00
marination
e30c52861d chore: Use frappe.qb for query
(cherry picked from commit 878fd377c2)
2021-12-28 06:54:46 +00:00
marination
57b7fe6627 fix: Sider and Server side test
- args passed to wrong function
- missing space around '='

(cherry picked from commit 24a35c69c0)
2021-12-28 06:54:46 +00:00
marination
c04b62a7dd fix: Linter (imports)
(cherry picked from commit 8951a5c267)
2021-12-28 06:54:46 +00:00
marination
19fd1fb4b1 fix: Stock Ageing Report - Negative Opening Stock
- Consider negative opening stock in logic and neutralise it with +ve stock
- minor code refactor: class for FIFOSlots to generate chronological FIFO queue

(cherry picked from commit 0f43792dbb)

# Conflicts:
#	erpnext/stock/report/stock_ageing/stock_ageing.py
2021-12-28 06:54:46 +00:00
Deepesh Garg
b00f6676f1 fix: Start date validation for deferred invoices
(cherry picked from commit 7ad149f9fe)
2021-12-28 06:36:26 +00:00
Deepesh Garg
8be6bd978e Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-29033 2021-12-28 11:03:34 +05:30
mergify[bot]
bffe329ade fix: filter out Claimed employee advances in Expense Claim (#29046) (#29047)
(cherry picked from commit 25f4de80b3)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-12-27 21:23:50 +05:30
Rucha Mahabal
b0bc3994c3 fix: flaky HR tests (#29045)
* fix(test): Leave Allocation validation against Leave Application after submit (#29005)

* fix(test): Leave Allocation validation against Leave Application after submit

* chore: clean-up Leave Allocation tests

* fix(test): set holiday list for leave allocation test

* fix: flaky HR tests (#29017)

* fix(test): use root company in Expense Claim tests

* fix(test): set Holiday List for Leave Allocation

* fix(test): set Holiday List for company
2021-12-27 17:26:16 +05:30
Rucha Mahabal
d0d82bc34a fix: ignore links while setting default notification templates in Settings (#29042) 2021-12-27 15:16:58 +05:30
Marica
1c2a8c679c Merge pull request #28951 from dj12djdjs/fix-ecommerce-selling-price-with-rule
fix(e-commerce): fetch selling price with pricing rule
2021-12-27 12:49:33 +05:30
Marica
39fd9ee40d Merge branch 'version-13-hotfix' into fix-ecommerce-selling-price-with-rule 2021-12-27 12:19:41 +05:30
Raffael Meyer
f92cdbbbf3 fix: avoid "string" in None condition
(cherry picked from commit 52397c9771)
2021-12-26 04:50:10 +00:00
Deepesh Garg
3f6d9336b5 Merge pull request #28953 from deepeshgarg007/price_fetch_optimize
fix(UX): Optimize rate updation on changing price list
2021-12-24 19:33:29 +05:30
mergify[bot]
b2e42aa16c chore: add running stock value difference in invariant report (#29012) (#29013)
[skip ci]

(cherry picked from commit 7987a46509)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-23 21:17:42 +05:30
Devin Slauenwhite
6783fc808b Merge remote-tracking branch 'upstream/version-13-hotfix' into fix-ecommerce-selling-price-with-rule 2021-12-22 20:58:34 -05:00
Devin Slauenwhite
bcc436e63e fix(test): e-commerce fetch logged-in user item price. 2021-12-22 20:20:57 -05:00
Devin Slauenwhite
7eafc9ffe8 test: e-commerce customer pricing rule 2021-12-22 13:11:02 -05:00
Deepesh Garg
ff183ee895 fix: Issues in Bank Reconciliation tool 2021-12-22 18:04:49 +05:30
Marica
808e40cc4d Merge pull request #28985 from marination/item-card-group-links
fix: Convert Item links to Website Item links in `Item Card Group` template data
2021-12-22 13:53:25 +05:30
Marica
2777b501b5 Merge branch 'version-13-hotfix' into item-card-group-links 2021-12-22 13:25:18 +05:30
marination
a6e7b43f0b fix: Faulty 'continue' not setting value in db 2021-12-22 13:23:00 +05:30
marination
ffdaa849fb fix: Code cleanup 2021-12-22 12:26:43 +05:30
marination
85abb95df6 fix: Sider 2021-12-22 12:24:09 +05:30
Deepesh Garg
b60fbf5ba9 fix: Add round floats for price list rate 2021-12-22 12:01:39 +05:30
Deepesh Garg
233f79bf96 fix: Recalculate taxes irrespective of price list rate changed or not 2021-12-22 11:26:19 +05:30
mergify[bot]
dd01c0e854 fix: Currency fix for cost field in subscription plan (#28821) (#28898)
(cherry picked from commit be103ab8e6)

Co-authored-by: Subin Tom <36098155+nemesis189@users.noreply.github.com>
2021-12-22 10:43:00 +05:30
Devin Slauenwhite
de697a7aee Merge remote-tracking branch 'upstream/version-13-hotfix' into version-13-hotfix 2021-12-21 11:24:53 -05:00
Rohit Waghchaure
498d933e9c Merge branch 'version-13-pre-release' into version-13 2021-12-21 17:25:46 +05:30
Rohit Waghchaure
5c078198a3 bumped to version 13.17.0 2021-12-21 17:45:46 +05:50
rohitwaghchaure
2ef86fb875 Merge pull request #28989 from rohitwaghchaure/change-log-for-v13-17
chore: change log for v13.17.0
2021-12-21 17:24:13 +05:30
Rohit Waghchaure
30a1512cae chore: change log for v13.17.0 2021-12-21 17:18:56 +05:30
mergify[bot]
b59df1118e fix: missed colon (#28979) (#28984)
(cherry picked from commit 076cb408db)

Co-authored-by: Development for People <47140294+developmentforpeople@users.noreply.github.com>
2021-12-21 16:04:22 +05:30
marination
242cc7e23e Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into item-card-group-links 2021-12-21 15:51:50 +05:30
marination
dfe718ef79 fix: Convert Item links to Website Item links in Item Card Group template data
- Changed link option to Website Item in Item card group template
- patch to convert pre-existing data
2021-12-21 15:43:48 +05:30
mergify[bot]
84404bf6e3 fix: Reset value_after_depreciation on reversing journal entry during Asset return (#28980)
(cherry picked from commit 1ed30ee7c7)

Co-authored-by: Ganga Manoj <ganga.manoj98@gmail.com>
2021-12-21 15:13:11 +05:30
mergify[bot]
b2de0e7bbd fix: Reset value_after_depreciation on reversing journal entry during Asset return (#28981)
(cherry picked from commit 1ed30ee7c7)

Co-authored-by: Ganga Manoj <ganga.manoj98@gmail.com>
2021-12-21 15:08:49 +05:30
Deepesh Garg
56d72764b7 Merge pull request #28935 from deepeshgarg007/rcm_tax_template_fetch_issue
fix: Is Reverse Charge check in Tax Category
2021-12-21 13:41:22 +05:30
Deepesh Garg
84cebca254 Merge pull request #28974 from frappe/mergify/bp/version-13-hotfix/pr-28937
fix: Added filter for dispatch address (backport #28937)
2021-12-21 13:04:07 +05:30
Deepesh Garg
7e912db4b1 fix: Add is reverse charge in country wise tax 2021-12-21 12:54:40 +05:30
Deepesh Garg
3fed740142 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into rcm_tax_template_fetch_issue 2021-12-21 12:54:13 +05:30
Subin Tom
824c90fd11 fix: Added filter for dispatch address (#28937)
(cherry picked from commit 98d417602f)
2021-12-21 07:06:25 +00:00
mergify[bot]
ef47570977 test: remove unnecessary creation of companies #28965 (#28967)
test: remove unnecessary creation of companies
(cherry picked from commit d7148adee5)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-20 23:22:34 +05:30
mergify[bot]
87e53e9e46 fix: fetch appointment letter content in the same order as template (#28968) (#28969)
(cherry picked from commit 92e86f2f09)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-12-20 23:17:02 +05:30
Ankush Menat
4107de4514 Merge pull request #28963 from frappe/mergify/bp/version-13-hotfix/pr-28588
fix: incorrect bin qty on backdated reconciliation (backport #28588)
2021-12-20 21:22:56 +05:30
Ankush Menat
9338843dac test: bin qty on backdated SR
(cherry picked from commit 2bb7bca464)
2021-12-20 14:36:40 +00:00
Ankush Menat
2d5f477720 fix: correct bin qty on backdated transactions
When making a backdated transactions current balance qty depends on
evaluation of whole ledger inbetween, instead of doing that just fetch
the last sle's qty_after_transaction when future transactions are
detected against SLE

fix: don't update bin's actual_qty

1. it's already updated by repost_current_voucher
2. update if future sle exists

(cherry picked from commit ff9a6e8e89)
2021-12-20 14:36:40 +00:00
Deepesh Garg
b387fe54a6 Merge pull request #28962 from frappe/mergify/bp/version-13-pre-release/pr-28959
fix: Error on viewing consolidated financial statement (backport #28959)
2021-12-20 17:15:32 +05:30
Deepesh Garg
fa7948b5e5 Merge pull request #28961 from frappe/mergify/bp/version-13-hotfix/pr-28959
fix: Error on viewing consolidated financial statement (backport #28959)
2021-12-20 17:15:13 +05:30
Deepesh Garg
d60f51dd09 fix: Error on viewing consolidated financial statement
(cherry picked from commit 5d6199cf35)
2021-12-20 11:44:25 +00:00
Deepesh Garg
aad7a10a7b fix: Error on viewing consolidated financial statement
(cherry picked from commit 5d6199cf35)
2021-12-20 11:43:50 +00:00
Deepesh Garg
c12b00cb4b Merge pull request #28901 from frappe/mergify/bp/version-13-hotfix/pr-28822
feat: Deferred Revenue and Expense report with actual and upcoming postings (backport #28822)
2021-12-20 17:03:50 +05:30
Deepesh Garg
0980c2f981 fix: Linting issues 2021-12-20 13:26:16 +05:30
Deepesh Garg
4b3ef24378 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into price_fetch_optimize 2021-12-20 12:17:37 +05:30
Deepesh Garg
6087d5a603 fix(UX): Optimize rate updation of changing price list 2021-12-20 12:16:14 +05:30
Devin Slauenwhite
372f91c923 fix: fetch correct selling price. 2021-12-18 16:03:16 -05:00
mergify[bot]
f2464ce04a fix: incorrect rounding off near zero (#28948) (#28949)
(cherry picked from commit 0724a148e6)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-18 21:36:17 +05:30
Ankush Menat
0724a148e6 fix: incorrect rounding off near zero (#28948) 2021-12-18 21:34:25 +05:30
mergify[bot]
d3c62821fb fix: Add Invoice Number field to list view in Opening Invoice Creation Tool (#28941) 2021-12-18 12:07:45 +05:30
mro-admin
c5931e4b1e fix: convert asynchronous field update to synchronous (#28906)
Co-authored-by: Dan Navarro on Ubuntu Work <danjeremynavarro@gmail.com>
2021-12-17 19:06:08 +05:30
Deepesh Garg
a1d5e0bef6 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-28822 2021-12-17 16:06:21 +05:30
Deepesh Garg
10a95b3a98 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into rcm_tax_template_fetch_issue 2021-12-17 16:03:22 +05:30
Deepesh Garg
7c1bfe6b46 chore: Remove patch comment 2021-12-17 16:02:40 +05:30
Deepesh Garg
b33fd6acc7 fix: Is Reverse Charge check in Tax Category 2021-12-17 15:59:21 +05:30
mergify[bot]
5a6ea7a829 fix(ksa): enable ksa pos invoice print format (#28934) 2021-12-17 15:27:23 +05:30
mergify[bot]
9c2a9c28df fix(ksa): enable ksa pos invoice print format (backport #28911) 2021-12-17 15:27:05 +05:30
Deepesh Garg
349785dcbd Merge pull request #28932 from frappe/mergify/bp/version-13-hotfix/pr-28916
fix: Multicurrency invoices using subscription (backport #28916)
2021-12-17 13:52:30 +05:30
Deepesh Garg
94d3e66428 fix: Add tests for multicurrency subscription
(cherry picked from commit 6ab753015e)
2021-12-17 06:59:59 +00:00
Deepesh Garg
eb36742427 fix: Multicurrency invoices using subscription
(cherry picked from commit 0e4842b986)
2021-12-17 06:59:59 +00:00
mergify[bot]
fcb08d54ea fix: mapping to maintenance visit gets erased (#28917) (#28925)
* fix: mappings to maintenance visit gets erased

* test: mapping of schedule to visit

(cherry picked from commit 4cb5b627a1)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-12-16 23:33:56 +05:30
mergify[bot]
3dd12143a2 fix: mapping to maintenance visit gets erased (#28917) (#28926)
* fix: mappings to maintenance visit gets erased

* test: mapping of schedule to visit

(cherry picked from commit 4cb5b627a1)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-12-16 23:33:43 +05:30
mergify[bot]
ac17bc3d31 chore: ledger invariant check report (#28921) (#28923)
(cherry picked from commit 6ba8f7644d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-16 22:48:33 +05:30
mergify[bot]
167e8d3dde chore: ledger invariant check report (#28921) (#28922)
(cherry picked from commit 6ba8f7644d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-16 22:48:12 +05:30
mergify[bot]
85ded9e7ce perf: remove forcing of posting sort index on stock balance (#28902) (#28904)
mysql is generally smart enough to figure out which index is better
based on cardinality of index. While posting sort index is better for
low item high # of SLE scenario it's bad for high item variety each with
lower count of SLEs.

(cherry picked from commit 228e011819)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-15 19:23:12 +05:30
ruthra
74ac5e7829 refactor: rename checkbox and translations
- rename checkbox and make it
 - added translation text for labels
 - fixes for linter error

(cherry picked from commit 9ec8841b91)
2021-12-15 09:33:46 +00:00
ruthra
804f2ccf3d refactor: remove unused function 'get_postings'
(cherry picked from commit a8a598ace7)
2021-12-15 09:33:45 +00:00
ruthra
039b1fbb76 feat: Deferred Revenue and Expense report
- show deferred revenue and expense with actual and expected postings
 - unit tests added

(cherry picked from commit c3453cd73c)
2021-12-15 09:33:45 +00:00
mergify[bot]
970cdef911 feat: added required_date field to set date in child table (backport #28432)
feat: added required_date field to set date in child table (backport #28432)
2021-12-15 12:49:23 +05:30
mergify[bot]
6b248db0c9 fix: hsn-wise summary is incorrect if an invoice has repeated item code (#28892) 2021-12-15 11:45:59 +05:30
mergify[bot]
a712e5cee6 revert: "fix: expected value after useful life validation" (#28891) 2021-12-15 11:09:34 +05:30
mergify[bot]
1988e72710 revert: "fix: expected value after useful life validation" (backport #28853) 2021-12-15 11:09:21 +05:30
Saqib
cd075ce3be Merge pull request #28854 from frappe/mergify/bp/version-13-hotfix/pr-28783
fix: hsn-wise summary is incorrect if an invoice has repeated item code (backport #28783)
2021-12-15 10:35:25 +05:30
Ankush Menat
bdd43274b2 fix: incorrect logic for "Reserved Qty for Production" (#28880)
* fix: reservation for production incorrect

The query uses case to decide what fields to compute reservation on,
this case is outermost case hence the very first Work order's "Skip
transfer" is considered for ALL work orders.

Solution: move the case inside Sum.

Steps to reproduce:
1. Make work order for more than 1 qty (with | without skip transfer)
2. Create manufacture and transfer entries.
3. Keep checking reserved quantities during this process.

* test: use default warehouse for testing reservation

(cherry picked from commit 80f1a8c645)
2021-12-14 18:22:10 +05:30
Ankush Menat
25fd11e24f test: timeout certain tests in work order to avoid stuck tests (#28666) 2021-12-14 18:21:48 +05:30
Ankush Menat
73693ac153 test: remove commits from tests (#27939)
* test: remove commits from tests in selling module

* test: remove commits from manufacturing module

* test: remove commits from accounts module tests

* test: remove commits from controller tests

* test: keep commits in accounting dimension test

* Revert "test: remove commits from controller tests"

This reverts commit f5cfbee5da.

* Revert "test: remove commits from accounts module tests"

This reverts commit df4c27efdd.

(cherry picked from commit 96ef88d935)
2021-12-14 18:21:48 +05:30
mergify[bot]
a4814f5519 fix: remove set only once from valuation method (#28876) (#28882)
(cherry picked from commit 66960cf050)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-14 17:29:40 +05:30
Deepesh Garg
aee4f87b07 Merge pull request #28868 from frappe/mergify/bp/version-13-pre-release/pr-28832
fix: KSA QR field rename patch (backport #28832)
2021-12-14 16:02:06 +05:30
Deepesh Garg
a6f9b523d9 Merge pull request #28867 from frappe/mergify/bp/version-13-hotfix/pr-28832
fix: KSA QR field rename patch (backport #28832)
2021-12-14 16:01:57 +05:30
mergify[bot]
d0d5236a1a Merge pull request #28845 from ruchamahabal/fix-salary-slip-timesheet (#28874)
fix: incorrect amount based on payment days in timesheet salary slip
(cherry picked from commit b027050f77)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-12-14 15:32:22 +05:30
mergify[bot]
b3720f62d8 fix: Nonstock item showing in Itemwise Recommended Reorder Level report bp (#28873)
(cherry picked from commit 304aa44feb)

Co-authored-by: aaronmenezes <ron2805@gmail.com>
2021-12-14 15:19:11 +05:30
mergify[bot]
0d8ad4d64b fix: reorder patch to fix custom field options (backport #28866)
* fix: reorder patch to fix custom field options (#28866)

(cherry picked from commit 7fd06108bf)

# Conflicts:
#	erpnext/patches.txt

* fix: resolve conflict

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

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-12-14 14:05:21 +05:30
mergify[bot]
187a69e390 fix: reorder patch to fix custom field options (backport #28866)
* fix: reorder patch to fix custom field options (#28866)

(cherry picked from commit 7fd06108bf)

# Conflicts:
#	erpnext/patches.txt

* fix: resolve conflict

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-14 14:03:14 +05:30
Deepesh Garg
198b427349 fix: KSA QR field rename patch
(cherry picked from commit 14d03a9446)
2021-12-14 07:18:54 +00:00
Deepesh Garg
55db2f8808 fix: KSA QR field rename patch
(cherry picked from commit 14d03a9446)
2021-12-14 07:18:33 +00:00
mergify[bot]
1a986f0b11 fix(UX): hide RM table(Job Card) if material transfer is against work order (backport #28746)
* fix(UX): hide RM table(Job Card) if material transfer is against work order (#28746)

(cherry picked from commit cc8c0595e2)

# Conflicts:
#	erpnext/manufacturing/doctype/job_card/job_card.js

* chore: resolve conflicts

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-14 12:44:42 +05:30
mergify[bot]
5798687951 fix: packing slip incorrect item value (bp #28862)
(cherry picked from commit 534c64abcd)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-14 12:16:42 +05:30
mergify[bot]
0e68037082 fix: migration hashes (#28850) (#28860)
Co-authored-by: Ankush Menat <ankush@frappe.io>
(cherry picked from commit 46a6c8dbfe)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-12-14 11:13:58 +05:30
mergify[bot]
46a6c8dbfe fix: migration hashes (#28850)
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-14 11:10:57 +05:30
rohitwaghchaure
e08c9cc250 Merge pull request #28855 from rohitwaghchaure/merge-hotfix-to-pre-release-for-13-17
chore: merge branch 'version-13-hotfix' into 'version-13-pre-release'
2021-12-14 00:47:47 +05:30
Rohit Waghchaure
a3189226a5 chore: merge branch 'version-13-hotfix' into 'version-13-pre-release' 2021-12-13 23:01:11 +05:30
Saqib Ansari
1f41c7fed1 test: test_hsn_summary_for_invoice_with_duplicate_items
(cherry picked from commit 6a239c8ea3)
2021-12-13 17:10:20 +00:00
Saqib Ansari
1c96c6fe08 fix: hsn-wise summary is incorrect if an invoice has repeated item code
(cherry picked from commit e74739a677)
2021-12-13 17:10:19 +00:00
Saqib
99c6db155d Merge pull request #28852 from frappe/mergify/bp/version-13-hotfix/pr-28677
fix: Fix 'Adjust Asset Value' button (backport #28677)
2021-12-13 22:17:40 +05:30
GangaManoj
cefd0185a6 fix: Rename function
(cherry picked from commit 4629308d94)
2021-12-13 16:23:35 +00:00
GangaManoj
414558aa70 fix: Rename variable
(cherry picked from commit 5b224f841b)
2021-12-13 16:23:34 +00:00
GangaManoj
e10eea931b fix: Fix 'Adjust Asset Value' button
(cherry picked from commit 6f1cf94c9f)
2021-12-13 16:23:33 +00:00
GangaManoj
d000782de0 fix: Edit dates and frequency of depreciation
(cherry picked from commit 4311936b7d)
2021-12-13 16:20:51 +00:00
GangaManoj
855ae399b5 fix: Test if clear_depreciation_schedule() works for multiple finance books
(cherry picked from commit 6ec5a19063)
2021-12-13 16:20:50 +00:00
GangaManoj
ae875ab021 fix: Retain depreciation schedule rows that are linked with JEs while clearing the schedule
(cherry picked from commit 33a0b1db2c)
2021-12-13 16:20:49 +00:00
GangaManoj
57f41bc30a fix: Test if multiple Depreciation Schedules are set up for multiple Finance Books
(cherry picked from commit f455de2924)
2021-12-13 16:20:49 +00:00
GangaManoj
8a4019e501 fix: Clear Depreciation Schedule entries that aren't linked with Journal Entries before modifying the schedule
(cherry picked from commit 475d8394e4)
2021-12-13 16:20:48 +00:00
GangaManoj
54cac351cd fix: Rename loop variable
(cherry picked from commit 059d1f3b74)

# Conflicts:
#	erpnext/assets/doctype/asset/asset.py
2021-12-13 16:20:47 +00:00
GangaManoj
db3d2c31a3 fix: Prevent clearing of Depreciation Schedule on adding more than one Finance Book
(cherry picked from commit a4043c035d)
2021-12-13 16:20:43 +00:00
mergify[bot]
8fe5326c8e fix: validate if asset account is set against company (#28849) 2021-12-13 21:10:03 +05:30
Deepesh Garg
61f48e9856 Merge pull request #28836 from frappe/mergify/bp/version-13-hotfix/pr-28748
fix: Ageing in AR/AP report for advances (backport #28748)
2021-12-12 19:29:53 +05:30
Deepesh Garg
24b37defcc Merge pull request #28835 from frappe/mergify/bp/version-13-hotfix/pr-28764
fix: TDS Monthly payable report (backport #28764)
2021-12-12 19:29:41 +05:30
Deepesh Garg
fac357ebe9 fix: Ageing in AR/AP report for advances
(cherry picked from commit 3dabac15ed)
2021-12-12 11:57:41 +00:00
Deepesh Garg
44f97dfd5e fix: TDS Monthly payable report
(cherry picked from commit d106d59c3f)
2021-12-12 11:42:46 +00:00
mergify[bot]
59f6277e4d feat(buying): quotation number in supplier quotation (#28827)
(cherry picked from commit 624481be6f)

Co-authored-by: Himanshu <himanshuwarekar@yahoo.com>
2021-12-11 17:37:17 +05:30
Dany Robert
3f686a67e6 fix: no module named 'redisearch' (#28818)
* chore: rename file to avoid the overriding

* fix: rename ref #1

* fix: rename ref in e_commerce_settings

* fix: rename ref in product_search.py

* chore: rename rsearch.py to redisearch_utils.py

* chore: rename rsearch to redisearch_utils in product_search
2021-12-10 18:13:22 +05:30
rohitwaghchaure
7f9d0061ac Merge pull request #28819 from frappe/mergify/bp/version-13-hotfix/pr-28815
fix: validate pending reposts before freezing stock/account (backport #28815)
2021-12-10 17:52:17 +05:30
Ankush Menat
140e91f459 test: stock frozen validation
(cherry picked from commit 75bc404cbe)
2021-12-10 11:42:16 +00:00
Ankush Menat
9e69725102 fix: ensure that reposting is finished before freezing stock/account
(cherry picked from commit d37541d3fb)
2021-12-10 11:42:15 +00:00
mergify[bot]
d2fac14922 feat: added QI link in Job Card Dashboard (#28643) (#28810)
(cherry picked from commit f1c0190f02)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-12-09 20:31:42 +05:30
mergify[bot]
99851e7f3a refactor: map serial from schedule if only one (#28747)
(cherry picked from commit eb522a3746)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-12-09 20:26:21 +05:30
mergify[bot]
623d32597d fix: misleading "Set Default X" fields after saving (#28798) (#28809)
* fix: misleading "Set Default X" fields after saving

* refactor: remove unncessary code and minor formatting

* fix: extend to more doctypes and correct fieldnames

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

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2021-12-09 17:21:12 +05:30
mergify[bot]
4d0d39c59c fix: deduplicate after finishing the repost (#28803) (#28806)
Not really a bug but avoids potential of prematurely skipping something
if failure occurs and failure isn't resolved.

(cherry picked from commit c64d5028b4)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-09 15:55:38 +05:30
Saqib
0cf3ab3264 Merge pull request #28799 from rtdany10/version-13-hotfix
feat(Regional): KSA E-Invoing optimizations and POS support
2021-12-09 13:05:52 +05:30
mergify[bot]
43bc612f07 fix: wrong german translation of abbreviation PAN (#28804)
Wrong german translation of abbreviation: PAN

(cherry picked from commit f043f59324)

Co-authored-by: Michael Köller <michael.koeller@greenbytes.de>
2021-12-09 11:39:05 +05:30
Dany Robert
f98a410501 feat: KSA POS Invoice 2021-12-08 23:19:29 +05:30
Dany Robert
dde17b3585 feat: init KSA POS Invoice 2021-12-08 23:18:16 +05:30
Dany Robert
9006ed4ac2 feat: run patches 2021-12-08 23:16:25 +05:30
Dany Robert
3373fcceb6 feat: rename old qr fields 2021-12-08 23:15:08 +05:30
Dany Robert
6c1bc27b12 feat: disable print formats for other countries 2021-12-08 23:13:50 +05:30
Dany Robert
73ce03288c fix: disable print format by default 2021-12-08 23:11:12 +05:30
Dany Robert
f4c8be820e feat: generate QR code for POS invoice 2021-12-08 23:05:34 +05:30
Dany Robert
2e3c9c0aad feat: create QR field incase of missing 2021-12-08 23:04:02 +05:30
Dany Robert
c6d4a23bdc fix: rename QR field and enable print formats 2021-12-08 23:01:12 +05:30
aaronmenezes
3aead835c5 fix: Maintenence Visit -Purpose (item ) tables is not visible on submitted or saved entries (#28792)
(cherry picked from commit 90b98440e2)
2021-12-08 16:50:58 +05:30
Ankush Menat
0d71496461 test: add multi-batch negative qty test
(cherry picked from commit 96a019ec49)
2021-12-08 16:50:28 +05:30
Ankush Menat
1aec6a6cb5 test: simplfy test and expect specific exception
(cherry picked from commit f0152d03a4)
2021-12-08 16:50:28 +05:30
Ankush Menat
f139b4aac6 refactor: remove redundant batch qty validation
This check was only checking total sum, which is problamatic when making
backdated entries that can cause intermediate values to go negative
while overall values stay positive.

(cherry picked from commit 9c90b7a40d)
2021-12-08 16:50:28 +05:30
Ankush Menat
68a9c3e160 fix: check future negative stock for batches
batch's ledger is only maintained in form of `actual_qty` on batch's
SLEs. To validate if batch has any negative qty in future, cumulative
total of `actual_qty` is required to ensure it never goes negative.

(cherry picked from commit 5eba57528c)
2021-12-08 16:50:28 +05:30
18alantom
341a02eaf4 test: check execution of illegal stock entry seq
(cherry picked from commit 1cbeba5f1d)
2021-12-08 16:50:28 +05:30
Deepesh Garg
57b70ace9b Merge pull request #28791 from deepeshgarg007/version-13-tax-hotfix
fix: Error on Invoice generation
2021-12-08 14:15:52 +05:30
Deepesh Garg
4fe5d8b1ae fix: Error on Invoice generation 2021-12-08 14:14:04 +05:30
Deepesh Garg
f22bbaa9ba Merge pull request #28788 from frappe/mergify/bp/version-13-pre-release/pr-28786
fix: Error on Invoice generation (backport #28786)
2021-12-08 14:12:00 +05:30
Deepesh Garg
f478d2d36a fix: Error on Invoice generation
(cherry picked from commit 82255293c4)
2021-12-08 08:40:05 +00:00
Deepesh Garg
d9f92ddc27 Merge pull request #28786 from deepeshgarg007/tax_template_fix_new
fix: Error on Invoice generation
2021-12-08 14:09:08 +05:30
Deepesh Garg
82255293c4 fix: Error on Invoice generation 2021-12-08 14:06:34 +05:30
Rohit Waghchaure
fa304f3300 Merge branch 'version-13-pre-release' into version-13 2021-12-08 13:27:11 +05:30
Rohit Waghchaure
603b1888fc bumped to version 13.16.1 2021-12-08 13:47:11 +05:50
Deepesh Garg
20f9015620 Merge pull request #28784 from frappe/mergify/bp/version-13-pre-release/pr-28777
fix: Error on creating invoice (backport #28777)
2021-12-08 12:13:08 +05:30
Deepesh Garg
153c9221a9 fix: Error on creating invoice
(cherry picked from commit e11515a356)
2021-12-08 06:42:36 +00:00
Deepesh Garg
5a6d7706a6 Merge pull request #28777 from deepeshgarg007/auto_tax_fetch_fixes
fix: Error on creating invoice
2021-12-07 22:19:52 +05:30
Deepesh Garg
e11515a356 fix: Error on creating invoice 2021-12-07 18:44:05 +05:30
Deepesh Garg
f5ab2f4f8c Merge pull request #28773 from frappe/mergify/bp/version-13-hotfix/pr-28731
fix: Better Error logging for deferred revenue/expense booking (backport #28731)
2021-12-07 16:55:20 +05:30
mergify[bot]
28b84ad7d6 fix: ignore mandatory fields while creating WO from SO (#28772) (#28774)
If fields are made mandatory from customizations the WO creation simply
fails.

(cherry picked from commit 6efbbb1058)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-07 16:49:43 +05:30
Deepesh Garg
dad9a913db fix: Log error before throwing exception
(cherry picked from commit 3c64e201cc)
2021-12-07 10:12:59 +00:00
Deepesh Garg
6b8b2946c1 fix: Commit joural entries
(cherry picked from commit 0ba4fcee2a)
2021-12-07 10:12:58 +00:00
Deepesh Garg
46e492d594 fix: Better Error logging fordeferred revenue/expense booking
(cherry picked from commit 67a001d876)
2021-12-07 10:12:58 +00:00
Saqib
f9742394f3 feat: Make Depreciation Entry posting more flexible 2021-12-06 16:45:15 +05:30
Saqib
ef65774b77 fix: Create Depreciation Schedules for existing Assets accurately (backport #28675) 2021-12-06 16:44:38 +05:30
Saqib Ansari
a9bcc869b9 fix: conflicts 2021-12-06 16:12:18 +05:30
Saqib Ansari
f908dcf510 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into mergify/bp/version-13-hotfix/pr-28675 2021-12-06 16:10:54 +05:30
Saqib Ansari
5b25558135 fix(test): test_depr_entry_posting_with_income_account 2021-12-06 16:07:38 +05:30
GangaManoj
c8541ed8e5 fix: Test Depreciation Entry posting when Depreciation Expense Account is an Income Account 2021-12-06 16:07:29 +05:30
GangaManoj
5763f8405a fix: Test Depreciation Entry posting when Depreciation Expense Account is an Expense Account 2021-12-06 16:07:29 +05:30
GangaManoj
d898e74980 fix: Check root_type of Depreciation Expense Account 2021-12-06 16:07:29 +05:30
GangaManoj
81c88d643a fix: Check all ancestors and not just the root node 2021-12-06 16:07:06 +05:30
GangaManoj
78032dfb35 fix: Only raise an error if Depreciation Expense Account is neither an Income nor an Expense Account 2021-12-06 16:07:06 +05:30
GangaManoj
ce86bcf1eb fix: Make Depreciation Entry posting more flexible 2021-12-06 16:07:06 +05:30
GangaManoj
84952beed4 fix: Filter Depreciation Expense Account by root type 2021-12-06 16:06:27 +05:30
Deepesh Garg
334f22f453 Merge pull request #28744 from frappe/mergify/bp/version-13-hotfix/pr-28656
fix: Taxjar Nexus list visible only if child table is visible (backport #28656)
2021-12-06 15:57:14 +05:30
Saqib Ansari
d55daf5910 Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into mergify/bp/version-13-hotfix/pr-28675 2021-12-06 15:49:02 +05:30
Saqib
416faf76df fix: Calculate depreciation_amount accurately (backport #27585) 2021-12-06 15:43:48 +05:30
Saqib Ansari
1a2e815e6a fix: asset not copied on creating invoice return 2021-12-06 15:16:25 +05:30
Ankush Menat
90131f5e6e fix: reload sellling settings before patch 2021-12-06 12:12:35 +05:30
Ankush Menat
9a1b4119e9 test: set customer group and territory defaults
(cherry picked from commit a8375239eb)
2021-12-06 12:12:35 +05:30
Ankush Menat
e9af26e7b6 fix: patch to remove default item group and territory
(cherry picked from commit bdf7b8d379)
2021-12-06 12:12:35 +05:30
Ankush Menat
93ee870bf9 fix: remove bad defaults from selling settings
"All cusotmer groups" and "All territories" are pointless defaults, not
sure why these are made default. They don't help you track anything.
"All" might as well be `Null`.

Even the filters for customer_group suggest it shouldn't be group then
having the root as default makes no sense.

(cherry picked from commit 105b6d498c)
2021-12-06 12:12:35 +05:30
Subin Tom
a36c13e2d5 fix: removing db call for variables
(cherry picked from commit ecc5de6159)
2021-12-06 06:14:46 +00:00
Subin Tom
7529382c5a fix: Taxjar Nexus list visible only if child table is visible
(cherry picked from commit 0963fceede)
2021-12-06 06:14:45 +00:00
Saqib Ansari
635fd5e8f8 fix: conflicts 2021-12-06 11:33:37 +05:30
Rohit Waghchaure
5c1a2aee3a Merge branch 'version-13-pre-release' into version-13 2021-12-06 00:24:07 +05:30
Rohit Waghchaure
0e8981028e bumped to version 13.16.0 2021-12-06 00:44:06 +05:50
rohitwaghchaure
55c653a7f8 Merge pull request #28737 from rohitwaghchaure/change-log-for-v13-16
chore: change log for v13.16.0
2021-12-06 00:20:44 +05:30
Rohit Waghchaure
6398e588ec chore: change log for v13.16.0 2021-12-05 23:56:31 +05:30
mergify[bot]
b6ef93d574 fix(patch): create only component type field instead of running the whole setup (#28734) (#28736)
(cherry picked from commit 0ef42d1000)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-12-05 13:05:34 +05:30
mergify[bot]
797b75224e fix(patch): create only component type field instead of running the whole setup (#28734) (#28735)
(cherry picked from commit 0ef42d1000)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-12-05 13:03:08 +05:30
Noah Jacob
ddcbea3d0a test: added tests for manufacture stock entry when material_consumption is enabled
(cherry picked from commit 35346de162)
2021-12-04 18:51:16 +05:30
Noah Jacob
27c8c361d6 fix: incorrect outgoing rates when material_consumption enabled
(cherry picked from commit 7f3e6d149a)
2021-12-04 18:51:16 +05:30
rohitwaghchaure
ad9e45bd54 Merge pull request #28728 from frappe/mergify/bp/version-13-hotfix/pr-28710
fix: incorrect outgoing rates when material_consumption enabled (backport #28710)
2021-12-04 12:55:13 +05:30
Noah Jacob
740682ec20 test: added tests for manufacture stock entry when material_consumption is enabled
(cherry picked from commit 35346de162)
2021-12-04 07:05:15 +00:00
Noah Jacob
b59f5c2574 fix: incorrect outgoing rates when material_consumption enabled
(cherry picked from commit 7f3e6d149a)
2021-12-04 07:05:15 +00:00
Ankush Menat
35a3fbd4ed fix: weird item sorting by idx
(cherry picked from commit ba5a7ffd60)
2021-12-03 19:12:13 +05:30
Ankush Menat
c57f639ed8 fix: remove autocommit from item rename
(cherry picked from commit 5caf411be3)
2021-12-03 18:57:33 +05:30
Ankush Menat
8e19608d0f fix!: dont allow renaming warehouse primary key
(cherry picked from commit 72dbc3d6b8)
2021-12-03 18:57:33 +05:30
Ankush Menat
61eb754862 refactor: simplify the way SLEs are submitted
(cherry picked from commit cef84c25a7)
2021-12-03 18:48:22 +05:30
Ankush Menat
a9bf4ad8fa refactor: replace misleading variable name
(cherry picked from commit 97060c45e9)
2021-12-03 18:48:22 +05:30
Saqib
2a6d202061 fix: test wdv method for indian region
(cherry picked from commit 7681600b5e)
2021-12-03 11:24:46 +00:00
GangaManoj
a424f55943 fix: Test for WDV
(cherry picked from commit f047c6ffc8)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2021-12-03 11:24:45 +00:00
Saqib
b937c55b85 fix: reset temporary flag after use
(cherry picked from commit a261d08dd8)
2021-12-03 11:24:43 +00:00
GangaManoj
445f1b2a09 fix: Linters
(cherry picked from commit 06c505ddc2)
2021-12-03 11:24:42 +00:00
GangaManoj
f0076ca3f9 fix: Add flag for reverse depreciation entries
(cherry picked from commit cde0dae987)
2021-12-03 11:24:42 +00:00
GangaManoj
5146985a66 fix: Replace post_depreciation_entries() with make_depreciation_entry()
(cherry picked from commit 82bf5e5539)
2021-12-03 11:24:41 +00:00
GangaManoj
92ebe52432 fix: Only add additional depreciation schedule row on sale if depreciation_amount > 0
(cherry picked from commit 9e7022830e)
2021-12-03 11:24:40 +00:00
GangaManoj
595d6c31b5 fix: Add missing digit
(cherry picked from commit 0b8cb5dd47)
2021-12-03 11:24:40 +00:00
GangaManoj
c104a2a2f4 fix: Sider issues
(cherry picked from commit fdeb273fa0)
2021-12-03 11:24:39 +00:00
GangaManoj
9595f7cc3f fix: Add missing digit
(cherry picked from commit 60aae4423d)
2021-12-03 11:24:38 +00:00
GangaManoj
6657a15898 fix: Compare date strings
(cherry picked from commit 371b621364)
2021-12-03 11:24:38 +00:00
GangaManoj
db06373fa6 fix: Format tests
(cherry picked from commit e9d310a13e)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2021-12-03 11:24:36 +00:00
GangaManoj
a5b8b4ac41 fix: Remove PR creation from all tests in TestDepreciationBasics
(cherry picked from commit 968be70bd1)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2021-12-03 11:24:34 +00:00
GangaManoj
38ec9c80fc fix: Remove PR creation from all tests for Depreciation Methods
(cherry picked from commit 09215a9781)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2021-12-03 11:24:32 +00:00
GangaManoj
627d9633b2 fix: Move Purchase Receipt creation to setUpClass
(cherry picked from commit 4bf01bb4b7)
2021-12-03 11:24:29 +00:00
GangaManoj
511c742fd9 fix: Move test for Finance Books to Depreciation test suite
(cherry picked from commit e8986df3ca)
2021-12-03 11:24:29 +00:00
GangaManoj
026d72aff8 fix: Add test to validate available_for_use_date
(cherry picked from commit 83ec9879ee)
2021-12-03 11:24:28 +00:00
GangaManoj
0442230d98 fix: Enable cwip accounting
(cherry picked from commit 749d1b6ee6)
2021-12-03 11:24:27 +00:00
GangaManoj
e1f4672023 fix: Only validate against JV if it's not a reverse depreciation entry
(cherry picked from commit 8ea1ad9232)
2021-12-03 11:24:26 +00:00
GangaManoj
86fcc94b7a fix: Add tests to validate item
(cherry picked from commit a7ec007dcf)
2021-12-03 11:24:26 +00:00
GangaManoj
d81f4e625a fix: Add tests to validate Asset values
(cherry picked from commit d8aaf3d389)
2021-12-03 11:24:25 +00:00
GangaManoj
3cc8dd2b47 fix: Add tearDownClass()
(cherry picked from commit 4918e9533b)
2021-12-03 11:24:24 +00:00
GangaManoj
e28a7f11b7 fix: Replace setUp() with setUpClass()
(cherry picked from commit ef3f2fcb3a)
2021-12-03 11:24:24 +00:00
GangaManoj
5972acf0ec fix: Add test for depreciation on return of sold Asset
(cherry picked from commit 273fccf0dd)
2021-12-03 11:24:23 +00:00
GangaManoj
53789ae4d6 fix: Adjust depreciation_amount in final row
(cherry picked from commit adebf2d71b)
2021-12-03 11:24:22 +00:00
GangaManoj
4735162bdc fix: Unlink Depreciation Entry made on sale if the Asset is returned
(cherry picked from commit f51bd44929)
2021-12-03 11:24:21 +00:00
GangaManoj
d189ea8d37 fix: Rename tests
(cherry picked from commit 62fea8a5aa)
2021-12-03 11:24:20 +00:00
GangaManoj
ae6bac9fcb fix: Categorize into test suites
(cherry picked from commit c84c983073)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2021-12-03 11:24:18 +00:00
GangaManoj
94c3e0503f fix: Add tests for depreciation
(cherry picked from commit 40ec2d622b)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2021-12-03 11:24:15 +00:00
GangaManoj
7c114c0bc5 fix: Replace asset.schedules with asset.get('schedules')
(cherry picked from commit fdd9e6cc3c)
2021-12-03 11:24:13 +00:00
GangaManoj
46c0e349f6 fix: Reverse depreciation entry made on sale if asset that was set to be sold in the future gets returned
(cherry picked from commit 796ed947ce)
2021-12-03 11:24:12 +00:00
GangaManoj
91fbe54b8d fix: Reset depreciation schedule on returning asset
(cherry picked from commit b9fb59da58)
2021-12-03 11:24:12 +00:00
GangaManoj
7921e7ebfd fix: Add test for depreciation on sale of a depreciated Asset
(cherry picked from commit 7ab3b9dd5a)
2021-12-03 11:24:11 +00:00
GangaManoj
efe9926bb4 fix: Add depreciation_schedule details in create_asset()
(cherry picked from commit 249672c35d)
2021-12-03 11:24:10 +00:00
GangaManoj
9eb37197e0 fix: Remove extra brackets
(cherry picked from commit 700e78d69b)
2021-12-03 11:24:08 +00:00
GangaManoj
311f9c8389 fix: Calculate depreciation_amount accurately
(cherry picked from commit 3c8879e777)
2021-12-03 11:24:08 +00:00
GangaManoj
04acf5b08c fix: Correct expected_values
(cherry picked from commit 244d9dee04)
2021-12-03 11:24:07 +00:00
GangaManoj
9a3a22a08e fix: Calculate depreciation_left accurately
(cherry picked from commit 164a2ad28d)
2021-12-03 11:24:06 +00:00
mergify[bot]
e1c209973c fix(ksa): qrcode for invoices with special chars (#28717) 2021-12-03 16:38:26 +05:30
mergify[bot]
09f0e9be86 fix(ksa): qrcode for invoices with special chars (#28716) 2021-12-03 16:37:57 +05:30
Saqib
d021fc8464 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-28675 2021-12-03 15:59:01 +05:30
mergify[bot]
521318b4ad fix: cannot load company form (#28663) 2021-12-03 15:58:29 +05:30
Deepesh Garg
c02d46862d Merge pull request #28713 from frappe/mergify/bp/version-13-hotfix/pr-28708
fix: Invoice amount in KSA E Invoice QR Code (backport #28708)
2021-12-03 15:52:29 +05:30
Deepesh Garg
4c1d1555d2 Merge pull request #28711 from frappe/mergify/bp/version-13-pre-release/pr-28708
fix: Invoice amount in KSA E Invoice QR Code (backport #28708)
2021-12-03 15:47:20 +05:30
Deepesh Garg
64feb2862b Merge pull request #28697 from frappe/mergify/bp/version-13-pre-release/pr-28654
fix: Taxes and Charges template not getting copied from Purchase Order/Receipt to Invoice (backport #28654)
2021-12-03 15:46:53 +05:30
Deepesh Garg
3b3f764ef2 fix: Invocie amount in KSA E Invoice QR Code
(cherry picked from commit f2ffddf059)
2021-12-03 09:55:41 +00:00
Deepesh Garg
6fd7460abf fix: Invocie amount in KSA E Invoice QR Code
(cherry picked from commit f2ffddf059)
2021-12-03 09:54:46 +00:00
Deepesh Garg
e4c9581d6e Merge pull request #28642 from frappe/mergify/bp/version-13-pre-release/pr-28302
fix: Shipping Rule picking up old net_rate (backport #28302)
2021-12-03 15:20:28 +05:30
Deepesh Garg
b09274bd49 Merge pull request #28641 from frappe/mergify/bp/version-13-hotfix/pr-28302
fix: Shipping Rule picking up old net_rate (backport #28302)
2021-12-03 15:20:09 +05:30
mergify[bot]
99dfa91f81 feat: Grant commission on certain items only (#28645)
Co-authored-by: Sagar Vora <sagar@resilient.tech>
(cherry picked from commit e10ab1626c)
2021-12-03 15:17:45 +05:30
Saqib
f80e670580 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-28675 2021-12-03 12:59:17 +05:30
mergify[bot]
2f6b1569f4 fix(Non Profit): fetch memberships for 80G certificate by from date only (#28700) (#28704)
(cherry picked from commit 0b1808e1ee)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-12-03 12:08:14 +05:30
Saqib
f106e15fcc Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-28675 2021-12-03 11:53:32 +05:30
mergify[bot]
97dd2dbc56 fix: qrcode image name for invoices with special chars (#28702) 2021-12-03 11:53:02 +05:30
mergify[bot]
83418f5110 fix: qrcode image name for invoices with special chars 2021-12-03 11:52:47 +05:30
Saqib Ansari
bcb372ab61 fix: conflicts 2021-12-03 11:46:50 +05:30
Saqib Ansari
ae330bc132 fix: conflicts 2021-12-03 11:44:06 +05:30
GangaManoj
e5a5d5f8e5 fix: Remove unnecessary variable
(cherry picked from commit 828769ca70)

# Conflicts:
#	erpnext/assets/doctype/asset/asset.py
#	erpnext/regional/india/utils.py
2021-12-03 06:02:55 +00:00
GangaManoj
a12000921f fix: Test if depreciation schedules are set up properly for existing assets
(cherry picked from commit 774ac852c9)

# Conflicts:
#	erpnext/assets/doctype/asset/test_asset.py
2021-12-03 06:02:52 +00:00
GangaManoj
c888904cd2 fix: Modify has_pro_rata() to include existing assets
(cherry picked from commit de002005ac)
2021-12-03 06:02:50 +00:00
GangaManoj
7790c32676 fix: Create Depreciation Schedules properly for existing Assets
(cherry picked from commit 5c3d4caeda)

# Conflicts:
#	erpnext/assets/doctype/asset/asset.py
2021-12-03 06:02:49 +00:00
GangaManoj
a50ecffb69 fix: Fix depreciation_amount calculation
(cherry picked from commit 22cc8d2246)

# Conflicts:
#	erpnext/regional/india/utils.py
2021-12-03 06:02:47 +00:00
Deepesh Garg
6bb2051c11 fix: India utils code cleanup
(cherry picked from commit 56c626adbf)
2021-12-03 04:11:55 +00:00
Deepesh Garg
a5163b0879 fix: Taxes and Charges template not getting copied from Purchase Order/Receipt to Invoice
(cherry picked from commit 6a75e8d283)
2021-12-03 04:11:54 +00:00
Deepesh Garg
10c4874306 Merge pull request #28654 from deepeshgarg007/tax_template_mapping
fix: Taxes and Charges template not getting copied from Purchase Order/Receipt to Invoice
2021-12-03 09:40:54 +05:30
Deepesh Garg
313eb70bfa Merge pull request #28600 from frappe/mergify/bp/version-13-hotfix/pr-28592
fix: do not add gst fields if no indian company (backport #28592)
2021-12-03 09:37:54 +05:30
Deepesh Garg
519394e1fc Merge pull request #28682 from frappe/mergify/bp/version-13-pre-release/pr-28533
fix: misc minor Product Bundle fixes (backport #28533)
2021-12-02 19:14:32 +05:30
Deepesh Garg
a1fa55f41f Merge pull request #28681 from frappe/mergify/bp/version-13-hotfix/pr-28533
fix: misc minor Product Bundle fixes (backport #28533)
2021-12-02 19:13:57 +05:30
Deepesh Garg
8309cbe064 Merge pull request #28627 from deepeshgarg007/accounts_receivable_multi_currency
fix: Paid invoices showing in AR/AP report
2021-12-02 19:13:09 +05:30
Deepesh Garg
c10f4ebe70 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-28533 2021-12-02 17:18:45 +05:30
Deepesh Garg
f274f4decd Merge branch 'version-13-hotfix' into tax_template_mapping 2021-12-02 17:18:22 +05:30
Deepesh Garg
56c626adbf fix: India utils code cleanup 2021-12-02 17:17:56 +05:30
mergify[bot]
b47322af5a fix: remove change_abbr method (#28692) 2021-12-02 15:31:30 +05:30
Saqib
0808438508 fix: remove change_abbr method (#28691) 2021-12-02 15:00:42 +05:30
mergify[bot]
abfaa4c07e fix: dont requeue repost immediately and clear progress (#28684) (#28690)
(cherry picked from commit a37c99a23d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-02 14:58:24 +05:30
mergify[bot]
0325ed1277 fix: dont requeue repost immediately and clear progress (#28684) (#28689)
(cherry picked from commit a37c99a23d)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-02 14:58:17 +05:30
mergify[bot]
e7982a9c9e fix: Make buttons translatable (#28685) 2021-12-02 12:13:50 +05:30
mergify[bot]
b6d752201a fix: actual tax conversion in case of multicurrency invoices (#28686) 2021-12-02 12:13:34 +05:30
GangaManoj
1ec0cd4e5b fix: Add item to packing list
(cherry picked from commit a473e1dbe9)
2021-12-02 03:52:56 +00:00
GangaManoj
1b8a947a18 fix: Remove unnecessary comma
(cherry picked from commit c9743185c6)
2021-12-02 03:52:55 +00:00
GangaManoj
ad96511fba fix: Test Product Bundle price calculation when there are multiple Product Bundles
(cherry picked from commit adfd519139)
2021-12-02 03:52:54 +00:00
GangaManoj
2353fb64d8 fix: Test that indices are reset for Packed/Bundle Items when Product Bundles are removed from the Items table
(cherry picked from commit 325923afc7)
2021-12-02 03:52:54 +00:00
GangaManoj
eb851dd36a fix: Reset indices in the Packed/Bundle Items table on deleting Product Bundles
(cherry picked from commit 8370042f82)
2021-12-02 03:52:53 +00:00
GangaManoj
c9d3fa0649 fix: Fix Product Bundle price calculation when there are multiple Product Bundles
(cherry picked from commit 0803f87660)
2021-12-02 03:52:52 +00:00
GangaManoj
4a38e61345 fix: Add bundle items to PO only if the Product Bundle was selected from the SO
(cherry picked from commit 406278b5c1)
2021-12-02 03:52:51 +00:00
GangaManoj
a16fa09a54 fix: Add item to packing list
(cherry picked from commit a473e1dbe9)
2021-12-02 03:52:04 +00:00
GangaManoj
f38899a28a fix: Remove unnecessary comma
(cherry picked from commit c9743185c6)
2021-12-02 03:52:03 +00:00
GangaManoj
9aab38d242 fix: Test Product Bundle price calculation when there are multiple Product Bundles
(cherry picked from commit adfd519139)
2021-12-02 03:52:02 +00:00
GangaManoj
d2dd51f15b fix: Test that indices are reset for Packed/Bundle Items when Product Bundles are removed from the Items table
(cherry picked from commit 325923afc7)
2021-12-02 03:52:02 +00:00
GangaManoj
cfb6cbbd8c fix: Reset indices in the Packed/Bundle Items table on deleting Product Bundles
(cherry picked from commit 8370042f82)
2021-12-02 03:52:01 +00:00
GangaManoj
e18542ef6a fix: Fix Product Bundle price calculation when there are multiple Product Bundles
(cherry picked from commit 0803f87660)
2021-12-02 03:52:00 +00:00
GangaManoj
e8e0faa23a fix: Add bundle items to PO only if the Product Bundle was selected from the SO
(cherry picked from commit 406278b5c1)
2021-12-02 03:51:59 +00:00
mergify[bot]
742ede7ba4 test: dynamic fiscal year creation in tests (#28667) (#28670)
(cherry picked from commit fdffa037b5)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-01 17:53:53 +05:30
mergify[bot]
dd2ce664ea test: dynamic fiscal year creation in tests (#28667) (#28671)
(cherry picked from commit fdffa037b5)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-01 17:53:44 +05:30
mergify[bot]
d2a0a554a6 fix(POS Profile): replace cur_frm with frm (#28664) 2021-12-01 15:18:01 +05:30
mergify[bot]
54056b8150 chore: add timeout to GHA workflows (#26714) (#28662)
(cherry picked from commit 0bb60b37df)

Co-authored-by: Ankush <ankush@iwebnotes.com>
2021-12-01 11:24:20 +05:30
mergify[bot]
f599c375ed chore: add timeout to GHA workflows (#26714) (#28661)
(cherry picked from commit 0bb60b37df)

Co-authored-by: Ankush <ankush@iwebnotes.com>
2021-12-01 11:23:40 +05:30
Deepesh Garg
6a75e8d283 fix: Taxes and Charges template not getting copied from Purchase Order/Receipt to Invoice 2021-11-30 20:36:30 +05:30
Ankush Menat
743b8c23ed Merge pull request #28626 from frappe/mergify/bp/version-13-hotfix/pr-28349
feat: Let serialised Items be consumed during Asset Repairs (backport #28349)
2021-11-30 18:51:39 +05:30
mergify[bot]
62c5fd2c4c fix: Unable to search project by project name in Sales Invoice (bp #28648)
(cherry picked from commit 08b7c856b2)

Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
2021-11-30 18:43:22 +05:30
Deepesh Garg
1d38040091 Merge pull request #28649 from frappe/mergify/bp/version-13-hotfix/pr-28636
feat: Show Zero Values filter in consolidated financial statement (backport #28636)
2021-11-30 18:40:09 +05:30
Deepesh Garg
08b7c856b2 fix: Unable to search project by project name in Sales Invoice (#28648) 2021-11-30 18:36:56 +05:30
Deepesh Garg
b3d182e782 Merge branch 'version-13-hotfix' into accounts_receivable_multi_currency 2021-11-30 18:20:08 +05:30
Deepesh Garg
f3916c02a8 feat: Show Zero Values filter in consolidated financial statement
(cherry picked from commit 9610086d0c)
2021-11-30 12:46:30 +00:00
mergify[bot]
d711a3883b chore: remove duplicate code (bp #28646)
[skip ci]

(cherry picked from commit 0854c183aa)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-30 18:00:54 +05:30
Subin Tom
10c92c45d8 fix: merge conflicts 2021-11-30 16:11:29 +05:30
Subin Tom
f591596615 fix: merge conflicts 2021-11-30 16:06:55 +05:30
mergify[bot]
9975da755b fix: allow creating Shift Assignment for same day (#28613) (#28629)
(cherry picked from commit 4458b24813)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-30 14:46:59 +05:30
mergify[bot]
6c5cefb3ac fix: allow creating Shift Assignment for same day (#28613) (#28630)
(cherry picked from commit 4458b24813)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-30 14:42:36 +05:30
Subin Tom
b1c1b0ce49 fix: sider issues
(cherry picked from commit e7b4204c35)

# Conflicts:
#	erpnext/public/js/controllers/taxes_and_totals.js
2021-11-30 09:08:52 +00:00
Subin Tom
fcfd6d6f04 fix: fixed tests, separated a method for shipping charges
(cherry picked from commit a8e2c02e14)
2021-11-30 09:08:51 +00:00
Subin Tom
8d0493113a fix: check if shipping rule value exists
(cherry picked from commit af1fce0419)
2021-11-30 09:08:50 +00:00
Subin Tom
edf446e632 fix: calling shipping rule method during net_total calculation in taxes_adn_totals.py
(cherry picked from commit 18ae03d967)
2021-11-30 09:08:50 +00:00
Subin Tom
bf212da25a fix: Shipping Rule picking up old net_rate
(cherry picked from commit c78b8b7897)

# Conflicts:
#	erpnext/public/js/controllers/taxes_and_totals.js
#	erpnext/public/js/controllers/transaction.js
2021-11-30 09:08:50 +00:00
Subin Tom
facaa9cc39 fix: sider issues
(cherry picked from commit e7b4204c35)

# Conflicts:
#	erpnext/public/js/controllers/taxes_and_totals.js
2021-11-30 09:08:17 +00:00
Subin Tom
9e1fd09a64 fix: fixed tests, separated a method for shipping charges
(cherry picked from commit a8e2c02e14)
2021-11-30 09:08:16 +00:00
Subin Tom
d2d8986553 fix: check if shipping rule value exists
(cherry picked from commit af1fce0419)
2021-11-30 09:08:16 +00:00
Subin Tom
e6d0103cf3 fix: calling shipping rule method during net_total calculation in taxes_adn_totals.py
(cherry picked from commit 18ae03d967)
2021-11-30 09:08:15 +00:00
Subin Tom
e65a720810 fix: Shipping Rule picking up old net_rate
(cherry picked from commit c78b8b7897)

# Conflicts:
#	erpnext/public/js/controllers/taxes_and_totals.js
#	erpnext/public/js/controllers/transaction.js
2021-11-30 09:08:15 +00:00
mergify[bot]
3d76afbc7b fix: Employee Transfer and Project Profitability test cases (#28633) (#28640)
* fix: Employee Transfer testcases

* fix: Project Profitability test case

(cherry picked from commit d0f4f03b66)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-30 14:26:57 +05:30
mergify[bot]
16ce9dfa12 fix: Employee Transfer and Project Profitability test cases (#28633) (#28639)
* fix: Employee Transfer testcases

* fix: Project Profitability test case

(cherry picked from commit d0f4f03b66)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-30 14:26:43 +05:30
mergify[bot]
c69fe4efb4 fix(ux): remove attachment limit from item doctype (backport #28632)
fix(ux): remove attachment limit from item doctype (backport #28632)
2021-11-30 13:48:22 +05:30
Deepesh Garg
5e7ce5370f fix: Paid showing in AR/AP report 2021-11-29 23:53:28 +05:30
rohitwaghchaure
bf62c7634a Merge pull request #28622 from rohitwaghchaure/merge-hotfix-to-pre-release-for-13-16
chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release'
2021-11-29 21:08:49 +05:30
mergify[bot]
b6ffe333b9 fix(regional): hsn_wise as false returns item_code (#28619) 2021-11-29 20:47:56 +05:30
mergify[bot]
20f9b621e4 feat(pos): Total item qty field to POS screen (backport #28331) 2021-11-29 20:46:47 +05:30
GangaManoj
944b995179 fix: Change order of import statements
(cherry picked from commit c94f1ed39a)
2021-11-29 15:13:48 +00:00
GangaManoj
1c643059df fix: Remove unused import
(cherry picked from commit b28f137ee8)
2021-11-29 15:13:48 +00:00
GangaManoj
53eb7bd1c3 fix: Add test for consumption of serialized Assets
(cherry picked from commit 6b75d1439f)
2021-11-29 15:13:47 +00:00
GangaManoj
45f948f575 fix: Create setUpClass
(cherry picked from commit efac7b0904)
2021-11-29 15:13:47 +00:00
GangaManoj
a1f47d8ae0 fix: Create stock item
(cherry picked from commit eea80b6c01)
2021-11-29 15:13:46 +00:00
GangaManoj
7dbf6867d5 fix: Replace 'item' with 'item_code' in tests
(cherry picked from commit c9e79ef1f2)
2021-11-29 15:13:46 +00:00
GangaManoj
b38819aa3f fix: Add serial no to Stock Entry doc to decrease quantity for Stock Items consumed during repair
(cherry picked from commit 1393f97ad5)
2021-11-29 15:13:46 +00:00
GangaManoj
ebd89e1c3d feat: Add 'Add Serial No' button in the Stock Items table
(cherry picked from commit 4668bb4be0)
2021-11-29 15:13:45 +00:00
GangaManoj
246f02d585 fix: Rename item to item_code
(cherry picked from commit abb535540a)
2021-11-29 15:13:45 +00:00
GangaManoj
4b9d1fa0de feat: Add Serial No field
(cherry picked from commit 1aed8c4b2f)
2021-11-29 15:13:44 +00:00
Rohit Waghchaure
ced223188f chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release' 2021-11-29 19:41:48 +05:30
Rohit Waghchaure
db7fbfb5a7 Merge branch 'version-13-pre-release' into version-13 2021-11-29 19:18:12 +05:30
Rohit Waghchaure
f1fb0fc5cb bumped to version 13.15.2 2021-11-29 19:38:12 +05:50
Deepesh Garg
fbe5157e3f Merge pull request #28620 from frappe/mergify/bp/version-13-hotfix/pr-28464
fix:Change QR Code Triggerr event (backport #28464)
2021-11-29 19:15:33 +05:30
Deepesh Garg
6feb0df8e8 Merge pull request #28621 from frappe/mergify/bp/version-13-pre-release/pr-28464
fix:Change QR Code Triggerr event (backport #28464)
2021-11-29 19:15:13 +05:30
Deepesh Garg
ca375b0e8d fix: Move trigger from on trash to on cancel
(cherry picked from commit 4382040fb6)
2021-11-29 13:18:15 +00:00
Mohammed Redah
26932885bb fix:Change QR Code Triggerr event
This fixes the bug if the user changes the date after insertion it will show the wrong values

(cherry picked from commit 9d319c2205)
2021-11-29 13:18:14 +00:00
Deepesh Garg
db5930742d fix: Move trigger from on trash to on cancel
(cherry picked from commit 4382040fb6)
2021-11-29 13:17:34 +00:00
Mohammed Redah
f32ed1bd41 fix:Change QR Code Triggerr event
This fixes the bug if the user changes the date after insertion it will show the wrong values

(cherry picked from commit 9d319c2205)
2021-11-29 13:17:34 +00:00
Deepesh Garg
12a79dc6ac Merge pull request #28609 from frappe/mergify/bp/version-13-hotfix/pr-28556
fix: incorrect discount amount set when item is replaced (backport #28556)
2021-11-29 18:06:19 +05:30
rohitwaghchaure
0628aba0c7 Merge pull request #28616 from frappe/mergify/bp/version-13-hotfix/pr-28611
fix: changed fieldtype from int to float for the field Batch Size in the Work Order Operation table (backport #28611)
2021-11-29 17:49:47 +05:30
Deepesh Garg
fcaebc465e Merge pull request #28614 from frappe/mergify/bp/version-13-hotfix/pr-28605
refactor(KSA VAT): QR Code as per ZATKA specification (backport #28605)
2021-11-29 17:38:47 +05:30
Deepesh Garg
69c0e4dea1 Merge pull request #28612 from frappe/mergify/bp/version-13-pre-release/pr-28605
refactor(KSA VAT): QR Code as per ZATKA specification (backport #28605)
2021-11-29 17:38:26 +05:30
Rohit Waghchaure
1733c1c513 fix: changed fieldtype from int to float for the field Batch Size in the work order
(cherry picked from commit 7fac9b8e9c)
2021-11-29 11:44:25 +00:00
Deepesh Garg
fa54cd31a0 fix: Remove duplicate patch 2021-11-29 16:54:34 +05:30
Deepesh Garg
eeaed9d730 fix: KSA print format for invoices not having item codes
(cherry picked from commit af6fc29770)
2021-11-29 11:17:42 +00:00
Deepesh Garg
63d29b5d01 fix: Translations
(cherry picked from commit f3f7ed6f0d)
2021-11-29 11:17:41 +00:00
Ahmad
7fed860654 fix: KSA VAT QR Code arabic conversion
(cherry picked from commit 31b9b84fdf)
2021-11-29 11:17:40 +00:00
Ahmad
ca0a6c04fb refactor: comments removed
(cherry picked from commit de784d8bfe)
2021-11-29 11:17:40 +00:00
Ahmad
35f4159274 refactor(KSA VAT): QR Code as per ZATKA specification
(cherry picked from commit d1746caa02)
2021-11-29 11:17:39 +00:00
Deepesh Garg
9348fcf6c3 fix: KSA print format for invoices not having item codes
(cherry picked from commit af6fc29770)
2021-11-29 11:17:04 +00:00
Deepesh Garg
3289ba92fa fix: Translations
(cherry picked from commit f3f7ed6f0d)
2021-11-29 11:17:03 +00:00
Ahmad
f2f00ad402 fix: KSA VAT QR Code arabic conversion
(cherry picked from commit 31b9b84fdf)
2021-11-29 11:17:03 +00:00
Ahmad
641043e893 refactor: comments removed
(cherry picked from commit de784d8bfe)
2021-11-29 11:17:02 +00:00
Ahmad
fda69bc0cf refactor(KSA VAT): QR Code as per ZATKA specification
(cherry picked from commit d1746caa02)
2021-11-29 11:17:01 +00:00
Saqib
acb2eec7ed fix: incorrect discount amount set when item is replaced (#28556)
(cherry picked from commit c0cc72ec1d)
2021-11-29 09:35:59 +00:00
mergify[bot]
2cb24c8ec5 fix: Employee Advance paid amount not updated on PE cancellation (#28572) (#28608)
* fix: employee advance paid amount not updated on PE cancellation

* fix: convert raw sql queries to qb

* test: Employee Advance Paid Amount on PE cancellation

* chore: disable no copy for sanctioned amount in Expense Claim

(cherry picked from commit baf41fdc9c)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-29 14:44:05 +05:30
Marica
ac2af2d99c Merge pull request #28606 from marination/custom-search
feat: Allow addition of custom product search box
2021-11-29 14:31:49 +05:30
marination
7fec4ab88b fix: search_box_id instead of search_box_class 2021-11-29 14:23:32 +05:30
marination
9ec58dec4d fix: Sider (missing semicolon) 2021-11-29 13:59:45 +05:30
marination
ae27bbe3c0 feat: Allow addition of custom search box
- allow passing custom search box class to bind search actions on
- this allows users to inject and get a custom search box running on any page
2021-11-29 13:47:14 +05:30
Ankush Menat
d270b320f1 chore: correct docstring
[skip ci]
2021-11-29 13:37:00 +05:30
Ankush Menat
2768047c9b fix: use get_all instead of get_list for child tables
(cherry picked from commit f862339024)
2021-11-29 13:37:00 +05:30
Deepesh Garg
243022e166 fix: Conflicts 2021-11-29 11:33:52 +05:30
Himanshu
cd4adaf0b5 Delete __init__.py
(cherry picked from commit de6f104b74)
2021-11-29 03:57:45 +00:00
hrwx
3b75f09462 fix: do not add gst fields if no indian company
(cherry picked from commit 43038aab79)

# Conflicts:
#	erpnext/patches.txt
2021-11-29 03:57:41 +00:00
mergify[bot]
3621ee234e fix(ux): allow translations (#28455) (#28590)
* Translation

* Translations

(cherry picked from commit cdaf0a04cf)

Co-authored-by: xdlumertz <alexandrelumertz@gmail.com>
2021-11-27 15:11:25 +00:00
mergify[bot]
44cdedf9a2 fix: better validation for Integration Request (#28540) 2021-11-27 16:32:04 +05:30
mergify[bot]
965bfa5c62 fix: incorrect balance for warehouses (#28583) (#28584)
(cherry picked from commit 7ff30a4b2b)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-11-26 17:36:26 +05:30
Deepesh Garg
e6b3becfbb Merge pull request #28581 from frappe/mergify/bp/version-13-hotfix/pr-27348
fix (refactor): Tax Withholding for Advances using Payment Entry against suppliers (backport #27348)
2021-11-26 14:50:12 +05:30
Deepesh Garg
03449a09ce fix: Incorrect indentation
(cherry picked from commit 7f06c8ca57)
2021-11-26 08:59:30 +00:00
Deepesh Garg
125ce5dd6d fix: Add tests
(cherry picked from commit f07f010962)
2021-11-26 08:59:30 +00:00
Deepesh Garg
31f95bd5d1 fix(refactor): Advance tds allocation to purchase invoice
(cherry picked from commit 5ba3b28d69)
2021-11-26 08:59:30 +00:00
Deepesh Garg
e2956922dc fix: GL Entries on advance TDS allocation
(cherry picked from commit 25d208aa8a)
2021-11-26 08:59:29 +00:00
mergify[bot]
cf5cb70f35 fix: Use get_all instead of get_list for child doctype (#28538) (#28577)
* fix(Student Attendance Tool): Use `get_all` instead of `get_list` for child doctype

* fix(Course Schedule): incorrect fetch from value

* fix: sider

* fix(Gratuity): Use `get_all` instead of `get_list` for child doctype

(cherry picked from commit ca8dec0cf2)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-26 14:01:04 +05:30
mergify[bot]
875b924279 fix: Customer, Supplier heatmap data not rendering (#28553) (#28575)
* fix: adding get_timeline_data import on supplier.py, customer.py

(cherry picked from commit 2a5f663a1e)

Co-authored-by: Shariq Ansari <30859809+shariquerik@users.noreply.github.com>
2021-11-26 13:37:09 +05:30
mergify[bot]
b9218b3c60 fix: over billing validation (#28573) 2021-11-26 12:46:49 +05:30
Rohit Waghchaure
a0579ece92 Merge branch 'version-13-pre-release' into version-13 2021-11-26 12:38:51 +05:30
Rohit Waghchaure
652b7393dc bumped to version 13.15.1 2021-11-26 12:58:50 +05:50
mergify[bot]
eac67db985 fix: checkbox triggers get_items and sub_assembly buttons (#28558) (#28571)
(cherry picked from commit 73bfd59846)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-11-26 11:54:54 +05:30
mergify[bot]
c4262210c1 fix: total stock summary UI glitch #28564 (#28566)
fix: total stock summary UI glitch
(cherry picked from commit 87f2dcfb59)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-25 19:40:48 +05:30
Marica
90049ffff5 Merge pull request #28557 from frappe/mergify/bp/version-13-hotfix/pr-28123
fix: Remove RM Cost column as cost is not retrievable from Job card (backport #28123)
2021-11-25 19:09:08 +05:30
Marica
66f02b0817 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-28123 2021-11-25 18:46:56 +05:30
Ankush Menat
479259c1ae Merge pull request #28560 from frappe/mergify/bp/version-13-hotfix/pr-28124
refactor: item-warehouse based reposting (backport #28124)
2021-11-25 18:07:27 +05:30
Ankush Menat
12e1d169d0 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-28124 2021-11-25 17:48:37 +05:30
Ankush Menat
fbfaf75b66 chore: remove __future__ py2 compatibility imports 2021-11-25 17:42:24 +05:30
Ankush Menat
16682e452d fix: patch failure due to new doctype
(cherry picked from commit 2b3404435b)
2021-11-25 17:40:58 +05:30
Ankush Menat
ccb8defc0b fix: ignore permissions while creating reposts
(cherry picked from commit 0a2964dc82)
2021-11-25 16:43:13 +05:30
Ankush Menat
1c485a8ae4 refactor: deduplicate during repost background job
(cherry picked from commit ed94f0f3f2)
2021-11-25 16:43:06 +05:30
Ankush Menat
2b8950243a test: item-wh deduplication in reposting
(cherry picked from commit 55631dd0d6)
2021-11-25 11:08:14 +00:00
Ankush Menat
d55aac26ce perf: skip unnecessary item-wh reposts
Using basic idea that repost with older posting date will also take care
of subsequent posting dates...

When Item-WH reposts are queued:

1. If another repost with same item-wh but older posting date exists
    then skip current one.
2. If another repost with same item-wh but newer posting date exists
    then skip another one.

(cherry picked from commit 0d0e24a5f5)
2021-11-25 11:08:13 +00:00
Ankush Menat
3e9d639fb5 fix: dont erase voucher_type and voucher_no for item_wh repost
kept for tracability.

(cherry picked from commit 1d3842f03a)
2021-11-25 11:08:12 +00:00
Ankush Menat
21f64e5eba perf: index for item-sh on repost item valuation
Item-WH based reposting requires querying existing similar repost.
Assuming there is only 1 max extra entry with same params just indexing
item-WH is sufficient to speed up the query.

(cherry picked from commit a5a8c9104f)
2021-11-25 11:08:11 +00:00
Ankush Menat
7ae5bc8911 feat: option to select reposting method
In current implementation selecting Item-Warehouse based reposting is
better for few users, who don't use depenent SLEs but have frequent
transactions involving same items.

This change lets them switch to item-warehouse based reposting if
required.

Only use this if you understand technicalities of stock reposting. This
is experimental but will become mainstream in coming days.

(cherry picked from commit 45dd46be3d)
2021-11-25 11:08:10 +00:00
Ankush Menat
db22859b54 refactor: reuse get_items_to_be_repost function
(cherry picked from commit d220e08ba4)
2021-11-25 11:08:09 +00:00
Ankush Menat
876c85fbf7 test: item-wh repost creation
(cherry picked from commit a36c249d3d)
2021-11-25 11:08:09 +00:00
Ankush Menat
0032ee46be refactor: item-wh wise reposting by default
(cherry picked from commit 6dc9b822bc)
2021-11-25 11:08:08 +00:00
Saqib
80d0b6ddc8 revert: "feat: Accounts, Selling & Assets Onboarding cleanup (#28491)" (#28559) 2021-11-25 16:36:29 +05:30
marination
9fa8d02184 fix: Remove commented code
(cherry picked from commit 42395af22a)
2021-11-25 09:06:24 +00:00
marination
e47f7a3023 chore: Add comment hinting to reason
(cherry picked from commit 8502ccb5b2)
2021-11-25 09:06:24 +00:00
marination
8e9cd83c4b fix: Remove RM Cost column as cost is not retrievable from Job card
(cherry picked from commit 27236b7e9e)
2021-11-25 09:06:23 +00:00
mergify[bot]
46df181d00 fix: do not get password if client_secret is not set (#28554) 2021-11-25 13:45:44 +05:30
Saqib
5589e189b5 fix: do not get password if client_secret is not set (#28547) 2021-11-25 12:05:29 +05:30
Ankush Menat
88a8bc7ebc test: shopify test custom field creation failing (#28544) 2021-11-24 17:20:38 +05:30
mergify[bot]
32855073ff fix: fixes in work order doctype (#28217) (#28543)
* fix: fixes in work order doctype

* fix: sider issues and disabled set only once property

* fix: set default qty to manufacture

* fix: dont manually collapse sections

* fix: remove unnecessary messages

* fix: make dependent fields read only


Co-authored-by: Mohammed Yusuf Shaikh <49878143+mohammedyusufshaikh@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-24 16:44:20 +05:30
mergify[bot]
b8c867a4bc fix: correct module for reloading doc (#28526)
(cherry picked from commit 0a6021e854)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-23 18:20:36 +05:30
Bhavesh Maheshwari
7ae1369d64 fix: broken bom tree view and remove duplicate button (#28512)
* fix: broken bom tree view and remove duplicate button

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-23 17:51:13 +05:30
Akash Krishna
34deab5b71 fix: Healthcare Practitioner - query (#28303) 2021-11-23 17:48:50 +05:30
mergify[bot]
623cef1032 fix: Replace 'parent' with 'invoice_or_item' (#28516) 2021-11-23 14:02:54 +05:30
mergify[bot]
b7c63212cd fix: POS Item cart only taxes with amount displayed (#28515) 2021-11-23 11:41:24 +05:30
mergify[bot]
adcf906d1c fix: Employee link formatter showing incorrect value for Employee Name (#28504) (#28514)
(cherry picked from commit 5ba1bc1572)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-23 09:39:10 +05:30
mergify[bot]
294de89b9b fix(UX): Allocated Amount in Advances not updated on updating expense amount in Expense Claim (#28497) (#28505)
* fix(UX): Allocated Amount in Advances not updated on updating expense amount in Expense Claim

* fix: Expense Claim Advance form labels

(cherry picked from commit e7eef9601d)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-23 08:52:31 +05:30
Rohit Waghchaure
c92dfa988e Merge branch 'version-13-pre-release' into version-13 2021-11-22 22:50:39 +05:30
Rohit Waghchaure
d03bc7d8dc bumped to version 13.15.0 2021-11-22 23:10:38 +05:50
rohitwaghchaure
742249b6c9 Merge pull request #28508 from rohitwaghchaure/change-log-for-v13-15
chore: change log for v13.15.0
2021-11-22 22:48:43 +05:30
Rohit Waghchaure
24c21c7f49 chore: change log for v13.15.0 2021-11-22 22:45:58 +05:30
rohitwaghchaure
c48f60e6e2 Merge pull request #28506 from frappe/revert-28499-mergify/bp/version-13-pre-release/pr-28491
revert: "feat: Accounts, Selling & Assets Onboarding cleanup #28499"
2021-11-22 22:31:54 +05:30
Saqib
8824712feb Revert "feat: Accounts, Selling & Assets Onboarding cleanup (#28499)"
This reverts commit 145bcbaa6d.
2021-11-22 20:26:44 +05:30
Deepesh Garg
3b2b9ce70c Merge pull request #28503 from frappe/mergify/bp/version-13-pre-release/pr-28469
fix: FY query returning None for new company (backport #28469)
2021-11-22 20:20:17 +05:30
Deepesh Garg
fe94ec6036 Merge pull request #28502 from frappe/mergify/bp/version-13-hotfix/pr-28469
fix: FY query returning None for new company (backport #28469)
2021-11-22 20:20:07 +05:30
Subin Tom
953f46e289 fix: FY query returning None for new company
(cherry picked from commit 350ed1a6c2)
2021-11-22 13:54:11 +00:00
Subin Tom
b68d5f86f9 fix: FY query returning None for new company
(cherry picked from commit 350ed1a6c2)
2021-11-22 13:53:44 +00:00
mergify[bot]
761bd8c97b fix: KSA Invoice print format for multicurrency invoices (#28495) 2021-11-22 18:25:37 +05:30
mergify[bot]
3bdf5c8673 fix: KSA Invoice print format for multicurrency invoices (#28496) 2021-11-22 18:25:21 +05:30
mergify[bot]
145bcbaa6d feat: Accounts, Selling & Assets Onboarding cleanup (#28499) 2021-11-22 18:24:51 +05:30
mergify[bot]
358205b177 feat: Accounts, Selling & Assets Onboarding cleanup (#28491) 2021-11-22 16:45:23 +05:30
Anupam Kumar
295dc32bd2 Merge pull request #28436 from anupamvs/crm-lead-validate-cleanup
fix: lead validate function cleanup
2021-11-22 14:43:47 +05:30
Anupam Kumar
08717192c7 Merge branch 'version-13-hotfix' into crm-lead-validate-cleanup 2021-11-22 14:43:34 +05:30
mergify[bot]
b6b45c6275 fix: POS string translation (#28490) 2021-11-22 13:58:47 +05:30
mergify[bot]
dff3decd56 fix: Closed status error in Work Order Summary (backport #28460)
* fix: Closed status error in Work Order Summary (#28460)

* fix: Closed status error in Work Order Summary

* chore: use get_meta to get status options

* refactor: simplify code

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

# Conflicts:
#	erpnext/manufacturing/report/work_order_summary/work_order_summary.py

* fix: resolve conflict

Co-authored-by: Sagar Sharma <63660334+s-aga-r@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-22 13:24:25 +05:30
mergify[bot]
1b4659f028 fix: Closed status error in Work Order Summary (backport #28460)
* fix: Closed status error in Work Order Summary (#28460)

* fix: Closed status error in Work Order Summary

* chore: use get_meta to get status options

* refactor: simplify code

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

# Conflicts:
#	erpnext/manufacturing/report/work_order_summary/work_order_summary.py

* fix: resolve conflict

Co-authored-by: Sagar Sharma <63660334+s-aga-r@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-22 13:23:22 +05:30
Saqib
2a7ca32296 Merge pull request #28480 from frappe/mergify/bp/version-13-hotfix/pr-28402
fix: Gross Profit report totals (backport #28402)
2021-11-22 13:15:30 +05:30
mergify[bot]
d8025b37cd feat: create party link from customer/supplier (#28481) 2021-11-22 13:15:12 +05:30
mergify[bot]
464428b15a fix: cost center wise ledger posting for pcv (#28482) 2021-11-22 13:14:53 +05:30
mergify[bot]
7c731147ba fix: Add extra column to display Invoice or Item when grouped by Invoice (#28483) 2021-11-22 13:14:38 +05:30
Ankush Menat
f4797ac5e3 fix: don't use cached doc while reposting
(cherry picked from commit c436e30ee6)
2021-11-22 13:08:21 +05:30
Ankush Menat
636a6fcae0 fix: ignore permissions while creating repost
If user reached this code then they already have permission to create
stock transaction, hence ignore permission checks while
creating/cancelling repost item valuation entries.

(cherry picked from commit aa024fc9da)
2021-11-22 13:08:21 +05:30
Ankush Menat
1267543064 fix: restrict repost valuation to manager roles
(cherry picked from commit 42f1dd98dd)
2021-11-22 13:08:21 +05:30
Anupam Kumar
3fa8b8956f Merge branch 'version-13-hotfix' into crm-lead-validate-cleanup 2021-11-22 13:04:18 +05:30
mergify[bot]
705319e563 fix: Filter out cancelled and non-depreciable Assets in Asset Value Adjustment (#28478) 2021-11-22 12:22:16 +05:30
mergify[bot]
c3c35c5ab5 fix: add child button in coa tree (#28479) 2021-11-22 12:21:56 +05:30
GangaManoj
46621bc3b1 fix: Replace 'Totals' with 'Total'
(cherry picked from commit 1affa12b74)
2021-11-22 06:51:55 +00:00
GangaManoj
53d1733162 fix: Display totals row in bold
(cherry picked from commit 508a2301ee)
2021-11-22 06:51:55 +00:00
GangaManoj
e9f599de5d fix: Remove unnecessary condition
(cherry picked from commit c7ffe3a7b4)
2021-11-22 06:51:54 +00:00
GangaManoj
85bf2574be fix: Add totals row when Grouped By Invoice
(cherry picked from commit 582a7ae964)
2021-11-22 06:51:54 +00:00
GangaManoj
826d4051a8 fix: Remove default Totals row
(cherry picked from commit 3aaf7cb408)
2021-11-22 06:51:54 +00:00
mergify[bot]
063d474cd0 refactor!: remove abbreviation renaming (#28441) 2021-11-22 11:36:56 +05:30
mergify[bot]
e40d63dc13 fix(e-invoicing): totals validation of e-invoices (#28476) 2021-11-22 11:23:33 +05:30
Deepesh Garg
707c41af3b Merge pull request #28475 from frappe/mergify/bp/version-13-hotfix/pr-28471
fix: bug with qrcode generation due to default print format name (backport #28471)
2021-11-22 11:17:10 +05:30
Deepesh Garg
2a165d6250 Merge pull request #28474 from frappe/mergify/bp/version-13-pre-release/pr-28471
fix: bug with qrcode generation due to default print format name (backport #28471)
2021-11-22 11:16:53 +05:30
Saqib
5266b34010 fix(e-invoicing): totals validation of e-invoices (#28418) 2021-11-22 10:57:05 +05:30
Saqib Ansari
9d58613159 fix: bug with qrcode generation due to default print format name
(cherry picked from commit ac27391a1f)
2021-11-22 05:08:36 +00:00
Saqib Ansari
2c6d973dd6 fix: bug with qrcode generation due to default print format name
(cherry picked from commit ac27391a1f)
2021-11-22 05:08:15 +00:00
mergify[bot]
cca51f5a6e fix: coa balance rendering bug (#28472) 2021-11-20 15:47:02 +05:30
Deepesh Garg
007057e5f2 Merge pull request #28462 from frappe/mergify/bp/version-13-pre-release/pr-28459
fix(India): GST category not getting auto updated (backport #28459)
2021-11-19 13:06:29 +05:30
Deepesh Garg
08207242c1 fix: Add test for gst category check
(cherry picked from commit cdbc991e3f)
2021-11-19 06:52:22 +00:00
Deepesh Garg
24c113bf68 fix(India): GST category not getting auto updated
(cherry picked from commit f8a26a9fac)
2021-11-19 06:52:22 +00:00
Deepesh Garg
b4f20a43d8 Merge pull request #28459 from deepeshgarg007/gst_category_set_fix
fix(India): GST category not getting auto updated
2021-11-19 12:21:12 +05:30
Deepesh Garg
cdbc991e3f fix: Add test for gst category check 2021-11-19 11:58:44 +05:30
Deepesh Garg
f8a26a9fac fix(India): GST category not getting auto updated 2021-11-19 11:03:13 +05:30
Marica
4a4b327026 Merge pull request #28412 from frappe/mergify/bp/version-13-hotfix/pr-28269
refactor:  (ux) Accepted/Rejected/Received Qty UX (backport #28269)
2021-11-18 15:40:15 +05:30
marination
1d706fd0f7 fix: (server test) Missing variable declaration 2021-11-18 15:19:12 +05:30
Ankush Menat
5052989957 test: basic test for serialize reco cancel
(cherry picked from commit ed99aca36f)
2021-11-18 14:35:36 +05:30
Ankush Menat
098d6ccedf fix: can not cancel stock reconciliation with sr no
(cherry picked from commit 8c85012a70)
2021-11-18 14:35:36 +05:30
Ankush Menat
bceeb0f751 test: basic test for serialize reco cancel
(cherry picked from commit ed99aca36f)
2021-11-18 14:35:13 +05:30
Ankush Menat
cf9397eea0 fix: can not cancel stock reconciliation with sr no
(cherry picked from commit 8c85012a70)
2021-11-18 14:35:13 +05:30
mergify[bot]
6fdd5e990a chore: remove manual collapsing of section (#28435) (#28451)
(cherry picked from commit 8102e4a210)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-18 14:14:44 +05:30
mergify[bot]
840256ee31 chore: remove manual collapsing of section (#28435) (#28450)
(cherry picked from commit 8102e4a210)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-18 14:12:27 +05:30
mergify[bot]
a60c64857a fix: unchecking the "With Operations" in BOM clears operations table (backport #28446) (#28447)
* fix: unchecking the "With Operations" in BOM clears operations table #28446

(cherry picked from commit 488d34af1f)

# Conflicts:
#	erpnext/manufacturing/doctype/bom/bom.js

* fix: resolve conflict

Co-authored-by: Sagar Sharma <63660334+s-aga-r@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-18 14:11:45 +05:30
Anupam Kumar
9346398e19 Merge branch 'version-13-hotfix' into crm-lead-validate-cleanup 2021-11-18 10:38:32 +05:30
Ankush Menat
38d956f9f9 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-28269 2021-11-17 19:38:57 +05:30
mergify[bot]
3359c547d6 fix: (style) Warehouse Capacity Dashboard UI (#28438)
- Made refresh button icon visible
- Edit Capacity button size and alignment
- Medium font on dashboard

(cherry picked from commit 23486a929d)

Co-authored-by: marination <maricadsouza221197@gmail.com>
2021-11-17 19:37:38 +05:30
mergify[bot]
b4db3362e0 fix: added job_card_item link in material request (#28222) (#28434)
* fix: added job_card_item links in material request

* fix: add no copy to row references

(cherry picked from commit cb064b06ad)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-11-17 19:37:20 +05:30
mergify[bot]
b961ad6789 fix: added job_card_item link in material request (#28222) (#28433)
* fix: added job_card_item links in material request

* fix: add no copy to row references

(cherry picked from commit cb064b06ad)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-11-17 19:37:08 +05:30
Anupam
8343a1d81e fix: linter issue 2021-11-17 18:27:58 +05:30
Anupam
b876d5b328 fix: linter issue 2021-11-17 18:24:32 +05:30
Anupam
dbda20a71f Merge branch 'crm-lead-validate-cleanup' of github.com:anupamvs/erpnext into crm-lead-validate-cleanup 2021-11-17 17:45:13 +05:30
Anupam
00b1d33ec6 fix: linter issue 2021-11-17 17:44:42 +05:30
Anupam Kumar
498d5403d5 Merge branch 'version-13-hotfix' into crm-lead-validate-cleanup 2021-11-17 17:37:56 +05:30
Anupam
01c1f2529e fix: lead validate function cleanup 2021-11-17 17:33:48 +05:30
rohitwaghchaure
31be9aa8be Merge pull request #28429 from frappe/mergify/bp/version-13-hotfix/pr-28417
fix: currency wise pricing rule not working (backport #28417)
2021-11-17 14:39:08 +05:30
rohitwaghchaure
16b90688bb Merge pull request #28430 from frappe/mergify/bp/version-13-pre-release/pr-28417
fix: currency wise pricing rule not working (backport #28417)
2021-11-17 14:38:51 +05:30
Rohit Waghchaure
c118fa1ada fix: currency wise pricing rule not working
(cherry picked from commit 43aeb541c2)
2021-11-17 08:33:33 +00:00
Rohit Waghchaure
b3a86976a1 fix: currency wise pricing rule not working
(cherry picked from commit 43aeb541c2)
2021-11-17 08:33:08 +00:00
rohitwaghchaure
801e6df37a Merge pull request #28426 from frappe/mergify/bp/version-13-pre-release/pr-28425
fix: performance issue while submitting the Journal Entry (backport #28425)
2021-11-17 13:34:30 +05:30
rohitwaghchaure
c7cfce7628 Merge pull request #28427 from frappe/mergify/bp/version-13-hotfix/pr-28425
fix: performance issue while submitting the Journal Entry (backport #28425)
2021-11-17 13:33:48 +05:30
Rohit Waghchaure
7a76db4335 fix: performance to submit the JV
(cherry picked from commit 7472760ea3)
2021-11-17 07:26:52 +00:00
Rohit Waghchaure
70a130e78d fix: performance to submit the JV
(cherry picked from commit 7472760ea3)
2021-11-17 07:25:29 +00:00
rohitwaghchaure
af251e439a Merge pull request #28419 from rohitwaghchaure/merge-hotfix-to-pre-release-for-13-15
chore: Merge branch 'version-13-hotfix' into 'version-13-pre-release'
2021-11-16 22:37:01 +05:30
Rohit Waghchaure
d556645455 Merge branch 'version-13-hotfix' into 'version-13-pre-release' 2021-11-16 21:25:53 +05:30
Marica
e6451a3a85 Merge pull request #28414 from frappe/mergify/bp/version-13-hotfix/pr-28228
fix: Pull only Items that are in Job Card in a Stock Entry against Job Card (backport #28228)
2021-11-16 19:09:13 +05:30
marination
af430bb590 fix: Merge conflicts 2021-11-16 18:58:36 +05:30
marination
a34eae7bc7 fix: test_job_card_partial_material_transfer test
- Use a specific BOM for JC tests
- Utility to create said BOM
- Sider: unused variable

(cherry picked from commit a5f8274d79)
2021-11-16 13:08:31 +00:00
marination
d086039f1b fix: Server side test
- make `tests_that_skip_setup` a tuple (added comma)
- remove manual teardown in `test_job_card_material_transfer_correctness` to avoid premature committing
- transfer_material_against = "Job Card" while making BOM with mulitple operations

(cherry picked from commit bb561ba7a8)
2021-11-16 13:08:30 +00:00
marination
619c066f67 fix: (travis) Production Plan Summary Report breaks if no WO
- `get_cached_value` throws a DoesNotExistError if non-existent value, used `get_value` instead
- accomodate production plan items that dont have WO/PO against them as well (blank values)
- added some None value handling to avoid AttributeError

(cherry picked from commit 1eb3ca2b86)
2021-11-16 13:08:29 +00:00
marination
0ee54b0779 fix: Partial Trabsfers against JC
- Fixed transferred qty not back updating on JC if partial transfer
- Partial transfer not mapping pending qty from JC correctly in SE
- tests for above cases
- minor code cleanup

(cherry picked from commit e8d0c25dff)
2021-11-16 13:08:28 +00:00
marination
e3dcccdd18 test: Stock Entry from JC correctness (items mapping and qty)
(cherry picked from commit 0aa237f38c)
2021-11-16 13:08:26 +00:00
marination
f3c562bd5b fix: Pull Items that are in JC in Stock Entry against JC
- Check if items pulled in stock entry are present in Job Card
- Code cleanup and removed redundant checks

Co-authored-by: Gavin D'souza <gavin18d@gmail.com>
(cherry picked from commit 3da03028f3)
2021-11-16 13:08:24 +00:00
mergify[bot]
0c65206d69 fix: POS idx issue in taxes table while merging (#28411) 2021-11-16 18:19:57 +05:30
marination
7bc705fb3c fix: Sider, Linter and Server Side Test
- Fix Server side PR test
- linter: re-arrange imports
- sider: avoid single line multi statement
- Code cleanup: Improve code readability and avoid horizontal scroll in test_purchase_receipt
- Removed unused variables in test_purchase_receipt

(cherry picked from commit 293f6cbafd)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
2021-11-16 12:43:33 +00:00
marination
d83038a2ff test: Purchase Invoice Received Qty
(cherry picked from commit e9c75d6eea)
2021-11-16 12:43:31 +00:00
marination
149da71f6d test: Purchase Receipt Received Qty
(cherry picked from commit 05ec7cce82)
2021-11-16 12:43:31 +00:00
marination
852b2e3af8 fix: Sider + Fields UX
- remove extra space (sider)
- PR: Bring rejected qty in grid view
- PI: Rename `Stock Qty` to `Accepted Qty in Stock UOM`
- PI: Move `Accepted Qty in Stock UOM` under Stock UOM

(cherry picked from commit afe1c45f7f)
2021-11-16 12:43:30 +00:00
marination
4441f4d93a refactor: (ux) Accepted/Rejected/Received Qty UX
(cherry picked from commit 5fb5a757cf)

# Conflicts:
#	erpnext/public/js/controllers/buying.js
2021-11-16 12:43:29 +00:00
mergify[bot]
09251b3ddf refactor: fix help section background in dark mode (#28406) (#28408)
(cherry picked from commit 952fc87c99)

Co-authored-by: Ahmed Shareef <46922290+penieldev@users.noreply.github.com>
2021-11-16 14:32:23 +05:30
rohitwaghchaure
55c13a9917 Merge pull request #28407 from frappe/mergify/bp/version-13-hotfix/pr-28398
fix: Pricing Rule not created against the Promotional Scheme (backport #28398)
2021-11-16 14:17:26 +05:30
Rohit Waghchaure
1837204ab0 fix: Pricing Rule not created against the Promotional Scheme
(cherry picked from commit d82910b08a)
2021-11-16 08:25:06 +00:00
mergify[bot]
2c9b995c71 fix: remove item-item group name validation (#28392) (#28399)
(cherry picked from commit 043e3255d6)

Co-authored-by: Rohan <Alchez@users.noreply.github.com>
2021-11-15 20:01:37 +05:30
mergify[bot]
c1a1e9c399 fix: don't make naming series mandatory for items (backport #28394) (#28396)
* fix: don't make naming series mandatory for items

Item variants are an exception, hence this needs to be checked
conditionally.

(cherry picked from commit 7fcaeca403)

* fix: patch for naming series property setter

(cherry picked from commit 54184e54ed)

# Conflicts:
#	erpnext/patches.txt

* fix: conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-15 18:56:15 +05:30
mergify[bot]
2899394bcf fix: Work order creation from sales order (#28388) (#28391)
* fix: Work order creation from sales order

* chore: formatting

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
(cherry picked from commit 2eccb7a1ca)

Co-authored-by: Sagar Sharma <63660334+s-aga-r@users.noreply.github.com>
2021-11-15 16:10:28 +05:30
mergify[bot]
11f4e1cca3 perf(minor): general ledger report (#28355) 2021-11-15 13:49:58 +05:30
Rohit Waghchaure
575d41c024 Merge branch 'version-13-pre-release' into version-13 2021-11-12 23:34:56 +05:30
Rohit Waghchaure
7fc2f24470 bumped to version 13.14.1 2021-11-12 23:54:56 +05:50
mergify[bot]
d44cab3926 fix: validate hmac unconditionally (#28372) (#28374)
(cherry picked from commit c0f06bc8e3)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-12 14:53:27 +05:30
mergify[bot]
68ff68a357 fix: Collapse Scrap Items in Job Card (backport #28362) (#28368)
* fix: Collapse Scrap Items in Job Card (#28362)

(cherry picked from commit a424310581)

# Conflicts:
#	erpnext/manufacturing/doctype/job_card/job_card.json

* fix: resolve conflict

Co-authored-by: Sagar Sharma <63660334+s-aga-r@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-12 14:41:00 +05:30
mergify[bot]
4c99f7159d fix(M-Pesa): validate type before executing get_doc (#28369) (#28373)
(cherry picked from commit 6d3e9bce5f)

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2021-11-12 14:39:47 +05:30
mergify[bot]
731f0d71b9 fix(WooCommerce): always expect signature in webhook requests (#28367)
(cherry picked from commit 24b048925b)

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2021-11-12 14:09:53 +05:30
Deepesh Garg
399c0a6452 Merge pull request #28365 from frappe/mergify/bp/version-13-hotfix/pr-28363
fix: Default party account getting overriden in invoices (backport #28363)
2021-11-12 13:38:41 +05:30
Deepesh Garg
2747f263c7 Merge pull request #28366 from frappe/mergify/bp/version-13-pre-release/pr-28363
fix: Default party account getting overriden in invoices (backport #28363)
2021-11-12 13:38:28 +05:30
mergify[bot]
350274edb9 fix: commision rate not fetch from sales person (#28350) 2021-11-12 13:14:22 +05:30
Deepesh Garg
b0a58f4111 fix: Default party account getting overriden in invoices
(cherry picked from commit 88648570d7)
2021-11-12 07:35:03 +00:00
Deepesh Garg
a9452f1277 fix: Default party account getting overriden in invoices
(cherry picked from commit 88648570d7)
2021-11-12 07:34:40 +00:00
Ankush Menat
da64d0b0f9 fix: workspace links to ecommerce settings (#28360) 2021-11-12 10:54:31 +05:30
mergify[bot]
fc5372f201 fix: Unable to edit supplier scorecard criteria name once created (#28348) (#28352)
(cherry picked from commit 944bf8da71)

Co-authored-by: Sagar Sharma <63660334+s-aga-r@users.noreply.github.com>
2021-11-11 20:12:06 +05:30
Deepesh Garg
0f92c68e70 Merge pull request #28340 from frappe/mergify/bp/version-13-hotfix/pr-28334
fix(India): Sales Invoice with duplicate items not showing correct taxable value (backport #28334)
2021-11-11 12:55:48 +05:30
Deepesh Garg
1edafd04fc fix(India): Sales Invoice with duplicate items not showing correct taxable value
(cherry picked from commit 0dca97eb9f)
2021-11-11 06:09:44 +00:00
Deepesh Garg
279ccece57 Merge pull request #28333 from nemesis189/dispatch-address-not-visible-v13
fix: Dispatch address details not displayed in v13
2021-11-11 10:58:19 +05:30
Subin Tom
8ed909da3f fix: Dispatch address details not displayed in v13 2021-11-10 20:36:31 +05:30
Saqib
6661cc7703 fix(pos): get mode of payments query (#28323) 2021-11-10 13:38:21 +05:30
mergify[bot]
eb5320b885 fix(pos): get mode of payments query (#28321) (#28325)
(cherry picked from commit 6d05bb5274)

Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
2021-11-10 13:37:35 +05:30
Ankush Menat
5f29cd8685 fix: default value for allow neg stock in repost_item_valuation
Negative stock can be toggled back after queuing transactions, this
causes failure when repost is executed.

Now allow_negative_stock stock is set at time of queuing the repost job.
This means setting changes done afterwards won't affect already
submitted reposts.

(cherry picked from commit 12e81df2b7)
2021-11-10 13:32:01 +05:30
mergify[bot]
a40b21cd20 fix(Bank Reconciliation): get credit amount for bank account of type liability (#28319) 2021-11-10 12:57:57 +05:30
Ankush Menat
c04c2108f3 fix: ignore cancelled entries in incorrect balance qty report
(cherry picked from commit e498389b00)
2021-11-10 12:13:02 +05:30
Rohit Waghchaure
ab904c22cc Merge branch 'version-13-pre-release' into version-13 2021-11-09 20:16:01 +05:30
Rohit Waghchaure
6b77bac7da bumped to version 13.14.0 2021-11-09 20:36:00 +05:50
rohitwaghchaure
b9da89a90b Merge pull request #28305 from rohitwaghchaure/change-log-for-v13-14-0
chore: Added change log for version 13.14.0
2021-11-09 20:13:44 +05:30
Rohit Waghchaure
f3cfb93a5f chore: Added change log for version 13.14.0 2021-11-09 20:09:09 +05:30
mergify[bot]
fa2f1348ec fix(India setup): setup company independent fixtures for patch (#28304)
(cherry picked from commit 88b5bda34b)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-09 19:50:14 +05:30
Wolfram Schmidt
c7f75aad79 fix: add Email option to contact email field (#28296)
* Update warranty_claim.json

Added the Email in option field of Contact Email so you are able to create a notification mapping to this field as reciever.

* Update warranty_claim.json

(cherry picked from commit 6907ad8adb)
2021-11-09 18:37:54 +05:30
Ankush Menat
b45d9065da fix: patch to update job card status
(cherry picked from commit ccf84ae88a)
2021-11-09 18:37:07 +05:30
Ankush Menat
f2aa5015cb fix: avoid mutating iterator while iterating over it
(cherry picked from commit fdfa39c231)
2021-11-09 18:37:07 +05:30
Ankush Menat
65844932cc fix: use completion qty instead of transfer quantity for JC status
(cherry picked from commit 37799fe3dd)
2021-11-09 18:37:07 +05:30
mergify[bot]
47b609ef1a fix(India setup): setup company independent fixtures for patch (#28299)
(cherry picked from commit 88b5bda34b)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-09 17:50:38 +05:30
mergify[bot]
077073f9a3 perf: improve financial statement loading time (#28295)
(cherry picked from commit b7a44fe0a3)

Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
2021-11-09 17:33:52 +05:30
rohitwaghchaure
9869b17ee0 Merge pull request #28291 from frappe/mergify/bp/version-13-hotfix/pr-28150
feat: provision to close the Work Order (backport #28150)
2021-11-09 16:40:46 +05:30
rohitwaghchaure
346c76cf38 Merge pull request #28290 from frappe/mergify/bp/version-13-pre-release/pr-28150
feat: provision to close the Work Order (backport #28150)
2021-11-09 16:38:10 +05:30
rohitwaghchaure
81e7ebc112 Merge pull request #28293 from frappe/mergify/bp/version-13-pre-release/pr-28219
feat: provision to have limited parameters for in-process quality inspection (backport #28219)
2021-11-09 16:37:37 +05:30
Sagar Vora
442177aeee fix: specify fields to be set in Lead (#28289) 2021-11-09 16:05:03 +05:30
Diksha Jadhav
bb9713a7b2 refactor: use fetch from property for qi template on job card
(cherry picked from commit 467324c87f)
2021-11-09 10:23:00 +00:00
Diksha Jadhav
ac54e80856 feat: provision to have limited parameters for in-process quality inspection
(cherry picked from commit 6c45f8b2c4)
2021-11-09 10:22:59 +00:00
Diksha Jadhav
3c78ac21d9 feat(manufacturing): add link field for quality inspection template on operation
(cherry picked from commit 281a9cc749)
2021-11-09 10:22:58 +00:00
rohitwaghchaure
8079dc1bae Merge pull request #28219 from DeeMysterio/in-process-qi
feat: provision to have limited parameters for in-process quality inspection
2021-11-09 15:49:37 +05:30
Anupam
47851ce754 fix: get_planned_qty chnages
(cherry picked from commit 663a7afe4d)
2021-11-09 10:17:09 +00:00
Anupam
7e256e220b fix: test cases
(cherry picked from commit 27709a1c71)
2021-11-09 10:17:09 +00:00
Anupam
26c23719a0 fix: testcases:
(cherry picked from commit 7044ae5e39)
2021-11-09 10:17:08 +00:00
Anupam
f96ac4e204 fix: linter isuue
(cherry picked from commit cc15cf6ae2)
2021-11-09 10:17:07 +00:00
Anupam
b993d45ba5 fix: sider isuue
(cherry picked from commit ba47bd02b6)
2021-11-09 10:17:02 +00:00
Anupam
e57f53e771 fix: validate job card
(cherry picked from commit 9b4c7e4796)
2021-11-09 10:17:00 +00:00
Anupam
21cc87990a fix: test cases
(cherry picked from commit 9c0906f1b5)
2021-11-09 10:17:00 +00:00
Anupam
fcafc0e184 fix: linter issues
(cherry picked from commit e36da4d137)
2021-11-09 10:16:59 +00:00
Anupam
ab1f12ff66 fix: linter issues
(cherry picked from commit 59e4fd980c)
2021-11-09 10:16:59 +00:00
Anupam
fcb80faadc fix: added testcase
(cherry picked from commit 530a0f481e)
2021-11-09 10:16:58 +00:00
Anupam
ac3605c96a fix: sider issue
(cherry picked from commit 264b0df9ff)
2021-11-09 10:16:57 +00:00
Anupam
e5e16b5dc4 fix: sider issue
(cherry picked from commit 55e97dce8a)
2021-11-09 10:16:57 +00:00
Anupam
91a06b690c fix: sider issue
(cherry picked from commit e290fe0721)
2021-11-09 10:16:56 +00:00
Anupam
e144f199a4 feat: added confirm dialog on closing of workorder
(cherry picked from commit 5d4c5652af)
2021-11-09 10:16:55 +00:00
Anupam
7bdc948a48 feat: provision to close the Work Order
(cherry picked from commit 23af036894)
2021-11-09 10:16:55 +00:00
Anupam
515b8dd8ca fix: get_planned_qty chnages
(cherry picked from commit 663a7afe4d)
2021-11-09 10:16:26 +00:00
Anupam
dac0d87e16 fix: test cases
(cherry picked from commit 27709a1c71)
2021-11-09 10:16:25 +00:00
Anupam
365572f5ea fix: testcases:
(cherry picked from commit 7044ae5e39)
2021-11-09 10:16:25 +00:00
Anupam
029e66709d fix: linter isuue
(cherry picked from commit cc15cf6ae2)
2021-11-09 10:16:24 +00:00
Anupam
8851b7adcf fix: sider isuue
(cherry picked from commit ba47bd02b6)
2021-11-09 10:16:24 +00:00
Anupam
116210dcea fix: validate job card
(cherry picked from commit 9b4c7e4796)
2021-11-09 10:16:23 +00:00
Anupam
dce943b41f fix: test cases
(cherry picked from commit 9c0906f1b5)
2021-11-09 10:16:23 +00:00
Anupam
cb209d9b57 fix: linter issues
(cherry picked from commit e36da4d137)
2021-11-09 10:16:23 +00:00
Anupam
7c7493c91d fix: linter issues
(cherry picked from commit 59e4fd980c)
2021-11-09 10:16:22 +00:00
Anupam
f3da88e301 fix: added testcase
(cherry picked from commit 530a0f481e)
2021-11-09 10:16:22 +00:00
Anupam
8ddeb83191 fix: sider issue
(cherry picked from commit 264b0df9ff)
2021-11-09 10:16:21 +00:00
Anupam
47f8f3d9dd fix: sider issue
(cherry picked from commit 55e97dce8a)
2021-11-09 10:16:20 +00:00
Anupam
44c53deb90 fix: sider issue
(cherry picked from commit e290fe0721)
2021-11-09 10:16:20 +00:00
Anupam
d43aecbe13 feat: added confirm dialog on closing of workorder
(cherry picked from commit 5d4c5652af)
2021-11-09 10:16:19 +00:00
Anupam
e8ef54f4d7 feat: provision to close the Work Order
(cherry picked from commit 23af036894)
2021-11-09 10:16:18 +00:00
mergify[bot]
59632720b2 fix: sum of components in salary register (#28237) (#28287)
* fix: sum of components in salary register

* fix: sum of deduction components

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
(cherry picked from commit 17acb08545)

Co-authored-by: Jannat Patel <31363128+pateljannat@users.noreply.github.com>
2021-11-09 15:45:26 +05:30
mergify[bot]
58ece37d8f fix: filter only submitted fees in student fee collection report (#28280) (#28282)
* Update student_fee_collection.json

Fix: filter and show only submitted fees documents

* fix: add total row for the student fee collection

(cherry picked from commit 0e8e7e21c3)

Co-authored-by: Bibin <17405044+bibinqcs@users.noreply.github.com>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-11-09 15:45:11 +05:30
Diksha Jadhav
467324c87f refactor: use fetch from property for qi template on job card 2021-11-09 14:21:34 +05:30
yadavyk
627dd67a9b fix: Added count for Healthcare Practioner (#28286)
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-09 13:15:41 +05:30
mergify[bot]
178a883ecc fix: show full item name in search widget (#28283) (#28284)
(cherry picked from commit 34f5283c17)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-09 12:15:09 +05:30
mergify[bot]
eacf26d618 fix: show full item name in search widget (#28283) (#28285)
(cherry picked from commit 34f5283c17)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-09 12:14:54 +05:30
mergify[bot]
40b5bb1d15 fix: do not generate multiple invoices (#28216) 2021-11-08 20:07:57 +05:30
mergify[bot]
5d249016c3 fix: do not generate multiple invoices (#28215) 2021-11-08 20:07:47 +05:30
Deepesh Garg
5d46f765a6 Merge pull request #28276 from frappe/mergify/bp/version-13-pre-release/pr-28262
fix: Taxjar customer_address fix, currency fix (backport #28262)
2021-11-08 19:04:06 +05:30
Deepesh Garg
2654098ce2 Merge pull request #28274 from frappe/mergify/bp/version-13-pre-release/pr-28272
fix: KSA VAT setup issues (backport #28272)
2021-11-08 18:52:20 +05:30
Deepesh Garg
9b2c460cb8 Merge pull request #28275 from frappe/mergify/bp/version-13-hotfix/pr-28272
fix: KSA VAT setup issues (backport #28272)
2021-11-08 18:47:21 +05:30
Subin Tom
a403200516 fix: company condition fix, added company field
(cherry picked from commit 7ad2717acc)
2021-11-08 13:12:00 +00:00
Subin Tom
1dc7cb8ad1 fix: fixed company field, updated patch
(cherry picked from commit 7f2d304f32)
2021-11-08 13:12:00 +00:00
Subin Tom
abe6ef4cd4 fix: Added company field, filtered account heads
(cherry picked from commit 902c03cd37)
2021-11-08 13:12:00 +00:00
Subin Tom
3d1b833f35 fix: Fixed customer address variable, sales invoice item field currency issue
(cherry picked from commit 904010ab64)
2021-11-08 13:11:59 +00:00
Deepesh Garg
bad6c3de43 Merge pull request #28262 from nemesis189/taxjar-cust-address-patch-update
fix: Taxjar customer_address fix, currency fix
2021-11-08 18:40:35 +05:30
Deepesh Garg
6c1bb1ecb9 Merge pull request #28273 from frappe/mergify/bp/version-13-hotfix/pr-28065
fix(minor): check if gst_category exists while validating GSTIN (backport #28065)
2021-11-08 18:33:37 +05:30
Deepesh Garg
2dc12505b2 fix: Resolve conflicts 2021-11-08 18:16:46 +05:30
Deepesh Garg
987bd4fce2 fix: Resolve conflicts 2021-11-08 18:15:53 +05:30
Deepesh Garg
8a510b5441 fix: Add patch to make custom fields
(cherry picked from commit 508832e90a)

# Conflicts:
#	erpnext/patches.txt
2021-11-08 12:40:19 +00:00
Deepesh Garg
a34519c0c4 fix: KSA VAT setup issues
(cherry picked from commit c81d4734c4)
2021-11-08 12:40:18 +00:00
Deepesh Garg
f5251b5a86 fix: Add patch to make custom fields
(cherry picked from commit 508832e90a)

# Conflicts:
#	erpnext/patches.txt
2021-11-08 12:39:55 +00:00
Deepesh Garg
aa6caa00bf fix: KSA VAT setup issues
(cherry picked from commit c81d4734c4)
2021-11-08 12:39:54 +00:00
Subin Tom
7ad2717acc fix: company condition fix, added company field 2021-11-08 18:03:44 +05:30
Subin Tom
7f2d304f32 fix: fixed company field, updated patch 2021-11-08 17:59:03 +05:30
Anuja Pawar
d37ca7b3e0 fix: sider
(cherry picked from commit f2fbcc8124)
2021-11-08 12:24:29 +00:00
Anuja Pawar
bbea156aa6 fix: update set_value query
(cherry picked from commit dd3cadd46b)
2021-11-08 12:24:29 +00:00
Anuja Pawar
10606b242c fix: re-writing sql query with ORM methods
(cherry picked from commit bc1e7bc15f)
2021-11-08 12:24:29 +00:00
Anuja Pawar
1dbb83c03d fix: sider
(cherry picked from commit 6a3bd882b4)
2021-11-08 12:24:28 +00:00
Anuja Pawar
ba08b4fcb3 fix: sider
(cherry picked from commit 4f53837624)
2021-11-08 12:24:27 +00:00
Anuja Pawar
2c0e8c8559 fix: check if gst_category exist
(cherry picked from commit 59c31bb124)
2021-11-08 12:24:27 +00:00
Deepesh Garg
35bd31e939 Merge pull request #28270 from frappe/mergify/bp/version-13-pre-release/pr-28166
feat(Print Format): KSA VAT Invoice (backport #28166)
2021-11-08 17:15:49 +05:30
Deepesh Garg
18e7fbf33a Merge pull request #28271 from frappe/mergify/bp/version-13-hotfix/pr-28166
feat(Print Format): KSA VAT Invoice (backport #28166)
2021-11-08 17:15:29 +05:30
ahmadpak
8f52ebdd68 update(Print Format): Sales Invoice
- KSA VAT Invoice
Customer Identification Number Added

(cherry picked from commit 8df50cf1e0)
2021-11-08 09:58:38 +00:00
ahmadpak
1e08111da4 new (Print Format): KSA VAT Invoice
(cherry picked from commit 2a5beec885)
2021-11-08 09:58:38 +00:00
ahmadpak
0ba59049f9 update(Print Format): Sales Invoice
- KSA VAT Invoice
Customer Identification Number Added

(cherry picked from commit 8df50cf1e0)
2021-11-08 09:58:11 +00:00
ahmadpak
9f6b0dbfdf new (Print Format): KSA VAT Invoice
(cherry picked from commit 2a5beec885)
2021-11-08 09:58:11 +00:00
Subin Tom
902c03cd37 fix: Added company field, filtered account heads 2021-11-08 15:16:20 +05:30
Subin Tom
904010ab64 fix: Fixed customer address variable, sales invoice item field currency issue 2021-11-08 09:49:11 +05:30
Diksha Jadhav
6c45f8b2c4 feat: provision to have limited parameters for in-process quality inspection 2021-11-07 20:50:48 +05:30
Sagar Sharma
bb3957eba3 fix: auto update price list rate (#28255)
* fix: auto update price list rate

* fix: hide field when auto insert isn't enabled
2021-11-07 17:18:00 +05:30
mergify[bot]
4cb3c2a46c feat: replace newline in remarks (DATEV report) (#28152) (#28247)
(cherry picked from commit 114028e473)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2021-11-05 11:15:31 +05:30
mergify[bot]
79be341ea4 feat: replace newline in remarks (DATEV report) (#28152) (#28248)
(cherry picked from commit 114028e473)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2021-11-05 11:15:18 +05:30
fatihustaoglu
95a5ef1d41 fix: Bulk update of valid upto field wasn't working (#28242)
* fix: Bulk update of valid upto field wasn't working

Check in dates for the price list was failing because valid_upto field was string. Converting to date fixed the problem.

* chore: extend fix and cleanup whitespace

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-04 11:27:56 +05:30
Suraj Shetty
b3dc199118 Merge pull request #28191 from frappe/build-on-release
ci: migrate docker to github actions
2021-11-03 18:10:20 +05:30
Saqib
73e9e991cc fix(e-invoicing): link to error log list 2021-11-03 17:49:50 +05:30
Saqib
9a3c6694b9 Merge pull request #28221 from frappe/mergify/bp/version-13-pre-release/pr-27946
fix(Payment Entry): splitting outstanding rows as per payment terms (backport #27946)
2021-11-03 15:41:29 +05:30
Saqib
1ba2a47761 Merge pull request #28220 from frappe/mergify/bp/version-13-hotfix/pr-27946
fix(Payment Entry): splitting outstanding rows as per payment terms (backport #27946)
2021-11-03 15:41:02 +05:30
Anuja Pawar
2c9266807a fix(Payment Entry): splitting outstanding rows as per payment terms (#27946)
(cherry picked from commit d72709dd81)
2021-11-03 09:18:40 +00:00
Anuja Pawar
fa24b9842b fix(Payment Entry): splitting outstanding rows as per payment terms (#27946)
(cherry picked from commit d72709dd81)
2021-11-03 09:18:12 +00:00
Revant Nandgaonkar
afb236a06b ci: change GITHUB_PAT to CI_PAT 2021-11-03 13:56:50 +05:30
mergify[bot]
94905df774 fix: ignore unsupported methods while resyncing (#28210) (#28214)
(cherry picked from commit 72a050fb0b)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-03 09:47:00 +05:30
Ankush Menat
72a050fb0b fix: ignore unsupported methods while resyncing (#28210) 2021-11-02 23:05:14 +05:30
Marica
fa5cee479f Merge pull request #28204 from frappe/mergify/bp/version-13-pre-release/pr-28202
fix: Serial Nos not set in the row after scanning in popup (backport #28202)
2021-11-02 20:41:33 +05:30
Deepesh Garg
885f1e0fd8 Merge pull request #28207 from frappe/mergify/bp/version-13-pre-release/pr-28205
fix: Error on LDC creation (backport #28205)
2021-11-02 20:29:43 +05:30
Deepesh Garg
2a1695c7de Merge pull request #28206 from frappe/mergify/bp/version-13-hotfix/pr-28205
fix: Error on LDC creation (backport #28205)
2021-11-02 20:29:31 +05:30
Deepesh Garg
e358d34c4f fix: Error on LDC creation
(cherry picked from commit 66348e1a03)
2021-11-02 14:59:10 +00:00
Deepesh Garg
35c5822115 fix: Error on LDC creation
(cherry picked from commit 66348e1a03)
2021-11-02 14:58:30 +00:00
Marica
df6465d715 Merge pull request #28203 from frappe/mergify/bp/version-13-hotfix/pr-28202
fix: Serial Nos not set in the row after scanning in popup (backport #28202)
2021-11-02 20:25:59 +05:30
marination
093d9f4a70 fix: Serial Nos not set in the row after scanning in popup
- Avoid whitspaces while calculating length of serial nos

(cherry picked from commit 734b57deec)
2021-11-02 14:48:40 +00:00
marination
4262682080 fix: Serial Nos not set in the row after scanning in popup
- Avoid whitspaces while calculating length of serial nos

(cherry picked from commit 734b57deec)
2021-11-02 14:48:14 +00:00
mergify[bot]
4bdde5f706 fix: replaced "=" with "in" for multiple statuses in query #28193 (#28199)
fix: replaced "=" with "in" for multiple statuses in query
(cherry picked from commit 857d87da97)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-11-02 18:20:49 +05:30
mergify[bot]
50fbc167f3 fix(Payment Reconciliation): clear child tables on company/party change (#28194) 2021-11-02 17:12:11 +05:30
mergify[bot]
0a608911f1 fix(Payment Reconciliation): clear child tables on company/party change (#28153) 2021-11-02 17:10:27 +05:30
Marica
0731454f50 Merge pull request #28196 from frappe/mergify/bp/version-13-pre-release/pr-28195
fix: (ux) Remove warehouse filter on Batch field for Material Receipt (backport #28195)
2021-11-02 16:28:02 +05:30
Marica
27570db761 Merge pull request #28197 from frappe/mergify/bp/version-13-hotfix/pr-28195
fix: (ux) Remove warehouse filter on Batch field for Material Receipt (backport #28195)
2021-11-02 16:27:18 +05:30
marination
68646c5756 chore: Add comment above fix for future reference
(cherry picked from commit 48886ee705)
2021-11-02 10:40:41 +00:00
marination
189595b4f7 fix: Remove warehouse filter on Batch field for Material Receipt
(cherry picked from commit 048210a8f6)
2021-11-02 10:40:40 +00:00
marination
b81dfdcd26 chore: Add comment above fix for future reference
(cherry picked from commit 48886ee705)
2021-11-02 10:40:02 +00:00
marination
68809159ba fix: Remove warehouse filter on Batch field for Material Receipt
(cherry picked from commit 048210a8f6)
2021-11-02 10:40:00 +00:00
Revant Nandgaonkar
1736029733 chore: migrate docker to github actions 2021-11-02 12:03:22 +05:30
Diksha Jadhav
281a9cc749 feat(manufacturing): add link field for quality inspection template on operation 2021-11-01 17:19:07 +05:30
Deepesh Garg
982960fc0a Merge pull request #28177 from frappe/mergify/bp/version-13-pre-release/pr-26735
fix: COGS account in purchase receipt (backport #26735)
2021-11-01 16:51:11 +05:30
Deepesh Garg
bb7d661a04 fix: Resolve conflicts 2021-11-01 16:23:39 +05:30
Deepesh Garg
c445d8ea3c Merge pull request #28176 from frappe/mergify/bp/version-13-hotfix/pr-26735
fix: COGS account in purchase receipt (backport #26735)
2021-11-01 16:22:32 +05:30
Ankush Menat
79b087670f fix(ux): stock levels take time after item merge
Item merge creates a repost and depending on number of entries it can
take from 1 to n hours for it to finish. (depending upon queued up
reposts)

Added message so users don't feel confused till this operation is
finished.

(cherry picked from commit 1eab3a44f6)
2021-11-01 15:34:53 +05:30
Ankush Menat
6d0ff88184 fix: use warehouse to find company
(cherry picked from commit f7ffe04a4b)
2021-11-01 15:31:23 +05:30
Ankush Menat
5a40a48e31 fix: pass company while fetching valuation rate
If company is not supplied and valuation rate is 0, then default
company is used for checking if perpetual inventory is enabled or not.
This makes little sense as different companies can have different
setting for perpetual inventory.

(cherry picked from commit a0727b2e82)
2021-11-01 15:31:23 +05:30
Ankush Menat
c6557a136c fix: use warehouse to find company
(cherry picked from commit f7ffe04a4b)
2021-11-01 15:31:11 +05:30
Ankush Menat
271dad941b fix: pass company while fetching valuation rate
If company is not supplied and valuation rate is 0, then default
company is used for checking if perpetual inventory is enabled or not.
This makes little sense as different companies can have different
setting for perpetual inventory.

(cherry picked from commit a0727b2e82)
2021-11-01 15:31:11 +05:30
Deepesh Garg
134ea9214e fix: resolve conflicts 2021-11-01 14:40:19 +05:30
Rohit Waghchaure
e9d1cbb339 fix: COGS account in purchase receipt
(cherry picked from commit 2a14f255cf)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
2021-11-01 07:26:09 +00:00
Rohit Waghchaure
f88c24155c fix: COGS account in purchase receipt
(cherry picked from commit 2a14f255cf)

# Conflicts:
#	erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
2021-11-01 07:25:46 +00:00
mergify[bot]
18dddfdea9 fix: remove duplicate field from selling_settings (#28174)
fix https://github.com/frappe/erpnext/issues/28155

(cherry picked from commit 1cc4eddacb)

Co-authored-by: ahmadRagheb <ahmedragheb75@gmail.com>
2021-11-01 11:11:40 +05:30
Deepesh Garg
b2a3451ca2 Merge pull request #28173 from ahmadRagheb/patch-3
fix: Update selling_settings.json
2021-11-01 10:36:36 +05:30
ahmadRagheb
1cc4eddacb Update selling_settings.json
fix https://github.com/frappe/erpnext/issues/28155
2021-10-31 22:48:52 +02:00
mergify[bot]
f1e3a1cac2 fix: update tax template name for 18% GST (backport #28156)
fix: update tax template name for 18% GST (backport #28156)
2021-10-31 19:18:54 +05:30
Deepesh Garg
978d1cde2d Merge pull request #28165 from frappe/mergify/bp/version-13-pre-release/pr-28162
fix: Error for missing PAN no field (backport #28162)
2021-10-31 18:50:10 +05:30
Deepesh Garg
04f6070df4 Merge pull request #28164 from frappe/mergify/bp/version-13-hotfix/pr-28162
fix: Error for missing PAN no field (backport #28162)
2021-10-31 18:49:52 +05:30
rohitwaghchaure
08e65af5b1 Merge pull request #28169 from frappe/mergify/bp/version-13-hotfix/pr-28168
fix: patch update_category_in_ltds_certificate (backport #28168)
2021-10-31 11:17:31 +05:30
rohitwaghchaure
feaae330d5 Merge pull request #28170 from frappe/mergify/bp/version-13-pre-release/pr-28168
fix: patch update_category_in_ltds_certificate (backport #28168)
2021-10-31 10:28:09 +05:30
Rohit Waghchaure
060127663a fix: patch update_category_in_ltds_certificate
(cherry picked from commit cae29b71d8)
2021-10-31 04:27:51 +00:00
Rohit Waghchaure
57d931dbbe fix: patch update_category_in_ltds_certificate
(cherry picked from commit cae29b71d8)
2021-10-31 04:27:32 +00:00
rohitwaghchaure
88bf748275 Merge pull request #28159 from rohitwaghchaure/merge-hotfix-to-pre-release-for-13-14
chore: merge branch 'version-13-hotfix' into 'version-13-pre-release'
2021-10-30 22:33:26 +05:30
Deepesh Garg
aa464cc615 fix: Error for missing PAN no field
(cherry picked from commit 541c892f97)
2021-10-30 14:00:07 +00:00
Deepesh Garg
686c4fa86f fix: Error for missing PAN no field
(cherry picked from commit 541c892f97)
2021-10-30 13:59:47 +00:00
Rohit Waghchaure
8581b5cdea chore: merge branch 'version-13-hotfix' into 'version-13-pre-release' 2021-10-30 15:15:19 +05:30
mergify[bot]
9abb467127 fix: Make status filter optional (#28151) 2021-10-29 18:16:23 +05:30
mergify[bot]
f16e0e17cc fix: POS consolidated invoice rounded total issue (#28146) 2021-10-29 18:05:49 +05:30
Deepesh Garg
fe59c313d6 Merge pull request #28148 from frappe/mergify/bp/version-13-hotfix/pr-28145
fix: COA importer importing all accounts as group (backport #28145)
2021-10-29 18:03:58 +05:30
Ankush Menat
9e9f730dd1 fix: sort by creation to break tie
(cherry picked from commit ff9cfe0d14)
2021-10-29 17:42:05 +05:30
Ankush Menat
264ffe05b4 refactor: simplify sr no fetching
(cherry picked from commit f4b60a48f5)
2021-10-29 17:42:05 +05:30
Ankush Menat
42686f92e9 fix: fetch serial nos from ledger unconditionally
(cherry picked from commit 2aa019ae4c)
2021-10-29 17:42:05 +05:30
Noah Jacob
7931cfd77b refactor: replaced db.sql with qb
(cherry picked from commit deb6b38fab)
2021-10-29 17:42:05 +05:30
Noah Jacob
835d96c727 fix: incorrect amount of serial_nos fetched
(cherry picked from commit b44945380d)
2021-10-29 17:42:05 +05:30
Deepesh Garg
f7cf3fed8e Merge pull request #28144 from frappe/mergify/bp/version-13-hotfix/pr-27994
fix: incorrect VAT Amount in UAE VAT 201 report (backport #27994)
2021-10-29 17:20:13 +05:30
Deepesh Garg
0664e64003 fix: COA importer importing all accounts as group
(cherry picked from commit 8ccd3fee9e)
2021-10-29 11:37:11 +00:00
Deepesh Garg
4f7046e6c2 Merge pull request #28143 from frappe/mergify/bp/version-13-hotfix/pr-28135
fix: Accounting Dimension filters not honouring user permissions (backport #28135)
2021-10-29 17:04:45 +05:30
Dany Robert
43ca66f461 fix: wrong vat amount
(cherry picked from commit 4c499e804a)
2021-10-29 09:13:18 +00:00
Dany Robert
ff7423f15f fix: incorrect VAT Amount in UAT VAT 201 report
(cherry picked from commit 1aa34d1780)
2021-10-29 09:13:17 +00:00
Deepesh Garg
7cbf577f1f fix: Accounting Dimension filters not honouring user permissions
(cherry picked from commit aa9e78bed1)
2021-10-29 09:10:50 +00:00
mergify[bot]
1454f8bc96 fix: Skip empty rows while updating unsaved BOM cost (#28136) (#28142)
- Dont try to get valuation rate if row has no item code
- Dont try to add exploded items if row has no item code

(cherry picked from commit 292419bc9e)

Co-authored-by: Marica <maricadsouza221197@gmail.com>
2021-10-29 14:19:51 +05:30
mergify[bot]
a33ebbdc54 test: remove unnecessary creation of new company (#28137) (#28140)
(cherry picked from commit afe09d4e80)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-10-29 14:19:25 +05:30
Deepesh Garg
ee6da35c0b Merge pull request #28134 from frappe/mergify/bp/version-13-hotfix/pr-28122
fix: Consolidated Financial Report throws error for empty equity data list (backport #28122)
2021-10-29 13:51:48 +05:30
Deepesh Garg
1c0ae92912 Merge pull request #28133 from frappe/mergify/bp/version-13-hotfix/pr-27609
fix: Unlink PO on cancelling SO (backport #27609)
2021-10-29 13:51:21 +05:30
Subin Tom
3fc2442622 fix: Consolidated Financial Report throws error for empty equity data list
(cherry picked from commit d786855d94)
2021-10-29 06:42:13 +00:00
Deepesh Garg
a60ecb95b0 fix: Ignore PO on So cancel
(cherry picked from commit 051aaa708d)
2021-10-29 06:28:28 +00:00
GangaManoj
ed58f206fa fix: Remove unused imports
(cherry picked from commit d24cfff388)
2021-10-29 06:28:27 +00:00
GangaManoj
305b9508e6 fix: Remove debugger
(cherry picked from commit 1a9d2684e2)
2021-10-29 06:28:27 +00:00
GangaManoj
d47007adb2 fix: Remove print statements
(cherry picked from commit 8844fdbf23)
2021-10-29 06:28:26 +00:00
GangaManoj
7c42b8b702 fix: Unlink PO on cancelling SO
(cherry picked from commit e77534fe13)
2021-10-29 06:28:25 +00:00
GangaManoj
2fb18afea0 fix: Unlink PO on cancelling SO
(cherry picked from commit 8396f24e70)
2021-10-29 06:28:24 +00:00
Deepesh Garg
c822f286c7 Merge pull request #28125 from deepeshgarg007/ksa-vat-v13
feat(regional): KSA E-Invoicing and VAT Report
2021-10-29 11:15:19 +05:30
Deepesh Garg
6260f0caa1 Merge pull request #28128 from frappe/mergify/bp/version-13-hotfix/pr-28071
fix : Get LTDS based on tax withholding category (backport #28071)
2021-10-29 09:05:12 +05:30
Deepesh Garg
4019148a42 fix: Resolve conflicts 2021-10-28 20:26:38 +05:30
Deepesh Garg
7a25d5f2de fix: Rewrite patch using query builder
(cherry picked from commit 09a5616e2d)
2021-10-28 14:31:06 +00:00
Deepesh Garg
1ba0111e16 fix: Replace section code with tax withholding category in LDC
(cherry picked from commit bf13d183d8)

# Conflicts:
#	erpnext/patches.txt
2021-10-28 14:31:06 +00:00
Deepesh Garg
e9c3d3ff0d fix: Get LTDS based on tax withholding category
(cherry picked from commit e6e804e7d7)
2021-10-28 14:31:05 +00:00
Ahmad
6d39b90b8e refactor: make strings translate 2021-10-28 17:53:41 +05:30
Ahmad
b69381117f fix: pre-commit hooks 2021-10-28 17:53:22 +05:30
Ahmad
301b94e06a fix: pre-commit hooks 2021-10-28 17:53:22 +05:30
Ahmad
30f3b4804d refactor (regional): KSA utils 2021-10-28 17:53:22 +05:30
Ahmad
0313b44f1f Update erpnext/regional/saudi_arabia/utils.py
Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
2021-10-28 17:53:22 +05:30
Ahmad
f9770b69b2 Update erpnext/regional/saudi_arabia/utils.py
Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
2021-10-28 17:53:22 +05:30
Ahmad
5f7c5bcac8 fix: indentations 2021-10-28 17:52:53 +05:30
Ahmad
873ed1ae4f refactor(regional): moved methos to region specific utils for KSA 2021-10-28 17:52:02 +05:30
Ahmad
3fca08e3e8 Update erpnext/regional/saudi_arabia/setup.py
Method name updated

Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
2021-10-28 17:46:30 +05:30
Ahmad
220ab16698 Refactor erpnext/regional/__init__.py
Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
2021-10-28 17:44:26 +05:30
Ahmad
a8ba52e8a5 Update erpnext/regional/report/ksa_vat/ksa_vat.py
String made translatable

Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
2021-10-28 17:44:19 +05:30
Ahmad
60fd96085c feat(regional): QR Code generation for Saudi Arabia Sales Invoices 2021-10-28 17:44:04 +05:30
Ahmad
e03965afa5 feat(Regional): KSA VAT Report 2021-10-28 17:39:15 +05:30
Deepesh Garg
d116aa6f23 Merge pull request #28116 from frappe/mergify/bp/version-13-hotfix/pr-28114
fix: Autoemail report not showing dynamic report filters (backport #28114)
2021-10-28 11:57:28 +05:30
mergify[bot]
9c7cdc1079 fix: opportunity link is missign from customer (#28110) (#28121)
(cherry picked from commit 4787a75208)

Co-authored-by: Anupam Kumar <anupamvns0099@gmail.com>
2021-10-28 11:48:19 +05:30
Marica
a19f0f484c Merge pull request #28098 from marination/so-quote-portal
fix: SO/Quotation Portal Missing Images
2021-10-28 00:16:07 +05:30
Marica
5388ecf85e Merge pull request #27926 from frappe/mergify/bp/version-13-hotfix/pr-27914
fix: Avoid automatic customer creation on website user login (backport #27914)
2021-10-28 00:05:55 +05:30
Deepesh Garg
b34e737930 fix: Autoemail report not showing dynamic report filters
(cherry picked from commit 3a6894fb9c)
2021-10-27 14:29:38 +00:00
Ankush Menat
56c98aa59e fix(ux): make qty 1 by default in WO
(cherry picked from commit d81b87d9b3)
2021-10-27 19:49:00 +05:30
Ankush Menat
aa210ba6c8 fix: don't show blocked supplier in autocomplete
(cherry picked from commit 2221c9ed89)
2021-10-27 19:49:00 +05:30
Ankush Menat
4bfacabf85 fix(ux): alternative item two way validation
(cherry picked from commit 5902762ec8)
2021-10-27 19:49:00 +05:30
Ankush Menat
99a1eea982 fix: remove bad hardcoded max value
(cherry picked from commit 5f9bd9b8e9)
2021-10-27 19:49:00 +05:30
mergify[bot]
48acb56cb0 fix: Remove pointless buttons from Payment Order (#28108)
fix: Remove pointless buttons from Payment Order
(cherry picked from commit c9f3ea5fea)

Co-authored-by: Ganga Manoj <ganga.manoj98@gmail.com>
2021-10-27 16:16:31 +05:30
mergify[bot]
5867d97e7c fix(ux): misleading label for image fields (#28107) (#28109)
(cherry picked from commit e0cf45e7ec)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-10-27 15:29:08 +05:30
mergify[bot]
e757970db3 fix(general_ledger): Order by in case Group by Account (#28093) (#28106)
* Update general_ledger.py

Fix order_by_statement if filter group by: Group by Account

* chore: whitespace

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
Co-authored-by: Afshan <33727827+AfshanKhan@users.noreply.github.com>
(cherry picked from commit f24ed6723e)

Co-authored-by: hendrik <hendrik.zeta@gmail.com>
2021-10-27 14:45:05 +05:30
Saqib
2a60a65ccd Merge pull request #28102 from frappe/mergify/bp/version-13-hotfix/pr-27916
perf(minor): improve sales invoice submission (backport #27916)
2021-10-27 14:26:38 +05:30
Afshan
db5593287e Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-27916 2021-10-27 14:05:51 +05:30
mergify[bot]
e8b46bf3a3 fix(ux): add naming series to ERPNext setting workspace (backport #28090) (#28103)
* fix(ux): add naming series to ERPNext setting workspace  (#28090)

* fix(ux): add naming series to setting workspace

* fix: doctype link to naming series

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>

Co-authored-by: Summayya <frappe@Summayyas-MacBook-Air.local>
Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
(cherry picked from commit 0806e32049)

# Conflicts:
#	erpnext/setup/workspace/erpnext_settings/erpnext_settings.json

* fix: conflicts

Co-authored-by: Summayya Hashmani <58825865+sumaiya2908@users.noreply.github.com>
Co-authored-by: Afshan <33727827+AfshanKhan@users.noreply.github.com>
2021-10-27 14:03:24 +05:30
Marica
67e5e95466 Merge pull request #27931 from marination/optimize-get-attribute-filters-hotfix
perf: Optimize get_attribute_filters (#26729)
2021-10-27 13:31:58 +05:30
mergify[bot]
f1b7bb8878 fix: Update receivable/payable account on company change (backport #28057) (#28087)
* fix: Update receivable/payable account on company change

(cherry picked from commit 65025fb628)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.js

* fix: Update sales_invoice.js

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
Co-authored-by: Afshan <33727827+AfshanKhan@users.noreply.github.com>
2021-10-27 13:30:32 +05:30
mergify[bot]
fb742476f8 fix: Payment Terms validation precision (#28104)
(cherry picked from commit 9c1705205f)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
Co-authored-by: Afshan <33727827+AfshanKhan@users.noreply.github.com>
2021-10-27 13:26:57 +05:30
mergify[bot]
d4b4bd9d97 fix: update production plan status (backport #27567)
* fix: update production plan status #27567

fix: update production plan status
(cherry picked from commit 05831b18ad)

# Conflicts:
#	erpnext/patches.txt

* fix: resolve conflicts

Co-authored-by: Alan <2.alan.tom@gmail.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-10-27 13:20:51 +05:30
Afshan
accb98ccf4 Merge branch 'version-13-hotfix' into mergify/bp/version-13-hotfix/pr-27916 2021-10-27 12:58:30 +05:30
Deepesh Garg
6acab32934 Merge pull request #28085 from frappe/mergify/bp/version-13-hotfix/pr-28055
fix(UX): Add mandatory depends on condition for reference no and date fields (backport #28055)
2021-10-27 11:57:20 +05:30
Saqib
5d4d6bb52b fix: sider
(cherry picked from commit ac381d21fe)
2021-10-27 06:13:33 +00:00
Ankush Menat
a2a462f2f5 fix: undo changes to allow negative stock flag
(cherry picked from commit 7bafa11d57)
2021-10-27 06:13:32 +00:00
Saqib Ansari
b1efb7f80b perf: skip insertion of stock ledger entry
(cherry picked from commit c7fc609236)
2021-10-27 06:13:32 +00:00
Saqib Ansari
97fc449222 perf: get total company stock only for purchase order
(cherry picked from commit eb3aae870f)
2021-10-27 06:13:32 +00:00
Saqib Ansari
cb0168ae65 perf: fetch mode of payments data in single query
(cherry picked from commit 7b691beabb)
2021-10-27 06:13:31 +00:00
Saqib Ansari
de38c70707 perf: skip get_pricing_rules if no pricing rule exists
(cherry picked from commit a500252570)
2021-10-27 06:13:31 +00:00
Saqib
cb97e950e6 feat(e-invoicing): dispatch address (#28084) 2021-10-27 11:39:00 +05:30
Ankush Menat
a046da1e61 test: picklist item grouping
(cherry picked from commit 479ecb8de0)
2021-10-27 11:30:30 +05:30
Ankush Menat
28026f7f1c refactor: use defaultdict and enumeration
(cherry picked from commit 6942900555)
2021-10-27 11:30:30 +05:30
Diksha Jadhav
93a0ea7118 feat(pick list): group items based on item code and warehouse before printing picklist
(cherry picked from commit f2d136e574)
2021-10-27 11:30:30 +05:30
mergify[bot]
a30cfbce42 fix: change modified timestamp to apply changes on migrate #28095 (#28099)
fix: change modified timestamp to apply changes on migrate
(cherry picked from commit 2920f2f614)

Co-authored-by: Dany Robert <rtdany10@gmail.com>
2021-10-27 11:20:13 +05:30
mergify[bot]
019c5a338d fix(ux): overbiling message in SO->SI, PO->PI (bp #28088)
(cherry picked from commit 6ec047cba9)

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-10-27 11:08:23 +05:30
gsi-maruiz
8cad23b8fb fix: add filter to query to avoid send reminder for zero years (#28092)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-10-27 11:00:56 +05:30
marination
dd2dba6f01 style: Fixed indentation for visible heirarchy 2021-10-27 10:57:48 +05:30
Deepesh Garg
f63a71e2cc fix(minor): Add mandatory depends on condition for reference no and date fields
(cherry picked from commit a20058a343)
2021-10-26 14:33:10 +00:00
mergify[bot]
f81c5cd478 fix: POS Closing Entry without linked invoices (#28077) 2021-10-26 14:42:44 +05:30
mergify[bot]
a23ef95cd8 refactor: shows opening balance from filtered from_date (#26877) (#28072)
* refactor: shows opening balance from filtered from_date

* refactor: opening balance considered from filtered from_date in stock ledger

* fix: check if stock reco is opening and misc cleanups

(cherry picked from commit fdaf93f76c)

Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
2021-10-25 09:09:44 +05:30
Deepesh Garg
943def5faa Merge pull request #28014 from deepeshgarg007/tds_computation_summary_fixes
fix: Error in TDS computation summary
2021-10-23 13:16:30 +05:30
Ankush Menat
7a08f8aeec chore: change semgrep rules repo name
[skip ci]
2021-10-22 22:40:56 +05:30
mergify[bot]
a082d70553 ci: move semgrep rules out of repo (backport #28067)
* ci: move semgrep rules out of repo (#28067)

Moving semgrep rules out of repos as it's unnecessary to maintain
same ruleset for different repos and different branches.

(cherry picked from commit cc1baae5eb)

# Conflicts:
#	.github/helper/semgrep_rules/frappe_correctness.py
#	.github/helper/semgrep_rules/frappe_correctness.yml
#	.github/helper/semgrep_rules/report.py
#	.github/helper/semgrep_rules/ux.py
#	.github/workflows/linters.yml

* fix: resolve conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-10-22 21:58:45 +05:30
mergify[bot]
60620fe335 fix: don't reset rates in Timesheet Detail when Activity Type is cleared (#28056)
* fix: don't reset rates when activity type is cleared

* refactor: suggestions from review

Co-authored-by: Sagar Vora <sagar@resilient.tech>

* refactor: suggestions from review (fix)

* style: fix sider

* fix: sider issue

Co-authored-by: Sagar Vora <sagar@resilient.tech>
(cherry picked from commit 2bdaf7bb23)

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2021-10-22 14:06:11 +05:30
marination
d7e55387fc fix: SO Portal fixes
- SO Portal: fixed missing images issue
- SO Portal: fallback state when no images
- SO Portal: code indentation in `order_macros.html`
- SO Portal: Actions and indicator font size
- Recommendations: fixed space between image and title
- Recommendations: give empty image state min height
2021-10-21 20:14:28 +05:30
mergify[bot]
46567f0fe9 refactor: move process loss report to manufacturing (#28043) (#28047)
* refactor: move process loss report to manufacturing

* test: fix process loss report test

Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
(cherry picked from commit 2849297471)

Co-authored-by: Alan <2.alan.tom@gmail.com>
2021-10-21 11:11:53 +05:30
Ankush Menat
5ed32b5995 fix: unused imports 2021-10-21 11:04:40 +05:30
Devin Slauenwhite
152f9b0a43 fix: useless validation message (#28029)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-10-21 10:58:35 +05:30
Ankush Menat
71e517f043 test: fix get_attribute_filter test
The function returns strings directly instead of objects now.
2021-10-21 10:55:11 +05:30
mergify[bot]
e0f2130731 feat: employee initial work history updated when transfer is performed (#27768) (#28045)
* feat: employee initial work history updated when transfer is performed

* fix: sider

* fix: remove commit statement

* fix: tests and code formatting

* fix: tests

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
(cherry picked from commit 03bfc77940)

Co-authored-by: Mohammed Yusuf Shaikh <49878143+mohammedyusufshaikh@users.noreply.github.com>
2021-10-21 10:34:31 +05:30
mergify[bot]
4f5d67883c fix: consolidated report issue #28035 (#28039)
fix: consolidated report issue
(cherry picked from commit 871cb1157f)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2021-10-20 21:10:45 +05:30
Ankush Menat
5ba315eb96 test: execute manufacturing reports
(cherry picked from commit da3635b94f)
2021-10-20 21:00:11 +05:30
Ankush Menat
408c4a6f54 fix: remove debug from query
(cherry picked from commit 126ba16740)
2021-10-20 21:00:11 +05:30
Ankush Menat
e357541509 fix: remove employee_name from job card summary
This field doesn't exist and it's moved on individual line level logs.

(cherry picked from commit 8221e7e01f)
2021-10-20 21:00:11 +05:30
mergify[bot]
1fae8f1fcb Merge pull request #28038 from frappe/mergify/bp/version-13-hotfix/pr-28036
fix: incorrect field name (backport #28036)
2021-10-20 20:55:00 +05:30
Ankush Menat
8fffd1597d fix: dont recompute item wise taxes from front end
(cherry picked from commit 393749a611)
2021-10-20 19:44:26 +05:30
mergify[bot]
34e92ab229 fix: incorrect status being set in Invoices (backport #28019) (#28031)
* fix: incorrect status being set in Invoices (#28019)

Co-authored-by: Pruthvi Patel <pruthvipatel145@gmail.com>
(cherry picked from commit 8d9d0987fe)

# Conflicts:
#	erpnext/patches.txt

* fix: merge conflict

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2021-10-20 19:31:47 +05:30
mergify[bot]
9ce7ea692d fix: avoid resetting employee on amending timesheets (#28025) (#28026)
(cherry picked from commit 261f80c5ca)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-10-20 17:45:43 +05:30
mergify[bot]
a739bf90c4 feat: Tax for recurring additional salary (backport #27459) (#28024)
* feat: Tax for recurring additional salary (#27459)

* fix: Logic for tax calculation on recurring additional salary

* fix: Get actual amount always in case of overwritten additional salary even if based on payment days

* feat: Test case added for recurring additional salary

* fix: use query builder to get additional salaries instead of raw SQL

* fix: query formatting and remove trailing spaces

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
(cherry picked from commit 2ef4844a3c)

# Conflicts:
#	erpnext/payroll/doctype/salary_slip/salary_slip.py
#	erpnext/payroll/doctype/salary_slip/test_salary_slip.py

* fix: conflicts

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-10-20 16:20:25 +05:30
Marica
077026a7ae Merge pull request #28005 from marination/patch-thumbnail-perf
fix: Fetch thumbnail from Item master instead of regenerating
2021-10-20 14:40:57 +05:30
marination
348a961b53 fix: Move thumbnail updation to different patch
- Thumbnail updation handled via different patch
- create_website_items will only have one purpose
- added progress bar to `create_website_items`
- code cleanup
2021-10-20 14:14:13 +05:30
Jannat Patel
3cf5861a8b Merge pull request #28015 from frappe/mergify/bp/version-13-hotfix/pr-27728
fix: Employee Leave Balance report should only consider ledgers of transaction type Leave Allocation (backport #27728)
2021-10-20 13:10:58 +05:30
Jannat Patel
8e9db11c69 Merge pull request #28012 from frappe/mergify/bp/version-13-hotfix/pr-27904
fix: map missing fields in opportunity (backport #27904)
2021-10-20 12:36:46 +05:30
Goh Yan Chang
50af32f35c Update employee_leave_balance.py
fix: Employee Leave Balance report showing wrong figures
(cherry picked from commit 632f7848a3)
2021-10-20 06:57:51 +00:00
Deepesh Garg
944e3d467c fix: Check for supplier name 2021-10-20 12:17:13 +05:30
Deepesh Garg
b7befe49dc fix: Check for other properties 2021-10-20 12:16:22 +05:30
Jannat Patel
8c57394e78 fix: conflicts 2021-10-20 12:14:15 +05:30
Deepesh Garg
f12deae24b fix: Error in TDS computation summary 2021-10-20 12:07:22 +05:30
Jannat Patel
8e2a84e435 Merge pull request #27997 from govindsmenokee/patch-7
fix: Employee filter in YTD and MTD in salary slip
2021-10-20 11:43:55 +05:30
Jannat Patel
ae948e31ea fix: linters 2021-10-20 11:30:33 +05:30
Jannat Patel
2fff5e5cd1 fix: map missing fields in opportunity (#27904)
(cherry picked from commit d81f811349)

# Conflicts:
#	erpnext/crm/doctype/opportunity/opportunity.py
2021-10-20 05:56:37 +00:00
marination
ac8014e24c fix: Check if thumbnail column exists in case of table trimming 2021-10-19 18:50:44 +05:30
marination
46a5a83789 fix: Get db values as dict when checking for thumbnail in existing web item 2021-10-19 18:39:48 +05:30
marination
11c498d9e5 fix: re-run patch
- Patch will just fetch thumbnails if website items are created, else it will create new website items
2021-10-19 18:32:43 +05:30
marination
94177c0764 fix: Fetch thumbnail from Item master instead of regenerating 2021-10-19 17:31:55 +05:30
Jannat Patel
0a4abff354 Merge branch 'version-13-hotfix' into patch-7 2021-10-19 16:10:51 +05:30
Deepesh Garg
ebe68c1a7a fix: Totals row incorrect value in GL Entry (#27867) 2021-10-19 15:08:05 +05:30
mergify[bot]
35448886bc Merge pull request #27999 from frappe/mergify/bp/version-13-hotfix/pr-27990
fix: changes in schedules gets overwritten on save (backport #27990)
2021-10-19 14:33:57 +05:30
mergify[bot]
3af060c787 fix: TaxJar update - added nexus list, making api call only for nexus (backport #27497) (#27940)
* fix: TaxJar update - nexus, selective api call

(cherry picked from commit b01fe1c3e2)

* fix: sales_tax attribute in api call before submit

(cherry picked from commit 3bb60a439a)

* Update erpnext/erpnext_integrations/taxjar_integration.py

Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
(cherry picked from commit 0e527311b9)

* Update erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.py

Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
(cherry picked from commit 486d7c3a39)

* Update erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.js

Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
(cherry picked from commit 435a5e4fa3)

* Update erpnext/erpnext_integrations/taxjar_integration.py

Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
(cherry picked from commit 11bd42467e)

* fix: Renamed child table doctype, delete taxes for non nexus state

(cherry picked from commit 5c18654113)

* fix: updated patch, add fields only if fields are checked

(cherry picked from commit 54754f4eb8)

# Conflicts:
#	erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py

* fix: patch fix, fields disabling

(cherry picked from commit 0a28fed679)

* fix: using db.exists and get_value instead of get_doc

(cherry picked from commit 8675ca5bdd)

* fix: dt instead of document in set_value query

(cherry picked from commit d3bb920e71)

* minor fixes

(cherry picked from commit 254b20bc09)

* fix: improved on_update method, added validation for tax calculation, sandbox mode checks

(cherry picked from commit 7114659ecc)

* fix: linters fix

(cherry picked from commit 3ece05a9f7)

* fix: patch fix added reload_doctype

(cherry picked from commit eaa3614155)

* fix: patch fixes- force reload doc, check for company

(cherry picked from commit 1b25e69af4)

* fix: 'Taxjar' type fix

(cherry picked from commit ea2038489f)

* fix: Update pacthes.txt

(cherry picked from commit 5d4c919c5c)

* fix: Patch

(cherry picked from commit 2d19e2d54b)

# Conflicts:
#	erpnext/patches.txt

* fix: Move product tax category folder to taxjar settings

(cherry picked from commit bd8cfb2e30)

* Update custom_fields_for_taxjar_integration.py

* fix: conflicts

* fix: linter issues

removed extra line

* fix: patch fix

einvoicing deprecation patch removed

Co-authored-by: Subin Tom <subintom2@gmail.com>
Co-authored-by: Subin Tom <36098155+nemesis189@users.noreply.github.com>
Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
Co-authored-by: Afshan <33727827+AfshanKhan@users.noreply.github.com>
2021-10-19 13:38:50 +05:30
Govind S Menokee
efc292a5dd YTD and MTD Messed up in Salary Slip
The filter for YTD, MTD etc are based on employee name. This seems like an amateur mistake. It should be based on employee id.
2021-10-19 12:49:00 +05:30
mergify[bot]
37088391bb feat: add enabled field in UOM (#27993) (#27996)
(cherry picked from commit 7717b99edb)

Co-authored-by: Himanshu <himanshuwarekar@yahoo.com>
2021-10-19 10:56:33 +05:30
mergify[bot]
f328b226fb fix: flaky Org Chart Test (#27971) (#27988)
(cherry picked from commit 8eacaddde7)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2021-10-18 11:47:12 +05:30
Deepesh Garg
9f71863a6a Merge pull request #27982 from frappe/mergify/bp/version-13-hotfix/pr-27967
fix: Account number and name incorrectly imported using COA importer (backport #27967)
2021-10-18 11:03:51 +05:30
Deepesh Garg
c99fe8b57d Merge pull request #27980 from frappe/mergify/bp/version-13-hotfix/pr-27934
fix: TDS round off not working from second transaction (backport #27934)
2021-10-18 11:02:33 +05:30
Deepesh Garg
a883f16f31 Merge pull request #27978 from frappe/mergify/bp/version-13-hotfix/pr-27970
fix (India): Interstate internal transfer invoices not visible in GSTR-1 (backport #27970)
2021-10-18 11:00:47 +05:30
Jannat Patel
07a9f16eb5 Merge pull request #27984 from frappe/mergify/bp/version-13-hotfix/pr-27850 2021-10-18 10:35:55 +05:30
pateljannat
acc5cff7ff fix: exclude inactive employees from auto attendance
(cherry picked from commit 921b4be348)
2021-10-18 04:34:53 +00:00
Deepesh Garg
f2340b360f fix: Account number and name incorrectly import using COA importer
(cherry picked from commit 17a8649500)
2021-10-18 03:46:59 +00:00
Deepesh Garg
9b71e02003 fix: TDS round off not working from second transaction
(cherry picked from commit b7a08535b5)
2021-10-18 03:24:23 +00:00
Deepesh Garg
50e718f508 fix: TDS round off not working from second transaction
(cherry picked from commit ca0067212d)
2021-10-18 03:24:22 +00:00
Deepesh Garg
289650748c fix: Interstate internal transfer invoices not visible in GSTR-1
(cherry picked from commit d9d42b13ab)
2021-10-18 03:23:31 +00:00
mergify[bot]
268893d5d0 fix: POS Profile payment methods table (#27956) (#27966)
Co-authored-by: Afshan <33727827+AfshanKhan@users.noreply.github.com>
(cherry picked from commit f3cf36f613)

Co-authored-by: Subin Tom <36098155+nemesis189@users.noreply.github.com>
2021-10-15 14:32:55 +05:30
Marica
7b4a5e7e64 Merge pull request #27965 from frappe/mergify/bp/version-13-hotfix/pr-27962
fix: Retain space inside Serial no string while cleaning serial nos (backport #27962)
2021-10-14 20:38:20 +05:30
marination
0d1b04326a test: Include serial no with spaces in it in sanitation test
(cherry picked from commit a9341672cf)
2021-10-14 14:48:24 +00:00
Marica
db9f56bee8 fix: Use strip instead of lstrip and rstrip
Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
(cherry picked from commit 8cf188d9c0)
2021-10-14 14:48:24 +00:00
marination
2e9d08f8b1 fix: Retain space inside Serial no string while cleaning serial nos
(cherry picked from commit 41035b0330)
2021-10-14 14:48:24 +00:00
mergify[bot]
02ddd5f2b0 fix: remove bad description (#27963) (#27964)
(cherry picked from commit 4437eb0c4b)

Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
2021-10-14 20:06:07 +05:30
Faris Ansari
666e8cd076 perf: Optimize get_attribute_filters (#26729)
* perf: Optimize get_attribute_filters

* fix: handle when filter attributes are undefined

* chore: unused imports

Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
2021-10-12 23:43:26 +05:30
marination
f3650b4f9d fix: Merge conflicts with e-commerce 2021-10-12 20:29:13 +05:30
marination
6b8dad9454 fix: Sider, Linter
- Moved return to next line
- Space between function import and body

(cherry picked from commit a780f78f38)
2021-10-12 14:55:08 +00:00
marination
1590ac3ec7 fix: Avoid automatic customer creation on website user login
(cherry picked from commit d824a90fac)

# Conflicts:
#	erpnext/e_commerce/shopping_cart/utils.py
2021-10-12 14:55:08 +00:00
2848 changed files with 288747 additions and 86342 deletions

View File

@@ -28,6 +28,10 @@ ignore =
B007,
B950,
W191,
E124, # closing bracket, irritating while writing QB code
E131, # continuation line unaligned for hanging indent
E123, # closing bracket does not match indentation of opening bracket's line
E101, # ensured by use of black
max-line-length = 200
exclude=.github/helper/semgrep_rules

View File

@@ -17,3 +17,6 @@ f0bcb753fb7ebbb64bb0d6906d431d002f0f7d8f
# imports cleanup
4b2be2999f2203493b49bf74c5b440d49e38b5e3
# formatting with black
c07713b860505211db2af685e2e950bf5dd7dd3a

View File

@@ -66,6 +66,8 @@ ignore =
F841,
E713,
E712,
B023,
B028
max-line-length = 200

View File

@@ -3,52 +3,71 @@ from urllib.parse import urlparse
import requests
docs_repos = [
"frappe_docs",
"erpnext_documentation",
WEBSITE_REPOS = [
"erpnext_com",
"frappe_io",
]
DOCUMENTATION_DOMAINS = [
"docs.erpnext.com",
"frappeframework.com",
]
def uri_validator(x):
result = urlparse(x)
return all([result.scheme, result.netloc, result.path])
def docs_link_exists(body):
for line in body.splitlines():
for word in line.split():
if word.startswith('http') and uri_validator(word):
parsed_url = urlparse(word)
if parsed_url.netloc == "github.com":
parts = parsed_url.path.split('/')
if len(parts) == 5 and parts[1] == "frappe" and parts[2] in docs_repos:
return True
elif parsed_url.netloc == "docs.erpnext.com":
return True
def is_valid_url(url: str) -> bool:
parts = urlparse(url)
return all((parts.scheme, parts.netloc, parts.path))
def is_documentation_link(word: str) -> bool:
if not word.startswith("http") or not is_valid_url(word):
return False
parsed_url = urlparse(word)
if parsed_url.netloc in DOCUMENTATION_DOMAINS:
return True
if parsed_url.netloc == "github.com":
parts = parsed_url.path.split("/")
if len(parts) == 5 and parts[1] == "frappe" and parts[2] in WEBSITE_REPOS:
return True
return False
def contains_documentation_link(body: str) -> bool:
return any(
is_documentation_link(word)
for line in body.splitlines()
for word in line.split()
)
def check_pull_request(number: str) -> "tuple[int, str]":
response = requests.get(f"https://api.github.com/repos/frappe/erpnext/pulls/{number}")
if not response.ok:
return 1, "Pull Request Not Found! ⚠️"
payload = response.json()
title = (payload.get("title") or "").lower().strip()
head_sha = (payload.get("head") or {}).get("sha")
body = (payload.get("body") or "").lower()
if (
not title.startswith("feat")
or not head_sha
or "no-docs" in body
or "backport" in body
):
return 0, "Skipping documentation checks... 🏃"
if contains_documentation_link(body):
return 0, "Documentation Link Found. You're Awesome! 🎉"
return 1, "Documentation Link Not Found! ⚠️"
if __name__ == "__main__":
pr = sys.argv[1]
response = requests.get("https://api.github.com/repos/frappe/erpnext/pulls/{}".format(pr))
if response.ok:
payload = response.json()
title = (payload.get("title") or "").lower().strip()
head_sha = (payload.get("head") or {}).get("sha")
body = (payload.get("body") or "").lower()
if (title.startswith("feat")
and head_sha
and "no-docs" not in body
and "backport" not in body
):
if docs_link_exists(body):
print("Documentation Link Found. You're Awesome! 🎉")
else:
print("Documentation Link Not Found! ⚠️")
sys.exit(1)
else:
print("Skipping documentation checks... 🏃")
exit_code, message = check_pull_request(sys.argv[1])
print(message)
sys.exit(exit_code)

View File

@@ -2,9 +2,16 @@
set -e
# Check for merge conflicts before proceeding
python -m compileall -f "${GITHUB_WORKSPACE}"
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
then echo "Found merge conflicts"
exit 1
fi
cd ~ || exit
sudo apt-get install redis-server libcups2-dev
sudo apt update && sudo apt install redis-server libcups2-dev
pip install frappe-bench

View File

@@ -1,38 +0,0 @@
# Semgrep linting
## What is semgrep?
Semgrep or "semantic grep" is language agnostic static analysis tool. In simple terms semgrep is syntax-aware `grep`, so unlike regex it doesn't get confused by different ways of writing same thing or whitespaces or code split in multiple lines etc.
Example:
To check if a translate function is using f-string or not the regex would be `r"_\(\s*f[\"']"` while equivalent rule in semgrep would be `_(f"...")`. As semgrep knows grammer of language it takes care of unnecessary whitespace, type of quotation marks etc.
You can read more such examples in `.github/helper/semgrep_rules` directory.
# Why/when to use this?
We want to maintain quality of contributions, at the same time remembering all the good practices can be pain to deal with while evaluating contributions. Using semgrep if you can translate "best practice" into a rule then it can automate the task for us.
## Running locally
Install semgrep using homebrew `brew install semgrep` or pip `pip install semgrep`.
To run locally use following command:
`semgrep --config=.github/helper/semgrep_rules [file/folder names]`
## Testing
semgrep allows testing the tests. Refer to this page: https://semgrep.dev/docs/writing-rules/testing-rules/
When writing new rules you should write few positive and few negative cases as shown in the guide and current tests.
To run current tests: `semgrep --test --test-ignore-todo .github/helper/semgrep_rules`
## Reference
If you are new to Semgrep read following pages to get started on writing/modifying rules:
- https://semgrep.dev/docs/getting-started/
- https://semgrep.dev/docs/writing-rules/rule-syntax
- https://semgrep.dev/docs/writing-rules/pattern-examples/
- https://semgrep.dev/docs/writing-rules/rule-ideas/#common-use-cases

View File

@@ -1,34 +0,0 @@
rules:
- id: frappe-missing-translate-function-in-report-python
paths:
include:
- "**/report"
exclude:
- "**/regional"
pattern-either:
- patterns:
- pattern: |
{..., "label": "...", ...}
- pattern-not: |
{..., "label": _("..."), ...}
- patterns:
- pattern: dict(..., label="...", ...)
- pattern-not: dict(..., label=_("..."), ...)
message: |
All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations
languages: [python]
severity: ERROR
- id: frappe-translated-values-in-business-logic
paths:
include:
- "**/report"
patterns:
- pattern-inside: |
{..., filters: [...], ...}
- pattern: |
{..., options: [..., __("..."), ...], ...}
message: |
Using translated values in options field will require you to translate the values while comparing in business logic. Instead of passing translated labels provide objects that contain both label and value. e.g. { label: __("Option value"), value: "Option value"}
languages: [javascript]
severity: ERROR

View File

@@ -1,6 +0,0 @@
def function_name(input):
# ruleid: frappe-codeinjection-eval
eval(input)
# ok: frappe-codeinjection-eval
eval("1 + 1")

View File

@@ -1,10 +0,0 @@
rules:
- id: frappe-codeinjection-eval
patterns:
- pattern-not: eval("...")
- pattern: eval(...)
message: |
Detected the use of eval(). eval() can be dangerous if used to evaluate
dynamic content. Avoid it or use safe_eval().
languages: [python]
severity: ERROR

View File

@@ -1,44 +0,0 @@
// ruleid: frappe-translation-empty-string
__("")
// ruleid: frappe-translation-empty-string
__('')
// ok: frappe-translation-js-formatting
__('Welcome {0}, get started with ERPNext in just a few clicks.', [full_name]);
// ruleid: frappe-translation-js-formatting
__(`Welcome ${full_name}, get started with ERPNext in just a few clicks.`);
// ok: frappe-translation-js-formatting
__('This is fine');
// ok: frappe-translation-trailing-spaces
__('This is fine');
// ruleid: frappe-translation-trailing-spaces
__(' this is not ok ');
// ruleid: frappe-translation-trailing-spaces
__('this is not ok ');
// ruleid: frappe-translation-trailing-spaces
__(' this is not ok');
// ok: frappe-translation-js-splitting
__('You have {0} subscribers in your mailing list.', [subscribers.length])
// todoruleid: frappe-translation-js-splitting
__('You have') + subscribers.length + __('subscribers in your mailing list.')
// ruleid: frappe-translation-js-splitting
__('You have' + 'subscribers in your mailing list.')
// ruleid: frappe-translation-js-splitting
__('You have {0} subscribers' +
'in your mailing list', [subscribers.length])
// ok: frappe-translation-js-splitting
__("Ctrl+Enter to add comment")
// ruleid: frappe-translation-js-splitting
__('You have {0} subscribers \
in your mailing list', [subscribers.length])

View File

@@ -1,61 +0,0 @@
# Examples taken from https://frappeframework.com/docs/user/en/translations
# This file is used for testing the tests.
from frappe import _
full_name = "Jon Doe"
# ok: frappe-translation-python-formatting
_('Welcome {0}, get started with ERPNext in just a few clicks.').format(full_name)
# ruleid: frappe-translation-python-formatting
_('Welcome %s, get started with ERPNext in just a few clicks.' % full_name)
# ruleid: frappe-translation-python-formatting
_('Welcome %(name)s, get started with ERPNext in just a few clicks.' % {'name': full_name})
# ruleid: frappe-translation-python-formatting
_('Welcome {0}, get started with ERPNext in just a few clicks.'.format(full_name))
subscribers = ["Jon", "Doe"]
# ok: frappe-translation-python-formatting
_('You have {0} subscribers in your mailing list.').format(len(subscribers))
# ruleid: frappe-translation-python-splitting
_('You have') + len(subscribers) + _('subscribers in your mailing list.')
# ruleid: frappe-translation-python-splitting
_('You have {0} subscribers \
in your mailing list').format(len(subscribers))
# ok: frappe-translation-python-splitting
_('You have {0} subscribers') \
+ 'in your mailing list'
# ruleid: frappe-translation-trailing-spaces
msg = _(" You have {0} pending invoice ")
# ruleid: frappe-translation-trailing-spaces
msg = _("You have {0} pending invoice ")
# ruleid: frappe-translation-trailing-spaces
msg = _(" You have {0} pending invoice")
# ok: frappe-translation-trailing-spaces
msg = ' ' + _("You have {0} pending invoices") + ' '
# ruleid: frappe-translation-python-formatting
_(f"can not format like this - {subscribers}")
# ruleid: frappe-translation-python-splitting
_(f"what" + f"this is also not cool")
# ruleid: frappe-translation-empty-string
_("")
# ruleid: frappe-translation-empty-string
_('')
class Test:
# ok: frappe-translation-python-splitting
def __init__(
args
):
pass

View File

@@ -1,64 +0,0 @@
rules:
- id: frappe-translation-empty-string
pattern-either:
- pattern: _("")
- pattern: __("")
message: |
Empty string is useless for translation.
Please refer: https://frappeframework.com/docs/user/en/translations
languages: [python, javascript, json]
severity: ERROR
- id: frappe-translation-trailing-spaces
pattern-either:
- pattern: _("=~/(^[ \t]+|[ \t]+$)/")
- pattern: __("=~/(^[ \t]+|[ \t]+$)/")
message: |
Trailing or leading whitespace not allowed in translate strings.
Please refer: https://frappeframework.com/docs/user/en/translations
languages: [python, javascript, json]
severity: ERROR
- id: frappe-translation-python-formatting
pattern-either:
- pattern: _("..." % ...)
- pattern: _("...".format(...))
- pattern: _(f"...")
message: |
Only positional formatters are allowed and formatting should not be done before translating.
Please refer: https://frappeframework.com/docs/user/en/translations
languages: [python]
severity: ERROR
- id: frappe-translation-js-formatting
patterns:
- pattern: __(`...`)
- pattern-not: __("...")
message: |
Template strings are not allowed for text formatting.
Please refer: https://frappeframework.com/docs/user/en/translations
languages: [javascript, json]
severity: ERROR
- id: frappe-translation-python-splitting
pattern-either:
- pattern: _(...) + _(...)
- pattern: _("..." + "...")
- pattern-regex: '[\s\.]_\([^\)]*\\\s*' # lines broken by `\`
- pattern-regex: '[\s\.]_\(\s*\n' # line breaks allowed by python for using ( )
message: |
Do not split strings inside translate function. Do not concatenate using translate functions.
Please refer: https://frappeframework.com/docs/user/en/translations
languages: [python]
severity: ERROR
- id: frappe-translation-js-splitting
pattern-either:
- pattern-regex: '__\([^\)]*[\\]\s+'
- pattern: __('...' + '...', ...)
- pattern: __('...') + __('...')
message: |
Do not split strings inside translate function. Do not concatenate using translate functions.
Please refer: https://frappeframework.com/docs/user/en/translations
languages: [javascript, json]
severity: ERROR

View File

@@ -1,9 +0,0 @@
// ok: frappe-missing-translate-function-js
frappe.msgprint('{{ _("Both login and password required") }}');
// ruleid: frappe-missing-translate-function-js
frappe.msgprint('What');
// ok: frappe-missing-translate-function-js
frappe.throw(' {{ _("Both login and password required") }}. ');

View File

@@ -1,30 +0,0 @@
rules:
- id: frappe-missing-translate-function-python
pattern-either:
- patterns:
- pattern: frappe.msgprint("...", ...)
- pattern-not: frappe.msgprint(_("..."), ...)
- patterns:
- pattern: frappe.throw("...", ...)
- pattern-not: frappe.throw(_("..."), ...)
message: |
All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations
languages: [python]
severity: ERROR
- id: frappe-missing-translate-function-js
pattern-either:
- patterns:
- pattern: frappe.msgprint("...", ...)
- pattern-not: frappe.msgprint(__("..."), ...)
# ignore microtemplating e.g. msgprint("{{ _("server side translation") }}")
- pattern-not: frappe.msgprint("=~/\{\{.*\_.*\}\}/i", ...)
- patterns:
- pattern: frappe.throw("...", ...)
- pattern-not: frappe.throw(__("..."), ...)
# ignore microtemplating
- pattern-not: frappe.throw("=~/\{\{.*\_.*\}\}/i", ...)
message: |
All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations
languages: [javascript]
severity: ERROR

View File

@@ -8,6 +8,7 @@ on:
jobs:
main:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Checkout Actions
uses: actions/checkout@v2

View File

@@ -11,4 +11,4 @@ jobs:
- name: curl
run: |
apk add curl bash
curl -s -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "Travis-API-Version: 3" -H "Authorization: token ${{ secrets.TRAVIS_CI_TOKEN }}" -d '{"request":{"branch":"master"}}' https://api.travis-ci.com/repo/frappe%2Ffrappe_docker/requests
curl -X POST -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer ${{ secrets.CI_PAT }}" https://api.github.com/repos/frappe/frappe_docker/actions/workflows/build_stable.yml/dispatches -d '{"ref":"main"}'

View File

@@ -6,12 +6,13 @@ on:
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: 'Setup Environment'
uses: actions/setup-python@v2
with:
python-version: 3.6
python-version: '3.10'
- name: 'Clone repo'
uses: actions/checkout@v2

View File

@@ -10,13 +10,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: returntocorp/semgrep-action@v1
env:
SEMGREP_TIMEOUT: 120
with:
config: >-
r/python.lang.correctness
.github/helper/semgrep_rules
- name: Set up Python 3.8
uses: actions/setup-python@v2
@@ -24,4 +17,15 @@ jobs:
python-version: 3.8
- name: Install and Run Pre-commit
uses: pre-commit/action@v2.0.0
uses: pre-commit/action@v2.0.3
- name: Download Semgrep rules
run: git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules
- uses: returntocorp/semgrep-action@v1
env:
SEMGREP_TIMEOUT: 120
with:
config: >-
r/python.lang.correctness
./frappe-semgrep-rules/rules

View File

@@ -8,9 +8,14 @@ on:
workflow_dispatch:
concurrency:
group: patch-mariadb-v13-${{ github.event.number }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-18.04
timeout-minutes: 60
name: Patch Test
@@ -30,7 +35,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.6
python-version: 3.7
- name: Setup Node
uses: actions/setup-node@v2

31
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: Generate Semantic Release
on:
push:
branches:
- version-13
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Entire Repository
uses: actions/checkout@v2
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 18
- name: Setup dependencies
run: |
npm install @semantic-release/git @semantic-release/exec --no-save
- name: Create Release
env:
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
GIT_AUTHOR_NAME: "Frappe PR Bot"
GIT_AUTHOR_EMAIL: "developers@frappe.io"
GIT_COMMITTER_NAME: "Frappe PR Bot"
GIT_COMMITTER_EMAIL: "developers@frappe.io"
run: npx semantic-release

View File

@@ -12,15 +12,20 @@ on:
- '**.js'
- '**.md'
concurrency:
group: server-mariadb-v13-${{ github.event.number }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-18.04
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
container: [1, 2, 3]
container: [1, 2]
name: Python Unit Tests
@@ -88,39 +93,8 @@ jobs:
run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh
- name: Run Tests
run: cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --use-orchestrator --with-coverage
run: 'cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --total-builds 2 --build-number ${{ matrix.container }}'
env:
TYPE: server
CI_BUILD_ID: ${{ github.run_id }}
ORCHESTRATOR_URL: http://test-orchestrator.frappe.io
- name: Upload Coverage Data
run: |
cp ~/frappe-bench/sites/.coverage ${GITHUB_WORKSPACE}
cd ${GITHUB_WORKSPACE}
pip3 install coverage==5.5
pip3 install coveralls==3.0.1
coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: run-${{ matrix.container }}
COVERALLS_SERVICE_NAME: ${{ github.event_name == 'pull_request' && 'github' || 'github-actions' }}
COVERALLS_PARALLEL: true
coveralls:
name: Coverage Wrap Up
needs: test
container: python:3-slim
runs-on: ubuntu-18.04
steps:
- name: Clone
uses: actions/checkout@v2
- name: Coveralls Finished
run: |
cd ${GITHUB_WORKSPACE}
pip3 install coverage==5.5
pip3 install coveralls==3.0.1
coveralls --finish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,112 +0,0 @@
name: UI
on:
pull_request:
paths-ignore:
- '**.md'
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-18.04
strategy:
fail-fast: false
name: UI Tests (Cypress)
services:
mysql:
image: mariadb:10.3
env:
MYSQL_ALLOW_EMPTY_PASSWORD: YES
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- name: Clone
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.7
- uses: actions/setup-node@v2
with:
node-version: 14
check-latest: true
- name: Add to Hosts
run: |
echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts
- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Cache cypress binary
uses: actions/cache@v2
with:
path: ~/.cache
key: ${{ runner.os }}-cypress-
restore-keys: |
${{ runner.os }}-cypress-
${{ runner.os }}-
- name: Install
run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh
env:
DB: mariadb
TYPE: ui
- name: Site Setup
run: cd ~/frappe-bench/ && bench --site test_site execute erpnext.setup.utils.before_tests
- name: cypress pre-requisites
run: cd ~/frappe-bench/apps/frappe && yarn add cypress-file-upload@^5 @testing-library/cypress@^8 --no-lockfile
- name: Build Assets
run: cd ~/frappe-bench/ && bench build
env:
CI: Yes
- name: UI Tests
run: cd ~/frappe-bench/ && bench --site test_site run-ui-tests erpnext --headless
env:
CYPRESS_RECORD_KEY: 60a8e3bf-08f5-45b1-9269-2b207d7d30cd
- name: Show bench console if tests failed
if: ${{ failure() }}
run: cat ~/frappe-bench/bench_run_logs.txt

View File

@@ -16,8 +16,8 @@ repos:
- id: check-merge-conflict
- id: check-ast
- repo: https://gitlab.com/pycqa/flake8
rev: 3.9.2
- repo: https://github.com/PyCQA/flake8
rev: 5.0.4
hooks:
- id: flake8
additional_dependencies: [
@@ -26,12 +26,19 @@ repos:
args: ['--config', '.github/helper/.flake8_strict']
exclude: ".*setup.py$"
- repo: https://github.com/timothycrosley/isort
rev: 5.9.1
- repo: https://github.com/adityahase/black
rev: 9cb0a69f4d0030cdf687eddf314468b39ed54119
hooks:
- id: black
additional_dependencies: ['click==8.0.4']
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
exclude: ".*setup.py$"
ci:
autoupdate_schedule: weekly
skip: []

24
.releaserc Normal file
View File

@@ -0,0 +1,24 @@
{
"branches": ["version-13"],
"plugins": [
"@semantic-release/commit-analyzer", {
"preset": "angular",
"releaseRules": [
{"breaking": true, "release": false}
]
},
"@semantic-release/release-notes-generator",
[
"@semantic-release/exec", {
"prepareCmd": 'sed -ir -E "s/\"[0-9]+\.[0-9]+\.[0-9]+\"/\"${nextRelease.version}\"/" erpnext/__init__.py'
}
],
[
"@semantic-release/git", {
"assets": ["erpnext/__init__.py"],
"message": "chore(release): Bumped to Version ${nextRelease.version}\n\n${nextRelease.notes}"
}
],
"@semantic-release/github"
]
}

View File

@@ -3,33 +3,31 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
erpnext/accounts/ @nextchamp-saqib @deepeshgarg007
erpnext/assets/ @nextchamp-saqib @deepeshgarg007
erpnext/accounts/ @nextchamp-saqib @deepeshgarg007 @ruthra-kumar
erpnext/assets/ @nextchamp-saqib @deepeshgarg007 @ruthra-kumar
erpnext/erpnext_integrations/ @nextchamp-saqib
erpnext/loan_management/ @nextchamp-saqib @deepeshgarg007
erpnext/regional @nextchamp-saqib @deepeshgarg007
erpnext/selling @nextchamp-saqib @deepeshgarg007
erpnext/regional @nextchamp-saqib @deepeshgarg007 @ruthra-kumar
erpnext/selling @nextchamp-saqib @deepeshgarg007 @ruthra-kumar
erpnext/support/ @nextchamp-saqib @deepeshgarg007
pos* @nextchamp-saqib
erpnext/buying/ @marination @rohitwaghchaure @ankush
erpnext/e_commerce/ @marination
erpnext/maintenance/ @marination @rohitwaghchaure
erpnext/manufacturing/ @marination @rohitwaghchaure @ankush
erpnext/portal/ @marination
erpnext/quality_management/ @marination @rohitwaghchaure
erpnext/shopping_cart/ @marination
erpnext/stock/ @marination @rohitwaghchaure @ankush
erpnext/buying/ @rohitwaghchaure @s-aga-r
erpnext/maintenance/ @rohitwaghchaure @s-aga-r
erpnext/manufacturing/ @rohitwaghchaure @s-aga-r
erpnext/quality_management/ @rohitwaghchaure @s-aga-r
erpnext/stock/ @rohitwaghchaure @s-aga-r
erpnext/crm/ @ruchamahabal @pateljannat
erpnext/education/ @ruchamahabal @pateljannat
erpnext/healthcare/ @ruchamahabal @pateljannat @chillaranand
erpnext/hr/ @ruchamahabal @pateljannat
erpnext/healthcare/ @chillaranand
erpnext/hr/ @ruchamahabal
erpnext/non_profit/ @ruchamahabal
erpnext/payroll @ruchamahabal @pateljannat
erpnext/projects/ @ruchamahabal @pateljannat
erpnext/payroll @ruchamahabal
erpnext/projects/ @ruchamahabal
erpnext/controllers @deepeshgarg007 @nextchamp-saqib @rohitwaghchaure @marination
erpnext/patches/ @deepeshgarg007 @nextchamp-saqib @rohitwaghchaure
erpnext/public/ @nextchamp-saqib @marination
.github/ @surajshetty3416 @ankush
requirements.txt @gavindsouza
.github/ @ankush
requirements.txt @gavindsouza @ankush

View File

@@ -65,6 +65,8 @@ GNU/General Public License (see [license.txt](license.txt))
The ERPNext code is licensed as GNU General Public License (v3) and the Documentation is licensed as Creative Commons (CC-BY-SA-3.0) and the copyright is owned by Frappe Technologies Pvt Ltd (Frappe) and Contributors.
By contributing to ERPNext, you agree that your contributions will be licensed under its GNU General Public License (v3).
---
## Contributing

View File

@@ -1,55 +1,60 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import inspect
import frappe
from erpnext.hooks import regional_overrides
__version__ = '13.13.0'
__version__ = "13.45.1"
def get_default_company(user=None):
'''Get default company for user'''
"""Get default company for user"""
from frappe.defaults import get_user_default_as_list
if not user:
user = frappe.session.user
companies = get_user_default_as_list(user, 'company')
companies = get_user_default_as_list(user, "company")
if companies:
default_company = companies[0]
else:
default_company = frappe.db.get_single_value('Global Defaults', 'default_company')
default_company = frappe.db.get_single_value("Global Defaults", "default_company")
return default_company
def get_default_currency():
'''Returns the currency of the default company'''
"""Returns the currency of the default company"""
company = get_default_company()
if company:
return frappe.get_cached_value('Company', company, 'default_currency')
return frappe.get_cached_value("Company", company, "default_currency")
def get_default_cost_center(company):
'''Returns the default cost center of the company'''
"""Returns the default cost center of the company"""
if not company:
return None
if not frappe.flags.company_cost_center:
frappe.flags.company_cost_center = {}
if not company in frappe.flags.company_cost_center:
frappe.flags.company_cost_center[company] = frappe.get_cached_value('Company', company, 'cost_center')
frappe.flags.company_cost_center[company] = frappe.get_cached_value(
"Company", company, "cost_center"
)
return frappe.flags.company_cost_center[company]
def get_company_currency(company):
'''Returns the default company currency'''
"""Returns the default company currency"""
if not frappe.flags.company_currency:
frappe.flags.company_currency = {}
if not company in frappe.flags.company_currency:
frappe.flags.company_currency[company] = frappe.db.get_value('Company', company, 'default_currency', cache=True)
frappe.flags.company_currency[company] = frappe.db.get_value(
"Company", company, "default_currency", cache=True
)
return frappe.flags.company_currency[company]
def set_perpetual_inventory(enable=1, company=None):
if not company:
company = "_Test Company" if frappe.flags.in_test else get_default_company()
@@ -58,9 +63,10 @@ def set_perpetual_inventory(enable=1, company=None):
company.enable_perpetual_inventory = enable
company.save()
def encode_company_abbr(name, company):
'''Returns name encoded with company abbreviation'''
company_abbr = frappe.get_cached_value('Company', company, "abbr")
def encode_company_abbr(name, company=None, abbr=None):
"""Returns name encoded with company abbreviation"""
company_abbr = abbr or frappe.get_cached_value("Company", company, "abbr")
parts = name.rsplit(" - ", 1)
if parts[-1].lower() != company_abbr.lower():
@@ -68,65 +74,73 @@ def encode_company_abbr(name, company):
return " - ".join(parts)
def is_perpetual_inventory_enabled(company):
if not company:
company = "_Test Company" if frappe.flags.in_test else get_default_company()
if not hasattr(frappe.local, 'enable_perpetual_inventory'):
if not hasattr(frappe.local, "enable_perpetual_inventory"):
frappe.local.enable_perpetual_inventory = {}
if not company in frappe.local.enable_perpetual_inventory:
frappe.local.enable_perpetual_inventory[company] = frappe.get_cached_value('Company',
company, "enable_perpetual_inventory") or 0
frappe.local.enable_perpetual_inventory[company] = (
frappe.get_cached_value("Company", company, "enable_perpetual_inventory") or 0
)
return frappe.local.enable_perpetual_inventory[company]
def get_default_finance_book(company=None):
if not company:
company = get_default_company()
if not hasattr(frappe.local, 'default_finance_book'):
if not hasattr(frappe.local, "default_finance_book"):
frappe.local.default_finance_book = {}
if not company in frappe.local.default_finance_book:
frappe.local.default_finance_book[company] = frappe.get_cached_value('Company',
company, "default_finance_book")
frappe.local.default_finance_book[company] = frappe.get_cached_value(
"Company", company, "default_finance_book"
)
return frappe.local.default_finance_book[company]
def get_party_account_type(party_type):
if not hasattr(frappe.local, 'party_account_types'):
if not hasattr(frappe.local, "party_account_types"):
frappe.local.party_account_types = {}
if not party_type in frappe.local.party_account_types:
frappe.local.party_account_types[party_type] = frappe.db.get_value("Party Type",
party_type, "account_type") or ''
frappe.local.party_account_types[party_type] = (
frappe.db.get_value("Party Type", party_type, "account_type") or ""
)
return frappe.local.party_account_types[party_type]
def get_region(company=None):
'''Return the default country based on flag, company or global settings
"""Return the default country based on flag, company or global settings
You can also set global company flag in `frappe.flags.company`
'''
"""
if company or frappe.flags.company:
return frappe.get_cached_value('Company',
company or frappe.flags.company, 'country')
return frappe.get_cached_value("Company", company or frappe.flags.company, "country")
elif frappe.flags.country:
return frappe.flags.country
else:
return frappe.get_system_settings('country')
return frappe.get_system_settings("country")
def allow_regional(fn):
'''Decorator to make a function regionally overridable
"""Decorator to make a function regionally overridable
Example:
@erpnext.allow_regional
def myfunction():
pass'''
pass"""
def caller(*args, **kwargs):
region = get_region()
fn_name = inspect.getmodule(fn).__name__ + '.' + fn.__name__
fn_name = inspect.getmodule(fn).__name__ + "." + fn.__name__
if region in regional_overrides and fn_name in regional_overrides[region]:
return frappe.get_attr(regional_overrides[region][fn_name])(*args, **kwargs)
else:
@@ -134,10 +148,17 @@ def allow_regional(fn):
return caller
@frappe.whitelist()
def get_last_membership(member):
'''Returns last membership if exists'''
last_membership = frappe.get_all('Membership', 'name,to_date,membership_type',
dict(member=member, paid=1), order_by='to_date desc', limit=1)
"""Returns last membership if exists"""
last_membership = frappe.get_all(
"Membership",
"name,to_date,membership_type",
dict(member=member, paid=1),
order_by="to_date desc",
limit=1,
)
if last_membership:
return last_membership[0]

View File

@@ -23,32 +23,31 @@ class ERPNextAddress(Address):
if self.is_your_company_address and not [
row for row in self.links if row.link_doctype == "Company"
]:
frappe.throw(_("Address needs to be linked to a Company. Please add a row for Company in the Links table."),
title=_("Company Not Linked"))
frappe.throw(
_("Address needs to be linked to a Company. Please add a row for Company in the Links table."),
title=_("Company Not Linked"),
)
def on_update(self):
"""
After Address is updated, update the related 'Primary Address' on Customer.
"""
address_display = get_address_display(self.as_dict())
filters = {
"customer_primary_address": self.name
}
filters = {"customer_primary_address": self.name}
customers = frappe.db.get_all("Customer", filters=filters, as_list=True)
for customer_name in customers:
frappe.db.set_value("Customer", customer_name[0], "primary_address", address_display)
@frappe.whitelist()
def get_shipping_address(company, address = None):
def get_shipping_address(company, address=None):
filters = [
["Dynamic Link", "link_doctype", "=", "Company"],
["Dynamic Link", "link_name", "=", company],
["Address", "is_your_company_address", "=", 1]
["Address", "is_your_company_address", "=", 1],
]
fields = ["*"]
if address and frappe.db.get_value('Dynamic Link',
{'parent': address, 'link_name': company}):
if address and frappe.db.get_value("Dynamic Link", {"parent": address, "link_name": company}):
filters.append(["Address", "name", "=", address])
if not address:
filters.append(["Address", "is_shipping_address", "=", 1])

View File

@@ -1,7 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
from frappe import _
@@ -13,15 +12,24 @@ from frappe.utils.nestedset import get_descendants_of
@frappe.whitelist()
@cache_source
def get(chart_name = None, chart = None, no_cache = None, filters = None, from_date = None,
to_date = None, timespan = None, time_interval = None, heatmap_year = None):
def get(
chart_name=None,
chart=None,
no_cache=None,
filters=None,
from_date=None,
to_date=None,
timespan=None,
time_interval=None,
heatmap_year=None,
):
if chart_name:
chart = frappe.get_doc('Dashboard Chart', chart_name)
chart = frappe.get_doc("Dashboard Chart", chart_name)
else:
chart = frappe._dict(frappe.parse_json(chart))
timespan = chart.timespan
if chart.timespan == 'Select Date Range':
if chart.timespan == "Select Date Range":
from_date = chart.from_date
to_date = chart.to_date
@@ -32,17 +40,23 @@ def get(chart_name = None, chart = None, no_cache = None, filters = None, from_d
company = filters.get("company")
if not account and chart_name:
frappe.throw(_("Account is not set for the dashboard chart {0}")
.format(get_link_to_form("Dashboard Chart", chart_name)))
frappe.throw(
_("Account is not set for the dashboard chart {0}").format(
get_link_to_form("Dashboard Chart", chart_name)
)
)
if not frappe.db.exists("Account", account) and chart_name:
frappe.throw(_("Account {0} does not exists in the dashboard chart {1}")
.format(account, get_link_to_form("Dashboard Chart", chart_name)))
frappe.throw(
_("Account {0} does not exists in the dashboard chart {1}").format(
account, get_link_to_form("Dashboard Chart", chart_name)
)
)
if not to_date:
to_date = nowdate()
if not from_date:
if timegrain in ('Monthly', 'Quarterly'):
if timegrain in ("Monthly", "Quarterly"):
from_date = get_from_date_from_timespan(to_date, timespan)
# fetch dates to plot
@@ -55,16 +69,14 @@ def get(chart_name = None, chart = None, no_cache = None, filters = None, from_d
result = build_result(account, dates, gl_entries)
return {
"labels": [formatdate(r[0].strftime('%Y-%m-%d')) for r in result],
"datasets": [{
"name": account,
"values": [r[1] for r in result]
}]
"labels": [formatdate(r[0].strftime("%Y-%m-%d")) for r in result],
"datasets": [{"name": account, "values": [r[1] for r in result]}],
}
def build_result(account, dates, gl_entries):
result = [[getdate(date), 0.0] for date in dates]
root_type = frappe.db.get_value('Account', account, 'root_type')
root_type = frappe.db.get_value("Account", account, "root_type")
# start with the first date
date_index = 0
@@ -79,30 +91,34 @@ def build_result(account, dates, gl_entries):
result[date_index][1] += entry.debit - entry.credit
# if account type is credit, switch balances
if root_type not in ('Asset', 'Expense'):
if root_type not in ("Asset", "Expense"):
for r in result:
r[1] = -1 * r[1]
# for balance sheet accounts, the totals are cumulative
if root_type in ('Asset', 'Liability', 'Equity'):
if root_type in ("Asset", "Liability", "Equity"):
for i, r in enumerate(result):
if i > 0:
r[1] = r[1] + result[i-1][1]
r[1] = r[1] + result[i - 1][1]
return result
def get_gl_entries(account, to_date):
child_accounts = get_descendants_of('Account', account, ignore_permissions=True)
child_accounts = get_descendants_of("Account", account, ignore_permissions=True)
child_accounts.append(account)
return frappe.db.get_all('GL Entry',
fields = ['posting_date', 'debit', 'credit'],
filters = [
dict(posting_date = ('<', to_date)),
dict(account = ('in', child_accounts)),
dict(voucher_type = ('!=', 'Period Closing Voucher'))
return frappe.db.get_all(
"GL Entry",
fields=["posting_date", "debit", "credit"],
filters=[
dict(posting_date=("<", to_date)),
dict(account=("in", child_accounts)),
dict(voucher_type=("!=", "Period Closing Voucher")),
],
order_by = 'posting_date asc')
order_by="posting_date asc",
)
def get_dates_from_timegrain(from_date, to_date, timegrain):
days = months = years = 0
@@ -117,6 +133,8 @@ def get_dates_from_timegrain(from_date, to_date, timegrain):
dates = [get_period_ending(from_date, timegrain)]
while getdate(dates[-1]) < getdate(to_date):
date = get_period_ending(add_to_date(dates[-1], years=years, months=months, days=days), timegrain)
date = get_period_ending(
add_to_date(dates[-1], years=years, months=months, days=days), timegrain
)
dates.append(date)
return dates

View File

@@ -1,5 +1,3 @@
from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.email import sendmail_to_system_managers
@@ -24,20 +22,23 @@ from erpnext.accounts.utils import get_account_currency
def validate_service_stop_date(doc):
''' Validates service_stop_date for Purchase Invoice and Sales Invoice '''
"""Validates service_stop_date for Purchase Invoice and Sales Invoice"""
enable_check = "enable_deferred_revenue" \
if doc.doctype=="Sales Invoice" else "enable_deferred_expense"
enable_check = (
"enable_deferred_revenue" if doc.doctype == "Sales Invoice" else "enable_deferred_expense"
)
old_stop_dates = {}
old_doc = frappe.db.get_all("{0} Item".format(doc.doctype),
{"parent": doc.name}, ["name", "service_stop_date"])
old_doc = frappe.db.get_all(
"{0} Item".format(doc.doctype), {"parent": doc.name}, ["name", "service_stop_date"]
)
for d in old_doc:
old_stop_dates[d.name] = d.service_stop_date or ""
for item in doc.items:
if not item.get(enable_check): continue
if not item.get(enable_check):
continue
if item.service_stop_date:
if date_diff(item.service_stop_date, item.service_start_date) < 0:
@@ -46,21 +47,31 @@ def validate_service_stop_date(doc):
if date_diff(item.service_stop_date, item.service_end_date) > 0:
frappe.throw(_("Service Stop Date cannot be after Service End Date"))
if old_stop_dates and old_stop_dates.get(item.name) and item.service_stop_date!=old_stop_dates.get(item.name):
if (
old_stop_dates
and old_stop_dates.get(item.name)
and item.service_stop_date != old_stop_dates.get(item.name)
):
frappe.throw(_("Cannot change Service Stop Date for item in row {0}").format(item.idx))
def build_conditions(process_type, account, company):
conditions=''
deferred_account = "item.deferred_revenue_account" if process_type=="Income" else "item.deferred_expense_account"
conditions = ""
deferred_account = (
"item.deferred_revenue_account" if process_type == "Income" else "item.deferred_expense_account"
)
if account:
conditions += "AND %s='%s'"%(deferred_account, account)
conditions += "AND %s='%s'" % (deferred_account, account)
elif company:
conditions += f"AND p.company = {frappe.db.escape(company)}"
return conditions
def convert_deferred_expense_to_expense(deferred_process, start_date=None, end_date=None, conditions=''):
def convert_deferred_expense_to_expense(
deferred_process, start_date=None, end_date=None, conditions=""
):
# book the expense/income on the last day, but it will be trigger on the 1st of month at 12:00 AM
if not start_date:
@@ -69,14 +80,19 @@ def convert_deferred_expense_to_expense(deferred_process, start_date=None, end_d
end_date = add_days(today(), -1)
# check for the purchase invoice for which GL entries has to be done
invoices = frappe.db.sql_list('''
invoices = frappe.db.sql_list(
"""
select distinct item.parent
from `tabPurchase Invoice Item` item, `tabPurchase Invoice` p
where item.service_start_date<=%s and item.service_end_date>=%s
and item.enable_deferred_expense = 1 and item.parent=p.name
and item.docstatus = 1 and ifnull(item.amount, 0) > 0
{0}
'''.format(conditions), (end_date, start_date)) #nosec
""".format(
conditions
),
(end_date, start_date),
) # nosec
# For each invoice, book deferred expense
for invoice in invoices:
@@ -86,7 +102,10 @@ def convert_deferred_expense_to_expense(deferred_process, start_date=None, end_d
if frappe.flags.deferred_accounting_error:
send_mail(deferred_process)
def convert_deferred_revenue_to_income(deferred_process, start_date=None, end_date=None, conditions=''):
def convert_deferred_revenue_to_income(
deferred_process, start_date=None, end_date=None, conditions=""
):
# book the expense/income on the last day, but it will be trigger on the 1st of month at 12:00 AM
if not start_date:
@@ -95,14 +114,19 @@ def convert_deferred_revenue_to_income(deferred_process, start_date=None, end_da
end_date = add_days(today(), -1)
# check for the sales invoice for which GL entries has to be done
invoices = frappe.db.sql_list('''
invoices = frappe.db.sql_list(
"""
select distinct item.parent
from `tabSales Invoice Item` item, `tabSales Invoice` p
where item.service_start_date<=%s and item.service_end_date>=%s
and item.enable_deferred_revenue = 1 and item.parent=p.name
and item.docstatus = 1 and ifnull(item.amount, 0) > 0
{0}
'''.format(conditions), (end_date, start_date)) #nosec
""".format(
conditions
),
(end_date, start_date),
) # nosec
for invoice in invoices:
doc = frappe.get_doc("Sales Invoice", invoice)
@@ -111,30 +135,43 @@ def convert_deferred_revenue_to_income(deferred_process, start_date=None, end_da
if frappe.flags.deferred_accounting_error:
send_mail(deferred_process)
def get_booking_dates(doc, item, posting_date=None):
if not posting_date:
posting_date = add_days(today(), -1)
last_gl_entry = False
deferred_account = "deferred_revenue_account" if doc.doctype=="Sales Invoice" else "deferred_expense_account"
deferred_account = (
"deferred_revenue_account" if doc.doctype == "Sales Invoice" else "deferred_expense_account"
)
prev_gl_entry = frappe.db.sql('''
prev_gl_entry = frappe.db.sql(
"""
select name, posting_date from `tabGL Entry` where company=%s and account=%s and
voucher_type=%s and voucher_no=%s and voucher_detail_no=%s
and is_cancelled = 0
order by posting_date desc limit 1
''', (doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name), as_dict=True)
""",
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name),
as_dict=True,
)
prev_gl_via_je = frappe.db.sql('''
prev_gl_via_je = frappe.db.sql(
"""
SELECT p.name, p.posting_date FROM `tabJournal Entry` p, `tabJournal Entry Account` c
WHERE p.name = c.parent and p.company=%s and c.account=%s
and c.reference_type=%s and c.reference_name=%s
and c.reference_detail_no=%s and c.docstatus < 2 order by posting_date desc limit 1
''', (doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name), as_dict=True)
""",
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name),
as_dict=True,
)
if prev_gl_via_je:
if (not prev_gl_entry) or (prev_gl_entry and
prev_gl_entry[0].posting_date < prev_gl_via_je[0].posting_date):
if (not prev_gl_entry) or (
prev_gl_entry and prev_gl_entry[0].posting_date < prev_gl_via_je[0].posting_date
):
prev_gl_entry = prev_gl_via_je
if prev_gl_entry:
@@ -158,66 +195,94 @@ def get_booking_dates(doc, item, posting_date=None):
else:
return None, None, None
def calculate_monthly_amount(doc, item, last_gl_entry, start_date, end_date, total_days, total_booking_days, account_currency):
def calculate_monthly_amount(
doc, item, last_gl_entry, start_date, end_date, total_days, total_booking_days, account_currency
):
amount, base_amount = 0, 0
if not last_gl_entry:
total_months = (item.service_end_date.year - item.service_start_date.year) * 12 + \
(item.service_end_date.month - item.service_start_date.month) + 1
total_months = (
(item.service_end_date.year - item.service_start_date.year) * 12
+ (item.service_end_date.month - item.service_start_date.month)
+ 1
)
prorate_factor = flt(date_diff(item.service_end_date, item.service_start_date)) \
/ flt(date_diff(get_last_day(item.service_end_date), get_first_day(item.service_start_date)))
prorate_factor = flt(date_diff(item.service_end_date, item.service_start_date)) / flt(
date_diff(get_last_day(item.service_end_date), get_first_day(item.service_start_date))
)
actual_months = rounded(total_months * prorate_factor, 1)
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(doc, item)
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(
doc, item
)
base_amount = flt(item.base_net_amount / actual_months, item.precision("base_net_amount"))
if base_amount + already_booked_amount > item.base_net_amount:
base_amount = item.base_net_amount - already_booked_amount
if account_currency==doc.company_currency:
if account_currency == doc.company_currency:
amount = base_amount
else:
amount = flt(item.net_amount/actual_months, item.precision("net_amount"))
amount = flt(item.net_amount / actual_months, item.precision("net_amount"))
if amount + already_booked_amount_in_account_currency > item.net_amount:
amount = item.net_amount - already_booked_amount_in_account_currency
if not (get_first_day(start_date) == start_date and get_last_day(end_date) == end_date):
partial_month = flt(date_diff(end_date, start_date)) \
/ flt(date_diff(get_last_day(end_date), get_first_day(start_date)))
partial_month = flt(date_diff(end_date, start_date)) / flt(
date_diff(get_last_day(end_date), get_first_day(start_date))
)
base_amount = rounded(partial_month, 1) * base_amount
amount = rounded(partial_month, 1) * amount
else:
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(doc, item)
base_amount = flt(item.base_net_amount - already_booked_amount, item.precision("base_net_amount"))
if account_currency==doc.company_currency:
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(
doc, item
)
base_amount = flt(
item.base_net_amount - already_booked_amount, item.precision("base_net_amount")
)
if account_currency == doc.company_currency:
amount = base_amount
else:
amount = flt(item.net_amount - already_booked_amount_in_account_currency, item.precision("net_amount"))
amount = flt(
item.net_amount - already_booked_amount_in_account_currency, item.precision("net_amount")
)
return amount, base_amount
def calculate_amount(doc, item, last_gl_entry, total_days, total_booking_days, account_currency):
amount, base_amount = 0, 0
if not last_gl_entry:
base_amount = flt(item.base_net_amount*total_booking_days/flt(total_days), item.precision("base_net_amount"))
if account_currency==doc.company_currency:
base_amount = flt(
item.base_net_amount * total_booking_days / flt(total_days), item.precision("base_net_amount")
)
if account_currency == doc.company_currency:
amount = base_amount
else:
amount = flt(item.net_amount*total_booking_days/flt(total_days), item.precision("net_amount"))
amount = flt(
item.net_amount * total_booking_days / flt(total_days), item.precision("net_amount")
)
else:
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(doc, item)
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(
doc, item
)
base_amount = flt(item.base_net_amount - already_booked_amount, item.precision("base_net_amount"))
if account_currency==doc.company_currency:
base_amount = flt(
item.base_net_amount - already_booked_amount, item.precision("base_net_amount")
)
if account_currency == doc.company_currency:
amount = base_amount
else:
amount = flt(item.net_amount - already_booked_amount_in_account_currency, item.precision("net_amount"))
amount = flt(
item.net_amount - already_booked_amount_in_account_currency, item.precision("net_amount")
)
return amount, base_amount
def get_already_booked_amount(doc, item):
if doc.doctype == "Sales Invoice":
total_credit_debit, total_credit_debit_currency = "debit", "debit_in_account_currency"
@@ -226,20 +291,31 @@ def get_already_booked_amount(doc, item):
total_credit_debit, total_credit_debit_currency = "credit", "credit_in_account_currency"
deferred_account = "deferred_expense_account"
gl_entries_details = frappe.db.sql('''
gl_entries_details = frappe.db.sql(
"""
select sum({0}) as total_credit, sum({1}) as total_credit_in_account_currency, voucher_detail_no
from `tabGL Entry` where company=%s and account=%s and voucher_type=%s and voucher_no=%s and voucher_detail_no=%s
and is_cancelled = 0
group by voucher_detail_no
'''.format(total_credit_debit, total_credit_debit_currency),
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name), as_dict=True)
""".format(
total_credit_debit, total_credit_debit_currency
),
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name),
as_dict=True,
)
journal_entry_details = frappe.db.sql('''
journal_entry_details = frappe.db.sql(
"""
SELECT sum(c.{0}) as total_credit, sum(c.{1}) as total_credit_in_account_currency, reference_detail_no
FROM `tabJournal Entry` p , `tabJournal Entry Account` c WHERE p.name = c.parent and
p.company = %s and c.account=%s and c.reference_type=%s and c.reference_name=%s and c.reference_detail_no=%s
and p.docstatus < 2 group by reference_detail_no
'''.format(total_credit_debit, total_credit_debit_currency),
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name), as_dict=True)
""".format(
total_credit_debit, total_credit_debit_currency
),
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name),
as_dict=True,
)
already_booked_amount = gl_entries_details[0].total_credit if gl_entries_details else 0
already_booked_amount += journal_entry_details[0].total_credit if journal_entry_details else 0
@@ -247,20 +323,31 @@ def get_already_booked_amount(doc, item):
if doc.currency == doc.company_currency:
already_booked_amount_in_account_currency = already_booked_amount
else:
already_booked_amount_in_account_currency = gl_entries_details[0].total_credit_in_account_currency if gl_entries_details else 0
already_booked_amount_in_account_currency += journal_entry_details[0].total_credit_in_account_currency if journal_entry_details else 0
already_booked_amount_in_account_currency = (
gl_entries_details[0].total_credit_in_account_currency if gl_entries_details else 0
)
already_booked_amount_in_account_currency += (
journal_entry_details[0].total_credit_in_account_currency if journal_entry_details else 0
)
return already_booked_amount, already_booked_amount_in_account_currency
def book_deferred_income_or_expense(doc, deferred_process, posting_date=None):
enable_check = "enable_deferred_revenue" \
if doc.doctype=="Sales Invoice" else "enable_deferred_expense"
enable_check = (
"enable_deferred_revenue" if doc.doctype == "Sales Invoice" else "enable_deferred_expense"
)
def _book_deferred_revenue_or_expense(item, via_journal_entry, submit_journal_entry, book_deferred_entries_based_on):
accounts_frozen_upto = frappe.get_cached_value("Accounts Settings", "None", "acc_frozen_upto")
def _book_deferred_revenue_or_expense(
item, via_journal_entry, submit_journal_entry, book_deferred_entries_based_on
):
start_date, end_date, last_gl_entry = get_booking_dates(doc, item, posting_date=posting_date)
if not (start_date and end_date): return
if not (start_date and end_date):
return
account_currency = get_account_currency(item.expense_account)
account_currency = get_account_currency(item.expense_account or item.income_account)
if doc.doctype == "Sales Invoice":
against, project = doc.customer, doc.project
credit_account, debit_account = item.income_account, item.deferred_revenue_account
@@ -271,103 +358,179 @@ def book_deferred_income_or_expense(doc, deferred_process, posting_date=None):
total_days = date_diff(item.service_end_date, item.service_start_date) + 1
total_booking_days = date_diff(end_date, start_date) + 1
if book_deferred_entries_based_on == 'Months':
amount, base_amount = calculate_monthly_amount(doc, item, last_gl_entry,
start_date, end_date, total_days, total_booking_days, account_currency)
if book_deferred_entries_based_on == "Months":
amount, base_amount = calculate_monthly_amount(
doc,
item,
last_gl_entry,
start_date,
end_date,
total_days,
total_booking_days,
account_currency,
)
else:
amount, base_amount = calculate_amount(doc, item, last_gl_entry,
total_days, total_booking_days, account_currency)
amount, base_amount = calculate_amount(
doc, item, last_gl_entry, total_days, total_booking_days, account_currency
)
if not amount:
return
# check if books nor frozen till endate:
if accounts_frozen_upto and getdate(end_date) <= getdate(accounts_frozen_upto):
end_date = get_last_day(add_days(accounts_frozen_upto, 1))
if via_journal_entry:
book_revenue_via_journal_entry(doc, credit_account, debit_account, against, amount,
base_amount, end_date, project, account_currency, item.cost_center, item, deferred_process, submit_journal_entry)
book_revenue_via_journal_entry(
doc,
credit_account,
debit_account,
amount,
base_amount,
end_date,
project,
account_currency,
item.cost_center,
item,
deferred_process,
submit_journal_entry,
)
else:
make_gl_entries(doc, credit_account, debit_account, against,
amount, base_amount, end_date, project, account_currency, item.cost_center, item, deferred_process)
make_gl_entries(
doc,
credit_account,
debit_account,
against,
amount,
base_amount,
end_date,
project,
account_currency,
item.cost_center,
item,
deferred_process,
)
# Returned in case of any errors because it tries to submit the same record again and again in case of errors
if frappe.flags.deferred_accounting_error:
return
if getdate(end_date) < getdate(posting_date) and not last_gl_entry:
_book_deferred_revenue_or_expense(item, via_journal_entry, submit_journal_entry, book_deferred_entries_based_on)
_book_deferred_revenue_or_expense(
item, via_journal_entry, submit_journal_entry, book_deferred_entries_based_on
)
via_journal_entry = cint(frappe.db.get_singles_value('Accounts Settings', 'book_deferred_entries_via_journal_entry'))
submit_journal_entry = cint(frappe.db.get_singles_value('Accounts Settings', 'submit_journal_entries'))
book_deferred_entries_based_on = frappe.db.get_singles_value('Accounts Settings', 'book_deferred_entries_based_on')
via_journal_entry = cint(
frappe.db.get_singles_value("Accounts Settings", "book_deferred_entries_via_journal_entry")
)
submit_journal_entry = cint(
frappe.db.get_singles_value("Accounts Settings", "submit_journal_entries")
)
book_deferred_entries_based_on = frappe.db.get_singles_value(
"Accounts Settings", "book_deferred_entries_based_on"
)
for item in doc.get('items'):
for item in doc.get("items"):
if item.get(enable_check):
_book_deferred_revenue_or_expense(item, via_journal_entry, submit_journal_entry, book_deferred_entries_based_on)
_book_deferred_revenue_or_expense(
item, via_journal_entry, submit_journal_entry, book_deferred_entries_based_on
)
def process_deferred_accounting(posting_date=None):
''' Converts deferred income/expense into income/expense
Executed via background jobs on every month end '''
"""Converts deferred income/expense into income/expense
Executed via background jobs on every month end"""
if not posting_date:
posting_date = today()
if not cint(frappe.db.get_singles_value('Accounts Settings', 'automatically_process_deferred_accounting_entry')):
if not cint(
frappe.db.get_singles_value(
"Accounts Settings", "automatically_process_deferred_accounting_entry"
)
):
return
start_date = add_months(today(), -1)
end_date = add_days(today(), -1)
companies = frappe.get_all('Company')
companies = frappe.get_all("Company")
for company in companies:
for record_type in ('Income', 'Expense'):
doc = frappe.get_doc(dict(
doctype='Process Deferred Accounting',
company=company.name,
posting_date=posting_date,
start_date=start_date,
end_date=end_date,
type=record_type
))
for record_type in ("Income", "Expense"):
doc = frappe.get_doc(
dict(
doctype="Process Deferred Accounting",
company=company.name,
posting_date=posting_date,
start_date=start_date,
end_date=end_date,
type=record_type,
)
)
doc.insert()
doc.submit()
def make_gl_entries(doc, credit_account, debit_account, against,
amount, base_amount, posting_date, project, account_currency, cost_center, item, deferred_process=None):
def make_gl_entries(
doc,
credit_account,
debit_account,
against,
amount,
base_amount,
posting_date,
project,
account_currency,
cost_center,
item,
deferred_process=None,
):
# GL Entry for crediting the amount in the deferred expense
from erpnext.accounts.general_ledger import make_gl_entries
if amount == 0: return
if amount == 0:
return
gl_entries = []
gl_entries.append(
doc.get_gl_dict({
"account": credit_account,
"against": against,
"credit": base_amount,
"credit_in_account_currency": amount,
"cost_center": cost_center,
"voucher_detail_no": item.name,
'posting_date': posting_date,
'project': project,
'against_voucher_type': 'Process Deferred Accounting',
'against_voucher': deferred_process
}, account_currency, item=item)
doc.get_gl_dict(
{
"account": credit_account,
"against": against,
"credit": base_amount,
"credit_in_account_currency": amount,
"cost_center": cost_center,
"voucher_detail_no": item.name,
"posting_date": posting_date,
"project": project,
"against_voucher_type": "Process Deferred Accounting",
"against_voucher": deferred_process,
},
account_currency,
item=item,
)
)
# GL Entry to debit the amount from the expense
gl_entries.append(
doc.get_gl_dict({
"account": debit_account,
"against": against,
"debit": base_amount,
"debit_in_account_currency": amount,
"cost_center": cost_center,
"voucher_detail_no": item.name,
'posting_date': posting_date,
'project': project,
'against_voucher_type': 'Process Deferred Accounting',
'against_voucher': deferred_process
}, account_currency, item=item)
doc.get_gl_dict(
{
"account": debit_account,
"against": against,
"debit": base_amount,
"debit_in_account_currency": amount,
"cost_center": cost_center,
"voucher_detail_no": item.name,
"posting_date": posting_date,
"project": project,
"against_voucher_type": "Process Deferred Accounting",
"against_voucher": deferred_process,
},
account_currency,
item=item,
)
)
if gl_entries:
@@ -376,95 +539,124 @@ def make_gl_entries(doc, credit_account, debit_account, against,
frappe.db.commit()
except Exception as e:
if frappe.flags.in_test:
traceback = frappe.get_traceback()
frappe.log_error(
title=_("Error while processing deferred accounting for Invoice {0}").format(doc.name),
message=traceback,
)
raise e
else:
frappe.db.rollback()
traceback = frappe.get_traceback()
frappe.log_error(message=traceback)
frappe.log_error(
title=_("Error while processing deferred accounting for Invoice {0}").format(doc.name),
message=traceback,
)
frappe.flags.deferred_accounting_error = True
def send_mail(deferred_process):
title = _("Error while processing deferred accounting for {0}").format(deferred_process)
link = get_link_to_form('Process Deferred Accounting', deferred_process)
link = get_link_to_form("Process Deferred Accounting", deferred_process)
content = _("Deferred accounting failed for some invoices:") + "\n"
content += _("Please check Process Deferred Accounting {0} and submit manually after resolving errors.").format(link)
content += _(
"Please check Process Deferred Accounting {0} and submit manually after resolving errors."
).format(link)
sendmail_to_system_managers(title, content)
def book_revenue_via_journal_entry(doc, credit_account, debit_account, against,
amount, base_amount, posting_date, project, account_currency, cost_center, item,
deferred_process=None, submit='No'):
if amount == 0: return
def book_revenue_via_journal_entry(
doc,
credit_account,
debit_account,
amount,
base_amount,
posting_date,
project,
account_currency,
cost_center,
item,
deferred_process=None,
submit="No",
):
journal_entry = frappe.new_doc('Journal Entry')
if amount == 0:
return
journal_entry = frappe.new_doc("Journal Entry")
journal_entry.posting_date = posting_date
journal_entry.company = doc.company
journal_entry.voucher_type = 'Deferred Revenue' if doc.doctype == 'Sales Invoice' \
else 'Deferred Expense'
journal_entry.voucher_type = (
"Deferred Revenue" if doc.doctype == "Sales Invoice" else "Deferred Expense"
)
journal_entry.process_deferred_accounting = deferred_process
debit_entry = {
'account': credit_account,
'credit': base_amount,
'credit_in_account_currency': amount,
'party_type': 'Customer' if doc.doctype == 'Sales Invoice' else 'Supplier',
'party': against,
'account_currency': account_currency,
'reference_name': doc.name,
'reference_type': doc.doctype,
'reference_detail_no': item.name,
'cost_center': cost_center,
'project': project,
"account": credit_account,
"credit": base_amount,
"credit_in_account_currency": amount,
"account_currency": account_currency,
"reference_name": doc.name,
"reference_type": doc.doctype,
"reference_detail_no": item.name,
"cost_center": cost_center,
"project": project,
}
credit_entry = {
'account': debit_account,
'debit': base_amount,
'debit_in_account_currency': amount,
'party_type': 'Customer' if doc.doctype == 'Sales Invoice' else 'Supplier',
'party': against,
'account_currency': account_currency,
'reference_name': doc.name,
'reference_type': doc.doctype,
'reference_detail_no': item.name,
'cost_center': cost_center,
'project': project,
"account": debit_account,
"debit": base_amount,
"debit_in_account_currency": amount,
"account_currency": account_currency,
"reference_name": doc.name,
"reference_type": doc.doctype,
"reference_detail_no": item.name,
"cost_center": cost_center,
"project": project,
}
for dimension in get_accounting_dimensions():
debit_entry.update({
dimension: item.get(dimension)
})
debit_entry.update({dimension: item.get(dimension)})
credit_entry.update({
dimension: item.get(dimension)
})
credit_entry.update({dimension: item.get(dimension)})
journal_entry.append('accounts', debit_entry)
journal_entry.append('accounts', credit_entry)
journal_entry.append("accounts", debit_entry)
journal_entry.append("accounts", credit_entry)
try:
journal_entry.save()
if submit:
journal_entry.submit()
frappe.db.commit()
except Exception:
frappe.db.rollback()
traceback = frappe.get_traceback()
frappe.log_error(message=traceback)
frappe.log_error(
title=_("Error while processing deferred accounting for Invoice {0}").format(doc.name),
message=traceback,
)
frappe.flags.deferred_accounting_error = True
def get_deferred_booking_accounts(doctype, voucher_detail_no, dr_or_cr):
if doctype == 'Sales Invoice':
credit_account, debit_account = frappe.db.get_value('Sales Invoice Item', {'name': voucher_detail_no},
['income_account', 'deferred_revenue_account'])
if doctype == "Sales Invoice":
credit_account, debit_account = frappe.db.get_value(
"Sales Invoice Item",
{"name": voucher_detail_no},
["income_account", "deferred_revenue_account"],
)
else:
credit_account, debit_account = frappe.db.get_value('Purchase Invoice Item', {'name': voucher_detail_no},
['deferred_expense_account', 'expense_account'])
credit_account, debit_account = frappe.db.get_value(
"Purchase Invoice Item",
{"name": voucher_detail_no},
["deferred_expense_account", "expense_account"],
)
if dr_or_cr == 'Debit':
if dr_or_cr == "Debit":
return debit_account
else:
return credit_account

View File

@@ -1 +0,0 @@
from __future__ import unicode_literals

View File

@@ -1 +0,0 @@
from __future__ import unicode_literals

View File

@@ -43,12 +43,12 @@ frappe.ui.form.on('Account', {
frm.trigger('add_toolbar_buttons');
}
if (frm.has_perm('write')) {
frm.add_custom_button(__('Update Account Name / Number'), function () {
frm.trigger("update_account_number");
});
frm.add_custom_button(__('Merge Account'), function () {
frm.trigger("merge_account");
});
}, __('Actions'));
frm.add_custom_button(__('Update Account Name / Number'), function () {
frm.trigger("update_account_number");
}, __('Actions'));
}
}
},
@@ -59,11 +59,12 @@ frappe.ui.form.on('Account', {
}
},
add_toolbar_buttons: function(frm) {
frm.add_custom_button(__('Chart of Accounts'),
function () { frappe.set_route("Tree", "Account"); });
frm.add_custom_button(__('Chart of Accounts'), () => {
frappe.set_route("Tree", "Account");
}, __('View'));
if (frm.doc.is_group == 1) {
frm.add_custom_button(__('Group to Non-Group'), function () {
frm.add_custom_button(__('Convert to Non-Group'), function () {
return frappe.call({
doc: frm.doc,
method: 'convert_group_to_ledger',
@@ -71,10 +72,11 @@ frappe.ui.form.on('Account', {
frm.refresh();
}
});
});
}, __('Actions'));
} else if (cint(frm.doc.is_group) == 0
&& frappe.boot.user.can_read.indexOf("GL Entry") !== -1) {
frm.add_custom_button(__('Ledger'), function () {
frm.add_custom_button(__('General Ledger'), function () {
frappe.route_options = {
"account": frm.doc.name,
"from_date": frappe.sys_defaults.year_start_date,
@@ -82,9 +84,9 @@ frappe.ui.form.on('Account', {
"company": frm.doc.company
};
frappe.set_route("query-report", "General Ledger");
});
}, __('View'));
frm.add_custom_button(__('Non-Group to Group'), function () {
frm.add_custom_button(__('Convert to Group'), function () {
return frappe.call({
doc: frm.doc,
method: 'convert_ledger_to_group',
@@ -92,7 +94,7 @@ frappe.ui.form.on('Account', {
frm.refresh();
}
});
});
}, __('Actions'));
}
},

View File

@@ -1,7 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
from frappe import _, throw
@@ -11,11 +10,17 @@ from frappe.utils.nestedset import NestedSet, get_ancestors_of, get_descendants_
import erpnext
class RootNotEditable(frappe.ValidationError): pass
class BalanceMismatchError(frappe.ValidationError): pass
class RootNotEditable(frappe.ValidationError):
pass
class BalanceMismatchError(frappe.ValidationError):
pass
class Account(NestedSet):
nsm_parent_field = 'parent_account'
nsm_parent_field = "parent_account"
def on_update(self):
if frappe.local.flags.ignore_update_nsm:
return
@@ -23,17 +28,20 @@ class Account(NestedSet):
super(Account, self).on_update()
def onload(self):
frozen_accounts_modifier = frappe.db.get_value("Accounts Settings", "Accounts Settings",
"frozen_accounts_modifier")
frozen_accounts_modifier = frappe.db.get_value(
"Accounts Settings", "Accounts Settings", "frozen_accounts_modifier"
)
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.get_roles():
self.set_onload("can_freeze_account", True)
def autoname(self):
from erpnext.accounts.utils import get_autoname_with_number
self.name = get_autoname_with_number(self.account_number, self.account_name, None, self.company)
def validate(self):
from erpnext.accounts.utils import validate_field_number
if frappe.local.flags.allow_unverified_charts:
return
self.validate_parent()
@@ -50,22 +58,33 @@ class Account(NestedSet):
def validate_parent(self):
"""Fetch Parent Details and validate parent account"""
if self.parent_account:
par = frappe.db.get_value("Account", self.parent_account,
["name", "is_group", "company"], as_dict=1)
par = frappe.db.get_value(
"Account", self.parent_account, ["name", "is_group", "company"], as_dict=1
)
if not par:
throw(_("Account {0}: Parent account {1} does not exist").format(self.name, self.parent_account))
throw(
_("Account {0}: Parent account {1} does not exist").format(self.name, self.parent_account)
)
elif par.name == self.name:
throw(_("Account {0}: You can not assign itself as parent account").format(self.name))
elif not par.is_group:
throw(_("Account {0}: Parent account {1} can not be a ledger").format(self.name, self.parent_account))
throw(
_("Account {0}: Parent account {1} can not be a ledger").format(
self.name, self.parent_account
)
)
elif par.company != self.company:
throw(_("Account {0}: Parent account {1} does not belong to company: {2}")
.format(self.name, self.parent_account, self.company))
throw(
_("Account {0}: Parent account {1} does not belong to company: {2}").format(
self.name, self.parent_account, self.company
)
)
def set_root_and_report_type(self):
if self.parent_account:
par = frappe.db.get_value("Account", self.parent_account,
["report_type", "root_type"], as_dict=1)
par = frappe.db.get_value(
"Account", self.parent_account, ["report_type", "root_type"], as_dict=1
)
if par.report_type:
self.report_type = par.report_type
@@ -76,15 +95,20 @@ class Account(NestedSet):
db_value = frappe.db.get_value("Account", self.name, ["report_type", "root_type"], as_dict=1)
if db_value:
if self.report_type != db_value.report_type:
frappe.db.sql("update `tabAccount` set report_type=%s where lft > %s and rgt < %s",
(self.report_type, self.lft, self.rgt))
frappe.db.sql(
"update `tabAccount` set report_type=%s where lft > %s and rgt < %s",
(self.report_type, self.lft, self.rgt),
)
if self.root_type != db_value.root_type:
frappe.db.sql("update `tabAccount` set root_type=%s where lft > %s and rgt < %s",
(self.root_type, self.lft, self.rgt))
frappe.db.sql(
"update `tabAccount` set root_type=%s where lft > %s and rgt < %s",
(self.root_type, self.lft, self.rgt),
)
if self.root_type and not self.report_type:
self.report_type = "Balance Sheet" \
if self.root_type in ("Asset", "Liability", "Equity") else "Profit and Loss"
self.report_type = (
"Balance Sheet" if self.root_type in ("Asset", "Liability", "Equity") else "Profit and Loss"
)
def validate_root_details(self):
# does not exists parent
@@ -97,21 +121,26 @@ class Account(NestedSet):
def validate_root_company_and_sync_account_to_children(self):
# ignore validation while creating new compnay or while syncing to child companies
if frappe.local.flags.ignore_root_company_validation or self.flags.ignore_root_company_validation:
if (
frappe.local.flags.ignore_root_company_validation or self.flags.ignore_root_company_validation
):
return
ancestors = get_root_company(self.company)
if ancestors:
if frappe.get_value("Company", self.company, "allow_account_creation_against_child_company"):
return
if not frappe.db.get_value("Account",
{'account_name': self.account_name, 'company': ancestors[0]}, 'name'):
if not frappe.db.get_value(
"Account", {"account_name": self.account_name, "company": ancestors[0]}, "name"
):
frappe.throw(_("Please add the account to root level Company - {}").format(ancestors[0]))
elif self.parent_account:
descendants = get_descendants_of('Company', self.company)
if not descendants: return
descendants = get_descendants_of("Company", self.company)
if not descendants:
return
parent_acc_name_map = {}
parent_acc_name, parent_acc_number = frappe.db.get_value('Account', self.parent_account, \
["account_name", "account_number"])
parent_acc_name, parent_acc_number = frappe.db.get_value(
"Account", self.parent_account, ["account_name", "account_number"]
)
filters = {
"company": ["in", descendants],
"account_name": parent_acc_name,
@@ -119,10 +148,13 @@ class Account(NestedSet):
if parent_acc_number:
filters["account_number"] = parent_acc_number
for d in frappe.db.get_values('Account', filters=filters, fieldname=["company", "name"], as_dict=True):
for d in frappe.db.get_values(
"Account", filters=filters, fieldname=["company", "name"], as_dict=True
):
parent_acc_name_map[d["company"]] = d["name"]
if not parent_acc_name_map: return
if not parent_acc_name_map:
return
self.create_account_for_child_company(parent_acc_name_map, descendants, parent_acc_name)
@@ -143,26 +175,38 @@ class Account(NestedSet):
def validate_frozen_accounts_modifier(self):
old_value = frappe.db.get_value("Account", self.name, "freeze_account")
if old_value and old_value != self.freeze_account:
frozen_accounts_modifier = frappe.db.get_value('Accounts Settings', None, 'frozen_accounts_modifier')
if not frozen_accounts_modifier or \
frozen_accounts_modifier not in frappe.get_roles():
throw(_("You are not authorized to set Frozen value"))
frozen_accounts_modifier = frappe.db.get_value(
"Accounts Settings", None, "frozen_accounts_modifier"
)
if not frozen_accounts_modifier or frozen_accounts_modifier not in frappe.get_roles():
throw(_("You are not authorized to set Frozen value"))
def validate_balance_must_be_debit_or_credit(self):
from erpnext.accounts.utils import get_balance_on
if not self.get("__islocal") and self.balance_must_be:
account_balance = get_balance_on(self.name)
if account_balance > 0 and self.balance_must_be == "Credit":
frappe.throw(_("Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'"))
frappe.throw(
_(
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'"
)
)
elif account_balance < 0 and self.balance_must_be == "Debit":
frappe.throw(_("Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'"))
frappe.throw(
_(
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'"
)
)
def validate_account_currency(self):
if not self.account_currency:
self.account_currency = frappe.get_cached_value('Company', self.company, "default_currency")
self.account_currency = frappe.get_cached_value("Company", self.company, "default_currency")
elif self.account_currency != frappe.db.get_value("Account", self.name, "account_currency"):
gl_currency = frappe.db.get_value("GL Entry", {"account": self.name}, "account_currency")
if gl_currency and self.account_currency != gl_currency:
if frappe.db.get_value("GL Entry", {"account": self.name}):
frappe.throw(_("Currency can not be changed after making entries using some other currency"))
@@ -171,45 +215,52 @@ class Account(NestedSet):
company_bold = frappe.bold(company)
parent_acc_name_bold = frappe.bold(parent_acc_name)
if not parent_acc_name_map.get(company):
frappe.throw(_("While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA")
.format(company_bold, parent_acc_name_bold), title=_("Account Not Found"))
frappe.throw(
_(
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA"
).format(company_bold, parent_acc_name_bold),
title=_("Account Not Found"),
)
# validate if parent of child company account to be added is a group
if (frappe.db.get_value("Account", self.parent_account, "is_group")
and not frappe.db.get_value("Account", parent_acc_name_map[company], "is_group")):
msg = _("While creating account for Child Company {0}, parent account {1} found as a ledger account.").format(company_bold, parent_acc_name_bold)
if frappe.db.get_value("Account", self.parent_account, "is_group") and not frappe.db.get_value(
"Account", parent_acc_name_map[company], "is_group"
):
msg = _(
"While creating account for Child Company {0}, parent account {1} found as a ledger account."
).format(company_bold, parent_acc_name_bold)
msg += "<br><br>"
msg += _("Please convert the parent account in corresponding child company to a group account.")
msg += _(
"Please convert the parent account in corresponding child company to a group account."
)
frappe.throw(msg, title=_("Invalid Parent Account"))
filters = {
"account_name": self.account_name,
"company": company
}
filters = {"account_name": self.account_name, "company": company}
if self.account_number:
filters["account_number"] = self.account_number
child_account = frappe.db.get_value("Account", filters, 'name')
child_account = frappe.db.get_value("Account", filters, "name")
if not child_account:
doc = frappe.copy_doc(self)
doc.flags.ignore_root_company_validation = True
doc.update({
"company": company,
# parent account's currency should be passed down to child account's curreny
# if it is None, it picks it up from default company currency, which might be unintended
"account_currency": erpnext.get_company_currency(company),
"parent_account": parent_acc_name_map[company]
})
doc.update(
{
"company": company,
# parent account's currency should be passed down to child account's curreny
# if it is None, it picks it up from default company currency, which might be unintended
"account_currency": erpnext.get_company_currency(company),
"parent_account": parent_acc_name_map[company],
}
)
doc.save()
frappe.msgprint(_("Account {0} is added in the child company {1}")
.format(doc.name, company))
frappe.msgprint(_("Account {0} is added in the child company {1}").format(doc.name, company))
elif child_account:
# update the parent company's value in child companies
doc = frappe.get_doc("Account", child_account)
parent_value_changed = False
for field in ['account_type', 'freeze_account', 'balance_must_be']:
for field in ["account_type", "freeze_account", "balance_must_be"]:
if doc.get(field) != self.get(field):
parent_value_changed = True
doc.set(field, self.get(field))
@@ -244,8 +295,11 @@ class Account(NestedSet):
return frappe.db.get_value("GL Entry", {"account": self.name})
def check_if_child_exists(self):
return frappe.db.sql("""select name from `tabAccount` where parent_account = %s
and docstatus != 2""", self.name)
return frappe.db.sql(
"""select name from `tabAccount` where parent_account = %s
and docstatus != 2""",
self.name,
)
def validate_mandatory(self):
if not self.root_type:
@@ -261,73 +315,99 @@ class Account(NestedSet):
super(Account, self).on_trash(True)
@frappe.whitelist()
@frappe.validate_and_sanitize_search_inputs
def get_parent_account(doctype, txt, searchfield, start, page_len, filters):
return frappe.db.sql("""select name from tabAccount
return frappe.db.sql(
"""select name from tabAccount
where is_group = 1 and docstatus != 2 and company = %s
and %s like %s order by name limit %s, %s""" %
("%s", searchfield, "%s", "%s", "%s"),
(filters["company"], "%%%s%%" % txt, start, page_len), as_list=1)
and %s like %s order by name limit %s, %s"""
% ("%s", searchfield, "%s", "%s", "%s"),
(filters["company"], "%%%s%%" % txt, start, page_len),
as_list=1,
)
def get_account_currency(account):
"""Helper function to get account currency"""
if not account:
return
def generator():
account_currency, company = frappe.get_cached_value("Account", account, ["account_currency", "company"])
account_currency, company = frappe.get_cached_value(
"Account", account, ["account_currency", "company"]
)
if not account_currency:
account_currency = frappe.get_cached_value('Company', company, "default_currency")
account_currency = frappe.get_cached_value("Company", company, "default_currency")
return account_currency
return frappe.local_cache("account_currency", account, generator)
def on_doctype_update():
frappe.db.add_index("Account", ["lft", "rgt"])
def get_account_autoname(account_number, account_name, company):
# first validate if company exists
company = frappe.get_cached_value('Company', company, ["abbr", "name"], as_dict=True)
company = frappe.get_cached_value("Company", company, ["abbr", "name"], as_dict=True)
if not company:
frappe.throw(_('Company {0} does not exist').format(company))
frappe.throw(_("Company {0} does not exist").format(company))
parts = [account_name.strip(), company.abbr]
if cstr(account_number).strip():
parts.insert(0, cstr(account_number).strip())
return ' - '.join(parts)
return " - ".join(parts)
def validate_account_number(name, account_number, company):
if account_number:
account_with_same_number = frappe.db.get_value("Account",
{"account_number": account_number, "company": company, "name": ["!=", name]})
account_with_same_number = frappe.db.get_value(
"Account", {"account_number": account_number, "company": company, "name": ["!=", name]}
)
if account_with_same_number:
frappe.throw(_("Account Number {0} already used in account {1}")
.format(account_number, account_with_same_number))
frappe.throw(
_("Account Number {0} already used in account {1}").format(
account_number, account_with_same_number
)
)
@frappe.whitelist()
def update_account_number(name, account_name, account_number=None, from_descendant=False):
account = frappe.db.get_value("Account", name, "company", as_dict=True)
if not account: return
if not account:
return
old_acc_name, old_acc_number = frappe.db.get_value('Account', name, \
["account_name", "account_number"])
old_acc_name, old_acc_number = frappe.db.get_value(
"Account", name, ["account_name", "account_number"]
)
# check if account exists in parent company
ancestors = get_ancestors_of("Company", account.company)
allow_independent_account_creation = frappe.get_value("Company", account.company, "allow_account_creation_against_child_company")
allow_independent_account_creation = frappe.get_value(
"Company", account.company, "allow_account_creation_against_child_company"
)
if ancestors and not allow_independent_account_creation:
for ancestor in ancestors:
if frappe.db.get_value("Account", {'account_name': old_acc_name, 'company': ancestor}, 'name'):
if frappe.db.get_value("Account", {"account_name": old_acc_name, "company": ancestor}, "name"):
# same account in parent company exists
allow_child_account_creation = _("Allow Account Creation Against Child Company")
message = _("Account {0} exists in parent company {1}.").format(frappe.bold(old_acc_name), frappe.bold(ancestor))
message = _("Account {0} exists in parent company {1}.").format(
frappe.bold(old_acc_name), frappe.bold(ancestor)
)
message += "<br>"
message += _("Renaming it is only allowed via parent company {0}, to avoid mismatch.").format(frappe.bold(ancestor))
message += _("Renaming it is only allowed via parent company {0}, to avoid mismatch.").format(
frappe.bold(ancestor)
)
message += "<br><br>"
message += _("To overrule this, enable '{0}' in company {1}").format(allow_child_account_creation, frappe.bold(account.company))
message += _("To overrule this, enable '{0}' in company {1}").format(
allow_child_account_creation, frappe.bold(account.company)
)
frappe.throw(message, title=_("Rename Not Allowed"))
@@ -340,42 +420,53 @@ def update_account_number(name, account_name, account_number=None, from_descenda
if not from_descendant:
# Update and rename in child company accounts as well
descendants = get_descendants_of('Company', account.company)
descendants = get_descendants_of("Company", account.company)
if descendants:
sync_update_account_number_in_child(descendants, old_acc_name, account_name, account_number, old_acc_number)
sync_update_account_number_in_child(
descendants, old_acc_name, account_name, account_number, old_acc_number
)
new_name = get_account_autoname(account_number, account_name, account.company)
if name != new_name:
frappe.rename_doc("Account", name, new_name, force=1)
return new_name
@frappe.whitelist()
def merge_account(old, new, is_group, root_type, company):
# Validate properties before merging
if not frappe.db.exists("Account", new):
throw(_("Account {0} does not exist").format(new))
val = list(frappe.db.get_value("Account", new,
["is_group", "root_type", "company"]))
val = list(frappe.db.get_value("Account", new, ["is_group", "root_type", "company"]))
if val != [cint(is_group), root_type, company]:
throw(_("""Merging is only possible if following properties are same in both records. Is Group, Root Type, Company"""))
throw(
_(
"""Merging is only possible if following properties are same in both records. Is Group, Root Type, Company"""
)
)
if is_group and frappe.db.get_value("Account", new, "parent_account") == old:
frappe.db.set_value("Account", new, "parent_account",
frappe.db.get_value("Account", old, "parent_account"))
frappe.db.set_value(
"Account", new, "parent_account", frappe.db.get_value("Account", old, "parent_account")
)
frappe.rename_doc("Account", old, new, merge=1, force=1)
return new
@frappe.whitelist()
def get_root_company(company):
# return the topmost company in the hierarchy
ancestors = get_ancestors_of('Company', company, "lft asc")
ancestors = get_ancestors_of("Company", company, "lft asc")
return [ancestors[0]] if ancestors else []
def sync_update_account_number_in_child(descendants, old_acc_name, account_name, account_number=None, old_acc_number=None):
def sync_update_account_number_in_child(
descendants, old_acc_name, account_name, account_number=None, old_acc_number=None
):
filters = {
"company": ["in", descendants],
"account_name": old_acc_name,
@@ -383,5 +474,7 @@ def sync_update_account_number_in_child(descendants, old_acc_name, account_name,
if old_acc_number:
filters["account_number"] = old_acc_number
for d in frappe.db.get_values('Account', filters=filters, fieldname=["company", "name"], as_dict=True):
update_account_number(d["name"], account_name, account_number, from_descendant=True)
for d in frappe.db.get_values(
"Account", filters=filters, fieldname=["company", "name"], as_dict=True
):
update_account_number(d["name"], account_name, account_number, from_descendant=True)

View File

@@ -78,6 +78,7 @@ frappe.treeview_settings["Account"] = {
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) + " / ") : "")
@@ -175,7 +176,7 @@ frappe.treeview_settings["Account"] = {
&& node.expandable && !node.hide_add;
},
click: function() {
var me = frappe.treeview_settings['Account'].treeview;
var me = frappe.views.trees['Account'];
me.new_node();
},
btnClass: "hidden-xs"

View File

@@ -1,6 +1,5 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import json
import os
@@ -12,7 +11,9 @@ from six import iteritems
from unidecode import unidecode
def create_charts(company, chart_template=None, existing_company=None, custom_chart=None, from_coa_importer=None):
def create_charts(
company, chart_template=None, existing_company=None, custom_chart=None, from_coa_importer=None
):
chart = custom_chart or get_chart(chart_template, existing_company)
if chart:
accounts = []
@@ -22,30 +23,41 @@ def create_charts(company, chart_template=None, existing_company=None, custom_ch
if root_account:
root_type = child.get("root_type")
if account_name not in ["account_name", "account_number", "account_type",
"root_type", "is_group", "tax_rate"]:
if account_name not in [
"account_name",
"account_number",
"account_type",
"root_type",
"is_group",
"tax_rate",
]:
account_number = cstr(child.get("account_number")).strip()
account_name, account_name_in_db = add_suffix_if_duplicate(account_name,
account_number, accounts)
account_name, account_name_in_db = add_suffix_if_duplicate(
account_name, account_number, accounts
)
is_group = identify_is_group(child)
report_type = "Balance Sheet" if root_type in ["Asset", "Liability", "Equity"] \
else "Profit and Loss"
report_type = (
"Balance Sheet" if root_type in ["Asset", "Liability", "Equity"] else "Profit and Loss"
)
account = frappe.get_doc({
"doctype": "Account",
"account_name": child.get('account_name') if from_coa_importer else account_name,
"company": company,
"parent_account": parent,
"is_group": is_group,
"root_type": root_type,
"report_type": report_type,
"account_number": account_number,
"account_type": child.get("account_type"),
"account_currency": child.get('account_currency') or frappe.db.get_value('Company', company, "default_currency"),
"tax_rate": child.get("tax_rate")
})
account = frappe.get_doc(
{
"doctype": "Account",
"account_name": child.get("account_name") if from_coa_importer else account_name,
"company": company,
"parent_account": parent,
"is_group": is_group,
"root_type": root_type,
"report_type": report_type,
"account_number": account_number,
"account_type": child.get("account_type"),
"account_currency": child.get("account_currency")
or frappe.db.get_value("Company", company, "default_currency"),
"tax_rate": child.get("tax_rate"),
}
)
if root_account or frappe.local.flags.allow_unverified_charts:
account.flags.ignore_mandatory = True
@@ -65,10 +77,10 @@ def create_charts(company, chart_template=None, existing_company=None, custom_ch
rebuild_tree("Account", "parent_account")
frappe.local.flags.ignore_update_nsm = False
def add_suffix_if_duplicate(account_name, account_number, accounts):
if account_number:
account_name_in_db = unidecode(" - ".join([account_number,
account_name.strip().lower()]))
account_name_in_db = unidecode(" - ".join([account_number, account_name.strip().lower()]))
else:
account_name_in_db = unidecode(account_name.strip().lower())
@@ -78,16 +90,21 @@ def add_suffix_if_duplicate(account_name, account_number, accounts):
return account_name, account_name_in_db
def identify_is_group(child):
if child.get("is_group"):
is_group = child.get("is_group")
elif len(set(child.keys()) - set(["account_type", "root_type", "is_group", "tax_rate", "account_number"])):
elif len(
set(child.keys())
- set(["account_name", "account_type", "root_type", "is_group", "tax_rate", "account_number"])
):
is_group = 1
else:
is_group = 0
return is_group
def get_chart(chart_template, existing_company=None):
chart = {}
if existing_company:
@@ -97,11 +114,13 @@ def get_chart(chart_template, existing_company=None):
from erpnext.accounts.doctype.account.chart_of_accounts.verified import (
standard_chart_of_accounts,
)
return standard_chart_of_accounts.get()
elif chart_template == "Standard with Numbers":
from erpnext.accounts.doctype.account.chart_of_accounts.verified import (
standard_chart_of_accounts_with_account_number,
)
return standard_chart_of_accounts_with_account_number.get()
else:
folders = ("verified",)
@@ -117,6 +136,7 @@ def get_chart(chart_template, existing_company=None):
if chart and json.loads(chart).get("name") == chart_template:
return json.loads(chart).get("tree")
@frappe.whitelist()
def get_charts_for_country(country, with_standard=False):
charts = []
@@ -124,9 +144,10 @@ def get_charts_for_country(country, with_standard=False):
def _get_chart_name(content):
if content:
content = json.loads(content)
if (content and content.get("disabled", "No") == "No") \
or frappe.local.flags.allow_unverified_charts:
charts.append(content["name"])
if (
content and content.get("disabled", "No") == "No"
) or frappe.local.flags.allow_unverified_charts:
charts.append(content["name"])
country_code = frappe.db.get_value("Country", country, "code")
if country_code:
@@ -153,11 +174,21 @@ def get_charts_for_country(country, with_standard=False):
def get_account_tree_from_existing_company(existing_company):
all_accounts = frappe.get_all('Account',
filters={'company': existing_company},
fields = ["name", "account_name", "parent_account", "account_type",
"is_group", "root_type", "tax_rate", "account_number"],
order_by="lft, rgt")
all_accounts = frappe.get_all(
"Account",
filters={"company": existing_company},
fields=[
"name",
"account_name",
"parent_account",
"account_type",
"is_group",
"root_type",
"tax_rate",
"account_number",
],
order_by="lft, rgt",
)
account_tree = {}
@@ -166,6 +197,7 @@ def get_account_tree_from_existing_company(existing_company):
build_account_tree(account_tree, None, all_accounts)
return account_tree
def build_account_tree(tree, parent, all_accounts):
# find children
parent_account = parent.name if parent else ""
@@ -194,27 +226,29 @@ def build_account_tree(tree, parent, all_accounts):
# call recursively to build a subtree for current account
build_account_tree(tree[child.account_name], child, all_accounts)
@frappe.whitelist()
def validate_bank_account(coa, bank_account):
accounts = []
chart = get_chart(coa)
if chart:
def _get_account_names(account_master):
for account_name, child in iteritems(account_master):
if account_name not in ["account_number", "account_type",
"root_type", "is_group", "tax_rate"]:
if account_name not in ["account_number", "account_type", "root_type", "is_group", "tax_rate"]:
accounts.append(account_name)
_get_account_names(child)
_get_account_names(chart)
return (bank_account in accounts)
return bank_account in accounts
@frappe.whitelist()
def build_tree_from_json(chart_template, chart_data=None, from_coa_importer=False):
''' get chart template from its folder and parse the json to be rendered as tree '''
"""get chart template from its folder and parse the json to be rendered as tree"""
chart = chart_data or get_chart(chart_template)
# if no template selected, return as it is
@@ -222,22 +256,33 @@ def build_tree_from_json(chart_template, chart_data=None, from_coa_importer=Fals
return
accounts = []
def _import_accounts(children, parent):
''' recursively called to form a parent-child based list of dict from chart template '''
"""recursively called to form a parent-child based list of dict from chart template"""
for account_name, child in iteritems(children):
account = {}
if account_name in ["account_name", "account_number", "account_type",\
"root_type", "is_group", "tax_rate"]: continue
if account_name in [
"account_name",
"account_number",
"account_type",
"root_type",
"is_group",
"tax_rate",
]:
continue
if from_coa_importer:
account_name = child['account_name']
account_name = child["account_name"]
account['parent_account'] = parent
account['expandable'] = True if identify_is_group(child) else False
account['value'] = (cstr(child.get('account_number')).strip() + ' - ' + account_name) \
if child.get('account_number') else account_name
account["parent_account"] = parent
account["expandable"] = True if identify_is_group(child) else False
account["value"] = (
(cstr(child.get("account_number")).strip() + " - " + account_name)
if child.get("account_number")
else account_name
)
accounts.append(account)
_import_accounts(child, account['value'])
_import_accounts(child, account["value"])
_import_accounts(chart, None)
return accounts

View File

@@ -4,7 +4,6 @@
"""
Import chart of accounts from OpenERP sources
"""
from __future__ import print_function, unicode_literals
import ast
import json
@@ -22,6 +21,7 @@ charts = {}
all_account_types = []
all_roots = {}
def go():
global accounts, charts
default_account_types = get_default_account_types()
@@ -36,14 +36,16 @@ def go():
accounts, charts = {}, {}
country_path = os.path.join(path, country_dir)
manifest = ast.literal_eval(open(os.path.join(country_path, "__openerp__.py")).read())
data_files = manifest.get("data", []) + manifest.get("init_xml", []) + \
manifest.get("update_xml", [])
data_files = (
manifest.get("data", []) + manifest.get("init_xml", []) + manifest.get("update_xml", [])
)
files_path = [os.path.join(country_path, d) for d in data_files]
xml_roots = get_xml_roots(files_path)
csv_content = get_csv_contents(files_path)
prefix = country_dir if csv_content else None
account_types = get_account_types(xml_roots.get("account.account.type", []),
csv_content.get("account.account.type", []), prefix)
account_types = get_account_types(
xml_roots.get("account.account.type", []), csv_content.get("account.account.type", []), prefix
)
account_types.update(default_account_types)
if xml_roots:
@@ -56,12 +58,15 @@ def go():
create_all_roots_file()
def get_default_account_types():
default_types_root = []
default_types_root.append(ET.parse(os.path.join(path, "account", "data",
"data_account_type.xml")).getroot())
default_types_root.append(
ET.parse(os.path.join(path, "account", "data", "data_account_type.xml")).getroot()
)
return get_account_types(default_types_root, None, prefix="account")
def get_xml_roots(files_path):
xml_roots = frappe._dict()
for filepath in files_path:
@@ -70,64 +75,69 @@ def get_xml_roots(files_path):
tree = ET.parse(filepath)
root = tree.getroot()
for node in root[0].findall("record"):
if node.get("model") in ["account.account.template",
"account.chart.template", "account.account.type"]:
if node.get("model") in [
"account.account.template",
"account.chart.template",
"account.account.type",
]:
xml_roots.setdefault(node.get("model"), []).append(root)
break
return xml_roots
def get_csv_contents(files_path):
csv_content = {}
for filepath in files_path:
fname = os.path.basename(filepath)
for file_type in ["account.account.template", "account.account.type",
"account.chart.template"]:
for file_type in ["account.account.template", "account.account.type", "account.chart.template"]:
if fname.startswith(file_type) and fname.endswith(".csv"):
with open(filepath, "r") as csvfile:
try:
csv_content.setdefault(file_type, [])\
.append(read_csv_content(csvfile.read()))
csv_content.setdefault(file_type, []).append(read_csv_content(csvfile.read()))
except Exception as e:
continue
return csv_content
def get_account_types(root_list, csv_content, prefix=None):
types = {}
account_type_map = {
'cash': 'Cash',
'bank': 'Bank',
'tr_cash': 'Cash',
'tr_bank': 'Bank',
'receivable': 'Receivable',
'tr_receivable': 'Receivable',
'account rec': 'Receivable',
'payable': 'Payable',
'tr_payable': 'Payable',
'equity': 'Equity',
'stocks': 'Stock',
'stock': 'Stock',
'tax': 'Tax',
'tr_tax': 'Tax',
'tax-out': 'Tax',
'tax-in': 'Tax',
'charges_personnel': 'Chargeable',
'fixed asset': 'Fixed Asset',
'cogs': 'Cost of Goods Sold',
"cash": "Cash",
"bank": "Bank",
"tr_cash": "Cash",
"tr_bank": "Bank",
"receivable": "Receivable",
"tr_receivable": "Receivable",
"account rec": "Receivable",
"payable": "Payable",
"tr_payable": "Payable",
"equity": "Equity",
"stocks": "Stock",
"stock": "Stock",
"tax": "Tax",
"tr_tax": "Tax",
"tax-out": "Tax",
"tax-in": "Tax",
"charges_personnel": "Chargeable",
"fixed asset": "Fixed Asset",
"cogs": "Cost of Goods Sold",
}
for root in root_list:
for node in root[0].findall("record"):
if node.get("model")=="account.account.type":
if node.get("model") == "account.account.type":
data = {}
for field in node.findall("field"):
if field.get("name")=="code" and field.text.lower() != "none" \
and account_type_map.get(field.text):
data["account_type"] = account_type_map[field.text]
if (
field.get("name") == "code"
and field.text.lower() != "none"
and account_type_map.get(field.text)
):
data["account_type"] = account_type_map[field.text]
node_id = prefix + "." + node.get("id") if prefix else node.get("id")
types[node_id] = data
if csv_content and csv_content[0][0]=="id":
if csv_content and csv_content[0][0] == "id":
for row in csv_content[1:]:
row_dict = dict(zip(csv_content[0], row))
data = {}
@@ -138,21 +148,22 @@ def get_account_types(root_list, csv_content, prefix=None):
types[node_id] = data
return types
def make_maps_for_xml(xml_roots, account_types, country_dir):
"""make maps for `charts` and `accounts`"""
for model, root_list in iteritems(xml_roots):
for root in root_list:
for node in root[0].findall("record"):
if node.get("model")=="account.account.template":
if node.get("model") == "account.account.template":
data = {}
for field in node.findall("field"):
if field.get("name")=="name":
if field.get("name") == "name":
data["name"] = field.text
if field.get("name")=="parent_id":
if field.get("name") == "parent_id":
parent_id = field.get("ref") or field.get("eval")
data["parent_id"] = parent_id
if field.get("name")=="user_type":
if field.get("name") == "user_type":
value = field.get("ref")
if account_types.get(value, {}).get("account_type"):
data["account_type"] = account_types[value]["account_type"]
@@ -162,16 +173,17 @@ def make_maps_for_xml(xml_roots, account_types, country_dir):
data["children"] = []
accounts[node.get("id")] = data
if node.get("model")=="account.chart.template":
if node.get("model") == "account.chart.template":
data = {}
for field in node.findall("field"):
if field.get("name")=="name":
if field.get("name") == "name":
data["name"] = field.text
if field.get("name")=="account_root_id":
if field.get("name") == "account_root_id":
data["account_root_id"] = field.get("ref")
data["id"] = country_dir
charts.setdefault(node.get("id"), {}).update(data)
def make_maps_for_csv(csv_content, account_types, country_dir):
for content in csv_content.get("account.account.template", []):
for row in content[1:]:
@@ -179,7 +191,7 @@ def make_maps_for_csv(csv_content, account_types, country_dir):
account = {
"name": data.get("name"),
"parent_id": data.get("parent_id:id") or data.get("parent_id/id"),
"children": []
"children": [],
}
user_type = data.get("user_type/id") or data.get("user_type:id")
if account_types.get(user_type, {}).get("account_type"):
@@ -196,12 +208,14 @@ def make_maps_for_csv(csv_content, account_types, country_dir):
for row in content[1:]:
if row:
data = dict(zip(content[0], row))
charts.setdefault(data.get("id"), {}).update({
"account_root_id": data.get("account_root_id:id") or \
data.get("account_root_id/id"),
"name": data.get("name"),
"id": country_dir
})
charts.setdefault(data.get("id"), {}).update(
{
"account_root_id": data.get("account_root_id:id") or data.get("account_root_id/id"),
"name": data.get("name"),
"id": country_dir,
}
)
def make_account_trees():
"""build tree hierarchy"""
@@ -220,6 +234,7 @@ def make_account_trees():
if "children" in accounts[id] and not accounts[id].get("children"):
del accounts[id]["children"]
def make_charts():
"""write chart files in app/setup/doctype/company/charts"""
for chart_id in charts:
@@ -238,34 +253,38 @@ def make_charts():
chart["country_code"] = src["id"][5:]
chart["tree"] = accounts[src["account_root_id"]]
for key, val in chart["tree"].items():
if key in ["name", "parent_id"]:
chart["tree"].pop(key)
if type(val) == dict:
val["root_type"] = ""
if chart:
fpath = os.path.join("erpnext", "erpnext", "accounts", "doctype", "account",
"chart_of_accounts", filename + ".json")
fpath = os.path.join(
"erpnext", "erpnext", "accounts", "doctype", "account", "chart_of_accounts", filename + ".json"
)
with open(fpath, "r") as chartfile:
old_content = chartfile.read()
if not old_content or (json.loads(old_content).get("is_active", "No") == "No" \
and json.loads(old_content).get("disabled", "No") == "No"):
if not old_content or (
json.loads(old_content).get("is_active", "No") == "No"
and json.loads(old_content).get("disabled", "No") == "No"
):
with open(fpath, "w") as chartfile:
chartfile.write(json.dumps(chart, indent=4, sort_keys=True))
all_roots.setdefault(filename, chart["tree"].keys())
def create_all_roots_file():
with open('all_roots.txt', 'w') as f:
with open("all_roots.txt", "w") as f:
for filename, roots in sorted(all_roots.items()):
f.write(filename)
f.write('\n----------------------\n')
f.write("\n----------------------\n")
for r in sorted(roots):
f.write(r.encode('utf-8'))
f.write('\n')
f.write('\n\n\n')
f.write(r.encode("utf-8"))
f.write("\n")
f.write("\n\n\n")
if __name__=="__main__":
if __name__ == "__main__":
go()

View File

@@ -1,189 +1,109 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
from frappe import _
def get():
return {
_("Application of Funds (Assets)"): {
_("Current Assets"): {
_("Accounts Receivable"): {
_("Debtors"): {
"account_type": "Receivable"
}
},
_("Bank Accounts"): {
"account_type": "Bank",
"is_group": 1
},
_("Cash In Hand"): {
_("Cash"): {
"account_type": "Cash"
},
"account_type": "Cash"
},
_("Loans and Advances (Assets)"): {
_("Employee Advances"): {
},
},
_("Securities and Deposits"): {
_("Earnest Money"): {}
},
_("Stock Assets"): {
_("Stock In Hand"): {
"account_type": "Stock"
},
"account_type": "Stock",
},
_("Tax Assets"): {
"is_group": 1
}
},
_("Fixed Assets"): {
_("Capital Equipments"): {
"account_type": "Fixed Asset"
},
_("Electronic Equipments"): {
"account_type": "Fixed Asset"
},
_("Furnitures and Fixtures"): {
"account_type": "Fixed Asset"
},
_("Office Equipments"): {
"account_type": "Fixed Asset"
},
_("Plants and Machineries"): {
"account_type": "Fixed Asset"
},
_("Buildings"): {
"account_type": "Fixed Asset"
_("Application of Funds (Assets)"): {
_("Current Assets"): {
_("Accounts Receivable"): {_("Debtors"): {"account_type": "Receivable"}},
_("Bank Accounts"): {"account_type": "Bank", "is_group": 1},
_("Cash In Hand"): {_("Cash"): {"account_type": "Cash"}, "account_type": "Cash"},
_("Loans and Advances (Assets)"): {
_("Employee Advances"): {},
},
_("Softwares"): {
"account_type": "Fixed Asset"
_("Securities and Deposits"): {_("Earnest Money"): {}},
_("Stock Assets"): {
_("Stock In Hand"): {"account_type": "Stock"},
"account_type": "Stock",
},
_("Accumulated Depreciation"): {
"account_type": "Accumulated Depreciation"
},
_("CWIP Account"): {
"account_type": "Capital Work in Progress",
}
},
_("Investments"): {
"is_group": 1
},
_("Temporary Accounts"): {
_("Temporary Opening"): {
"account_type": "Temporary"
}
},
"root_type": "Asset"
},
_("Expenses"): {
_("Direct Expenses"): {
_("Stock Expenses"): {
_("Cost of Goods Sold"): {
"account_type": "Cost of Goods Sold"
},
_("Expenses Included In Asset Valuation"): {
"account_type": "Expenses Included In Asset Valuation"
},
_("Expenses Included In Valuation"): {
"account_type": "Expenses Included In Valuation"
},
_("Stock Adjustment"): {
"account_type": "Stock Adjustment"
}
},
},
_("Indirect Expenses"): {
_("Administrative Expenses"): {},
_("Commission on Sales"): {},
_("Depreciation"): {
"account_type": "Depreciation"
},
_("Entertainment Expenses"): {},
_("Freight and Forwarding Charges"): {
"account_type": "Chargeable"
},
_("Legal Expenses"): {},
_("Marketing Expenses"): {
"account_type": "Chargeable"
},
_("Miscellaneous Expenses"): {
"account_type": "Chargeable"
},
_("Office Maintenance Expenses"): {},
_("Office Rent"): {},
_("Postal Expenses"): {},
_("Print and Stationery"): {},
_("Round Off"): {
"account_type": "Round Off"
},
_("Salary"): {},
_("Sales Expenses"): {},
_("Telephone Expenses"): {},
_("Travel Expenses"): {},
_("Utility Expenses"): {},
_("Tax Assets"): {"is_group": 1},
},
_("Fixed Assets"): {
_("Capital Equipments"): {"account_type": "Fixed Asset"},
_("Electronic Equipments"): {"account_type": "Fixed Asset"},
_("Furnitures and Fixtures"): {"account_type": "Fixed Asset"},
_("Office Equipments"): {"account_type": "Fixed Asset"},
_("Plants and Machineries"): {"account_type": "Fixed Asset"},
_("Buildings"): {"account_type": "Fixed Asset"},
_("Softwares"): {"account_type": "Fixed Asset"},
_("Accumulated Depreciation"): {"account_type": "Accumulated Depreciation"},
_("CWIP Account"): {
"account_type": "Capital Work in Progress",
},
},
_("Investments"): {"is_group": 1},
_("Temporary Accounts"): {_("Temporary Opening"): {"account_type": "Temporary"}},
"root_type": "Asset",
},
_("Expenses"): {
_("Direct Expenses"): {
_("Stock Expenses"): {
_("Cost of Goods Sold"): {"account_type": "Cost of Goods Sold"},
_("Expenses Included In Asset Valuation"): {
"account_type": "Expenses Included In Asset Valuation"
},
_("Expenses Included In Valuation"): {"account_type": "Expenses Included In Valuation"},
_("Stock Adjustment"): {"account_type": "Stock Adjustment"},
},
},
_("Indirect Expenses"): {
_("Administrative Expenses"): {},
_("Commission on Sales"): {},
_("Depreciation"): {"account_type": "Depreciation"},
_("Entertainment Expenses"): {},
_("Freight and Forwarding Charges"): {"account_type": "Chargeable"},
_("Legal Expenses"): {},
_("Marketing Expenses"): {"account_type": "Chargeable"},
_("Miscellaneous Expenses"): {"account_type": "Chargeable"},
_("Office Maintenance Expenses"): {},
_("Office Rent"): {},
_("Postal Expenses"): {},
_("Print and Stationery"): {},
_("Round Off"): {"account_type": "Round Off"},
_("Salary"): {},
_("Sales Expenses"): {},
_("Telephone Expenses"): {},
_("Travel Expenses"): {},
_("Utility Expenses"): {},
_("Write Off"): {},
_("Exchange Gain/Loss"): {},
_("Gain/Loss on Asset Disposal"): {}
},
"root_type": "Expense"
},
_("Income"): {
_("Direct Income"): {
_("Sales"): {},
_("Service"): {}
},
_("Indirect Income"): {
"is_group": 1
},
"root_type": "Income"
},
_("Source of Funds (Liabilities)"): {
_("Current Liabilities"): {
_("Accounts Payable"): {
_("Creditors"): {
"account_type": "Payable"
},
_("Payroll Payable"): {},
},
_("Stock Liabilities"): {
_("Stock Received But Not Billed"): {
"account_type": "Stock Received But Not Billed"
},
_("Asset Received But Not Billed"): {
"account_type": "Asset Received But Not Billed"
}
},
_("Duties and Taxes"): {
"account_type": "Tax",
"is_group": 1
_("Gain/Loss on Asset Disposal"): {},
},
"root_type": "Expense",
},
_("Income"): {
_("Direct Income"): {_("Sales"): {}, _("Service"): {}},
_("Indirect Income"): {"is_group": 1},
"root_type": "Income",
},
_("Source of Funds (Liabilities)"): {
_("Current Liabilities"): {
_("Accounts Payable"): {
_("Creditors"): {"account_type": "Payable"},
_("Payroll Payable"): {},
},
_("Stock Liabilities"): {
_("Stock Received But Not Billed"): {"account_type": "Stock Received But Not Billed"},
_("Asset Received But Not Billed"): {"account_type": "Asset Received But Not Billed"},
},
_("Duties and Taxes"): {"account_type": "Tax", "is_group": 1},
_("Loans (Liabilities)"): {
_("Secured Loans"): {},
_("Unsecured Loans"): {},
_("Bank Overdraft Account"): {},
},
},
"root_type": "Liability"
},
},
"root_type": "Liability",
},
_("Equity"): {
_("Capital Stock"): {
"account_type": "Equity"
},
_("Dividends Paid"): {
"account_type": "Equity"
},
_("Opening Balance Equity"): {
"account_type": "Equity"
},
_("Retained Earnings"): {
"account_type": "Equity"
},
"root_type": "Equity"
}
_("Capital Stock"): {"account_type": "Equity"},
_("Dividends Paid"): {"account_type": "Equity"},
_("Opening Balance Equity"): {"account_type": "Equity"},
_("Retained Earnings"): {"account_type": "Equity"},
"root_type": "Equity",
},
}

View File

@@ -1,294 +1,158 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
from frappe import _
def get():
return {
_("Application of Funds (Assets)"): {
_("Current Assets"): {
_("Accounts Receivable"): {
_("Debtors"): {
"account_type": "Receivable",
"account_number": "1310"
},
"account_number": "1300"
},
_("Bank Accounts"): {
"account_type": "Bank",
"is_group": 1,
"account_number": "1200"
},
_("Cash In Hand"): {
_("Cash"): {
"account_type": "Cash",
"account_number": "1110"
},
"account_type": "Cash",
"account_number": "1100"
},
_("Loans and Advances (Assets)"): {
_("Employee Advances"): {
"account_number": "1610"
},
"account_number": "1600"
},
_("Securities and Deposits"): {
_("Earnest Money"): {
"account_number": "1651"
},
"account_number": "1650"
},
_("Stock Assets"): {
_("Stock In Hand"): {
"account_type": "Stock",
"account_number": "1410"
},
"account_type": "Stock",
"account_number": "1400"
},
_("Tax Assets"): {
"is_group": 1,
"account_number": "1500"
},
"account_number": "1100-1600"
},
_("Fixed Assets"): {
_("Capital Equipments"): {
"account_type": "Fixed Asset",
"account_number": "1710"
},
_("Electronic Equipments"): {
"account_type": "Fixed Asset",
"account_number": "1720"
},
_("Furnitures and Fixtures"): {
"account_type": "Fixed Asset",
"account_number": "1730"
},
_("Office Equipments"): {
"account_type": "Fixed Asset",
"account_number": "1740"
},
_("Plants and Machineries"): {
"account_type": "Fixed Asset",
"account_number": "1750"
},
_("Buildings"): {
"account_type": "Fixed Asset",
"account_number": "1760"
},
_("Softwares"): {
"account_type": "Fixed Asset",
"account_number": "1770"
},
_("Accumulated Depreciation"): {
"account_type": "Accumulated Depreciation",
"account_number": "1780"
},
_("CWIP Account"): {
"account_type": "Capital Work in Progress",
"account_number": "1790"
},
"account_number": "1700"
},
_("Investments"): {
"is_group": 1,
"account_number": "1800"
},
_("Temporary Accounts"): {
_("Temporary Opening"): {
"account_type": "Temporary",
"account_number": "1910"
},
"account_number": "1900"
},
"root_type": "Asset",
"account_number": "1000"
},
_("Expenses"): {
_("Direct Expenses"): {
_("Stock Expenses"): {
_("Cost of Goods Sold"): {
"account_type": "Cost of Goods Sold",
"account_number": "5111"
},
_("Expenses Included In Asset Valuation"): {
"account_type": "Expenses Included In Asset Valuation",
"account_number": "5112"
},
_("Expenses Included In Valuation"): {
"account_type": "Expenses Included In Valuation",
"account_number": "5118"
},
_("Stock Adjustment"): {
"account_type": "Stock Adjustment",
"account_number": "5119"
},
"account_number": "5110"
},
"account_number": "5100"
},
_("Indirect Expenses"): {
_("Administrative Expenses"): {
"account_number": "5201"
},
_("Commission on Sales"): {
"account_number": "5202"
},
_("Depreciation"): {
"account_type": "Depreciation",
"account_number": "5203"
},
_("Entertainment Expenses"): {
"account_number": "5204"
},
_("Freight and Forwarding Charges"): {
"account_type": "Chargeable",
"account_number": "5205"
},
_("Legal Expenses"): {
"account_number": "5206"
},
_("Marketing Expenses"): {
"account_type": "Chargeable",
"account_number": "5207"
},
_("Office Maintenance Expenses"): {
"account_number": "5208"
},
_("Office Rent"): {
"account_number": "5209"
},
_("Postal Expenses"): {
"account_number": "5210"
},
_("Print and Stationery"): {
"account_number": "5211"
},
_("Round Off"): {
"account_type": "Round Off",
"account_number": "5212"
},
_("Salary"): {
"account_number": "5213"
},
_("Sales Expenses"): {
"account_number": "5214"
},
_("Telephone Expenses"): {
"account_number": "5215"
},
_("Travel Expenses"): {
"account_number": "5216"
},
_("Utility Expenses"): {
"account_number": "5217"
},
_("Write Off"): {
"account_number": "5218"
},
_("Exchange Gain/Loss"): {
"account_number": "5219"
},
_("Gain/Loss on Asset Disposal"): {
"account_number": "5220"
},
_("Miscellaneous Expenses"): {
"account_type": "Chargeable",
"account_number": "5221"
},
"account_number": "5200"
},
"root_type": "Expense",
"account_number": "5000"
},
_("Income"): {
_("Direct Income"): {
_("Sales"): {
"account_number": "4110"
},
_("Service"): {
"account_number": "4120"
},
"account_number": "4100"
},
_("Indirect Income"): {
"is_group": 1,
"account_number": "4200"
},
"root_type": "Income",
"account_number": "4000"
},
_("Source of Funds (Liabilities)"): {
_("Current Liabilities"): {
_("Accounts Payable"): {
_("Creditors"): {
"account_type": "Payable",
"account_number": "2110"
},
_("Payroll Payable"): {
"account_number": "2120"
},
"account_number": "2100"
},
_("Stock Liabilities"): {
_("Stock Received But Not Billed"): {
"account_type": "Stock Received But Not Billed",
"account_number": "2210"
},
_("Asset Received But Not Billed"): {
"account_type": "Asset Received But Not Billed",
"account_number": "2211"
},
"account_number": "2200"
},
_("Duties and Taxes"): {
_("TDS Payable"): {
"account_number": "2310"
},
"account_type": "Tax",
"is_group": 1,
"account_number": "2300"
},
_("Loans (Liabilities)"): {
_("Secured Loans"): {
"account_number": "2410"
},
_("Unsecured Loans"): {
"account_number": "2420"
},
_("Bank Overdraft Account"): {
"account_number": "2430"
},
"account_number": "2400"
},
"account_number": "2100-2400"
},
"root_type": "Liability",
"account_number": "2000"
},
_("Equity"): {
_("Capital Stock"): {
"account_type": "Equity",
"account_number": "3100"
},
_("Dividends Paid"): {
"account_type": "Equity",
"account_number": "3200"
},
_("Opening Balance Equity"): {
"account_type": "Equity",
"account_number": "3300"
},
_("Retained Earnings"): {
"account_type": "Equity",
"account_number": "3400"
},
"root_type": "Equity",
"account_number": "3000"
}
}
return {
_("Application of Funds (Assets)"): {
_("Current Assets"): {
_("Accounts Receivable"): {
_("Debtors"): {"account_type": "Receivable", "account_number": "1310"},
"account_number": "1300",
},
_("Bank Accounts"): {"account_type": "Bank", "is_group": 1, "account_number": "1200"},
_("Cash In Hand"): {
_("Cash"): {"account_type": "Cash", "account_number": "1110"},
"account_type": "Cash",
"account_number": "1100",
},
_("Loans and Advances (Assets)"): {
_("Employee Advances"): {"account_number": "1610"},
"account_number": "1600",
},
_("Securities and Deposits"): {
_("Earnest Money"): {"account_number": "1651"},
"account_number": "1650",
},
_("Stock Assets"): {
_("Stock In Hand"): {"account_type": "Stock", "account_number": "1410"},
"account_type": "Stock",
"account_number": "1400",
},
_("Tax Assets"): {"is_group": 1, "account_number": "1500"},
"account_number": "1100-1600",
},
_("Fixed Assets"): {
_("Capital Equipments"): {"account_type": "Fixed Asset", "account_number": "1710"},
_("Electronic Equipments"): {"account_type": "Fixed Asset", "account_number": "1720"},
_("Furnitures and Fixtures"): {"account_type": "Fixed Asset", "account_number": "1730"},
_("Office Equipments"): {"account_type": "Fixed Asset", "account_number": "1740"},
_("Plants and Machineries"): {"account_type": "Fixed Asset", "account_number": "1750"},
_("Buildings"): {"account_type": "Fixed Asset", "account_number": "1760"},
_("Softwares"): {"account_type": "Fixed Asset", "account_number": "1770"},
_("Accumulated Depreciation"): {
"account_type": "Accumulated Depreciation",
"account_number": "1780",
},
_("CWIP Account"): {"account_type": "Capital Work in Progress", "account_number": "1790"},
"account_number": "1700",
},
_("Investments"): {"is_group": 1, "account_number": "1800"},
_("Temporary Accounts"): {
_("Temporary Opening"): {"account_type": "Temporary", "account_number": "1910"},
"account_number": "1900",
},
"root_type": "Asset",
"account_number": "1000",
},
_("Expenses"): {
_("Direct Expenses"): {
_("Stock Expenses"): {
_("Cost of Goods Sold"): {"account_type": "Cost of Goods Sold", "account_number": "5111"},
_("Expenses Included In Asset Valuation"): {
"account_type": "Expenses Included In Asset Valuation",
"account_number": "5112",
},
_("Expenses Included In Valuation"): {
"account_type": "Expenses Included In Valuation",
"account_number": "5118",
},
_("Stock Adjustment"): {"account_type": "Stock Adjustment", "account_number": "5119"},
"account_number": "5110",
},
"account_number": "5100",
},
_("Indirect Expenses"): {
_("Administrative Expenses"): {"account_number": "5201"},
_("Commission on Sales"): {"account_number": "5202"},
_("Depreciation"): {"account_type": "Depreciation", "account_number": "5203"},
_("Entertainment Expenses"): {"account_number": "5204"},
_("Freight and Forwarding Charges"): {"account_type": "Chargeable", "account_number": "5205"},
_("Legal Expenses"): {"account_number": "5206"},
_("Marketing Expenses"): {"account_type": "Chargeable", "account_number": "5207"},
_("Office Maintenance Expenses"): {"account_number": "5208"},
_("Office Rent"): {"account_number": "5209"},
_("Postal Expenses"): {"account_number": "5210"},
_("Print and Stationery"): {"account_number": "5211"},
_("Round Off"): {"account_type": "Round Off", "account_number": "5212"},
_("Salary"): {"account_number": "5213"},
_("Sales Expenses"): {"account_number": "5214"},
_("Telephone Expenses"): {"account_number": "5215"},
_("Travel Expenses"): {"account_number": "5216"},
_("Utility Expenses"): {"account_number": "5217"},
_("Write Off"): {"account_number": "5218"},
_("Exchange Gain/Loss"): {"account_number": "5219"},
_("Gain/Loss on Asset Disposal"): {"account_number": "5220"},
_("Miscellaneous Expenses"): {"account_type": "Chargeable", "account_number": "5221"},
"account_number": "5200",
},
"root_type": "Expense",
"account_number": "5000",
},
_("Income"): {
_("Direct Income"): {
_("Sales"): {"account_number": "4110"},
_("Service"): {"account_number": "4120"},
"account_number": "4100",
},
_("Indirect Income"): {"is_group": 1, "account_number": "4200"},
"root_type": "Income",
"account_number": "4000",
},
_("Source of Funds (Liabilities)"): {
_("Current Liabilities"): {
_("Accounts Payable"): {
_("Creditors"): {"account_type": "Payable", "account_number": "2110"},
_("Payroll Payable"): {"account_number": "2120"},
"account_number": "2100",
},
_("Stock Liabilities"): {
_("Stock Received But Not Billed"): {
"account_type": "Stock Received But Not Billed",
"account_number": "2210",
},
_("Asset Received But Not Billed"): {
"account_type": "Asset Received But Not Billed",
"account_number": "2211",
},
"account_number": "2200",
},
_("Duties and Taxes"): {
_("TDS Payable"): {"account_number": "2310"},
"account_type": "Tax",
"is_group": 1,
"account_number": "2300",
},
_("Loans (Liabilities)"): {
_("Secured Loans"): {"account_number": "2410"},
_("Unsecured Loans"): {"account_number": "2420"},
_("Bank Overdraft Account"): {"account_number": "2430"},
"account_number": "2400",
},
"account_number": "2100-2400",
},
"root_type": "Liability",
"account_number": "2000",
},
_("Equity"): {
_("Capital Stock"): {"account_type": "Equity", "account_number": "3100"},
_("Dividends Paid"): {"account_type": "Equity", "account_number": "3200"},
_("Opening Balance Equity"): {"account_type": "Equity", "account_number": "3300"},
_("Retained Earnings"): {"account_type": "Equity", "account_number": "3400"},
"root_type": "Equity",
"account_number": "3000",
},
}

View File

@@ -1,7 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import unittest
@@ -21,8 +20,9 @@ class TestAccount(unittest.TestCase):
acc.company = "_Test Company"
acc.insert()
account_number, account_name = frappe.db.get_value("Account", "1210 - Debtors - _TC",
["account_number", "account_name"])
account_number, account_name = frappe.db.get_value(
"Account", "1210 - Debtors - _TC", ["account_number", "account_name"]
)
self.assertEqual(account_number, "1210")
self.assertEqual(account_name, "Debtors")
@@ -31,8 +31,12 @@ class TestAccount(unittest.TestCase):
update_account_number("1210 - Debtors - _TC", new_account_name, new_account_number)
new_acc = frappe.db.get_value("Account", "1211-11-4 - 6 - - Debtors 1 - Test - - _TC",
["account_name", "account_number"], as_dict=1)
new_acc = frappe.db.get_value(
"Account",
"1211-11-4 - 6 - - Debtors 1 - Test - - _TC",
["account_name", "account_number"],
as_dict=1,
)
self.assertEqual(new_acc.account_name, "Debtors 1 - Test -")
self.assertEqual(new_acc.account_number, "1211-11-4 - 6 -")
@@ -80,7 +84,9 @@ class TestAccount(unittest.TestCase):
self.assertEqual(parent, "Securities and Deposits - _TC")
merge_account("Securities and Deposits - _TC", "Cash In Hand - _TC", doc.is_group, doc.root_type, doc.company)
merge_account(
"Securities and Deposits - _TC", "Cash In Hand - _TC", doc.is_group, doc.root_type, doc.company
)
parent = frappe.db.get_value("Account", "Earnest Money - _TC", "parent_account")
# Parent account of the child account changes after merging
@@ -92,14 +98,28 @@ class TestAccount(unittest.TestCase):
doc = frappe.get_doc("Account", "Current Assets - _TC")
# Raise error as is_group property doesn't match
self.assertRaises(frappe.ValidationError, merge_account, "Current Assets - _TC",\
"Accumulated Depreciation - _TC", doc.is_group, doc.root_type, doc.company)
self.assertRaises(
frappe.ValidationError,
merge_account,
"Current Assets - _TC",
"Accumulated Depreciation - _TC",
doc.is_group,
doc.root_type,
doc.company,
)
doc = frappe.get_doc("Account", "Capital Stock - _TC")
# Raise error as root_type property doesn't match
self.assertRaises(frappe.ValidationError, merge_account, "Capital Stock - _TC",\
"Softwares - _TC", doc.is_group, doc.root_type, doc.company)
self.assertRaises(
frappe.ValidationError,
merge_account,
"Capital Stock - _TC",
"Softwares - _TC",
doc.is_group,
doc.root_type,
doc.company,
)
def test_account_sync(self):
frappe.local.flags.pop("ignore_root_company_validation", None)
@@ -110,8 +130,12 @@ class TestAccount(unittest.TestCase):
acc.company = "_Test Company 3"
acc.insert()
acc_tc_4 = frappe.db.get_value('Account', {'account_name': "Test Sync Account", "company": "_Test Company 4"})
acc_tc_5 = frappe.db.get_value('Account', {'account_name': "Test Sync Account", "company": "_Test Company 5"})
acc_tc_4 = frappe.db.get_value(
"Account", {"account_name": "Test Sync Account", "company": "_Test Company 4"}
)
acc_tc_5 = frappe.db.get_value(
"Account", {"account_name": "Test Sync Account", "company": "_Test Company 5"}
)
self.assertEqual(acc_tc_4, "Test Sync Account - _TC4")
self.assertEqual(acc_tc_5, "Test Sync Account - _TC5")
@@ -139,8 +163,26 @@ class TestAccount(unittest.TestCase):
update_account_number(acc.name, "Test Rename Sync Account", "1234")
# Check if renamed in children
self.assertTrue(frappe.db.exists("Account", {'account_name': "Test Rename Sync Account", "company": "_Test Company 4", "account_number": "1234"}))
self.assertTrue(frappe.db.exists("Account", {'account_name': "Test Rename Sync Account", "company": "_Test Company 5", "account_number": "1234"}))
self.assertTrue(
frappe.db.exists(
"Account",
{
"account_name": "Test Rename Sync Account",
"company": "_Test Company 4",
"account_number": "1234",
},
)
)
self.assertTrue(
frappe.db.exists(
"Account",
{
"account_name": "Test Rename Sync Account",
"company": "_Test Company 5",
"account_number": "1234",
},
)
)
frappe.delete_doc("Account", "1234 - Test Rename Sync Account - _TC3")
frappe.delete_doc("Account", "1234 - Test Rename Sync Account - _TC4")
@@ -156,25 +198,71 @@ class TestAccount(unittest.TestCase):
acc.company = "_Test Company 3"
acc.insert()
self.assertTrue(frappe.db.exists("Account", {'account_name': "Test Group Account", "company": "_Test Company 4"}))
self.assertTrue(frappe.db.exists("Account", {'account_name': "Test Group Account", "company": "_Test Company 5"}))
self.assertTrue(
frappe.db.exists(
"Account", {"account_name": "Test Group Account", "company": "_Test Company 4"}
)
)
self.assertTrue(
frappe.db.exists(
"Account", {"account_name": "Test Group Account", "company": "_Test Company 5"}
)
)
# Try renaming child company account
acc_tc_5 = frappe.db.get_value('Account', {'account_name': "Test Group Account", "company": "_Test Company 5"})
self.assertRaises(frappe.ValidationError, update_account_number, acc_tc_5, "Test Modified Account")
acc_tc_5 = frappe.db.get_value(
"Account", {"account_name": "Test Group Account", "company": "_Test Company 5"}
)
self.assertRaises(
frappe.ValidationError, update_account_number, acc_tc_5, "Test Modified Account"
)
# Rename child company account with allow_account_creation_against_child_company enabled
frappe.db.set_value("Company", "_Test Company 5", "allow_account_creation_against_child_company", 1)
frappe.db.set_value(
"Company", "_Test Company 5", "allow_account_creation_against_child_company", 1
)
update_account_number(acc_tc_5, "Test Modified Account")
self.assertTrue(frappe.db.exists("Account", {'name': "Test Modified Account - _TC5", "company": "_Test Company 5"}))
self.assertTrue(
frappe.db.exists(
"Account", {"name": "Test Modified Account - _TC5", "company": "_Test Company 5"}
)
)
frappe.db.set_value("Company", "_Test Company 5", "allow_account_creation_against_child_company", 0)
frappe.db.set_value(
"Company", "_Test Company 5", "allow_account_creation_against_child_company", 0
)
to_delete = ["Test Group Account - _TC3", "Test Group Account - _TC4", "Test Modified Account - _TC5"]
to_delete = [
"Test Group Account - _TC3",
"Test Group Account - _TC4",
"Test Modified Account - _TC5",
]
for doc in to_delete:
frappe.delete_doc("Account", doc)
def test_validate_account_currency(self):
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
if not frappe.db.get_value("Account", "Test Currency Account - _TC"):
acc = frappe.new_doc("Account")
acc.account_name = "Test Currency Account"
acc.parent_account = "Tax Assets - _TC"
acc.company = "_Test Company"
acc.insert()
else:
acc = frappe.get_doc("Account", "Test Currency Account - _TC")
self.assertEqual(acc.account_currency, "INR")
# Make a JV against this account
make_journal_entry(
"Test Currency Account - _TC", "Miscellaneous Expenses - _TC", 100, submit=True
)
acc.account_currency = "USD"
self.assertRaises(frappe.ValidationError, acc.save)
def _make_test_records(verbose=None):
from frappe.test_runner import make_test_objects
@@ -185,20 +273,16 @@ def _make_test_records(verbose=None):
["_Test Bank USD", "Bank Accounts", 0, "Bank", "USD"],
["_Test Bank EUR", "Bank Accounts", 0, "Bank", "EUR"],
["_Test Cash", "Cash In Hand", 0, "Cash", None],
["_Test Account Stock Expenses", "Direct Expenses", 1, None, None],
["_Test Account Shipping Charges", "_Test Account Stock Expenses", 0, "Chargeable", None],
["_Test Account Customs Duty", "_Test Account Stock Expenses", 0, "Tax", None],
["_Test Account Insurance Charges", "_Test Account Stock Expenses", 0, "Chargeable", None],
["_Test Account Stock Adjustment", "_Test Account Stock Expenses", 0, "Stock Adjustment", None],
["_Test Employee Advance", "Current Liabilities", 0, None, None],
["_Test Account Tax Assets", "Current Assets", 1, None, None],
["_Test Account VAT", "_Test Account Tax Assets", 0, "Tax", None],
["_Test Account Service Tax", "_Test Account Tax Assets", 0, "Tax", None],
["_Test Account Reserves and Surplus", "Current Liabilities", 0, None, None],
["_Test Account Cost for Goods Sold", "Expenses", 0, None, None],
["_Test Account Excise Duty", "_Test Account Tax Assets", 0, "Tax", None],
["_Test Account Education Cess", "_Test Account Tax Assets", 0, "Tax", None],
@@ -207,38 +291,45 @@ def _make_test_records(verbose=None):
["_Test Account Discount", "Direct Expenses", 0, None, None],
["_Test Write Off", "Indirect Expenses", 0, None, None],
["_Test Exchange Gain/Loss", "Indirect Expenses", 0, None, None],
["_Test Account Sales", "Direct Income", 0, None, None],
# related to Account Inventory Integration
["_Test Account Stock In Hand", "Current Assets", 0, None, None],
# fixed asset depreciation
["_Test Fixed Asset", "Current Assets", 0, "Fixed Asset", None],
["_Test Accumulated Depreciations", "Current Assets", 0, "Accumulated Depreciation", None],
["_Test Depreciations", "Expenses", 0, None, None],
["_Test Gain/Loss on Asset Disposal", "Expenses", 0, None, None],
# Receivable / Payable Account
["_Test Receivable", "Current Assets", 0, "Receivable", None],
["_Test Payable", "Current Liabilities", 0, "Payable", None],
["_Test Receivable USD", "Current Assets", 0, "Receivable", "USD"],
["_Test Payable USD", "Current Liabilities", 0, "Payable", "USD"]
["_Test Payable USD", "Current Liabilities", 0, "Payable", "USD"],
]
for company, abbr in [["_Test Company", "_TC"], ["_Test Company 1", "_TC1"], ["_Test Company with perpetual inventory", "TCP1"]]:
test_objects = make_test_objects("Account", [{
"doctype": "Account",
"account_name": account_name,
"parent_account": parent_account + " - " + abbr,
"company": company,
"is_group": is_group,
"account_type": account_type,
"account_currency": currency
} for account_name, parent_account, is_group, account_type, currency in accounts])
for company, abbr in [
["_Test Company", "_TC"],
["_Test Company 1", "_TC1"],
["_Test Company with perpetual inventory", "TCP1"],
]:
test_objects = make_test_objects(
"Account",
[
{
"doctype": "Account",
"account_name": account_name,
"parent_account": parent_account + " - " + abbr,
"company": company,
"is_group": is_group,
"account_type": account_type,
"account_currency": currency,
}
for account_name, parent_account, is_group, account_type, currency in accounts
],
)
return test_objects
def get_inventory_account(company, warehouse=None):
account = None
if warehouse:
@@ -248,19 +339,24 @@ def get_inventory_account(company, warehouse=None):
return account
def create_account(**kwargs):
account = frappe.db.get_value("Account", filters={"account_name": kwargs.get("account_name"), "company": kwargs.get("company")})
account = frappe.db.get_value(
"Account", filters={"account_name": kwargs.get("account_name"), "company": kwargs.get("company")}
)
if account:
return account
else:
account = frappe.get_doc(dict(
doctype = "Account",
account_name = kwargs.get('account_name'),
account_type = kwargs.get('account_type'),
parent_account = kwargs.get('parent_account'),
company = kwargs.get('company'),
account_currency = kwargs.get('account_currency')
))
account = frappe.get_doc(
dict(
doctype="Account",
account_name=kwargs.get("account_name"),
account_type=kwargs.get("account_type"),
parent_account=kwargs.get("parent_account"),
company=kwargs.get("company"),
account_currency=kwargs.get("account_currency"),
)
)
account.save()
return account.name

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import json
@@ -19,13 +17,21 @@ class AccountingDimension(Document):
self.set_fieldname_and_label()
def validate(self):
if self.document_type in core_doctypes_list + ('Accounting Dimension', 'Project',
'Cost Center', 'Accounting Dimension Detail', 'Company', 'Account') :
if self.document_type in core_doctypes_list + (
"Accounting Dimension",
"Project",
"Cost Center",
"Accounting Dimension Detail",
"Company",
"Account",
):
msg = _("Not allowed to create accounting dimension for {0}").format(self.document_type)
frappe.throw(msg)
exists = frappe.db.get_value("Accounting Dimension", {'document_type': self.document_type}, ['name'])
exists = frappe.db.get_value(
"Accounting Dimension", {"document_type": self.document_type}, ["name"]
)
if exists and self.is_new():
frappe.throw(_("Document Type already used as a dimension"))
@@ -44,13 +50,13 @@ class AccountingDimension(Document):
if frappe.flags.in_test:
make_dimension_in_accounting_doctypes(doc=self)
else:
frappe.enqueue(make_dimension_in_accounting_doctypes, doc=self, queue='long')
frappe.enqueue(make_dimension_in_accounting_doctypes, doc=self, queue="long")
def on_trash(self):
if frappe.flags.in_test:
delete_accounting_dimension(doc=self)
else:
frappe.enqueue(delete_accounting_dimension, doc=self, queue='long')
frappe.enqueue(delete_accounting_dimension, doc=self, queue="long")
def set_fieldname_and_label(self):
if not self.label:
@@ -62,6 +68,7 @@ class AccountingDimension(Document):
def on_update(self):
frappe.flags.accounting_dimensions = None
def make_dimension_in_accounting_doctypes(doc, doclist=None):
if not doclist:
doclist = get_doctypes_with_dimensions()
@@ -72,9 +79,9 @@ def make_dimension_in_accounting_doctypes(doc, doclist=None):
for doctype in doclist:
if (doc_count + 1) % 2 == 0:
insert_after_field = 'dimension_col_break'
insert_after_field = "dimension_col_break"
else:
insert_after_field = 'accounting_dimensions_section'
insert_after_field = "accounting_dimensions_section"
df = {
"fieldname": doc.fieldname,
@@ -82,30 +89,33 @@ def make_dimension_in_accounting_doctypes(doc, doclist=None):
"fieldtype": "Link",
"options": doc.document_type,
"insert_after": insert_after_field,
"owner": "Administrator"
"owner": "Administrator",
}
meta = frappe.get_meta(doctype, cached=False)
fieldnames = [d.fieldname for d in meta.get("fields")]
if df['fieldname'] not in fieldnames:
if df["fieldname"] not in fieldnames:
if doctype == "Budget":
add_dimension_to_budget_doctype(df.copy(), doc)
else:
create_custom_field(doctype, df)
create_custom_field(doctype, df, ignore_validate=True)
count += 1
frappe.publish_progress(count*100/len(doclist), title = _("Creating Dimensions..."))
frappe.publish_progress(count * 100 / len(doclist), title=_("Creating Dimensions..."))
frappe.clear_cache(doctype=doctype)
def add_dimension_to_budget_doctype(df, doc):
df.update({
"insert_after": "cost_center",
"depends_on": "eval:doc.budget_against == '{0}'".format(doc.document_type)
})
create_custom_field("Budget", df)
def add_dimension_to_budget_doctype(df, doc):
df.update(
{
"insert_after": "cost_center",
"depends_on": "eval:doc.budget_against == '{0}'".format(doc.document_type),
}
)
create_custom_field("Budget", df, ignore_validate=True)
property_setter = frappe.db.exists("Property Setter", "Budget-budget_against-options")
@@ -114,36 +124,44 @@ def add_dimension_to_budget_doctype(df, doc):
property_setter_doc.value = property_setter_doc.value + "\n" + doc.document_type
property_setter_doc.save()
frappe.clear_cache(doctype='Budget')
frappe.clear_cache(doctype="Budget")
else:
frappe.get_doc({
"doctype": "Property Setter",
"doctype_or_field": "DocField",
"doc_type": "Budget",
"field_name": "budget_against",
"property": "options",
"property_type": "Text",
"value": "\nCost Center\nProject\n" + doc.document_type
}).insert(ignore_permissions=True)
frappe.get_doc(
{
"doctype": "Property Setter",
"doctype_or_field": "DocField",
"doc_type": "Budget",
"field_name": "budget_against",
"property": "options",
"property_type": "Text",
"value": "\nCost Center\nProject\n" + doc.document_type,
}
).insert(ignore_permissions=True)
def delete_accounting_dimension(doc):
doclist = get_doctypes_with_dimensions()
frappe.db.sql("""
frappe.db.sql(
"""
DELETE FROM `tabCustom Field`
WHERE fieldname = %s
AND dt IN (%s)""" % #nosec
('%s', ', '.join(['%s']* len(doclist))), tuple([doc.fieldname] + doclist))
AND dt IN (%s)"""
% ("%s", ", ".join(["%s"] * len(doclist))), # nosec
tuple([doc.fieldname] + doclist),
)
frappe.db.sql("""
frappe.db.sql(
"""
DELETE FROM `tabProperty Setter`
WHERE field_name = %s
AND doc_type IN (%s)""" % #nosec
('%s', ', '.join(['%s']* len(doclist))), tuple([doc.fieldname] + doclist))
AND doc_type IN (%s)"""
% ("%s", ", ".join(["%s"] * len(doclist))), # nosec
tuple([doc.fieldname] + doclist),
)
budget_against_property = frappe.get_doc("Property Setter", "Budget-budget_against-options")
value_list = budget_against_property.value.split('\n')[3:]
value_list = budget_against_property.value.split("\n")[3:]
if doc.document_type in value_list:
value_list.remove(doc.document_type)
@@ -154,6 +172,7 @@ def delete_accounting_dimension(doc):
for doctype in doclist:
frappe.clear_cache(doctype=doctype)
@frappe.whitelist()
def disable_dimension(doc):
if frappe.flags.in_test:
@@ -161,10 +180,11 @@ def disable_dimension(doc):
else:
frappe.enqueue(toggle_disabling, doc=doc)
def toggle_disabling(doc):
doc = json.loads(doc)
if doc.get('disabled'):
if doc.get("disabled"):
df = {"read_only": 1}
else:
df = {"read_only": 0}
@@ -172,7 +192,7 @@ def toggle_disabling(doc):
doclist = get_doctypes_with_dimensions()
for doctype in doclist:
field = frappe.db.get_value("Custom Field", {"dt": doctype, "fieldname": doc.get('fieldname')})
field = frappe.db.get_value("Custom Field", {"dt": doctype, "fieldname": doc.get("fieldname")})
if field:
custom_field = frappe.get_doc("Custom Field", field)
custom_field.update(df)
@@ -180,61 +200,82 @@ def toggle_disabling(doc):
frappe.clear_cache(doctype=doctype)
def get_doctypes_with_dimensions():
return frappe.get_hooks("accounting_dimension_doctypes")
def get_accounting_dimensions(as_list=True):
def get_accounting_dimensions(as_list=True, filters=None):
if not filters:
filters = {"disabled": 0}
if frappe.flags.accounting_dimensions is None:
frappe.flags.accounting_dimensions = frappe.get_all("Accounting Dimension",
fields=["label", "fieldname", "disabled", "document_type"])
frappe.flags.accounting_dimensions = frappe.get_all(
"Accounting Dimension",
fields=["label", "fieldname", "disabled", "document_type"],
filters=filters,
)
if as_list:
return [d.fieldname for d in frappe.flags.accounting_dimensions]
else:
return frappe.flags.accounting_dimensions
def get_checks_for_pl_and_bs_accounts():
dimensions = frappe.db.sql("""SELECT p.label, p.disabled, p.fieldname, c.default_dimension, c.company, c.mandatory_for_pl, c.mandatory_for_bs
dimensions = frappe.db.sql(
"""SELECT p.label, p.disabled, p.fieldname, c.default_dimension, c.company, c.mandatory_for_pl, c.mandatory_for_bs
FROM `tabAccounting Dimension`p ,`tabAccounting Dimension Detail` c
WHERE p.name = c.parent""", as_dict=1)
WHERE p.name = c.parent""",
as_dict=1,
)
return dimensions
def get_dimension_with_children(doctype, dimension):
if isinstance(dimension, list):
dimension = dimension[0]
def get_dimension_with_children(doctype, dimensions):
if isinstance(dimensions, str):
dimensions = [dimensions]
all_dimensions = []
lft, rgt = frappe.db.get_value(doctype, dimension, ["lft", "rgt"])
children = frappe.get_all(doctype, filters={"lft": [">=", lft], "rgt": ["<=", rgt]}, order_by="lft")
all_dimensions += [c.name for c in children]
for dimension in dimensions:
lft, rgt = frappe.db.get_value(doctype, dimension, ["lft", "rgt"])
children = frappe.get_all(
doctype, filters={"lft": [">=", lft], "rgt": ["<=", rgt]}, order_by="lft"
)
all_dimensions += [c.name for c in children]
return all_dimensions
@frappe.whitelist()
def get_dimensions(with_cost_center_and_project=False):
dimension_filters = frappe.db.sql("""
dimension_filters = frappe.db.sql(
"""
SELECT label, fieldname, document_type
FROM `tabAccounting Dimension`
WHERE disabled = 0
""", as_dict=1)
""",
as_dict=1,
)
default_dimensions = frappe.db.sql("""SELECT p.fieldname, c.company, c.default_dimension
default_dimensions = frappe.db.sql(
"""SELECT p.fieldname, c.company, c.default_dimension
FROM `tabAccounting Dimension Detail` c, `tabAccounting Dimension` p
WHERE c.parent = p.name""", as_dict=1)
WHERE c.parent = p.name""",
as_dict=1,
)
if with_cost_center_and_project:
dimension_filters.extend([
{
'fieldname': 'cost_center',
'document_type': 'Cost Center'
},
{
'fieldname': 'project',
'document_type': 'Project'
}
])
dimension_filters.extend(
[
{"fieldname": "cost_center", "document_type": "Cost Center"},
{"fieldname": "project", "document_type": "Project"},
]
)
default_dimensions_map = {}
for dimension in default_dimensions:

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest
@@ -10,7 +8,8 @@ import frappe
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
test_dependencies = ['Cost Center', 'Location', 'Warehouse', 'Department']
test_dependencies = ["Cost Center", "Location", "Warehouse", "Department"]
class TestAccountingDimension(unittest.TestCase):
def setUp(self):
@@ -20,24 +19,27 @@ class TestAccountingDimension(unittest.TestCase):
si = create_sales_invoice(do_not_save=1)
si.location = "Block 1"
si.append("items", {
"item_code": "_Test Item",
"warehouse": "_Test Warehouse - _TC",
"qty": 1,
"rate": 100,
"income_account": "Sales - _TC",
"expense_account": "Cost of Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
"department": "_Test Department - _TC",
"location": "Block 1"
})
si.append(
"items",
{
"item_code": "_Test Item",
"warehouse": "_Test Warehouse - _TC",
"qty": 1,
"rate": 100,
"income_account": "Sales - _TC",
"expense_account": "Cost of Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
"department": "_Test Department - _TC",
"location": "Block 1",
},
)
si.save()
si.submit()
gle = frappe.get_doc("GL Entry", {"voucher_no": si.name, "account": "Sales - _TC"})
self.assertEqual(gle.get('department'), "_Test Department - _TC")
self.assertEqual(gle.get("department"), "_Test Department - _TC")
def test_dimension_against_journal_entry(self):
je = make_journal_entry("Sales - _TC", "Sales Expenses - _TC", 500, save=False)
@@ -52,21 +54,24 @@ class TestAccountingDimension(unittest.TestCase):
gle = frappe.get_doc("GL Entry", {"voucher_no": je.name, "account": "Sales - _TC"})
gle1 = frappe.get_doc("GL Entry", {"voucher_no": je.name, "account": "Sales Expenses - _TC"})
self.assertEqual(gle.get('department'), "_Test Department - _TC")
self.assertEqual(gle1.get('department'), "_Test Department - _TC")
self.assertEqual(gle.get("department"), "_Test Department - _TC")
self.assertEqual(gle1.get("department"), "_Test Department - _TC")
def test_mandatory(self):
si = create_sales_invoice(do_not_save=1)
si.append("items", {
"item_code": "_Test Item",
"warehouse": "_Test Warehouse - _TC",
"qty": 1,
"rate": 100,
"income_account": "Sales - _TC",
"expense_account": "Cost of Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
"location": ""
})
si.append(
"items",
{
"item_code": "_Test Item",
"warehouse": "_Test Warehouse - _TC",
"qty": 1,
"rate": 100,
"income_account": "Sales - _TC",
"expense_account": "Cost of Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
"location": "",
},
)
si.save()
self.assertRaises(frappe.ValidationError, si.submit)
@@ -74,31 +79,39 @@ class TestAccountingDimension(unittest.TestCase):
def tearDown(self):
disable_dimension()
def create_dimension():
frappe.set_user("Administrator")
if not frappe.db.exists("Accounting Dimension", {"document_type": "Department"}):
frappe.get_doc({
"doctype": "Accounting Dimension",
"document_type": "Department",
}).insert()
frappe.get_doc(
{
"doctype": "Accounting Dimension",
"document_type": "Department",
}
).insert()
else:
dimension = frappe.get_doc("Accounting Dimension", "Department")
dimension.disabled = 0
dimension.save()
if not frappe.db.exists("Accounting Dimension", {"document_type": "Location"}):
dimension1 = frappe.get_doc({
"doctype": "Accounting Dimension",
"document_type": "Location",
})
dimension1 = frappe.get_doc(
{
"doctype": "Accounting Dimension",
"document_type": "Location",
}
)
dimension1.append("dimension_defaults", {
"company": "_Test Company",
"reference_document": "Location",
"default_dimension": "Block 1",
"mandatory_for_bs": 1
})
dimension1.append(
"dimension_defaults",
{
"company": "_Test Company",
"reference_document": "Location",
"default_dimension": "Block 1",
"mandatory_for_bs": 1,
},
)
dimension1.insert()
dimension1.save()
@@ -107,6 +120,7 @@ def create_dimension():
dimension1.disabled = 0
dimension1.save()
def disable_dimension():
dimension1 = frappe.get_doc("Accounting Dimension", "Department")
dimension1.disabled = 1

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document

View File

@@ -3,12 +3,8 @@
frappe.ui.form.on('Accounting Dimension Filter', {
refresh: function(frm, cdt, cdn) {
if (frm.doc.accounting_dimension) {
frm.set_df_property('dimensions', 'label', frm.doc.accounting_dimension, cdn, 'dimension_value');
}
let help_content =
`<table class="table table-bordered" style="background-color: #f9f9f9;">
`<table class="table table-bordered" style="background-color: var(--scrollbar-track-color);">
<tr><td>
<p>
<i class="fa fa-hand-right"></i>
@@ -68,6 +64,7 @@ frappe.ui.form.on('Accounting Dimension Filter', {
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.refresh_field("dimensions");
frm.trigger('setup_filters');
},

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright, (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe import _, scrub
@@ -21,17 +19,27 @@ class AccountingDimensionFilter(Document):
WHERE d.name = a.parent
and d.name != %s
and d.accounting_dimension = %s
""", (self.name, self.accounting_dimension), as_dict=1)
""",
(self.name, self.accounting_dimension),
as_dict=1,
)
account_list = [d.account for d in accounts]
for account in self.get('accounts'):
for account in self.get("accounts"):
if account.applicable_on_account in account_list:
frappe.throw(_("Row {0}: {1} account already applied for Accounting Dimension {2}").format(
account.idx, frappe.bold(account.applicable_on_account), frappe.bold(self.accounting_dimension)))
frappe.throw(
_("Row {0}: {1} account already applied for Accounting Dimension {2}").format(
account.idx,
frappe.bold(account.applicable_on_account),
frappe.bold(self.accounting_dimension),
)
)
def get_dimension_filter_map():
filters = frappe.db.sql("""
filters = frappe.db.sql(
"""
SELECT
a.applicable_on_account, d.dimension_value, p.accounting_dimension,
p.allow_or_restrict, a.is_mandatory
@@ -42,22 +50,30 @@ def get_dimension_filter_map():
p.name = a.parent
AND p.disabled = 0
AND p.name = d.parent
""", as_dict=1)
""",
as_dict=1,
)
dimension_filter_map = {}
for f in filters:
f.fieldname = scrub(f.accounting_dimension)
build_map(dimension_filter_map, f.fieldname, f.applicable_on_account, f.dimension_value,
f.allow_or_restrict, f.is_mandatory)
build_map(
dimension_filter_map,
f.fieldname,
f.applicable_on_account,
f.dimension_value,
f.allow_or_restrict,
f.is_mandatory,
)
return dimension_filter_map
def build_map(map_object, dimension, account, filter_value, allow_or_restrict, is_mandatory):
map_object.setdefault((dimension, account), {
'allowed_dimensions': [],
'is_mandatory': is_mandatory,
'allow_or_restrict': allow_or_restrict
})
map_object[(dimension, account)]['allowed_dimensions'].append(filter_value)
map_object.setdefault(
(dimension, account),
{"allowed_dimensions": [], "is_mandatory": is_mandatory, "allow_or_restrict": allow_or_restrict},
)
map_object[(dimension, account)]["allowed_dimensions"].append(filter_value)

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest
@@ -14,7 +12,8 @@ from erpnext.accounts.doctype.accounting_dimension.test_accounting_dimension imp
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
from erpnext.exceptions import InvalidAccountDimensionError, MandatoryAccountDimensionError
test_dependencies = ['Location', 'Cost Center', 'Department']
test_dependencies = ["Location", "Cost Center", "Department"]
class TestAccountingDimensionFilter(unittest.TestCase):
def setUp(self):
@@ -24,9 +23,9 @@ class TestAccountingDimensionFilter(unittest.TestCase):
def test_allowed_dimension_validation(self):
si = create_sales_invoice(do_not_save=1)
si.items[0].cost_center = 'Main - _TC'
si.department = 'Accounts - _TC'
si.location = 'Block 1'
si.items[0].cost_center = "Main - _TC"
si.department = "Accounts - _TC"
si.location = "Block 1"
si.save()
self.assertRaises(InvalidAccountDimensionError, si.submit)
@@ -34,12 +33,12 @@ class TestAccountingDimensionFilter(unittest.TestCase):
def test_mandatory_dimension_validation(self):
si = create_sales_invoice(do_not_save=1)
si.department = ''
si.location = 'Block 1'
si.department = ""
si.location = "Block 1"
# Test with no department for Sales Account
si.items[0].department = ''
si.items[0].cost_center = '_Test Cost Center 2 - _TC'
si.items[0].department = ""
si.items[0].cost_center = "_Test Cost Center 2 - _TC"
si.save()
self.assertRaises(MandatoryAccountDimensionError, si.submit)
@@ -54,53 +53,54 @@ class TestAccountingDimensionFilter(unittest.TestCase):
if si.docstatus == 1:
si.cancel()
def create_accounting_dimension_filter():
if not frappe.db.get_value('Accounting Dimension Filter',
{'accounting_dimension': 'Cost Center'}):
frappe.get_doc({
'doctype': 'Accounting Dimension Filter',
'accounting_dimension': 'Cost Center',
'allow_or_restrict': 'Allow',
'company': '_Test Company',
'accounts': [{
'applicable_on_account': 'Sales - _TC',
}],
'dimensions': [{
'accounting_dimension': 'Cost Center',
'dimension_value': '_Test Cost Center 2 - _TC'
}]
}).insert()
if not frappe.db.get_value(
"Accounting Dimension Filter", {"accounting_dimension": "Cost Center"}
):
frappe.get_doc(
{
"doctype": "Accounting Dimension Filter",
"accounting_dimension": "Cost Center",
"allow_or_restrict": "Allow",
"company": "_Test Company",
"accounts": [
{
"applicable_on_account": "Sales - _TC",
}
],
"dimensions": [
{"accounting_dimension": "Cost Center", "dimension_value": "_Test Cost Center 2 - _TC"}
],
}
).insert()
else:
doc = frappe.get_doc('Accounting Dimension Filter', {'accounting_dimension': 'Cost Center'})
doc = frappe.get_doc("Accounting Dimension Filter", {"accounting_dimension": "Cost Center"})
doc.disabled = 0
doc.save()
if not frappe.db.get_value('Accounting Dimension Filter',
{'accounting_dimension': 'Department'}):
frappe.get_doc({
'doctype': 'Accounting Dimension Filter',
'accounting_dimension': 'Department',
'allow_or_restrict': 'Allow',
'company': '_Test Company',
'accounts': [{
'applicable_on_account': 'Sales - _TC',
'is_mandatory': 1
}],
'dimensions': [{
'accounting_dimension': 'Department',
'dimension_value': 'Accounts - _TC'
}]
}).insert()
if not frappe.db.get_value("Accounting Dimension Filter", {"accounting_dimension": "Department"}):
frappe.get_doc(
{
"doctype": "Accounting Dimension Filter",
"accounting_dimension": "Department",
"allow_or_restrict": "Allow",
"company": "_Test Company",
"accounts": [{"applicable_on_account": "Sales - _TC", "is_mandatory": 1}],
"dimensions": [{"accounting_dimension": "Department", "dimension_value": "Accounts - _TC"}],
}
).insert()
else:
doc = frappe.get_doc('Accounting Dimension Filter', {'accounting_dimension': 'Department'})
doc = frappe.get_doc("Accounting Dimension Filter", {"accounting_dimension": "Department"})
doc.disabled = 0
doc.save()
def disable_dimension_filter():
doc = frappe.get_doc('Accounting Dimension Filter', {'accounting_dimension': 'Cost Center'})
doc = frappe.get_doc("Accounting Dimension Filter", {"accounting_dimension": "Cost Center"})
doc.disabled = 1
doc.save()
doc = frappe.get_doc('Accounting Dimension Filter', {'accounting_dimension': 'Department'})
doc = frappe.get_doc("Accounting Dimension Filter", {"accounting_dimension": "Department"})
doc.disabled = 1
doc.save()

View File

@@ -1,15 +1,15 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.model.document import Document
class OverlapError(frappe.ValidationError): pass
class OverlapError(frappe.ValidationError):
pass
class AccountingPeriod(Document):
def validate(self):
@@ -19,11 +19,12 @@ class AccountingPeriod(Document):
self.bootstrap_doctypes_for_closing()
def autoname(self):
company_abbr = frappe.get_cached_value('Company', self.company, "abbr")
company_abbr = frappe.get_cached_value("Company", self.company, "abbr")
self.name = " - ".join([self.period_name, company_abbr])
def validate_overlap(self):
existing_accounting_period = frappe.db.sql("""select name from `tabAccounting Period`
existing_accounting_period = frappe.db.sql(
"""select name from `tabAccounting Period`
where (
(%(start_date)s between start_date and end_date)
or (%(end_date)s between start_date and end_date)
@@ -34,18 +35,29 @@ class AccountingPeriod(Document):
"start_date": self.start_date,
"end_date": self.end_date,
"name": self.name,
"company": self.company
}, as_dict=True)
"company": self.company,
},
as_dict=True,
)
if len(existing_accounting_period) > 0:
frappe.throw(_("Accounting Period overlaps with {0}")
.format(existing_accounting_period[0].get("name")), OverlapError)
frappe.throw(
_("Accounting Period overlaps with {0}").format(existing_accounting_period[0].get("name")),
OverlapError,
)
@frappe.whitelist()
def get_doctypes_for_closing(self):
docs_for_closing = []
doctypes = ["Sales Invoice", "Purchase Invoice", "Journal Entry", "Payroll Entry", \
"Bank Clearance", "Asset", "Stock Entry"]
doctypes = [
"Sales Invoice",
"Purchase Invoice",
"Journal Entry",
"Payroll Entry",
"Bank Clearance",
"Asset",
"Stock Entry",
]
closed_doctypes = [{"document_type": doctype, "closed": 1} for doctype in doctypes]
for closed_doctype in closed_doctypes:
docs_for_closing.append(closed_doctype)
@@ -55,7 +67,7 @@ class AccountingPeriod(Document):
def bootstrap_doctypes_for_closing(self):
if len(self.closed_documents) == 0:
for doctype_for_closing in self.get_doctypes_for_closing():
self.append('closed_documents', {
"document_type": doctype_for_closing.document_type,
"closed": doctype_for_closing.closed
})
self.append(
"closed_documents",
{"document_type": doctype_for_closing.document_type, "closed": doctype_for_closing.closed},
)

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest
@@ -12,29 +10,38 @@ from erpnext.accounts.doctype.accounting_period.accounting_period import Overlap
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
from erpnext.accounts.general_ledger import ClosedAccountingPeriod
test_dependencies = ['Item']
test_dependencies = ["Item"]
class TestAccountingPeriod(unittest.TestCase):
def test_overlap(self):
ap1 = create_accounting_period(start_date = "2018-04-01",
end_date = "2018-06-30", company = "Wind Power LLC")
ap1 = create_accounting_period(
start_date="2018-04-01", end_date="2018-06-30", company="Wind Power LLC"
)
ap1.save()
ap2 = create_accounting_period(start_date = "2018-06-30",
end_date = "2018-07-10", company = "Wind Power LLC", period_name = "Test Accounting Period 1")
ap2 = create_accounting_period(
start_date="2018-06-30",
end_date="2018-07-10",
company="Wind Power LLC",
period_name="Test Accounting Period 1",
)
self.assertRaises(OverlapError, ap2.save)
def test_accounting_period(self):
ap1 = create_accounting_period(period_name = "Test Accounting Period 2")
ap1 = create_accounting_period(period_name="Test Accounting Period 2")
ap1.save()
doc = create_sales_invoice(do_not_submit=1, cost_center="_Test Company - _TC", warehouse="Stores - _TC")
doc = create_sales_invoice(
do_not_submit=1, cost_center="_Test Company - _TC", warehouse="Stores - _TC"
)
self.assertRaises(ClosedAccountingPeriod, doc.submit)
def tearDown(self):
for d in frappe.get_all("Accounting Period"):
frappe.delete_doc("Accounting Period", d.name)
def create_accounting_period(**args):
args = frappe._dict(args)
@@ -43,8 +50,6 @@ def create_accounting_period(**args):
accounting_period.end_date = args.end_date or add_months(nowdate(), 1)
accounting_period.company = args.company or "_Test Company"
accounting_period.period_name = args.period_name or "_Test_Period_Name_1"
accounting_period.append("closed_documents", {
"document_type": 'Sales Invoice', "closed": 1
})
accounting_period.append("closed_documents", {"document_type": "Sales Invoice", "closed": 1})
return accounting_period

View File

@@ -19,6 +19,7 @@
"book_asset_depreciation_entry_automatically",
"unlink_advance_payment_on_cancelation_of_order",
"enable_common_party_accounting",
"allow_multi_currency_invoices_against_single_party_account",
"post_change_gl_entries",
"enable_discount_accounting",
"tax_settings_section",
@@ -276,14 +277,21 @@
"fieldname": "enable_common_party_accounting",
"fieldtype": "Check",
"label": "Enable Common Party Accounting"
}
},
{
"default": "0",
"description": "Enabling this will allow creation of multi-currency invoices against single party account in company currency",
"fieldname": "allow_multi_currency_invoices_against_single_party_account",
"fieldtype": "Check",
"label": "Allow multi-currency invoices against single party account"
}
],
"icon": "icon-cog",
"idx": 1,
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2021-10-11 17:42:36.427699",
"modified": "2022-07-11 13:37:50.605141",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Accounts Settings",

View File

@@ -3,7 +3,6 @@
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe import _
@@ -11,46 +10,116 @@ from frappe.custom.doctype.property_setter.property_setter import make_property_
from frappe.model.document import Document
from frappe.utils import cint
from erpnext.stock.utils import check_pending_reposting
class AccountsSettings(Document):
def on_update(self):
frappe.clear_cache()
def validate(self):
frappe.db.set_default("add_taxes_from_item_tax_template",
self.get("add_taxes_from_item_tax_template", 0))
frappe.db.set_default(
"add_taxes_from_item_tax_template", self.get("add_taxes_from_item_tax_template", 0)
)
frappe.db.set_default(
"enable_common_party_accounting", self.get("enable_common_party_accounting", 0)
)
self.validate_stale_days()
self.enable_payment_schedule_in_print()
self.toggle_discount_accounting_fields()
self.validate_pending_reposts()
def validate_stale_days(self):
if not self.allow_stale and cint(self.stale_days) <= 0:
frappe.msgprint(
_("Stale Days should start from 1."), title='Error', indicator='red',
raise_exception=1)
_("Stale Days should start from 1."), title="Error", indicator="red", raise_exception=1
)
def enable_payment_schedule_in_print(self):
show_in_print = cint(self.show_payment_schedule_in_print)
for doctype in ("Sales Order", "Sales Invoice", "Purchase Order", "Purchase Invoice"):
make_property_setter(doctype, "due_date", "print_hide", show_in_print, "Check", validate_fields_for_doctype=False)
make_property_setter(doctype, "payment_schedule", "print_hide", 0 if show_in_print else 1, "Check", validate_fields_for_doctype=False)
make_property_setter(
doctype, "due_date", "print_hide", show_in_print, "Check", validate_fields_for_doctype=False
)
make_property_setter(
doctype,
"payment_schedule",
"print_hide",
0 if show_in_print else 1,
"Check",
validate_fields_for_doctype=False,
)
def toggle_discount_accounting_fields(self):
enable_discount_accounting = cint(self.enable_discount_accounting)
for doctype in ["Sales Invoice Item", "Purchase Invoice Item"]:
make_property_setter(doctype, "discount_account", "hidden", not(enable_discount_accounting), "Check", validate_fields_for_doctype=False)
make_property_setter(
doctype,
"discount_account",
"hidden",
not (enable_discount_accounting),
"Check",
validate_fields_for_doctype=False,
)
if enable_discount_accounting:
make_property_setter(doctype, "discount_account", "mandatory_depends_on", "eval: doc.discount_amount", "Code", validate_fields_for_doctype=False)
make_property_setter(
doctype,
"discount_account",
"mandatory_depends_on",
"eval: doc.discount_amount",
"Code",
validate_fields_for_doctype=False,
)
else:
make_property_setter(doctype, "discount_account", "mandatory_depends_on", "", "Code", validate_fields_for_doctype=False)
make_property_setter(
doctype,
"discount_account",
"mandatory_depends_on",
"",
"Code",
validate_fields_for_doctype=False,
)
for doctype in ["Sales Invoice", "Purchase Invoice"]:
make_property_setter(doctype, "additional_discount_account", "hidden", not(enable_discount_accounting), "Check", validate_fields_for_doctype=False)
make_property_setter(
doctype,
"additional_discount_account",
"hidden",
not (enable_discount_accounting),
"Check",
validate_fields_for_doctype=False,
)
if enable_discount_accounting:
make_property_setter(doctype, "additional_discount_account", "mandatory_depends_on", "eval: doc.discount_amount", "Code", validate_fields_for_doctype=False)
make_property_setter(
doctype,
"additional_discount_account",
"mandatory_depends_on",
"eval: doc.discount_amount",
"Code",
validate_fields_for_doctype=False,
)
else:
make_property_setter(doctype, "additional_discount_account", "mandatory_depends_on", "", "Code", validate_fields_for_doctype=False)
make_property_setter(
doctype,
"additional_discount_account",
"mandatory_depends_on",
"",
"Code",
validate_fields_for_doctype=False,
)
make_property_setter("Item", "default_discount_account", "hidden", not(enable_discount_accounting), "Check", validate_fields_for_doctype=False)
make_property_setter(
"Item",
"default_discount_account",
"hidden",
not (enable_discount_accounting),
"Check",
validate_fields_for_doctype=False,
)
def validate_pending_reposts(self):
if self.acc_frozen_upto:
check_pending_reposting(self.acc_frozen_upto)

View File

@@ -1,5 +1,3 @@
from __future__ import unicode_literals
import unittest
import frappe
@@ -9,12 +7,12 @@ class TestAccountsSettings(unittest.TestCase):
def tearDown(self):
# Just in case `save` method succeeds, we need to take things back to default so that other tests
# don't break
cur_settings = frappe.get_doc('Accounts Settings', 'Accounts Settings')
cur_settings = frappe.get_doc("Accounts Settings", "Accounts Settings")
cur_settings.allow_stale = 1
cur_settings.save()
def test_stale_days(self):
cur_settings = frappe.get_doc('Accounts Settings', 'Accounts Settings')
cur_settings = frappe.get_doc("Accounts Settings", "Accounts Settings")
cur_settings.allow_stale = 0
cur_settings.stale_days = 0

View File

@@ -0,0 +1,56 @@
{
"actions": [],
"allow_rename": 1,
"creation": "2021-11-25 10:24:39.836195",
"doctype": "DocType",
"engine": "InnoDB",
"field_order": [
"reference_type",
"reference_name",
"reference_detail",
"account_head",
"allocated_amount"
],
"fields": [
{
"fieldname": "reference_type",
"fieldtype": "Link",
"label": "Reference Type",
"options": "DocType"
},
{
"fieldname": "reference_name",
"fieldtype": "Dynamic Link",
"label": "Reference Name",
"options": "reference_type"
},
{
"fieldname": "reference_detail",
"fieldtype": "Data",
"label": "Reference Detail"
},
{
"fieldname": "account_head",
"fieldtype": "Link",
"label": "Account Head",
"options": "Account"
},
{
"fieldname": "allocated_amount",
"fieldtype": "Currency",
"label": "Allocated Amount",
"options": "party_account_currency"
}
],
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
"modified": "2021-11-25 10:27:51.712286",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Advance Tax",
"owner": "Administrator",
"permissions": [],
"sort_field": "modified",
"sort_order": "DESC"
}

View File

@@ -0,0 +1,9 @@
# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
# import frappe
from frappe.model.document import Document
class AdvanceTax(Document):
pass

View File

@@ -25,8 +25,7 @@
"allocated_amount",
"column_break_13",
"base_tax_amount",
"base_total",
"base_allocated_amount"
"base_total"
],
"fields": [
{
@@ -168,12 +167,6 @@
"label": "Allocated Amount",
"options": "currency"
},
{
"fieldname": "base_allocated_amount",
"fieldtype": "Currency",
"label": "Allocated Amount (Company Currency)",
"options": "Company:company:default_currency"
},
{
"fetch_from": "account_head.account_currency",
"fieldname": "currency",
@@ -186,7 +179,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
"modified": "2021-06-09 11:46:58.373170",
"modified": "2021-11-25 11:10:10.945027",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Advance Taxes and Charges",

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
from frappe.model.document import Document

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
from frappe.contacts.address_and_contact import (
delete_contact_and_address,
@@ -17,4 +15,4 @@ class Bank(Document):
load_address_and_contact(self)
def on_trash(self):
delete_contact_and_address('Bank', self.name)
delete_contact_and_address("Bank", self.name)

View File

@@ -1,15 +1,8 @@
from __future__ import unicode_literals
from frappe import _
def get_data():
return {
'fieldname': 'bank',
'transactions': [
{
'label': _('Bank Details'),
'items': ['Bank Account', 'Bank Guarantee']
}
]
"fieldname": "bank",
"transactions": [{"label": _("Bank Details"), "items": ["Bank Account", "Bank Guarantee"]}],
}

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe import _
@@ -22,7 +20,7 @@ class BankAccount(Document):
self.name = self.account_name + " - " + self.bank
def on_trash(self):
delete_contact_and_address('BankAccount', self.name)
delete_contact_and_address("BankAccount", self.name)
def validate(self):
self.validate_company()
@@ -33,9 +31,9 @@ class BankAccount(Document):
frappe.throw(_("Company is manadatory for company account"))
def validate_iban(self):
'''
"""
Algorithm: https://en.wikipedia.org/wiki/International_Bank_Account_Number#Validating_the_IBAN
'''
"""
# IBAN field is optional
if not self.iban:
return
@@ -45,7 +43,7 @@ class BankAccount(Document):
return str(9 + ord(c) - 64)
# remove whitespaces, upper case to get the right number from ord()
iban = ''.join(self.iban.split(' ')).upper()
iban = "".join(self.iban.split(" ")).upper()
# Move country code and checksum from the start to the end
flipped = iban[4:] + iban[:4]
@@ -54,12 +52,12 @@ class BankAccount(Document):
encoded = [encode_char(c) if ord(c) >= 65 and ord(c) <= 90 else c for c in flipped]
try:
to_check = int(''.join(encoded))
to_check = int("".join(encoded))
except ValueError:
frappe.throw(_('IBAN is not valid'))
frappe.throw(_("IBAN is not valid"))
if to_check % 97 != 1:
frappe.throw(_('IBAN is not valid'))
frappe.throw(_("IBAN is not valid"))
@frappe.whitelist()
@@ -71,12 +69,14 @@ def make_bank_account(doctype, docname):
return doc
@frappe.whitelist()
def get_party_bank_account(party_type, party):
return frappe.db.get_value(party_type,
party, 'default_bank_account')
return frappe.db.get_value(party_type, party, "default_bank_account")
@frappe.whitelist()
def get_bank_account_details(bank_account):
return frappe.db.get_value("Bank Account",
bank_account, ['account', 'bank', 'bank_account_no'], as_dict=1)
return frappe.db.get_value(
"Bank Account", bank_account, ["account", "bank", "bank_account_no"], as_dict=1
)

View File

@@ -1,29 +1,20 @@
from __future__ import unicode_literals
from frappe import _
def get_data():
return {
'fieldname': 'bank_account',
'non_standard_fieldnames': {
'Customer': 'default_bank_account',
'Supplier': 'default_bank_account',
"fieldname": "bank_account",
"non_standard_fieldnames": {
"Customer": "default_bank_account",
"Supplier": "default_bank_account",
},
'transactions': [
"transactions": [
{
'label': _('Payments'),
'items': ['Payment Entry', 'Payment Request', 'Payment Order', 'Payroll Entry']
"label": _("Payments"),
"items": ["Payment Entry", "Payment Request", "Payment Order", "Payroll Entry"],
},
{
'label': _('Party'),
'items': ['Customer', 'Supplier']
},
{
'items': ['Bank Guarantee']
},
{
'items': ['Journal Entry']
}
]
{"label": _("Party"), "items": ["Customer", "Supplier"]},
{"items": ["Bank Guarantee"]},
{"items": ["Journal Entry"]},
],
}

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest
@@ -10,28 +8,28 @@ from frappe import ValidationError
# test_records = frappe.get_test_records('Bank Account')
class TestBankAccount(unittest.TestCase):
class TestBankAccount(unittest.TestCase):
def test_validate_iban(self):
valid_ibans = [
'GB82 WEST 1234 5698 7654 32',
'DE91 1000 0000 0123 4567 89',
'FR76 3000 6000 0112 3456 7890 189'
"GB82 WEST 1234 5698 7654 32",
"DE91 1000 0000 0123 4567 89",
"FR76 3000 6000 0112 3456 7890 189",
]
invalid_ibans = [
# wrong checksum (3rd place)
'GB72 WEST 1234 5698 7654 32',
'DE81 1000 0000 0123 4567 89',
'FR66 3000 6000 0112 3456 7890 189'
"GB72 WEST 1234 5698 7654 32",
"DE81 1000 0000 0123 4567 89",
"FR66 3000 6000 0112 3456 7890 189",
]
bank_account = frappe.get_doc({'doctype':'Bank Account'})
bank_account = frappe.get_doc({"doctype": "Bank Account"})
try:
bank_account.validate_iban()
except AttributeError:
msg = 'BankAccount.validate_iban() failed for empty IBAN'
msg = "BankAccount.validate_iban() failed for empty IBAN"
self.fail(msg=msg)
for iban in valid_ibans:
@@ -39,11 +37,11 @@ class TestBankAccount(unittest.TestCase):
try:
bank_account.validate_iban()
except ValidationError:
msg = 'BankAccount.validate_iban() failed for valid IBAN {}'.format(iban)
msg = "BankAccount.validate_iban() failed for valid IBAN {}".format(iban)
self.fail(msg=msg)
for not_iban in invalid_ibans:
bank_account.iban = not_iban
msg = 'BankAccount.validate_iban() accepted invalid IBAN {}'.format(not_iban)
msg = "BankAccount.validate_iban() accepted invalid IBAN {}".format(not_iban)
with self.assertRaises(ValidationError, msg=msg):
bank_account.validate_iban()

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
from frappe.model.document import Document

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest

View File

@@ -1,16 +1,17 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
from frappe import _, msgprint
from frappe.model.document import Document
from frappe.utils import flt, fmt_money, getdate, nowdate
from frappe.query_builder.custom import ConstantColumn
from frappe.utils import flt, fmt_money, getdate
import erpnext
form_grid_templates = {"journal_entries": "templates/form_grid/bank_reconciliation_grid.html"}
form_grid_templates = {
"journal_entries": "templates/form_grid/bank_reconciliation_grid.html"
}
class BankClearance(Document):
@frappe.whitelist()
@@ -25,7 +26,8 @@ class BankClearance(Document):
if not self.include_reconciled_entries:
condition = "and (clearance_date IS NULL or clearance_date='0000-00-00')"
journal_entries = frappe.db.sql("""
journal_entries = frappe.db.sql(
"""
select
"Journal Entry" as payment_document, t1.name as payment_entry,
t1.cheque_no as cheque_number, t1.cheque_date,
@@ -39,12 +41,18 @@ class BankClearance(Document):
and ifnull(t1.is_opening, 'No') = 'No' {condition}
group by t2.account, t1.name
order by t1.posting_date ASC, t1.name DESC
""".format(condition=condition), {"account": self.account, "from": self.from_date, "to": self.to_date}, as_dict=1)
""".format(
condition=condition
),
{"account": self.account, "from": self.from_date, "to": self.to_date},
as_dict=1,
)
if self.bank_account:
condition += 'and bank_account = %(bank_account)s'
condition += "and bank_account = %(bank_account)s"
payment_entries = frappe.db.sql("""
payment_entries = frappe.db.sql(
"""
select
"Payment Entry" as payment_document, name as payment_entry,
reference_no as cheque_number, reference_date as cheque_date,
@@ -59,12 +67,69 @@ class BankClearance(Document):
{condition}
order by
posting_date ASC, name DESC
""".format(condition=condition), {"account": self.account, "from":self.from_date,
"to": self.to_date, "bank_account": self.bank_account}, as_dict=1)
""".format(
condition=condition
),
{
"account": self.account,
"from": self.from_date,
"to": self.to_date,
"bank_account": self.bank_account,
},
as_dict=1,
)
loan_disbursement = frappe.qb.DocType("Loan Disbursement")
loan_disbursements = (
frappe.qb.from_(loan_disbursement)
.select(
ConstantColumn("Loan Disbursement").as_("payment_document"),
loan_disbursement.name.as_("payment_entry"),
loan_disbursement.disbursed_amount.as_("credit"),
ConstantColumn(0).as_("debit"),
loan_disbursement.reference_number.as_("cheque_number"),
loan_disbursement.reference_date.as_("cheque_date"),
loan_disbursement.disbursement_date.as_("posting_date"),
loan_disbursement.applicant.as_("against_account"),
)
.where(loan_disbursement.docstatus == 1)
.where(loan_disbursement.disbursement_date >= self.from_date)
.where(loan_disbursement.disbursement_date <= self.to_date)
.where(loan_disbursement.clearance_date.isnull())
.where(loan_disbursement.disbursement_account.isin([self.bank_account, self.account]))
.orderby(loan_disbursement.disbursement_date)
.orderby(loan_disbursement.name, frappe.qb.desc)
).run(as_dict=1)
loan_repayment = frappe.qb.DocType("Loan Repayment")
loan_repayments = (
frappe.qb.from_(loan_repayment)
.select(
ConstantColumn("Loan Repayment").as_("payment_document"),
loan_repayment.name.as_("payment_entry"),
loan_repayment.amount_paid.as_("debit"),
ConstantColumn(0).as_("credit"),
loan_repayment.reference_number.as_("cheque_number"),
loan_repayment.reference_date.as_("cheque_date"),
loan_repayment.applicant.as_("against_account"),
loan_repayment.posting_date,
)
.where(loan_repayment.docstatus == 1)
.where(loan_repayment.clearance_date.isnull())
.where(loan_repayment.repay_from_salary == 0)
.where(loan_repayment.posting_date >= self.from_date)
.where(loan_repayment.posting_date <= self.to_date)
.where(loan_repayment.payment_account.isin([self.bank_account, self.account]))
.orderby(loan_repayment.posting_date)
.orderby(loan_repayment.name, frappe.qb.desc)
).run(as_dict=1)
pos_sales_invoices, pos_purchase_invoices = [], []
if self.include_pos_transactions:
pos_sales_invoices = frappe.db.sql("""
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,
@@ -75,9 +140,13 @@ class BankClearance(Document):
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":self.account, "from":self.from_date, "to":self.to_date}, as_dict=1)
""",
{"account": self.account, "from": self.from_date, "to": self.to_date},
as_dict=1,
)
pos_purchase_invoices = frappe.db.sql("""
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,
@@ -88,21 +157,36 @@ class BankClearance(Document):
and pi.posting_date >= %(from)s and pi.posting_date <= %(to)s
order by
pi.posting_date ASC, pi.name DESC
""", {"account": self.account, "from": self.from_date, "to": self.to_date}, as_dict=1)
""",
{"account": self.account, "from": self.from_date, "to": self.to_date},
as_dict=1,
)
entries = sorted(list(payment_entries) + list(journal_entries + list(pos_sales_invoices) + list(pos_purchase_invoices)),
key=lambda k: k['posting_date'] or getdate(nowdate()))
entries = sorted(
list(payment_entries)
+ list(journal_entries)
+ list(pos_sales_invoices)
+ list(pos_purchase_invoices)
+ list(loan_disbursements)
+ list(loan_repayments),
key=lambda k: getdate(k["posting_date"]),
)
self.set('payment_entries', [])
self.set("payment_entries", [])
self.total_amount = 0.0
default_currency = erpnext.get_default_currency()
for d in entries:
row = self.append('payment_entries', {})
row = self.append("payment_entries", {})
amount = flt(d.get('debit', 0)) - flt(d.get('credit', 0))
amount = flt(d.get("debit", 0)) - flt(d.get("credit", 0))
if not d.get("account_currency"):
d.account_currency = default_currency
formatted_amount = fmt_money(abs(amount), 2, d.account_currency)
d.amount = formatted_amount + " " + (_("Dr") if amount > 0 else _("Cr"))
d.posting_date = getdate(d.posting_date)
d.pop("credit")
d.pop("debit")
@@ -113,21 +197,24 @@ class BankClearance(Document):
@frappe.whitelist()
def update_clearance_date(self):
clearance_date_updated = False
for d in self.get('payment_entries'):
for d in self.get("payment_entries"):
if d.clearance_date:
if not d.payment_document:
frappe.throw(_("Row #{0}: Payment document is required to complete the transaction"))
if d.cheque_date and getdate(d.clearance_date) < getdate(d.cheque_date):
frappe.throw(_("Row #{0}: Clearance date {1} cannot be before Cheque Date {2}")
.format(d.idx, d.clearance_date, d.cheque_date))
frappe.throw(
_("Row #{0}: Clearance date {1} cannot be before Cheque Date {2}").format(
d.idx, d.clearance_date, d.cheque_date
)
)
if d.clearance_date or self.include_reconciled_entries:
if not d.clearance_date:
d.clearance_date = None
payment_entry = frappe.get_doc(d.payment_document, d.payment_entry)
payment_entry.db_set('clearance_date', d.clearance_date)
payment_entry.db_set("clearance_date", d.clearance_date)
clearance_date_updated = True

View File

@@ -1,11 +1,96 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
import frappe
from frappe.utils import add_months, getdate
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
from erpnext.loan_management.doctype.loan.test_loan import (
create_loan,
create_loan_accounts,
create_loan_type,
create_repayment_entry,
make_loan_disbursement_entry,
)
class TestBankClearance(unittest.TestCase):
pass
@classmethod
def setUpClass(cls):
make_bank_account()
create_loan_accounts()
create_loan_masters()
add_transactions()
# Basic test case to test if bank clearance tool doesn't break
# Detailed test can be added later
def test_bank_clearance(self):
bank_clearance = frappe.get_doc("Bank Clearance")
bank_clearance.account = "_Test Bank Clearance - _TC"
bank_clearance.from_date = add_months(getdate(), -1)
bank_clearance.to_date = getdate()
bank_clearance.get_payment_entries()
self.assertEqual(len(bank_clearance.payment_entries), 3)
def make_bank_account():
if not frappe.db.get_value("Account", "_Test Bank Clearance - _TC"):
frappe.get_doc(
{
"doctype": "Account",
"account_type": "Bank",
"account_name": "_Test Bank Clearance",
"company": "_Test Company",
"parent_account": "Bank Accounts - _TC",
}
).insert()
def create_loan_masters():
create_loan_type(
"Clearance Loan",
2000000,
13.5,
25,
0,
5,
"Cash",
"_Test Bank Clearance - _TC",
"_Test Bank Clearance - _TC",
"Loan Account - _TC",
"Interest Income Account - _TC",
"Penalty Income Account - _TC",
)
def add_transactions():
make_payment_entry()
make_loan()
def make_loan():
loan = create_loan(
"_Test Customer",
"Clearance Loan",
280000,
"Repay Over Number of Periods",
20,
applicant_type="Customer",
)
loan.submit()
make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=getdate())
repayment_entry = create_repayment_entry(loan.name, "_Test Customer", getdate(), loan.loan_amount)
repayment_entry.save()
repayment_entry.submit()
def make_payment_entry():
pi = make_purchase_invoice(supplier="_Test Supplier", qty=1, rate=690)
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank Clearance - _TC")
pe.reference_no = "Conrad Oct 18"
pe.reference_date = "2018-10-24"
pe.insert()
pe.submit()

View File

@@ -1 +0,0 @@
from __future__ import unicode_literals

View File

@@ -1,7 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
from frappe.model.document import Document

View File

@@ -43,20 +43,13 @@ frappe.ui.form.on('Bank Guarantee', {
reference_docname: function(frm) {
if (frm.doc.reference_docname && frm.doc.reference_doctype) {
let fields_to_fetch = ["grand_total"];
let party_field = frm.doc.reference_doctype == "Sales Order" ? "customer" : "supplier";
if (frm.doc.reference_doctype == "Sales Order") {
fields_to_fetch.push("project");
}
fields_to_fetch.push(party_field);
frappe.call({
method: "erpnext.accounts.doctype.bank_guarantee.bank_guarantee.get_vouchar_detials",
method: "erpnext.accounts.doctype.bank_guarantee.bank_guarantee.get_voucher_details",
args: {
"column_list": fields_to_fetch,
"doctype": frm.doc.reference_doctype,
"docname": frm.doc.reference_docname
"bank_guarantee_type": frm.doc.bg_type,
"reference_name": frm.doc.reference_docname
},
callback: function(r) {
if (r.message) {

View File

@@ -1,14 +1,9 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import json
import frappe
from frappe import _
from frappe.desk.search import sanitize_searchfield
from frappe.model.document import Document
@@ -25,10 +20,20 @@ class BankGuarantee(Document):
if not self.bank:
frappe.throw(_("Enter the name of the bank or lending institution before submittting."))
@frappe.whitelist()
def get_vouchar_detials(column_list, doctype, docname):
column_list = json.loads(column_list)
for col in column_list:
sanitize_searchfield(col)
return frappe.db.sql(''' select {columns} from `tab{doctype}` where name=%s'''
.format(columns=", ".join(column_list), doctype=doctype), docname, as_dict=1)[0]
def get_voucher_details(bank_guarantee_type: str, reference_name: str):
if not isinstance(reference_name, str):
raise TypeError("reference_name must be a string")
fields_to_fetch = ["grand_total"]
if bank_guarantee_type == "Receiving":
doctype = "Sales Order"
fields_to_fetch.append("customer")
fields_to_fetch.append("project")
else:
doctype = "Purchase Order"
fields_to_fetch.append("supplier")
return frappe.db.get_value(doctype, reference_name, fields_to_fetch, as_dict=True)

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest

View File

@@ -7,13 +7,17 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
frm.set_query("bank_account", function () {
return {
filters: {
company: ["in", frm.doc.company],
company: frm.doc.company,
'is_company_account': 1
},
};
});
},
onload: function (frm) {
frm.trigger('bank_account');
},
refresh: function (frm) {
frappe.require("assets/js/bank-reconciliation-tool.min.js", () =>
frm.trigger("make_reconciliation_tool")
@@ -51,7 +55,7 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
bank_account: function (frm) {
frappe.db.get_value(
"Bank Account",
frm.bank_account,
frm.doc.bank_account,
"account",
(r) => {
frappe.db.get_value(
@@ -60,6 +64,7 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
"account_currency",
(r) => {
frm.currency = r.account_currency;
frm.trigger("render_chart");
}
);
}
@@ -124,7 +129,7 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
}
},
render_chart(frm) {
render_chart: frappe.utils.debounce((frm) => {
frm.cards_manager = new erpnext.accounts.bank_reconciliation.NumberCardManager(
{
$reconciliation_tool_cards: frm.get_field(
@@ -136,7 +141,7 @@ frappe.ui.form.on("Bank Reconciliation Tool", {
currency: frm.currency,
}
);
},
}, 500),
render(frm) {
if (frm.doc.bank_account) {

View File

@@ -1,14 +1,13 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import json
import frappe
from frappe import _
from frappe.model.document import Document
from frappe.query_builder.custom import ConstantColumn
from frappe.utils import flt
from erpnext import get_company_currency
@@ -23,48 +22,63 @@ from erpnext.accounts.utils import get_balance_on
class BankReconciliationTool(Document):
pass
@frappe.whitelist()
def get_bank_transactions(bank_account, from_date = None, to_date = None):
def get_bank_transactions(bank_account, from_date=None, to_date=None):
# returns bank transactions for a bank account
filters = []
filters.append(['bank_account', '=', bank_account])
filters.append(['docstatus', '=', 1])
filters.append(['unallocated_amount', '>', 0])
filters.append(["bank_account", "=", bank_account])
filters.append(["docstatus", "=", 1])
filters.append(["unallocated_amount", ">", 0])
if to_date:
filters.append(['date', '<=', to_date])
filters.append(["date", "<=", to_date])
if from_date:
filters.append(['date', '>=', from_date])
filters.append(["date", ">=", from_date])
transactions = frappe.get_all(
'Bank Transaction',
fields = ['date', 'deposit', 'withdrawal', 'currency',
'description', 'name', 'bank_account', 'company',
'unallocated_amount', 'reference_number', 'party_type', 'party'],
filters = filters
"Bank Transaction",
fields=[
"date",
"deposit",
"withdrawal",
"currency",
"description",
"name",
"bank_account",
"company",
"unallocated_amount",
"reference_number",
"party_type",
"party",
],
filters=filters,
)
return transactions
@frappe.whitelist()
def get_account_balance(bank_account, till_date):
# returns account balance till the specified date
account = frappe.db.get_value('Bank Account', bank_account, 'account')
filters = frappe._dict({
"account": account,
"report_date": till_date,
"include_pos_transactions": 1
})
account = frappe.db.get_value("Bank Account", bank_account, "account")
filters = frappe._dict(
{"account": account, "report_date": till_date, "include_pos_transactions": 1}
)
data = get_entries(filters)
balance_as_per_system = get_balance_on(filters["account"], filters["report_date"])
total_debit, total_credit = 0,0
total_debit, total_credit = 0, 0
for d in data:
total_debit += flt(d.debit)
total_credit += flt(d.credit)
amounts_not_reflected_in_system = get_amounts_not_reflected_in_system(filters)
bank_bal = flt(balance_as_per_system) - flt(total_debit) + flt(total_credit) \
bank_bal = (
flt(balance_as_per_system)
- flt(total_debit)
+ flt(total_credit)
+ amounts_not_reflected_in_system
)
return bank_bal
@@ -77,71 +91,94 @@ def update_bank_transaction(bank_transaction_name, reference_number, party_type=
bank_transaction.party_type = party_type
bank_transaction.party = party
bank_transaction.save()
return frappe.db.get_all('Bank Transaction',
filters={
'name': bank_transaction_name
},
fields=['date', 'deposit', 'withdrawal', 'currency',
'description', 'name', 'bank_account', 'company',
'unallocated_amount', 'reference_number',
'party_type', 'party'],
return frappe.db.get_all(
"Bank Transaction",
filters={"name": bank_transaction_name},
fields=[
"date",
"deposit",
"withdrawal",
"currency",
"description",
"name",
"bank_account",
"company",
"unallocated_amount",
"reference_number",
"party_type",
"party",
],
)[0]
@frappe.whitelist()
def create_journal_entry_bts( bank_transaction_name, reference_number=None, reference_date=None, posting_date=None, entry_type=None,
second_account=None, mode_of_payment=None, party_type=None, party=None, allow_edit=None):
def create_journal_entry_bts(
bank_transaction_name,
reference_number=None,
reference_date=None,
posting_date=None,
entry_type=None,
second_account=None,
mode_of_payment=None,
party_type=None,
party=None,
allow_edit=None,
):
# Create a new journal entry based on the bank transaction
bank_transaction = frappe.db.get_values(
"Bank Transaction", bank_transaction_name,
fieldname=["name", "deposit", "withdrawal", "bank_account"] ,
as_dict=True
"Bank Transaction",
bank_transaction_name,
fieldname=["name", "deposit", "withdrawal", "bank_account"],
as_dict=True,
)[0]
company_account = frappe.get_value("Bank Account", bank_transaction.bank_account, "account")
account_type = frappe.db.get_value("Account", second_account, "account_type")
if account_type in ["Receivable", "Payable"]:
if not (party_type and party):
frappe.throw(_("Party Type and Party is required for Receivable / Payable account {0}").format( second_account))
frappe.throw(
_("Party Type and Party is required for Receivable / Payable account {0}").format(
second_account
)
)
accounts = []
# Multi Currency?
accounts.append({
accounts.append(
{
"account": second_account,
"credit_in_account_currency": bank_transaction.deposit
if bank_transaction.deposit > 0
else 0,
"debit_in_account_currency":bank_transaction.withdrawal
if bank_transaction.withdrawal > 0
else 0,
"party_type":party_type,
"party":party,
})
"credit_in_account_currency": bank_transaction.deposit if bank_transaction.deposit > 0 else 0,
"debit_in_account_currency": bank_transaction.withdrawal
if bank_transaction.withdrawal > 0
else 0,
"party_type": party_type,
"party": party,
}
)
accounts.append({
accounts.append(
{
"account": company_account,
"bank_account": bank_transaction.bank_account,
"credit_in_account_currency": bank_transaction.withdrawal
if bank_transaction.withdrawal > 0
else 0,
"debit_in_account_currency":bank_transaction.deposit
if bank_transaction.deposit > 0
else 0,
})
if bank_transaction.withdrawal > 0
else 0,
"debit_in_account_currency": bank_transaction.deposit if bank_transaction.deposit > 0 else 0,
}
)
company = frappe.get_value("Account", company_account, "company")
journal_entry_dict = {
"voucher_type" : entry_type,
"company" : company,
"posting_date" : posting_date,
"cheque_date" : reference_date,
"cheque_no" : reference_number,
"mode_of_payment" : mode_of_payment
"voucher_type": entry_type,
"company": company,
"posting_date": posting_date,
"cheque_date": reference_date,
"cheque_no": reference_number,
"mode_of_payment": mode_of_payment,
}
journal_entry = frappe.new_doc('Journal Entry')
journal_entry = frappe.new_doc("Journal Entry")
journal_entry.update(journal_entry_dict)
journal_entry.set("accounts", accounts)
if allow_edit:
return journal_entry
@@ -153,21 +190,32 @@ def create_journal_entry_bts( bank_transaction_name, reference_number=None, refe
else:
paid_amount = bank_transaction.withdrawal
vouchers = json.dumps([{
"payment_doctype":"Journal Entry",
"payment_name":journal_entry.name,
"amount":paid_amount}])
vouchers = json.dumps(
[{"payment_doctype": "Journal Entry", "payment_name": journal_entry.name, "amount": paid_amount}]
)
return reconcile_vouchers(bank_transaction.name, vouchers)
@frappe.whitelist()
def create_payment_entry_bts( bank_transaction_name, reference_number=None, reference_date=None, party_type=None, party=None, posting_date=None,
mode_of_payment=None, project=None, cost_center=None, allow_edit=None):
def create_payment_entry_bts(
bank_transaction_name,
reference_number=None,
reference_date=None,
party_type=None,
party=None,
posting_date=None,
mode_of_payment=None,
project=None,
cost_center=None,
allow_edit=None,
):
# Create a new payment entry based on the bank transaction
bank_transaction = frappe.db.get_values(
"Bank Transaction", bank_transaction_name,
fieldname=["name", "unallocated_amount", "deposit", "bank_account"] ,
as_dict=True
"Bank Transaction",
bank_transaction_name,
fieldname=["name", "unallocated_amount", "deposit", "bank_account"],
as_dict=True,
)[0]
paid_amount = bank_transaction.unallocated_amount
payment_type = "Receive" if bank_transaction.deposit > 0 else "Pay"
@@ -175,27 +223,26 @@ def create_payment_entry_bts( bank_transaction_name, reference_number=None, refe
company_account = frappe.get_value("Bank Account", bank_transaction.bank_account, "account")
company = frappe.get_value("Account", company_account, "company")
payment_entry_dict = {
"company" : company,
"payment_type" : payment_type,
"reference_no" : reference_number,
"reference_date" : reference_date,
"party_type" : party_type,
"party" : party,
"posting_date" : posting_date,
"company": company,
"payment_type": payment_type,
"reference_no": reference_number,
"reference_date": reference_date,
"party_type": party_type,
"party": party,
"posting_date": posting_date,
"paid_amount": paid_amount,
"received_amount": paid_amount
"received_amount": paid_amount,
}
payment_entry = frappe.new_doc("Payment Entry")
payment_entry.update(payment_entry_dict)
if mode_of_payment:
payment_entry.mode_of_payment = mode_of_payment
payment_entry.mode_of_payment = mode_of_payment
if project:
payment_entry.project = project
payment_entry.project = project
if cost_center:
payment_entry.cost_center = cost_center
payment_entry.cost_center = cost_center
if payment_type == "Receive":
payment_entry.paid_to = company_account
else:
@@ -209,78 +256,111 @@ def create_payment_entry_bts( bank_transaction_name, reference_number=None, refe
payment_entry.insert()
payment_entry.submit()
vouchers = json.dumps([{
"payment_doctype":"Payment Entry",
"payment_name":payment_entry.name,
"amount":paid_amount}])
vouchers = json.dumps(
[{"payment_doctype": "Payment Entry", "payment_name": payment_entry.name, "amount": paid_amount}]
)
return reconcile_vouchers(bank_transaction.name, vouchers)
@frappe.whitelist()
def reconcile_vouchers(bank_transaction_name, vouchers):
# updated clear date of all the vouchers based on the bank transaction
vouchers = json.loads(vouchers)
transaction = frappe.get_doc("Bank Transaction", bank_transaction_name)
company_account = frappe.db.get_value("Bank Account", transaction.bank_account, "account")
if transaction.unallocated_amount == 0:
frappe.throw(_("This bank transaction is already fully reconciled"))
total_amount = 0
for voucher in vouchers:
voucher['payment_entry'] = frappe.get_doc(voucher['payment_doctype'], voucher['payment_name'])
total_amount += get_paid_amount(frappe._dict({
'payment_document': voucher['payment_doctype'],
'payment_entry': voucher['payment_name'],
}), transaction.currency)
voucher["payment_entry"] = frappe.get_doc(voucher["payment_doctype"], voucher["payment_name"])
total_amount += get_paid_amount(
frappe._dict(
{
"payment_document": voucher["payment_doctype"],
"payment_entry": voucher["payment_name"],
}
),
transaction.currency,
company_account,
)
if total_amount > transaction.unallocated_amount:
frappe.throw(_("The Sum Total of Amounts of All Selected Vouchers Should be Less than the Unallocated Amount of the Bank Transaction"))
frappe.throw(
_(
"The sum total of amounts of all selected vouchers should be less than the unallocated amount of the bank transaction"
)
)
account = frappe.db.get_value("Bank Account", transaction.bank_account, "account")
for voucher in vouchers:
gl_entry = frappe.db.get_value("GL Entry", dict(account=account, voucher_type=voucher['payment_doctype'], voucher_no=voucher['payment_name']), ['credit', 'debit'], as_dict=1)
gl_amount, transaction_amount = (gl_entry.credit, transaction.deposit) if gl_entry.credit > 0 else (gl_entry.debit, transaction.withdrawal)
gl_entry = frappe.db.get_value(
"GL Entry",
dict(
account=account, voucher_type=voucher["payment_doctype"], voucher_no=voucher["payment_name"]
),
["credit_in_account_currency as credit", "debit_in_account_currency as debit"],
as_dict=1,
)
gl_amount, transaction_amount = (
(gl_entry.credit, transaction.deposit)
if gl_entry.credit > 0
else (gl_entry.debit, transaction.withdrawal)
)
allocated_amount = gl_amount if gl_amount >= transaction_amount else transaction_amount
transaction.append("payment_entries", {
"payment_document": voucher['payment_entry'].doctype,
"payment_entry": voucher['payment_entry'].name,
"allocated_amount": allocated_amount
})
transaction.append(
"payment_entries",
{
"payment_document": voucher["payment_entry"].doctype,
"payment_entry": voucher["payment_entry"].name,
"allocated_amount": allocated_amount,
},
)
transaction.save()
transaction.update_allocations()
return frappe.get_doc("Bank Transaction", bank_transaction_name)
@frappe.whitelist()
def get_linked_payments(bank_transaction_name, document_types = None):
def get_linked_payments(bank_transaction_name, document_types=None):
# get all matching payments for a bank transaction
transaction = frappe.get_doc("Bank Transaction", bank_transaction_name)
bank_account = frappe.db.get_values(
"Bank Account",
transaction.bank_account,
["account", "company"],
as_dict=True)[0]
"Bank Account", transaction.bank_account, ["account", "company"], as_dict=True
)[0]
(account, company) = (bank_account.account, bank_account.company)
matching = check_matching(account, company, transaction, document_types)
return matching
def check_matching(bank_account, company, transaction, document_types):
# combine all types of vocuhers
# combine all types of vouchers
subquery = get_queries(bank_account, company, transaction, document_types)
filters = {
"amount": transaction.unallocated_amount,
"payment_type" : "Receive" if transaction.deposit > 0 else "Pay",
"reference_no": transaction.reference_number,
"party_type": transaction.party_type,
"party": transaction.party,
"bank_account": bank_account
}
"amount": transaction.unallocated_amount,
"payment_type": "Receive" if transaction.deposit > 0 else "Pay",
"reference_no": transaction.reference_number,
"party_type": transaction.party_type,
"party": transaction.party,
"bank_account": bank_account,
}
matching_vouchers = []
matching_vouchers.extend(get_loan_vouchers(bank_account, transaction, document_types, filters))
for query in subquery:
matching_vouchers.extend(
frappe.db.sql(query, filters,)
frappe.db.sql(
query,
filters,
)
)
return sorted(matching_vouchers, key = lambda x: x[0], reverse=True) if matching_vouchers else []
return sorted(matching_vouchers, key=lambda x: x[0], reverse=True) if matching_vouchers else []
def get_queries(bank_account, company, transaction, document_types):
# get queries to get matching vouchers
@@ -297,7 +377,7 @@ def get_queries(bank_account, company, transaction, document_types):
queries.extend([je_amount_matching])
if transaction.deposit > 0 and "sales_invoice" in document_types:
si_amount_matching = get_si_matching_query(amount_condition)
si_amount_matching = get_si_matching_query(amount_condition)
queries.extend([si_amount_matching])
if transaction.withdrawal > 0:
@@ -311,13 +391,104 @@ def get_queries(bank_account, company, transaction, document_types):
return queries
def get_loan_vouchers(bank_account, transaction, document_types, filters):
vouchers = []
amount_condition = True if "exact_match" in document_types else False
if transaction.withdrawal > 0 and "loan_disbursement" in document_types:
vouchers.extend(get_ld_matching_query(bank_account, amount_condition, filters))
if transaction.deposit > 0 and "loan_repayment" in document_types:
vouchers.extend(get_lr_matching_query(bank_account, amount_condition, filters))
return vouchers
def get_ld_matching_query(bank_account, amount_condition, filters):
loan_disbursement = frappe.qb.DocType("Loan Disbursement")
matching_reference = loan_disbursement.reference_number == filters.get("reference_number")
matching_party = loan_disbursement.applicant_type == filters.get(
"party_type"
) and loan_disbursement.applicant == filters.get("party")
rank = frappe.qb.terms.Case().when(matching_reference, 1).else_(0)
rank1 = frappe.qb.terms.Case().when(matching_party, 1).else_(0)
query = (
frappe.qb.from_(loan_disbursement)
.select(
rank + rank1 + 1,
ConstantColumn("Loan Disbursement").as_("doctype"),
loan_disbursement.name,
loan_disbursement.disbursed_amount,
loan_disbursement.reference_number,
loan_disbursement.reference_date,
loan_disbursement.applicant_type,
loan_disbursement.disbursement_date,
)
.where(loan_disbursement.docstatus == 1)
.where(loan_disbursement.clearance_date.isnull())
.where(loan_disbursement.disbursement_account == bank_account)
)
if amount_condition:
query.where(loan_disbursement.disbursed_amount == filters.get("amount"))
else:
query.where(loan_disbursement.disbursed_amount <= filters.get("amount"))
vouchers = query.run(as_list=True)
return vouchers
def get_lr_matching_query(bank_account, amount_condition, filters):
loan_repayment = frappe.qb.DocType("Loan Repayment")
matching_reference = loan_repayment.reference_number == filters.get("reference_number")
matching_party = loan_repayment.applicant_type == filters.get(
"party_type"
) and loan_repayment.applicant == filters.get("party")
rank = frappe.qb.terms.Case().when(matching_reference, 1).else_(0)
rank1 = frappe.qb.terms.Case().when(matching_party, 1).else_(0)
query = (
frappe.qb.from_(loan_repayment)
.select(
rank + rank1 + 1,
ConstantColumn("Loan Repayment").as_("doctype"),
loan_repayment.name,
loan_repayment.amount_paid,
loan_repayment.reference_number,
loan_repayment.reference_date,
loan_repayment.applicant_type,
loan_repayment.posting_date,
)
.where(loan_repayment.docstatus == 1)
.where(loan_repayment.repay_from_salary == 0)
.where(loan_repayment.clearance_date.isnull())
.where(loan_repayment.payment_account == bank_account)
)
if amount_condition:
query.where(loan_repayment.amount_paid == filters.get("amount"))
else:
query.where(loan_repayment.amount_paid <= filters.get("amount"))
vouchers = query.run()
return vouchers
def get_pe_matching_query(amount_condition, account_from_to, transaction):
# get matching payment entries query
if transaction.deposit > 0:
currency_field = "paid_to_account_currency as currency"
else:
currency_field = "paid_from_account_currency as currency"
return f"""
return f"""
SELECT
(CASE WHEN reference_no=%(reference_no)s THEN 1 ELSE 0 END
+ CASE WHEN (party_type = %(party_type)s AND party = %(party)s ) THEN 1 ELSE 0 END
@@ -344,7 +515,12 @@ def get_pe_matching_query(amount_condition, account_from_to, transaction):
def get_je_matching_query(amount_condition, transaction):
# get matching journal entry query
# We have mapping at the bank level
# So one bank could have both types of bank accounts like asset and liability
# So cr_or_dr should be judged only on basis of withdrawal and deposit and not account type
cr_or_dr = "credit" if transaction.withdrawal > 0 else "debit"
return f"""
SELECT
@@ -401,6 +577,7 @@ def get_si_matching_query(amount_condition):
AND si.docstatus = 1
"""
def get_pi_matching_query(amount_condition):
# get matching purchase invoice query
return f"""
@@ -426,11 +603,16 @@ def get_pi_matching_query(amount_condition):
AND cash_bank_account = %(bank_account)s
"""
def get_ec_matching_query(bank_account, company, amount_condition):
# get matching Expense Claim query
mode_of_payments = [x["parent"] for x in frappe.db.get_list("Mode of Payment Account",
filters={"default_account": bank_account}, fields=["parent"])]
mode_of_payments = '(\'' + '\', \''.join(mode_of_payments) + '\' )'
mode_of_payments = [
x["parent"]
for x in frappe.db.get_all(
"Mode of Payment Account", filters={"default_account": bank_account}, fields=["parent"]
)
]
mode_of_payments = "('" + "', '".join(mode_of_payments) + "' )"
company_currency = get_company_currency(company)
return f"""
SELECT

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest

View File

@@ -239,7 +239,8 @@ frappe.ui.form.on("Bank Statement Import", {
"withdrawal",
"description",
"reference_number",
"bank_account"
"bank_account",
"currency"
],
},
});

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2019, Frappe Technologies and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import csv
import json
@@ -19,6 +17,8 @@ from openpyxl.styles import Font
from openpyxl.utils import get_column_letter
from six import string_types
INVALID_VALUES = ("", None)
class BankStatementImport(DataImport):
def __init__(self, *args, **kwargs):
@@ -51,16 +51,14 @@ class BankStatementImport(DataImport):
self.import_file, self.google_sheets_url
)
if 'Bank Account' not in json.dumps(preview['columns']):
if "Bank Account" not in json.dumps(preview["columns"]):
frappe.throw(_("Please add the Bank Account column"))
from frappe.core.page.background_jobs.background_jobs import get_info
from frappe.utils.scheduler import is_scheduler_inactive
if is_scheduler_inactive() and not frappe.flags.in_test:
frappe.throw(
_("Scheduler is inactive. Cannot import data."), title=_("Scheduler Inactive")
)
frappe.throw(_("Scheduler is inactive. Cannot import data."), title=_("Scheduler Inactive"))
enqueued_jobs = [d.get("job_name") for d in get_info()]
@@ -83,22 +81,41 @@ class BankStatementImport(DataImport):
return False
@frappe.whitelist()
def get_preview_from_template(data_import, import_file=None, google_sheets_url=None):
return frappe.get_doc("Bank Statement Import", data_import).get_preview_from_template(
import_file, google_sheets_url
)
@frappe.whitelist()
def form_start_import(data_import):
return frappe.get_doc("Bank Statement Import", data_import).start_import()
@frappe.whitelist()
def download_errored_template(data_import_name):
data_import = frappe.get_doc("Bank Statement Import", data_import_name)
data_import.export_errored_rows()
def start_import(data_import, bank_account, import_file_path, google_sheets_url, bank, template_options):
def parse_data_from_template(raw_data):
data = []
for i, row in enumerate(raw_data):
if all(v in INVALID_VALUES for v in row):
# empty row
continue
data.append(row)
return data
def start_import(
data_import, bank_account, import_file_path, google_sheets_url, bank, template_options
):
"""This method runs in background job"""
update_mapping_db(bank, template_options)
@@ -106,8 +123,9 @@ def start_import(data_import, bank_account, import_file_path, google_sheets_url,
data_import = frappe.get_doc("Bank Statement Import", data_import)
file = import_file_path if import_file_path else google_sheets_url
import_file = ImportFile("Bank Transaction", file = file, import_type="Insert New Records")
data = import_file.raw_data
import_file = ImportFile("Bank Transaction", file=file, import_type="Insert New Records")
data = parse_data_from_template(import_file.raw_data)
if import_file_path:
add_bank_account(data, bank_account)
@@ -125,16 +143,18 @@ def start_import(data_import, bank_account, import_file_path, google_sheets_url,
frappe.publish_realtime("data_import_refresh", {"data_import": data_import.name})
def update_mapping_db(bank, template_options):
bank = frappe.get_doc("Bank", bank)
for d in bank.bank_transaction_mapping:
d.delete()
for d in json.loads(template_options)["column_to_field_map"].items():
bank.append("bank_transaction_mapping", {"bank_transaction_field": d[1] ,"file_field": d[0]} )
bank.append("bank_transaction_mapping", {"bank_transaction_field": d[1], "file_field": d[0]})
bank.save()
def add_bank_account(data, bank_account):
bank_account_loc = None
if "Bank Account" not in data[0]:
@@ -150,6 +170,7 @@ def add_bank_account(data, bank_account):
else:
row.append(bank_account)
def write_files(import_file, data):
full_file_path = import_file.file_doc.get_full_path()
parts = import_file.file_doc.get_extension()
@@ -157,11 +178,12 @@ def write_files(import_file, data):
extension = extension.lstrip(".")
if extension == "csv":
with open(full_file_path, 'w', newline='') as file:
with open(full_file_path, "w", newline="") as file:
writer = csv.writer(file)
writer.writerows(data)
elif extension == "xlsx" or "xls":
write_xlsx(data, "trans", file_path = full_file_path)
write_xlsx(data, "trans", file_path=full_file_path)
def write_xlsx(data, sheet_name, wb=None, column_widths=None, file_path=None):
# from xlsx utils with changes
@@ -176,19 +198,21 @@ def write_xlsx(data, sheet_name, wb=None, column_widths=None, file_path=None):
ws.column_dimensions[get_column_letter(i + 1)].width = column_width
row1 = ws.row_dimensions[1]
row1.font = Font(name='Calibri', bold=True)
row1.font = Font(name="Calibri", bold=True)
for row in data:
clean_row = []
for item in row:
if isinstance(item, string_types) and (sheet_name not in ['Data Import Template', 'Data Export']):
if isinstance(item, string_types) and (
sheet_name not in ["Data Import Template", "Data Export"]
):
value = handle_html(item)
else:
value = item
if isinstance(item, string_types) and next(ILLEGAL_CHARACTERS_RE.finditer(value), None):
# Remove illegal characters from the string
value = re.sub(ILLEGAL_CHARACTERS_RE, '', value)
value = re.sub(ILLEGAL_CHARACTERS_RE, "", value)
clean_row.append(value)
@@ -197,19 +221,20 @@ def write_xlsx(data, sheet_name, wb=None, column_widths=None, file_path=None):
wb.save(file_path)
return True
@frappe.whitelist()
def upload_bank_statement(**args):
args = frappe._dict(args)
bsi = frappe.new_doc("Bank Statement Import")
if args.company:
bsi.update({
"company": args.company,
})
bsi.update(
{
"company": args.company,
}
)
if args.bank_account:
bsi.update({
"bank_account": args.bank_account
})
bsi.update({"bank_account": args.bank_account})
return bsi

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe.utils import flt
@@ -30,17 +28,26 @@ class BankTransaction(StatusUpdater):
def update_allocations(self):
if self.payment_entries:
allocated_amount = reduce(lambda x, y: flt(x) + flt(y), [x.allocated_amount for x in self.payment_entries])
allocated_amount = reduce(
lambda x, y: flt(x) + flt(y), [x.allocated_amount for x in self.payment_entries]
)
else:
allocated_amount = 0
if allocated_amount:
frappe.db.set_value(self.doctype, self.name, "allocated_amount", flt(allocated_amount))
frappe.db.set_value(self.doctype, self.name, "unallocated_amount", abs(flt(self.withdrawal) - flt(self.deposit)) - flt(allocated_amount))
frappe.db.set_value(
self.doctype,
self.name,
"unallocated_amount",
abs(flt(self.withdrawal) - flt(self.deposit)) - flt(allocated_amount),
)
else:
frappe.db.set_value(self.doctype, self.name, "allocated_amount", 0)
frappe.db.set_value(self.doctype, self.name, "unallocated_amount", abs(flt(self.withdrawal) - flt(self.deposit)))
frappe.db.set_value(
self.doctype, self.name, "unallocated_amount", abs(flt(self.withdrawal) - flt(self.deposit))
)
amount = self.deposit or self.withdrawal
if amount == self.allocated_amount:
@@ -50,7 +57,14 @@ class BankTransaction(StatusUpdater):
def clear_linked_payment_entries(self, for_cancel=False):
for payment_entry in self.payment_entries:
if payment_entry.payment_document in ["Payment Entry", "Journal Entry", "Purchase Invoice", "Expense Claim"]:
if payment_entry.payment_document in [
"Payment Entry",
"Journal Entry",
"Purchase Invoice",
"Expense Claim",
"Loan Repayment",
"Loan Disbursement",
]:
self.clear_simple_entry(payment_entry, for_cancel=for_cancel)
elif payment_entry.payment_document == "Sales Invoice":
@@ -58,38 +72,41 @@ class BankTransaction(StatusUpdater):
def clear_simple_entry(self, payment_entry, for_cancel=False):
if payment_entry.payment_document == "Payment Entry":
if frappe.db.get_value("Payment Entry", payment_entry.payment_entry, "payment_type") == "Internal Transfer":
if (
frappe.db.get_value("Payment Entry", payment_entry.payment_entry, "payment_type")
== "Internal Transfer"
):
if len(get_reconciled_bank_transactions(payment_entry)) < 2:
return
clearance_date = self.date if not for_cancel else None
frappe.db.set_value(
payment_entry.payment_document, payment_entry.payment_entry,
"clearance_date", clearance_date)
payment_entry.payment_document, payment_entry.payment_entry, "clearance_date", clearance_date
)
def clear_sales_invoice(self, payment_entry, for_cancel=False):
clearance_date = self.date if not for_cancel else None
frappe.db.set_value(
"Sales Invoice Payment",
dict(
parenttype=payment_entry.payment_document,
parent=payment_entry.payment_entry
),
"clearance_date", clearance_date)
dict(parenttype=payment_entry.payment_document, parent=payment_entry.payment_entry),
"clearance_date",
clearance_date,
)
def get_reconciled_bank_transactions(payment_entry):
reconciled_bank_transactions = frappe.get_all(
'Bank Transaction Payments',
filters = {
'payment_entry': payment_entry.payment_entry
},
fields = ['parent']
"Bank Transaction Payments",
filters={"payment_entry": payment_entry.payment_entry},
fields=["parent"],
)
return reconciled_bank_transactions
def get_total_allocated_amount(payment_entry):
return frappe.db.sql("""
return frappe.db.sql(
"""
SELECT
SUM(btp.allocated_amount) as allocated_amount,
bt.name
@@ -102,36 +119,73 @@ def get_total_allocated_amount(payment_entry):
AND
btp.payment_entry = %s
AND
bt.docstatus = 1""", (payment_entry.payment_document, payment_entry.payment_entry), as_dict=True)
bt.docstatus = 1""",
(payment_entry.payment_document, payment_entry.payment_entry),
as_dict=True,
)
def get_paid_amount(payment_entry, currency):
def get_paid_amount(payment_entry, currency, bank_account):
if payment_entry.payment_document in ["Payment Entry", "Sales Invoice", "Purchase Invoice"]:
paid_amount_field = "paid_amount"
if payment_entry.payment_document == 'Payment Entry':
if payment_entry.payment_document == "Payment Entry":
doc = frappe.get_doc("Payment Entry", payment_entry.payment_entry)
paid_amount_field = ("base_paid_amount"
if doc.paid_to_account_currency == currency else "paid_amount")
return frappe.db.get_value(payment_entry.payment_document,
payment_entry.payment_entry, paid_amount_field)
if doc.payment_type == "Receive":
paid_amount_field = (
"received_amount" if doc.paid_to_account_currency == currency else "base_received_amount"
)
elif doc.payment_type == "Pay":
paid_amount_field = (
"paid_amount" if doc.paid_from_account_currency == currency else "base_paid_amount"
)
return frappe.db.get_value(
payment_entry.payment_document, payment_entry.payment_entry, paid_amount_field
)
elif payment_entry.payment_document == "Journal Entry":
return frappe.db.get_value(payment_entry.payment_document, payment_entry.payment_entry, "total_credit")
return frappe.db.get_value(
"Journal Entry Account",
{"parent": payment_entry.payment_entry, "account": bank_account},
"sum(credit_in_account_currency)",
)
elif payment_entry.payment_document == "Expense Claim":
return frappe.db.get_value(payment_entry.payment_document, payment_entry.payment_entry, "total_amount_reimbursed")
return frappe.db.get_value(
payment_entry.payment_document, payment_entry.payment_entry, "total_amount_reimbursed"
)
elif payment_entry.payment_document == "Loan Disbursement":
return frappe.db.get_value(
payment_entry.payment_document, payment_entry.payment_entry, "disbursed_amount"
)
elif payment_entry.payment_document == "Loan Repayment":
return frappe.db.get_value(
payment_entry.payment_document, payment_entry.payment_entry, "amount_paid"
)
else:
frappe.throw("Please reconcile {0}: {1} manually".format(payment_entry.payment_document, payment_entry.payment_entry))
frappe.throw(
"Please reconcile {0}: {1} manually".format(
payment_entry.payment_document, payment_entry.payment_entry
)
)
@frappe.whitelist()
def unclear_reference_payment(doctype, docname):
if frappe.db.exists(doctype, docname):
doc = frappe.get_doc(doctype, docname)
if doctype == "Sales Invoice":
frappe.db.set_value("Sales Invoice Payment", dict(parenttype=doc.payment_document,
parent=doc.payment_entry), "clearance_date", None)
frappe.db.set_value(
"Sales Invoice Payment",
dict(parenttype=doc.payment_document, parent=doc.payment_entry),
"clearance_date",
None,
)
else:
frappe.db.set_value(doc.payment_document, doc.payment_entry, "clearance_date", None)

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import json
@@ -21,12 +19,14 @@ def upload_bank_statement():
fcontent = frappe.local.uploaded_file
fname = frappe.local.uploaded_filename
if frappe.safe_encode(fname).lower().endswith("csv".encode('utf-8')):
if frappe.safe_encode(fname).lower().endswith("csv".encode("utf-8")):
from frappe.utils.csvutils import read_csv_content
rows = read_csv_content(fcontent, False)
elif frappe.safe_encode(fname).lower().endswith("xlsx".encode('utf-8')):
elif frappe.safe_encode(fname).lower().endswith("xlsx".encode("utf-8")):
from frappe.utils.xlsxutils import read_xlsx_file_from_attached_file
rows = read_xlsx_file_from_attached_file(fcontent=fcontent)
columns = rows[0]
@@ -46,12 +46,10 @@ def create_bank_entries(columns, data, bank_account):
continue
fields = {}
for key, value in iteritems(header_map):
fields.update({key: d[int(value)-1]})
fields.update({key: d[int(value) - 1]})
try:
bank_transaction = frappe.get_doc({
"doctype": "Bank Transaction"
})
bank_transaction = frappe.get_doc({"doctype": "Bank Transaction"})
bank_transaction.update(fields)
bank_transaction.date = getdate(parse_date(bank_transaction.date))
bank_transaction.bank_account = bank_account
@@ -64,6 +62,7 @@ def create_bank_entries(columns, data, bank_account):
return {"success": success, "errors": errors}
def get_header_mapping(columns, bank_account):
mapping = get_bank_mapping(bank_account)
@@ -74,10 +73,11 @@ def get_header_mapping(columns, bank_account):
return header_map
def get_bank_mapping(bank_account):
bank_name = frappe.db.get_value("Bank Account", bank_account, "bank")
bank = frappe.get_doc("Bank", bank_name)
mapping = {row.file_field:row.bank_transaction_field for row in bank.bank_transaction_mapping}
mapping = {row.file_field: row.bank_transaction_field for row in bank.bank_transaction_mapping}
return mapping

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import json
import unittest
@@ -19,6 +17,7 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sal
test_dependencies = ["Item", "Cost Center"]
class TestBankTransaction(unittest.TestCase):
@classmethod
def setUpClass(cls):
@@ -43,21 +42,34 @@ class TestBankTransaction(unittest.TestCase):
# 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):
bank_transaction = frappe.get_doc("Bank Transaction", dict(description="Re 95282925234 FE/000002917 AT171513000281183046 Conrad Electronic"))
linked_payments = get_linked_payments(bank_transaction.name, ['payment_entry', 'exact_match'])
bank_transaction = frappe.get_doc(
"Bank Transaction",
dict(description="Re 95282925234 FE/000002917 AT171513000281183046 Conrad Electronic"),
)
linked_payments = get_linked_payments(bank_transaction.name, ["payment_entry", "exact_match"])
self.assertTrue(linked_payments[0][6] == "Conrad Electronic")
# This test validates a simple reconciliation leading to the clearance of the bank transaction and the payment
def test_reconcile(self):
bank_transaction = frappe.get_doc("Bank Transaction", dict(description="1512567 BG/000003025 OPSKATTUZWXXX AT776000000098709849 Herr G"))
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}])
vouchers = json.dumps(
[
{
"payment_doctype": "Payment Entry",
"payment_name": payment.name,
"amount": bank_transaction.unallocated_amount,
}
]
)
reconcile_vouchers(bank_transaction.name, vouchers)
unallocated_amount = frappe.db.get_value("Bank Transaction", bank_transaction.name, "unallocated_amount")
unallocated_amount = frappe.db.get_value(
"Bank Transaction", bank_transaction.name, "unallocated_amount"
)
self.assertTrue(unallocated_amount == 0)
clearance_date = frappe.db.get_value("Payment Entry", payment.name, "clearance_date")
@@ -71,122 +83,177 @@ class TestBankTransaction(unittest.TestCase):
# 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("Bank Transaction", dict(description="Auszahlung Karte MC/000002916 AUTOMAT 698769 K002 27.10. 14:07"))
linked_payments = get_linked_payments(bank_transaction.name, ['payment_entry', 'exact_match'])
bank_transaction = frappe.get_doc(
"Bank Transaction",
dict(description="Auszahlung Karte MC/000002916 AUTOMAT 698769 K002 27.10. 14:07"),
)
linked_payments = get_linked_payments(bank_transaction.name, ["payment_entry", "exact_match"])
self.assertTrue(linked_payments[0][3])
# Check error if already reconciled
def test_already_reconciled(self):
bank_transaction = frappe.get_doc("Bank Transaction", dict(description="1512567 BG/000002918 OPSKATTUZWXXX AT776000000098709837 Herr G"))
bank_transaction = frappe.get_doc(
"Bank Transaction",
dict(description="1512567 BG/000002918 OPSKATTUZWXXX AT776000000098709837 Herr G"),
)
payment = frappe.get_doc("Payment Entry", dict(party="Mr G", paid_amount=1200))
vouchers = json.dumps([{
"payment_doctype":"Payment Entry",
"payment_name":payment.name,
"amount":bank_transaction.unallocated_amount}])
vouchers = json.dumps(
[
{
"payment_doctype": "Payment Entry",
"payment_name": payment.name,
"amount": bank_transaction.unallocated_amount,
}
]
)
reconcile_vouchers(bank_transaction.name, vouchers)
bank_transaction = frappe.get_doc("Bank Transaction", dict(description="1512567 BG/000002918 OPSKATTUZWXXX AT776000000098709837 Herr G"))
bank_transaction = frappe.get_doc(
"Bank Transaction",
dict(description="1512567 BG/000002918 OPSKATTUZWXXX AT776000000098709837 Herr G"),
)
payment = frappe.get_doc("Payment Entry", dict(party="Mr G", paid_amount=1200))
vouchers = json.dumps([{
"payment_doctype":"Payment Entry",
"payment_name":payment.name,
"amount":bank_transaction.unallocated_amount}])
self.assertRaises(frappe.ValidationError, reconcile_vouchers, bank_transaction_name=bank_transaction.name, vouchers=vouchers)
vouchers = json.dumps(
[
{
"payment_doctype": "Payment Entry",
"payment_name": payment.name,
"amount": bank_transaction.unallocated_amount,
}
]
)
self.assertRaises(
frappe.ValidationError,
reconcile_vouchers,
bank_transaction_name=bank_transaction.name,
vouchers=vouchers,
)
# Raise an error if debitor transaction vs debitor payment
def test_clear_sales_invoice(self):
bank_transaction = frappe.get_doc("Bank Transaction", dict(description="I2015000011 VD/000002514 ATWWXXX AT4701345000003510057 Bio"))
bank_transaction = frappe.get_doc(
"Bank Transaction",
dict(description="I2015000011 VD/000002514 ATWWXXX AT4701345000003510057 Bio"),
)
payment = frappe.get_doc("Sales Invoice", dict(customer="Fayva", status=["=", "Paid"]))
vouchers = json.dumps([{
"payment_doctype":"Sales Invoice",
"payment_name":payment.name,
"amount":bank_transaction.unallocated_amount}])
vouchers = json.dumps(
[
{
"payment_doctype": "Sales Invoice",
"payment_name": payment.name,
"amount": bank_transaction.unallocated_amount,
}
]
)
reconcile_vouchers(bank_transaction.name, vouchers=vouchers)
self.assertEqual(frappe.db.get_value("Bank Transaction", bank_transaction.name, "unallocated_amount"), 0)
self.assertTrue(frappe.db.get_value("Sales Invoice Payment", dict(parent=payment.name), "clearance_date") is not None)
self.assertEqual(
frappe.db.get_value("Bank Transaction", bank_transaction.name, "unallocated_amount"), 0
)
self.assertTrue(
frappe.db.get_value("Sales Invoice Payment", dict(parent=payment.name), "clearance_date")
is not None
)
def create_bank_account(bank_name="Citi Bank", account_name="_Test Bank - _TC"):
try:
frappe.get_doc({
"doctype": "Bank",
"bank_name":bank_name,
}).insert()
frappe.get_doc(
{
"doctype": "Bank",
"bank_name": bank_name,
}
).insert()
except frappe.DuplicateEntryError:
pass
try:
frappe.get_doc({
"doctype": "Bank Account",
"account_name":"Checking Account",
"bank": bank_name,
"account": account_name
}).insert()
frappe.get_doc(
{
"doctype": "Bank Account",
"account_name": "Checking Account",
"bank": bank_name,
"account": account_name,
}
).insert()
except frappe.DuplicateEntryError:
pass
def add_transactions():
create_bank_account()
doc = frappe.get_doc({
"doctype": "Bank Transaction",
"description":"1512567 BG/000002918 OPSKATTUZWXXX AT776000000098709837 Herr G",
"date": "2018-10-23",
"deposit": 1200,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank"
}).insert()
doc = frappe.get_doc(
{
"doctype": "Bank Transaction",
"description": "1512567 BG/000002918 OPSKATTUZWXXX AT776000000098709837 Herr G",
"date": "2018-10-23",
"deposit": 1200,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
}
).insert()
doc.submit()
doc = frappe.get_doc({
"doctype": "Bank Transaction",
"description":"1512567 BG/000003025 OPSKATTUZWXXX AT776000000098709849 Herr G",
"date": "2018-10-23",
"deposit": 1700,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank"
}).insert()
doc = frappe.get_doc(
{
"doctype": "Bank Transaction",
"description": "1512567 BG/000003025 OPSKATTUZWXXX AT776000000098709849 Herr G",
"date": "2018-10-23",
"deposit": 1700,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
}
).insert()
doc.submit()
doc = frappe.get_doc({
"doctype": "Bank Transaction",
"description":"Re 95282925234 FE/000002917 AT171513000281183046 Conrad Electronic",
"date": "2018-10-26",
"withdrawal": 690,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank"
}).insert()
doc = frappe.get_doc(
{
"doctype": "Bank Transaction",
"description": "Re 95282925234 FE/000002917 AT171513000281183046 Conrad Electronic",
"date": "2018-10-26",
"withdrawal": 690,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
}
).insert()
doc.submit()
doc = frappe.get_doc({
"doctype": "Bank Transaction",
"description":"Auszahlung Karte MC/000002916 AUTOMAT 698769 K002 27.10. 14:07",
"date": "2018-10-27",
"deposit": 3900,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank"
}).insert()
doc = frappe.get_doc(
{
"doctype": "Bank Transaction",
"description": "Auszahlung Karte MC/000002916 AUTOMAT 698769 K002 27.10. 14:07",
"date": "2018-10-27",
"deposit": 3900,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
}
).insert()
doc.submit()
doc = frappe.get_doc({
"doctype": "Bank Transaction",
"description":"I2015000011 VD/000002514 ATWWXXX AT4701345000003510057 Bio",
"date": "2018-10-27",
"withdrawal": 109080,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank"
}).insert()
doc = frappe.get_doc(
{
"doctype": "Bank Transaction",
"description": "I2015000011 VD/000002514 ATWWXXX AT4701345000003510057 Bio",
"date": "2018-10-27",
"withdrawal": 109080,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank",
}
).insert()
doc.submit()
def add_vouchers():
try:
frappe.get_doc({
"doctype": "Supplier",
"supplier_group":"All Supplier Groups",
"supplier_type": "Company",
"supplier_name": "Conrad Electronic"
}).insert()
frappe.get_doc(
{
"doctype": "Supplier",
"supplier_group": "All Supplier Groups",
"supplier_type": "Company",
"supplier_name": "Conrad Electronic",
}
).insert()
except frappe.DuplicateEntryError:
pass
@@ -200,12 +267,14 @@ def add_vouchers():
pe.submit()
try:
frappe.get_doc({
"doctype": "Supplier",
"supplier_group":"All Supplier Groups",
"supplier_type": "Company",
"supplier_name": "Mr G"
}).insert()
frappe.get_doc(
{
"doctype": "Supplier",
"supplier_group": "All Supplier Groups",
"supplier_type": "Company",
"supplier_name": "Mr G",
}
).insert()
except frappe.DuplicateEntryError:
pass
@@ -224,26 +293,30 @@ def add_vouchers():
pe.submit()
try:
frappe.get_doc({
"doctype": "Supplier",
"supplier_group":"All Supplier Groups",
"supplier_type": "Company",
"supplier_name": "Poore Simon's"
}).insert()
frappe.get_doc(
{
"doctype": "Supplier",
"supplier_group": "All Supplier Groups",
"supplier_type": "Company",
"supplier_name": "Poore Simon's",
}
).insert()
except frappe.DuplicateEntryError:
pass
try:
frappe.get_doc({
"doctype": "Customer",
"customer_group":"All Customer Groups",
"customer_type": "Company",
"customer_name": "Poore Simon's"
}).insert()
frappe.get_doc(
{
"doctype": "Customer",
"customer_group": "All Customer Groups",
"customer_type": "Company",
"customer_name": "Poore Simon's",
}
).insert()
except frappe.DuplicateEntryError:
pass
pi = make_purchase_invoice(supplier="Poore Simon's", qty=1, rate=3900, is_paid=1, do_not_save =1)
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.insert()
pi.submit()
@@ -263,33 +336,31 @@ def add_vouchers():
pe.submit()
try:
frappe.get_doc({
"doctype": "Customer",
"customer_group":"All Customer Groups",
"customer_type": "Company",
"customer_name": "Fayva"
}).insert()
frappe.get_doc(
{
"doctype": "Customer",
"customer_group": "All Customer Groups",
"customer_type": "Company",
"customer_name": "Fayva",
}
).insert()
except frappe.DuplicateEntryError:
pass
mode_of_payment = frappe.get_doc({
"doctype": "Mode of Payment",
"name": "Cash"
})
mode_of_payment = frappe.get_doc({"doctype": "Mode of Payment", "name": "Cash"})
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"
})
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.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": "_Test Bank - _TC", "amount": 109080}
)
si.insert()
si.submit()

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
from frappe.model.document import Document

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
from frappe.model.document import Document

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe import _
@@ -16,13 +14,19 @@ from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
from erpnext.accounts.utils import get_fiscal_year
class BudgetError(frappe.ValidationError): pass
class DuplicateBudgetError(frappe.ValidationError): pass
class BudgetError(frappe.ValidationError):
pass
class DuplicateBudgetError(frappe.ValidationError):
pass
class Budget(Document):
def autoname(self):
self.name = make_autoname(self.get(frappe.scrub(self.budget_against))
+ "/" + self.fiscal_year + "/.###")
self.name = make_autoname(
self.get(frappe.scrub(self.budget_against)) + "/" + self.fiscal_year + "/.###"
)
def validate(self):
if not self.get(frappe.scrub(self.budget_against)):
@@ -37,34 +41,44 @@ class Budget(Document):
budget_against = self.get(budget_against_field)
accounts = [d.account for d in self.accounts] or []
existing_budget = frappe.db.sql("""
existing_budget = frappe.db.sql(
"""
select
b.name, ba.account from `tabBudget` b, `tabBudget Account` ba
where
ba.parent = b.name and b.docstatus < 2 and b.company = %s and %s=%s and
b.fiscal_year=%s and b.name != %s and ba.account in (%s) """
% ('%s', budget_against_field, '%s', '%s', '%s', ','.join(['%s'] * len(accounts))),
(self.company, budget_against, self.fiscal_year, self.name) + tuple(accounts), as_dict=1)
% ("%s", budget_against_field, "%s", "%s", "%s", ",".join(["%s"] * len(accounts))),
(self.company, budget_against, self.fiscal_year, self.name) + tuple(accounts),
as_dict=1,
)
for d in existing_budget:
frappe.throw(_("Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4}")
.format(d.name, self.budget_against, budget_against, d.account, self.fiscal_year), DuplicateBudgetError)
frappe.throw(
_(
"Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4}"
).format(d.name, self.budget_against, budget_against, d.account, self.fiscal_year),
DuplicateBudgetError,
)
def validate_accounts(self):
account_list = []
for d in self.get('accounts'):
for d in self.get("accounts"):
if d.account:
account_details = frappe.db.get_value("Account", d.account,
["is_group", "company", "report_type"], as_dict=1)
account_details = frappe.db.get_value(
"Account", d.account, ["is_group", "company", "report_type"], as_dict=1
)
if account_details.is_group:
frappe.throw(_("Budget cannot be assigned against Group Account {0}").format(d.account))
elif account_details.company != self.company:
frappe.throw(_("Account {0} does not belongs to company {1}")
.format(d.account, self.company))
frappe.throw(_("Account {0} does not belongs to company {1}").format(d.account, self.company))
elif account_details.report_type != "Profit and Loss":
frappe.throw(_("Budget cannot be assigned against {0}, as it's not an Income or Expense account")
.format(d.account))
frappe.throw(
_("Budget cannot be assigned against {0}, as it's not an Income or Expense account").format(
d.account
)
)
if d.account in account_list:
frappe.throw(_("Account {0} has been entered multiple times").format(d.account))
@@ -72,51 +86,66 @@ class Budget(Document):
account_list.append(d.account)
def set_null_value(self):
if self.budget_against == 'Cost Center':
if self.budget_against == "Cost Center":
self.project = None
else:
self.cost_center = None
def validate_applicable_for(self):
if (self.applicable_on_material_request
and not (self.applicable_on_purchase_order and self.applicable_on_booking_actual_expenses)):
frappe.throw(_("Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses"))
if self.applicable_on_material_request and not (
self.applicable_on_purchase_order and self.applicable_on_booking_actual_expenses
):
frappe.throw(
_("Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses")
)
elif (self.applicable_on_purchase_order
and not (self.applicable_on_booking_actual_expenses)):
elif self.applicable_on_purchase_order and not (self.applicable_on_booking_actual_expenses):
frappe.throw(_("Please enable Applicable on Booking Actual Expenses"))
elif not(self.applicable_on_material_request
or self.applicable_on_purchase_order or self.applicable_on_booking_actual_expenses):
elif not (
self.applicable_on_material_request
or self.applicable_on_purchase_order
or self.applicable_on_booking_actual_expenses
):
self.applicable_on_booking_actual_expenses = 1
def validate_expense_against_budget(args):
args = frappe._dict(args)
if args.get('company') and not args.fiscal_year:
args.fiscal_year = get_fiscal_year(args.get('posting_date'), company=args.get('company'))[0]
frappe.flags.exception_approver_role = frappe.get_cached_value('Company',
args.get('company'), 'exception_budget_approver_role')
if args.get("company") and not args.fiscal_year:
args.fiscal_year = get_fiscal_year(args.get("posting_date"), company=args.get("company"))[0]
frappe.flags.exception_approver_role = frappe.get_cached_value(
"Company", args.get("company"), "exception_budget_approver_role"
)
if not args.account:
args.account = args.get("expense_account")
if not (args.get('account') and args.get('cost_center')) and args.item_code:
if not (args.get("account") and args.get("cost_center")) and args.item_code:
args.cost_center, args.account = get_item_details(args)
if not args.account:
return
for budget_against in ['project', 'cost_center'] + get_accounting_dimensions():
if (args.get(budget_against) and args.account
and frappe.db.get_value("Account", {"name": args.account, "root_type": "Expense"})):
for budget_against in ["project", "cost_center"] + get_accounting_dimensions():
if (
args.get(budget_against)
and args.account
and frappe.db.get_value("Account", {"name": args.account, "root_type": "Expense"})
):
doctype = frappe.unscrub(budget_against)
if frappe.get_cached_value('DocType', doctype, 'is_tree'):
if frappe.get_cached_value("DocType", doctype, "is_tree"):
lft, rgt = frappe.db.get_value(doctype, args.get(budget_against), ["lft", "rgt"])
condition = """and exists(select name from `tab%s`
where lft<=%s and rgt>=%s and name=b.%s)""" % (doctype, lft, rgt, budget_against) #nosec
where lft<=%s and rgt>=%s and name=b.%s)""" % (
doctype,
lft,
rgt,
budget_against,
) # nosec
args.is_tree = True
else:
condition = "and b.%s=%s" % (budget_against, frappe.db.escape(args.get(budget_against)))
@@ -125,7 +154,8 @@ def validate_expense_against_budget(args):
args.budget_against_field = budget_against
args.budget_against_doctype = doctype
budget_records = frappe.db.sql("""
budget_records = frappe.db.sql(
"""
select
b.{budget_against_field} as budget_against, ba.budget_amount, b.monthly_distribution,
ifnull(b.applicable_on_material_request, 0) as for_material_request,
@@ -140,11 +170,17 @@ def validate_expense_against_budget(args):
b.name=ba.parent and b.fiscal_year=%s
and ba.account=%s and b.docstatus=1
{condition}
""".format(condition=condition, budget_against_field=budget_against), (args.fiscal_year, args.account), as_dict=True) #nosec
""".format(
condition=condition, budget_against_field=budget_against
),
(args.fiscal_year, args.account),
as_dict=True,
) # nosec
if budget_records:
validate_budget_records(args, budget_records)
def validate_budget_records(args, budget_records):
for budget in budget_records:
if flt(budget.budget_amount):
@@ -152,88 +188,118 @@ def validate_budget_records(args, budget_records):
yearly_action, monthly_action = get_actions(args, budget)
if monthly_action in ["Stop", "Warn"]:
budget_amount = get_accumulated_monthly_budget(budget.monthly_distribution,
args.posting_date, args.fiscal_year, budget.budget_amount)
budget_amount = get_accumulated_monthly_budget(
budget.monthly_distribution, args.posting_date, args.fiscal_year, budget.budget_amount
)
args["month_end_date"] = get_last_day(args.posting_date)
compare_expense_with_budget(args, budget_amount,
_("Accumulated Monthly"), monthly_action, budget.budget_against, amount)
compare_expense_with_budget(
args, budget_amount, _("Accumulated Monthly"), monthly_action, budget.budget_against, amount
)
if (
yearly_action in ("Stop", "Warn")
and monthly_action != "Stop"
and yearly_action != monthly_action
):
compare_expense_with_budget(
args, flt(budget.budget_amount), _("Annual"), yearly_action, budget.budget_against, amount
)
if yearly_action in ("Stop", "Warn") and monthly_action != "Stop" \
and yearly_action != monthly_action:
compare_expense_with_budget(args, flt(budget.budget_amount),
_("Annual"), yearly_action, budget.budget_against, amount)
def compare_expense_with_budget(args, budget_amount, action_for, action, budget_against, amount=0):
actual_expense = amount or get_actual_expense(args)
if actual_expense > budget_amount:
diff = actual_expense - budget_amount
currency = frappe.get_cached_value('Company', args.company, 'default_currency')
currency = frappe.get_cached_value("Company", args.company, "default_currency")
msg = _("{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5}").format(
_(action_for), frappe.bold(args.account), args.budget_against_field,
frappe.bold(budget_against),
frappe.bold(fmt_money(budget_amount, currency=currency)),
frappe.bold(fmt_money(diff, currency=currency)))
_(action_for),
frappe.bold(args.account),
args.budget_against_field,
frappe.bold(budget_against),
frappe.bold(fmt_money(budget_amount, currency=currency)),
frappe.bold(fmt_money(diff, currency=currency)),
)
if (frappe.flags.exception_approver_role
and frappe.flags.exception_approver_role in frappe.get_roles(frappe.session.user)):
if (
frappe.flags.exception_approver_role
and frappe.flags.exception_approver_role in frappe.get_roles(frappe.session.user)
):
action = "Warn"
if action=="Stop":
if action == "Stop":
frappe.throw(msg, BudgetError)
else:
frappe.msgprint(msg, indicator='orange')
frappe.msgprint(msg, indicator="orange")
def get_actions(args, budget):
yearly_action = budget.action_if_annual_budget_exceeded
monthly_action = budget.action_if_accumulated_monthly_budget_exceeded
if args.get('doctype') == 'Material Request' and budget.for_material_request:
if args.get("doctype") == "Material Request" and budget.for_material_request:
yearly_action = budget.action_if_annual_budget_exceeded_on_mr
monthly_action = budget.action_if_accumulated_monthly_budget_exceeded_on_mr
elif args.get('doctype') == 'Purchase Order' and budget.for_purchase_order:
elif args.get("doctype") == "Purchase Order" and budget.for_purchase_order:
yearly_action = budget.action_if_annual_budget_exceeded_on_po
monthly_action = budget.action_if_accumulated_monthly_budget_exceeded_on_po
return yearly_action, monthly_action
def get_amount(args, budget):
amount = 0
if args.get('doctype') == 'Material Request' and budget.for_material_request:
amount = (get_requested_amount(args, budget)
+ get_ordered_amount(args, budget) + get_actual_expense(args))
if args.get("doctype") == "Material Request" and budget.for_material_request:
amount = (
get_requested_amount(args, budget) + get_ordered_amount(args, budget) + get_actual_expense(args)
)
elif args.get('doctype') == 'Purchase Order' and budget.for_purchase_order:
elif args.get("doctype") == "Purchase Order" and budget.for_purchase_order:
amount = get_ordered_amount(args, budget) + get_actual_expense(args)
return amount
def get_requested_amount(args, budget):
item_code = args.get('item_code')
condition = get_other_condition(args, budget, 'Material Request')
data = frappe.db.sql(""" select ifnull((sum(child.stock_qty - child.ordered_qty) * rate), 0) as amount
def get_requested_amount(args, budget):
item_code = args.get("item_code")
condition = get_other_condition(args, budget, "Material Request")
data = frappe.db.sql(
""" select ifnull((sum(child.stock_qty - child.ordered_qty) * rate), 0) as amount
from `tabMaterial Request Item` child, `tabMaterial Request` parent where parent.name = child.parent and
child.item_code = %s and parent.docstatus = 1 and child.stock_qty > child.ordered_qty and {0} and
parent.material_request_type = 'Purchase' and parent.status != 'Stopped'""".format(condition), item_code, as_list=1)
parent.material_request_type = 'Purchase' and parent.status != 'Stopped'""".format(
condition
),
item_code,
as_list=1,
)
return data[0][0] if data else 0
def get_ordered_amount(args, budget):
item_code = args.get('item_code')
condition = get_other_condition(args, budget, 'Purchase Order')
item_code = args.get("item_code")
condition = get_other_condition(args, budget, "Purchase Order")
data = frappe.db.sql(""" select ifnull(sum(child.amount - child.billed_amt), 0) as amount
data = frappe.db.sql(
""" select ifnull(sum(child.amount - child.billed_amt), 0) as amount
from `tabPurchase Order Item` child, `tabPurchase Order` parent where
parent.name = child.parent and child.item_code = %s and parent.docstatus = 1 and child.amount > child.billed_amt
and parent.status != 'Closed' and {0}""".format(condition), item_code, as_list=1)
and parent.status != 'Closed' and {0}""".format(
condition
),
item_code,
as_list=1,
)
return data[0][0] if data else 0
def get_other_condition(args, budget, for_doc):
condition = "expense_account = '%s'" % (args.expense_account)
budget_against_field = args.get("budget_against_field")
@@ -241,41 +307,51 @@ def get_other_condition(args, budget, for_doc):
if budget_against_field and args.get(budget_against_field):
condition += " and child.%s = '%s'" % (budget_against_field, args.get(budget_against_field))
if args.get('fiscal_year'):
date_field = 'schedule_date' if for_doc == 'Material Request' else 'transaction_date'
start_date, end_date = frappe.db.get_value('Fiscal Year', args.get('fiscal_year'),
['year_start_date', 'year_end_date'])
if args.get("fiscal_year"):
date_field = "schedule_date" if for_doc == "Material Request" else "transaction_date"
start_date, end_date = frappe.db.get_value(
"Fiscal Year", args.get("fiscal_year"), ["year_start_date", "year_end_date"]
)
condition += """ and parent.%s
between '%s' and '%s' """ %(date_field, start_date, end_date)
between '%s' and '%s' """ % (
date_field,
start_date,
end_date,
)
return condition
def get_actual_expense(args):
if not args.budget_against_doctype:
args.budget_against_doctype = frappe.unscrub(args.budget_against_field)
budget_against_field = args.get('budget_against_field')
condition1 = " and gle.posting_date <= %(month_end_date)s" \
if args.get("month_end_date") else ""
budget_against_field = args.get("budget_against_field")
condition1 = " and gle.posting_date <= %(month_end_date)s" if args.get("month_end_date") else ""
if args.is_tree:
lft_rgt = frappe.db.get_value(args.budget_against_doctype,
args.get(budget_against_field), ["lft", "rgt"], as_dict=1)
lft_rgt = frappe.db.get_value(
args.budget_against_doctype, args.get(budget_against_field), ["lft", "rgt"], as_dict=1
)
args.update(lft_rgt)
condition2 = """and exists(select name from `tab{doctype}`
where lft>=%(lft)s and rgt<=%(rgt)s
and name=gle.{budget_against_field})""".format(doctype=args.budget_against_doctype, #nosec
budget_against_field=budget_against_field)
and name=gle.{budget_against_field})""".format(
doctype=args.budget_against_doctype, budget_against_field=budget_against_field # nosec
)
else:
condition2 = """and exists(select name from `tab{doctype}`
where name=gle.{budget_against} and
gle.{budget_against} = %({budget_against})s)""".format(doctype=args.budget_against_doctype,
budget_against = budget_against_field)
gle.{budget_against} = %({budget_against})s)""".format(
doctype=args.budget_against_doctype, budget_against=budget_against_field
)
amount = flt(frappe.db.sql("""
amount = flt(
frappe.db.sql(
"""
select sum(gle.debit) - sum(gle.credit)
from `tabGL Entry` gle
where gle.account=%(account)s
@@ -284,46 +360,59 @@ def get_actual_expense(args):
and gle.company=%(company)s
and gle.docstatus=1
{condition2}
""".format(condition1=condition1, condition2=condition2), (args))[0][0]) #nosec
""".format(
condition1=condition1, condition2=condition2
),
(args),
)[0][0]
) # nosec
return amount
def get_accumulated_monthly_budget(monthly_distribution, posting_date, fiscal_year, annual_budget):
distribution = {}
if monthly_distribution:
for d in frappe.db.sql("""select mdp.month, mdp.percentage_allocation
for d in frappe.db.sql(
"""select mdp.month, mdp.percentage_allocation
from `tabMonthly Distribution Percentage` mdp, `tabMonthly Distribution` md
where mdp.parent=md.name and md.fiscal_year=%s""", fiscal_year, as_dict=1):
distribution.setdefault(d.month, d.percentage_allocation)
where mdp.parent=md.name and md.fiscal_year=%s""",
fiscal_year,
as_dict=1,
):
distribution.setdefault(d.month, d.percentage_allocation)
dt = frappe.db.get_value("Fiscal Year", fiscal_year, "year_start_date")
accumulated_percentage = 0.0
while(dt <= getdate(posting_date)):
while dt <= getdate(posting_date):
if monthly_distribution:
accumulated_percentage += distribution.get(getdate(dt).strftime("%B"), 0)
else:
accumulated_percentage += 100.0/12
accumulated_percentage += 100.0 / 12
dt = add_months(dt, 1)
return annual_budget * accumulated_percentage / 100
def get_item_details(args):
cost_center, expense_account = None, None
if not args.get('company'):
if not args.get("company"):
return cost_center, expense_account
if args.item_code:
item_defaults = frappe.db.get_value('Item Default',
{'parent': args.item_code, 'company': args.get('company')},
['buying_cost_center', 'expense_account'])
item_defaults = frappe.db.get_value(
"Item Default",
{"parent": args.item_code, "company": args.get("company")},
["buying_cost_center", "expense_account"],
)
if item_defaults:
cost_center, expense_account = item_defaults
if not (cost_center and expense_account):
for doctype in ['Item Group', 'Company']:
for doctype in ["Item Group", "Company"]:
data = get_expense_cost_center(doctype, args)
if not cost_center and data:
@@ -337,11 +426,15 @@ def get_item_details(args):
return cost_center, expense_account
def get_expense_cost_center(doctype, args):
if doctype == 'Item Group':
return frappe.db.get_value('Item Default',
{'parent': args.get(frappe.scrub(doctype)), 'company': args.get('company')},
['buying_cost_center', 'expense_account'])
if doctype == "Item Group":
return frappe.db.get_value(
"Item Default",
{"parent": args.get(frappe.scrub(doctype)), "company": args.get("company")},
["buying_cost_center", "expense_account"],
)
else:
return frappe.db.get_value(doctype, args.get(frappe.scrub(doctype)),\
['cost_center', 'default_expense_account'])
return frappe.db.get_value(
doctype, args.get(frappe.scrub(doctype)), ["cost_center", "default_expense_account"]
)

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest
@@ -13,7 +11,8 @@ from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journ
from erpnext.accounts.utils import get_fiscal_year
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
test_dependencies = ['Monthly Distribution']
test_dependencies = ["Monthly Distribution"]
class TestBudget(unittest.TestCase):
def test_monthly_budget_crossed_ignore(self):
@@ -21,11 +20,18 @@ class TestBudget(unittest.TestCase):
budget = make_budget(budget_against="Cost Center")
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 40000, "_Test Cost Center - _TC", posting_date=nowdate(), submit=True)
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
40000,
"_Test Cost Center - _TC",
posting_date=nowdate(),
submit=True,
)
self.assertTrue(frappe.db.get_value("GL Entry",
{"voucher_type": "Journal Entry", "voucher_no": jv.name}))
self.assertTrue(
frappe.db.get_value("GL Entry", {"voucher_type": "Journal Entry", "voucher_no": jv.name})
)
budget.cancel()
jv.cancel()
@@ -35,10 +41,17 @@ class TestBudget(unittest.TestCase):
budget = make_budget(budget_against="Cost Center")
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 40000, "_Test Cost Center - _TC", posting_date=nowdate())
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
40000,
"_Test Cost Center - _TC",
posting_date=nowdate(),
)
self.assertRaises(BudgetError, jv.submit)
@@ -50,49 +63,65 @@ class TestBudget(unittest.TestCase):
budget = make_budget(budget_against="Cost Center")
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 40000, "_Test Cost Center - _TC", posting_date=nowdate())
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
40000,
"_Test Cost Center - _TC",
posting_date=nowdate(),
)
self.assertRaises(BudgetError, jv.submit)
frappe.db.set_value('Company', budget.company, 'exception_budget_approver_role', 'Accounts User')
frappe.db.set_value("Company", budget.company, "exception_budget_approver_role", "Accounts User")
jv.submit()
self.assertEqual(frappe.db.get_value('Journal Entry', jv.name, 'docstatus'), 1)
self.assertEqual(frappe.db.get_value("Journal Entry", jv.name, "docstatus"), 1)
jv.cancel()
frappe.db.set_value('Company', budget.company, 'exception_budget_approver_role', '')
frappe.db.set_value("Company", budget.company, "exception_budget_approver_role", "")
budget.load_from_db()
budget.cancel()
def test_monthly_budget_crossed_for_mr(self):
budget = make_budget(applicable_on_material_request=1,
applicable_on_purchase_order=1, action_if_accumulated_monthly_budget_exceeded_on_mr="Stop",
budget_against="Cost Center")
budget = make_budget(
applicable_on_material_request=1,
applicable_on_purchase_order=1,
action_if_accumulated_monthly_budget_exceeded_on_mr="Stop",
budget_against="Cost Center",
)
fiscal_year = get_fiscal_year(nowdate())[0]
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
frappe.db.set_value("Budget", budget.name, "fiscal_year", fiscal_year)
mr = frappe.get_doc({
"doctype": "Material Request",
"material_request_type": "Purchase",
"transaction_date": nowdate(),
"company": budget.company,
"items": [{
'item_code': '_Test Item',
'qty': 1,
'uom': "_Test UOM",
'warehouse': '_Test Warehouse - _TC',
'schedule_date': nowdate(),
'rate': 100000,
'expense_account': '_Test Account Cost for Goods Sold - _TC',
'cost_center': '_Test Cost Center - _TC'
}]
})
mr = frappe.get_doc(
{
"doctype": "Material Request",
"material_request_type": "Purchase",
"transaction_date": nowdate(),
"company": budget.company,
"items": [
{
"item_code": "_Test Item",
"qty": 1,
"uom": "_Test UOM",
"warehouse": "_Test Warehouse - _TC",
"schedule_date": nowdate(),
"rate": 100000,
"expense_account": "_Test Account Cost for Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
}
],
}
)
mr.set_missing_values()
@@ -102,11 +131,16 @@ class TestBudget(unittest.TestCase):
budget.cancel()
def test_monthly_budget_crossed_for_po(self):
budget = make_budget(applicable_on_purchase_order=1,
action_if_accumulated_monthly_budget_exceeded_on_po="Stop", budget_against="Cost Center")
budget = make_budget(
applicable_on_purchase_order=1,
action_if_accumulated_monthly_budget_exceeded_on_po="Stop",
budget_against="Cost Center",
)
fiscal_year = get_fiscal_year(nowdate())[0]
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
frappe.db.set_value("Budget", budget.name, "fiscal_year", fiscal_year)
po = create_purchase_order(transaction_date=nowdate(), do_not_submit=True)
@@ -124,12 +158,20 @@ class TestBudget(unittest.TestCase):
budget = make_budget(budget_against="Project")
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
project = frappe.get_value("Project", {"project_name": "_Test Project"})
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 40000, "_Test Cost Center - _TC", project=project, posting_date=nowdate())
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
40000,
"_Test Cost Center - _TC",
project=project,
posting_date=nowdate(),
)
self.assertRaises(BudgetError, jv.submit)
@@ -141,8 +183,13 @@ class TestBudget(unittest.TestCase):
budget = make_budget(budget_against="Cost Center")
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 250000, "_Test Cost Center - _TC", posting_date=nowdate())
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
250000,
"_Test Cost Center - _TC",
posting_date=nowdate(),
)
self.assertRaises(BudgetError, jv.submit)
@@ -155,9 +202,14 @@ class TestBudget(unittest.TestCase):
project = frappe.get_value("Project", {"project_name": "_Test Project"})
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 250000, "_Test Cost Center - _TC",
project=project, posting_date=nowdate())
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
250000,
"_Test Cost Center - _TC",
project=project,
posting_date=nowdate(),
)
self.assertRaises(BudgetError, jv.submit)
@@ -171,14 +223,23 @@ class TestBudget(unittest.TestCase):
if month > 9:
month = 9
for i in range(month+1):
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 20000, "_Test Cost Center - _TC", posting_date=nowdate(), submit=True)
for i in range(month + 1):
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
20000,
"_Test Cost Center - _TC",
posting_date=nowdate(),
submit=True,
)
self.assertTrue(frappe.db.get_value("GL Entry",
{"voucher_type": "Journal Entry", "voucher_no": jv.name}))
self.assertTrue(
frappe.db.get_value("GL Entry", {"voucher_type": "Journal Entry", "voucher_no": jv.name})
)
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
self.assertRaises(BudgetError, jv.cancel)
@@ -195,14 +256,23 @@ class TestBudget(unittest.TestCase):
project = frappe.get_value("Project", {"project_name": "_Test Project"})
for i in range(month + 1):
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 20000, "_Test Cost Center - _TC", posting_date=nowdate(), submit=True,
project=project)
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
20000,
"_Test Cost Center - _TC",
posting_date=nowdate(),
submit=True,
project=project,
)
self.assertTrue(frappe.db.get_value("GL Entry",
{"voucher_type": "Journal Entry", "voucher_no": jv.name}))
self.assertTrue(
frappe.db.get_value("GL Entry", {"voucher_type": "Journal Entry", "voucher_no": jv.name})
)
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
self.assertRaises(BudgetError, jv.cancel)
@@ -214,10 +284,17 @@ class TestBudget(unittest.TestCase):
set_total_expense_zero(nowdate(), "cost_center", "_Test Cost Center 2 - _TC")
budget = make_budget(budget_against="Cost Center", cost_center="_Test Company - _TC")
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 40000, "_Test Cost Center 2 - _TC", posting_date=nowdate())
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
40000,
"_Test Cost Center 2 - _TC",
posting_date=nowdate(),
)
self.assertRaises(BudgetError, jv.submit)
@@ -228,19 +305,28 @@ class TestBudget(unittest.TestCase):
cost_center = "_Test Cost Center 3 - _TC"
if not frappe.db.exists("Cost Center", cost_center):
frappe.get_doc({
'doctype': 'Cost Center',
'cost_center_name': '_Test Cost Center 3',
'parent_cost_center': "_Test Company - _TC",
'company': '_Test Company',
'is_group': 0
}).insert(ignore_permissions=True)
frappe.get_doc(
{
"doctype": "Cost Center",
"cost_center_name": "_Test Cost Center 3",
"parent_cost_center": "_Test Company - _TC",
"company": "_Test Company",
"is_group": 0,
}
).insert(ignore_permissions=True)
budget = make_budget(budget_against="Cost Center", cost_center=cost_center)
frappe.db.set_value("Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop")
frappe.db.set_value(
"Budget", budget.name, "action_if_accumulated_monthly_budget_exceeded", "Stop"
)
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", 40000, cost_center, posting_date=nowdate())
jv = make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
40000,
cost_center,
posting_date=nowdate(),
)
self.assertRaises(BudgetError, jv.submit)
@@ -257,14 +343,16 @@ def set_total_expense_zero(posting_date, budget_against_field=None, budget_again
fiscal_year = get_fiscal_year(nowdate())[0]
args = frappe._dict({
"account": "_Test Account Cost for Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
"monthly_end_date": posting_date,
"company": "_Test Company",
"fiscal_year": fiscal_year,
"budget_against_field": budget_against_field,
})
args = frappe._dict(
{
"account": "_Test Account Cost for Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
"monthly_end_date": posting_date,
"company": "_Test Company",
"fiscal_year": fiscal_year,
"budget_against_field": budget_against_field,
}
)
if not args.get(budget_against_field):
args[budget_against_field] = budget_against
@@ -273,26 +361,42 @@ def set_total_expense_zero(posting_date, budget_against_field=None, budget_again
if existing_expense:
if budget_against_field == "cost_center":
make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", -existing_expense, "_Test Cost Center - _TC", posting_date=nowdate(), submit=True)
make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
-existing_expense,
"_Test Cost Center - _TC",
posting_date=nowdate(),
submit=True,
)
elif budget_against_field == "project":
make_journal_entry("_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC", -existing_expense, "_Test Cost Center - _TC", submit=True, project=budget_against, posting_date=nowdate())
make_journal_entry(
"_Test Account Cost for Goods Sold - _TC",
"_Test Bank - _TC",
-existing_expense,
"_Test Cost Center - _TC",
submit=True,
project=budget_against,
posting_date=nowdate(),
)
def make_budget(**args):
args = frappe._dict(args)
budget_against=args.budget_against
cost_center=args.cost_center
budget_against = args.budget_against
cost_center = args.cost_center
fiscal_year = get_fiscal_year(nowdate())[0]
if budget_against == "Project":
project_name = "{0}%".format("_Test Project/" + fiscal_year)
budget_list = frappe.get_all("Budget", fields=["name"], filters = {"name": ("like", project_name)})
budget_list = frappe.get_all("Budget", fields=["name"], filters={"name": ("like", project_name)})
else:
cost_center_name = "{0}%".format(cost_center or "_Test Cost Center - _TC/" + fiscal_year)
budget_list = frappe.get_all("Budget", fields=["name"], filters = {"name": ("like", cost_center_name)})
budget_list = frappe.get_all(
"Budget", fields=["name"], filters={"name": ("like", cost_center_name)}
)
for d in budget_list:
frappe.db.sql("delete from `tabBudget` where name = %(name)s", d)
frappe.db.sql("delete from `tabBudget Account` where parent = %(name)s", d)
@@ -302,7 +406,7 @@ def make_budget(**args):
if budget_against == "Project":
budget.project = frappe.get_value("Project", {"project_name": "_Test Project"})
else:
budget.cost_center =cost_center or "_Test Cost Center - _TC"
budget.cost_center = cost_center or "_Test Cost Center - _TC"
monthly_distribution = frappe.get_doc("Monthly Distribution", "_Test Distribution")
monthly_distribution.fiscal_year = fiscal_year
@@ -314,20 +418,27 @@ def make_budget(**args):
budget.action_if_annual_budget_exceeded = "Stop"
budget.action_if_accumulated_monthly_budget_exceeded = "Ignore"
budget.budget_against = budget_against
budget.append("accounts", {
"account": "_Test Account Cost for Goods Sold - _TC",
"budget_amount": 200000
})
budget.append(
"accounts", {"account": "_Test Account Cost for Goods Sold - _TC", "budget_amount": 200000}
)
if args.applicable_on_material_request:
budget.applicable_on_material_request = 1
budget.action_if_annual_budget_exceeded_on_mr = args.action_if_annual_budget_exceeded_on_mr or 'Warn'
budget.action_if_accumulated_monthly_budget_exceeded_on_mr = args.action_if_accumulated_monthly_budget_exceeded_on_mr or 'Warn'
budget.action_if_annual_budget_exceeded_on_mr = (
args.action_if_annual_budget_exceeded_on_mr or "Warn"
)
budget.action_if_accumulated_monthly_budget_exceeded_on_mr = (
args.action_if_accumulated_monthly_budget_exceeded_on_mr or "Warn"
)
if args.applicable_on_purchase_order:
budget.applicable_on_purchase_order = 1
budget.action_if_annual_budget_exceeded_on_po = args.action_if_annual_budget_exceeded_on_po or 'Warn'
budget.action_if_accumulated_monthly_budget_exceeded_on_po = args.action_if_accumulated_monthly_budget_exceeded_on_po or 'Warn'
budget.action_if_annual_budget_exceeded_on_po = (
args.action_if_annual_budget_exceeded_on_po or "Warn"
)
budget.action_if_accumulated_monthly_budget_exceeded_on_po = (
args.action_if_accumulated_monthly_budget_exceeded_on_po or "Warn"
)
budget.insert()
budget.submit()

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
from frappe.model.document import Document

View File

@@ -1 +0,0 @@
from __future__ import unicode_literals

View File

@@ -1,7 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
from frappe import _
@@ -12,28 +11,42 @@ from frappe.utils import flt
class CForm(Document):
def validate(self):
"""Validate invoice that c-form is applicable
and no other c-form is received for that"""
and no other c-form is received for that"""
for d in self.get('invoices'):
for d in self.get("invoices"):
if d.invoice_no:
inv = frappe.db.sql("""select c_form_applicable, c_form_no from
`tabSales Invoice` where name = %s and docstatus = 1""", d.invoice_no)
inv = frappe.db.sql(
"""select c_form_applicable, c_form_no from
`tabSales Invoice` where name = %s and docstatus = 1""",
d.invoice_no,
)
if inv and inv[0][0] != 'Yes':
if inv and inv[0][0] != "Yes":
frappe.throw(_("C-form is not applicable for Invoice: {0}").format(d.invoice_no))
elif inv and inv[0][1] and inv[0][1] != self.name:
frappe.throw(_("""Invoice {0} is tagged in another C-form: {1}.
frappe.throw(
_(
"""Invoice {0} is tagged in another C-form: {1}.
If you want to change C-form no for this invoice,
please remove invoice no from the previous c-form and then try again"""\
.format(d.invoice_no, inv[0][1])))
please remove invoice no from the previous c-form and then try again""".format(
d.invoice_no, inv[0][1]
)
)
)
elif not inv:
frappe.throw(_("Row {0}: Invoice {1} is invalid, it might be cancelled / does not exist. \
Please enter a valid Invoice".format(d.idx, d.invoice_no)))
frappe.throw(
_(
"Row {0}: Invoice {1} is invalid, it might be cancelled / does not exist. \
Please enter a valid Invoice".format(
d.idx, d.invoice_no
)
)
)
def on_update(self):
""" Update C-Form No on invoices"""
"""Update C-Form No on invoices"""
self.set_total_invoiced_amount()
def on_submit(self):
@@ -44,30 +57,40 @@ class CForm(Document):
frappe.db.sql("""update `tabSales Invoice` set c_form_no=null where c_form_no=%s""", self.name)
def set_cform_in_sales_invoices(self):
inv = [d.invoice_no for d in self.get('invoices')]
inv = [d.invoice_no for d in self.get("invoices")]
if inv:
frappe.db.sql("""update `tabSales Invoice` set c_form_no=%s, modified=%s where name in (%s)""" %
('%s', '%s', ', '.join(['%s'] * len(inv))), tuple([self.name, self.modified] + inv))
frappe.db.sql(
"""update `tabSales Invoice` set c_form_no=%s, modified=%s where name in (%s)"""
% ("%s", "%s", ", ".join(["%s"] * len(inv))),
tuple([self.name, self.modified] + inv),
)
frappe.db.sql("""update `tabSales Invoice` set c_form_no = null, modified = %s
where name not in (%s) and ifnull(c_form_no, '') = %s""" %
('%s', ', '.join(['%s']*len(inv)), '%s'), tuple([self.modified] + inv + [self.name]))
frappe.db.sql(
"""update `tabSales Invoice` set c_form_no = null, modified = %s
where name not in (%s) and ifnull(c_form_no, '') = %s"""
% ("%s", ", ".join(["%s"] * len(inv)), "%s"),
tuple([self.modified] + inv + [self.name]),
)
else:
frappe.throw(_("Please enter atleast 1 invoice in the table"))
def set_total_invoiced_amount(self):
total = sum(flt(d.grand_total) for d in self.get('invoices'))
frappe.db.set(self, 'total_invoiced_amount', total)
total = sum(flt(d.grand_total) for d in self.get("invoices"))
frappe.db.set(self, "total_invoiced_amount", total)
@frappe.whitelist()
def get_invoice_details(self, invoice_no):
""" Pull details from invoices for referrence """
"""Pull details from invoices for referrence"""
if invoice_no:
inv = frappe.db.get_value("Sales Invoice", invoice_no,
["posting_date", "territory", "base_net_total", "base_grand_total"], as_dict=True)
inv = frappe.db.get_value(
"Sales Invoice",
invoice_no,
["posting_date", "territory", "base_net_total", "base_grand_total"],
as_dict=True,
)
return {
'invoice_date' : inv.posting_date,
'territory' : inv.territory,
'net_total' : inv.base_net_total,
'grand_total' : inv.base_grand_total
"invoice_date": inv.posting_date,
"territory": inv.territory,
"net_total": inv.base_net_total,
"grand_total": inv.base_grand_total,
}

View File

@@ -1,11 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest
# test_records = frappe.get_test_records('C-Form')
class TestCForm(unittest.TestCase):
pass

View File

@@ -1 +0,0 @@
from __future__ import unicode_literals

View File

@@ -1,7 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
from frappe.model.document import Document

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
from frappe.model.document import Document

View File

@@ -1,27 +1,25 @@
from __future__ import unicode_literals
DEFAULT_MAPPERS = [
{
'doctype': 'Cash Flow Mapper',
'section_footer': 'Net cash generated by operating activities',
'section_header': 'Cash flows from operating activities',
'section_leader': 'Adjustments for',
'section_name': 'Operating Activities',
'position': 0,
'section_subtotal': 'Cash generated from operations',
},
{
'doctype': 'Cash Flow Mapper',
'position': 1,
'section_footer': 'Net cash used in investing activities',
'section_header': 'Cash flows from investing activities',
'section_name': 'Investing Activities'
},
{
'doctype': 'Cash Flow Mapper',
'position': 2,
'section_footer': 'Net cash used in financing activites',
'section_header': 'Cash flows from financing activities',
'section_name': 'Financing Activities',
}
{
"doctype": "Cash Flow Mapper",
"section_footer": "Net cash generated by operating activities",
"section_header": "Cash flows from operating activities",
"section_leader": "Adjustments for",
"section_name": "Operating Activities",
"position": 0,
"section_subtotal": "Cash generated from operations",
},
{
"doctype": "Cash Flow Mapper",
"position": 1,
"section_footer": "Net cash used in investing activities",
"section_header": "Cash flows from investing activities",
"section_name": "Investing Activities",
},
{
"doctype": "Cash Flow Mapper",
"position": 2,
"section_footer": "Net cash used in financing activites",
"section_header": "Cash flows from financing activities",
"section_name": "Financing Activities",
},
]

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest

View File

@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
@@ -13,9 +11,11 @@ class CashFlowMapping(Document):
self.validate_checked_options()
def validate_checked_options(self):
checked_fields = [d for d in self.meta.fields if d.fieldtype == 'Check' and self.get(d.fieldname) == 1]
checked_fields = [
d for d in self.meta.fields if d.fieldtype == "Check" and self.get(d.fieldname) == 1
]
if len(checked_fields) > 1:
frappe.throw(
frappe._('You can only select a maximum of one option from the list of check boxes.'),
title='Error'
frappe._("You can only select a maximum of one option from the list of check boxes."),
title="Error",
)

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest
@@ -11,19 +9,16 @@ import frappe
class TestCashFlowMapping(unittest.TestCase):
def setUp(self):
if frappe.db.exists("Cash Flow Mapping", "Test Mapping"):
frappe.delete_doc('Cash Flow Mappping', 'Test Mapping')
frappe.delete_doc("Cash Flow Mappping", "Test Mapping")
def tearDown(self):
frappe.delete_doc('Cash Flow Mapping', 'Test Mapping')
frappe.delete_doc("Cash Flow Mapping", "Test Mapping")
def test_multiple_selections_not_allowed(self):
doc = frappe.new_doc('Cash Flow Mapping')
doc.mapping_name = 'Test Mapping'
doc.label = 'Test label'
doc.append(
'accounts',
{'account': 'Accounts Receivable - _TC'}
)
doc = frappe.new_doc("Cash Flow Mapping")
doc.mapping_name = "Test Mapping"
doc.label = "Test label"
doc.append("accounts", {"account": "Accounts Receivable - _TC"})
doc.is_working_capital = 1
doc.is_finance_cost = 1

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