Compare commits

..

1817 Commits

Author SHA1 Message Date
Sahil Khan
a9e9efbd23 Merge branch 'hotfix' 2019-05-07 14:45:45 +05:30
Sahil Khan
2f175e6d85 bumped to version 11.1.26 2019-05-07 15:01:01 +05:50
rohitwaghchaure
df817a858b Merge pull request #17510 from rohitwaghchaure/fixed_lead_dashbord_quotation_redirect
fix: quotation link in the lead dashboard not working and filter from the dashboard was not set in the list view
2019-05-07 14:30:16 +05:30
Rohit Waghchaure
4a73059ed3 fix: quotation link in the lead dashboard not working and filter from the dashboard was not applying 2019-05-07 14:29:39 +05:30
rohitwaghchaure
552615525c Merge pull request #17511 from deepeshgarg007/quotation-refactor-fixes
fix: Dynamic Link fieldname fix in quotation
2019-05-07 14:25:38 +05:30
deepeshgarg007
25e408fd2a fix:Contact person query fix in quotation 2019-05-07 12:43:20 +05:30
rohitwaghchaure
375a6f67ae Merge pull request #17505 from rohitwaghchaure/customer_not_found_in_qtn
fix: not able to make sales order from the lead quotation
2019-05-06 19:26:24 +05:30
Rohit Waghchaure
ead8d82a84 fix: not able to make sales order from the lead quotation 2019-05-06 17:16:57 +05:30
Deepesh Garg
2c229c6403 Merge pull request #17495 from sagarvora/ewb_fixes
fix(regional): imporvements to e-Way Bill JSON generation
2019-05-06 12:31:31 +05:30
Sagar Vora
5fb78a375d fix(regional): imporvements to e-Way Bill JSON generation
- Set pincode correctly in 'Bill To - Ship To' scenario
- Python 2 compatibility (convert to int after rounding)
- Avoid execeeding max character limit in tax amounts by rounding the same to two digits
2019-05-06 11:32:37 +05:30
Tyler Matteson
8fcad571f5 Batch naming series hotfix (#17483)
* fix: not able to make sales order from quotation

* fix: batch naming series unicode() call is py3 incompatible
2019-05-04 23:49:24 +05:30
Himanshu
53d7e667dd fix: patch to remove scheduling tool (#17472)
* fix: patch to remove scheduling tool

* fix: drop table

* patch: delete table if exists

* fix: remove drop table

* use orm
2019-05-04 22:42:35 +05:30
Rohan
7395716476 fix(stock): Allow expired batches to be flushed out of the system (#17477) 2019-05-04 22:40:42 +05:30
Rushabh Mehta
c068b6a885 fix: unlink task rather than deleting it (#17486) 2019-05-04 22:39:00 +05:30
Himanshu Warekar
02d28c5908 fix: use list comprehension 2019-05-04 22:35:08 +05:30
Rohan
90d0d24d1a Update erpnext/selling/doctype/customer/customer.py
Co-Authored-By: hrwX <himanshuwarekar@yahoo.com>
2019-05-04 22:35:08 +05:30
Himanshu Warekar
6aab14f9cf fix: calculate percentage only if sales team exist 2019-05-04 22:35:08 +05:30
Himanshu Warekar
163dbdca34 fix: allocated percentage should be equal to 100 2019-05-04 22:35:08 +05:30
Himanshu Warekar
dcc99a2644 fix: python side validation 2019-05-04 22:35:08 +05:30
Rohit Waghchaure
f5297cf386 fix: not able to make sales order from quotation 2019-05-03 15:52:59 +05:30
Mangesh-Khairnar
9f7fd16882 feat: unlink task from project on task deletion 2019-05-03 13:06:19 +05:30
Nabin Hait
5296ab1f87 Merge pull request #16783 from sahil28297/default_warehouse_for_sales_return
fix: set warehouse from def_warehouse_for_sales_return in sales return
2019-05-03 09:27:04 +05:30
Nabin Hait
e42c14f2cb Merge pull request #17469 from rohitwaghchaure/fixed_sales_order_issue_from_quotation
fix: not able to make sales order from quotation
2019-05-03 09:19:27 +05:30
Rohit Waghchaure
4ef10fd6c3 fix: not able to make sales order from quotation 2019-05-03 01:48:45 +05:30
sahil28297
4c0d0e226b Merge branch 'hotfix' into default_warehouse_for_sales_return 2019-05-03 00:05:22 +05:30
Deepesh Garg
094caaa03e Merge pull request #17465 from deepeshgarg007/inactive-items-fix-hotfix
fix: Inactive sales item report fix
2019-05-02 23:50:57 +05:30
Nabin Hait
ce51553d29 Merge pull request #16907 from sagarvora/ewb
feat(regional 🇮🇳): auto-generate e-Way Bill JSON from Sales Invoice
2019-05-02 21:55:24 +05:30
Nabin Hait
f41fc21274 Merge branch 'hotfix' into ewb 2019-05-02 21:54:38 +05:30
Nabin Hait
1f49b77529 Merge pull request #17460 from nabinhait/project-billing-summary
Refactor: Project billing summary Report
2019-05-02 21:48:35 +05:30
deepeshgarg007
a0012f8c48 fix: Inactive sales item report fix 2019-05-02 19:32:43 +05:30
Nabin Hait
4b1c3ad7ac refactor: Project and billing summary 2019-05-02 18:11:27 +05:30
Anurag Mishra
a063803224 fix: handling case if from date and to date are equal in billing reports 2019-05-02 18:11:27 +05:30
Saurabh
63c7fd90a5 Merge branch 'hotfix' 2019-05-02 16:58:24 +05:30
Saurabh
c9c02c7c85 bumped to version 11.1.25 2019-05-02 17:28:24 +06:00
Nabin Hait
bc7ef1937e Merge pull request #17455 from saurabh6790/multiple_fixes
fix: data pulling based on quotation_to and party_name
2019-05-02 16:01:07 +05:30
Nabin Hait
75b63c5b4c Update set_missing_title_for_quotation.py 2019-05-02 16:00:49 +05:30
Saurabh
625191d20a fix: provision to setup customer name on quotation save and patch for the same 2019-05-02 15:50:01 +05:30
Saurabh
1417c7e828 fix: data pulling based on quotation_to and party_name 2019-05-02 14:12:29 +05:30
Saurabh
a4bbc68945 Merge pull request #17449 from nabinhait/auto-account-creation-company-tree
fix: Validate parent account of child company while creating new account based on parent company
2019-05-02 12:26:23 +05:30
Nabin Hait
2d7a591c61 Merge branch 'hotfix' into auto-account-creation-company-tree 2019-05-02 09:56:53 +05:30
Nabin Hait
448a5e1c9c Merge pull request #17447 from nabinhait/woocommerce-multilingual-fix
fix: Multilingual handling in woocommerce integration
2019-05-01 21:15:07 +05:30
Nabin Hait
7be75adc3f fix: Validate parent account of child company while creating new account based on parent company 2019-05-01 20:26:09 +05:30
Nabin Hait
fafee7cf61 Merge pull request #17442 from nabinhait/work-order-bom-image
feat: Added item image in work order and bom
2019-05-01 19:31:24 +05:30
Nabin Hait
16aa23e454 fix: Multilingual handling in woocommerce integration 2019-05-01 19:17:59 +05:30
Nabin Hait
a4d5c5414d Merge pull request #17440 from nabinhait/pe-ref-exchange-rate
fix: Always fetch exchange rate from ref document
2019-05-01 17:17:46 +05:30
Nabin Hait
b104e3595c feat: Added item image in work order and bom 2019-05-01 16:37:32 +05:30
Deepesh Garg
5a06dd1ed1 Merge pull request #17436 from deepeshgarg007/name_fix_hotfix
fix: Rename Inactive Items report to Inactive Sales Items
2019-05-01 16:29:02 +05:30
Nabin Hait
27fe55efe1 fix: Always fetch exchange rate from ref document 2019-05-01 15:32:30 +05:30
Sahil Khan
9089b242ba Merge branch 'hotfix' 2019-05-01 15:13:26 +05:30
Sahil Khan
98e511d236 bumped to version 11.1.24 2019-05-01 15:33:26 +05:50
Nabin Hait
93784d3804 Merge pull request #17430 from nabinhait/deferred-accounting-long-job
fix: Deferred accounting posting moved to long job
2019-05-01 15:04:34 +05:30
Deepesh Garg
d29fde0bf3 Merge branch 'hotfix' into name_fix_hotfix 2019-05-01 14:27:17 +05:30
deepeshgarg007
8326925fe8 fix: Rename Inactive Items report to Inactive Sales Item 2019-05-01 13:36:08 +05:30
rohitwaghchaure
a924b636a4 Merge pull request #17412 from rohitwaghchaure/dont_raise_user_permissions
fix: while saving employee user getting user permissions error
2019-05-01 12:54:52 +05:30
Nabin Hait
3526ed975c moved deferred accounting monthly job to long job 2019-05-01 12:49:44 +05:30
Nabin Hait
d0faec3cc0 Merge pull request #17419 from nabinhait/ss-fixes
fix: a few fixes in payroll
2019-05-01 12:16:51 +05:30
Nabin Hait
661a5ce332 Merge pull request #17393 from ashish-greycube/hotfix_allow_bank_account_import
fix: allow_import_of_bank_account_by_account_manager
2019-05-01 11:17:12 +05:30
Nabin Hait
b289aa3548 Merge pull request #17387 from ashish-greycube/hotfix_correct_party_type
fix: show only party_type doctypes in Party Type field of bank account
2019-05-01 11:15:16 +05:30
Nabin Hait
4ed521162e Merge pull request #17374 from Alchez/hotfix-projects-subject-filter
feat(projects): Add subject filter to Issue and Task
2019-05-01 11:14:08 +05:30
Nabin Hait
8865d05b4c Merge pull request #17396 from chdecultot/hotfix
fix: Multiple corrections to the bank reconciliation tool
2019-05-01 10:59:39 +05:30
Nabin Hait
4df46737ef fix: Null handling 2019-05-01 10:59:02 +05:30
Deepesh Garg
09ac547a80 Merge branch 'hotfix' into ewb 2019-04-30 10:28:57 +05:30
Faris Ansari
c1bbaf07a4 fix: Map item_code to title (#17402)
When making Project from Sales Order, description was mapped
with Task title which can exceed 140 characters easily.
Description should be mapped with description as it is html field.
2019-04-30 10:18:39 +05:30
Nabin Hait
73a081d806 fix: a few fixes in payroll 2019-04-30 00:48:11 +05:30
rohitwaghchaure
e1df414f8b Merge pull request #17413 from rohitwaghchaure/duplicate_error_if_project_created_from_so
hotfix: while making project from sales order, getting duplicate project error
2019-04-29 22:21:18 +05:30
Rohit Waghchaure
cefef3b62d fix: while making project from sales order, getting duplicate project error 2019-04-29 20:34:46 +05:30
Rohit Waghchaure
bd4ee60d1e fix: while saving employee user getting user permissions error 2019-04-29 19:11:17 +05:30
Sahil Khan
f6a9eec23a Merge branch 'hotfix' 2019-04-29 16:35:41 +05:30
Sahil Khan
5742d0836e bumped to version 11.1.23 2019-04-29 16:55:41 +05:50
deepeshgarg007
0555223797 Merge branch 'hotfix' of https://github.com/frappe/erpnext into ewb 2019-04-28 23:22:48 +05:30
deepeshgarg007
de93efb304 fix: Added test cases for ewb json creation 2019-04-28 23:14:02 +05:30
deepeshgarg007
6856033d3c fix: Code cleanup and fixes 2019-04-28 23:13:26 +05:30
Faris Ansari
0735165ef3 fix: Make Customer and lead field dynamic in quotations and opportunity (#17097)
fix: Make Customer and lead field dynamic in quotations and opportunity
2019-04-28 20:46:39 +05:30
Charles-Henri Decultot
1aa5462f36 fix: Codacy 2019-04-26 20:52:12 +02:00
Charles-Henri Decultot
f83514418e fix: Codacy 2019-04-26 20:02:38 +02:00
Charles-Henri Decultot
3c13e8e8b9 fix: Codacy 2019-04-26 18:56:47 +02:00
Charles-Henri Decultot
de0955b8ed fix: Remove leftover method 2019-04-26 14:59:10 +02:00
Charles-Henri Decultot
82af75b853 fix: Hotfix conflict resolved 2019-04-26 14:57:26 +02:00
ashish-greycube
d3ce4f815d codacy review 2019-04-26 14:10:46 +05:30
ashish-greycube
85bf9203ed fix: allow_import_of_bank_account_by_account_manager 2019-04-26 13:56:26 +05:30
rohitwaghchaure
db12f75681 Merge pull request #17385 from surajshetty3416/fix-price-list-hotfix
fix: Price list conversion for other UOM from stock UOM item price
2019-04-26 12:06:46 +05:30
ashish-greycube
3763169978 show only party_type doctypes in Party Type field of bank account 2019-04-26 11:51:34 +05:30
Suraj Shetty
36a8c431f5 fix: Typo 2019-04-26 11:18:26 +05:30
Suraj Shetty
5a67431daa fix: Price list for UOM other than stock UOM
-Fixes conversion from default UOM item price to  other UOMs
2019-04-26 11:18:13 +05:30
Nabin Hait
c4e92b3004 Merge pull request #17381 from nabinhait/tax-exemption
refactor: Employee Tax Exemption
2019-04-26 00:20:27 +05:30
Nabin Hait
2d90e8a2de fix: test cases 2019-04-25 22:29:49 +05:30
Sagar Vora
4dacb89da6 fix: test case and semicolons 2019-04-25 21:45:26 +05:30
Sagar Vora
c552d74746 fix: add missing semicolons 2019-04-25 21:45:26 +05:30
Sagar Vora
2697c2d869 feat(regional | India): auto-generate e-Way Bill JSON from Sales Invoice 2019-04-25 21:45:26 +05:30
Nabin Hait
4a950abf2e fix: test cases 2019-04-25 21:42:01 +05:30
Nabin Hait
7f10f4eea1 Merge pull request #17376 from rohitwaghchaure/trial_balance_error_finance_book
fix: Trial balance finance book issue
2019-04-25 20:35:09 +05:30
Nabin Hait
5c93260eec Merge pull request #17377 from nabinhait/pos-advance-hotfix
fix: Don't allocate advance if pos
2019-04-25 20:33:59 +05:30
Nabin Hait
485d9c133a fix: test cases 2019-04-25 19:54:20 +05:30
deepeshgarg007
891d9aeee9 fix: Remove method from validation 2019-04-25 19:19:01 +05:30
deepeshgarg007
51f0d6d409 fix: Remove fetch_from from customer name 2019-04-25 18:56:08 +05:30
Nabin Hait
80374be724 refactor: Employee Tax Exemption 2019-04-25 18:44:32 +05:30
Nabin Hait
619bf561da fix: Don't allocate advance if pos 2019-04-25 17:47:26 +05:30
Rohit Waghchaure
13c15d0222 fix: Trial balance finance book issue 2019-04-25 17:46:44 +05:30
deepeshgarg007
3d31bccaf6 fix: Change dynamic_field name and minor fixes 2019-04-25 17:29:21 +05:30
deepeshgarg007
3959bf34ee Merge branch 'hotfix' of https://github.com/frappe/erpnext into quotation-fix 2019-04-25 14:57:56 +05:30
Rohan Bansal
1897ed38df enhance(projects): Add subject filter to Issue and Task 2019-04-25 13:40:24 +05:30
rohitwaghchaure
126c4efb2c Merge pull request #17357 from rohitwaghchaure/fix_straight_line_asset_depreciation
fix: Straight line asset depreciation not working if Expected Value After Useful Life is defined
2019-04-25 10:23:15 +05:30
Rohit Waghchaure
7d0bc2bd5a fixed test cases 2019-04-25 01:26:27 +05:30
Nabin Hait
0c70ae44c3 Merge pull request #17366 from chdecultot/plaid_settings_erro
fix: Better error message for plaid setting
2019-04-24 23:15:02 +05:30
Nabin Hait
024dc4a4c9 Merge pull request #17316 from alyf-de/validate_iban
feat(accounts): validate Bank Account's IBAN
2019-04-24 22:57:04 +05:30
Deepesh Garg
e3567ff31b Merge pull request #17363 from deepeshgarg007/inactive_items_hotfix
feat: Inactive items hotfix
2019-04-24 22:30:34 +05:30
Charles-Henri Decultot
97842ca804 fix: cleanup development 2019-04-24 18:15:46 +02:00
Charles-Henri Decultot
d14799a9fa fix: verbose error message when api keys are not setup 2019-04-24 18:06:14 +02:00
Raffael Meyer
e534221245 fix: validate IBAN only if it exists 2019-04-24 16:22:34 +02:00
Raffael Meyer
4acfec901e Merge branch 'hotfix' of https://github.com/frappe/erpnext into validate_iban 2019-04-24 16:15:35 +02:00
deepeshgarg007
a981a8a153 fix: Ignore sql injections 2019-04-24 15:14:23 +05:30
deepeshgarg007
11e1c60cd3 fix: Typo fixes 2019-04-24 15:13:59 +05:30
deepeshgarg007
fe7baae9f7 fix: Ordering and datatype fixes in inactive items report 2019-04-24 15:13:46 +05:30
deepeshgarg007
da64113b9a feat: Logic for query and report creation for inactive items 2019-04-24 15:13:28 +05:30
rohitwaghchaure
fb76cb7a78 Merge pull request #17301 from rohitwaghchaure/fixed_received_qty_showing_incorrect
fix: received qty in the purchase order item showing incorrect if user has returned the rejected quantity
2019-04-24 15:08:39 +05:30
deepeshgarg007
1bd69b4490 fix: Reordered and deleted unnecessary filters 2019-04-24 15:06:48 +05:30
deepeshgarg007
62d51d82ea feat: Added filters and columns for inactive items report 2019-04-24 15:06:23 +05:30
deepeshgarg007
6ddc554965 fix: Merge branch hotfix into quotation-fix 2019-04-24 14:53:30 +05:30
Rohit Waghchaure
5a6fc77751 fix: Straight line asset depreciation not working if Expected Value After Useful Life is defined 2019-04-24 11:40:37 +05:30
Nabin Hait
733db826ec Merge branch 'hotfix' into validate_iban 2019-04-23 21:39:47 +05:30
Nabin Hait
6643156df6 Merge pull request #17347 from nabinhait/invoice-advances
fix: don't allocate advances if POS
2019-04-23 21:36:29 +05:30
Nabin Hait
6022f2bcf8 Merge pull request #17349 from rohitwaghchaure/invoiced_items_gross_margin_api
feat: Get invoiced item's gross margin using API
2019-04-23 21:36:02 +05:30
Nabin Hait
b890492dc0 Merge pull request #17348 from nabinhait/salary-slip-rounded
fix: Rounded tax amount in salary slip
2019-04-23 21:35:34 +05:30
Rohit Waghchaure
6ea108f01d feat: Get invoiced item's gross margin using API 2019-04-23 18:56:26 +05:30
Nabin Hait
628bed1f5a Merge branch 'hotfix' into validate_iban 2019-04-23 18:41:46 +05:30
Nabin Hait
4c0e3aa097 Merge pull request #17341 from Alchez/hotfix-return-deliveries
fix(selling): Fix method to also consider return documents
2019-04-23 18:41:11 +05:30
Nabin Hait
631e334a3f Merge pull request #17338 from chdecultot/bank_reco_corrections
fix: Bank reconciliation corrections
2019-04-23 18:40:03 +05:30
Nabin Hait
8f4d92eba2 Merge branch 'hotfix' into validate_iban 2019-04-23 18:39:12 +05:30
Deepesh Garg
2f4193757e fix: Stock Ledger report fix (#17342) 2019-04-23 17:30:11 +05:30
Rohan Bansal
cba64988df fix(selling): Fix method to also consider return documents 2019-04-23 16:39:09 +05:30
Nabin Hait
17e6fce486 fix: Rounded tax amount in salary slip 2019-04-23 15:51:28 +05:30
Nabin Hait
05fb3f2d75 fix: don't allocate advances if POS 2019-04-23 15:49:38 +05:30
Charles-Henri Decultot
af6360b273 Bank reconciliation corrections 2019-04-23 10:44:32 +02:00
Nabin Hait
043a47a9c0 Merge pull request #17329 from nabinhait/income-tax-period-factor
fix: Income tax period factor considering joining and relieving date
2019-04-22 21:07:35 +05:30
Nabin Hait
23e424911c Merge branch 'hotfix' into income-tax-period-factor 2019-04-22 19:28:13 +05:30
Saif
a5fbeaa3d3 fix: Remove duplicate/incorrect patch 2019-04-22 17:29:36 +05:00
Nabin Hait
8aeb4b04bd fix: Income tax period factor considering joining and relieving date 2019-04-22 17:39:02 +05:30
Raffael Meyer
f3b07495f6 fix typo 2019-04-22 12:38:22 +02:00
Raffael Meyer
70f89462a8 fix: consider empty iban 2019-04-22 12:27:12 +02:00
Nabin Hait
bbc7f474c3 Merge pull request #17327 from Anurag810/bom_prowser_patch
fix: (Patch) Removed page Bom-Browser
2019-04-22 15:54:35 +05:30
Anurag Mishra
26fe30685a Merge branch 'hotfix' into bom_prowser_patch 2019-04-22 15:53:05 +05:30
Anurag Mishra
7bdd27f7e2 chore: used frappe.delete_doc_if_exists 2019-04-22 15:50:12 +05:30
Nabin Hait
96ec4aeda0 Merge pull request #17287 from alyf-de/skr
feat(accounts): add German CoA with numbers
2019-04-22 15:44:48 +05:30
Nabin Hait
cce65d41b8 Merge pull request #17325 from PawanMeh/fix_17324
fix: Attendance list not showing employee name
2019-04-22 14:58:07 +05:30
Nabin Hait
a44d46e535 Merge pull request #17320 from nabinhait/payroll-based-on-payment-days
fix: Renamed depends_on_lwp to depends_on_payment_days
2019-04-22 14:55:37 +05:30
Anurag Mishra
4f16d17d21 fix: resolve conflicts 2019-04-22 14:48:15 +05:30
Anurag Mishra
759bb0eb62 fix: (Patch) Removed page Bom-Browser 2019-04-22 14:46:00 +05:30
Sahil Khan
d7aa71aa70 Merge branch 'hotfix' 2019-04-22 14:05:43 +05:30
Sahil Khan
32207ad722 bumped to version 11.1.22 2019-04-22 14:25:43 +05:50
hello@openetech.com
8a32ad206a [fix] #17324 2019-04-22 13:58:30 +05:30
Nabin Hait
16bd2ed967 Merge pull request #17319 from SaiFi0102/Revert-Allocate-Advance-Automatically-V11
fix: Set Allocate Advance Automatically disabled by default (v11)
2019-04-22 13:32:30 +05:30
Nabin Hait
393b12a37f fix: Renamed depends_on_lwp to depends_on_payment_days 2019-04-22 13:26:18 +05:30
Saif Ur Rehman
d1332f6c24 fix: Set Allocate Advance Automatically disabled by default 2019-04-22 12:17:25 +05:00
Saurabh
f36fa088f8 Merge pull request #17302 from sahil28297/new_site_sync
fix(site_sync): return more data in level
2019-04-22 12:46:20 +05:30
Saurabh
bb63103183 Merge branch 'hotfix' into new_site_sync 2019-04-22 12:46:13 +05:30
Anurag Mishra
7760db7563 fix: sales order status for order type 'Maintenance' (#17119)
* fix: Sales order Status for order type 'Maintenance'

* fix: test case for sales order
2019-04-22 12:15:11 +05:30
Saurabh
0ea1e67ce7 Merge branch 'hotfix' into new_site_sync 2019-04-22 11:59:52 +05:30
Nabin Hait
587b52dcd4 Merge pull request #17080 from auliabismar/patch-2
fix: Renumber Aktiva, remove excess 0
2019-04-22 11:21:15 +05:30
Nabin Hait
efcdf2fd42 Merge pull request #17255 from Anurag810/patch_for_salary_structure
fix: (Patch)make salary details submitable if  salary structure is submitted
2019-04-22 11:17:28 +05:30
Nabin Hait
010a05df48 Update set_salary_details_submitable.py 2019-04-22 11:16:47 +05:30
Nabin Hait
58d565a882 Merge pull request #17292 from prasadarr/listing-fixes-hotfix
fix: Allow system manager to access share ledger
2019-04-22 11:13:17 +05:30
Nabin Hait
b655b07f20 Merge pull request #17309 from nabinhait/ar-fix
fix: Total row alignment in AR report
2019-04-22 11:11:45 +05:30
Sahil Khan
afb59fa5c0 fix: import iteritems 2019-04-22 10:47:37 +05:30
Sahil Khan
cb4b86512d fix: syntax error 2019-04-22 10:10:50 +05:30
Raffael Meyer
49f919a4fc fix test's error message 2019-04-22 05:32:35 +02:00
Raffael Meyer
4a9127f9a6 feat(accounts): validate IBAN 2019-04-22 03:46:25 +02:00
Kenneth Sequeira
c4a670c8c8 add salutation in contact display for lead (#17312) 2019-04-20 21:44:38 +05:30
Don-Leopardo
a26e2c064a fix: Campaign Efficiency report only works in english (#17284)
* fix column translation and match

* fix float results

* fix import missing
2019-04-20 21:12:23 +05:30
Sahil Khan
3889d0f0a0 fix: refactor level 2019-04-20 14:26:49 +05:30
rohitwaghchaure
4e81fb20b9 fix: Move erpnext related methods from frappe to erpnext (#17293) 2019-04-20 11:50:45 +05:30
Nabin Hait
dfba52b834 fix: Total row alignment in AR report 2019-04-20 10:57:04 +05:30
Nabin Hait
f665e42e2a Merge pull request #17307 from surajshetty3416/fix-employee-permission-hotfix
fix: Do not create employee user permission if already exists
2019-04-20 01:44:30 +05:30
Nabin Hait
560cc66a36 Merge pull request #17279 from rohitwaghchaure/requested_items_tobe_ordered_issue_for_multi_uom
fix: Requested Items To Be Ordered report showing records even if material request is fully ordered
2019-04-20 01:27:46 +05:30
Suraj Shetty
d08953b72b fix: Do not create employee user permission if already exists 2019-04-19 21:57:39 +05:30
Nabin Hait
34e4ac2398 Merge pull request #17296 from chdecultot/reconciliation_correction
fix: Reconciliation dashboard py3 and matching corrections
2019-04-19 20:02:54 +05:30
Sahil Khan
3dbaa3c2d9 fix(site_sync): return more data in level 2019-04-19 16:31:23 +05:30
Rohit Waghchaure
613d82e12f fix: received qty in the purchase order item showing incorrect if user has returned the rejected quantity 2019-04-19 16:28:19 +05:30
Anurag Mishra
4f2fa173c9 fix: Reopen button does not appear in delivery note (#17295) 2019-04-19 16:06:17 +05:30
Rohit Waghchaure
d36e635e60 fix: Requested Items To Be Ordered report showing records even if material request is fully ordered 2019-04-19 14:54:59 +05:30
Charles-Henri Decultot
e86d21ea15 Py3 and matching corrections 2019-04-19 10:09:06 +02:00
Nabin Hait
b6fda118b9 Merge pull request #17280 from rohitwaghchaure/credit_will_not_be_converted_if_debit_amount_is_there
fix: credit amount not be consider if debit amount is present in the general ledger
2019-04-19 13:18:33 +05:30
Nabin Hait
2c607e5562 Merge pull request #17290 from alyf-de/company_test
fix(test): provide a helpful error message
2019-04-19 13:10:46 +05:30
Nabin Hait
95fce2395a Merge pull request #17289 from sunhoww/patch-1
fix: scan_barcode field adding invalid items
2019-04-19 13:07:06 +05:30
Nabin Hait
0f0dcd9035 Merge pull request #17285 from rohitwaghchaure/task_not_able_to_search_by_name_in_global_search
fix: task name was not able to search by name in global search
2019-04-19 13:06:24 +05:30
Prasad R
ce291c253b fix: show 2 missing doctypes in Accounts
Pricing Term and Exchage Rate Revaluation were missing, added in list
2019-04-19 12:17:19 +05:30
Prasad R
e85c6ad236 fix: Allow system manager to access share ledger 2019-04-19 11:07:19 +05:30
Raffael Meyer
df16cdcf31 fix(test): provide a helpful error message 2019-04-19 00:21:44 +02:00
Raffael Meyer
00303858df fix missing account types 2019-04-19 00:09:37 +02:00
Sun Howwrongbum
6f54a7b7d8 fix: scan_barcode field adding invalid items 2019-04-19 01:44:35 +05:30
Raffael Meyer
fba8bfc0d0 feat(accounts): add German CoA with numbers 2019-04-18 21:27:22 +02:00
Rohit Waghchaure
4db4f21d16 fix: task name was not able to search by name in global search 2019-04-18 22:34:19 +05:30
Rohit Waghchaure
abf9ef0244 fix: credit amount in account's currency not be consider if debit amount is present in the general ledger 2019-04-18 22:01:45 +05:30
Suraj Shetty
22ad81fb57 fix: Remove unwanted parent & parenttype field (#17274) 2019-04-18 15:45:47 +05:30
Shivam Mishra
923c5462a2 Merge pull request #17267 from fproldan/bundlestock
fix: Incorrect stock in "Available Stock for Packing Items" report
2019-04-18 11:04:55 +05:30
Francisco Roldán
753b3d1c28 Merge branch 'hotfix' into bundlestock 2019-04-17 11:44:40 -03:00
Nabin Hait
b9046edb85 Merge pull request #17259 from frappe/kennethsequeira-patch-2
fix: Improve Validation Message in BOM
2019-04-17 17:35:42 +05:30
Nabin Hait
7932eba733 Merge pull request #17266 from deepeshgarg007/gstr1-fixes
fix: GSTR-1 B2C Small report fix
2019-04-17 17:33:20 +05:30
Nabin Hait
5ba9c82922 Merge branch 'hotfix' into gstr1-fixes 2019-04-17 17:33:13 +05:30
Nabin Hait
fc48ce7073 Merge pull request #17250 from saurabh6790/patches_fix
fix: woocommerce settings patch
2019-04-17 17:30:14 +05:30
Nabin Hait
8b9a84b568 Merge pull request #17253 from hrwX/sales_percentage_validate_v11
fix(Customer): validate percentage total
2019-04-17 17:28:50 +05:30
Deepesh Garg
cc4e6a25f6 Merge branch 'hotfix' into kennethsequeira-patch-2 2019-04-17 17:24:45 +05:30
Nabin Hait
17923863de Merge pull request #17256 from Anurag810/fix_report_of_billing_summary
fix: total error arissing due to blank link field
2019-04-17 17:23:19 +05:30
Nabin Hait
32efea5e38 Merge pull request #17262 from rohitwaghchaure/finance_book_blank_issue
fix: If finance book filter is not set then show all the entries
2019-04-17 17:22:33 +05:30
Deepesh Garg
87a2c1d27d Merge branch 'hotfix' into kennethsequeira-patch-2 2019-04-17 17:16:37 +05:30
Nabin Hait
c581d67bba Merge pull request #17120 from hrwX/payment_terms_fix
fix(Purchase Order): fetch payment terms
2019-04-17 17:16:30 +05:30
Himanshu Warekar
1865e0df7c refactor: fetch payment terms in account settings 2019-04-17 15:35:43 +05:30
Himanshu Warekar
308ae1f155 fix: codacy fixes 2019-04-17 12:42:00 +05:30
Himanshu Warekar
2b54cee4aa fix: test case 2019-04-17 12:09:19 +05:30
Himanshu Warekar
ba47f89702 fix: added a single value to fetch payment terms 2019-04-17 11:24:04 +05:30
Nabin Hait
0ea32faf3d Merge pull request #17268 from nabinhait/pr-pi-onload
fix: Pull items from PR to PI
2019-04-16 23:45:48 +05:30
Nabin Hait
7be0736154 fix: removed debug 2019-04-16 23:05:39 +05:30
Nabin Hait
97bf12734a fix: Pull items from PR to PI 2019-04-16 22:11:22 +05:30
deepeshgarg007
4bccd692e5 fix: GSTR1 B2C report fix 2019-04-16 20:50:46 +05:30
NahuelOperto
07f8e6bbfc fix get_item_warehouse_quantity_map method 2019-04-16 11:36:19 -03:00
Rohit Waghchaure
15c7a05879 fix: If finance book filter is not set then show all the entries 2019-04-16 19:28:11 +05:30
Kenneth Sequeira
82e76b2c0c Improve Validation Message in BOM
Update following validation message:

"Price not found for item {0} and price list {1}" to "Price not found for item {0} in price list {1}"
2019-04-16 18:00:21 +05:30
Anurag Mishra
d6757b7af6 fix: total error arissing due to blank link field 2019-04-16 17:39:40 +05:30
Anurag Mishra
b380a02d09 fix: make salary details submitable if salary structure is submitted 2019-04-16 17:07:07 +05:30
Himanshu Warekar
64980fed59 fix: validate percentage total 2019-04-16 16:29:13 +05:30
Saurabh
7df8c0ef82 fix: woocommerce settings patch 2019-04-16 15:57:21 +05:30
deepeshgarg007
28fe73640b fix: Dynamic link fixes in quotation and opportunity 2019-04-16 15:21:51 +05:30
deepeshgarg007
7cfe247b2e Merge branch 'hotfix' of https://github.com/frappe/erpnext into quotation-fix 2019-04-16 13:38:15 +05:30
Saurabh
332b4171c0 Merge branch 'hotfix' 2019-04-16 13:34:52 +05:30
Saurabh
e5544b8c86 bumped to version 11.1.21 2019-04-16 14:04:52 +06:00
sahil28297
38e5e7f616 Merge pull request #17246 from frappe/revert-17226-site_sync
Revert "feat(site_sync): return erpnext data in level"
2019-04-16 13:22:18 +05:30
sahil28297
a595346769 Revert "feat(site_sync): return erpnext data in level" 2019-04-16 13:21:24 +05:30
Nabin Hait
8dace802dc Merge pull request #17243 from hrwX/delivery_note_fix_v11
fix(Delivery Note): show get items even if note has been amended
2019-04-16 13:19:58 +05:30
Himanshu
ac6259dfe8 fix: let user delete the elements of items 2019-04-16 13:18:47 +05:30
Nabin Hait
f801cc953b Merge pull request #17152 from Alchez/hotfix-company-address-label
fix(selling): Add missing label to company address field
2019-04-16 12:45:40 +05:30
Nabin Hait
c117048fde Merge pull request #17226 from sahil28297/site_sync
feat(site_sync): return erpnext data in level
2019-04-16 12:42:45 +05:30
Himanshu Warekar
73fd508ccf fix: show get items even if note has been amended 2019-04-16 12:15:49 +05:30
deepeshgarg007
7cc972969f Merge branch 'hotfix' of https://github.com/frappe/erpnext into quotation-fix 2019-04-16 10:32:32 +05:30
Nabin Hait
734c32b970 Merge pull request #17234 from nabinhait/pr-to-pi
fix: Invoice against partially returned DN/PR
2019-04-16 09:46:24 +05:30
Nabin Hait
fa862e6814 Merge pull request #17236 from hrwX/remove_asset_permission_v11
fix(Asset): Remove user permission for employee in asset
2019-04-16 09:45:54 +05:30
deepeshgarg007
d333d2e6eb fix: Change enquiry_from to opportunity_from in multiple files 2019-04-16 08:53:29 +05:30
deepeshgarg007
3b78a018aa Merge branch hotfix into quotation-fix 2019-04-16 08:46:07 +05:30
Himanshu Warekar
cc581d21f0 Merge branch 'hotfix' of https://github.com/frappe/erpnext into remove_asset_permission_v11 2019-04-15 22:54:42 +05:30
Himanshu Warekar
dca60888ce fix: remove user permission for emp in asset 2019-04-15 22:52:50 +05:30
Nabin Hait
b2465c7a69 fix: Invoice against partially returned DN/PR 2019-04-15 21:02:16 +05:30
rohitwaghchaure
14477c7f51 Merge pull request #17161 from karthikeyan5/hotfix-woocommerce-fix
fix(woocommerce integration): 403 error and adding defaults
2019-04-15 19:34:54 +05:30
deepeshgarg007
f0ee3d26a7 fix: Styling and indentation fixes 2019-04-15 19:20:59 +05:30
deepeshgarg007
2e87202b3b Merge branch 'hotfix' of https://github.com/frappe/erpnext into quotation-fix 2019-04-15 17:58:54 +05:30
Nabin Hait
1024b55f99 Fixed merge conflict 2019-04-15 11:41:54 +05:30
Nabin Hait
9ba7b678fe fix: Bank reconciliation cleanup 2019-04-15 11:33:06 +05:30
Nabin Hait
a8c8e6b78a Merge pull request #16752 from nabinhait/limit-cond-fix
fix: Limit conditions while fetching payment entries
2019-04-15 10:19:12 +05:30
Nabin Hait
ce107086e7 Merge pull request #17083 from frappe/revert-16926-salary-slip-fix
Revert "fix(Salary Slip): Consider Leave without Pay for calculation"
2019-04-15 10:14:12 +05:30
Nabin Hait
49d1449d2b Merge branch 'hotfix' into revert-16926-salary-slip-fix 2019-04-15 10:13:31 +05:30
Nabin Hait
2f6789e54d Merge pull request #17228 from rohitwaghchaure/pos_not_working_if_user_can_access_more_than_one_company
fix: POS not working if user has access of multiple company
2019-04-15 10:12:51 +05:30
Nabin Hait
f2893e5701 Merge pull request #17215 from nabinhait/project-task-opt-tests
perf: Project task optimization
2019-04-15 10:11:16 +05:30
Nabin Hait
870410c9d5 Merge pull request #17180 from netchampfaris/duplicate-variant-check
fix: Validate variant attributes only if is_new
2019-04-15 10:09:12 +05:30
Nabin Hait
30bca30f20 Merge pull request #17185 from netchampfaris/allow-items-not-in-stock
feat: Allow items not in stock to be added in cart
2019-04-15 10:07:49 +05:30
Nabin Hait
80f1d5f63d Merge pull request #17217 from netchampfaris/item-price-packing-unit
fix: Set default value for Packing Unit as 0
2019-04-15 10:07:00 +05:30
Nabin Hait
76d4fa9f2b Merge pull request #17221 from nabinhait/supplier-sales-analytics
fix: supplier wise sales analytics report
2019-04-15 10:05:43 +05:30
Nabin Hait
e17c9d9978 Merge pull request #17225 from hrwX/naming_series
fix(Naming Series): Naming series
2019-04-15 10:05:17 +05:30
deepeshgarg007
e8883e20cd fix: Remove comments and unused code 2019-04-14 22:39:58 +05:30
deepeshgarg007
af4d588f64 fix: Make customer and lead dynamic_link in opportunity 2019-04-14 22:35:06 +05:30
deepeshgarg007
4f0a4a1a2d fix: Customer dashboard fixes 2019-04-14 22:35:06 +05:30
deepeshgarg007
7f7a1b48ed fix: Test case fixes inquotation 2019-04-14 22:35:06 +05:30
deepeshgarg007
f094662f5e fix:Test record fixes 2019-04-14 22:35:06 +05:30
deepeshgarg007
e2fc03e561 fix: Cart test fixes 2019-04-14 22:35:06 +05:30
deepeshgarg007
3987b4b714 fix: Test case fixes in quotation for dynamic column 2019-04-14 22:35:06 +05:30
deepeshgarg007
e889a58724 fix: Patch typo fix and set label in refresh 2019-04-14 22:35:06 +05:30
deepeshgarg007
1638994436 fix: Patch to move customer and lead 2019-04-14 22:35:06 +05:30
deepeshgarg007
ff99492481 fix: Removed redundant code 2019-04-14 22:33:52 +05:30
deepeshgarg007
a65af7a2f5 fix: Quotation Query fix in lead.py 2019-04-14 22:33:52 +05:30
deepeshgarg007
6ba48c58e8 fix: Server side handling of quotation to and get_query fix 2019-04-14 22:33:52 +05:30
deepeshgarg007
3b4f481ca4 fix: Make Customer and lead field dynamic 2019-04-14 22:33:52 +05:30
Rohit Waghchaure
548e93b2d3 fix: POS not working if user has access of multiple company 2019-04-14 19:39:11 +05:30
sahil28297
76eb9b32b3 Merge branch 'hotfix' into site_sync 2019-04-14 18:58:28 +05:30
Sahil Khan
0ac4cfa9b1 fix(site_sync): remove duplicate entry 2019-04-14 18:29:49 +05:30
Himanshu
dc34393b8a fix: allow braces for custom field names 2019-04-14 00:54:24 +05:30
Himanshu
023a865e1e Merge pull request #7 from frappe/hotfix
Hotfix
2019-04-14 00:49:41 +05:30
rohitwaghchaure
d2a7ec1add Merge pull request #17222 from Anurag810/pay_fix
fix: handle for party type member in payment entry(v11)
2019-04-13 00:10:30 +05:30
rohitwaghchaure
564ee5399c Merge pull request #17223 from rohitwaghchaure/user_permissions_are_not_working_for_stock_ledger
fix: user permissions are not working on stock ledger report
2019-04-13 00:09:58 +05:30
karthikeyan5
2518a2ab16 fix(woocommerce integration): travis fix 2019-04-12 19:35:07 +05:30
karthikeyan5
df3e8853ae fix(woocommerce integration): fix strange travis error
the patch was working locally. But, in was failing on travis. The strange thing was that the patch running in travis was looking for woocommerce_settings in the path 'frappe.core.doctype.woocommerce_settings.woocommerce_settings'
2019-04-12 19:35:07 +05:30
karthikeyan5
a0b7ff60b8 fix(woocommerce integration): possible travis fix
possible fix for travis patch error "Error: No module named woocommerce_settings.woocommerce_settings)"
2019-04-12 19:35:07 +05:30
karthikeyan5
97383716e6 fix(woocommerce integration): error in new-site
resolving "Could not find UOM: Nos" error in travis
2019-04-12 19:35:06 +05:30
karthikeyan5
f788117b3e fix(woocommerce integration): defaults in settings 2019-04-12 19:35:06 +05:30
karthikeyan5
6784335e2c fix(woocommerce integration): fixing 403 error 2019-04-12 19:35:06 +05:30
Rohit Waghchaure
c5c9dc5f6d fix: user permissions are not working on stock ledger report 2019-04-12 16:58:51 +05:30
Nabin Hait
819e24ddde fix: supplier wise sales analytics report 2019-04-12 15:11:11 +05:30
Anurag Mishra
313ed4feeb fix: handle for party type member in payment entry 2019-04-12 15:11:06 +05:30
Nabin Hait
5157fa9233 Merge pull request #17150 from nabinhait/ar-credit-note
fix: Show standalone credit note in Accounts receivable report
2019-04-12 14:18:17 +05:30
Faris Ansari
774b96495f fix: Set default value for Packing Unit as 0
The default value 1 assumes Items will be always packed in integer
quantities. This is not the usual case.
2019-04-12 12:38:04 +05:30
Nabin Hait
ea4c2c9e7d fix: task optimisation and test case fixes 2019-04-12 11:33:28 +05:30
Nabin Hait
b42bbf1b6f perf: Optimisation of project and task updation 2019-04-12 11:33:28 +05:30
Nabin Hait
c768febac6 Merge pull request #17206 from rohitwaghchaure/fix_pending_so_items_for_purchase_reques_report
fix: Pending SO Items For Purchase Request report not showing the so, requested and pending quantity correctly
2019-04-12 11:11:16 +05:30
Nabin Hait
0449d30423 Merge pull request #16976 from ESS-LLP/patient_hotfix
fix: Patient relation - patient link is not showing
2019-04-12 11:08:24 +05:30
Nabin Hait
f17dfb0ebe Merge pull request #17157 from Anurag810/vedmata-print-fixes
fix: Vedmata print fixes
2019-04-12 11:07:24 +05:30
Nabin Hait
13273412d1 Merge pull request #17207 from Anurag810/timesheet_report_amount_fixes
fix: timesheet report not showing total amount correctly
2019-04-12 11:05:12 +05:30
Nabin Hait
f198b1d032 Merge branch 'hotfix' into timesheet_report_amount_fixes 2019-04-12 11:05:03 +05:30
Nabin Hait
9512a43d44 Merge pull request #17187 from nabinhait/rounding-adjustment-gle
fix: Rounding Adjustment GL Entry
2019-04-12 11:00:29 +05:30
Anurag Mishra
50db128ff1 fix: timesheet report not showing total amount correctly 2019-04-11 16:07:38 +05:30
Rohit Waghchaure
5eaf7d0517 fix: Pending SO Items For Purchase Request not showing the so quantity correctly if so has duplicate items 2019-04-11 13:56:40 +05:30
Nabin Hait
760b01912a Merge branch 'hotfix' into limit-cond-fix 2019-04-11 11:47:48 +05:30
Nabin Hait
4c331206f1 Merge branch 'hotfix' into patient_hotfix 2019-04-11 11:46:53 +05:30
Nabin Hait
02181c017a Merge branch 'hotfix' into patch-2 2019-04-11 11:46:39 +05:30
Nabin Hait
7fece8f431 Merge branch 'hotfix' into revert-16926-salary-slip-fix 2019-04-11 11:46:35 +05:30
Nabin Hait
bd7a165318 Merge branch 'hotfix' into ar-credit-note 2019-04-11 11:46:16 +05:30
Nabin Hait
4114365017 Merge branch 'hotfix' into hotfix-company-address-label 2019-04-11 11:46:08 +05:30
Nabin Hait
aace25ac2b Merge branch 'hotfix' into vedmata-print-fixes 2019-04-11 11:46:00 +05:30
Nabin Hait
697f1186c0 Merge branch 'hotfix' into duplicate-variant-check 2019-04-11 11:45:49 +05:30
Nabin Hait
55bee7a393 Merge branch 'hotfix' into allow-items-not-in-stock 2019-04-11 11:45:42 +05:30
Nabin Hait
c151b58acd Merge branch 'hotfix' into rounding-adjustment-gle 2019-04-11 11:45:36 +05:30
Nabin Hait
0f62b13dd8 Merge pull request #17159 from rohitwaghchaure/sales_return_not_working_for_bundle_items
fix: sales return not working for product bundle items
2019-04-11 11:44:57 +05:30
Nabin Hait
961d7ace4a Merge pull request #17189 from nabinhait/sales-person
fix: Made employee optional in sales person
2019-04-11 11:37:08 +05:30
Nabin Hait
38351587fc Merge pull request #17197 from nabinhait/training-feedback
fix: training feedback code cleanup
2019-04-11 11:36:50 +05:30
rohitwaghchaure
4898d1936b Merge pull request #17200 from Anurag810/pos_running
fix: order by idx(v11)
2019-04-11 10:57:05 +05:30
rohitwaghchaure
22d6eb3eaa Merge pull request #17191 from rohitwaghchaure/asset_depreciation_rate_hotfix
fix: Asset depreciation formula for WDV method, user was not able to edit schedule table for Manula method
2019-04-11 09:58:02 +05:30
rohitwaghchaure
6cd114b467 Merge pull request #17198 from rohitwaghchaure/fix_auto_assign_payment_entry_to_invoice
fix: don't assign the advance payment entries if Allocate Advances Automatically is disabled
2019-04-11 09:57:45 +05:30
rohitwaghchaure
2521b1347b Merge pull request #17201 from rohitwaghchaure/fix_test_cases_for_item_variant
Fix: item variant test cases
2019-04-10 19:16:51 +05:30
Rohit Waghchaure
f3a9552e48 fix: item variant test cases 2019-04-10 17:57:09 +05:30
Anurag Mishra
5ab5f77fd4 fix: order by idx 2019-04-10 17:53:45 +05:30
Rohit Waghchaure
49907e746b fix: test cases 2019-04-10 17:33:32 +05:30
Rohit Waghchaure
45d0b31d44 fix: test cases 2019-04-10 17:25:08 +05:30
Rohit Waghchaure
b286fc99b8 fix: don't assign the advance payment entries if Allocate Advances Automatically is disabled 2019-04-10 16:16:30 +05:30
Nabin Hait
c8c678f747 fix: training feedback code cleanup 2019-04-10 15:56:16 +05:30
Sahil Khan
ef73452abe feat(sync_site): return erpnext data in levels 2019-04-10 15:29:49 +05:30
Rohit Waghchaure
bb0d4e37b9 fix: Asset depreciation formula for WDV method, user was not able to edit schedule table for Manula method 2019-04-10 03:14:11 +05:30
Nabin Hait
b305f38869 fix: Made employee optional in sales person 2019-04-09 20:06:11 +05:30
Nabin Hait
ff73090ad2 fix: Rounding Adjustment GL Entry 2019-04-09 19:24:54 +05:30
Faris Ansari
b63adcbac7 feat: Allow items not in stock to be added in cart 2019-04-09 18:41:31 +05:30
Nabin Hait
7dcdb93596 Merge pull request #17178 from Anurag810/timesheet_report_fixes
fix: timesheet_report (WN-SUP41913)
2019-04-09 17:28:22 +05:30
Faris Ansari
f492d5f61d fix: Validate variant attributes only if is_new 2019-04-09 15:19:10 +05:30
Anurag Mishra
22867f7fa5 fix: added currency 2019-04-09 15:06:49 +05:30
Anurag Mishra
3e8b8a4359 fix: filters and some conditions 2019-04-09 14:34:56 +05:30
Anurag Mishra
17fbafa390 fix: filters,added total,only submitted doc,considered fraction 2019-04-09 11:31:11 +05:30
Faris Ansari
aac7719dd9 fix: Translated string method in Jinja (#17174) 2019-04-08 21:50:58 +05:30
Rushabh Mehta
2cce72412d Merge pull request #17168 from frappe/revert-17086-check-version-hf
Revert "fix: Raise exception if apps are on incompatible branches"
2019-04-08 17:11:15 +05:30
Rushabh Mehta
1412a681f3 Revert "fix: Raise exception if apps are on incompatible branches" 2019-04-08 17:10:56 +05:30
Saurabh
b0c939d280 Merge branch 'hotfix' 2019-04-08 15:09:04 +05:30
Saurabh
00a5e7a1d0 bumped to version 11.1.20 2019-04-08 15:39:03 +06:00
Nabin Hait
f1698bb2df fix: unique variant based on 2019-04-08 14:59:43 +05:30
Anurag Mishra
4ac386d0fe fix: Removed Extra page on generating pdf in print formats 2019-04-08 11:43:24 +05:30
Anurag Mishra
4753bd4519 fix: UI on generating pdf in print format 2019-04-08 10:53:19 +05:30
Nabin Hait
79c9d5d24a Merge pull request #17146 from Anurag810/timesheet-report
feat: Timesheet report
2019-04-08 10:33:44 +05:30
Rohit Waghchaure
3771db92b8 fix: sales return not working for bundle items 2019-04-06 17:34:40 +05:30
Anurag Mishra
76815cf2be fix: removed before from accounts_controlle.pyr and fetch the gl from frontend 2019-04-06 12:07:40 +05:30
Rohan Bansal
936d147b4b fix(selling): Add missing label to company address field 2019-04-05 18:15:04 +05:30
Nabin Hait
20090306f6 fix: Show standalone credit note in Accounts receivable report 2019-04-05 18:06:07 +05:30
Saurabh
c32f8eb0cb Merge branch 'hotfix' 2019-04-05 16:59:22 +05:30
Saurabh
63fabc3723 bumped to version 11.1.19 2019-04-05 17:29:22 +06:00
Nabin Hait
d70476fbc8 Merge pull request #17139 from hrwX/pe_supp_inv_v11
fix(Payment Entry): Return Bill No for Payment Entry
2019-04-05 15:59:43 +05:30
Nabin Hait
8cf76e74e0 Merge pull request #17133 from hrwX/validate_stock_transaction_v11
fix(Item): check transactions for batch, serial check
2019-04-05 15:41:35 +05:30
Nabin Hait
843e440191 Merge branch 'hotfix' into validate_stock_transaction_v11 2019-04-05 15:41:26 +05:30
Nabin Hait
1580e24946 Merge pull request #17137 from netchampfaris/item-group-clean-description
fix(Item Group): Don't clean description html
2019-04-05 15:39:44 +05:30
Nabin Hait
603dce428b Merge pull request #17144 from nabinhait/variant-fix
fix: Default variant Based on
2019-04-05 15:38:15 +05:30
Anurag Mishra
0dc62e8747 fix: Removed raw query and used frappe.get_all 2019-04-05 14:36:43 +05:30
Anurag Mishra
f71c147ea8 Added mandatory feilds to the report 2019-04-05 14:36:43 +05:30
Anurag Mishra
5c17e7760b fix: readability 2019-04-05 14:36:43 +05:30
Anurag Mishra
b57c024ff7 feat: Project Billing Summary for timesheet 2019-04-05 14:36:43 +05:30
Anurag Mishra
61aab377b6 Minor Fixes 2019-04-05 14:36:42 +05:30
Anurag Mishra
3d27aabdeb Commonify code 2019-04-05 14:36:42 +05:30
Anurag Mishra
94514ffee9 feat: timesheet Employee Summary Report 2019-04-05 14:36:42 +05:30
rohitwaghchaure
e334413b34 Merge pull request #17141 from rohitwaghchaure/incorrect_pos_profile_selected_if
fix: incorrect auto POS profile selected in the sales invoice
2019-04-05 13:04:05 +05:30
Anurag Mishra
a1a7beb12e fix: Print Auditing print format 2019-04-05 12:35:46 +05:30
Nabin Hait
a3357e4e86 fix: Default variant Based on 2019-04-05 12:10:36 +05:30
Himanshu Warekar
9f2847e86c fix: test case fixes for travis 2019-04-05 11:40:37 +05:30
Rohit Waghchaure
4324f43a06 always set the company from the POS Profile 2019-04-05 09:54:55 +05:30
Rohit Waghchaure
f7a83cb4f5 fix: incorrect POS profile selected 2019-04-05 00:42:48 +05:30
Himanshu Warekar
6443d7dd10 refactor: declare bill_on at function start 2019-04-04 19:54:23 +05:30
Himanshu Warekar
ad32324c4c fix: get bill_no 2019-04-04 19:50:23 +05:30
Faris Ansari
7a0a05d8f1 fix(Item Group): Don't clean description html 2019-04-04 15:53:16 +05:30
Himanshu Warekar
44d8224a3b fix: test case fix 2019-04-04 15:40:36 +05:30
Himanshu Warekar
7f253b679a pull from hotfix 2019-04-04 15:19:44 +05:30
Himanshu Warekar
28db545947 fix: check transactions for batch, serial check 2019-04-04 15:02:25 +05:30
Nabin Hait
82bd388993 Merge pull request #17122 from frappe/asbasawaraj-remove-location-from-abbreviation-doctypes
fix: Removed Location from Abbreviation Update DocTypes
2019-04-04 11:50:33 +05:30
Nabin Hait
e0a9835f30 Merge pull request #16987 from SaiFi0102/Party-Ledger-Summary-Fix
fix(Party Ledger Summary): Show all adjustment entries as columns
2019-04-04 11:45:36 +05:30
Nabin Hait
0747273ea4 Merge pull request #17028 from sagarvora/field_order
fix(accounts): dependent field should be displayed after source link field
2019-04-04 11:45:01 +05:30
Nabin Hait
9eeb3715f0 Merge pull request #16992 from hrwX/cost_center
fix(Purchase Invoice): Cost Centre as per company
2019-04-04 11:43:35 +05:30
Nabin Hait
2df623c693 Merge pull request #17072 from kennethsequeira/auto-re-val
fix: spelling in validation message for Auto-reorder
2019-04-04 11:40:08 +05:30
Nabin Hait
1e5664ba5f Update item.py 2019-04-04 11:39:55 +05:30
Nabin Hait
f4ae29320f Merge pull request #17087 from deepeshgarg007/payment_entry
Party type validation in payment entry
2019-04-04 11:39:00 +05:30
Nabin Hait
f86a01446f Merge pull request #17086 from adityahase/check-version-hf
fix: Raise exception if apps are on incompatible branches
2019-04-04 11:17:04 +05:30
Nabin Hait
9ee417888e Merge pull request #17092 from nabinhait/ar-ap-print
fix: Show Sales Person in AR/AP print is optional
2019-04-04 11:02:26 +05:30
Nabin Hait
2c869bd486 Merge pull request #17101 from hrwX/india_setup
fix(India): Add HSN/SAC in setup
2019-04-04 11:02:11 +05:30
Himanshu
c930cb10fa fix: remove duplicate doctype 2019-04-04 11:01:10 +05:30
Nabin Hait
91b1875ccf Merge pull request #17099 from nabinhait/return-precision-issue
fix: Validate returned qty with ref qty considering field precision
2019-04-04 10:59:26 +05:30
Nabin Hait
2092a8b1cf Merge pull request #17100 from nabinhait/gl-entry-precision
fix: Validate gl entry debit/credit as per field's precision
2019-04-04 10:59:06 +05:30
Nabin Hait
6ffdddc100 Merge pull request #17126 from rmehta/warehouse-account-description
fix(kaizen): warehouse account description
2019-04-04 10:50:52 +05:30
Nabin Hait
d2c370a215 Merge pull request #17113 from deepeshgarg007/item-register
fix: Divide by zero exception handling
2019-04-04 10:49:13 +05:30
Rushabh Mehta
1f0edabda8 fix(kaizen): warehouse account description 2019-04-04 08:58:34 +05:30
Rushabh Mehta
e7b6b46309 Merge pull request #17109 from PawanMeh/fixes_16894_v11
fix: Amazon v11 integration issues
2019-04-03 22:54:43 +05:30
asbasawaraj
d2b69445b1 Removed Location from Abbreviation Update DocTypes 2019-04-03 17:05:53 +05:30
Himanshu Warekar
5ba438af80 fix: fetch payment terms 2019-04-03 16:53:19 +05:30
rohitwaghchaure
fb48686d82 Merge pull request #17118 from rohitwaghchaure/_incorrect_prezzototale
fix: incorrect PrezzoTotale
2019-04-03 16:33:56 +05:30
Rohit Waghchaure
a2f71cdeec fix: incorrect PrezzoTotale 2019-04-03 16:10:14 +05:30
Nabin Hait
b1f3f04d71 fix: Validate gl entry debit/credit as per field's precision 2019-04-03 12:30:25 +05:30
deepeshgarg007
5ad7b655cf fix: Divide by zero exception handling 2019-04-03 09:11:03 +05:30
hello@openetech.com
ea00f8cbc3 [fix] #16894 2019-04-02 14:22:23 +05:30
rohitwaghchaure
b035bf7f39 Merge pull request #17095 from rohitwaghchaure/incorrect_calculation_of_imponibile_importo
fix: incorrect calcualtion of ImponibileImporto if tax rate is zero
2019-04-01 23:14:56 +05:30
Himanshu Warekar
624477cb21 fix(India): Add HSN/SAC in setup 2019-04-01 19:25:28 +05:30
Nabin Hait
b4263a41c6 fix: Validate gl entry debit/credit as per field's precision 2019-04-01 19:11:34 +05:30
Nabin Hait
88f036a171 fix: Validate returned qty with ref qty considering field precision 2019-04-01 18:41:31 +05:30
Nabin Hait
0049986efd Merge pull request #17088 from nabinhait/hsn-fixes
fix: Fetch HSN code only if empty
2019-04-01 18:17:26 +05:30
Rohit Waghchaure
ebc2437516 fix: calcualtion of ImponibileImporto if tax rate is zero 2019-04-01 17:50:31 +05:30
Nabin Hait
51d08786dc fix: Show Sales Person in AR/AP print is optional 2019-04-01 16:24:23 +05:30
Nabin Hait
f4af608408 fix: Fetch HSN code only if empty 2019-04-01 11:51:54 +05:30
deepeshgarg007
4614eb219b Merge branch 'hotfix' of https://github.com/frappe/erpnext into payment_entry 2019-04-01 11:48:07 +05:30
Aditya Hase
b841cb2a66 fix: Raise exception if apps are on incompatible branches 2019-04-01 11:36:57 +05:30
Nabin Hait
4873875c1c Merge pull request #17038 from netchampfaris/fix-leave-application-condition
fix: Missing "and" in filter conditions
2019-04-01 11:15:36 +05:30
Nabin Hait
093f4c529b Merge pull request #17055 from deepeshgarg007/tds
fix: TDS payable monthly report fix
2019-04-01 11:12:45 +05:30
Nabin Hait
3d6b51089c Revert "fix(Salary Slip): Consider Leave without Pay for calculation (#16926)"
This reverts commit 6343a697a2.
2019-04-01 11:09:55 +05:30
Aulia Bismar
f817663f11 Renumber Aktiva, remove excess 0 2019-04-01 10:37:28 +07:00
deepeshgarg007
d0b98d74de fix: Allow doctype only in party account types 2019-03-30 19:44:31 +05:30
Nabin Hait
08319cecf5 Merge pull request #17074 from nabinhait/woocommerce-fix
fix: Woo-commerce fix
2019-03-30 19:12:38 +05:30
Nabin Hait
f9f04ed89e fix: woocommerce settings 2019-03-30 17:39:40 +05:30
Kenneth Sequeira
4f5839eb65 fixed spelling in validation message
fixed typo in auto-reorder validation message
2019-03-30 15:37:51 +05:30
Saurabh
05c8474db3 Merge branch 'hotfix' 2019-03-30 15:00:36 +05:30
Saurabh
75b4de3e20 bumped to version 11.1.18 2019-03-30 15:30:36 +06:00
rohitwaghchaure
892f675cf7 Merge pull request #17069 from frappe/revert-16950-fix-issue-credit
feat: Revert "Fix(Delivery Note): Fix issue credit note"
2019-03-30 14:25:08 +05:30
rohitwaghchaure
223bd45e06 Merge pull request #17039 from surajshetty3416/fix-bom-item-subquery-issue
fix: Subquery in get_bom_items method
2019-03-30 14:23:25 +05:30
rohitwaghchaure
f3a1fa0bae Revert "Fix(Delivery Note): Fix issue credit note" 2019-03-30 12:33:54 +05:30
rohitwaghchaure
5fdbdd50f9 Merge pull request #16950 from hrwX/fix-issue-credit
Fix(Delivery Note): Fix issue credit note
2019-03-30 12:31:18 +05:30
Himanshu
52ae923566 fix(Update GSTIN): remove '.__' from template (#17061)
'.__'  Avoid Server Side Template Injection
2019-03-30 12:11:27 +05:30
rohitwaghchaure
9d159be826 Merge pull request #17064 from rohitwaghchaure/not_able_to_create_chart_of_account
fix: user not able to create chart of account in parent if child has no chart of account
2019-03-30 10:14:19 +05:30
rohitwaghchaure
d4365e25c4 Merge pull request #17063 from scmmishra/hotfix
fix: healthcare unit type enable toggle
2019-03-30 10:13:30 +05:30
scmmishra
6f82f96816 Merge branch 'hotfix' of https://github.com/frappe/erpnext into hotfix 2019-03-29 20:05:40 +05:30
rohitwaghchaure
8dadd4b0b2 Merge pull request #17059 from rohitwaghchaure/cherry_pick_test_case_fix
fix: cherry-pick item variant test cases fix
2019-03-29 19:32:30 +05:30
Rohit Waghchaure
fd2b1385a3 fix: user not able to create chart of account in parent if child has no chart of account 2019-03-29 19:20:47 +05:30
scmmishra
29dc744354 fix: healtcare unit type enable toggle 2019-03-29 19:00:45 +05:30
Himanshu
6343a697a2 fix(Salary Slip): Consider Leave without Pay for calculation (#16926)
while net salary calculation, it was not considering actual days worked but now it will consider it
2019-03-29 18:48:56 +05:30
rohitwaghchaure
13752774ab Merge pull request #17000 from scmmishra/hotfix-task-status
fix: Task overdue status propagates to project
2019-03-29 18:44:36 +05:30
Rushabh Mehta
c4599c21c3 fix(test): item variant 2019-03-29 18:30:00 +05:30
rohitwaghchaure
fb8f1b93d6 Merge pull request #17058 from hrwX/bank_reco_fix
fix(Bank Reconciliation): get credit and debit in float and not string
2019-03-29 18:18:15 +05:30
Himanshu Warekar
f7f85f7379 fix: get credit and debit in float and not string 2019-03-29 16:19:15 +05:30
deepeshgarg007
4092ead41e fix: fetch account only if available 2019-03-29 16:19:04 +05:30
Faris Ansari
eec89ba4cb Merge branch 'hotfix' of https://github.com/frappe/erpnext into fix-leave-application-condition 2019-03-29 16:06:38 +05:30
Nabin Hait
862f77cc13 Merge branch 'deferred_revenue' into hotfix 2019-03-29 13:26:16 +05:30
Nabin Hait
66d07c2700 fix(accounts): Indentation 2019-03-29 13:25:11 +05:30
Nabin Hait
cf7538c17f Merge pull request #17046 from nabinhait/deferred_revenue
Refactor: deferred revenue booking logic
2019-03-29 12:39:36 +05:30
rohitwaghchaure
043cfe99ad Merge pull request #17051 from rohitwaghchaure/accounts_receivable_summary_issue
fix: accounts receivable summary
2019-03-29 09:28:21 +05:30
rohitwaghchaure
c268682772 Merge pull request #17048 from rohitwaghchaure/fixed_bank_reconciliation_not_working
fix: bank reconciliation not working
2019-03-29 09:27:50 +05:30
Rohit Waghchaure
9da14747aa fix: accounts receivable summary 2019-03-29 09:26:40 +05:30
Rohit Waghchaure
573d1dd31f fix: bank reconciliation not working 2019-03-28 20:39:49 +05:30
Nabin Hait
86fb523ea7 fix(accounts): codacy fixes 2019-03-28 20:06:57 +05:30
Nabin Hait
0a90ce5cf6 Refactored deferred revenue booking logic 2019-03-28 19:43:02 +05:30
Faris Ansari
f04988a02f fix: Missing "and" in filter conditions 2019-03-28 15:42:07 +05:30
Suraj Shetty
6262c9ed6a fix: Subquery in get_bom_items method 2019-03-28 14:59:27 +05:30
Saurabh
6cc9831ce9 Merge branch 'hotfix' 2019-03-28 13:51:58 +05:30
Saurabh
f2036dd1d1 bumped to version 11.1.17 2019-03-28 14:21:58 +06:00
Saurabh
1271dea39b Merge pull request #17035 from gaurav-naik/issue-17033
fix(regional,italy): autoset tax id, cf from customer before validating
2019-03-28 12:46:24 +05:30
rohitwaghchaure
89a2577ae5 Merge pull request #17032 from surajshetty3416/fix-group-same-items-in-printview
fix(print): Fix group same items for print view
2019-03-28 12:42:22 +05:30
Gaurav
bd80fd13cb fix(regional,italy): autoset company cf, tax_id before validating 2019-03-28 12:18:03 +05:30
Nabin Hait
bf5ea691cf fixed merge conflict 2019-03-28 11:35:39 +05:30
Saurabh
ea19250884 Merge pull request #16859 from rohitwaghchaure/added_new_tags_e_invoice_xml
fix: added tags for discount amount, multiple customer po no, delivery notes
2019-03-28 11:19:44 +05:30
Gaurav
010acf75fa fix(regional,italy): autoset tax id, cf from customer before validating missing values
Fixes issue #17033
2019-03-28 10:42:29 +05:30
Suraj Shetty
a7992ecb62 style: Fix formatting 2019-03-27 20:32:42 +05:30
Suraj Shetty
abc2a64d5e fix: Commonify get gl_entry code by moving it to accounts_controller 2019-03-27 20:25:18 +05:30
Sagar Vora
d20ecb0a71 fix(accounts): dependent field should be displayed after source link field 2019-03-27 17:42:42 +05:30
Rohit Waghchaure
1b7059b867 fix: ImponibileImporto calculation 2019-03-27 15:33:47 +05:30
scmmishra
2405e14dde Merge branch 'hotfix-task-status' of github.com:scmmishra/erpnext into hotfix-task-status 2019-03-27 15:02:35 +05:30
scmmishra
36824cf7fb feat: refactored update status 2019-03-27 15:01:40 +05:30
rohitwaghchaure
4510e3a836 Merge pull request #17020 from rohitwaghchaure/offline_pos_duplicate_records_making
fix: offline pos, duplicate records creating
2019-03-26 22:49:42 +05:30
Himanshu
e43b6beff0 fix(Leave Balance Report): total allocated leaves not calculated properly (#16969)
* fix: total alloted leaves not calculated properly

* fix: Possible SQL injection

* typo fix in sql query

* prevent sql injection again ?

* Use ORM for query
2019-03-26 21:42:12 +05:30
Rohit Waghchaure
22ebaf1b11 fix: added tags for discount amount, multiple customer po no, delivery notes 2019-03-26 20:19:46 +05:30
Rohit Waghchaure
1df62097f6 fix: offline pos, duplicate records creating 2019-03-26 19:15:53 +05:30
Prateeksha Singh
6d2bb9126a Merge pull request #17019 from pratu16x7/hotfix-stock_entry_from_bom
fix(uom): Get items as per UOM defined in BOM
2019-03-26 18:00:50 +05:30
Nabin Hait
411f66a177 Merge pull request #17006 from deepeshgarg007/account-fix
fix: Ignore root company validation setting in company master
2019-03-26 17:49:21 +05:30
deepeshgarg007
3eeb1cacb0 fix: Change name to Allow Account Creation against Child Company in company master 2019-03-26 17:18:06 +05:30
Prateeksha Singh
a0927c1ba6 fix: correct use of include_item_in_manufacturing 2019-03-26 16:55:13 +05:30
Nabin Hait
8aaee57921 fix(uom): Get items as per UOM defined in BOM, fixes #15081 2019-03-26 16:53:13 +05:30
deepeshgarg007
c45c2bdabb fix: Missing semicolon 2019-03-26 15:38:38 +05:30
deepeshgarg007
7aefc15352 fix: Allow to add child account if ignore validation checked 2019-03-26 15:09:29 +05:30
Raffael Meyer
fdbb516a1b fix(projects): Auto-set employee and company in Timesheet (#16743)
* fix(projects): auto-set employee and company

* only set employee and company if document is unsaved

* use frm.set_value()
2019-03-26 12:47:36 +05:30
deepeshgarg007
1c785a99b1 fix: Added setting in company to ignore root company validation 2019-03-25 22:32:29 +05:30
Faris Ansari
843b7f6dd5 fix: Reorder Currency column to fix print (#17008)
Every Financial Report's 2nd column is Currency, which is an implicit requirement to Print them properly. In this case, Income column was not printed. This fixes that.
2019-03-25 15:50:36 +05:30
rohitwaghchaure
0a03e3d30c Merge pull request #17011 from rohitwaghchaure/fix_incorrect_paid_amt_in_accounts_receivable_summary_report
fix: incorrect paid amount in accounts receivable summary report
2019-03-25 15:41:29 +05:30
Rohit Waghchaure
4ed7d035cb fix: incorrect paid amount in accounts receivable summary report 2019-03-25 15:37:25 +05:30
rohitwaghchaure
794b6b6c0d Merge pull request #17004 from surajshetty3416/fix-bank-reconciliation-entries-hotfix
fix: Show consolidated amount of payment entries in Bank reconciliation
2019-03-25 14:11:47 +05:30
Rushabh Mehta
689490e4de Merge pull request #16986 from hrwX/italy_xml_fix
fix(Italy Customisation): Include fiscal code in invoice xml if present
2019-03-25 11:57:30 +05:30
deepeshgarg007
4f9ac0ad55 fix: Child company account currency fix 2019-03-25 11:39:25 +05:30
Shivam Mishra
ec56122876 fix: minor fix in test 2019-03-25 11:36:43 +05:30
scmmishra
1af3c41da3 fix: Typo in update_status 2019-03-25 11:34:33 +05:30
Suraj Shetty
67876d1026 fix: Show amount of entry based on diff of credit and debit 2019-03-25 11:19:07 +05:30
scmmishra
f7f32634c8 feat: Added check for no end date and refactored query 2019-03-24 20:43:15 +05:30
scmmishra
6ab6d35f92 fix: Task Overdue status propagates to project
- Used ORM instead of a SQL for set_task_as_overdue
- update_status function compares the time and marks the appropriate task as overdue
- The on_update hook makes the changes in project as well
2019-03-24 18:17:13 +05:30
rohitwaghchaure
9673d0ddae fix: description missing in the XML (#16985) 2019-03-24 12:19:58 +05:30
Himanshu Warekar
92593bb717 fix: Cost center as per company 2019-03-23 19:46:31 +05:30
Frappe Bot
0f1271612a Merge branch 'hotfix' 2019-03-23 07:25:02 +00:00
Frappe Bot
021ccf572a bumped to version 11.1.16 2019-03-23 07:25:02 +00:00
Himanshu
138e030055 CodiceFiscale should be after IdFiscaleIVA 2019-03-22 23:22:52 +05:30
Saif Ur Rehman
7d1c1aa28f fix(Party Ledger Summary): Show all adjustment entries as columns
Consider only Income Account or Expense Account account type for adjustment amounts
Check if GL Entry's is_opening == "Yes"
2019-03-22 17:18:32 +05:00
Himanshu Warekar
1d04ea1212 fix: include fiscal code in invoice xml if present 2019-03-22 17:47:57 +05:30
rohitwaghchaure
56e491bccd Merge pull request #16983 from rohitwaghchaure/allow_on_submit_for_budget_fields
feat: enabled allow on submit for action fields in the Budget
2019-03-22 15:34:41 +05:30
Rushabh Mehta
d562e9530e fix(link): help link in selling 2019-03-22 14:46:12 +05:30
Rushabh Mehta
c0de5b741e fix: remove gitter chat 2019-03-22 14:32:00 +05:30
Rushabh Mehta
da87a491ab Merge pull request #16816 from finbyz/hotfix
fix: Rounding adjustment in Rounded Total
2019-03-22 12:51:09 +05:30
Rushabh Mehta
7678c7b179 Merge pull request #16869 from rohitwaghchaure/not_able_to_submit_purchase_receipt
fix: purchase receipt not able to submit because default inventory account has not selected in another company
2019-03-22 12:47:06 +05:30
Rushabh Mehta
ff04142d9b Merge pull request #16848 from alyf-de/hotfix-1
fix(projects): change fieldtype of billing amounts to Currency
2019-03-22 12:44:18 +05:30
Rushabh Mehta
7defd6f3b5 Merge pull request #16749 from Alchez/hotfix-cancelled-payments
fix(payments): Only check for Draft or Submitted payments while cancelling payment requests
2019-03-22 12:43:52 +05:30
Rushabh Mehta
199aae0fe8 Merge pull request #16861 from Anurag810/asset_fixes
fix: passing the correct argument in get_depreciation_amount
2019-03-22 12:42:46 +05:30
Rohit Waghchaure
9c214b6129 feat: enabled allow on submit for action fields in the Budget 2019-03-22 12:08:09 +05:30
Rushabh Mehta
2f9c7171fa Merge pull request #16980 from chdecultot/fec_correctioon
fix: [Regional] [FEC report] Mapping issue in sql query
2019-03-22 12:05:51 +05:30
Charles-Henri Decultot
a7cf7fbccc Fix: Mapping issue in sql query 2019-03-21 13:28:14 +00:00
Jamsheer
48e206d983 fix: Patient relation - patient link is not showing 2019-03-21 16:11:12 +05:30
Saurabh
ce8d20c489 Merge branch 'hotfix' 2019-03-20 14:33:01 +05:30
Saurabh
83cc587f8f bumped to version 11.1.15 2019-03-20 15:03:00 +06:00
rohitwaghchaure
f45db71ba2 Merge pull request #16964 from rohitwaghchaure/fix_cost_center_mapping_not_working
fix: Cost center from PO to PI is not mapping
2019-03-20 13:40:05 +05:30
Rohit Waghchaure
f288866130 fix: Cost center from PO to PI is not mapping 2019-03-20 13:34:28 +05:30
rohitwaghchaure
e521f51e5f Merge pull request #16955 from rohitwaghchaure/sales_person_showing_wrong_on_ars
fix: Accounts receivable report, remarks showing in the sales person column
2019-03-19 18:17:15 +05:30
Mangesh-Khairnar
7fc1bc0b27 fix: handle an empty match query condition in leave application (#16931) 2019-03-19 18:14:02 +05:30
Rohit Waghchaure
a322687897 fix: Accounts receivable report, remarks showing in the sales person column 2019-03-19 18:10:08 +05:30
rohitwaghchaure
40046721b2 Merge pull request #16954 from rohitwaghchaure/pos_cost_center_not_added_against_debtors
fix: POS, cost center not added against debtors
2019-03-19 16:38:07 +05:30
Rohit Waghchaure
8808a3fc8e fix: POS, cost center not added against debtors 2019-03-19 15:32:05 +05:30
rohitwaghchaure
4904ce649e Merge pull request #16952 from rohitwaghchaure/fixed_accounts_receivable_summary_advance_amt
fix: advance amount is not calculating properly
2019-03-19 15:26:41 +05:30
Rohit Waghchaure
1a6e01542a fix: advance amount is not calculating properly 2019-03-19 15:06:01 +05:30
Rushabh Mehta
1e7d768a45 Merge pull request #16951 from hrwX/change-to-supplier
fix(Supplier Ledger Summary): Change Customer to Supplier in Supplier Ledger Summary
2019-03-19 09:47:14 +05:30
Himanshu Warekar
642a5b69f5 fix: change customer to supplier 2019-03-18 21:53:33 +05:30
Himanshu Warekar
2f5f17fcbb refactor: fix issue credit note 2019-03-18 21:46:26 +05:30
Himanshu
bed6f4748e Merge pull request #6 from frappe/hotfix
Hotfix
2019-03-18 20:48:26 +05:30
rohitwaghchaure
2046024de9 Merge pull request #16942 from hrwX/invoice-creation-tool
fix(Invoice Creation Tool): Disable P/L validation for opening invoice creation
2019-03-18 15:48:55 +05:30
Himanshu
ac199580af fix(Customer Ledger): ambiguous error in where clause (#16914)
fix for error "InternalError: (1052, u"Column 'company' in where clause is ambiguous")" in Customer Ledger Summary
2019-03-18 15:44:54 +05:30
rohitwaghchaure
4c8627e88d Merge pull request #16523 from Zlash65/comp-sync
feat: Sync Chart of Accounts in Company hierarchy
2019-03-18 15:43:50 +05:30
Rohit Waghchaure
d4e4316d0b fix: test cases and codacy 2019-03-18 14:18:49 +05:30
Zlash65
01086ff60c codacy fixes 2019-03-18 12:50:29 +05:30
Zlash65
11bba571af test case added to check account syncing 2019-03-18 12:50:29 +05:30
Zlash65
cc65447e62 fix: chart of accounts field toggling improv 2019-03-18 12:50:29 +05:30
Zlash65
f71cb8dc6d fix: return if no descendants found 2019-03-18 12:50:28 +05:30
Zlash65
73acb8c837 fix: set chart of accounts based on parent company on server side 2019-03-18 12:50:28 +05:30
Zlash65
d787ef8b8e feat: sync account created for a group company to all its descendants 2019-03-18 12:50:28 +05:30
Zlash65
88c990901d fix: added validation to if account is being added to child company 2019-03-18 12:50:28 +05:30
Zlash65
0407bf1e00 fix: override primary action button, change filter to root company 2019-03-18 12:50:27 +05:30
Zlash65
2def228da8 feat: allow adding account only if topmost parent company
- hidden filter for Parent Company added
- Add button overriden with new condition
2019-03-18 12:50:27 +05:30
Zlash65
a57d58f756 feat: once company is saved, parent_company cannot be selected 2019-03-18 12:50:27 +05:30
Zlash65
1a4bfdd090 feat: selecting parent_company should disable chart_of_accounts based fields 2019-03-18 12:50:27 +05:30
Himanshu Warekar
aa03ea2a56 disbale pl check for Sales and Purchase Invoice 2019-03-18 12:36:42 +05:30
Deepesh Garg
3ead70ba3c fix: Change IBAN Account length from 25 to 30 (#16847) 2019-03-18 08:22:57 +05:30
Deepesh Garg
2ae7ed4cf0 fix: Gross profit report fix (#16935) 2019-03-17 09:49:24 +05:30
rohitwaghchaure
fd33c55760 Merge pull request #16865 from rohitwaghchaure/purchase_invoice_asset_issue_not_able_to_submit
feat: added provision to disable CWIP accounting in asset settings
2019-03-16 12:18:36 +05:30
rushin29
08a209bc52 fix: gst_state_number for address with Unregistered GST (#16798) 2019-03-15 15:28:50 +05:30
rohitwaghchaure
ef74e94374 Merge pull request #16882 from rohitwaghchaure/multiple_time_logs_in_job_card
feat: child table to add multiple time logs in job card
2019-03-15 11:46:33 +05:30
Rushabh Mehta
59a3012a5c Update payment_request.py 2019-03-15 08:57:49 +05:30
Bassam Ramadan
e14758c897 fix: add returns field to cashier closing (#16911) 2019-03-14 15:01:50 +05:30
Rushabh Mehta
947d573276 Merge pull request #16892 from hrwX/uae_fix
fix(UAE): Fetch from fix for UAE customizations
2019-03-14 14:20:32 +05:30
Rushabh Mehta
e8258fc352 Merge pull request #16854 from jay-parikh/hotfix
fix: Default Company to Total Stock Summary Report
2019-03-14 14:18:36 +05:30
Rushabh Mehta
d63e0f490c Merge pull request #16856 from hrwX/sales-work-fix
fix(Work Order): fetch item info when making work order from sales order
2019-03-14 14:17:40 +05:30
Rushabh Mehta
20af5a2b40 Merge pull request #16866 from deepeshgarg007/additional
fix: Removed relieving date validation form additional salary
2019-03-14 14:16:18 +05:30
Rohit Waghchaure
52729bf369 feat: child table to add multiple time logs in job card 2019-03-11 00:02:32 +05:30
Himanshu
ee2b523b31 Merge pull request #5 from frappe/hotfix
Hotfix
2019-03-09 00:05:50 +05:30
Himanshu Warekar
1692fbaf1c fetch from fix 2019-03-08 18:37:34 +05:30
Frappe Bot
2ae018a653 Merge branch 'hotfix' 2019-03-08 09:39:33 +00:00
Frappe Bot
3406229152 bumped to version 11.1.14 2019-03-08 09:39:32 +00:00
Rohit Waghchaure
6b33c9b934 fix: purchase receipt not able to submit because default inventory account has not selected in another company 2019-03-08 11:13:35 +05:30
Rohit Waghchaure
821a002125 feat: added provision to disable CWIP accounting in asset settings 2019-03-08 10:51:37 +05:30
Nabin Hait
9ec4816b32 Update item_barcode_childtable_migrate.py 2019-03-08 10:44:13 +05:30
deepeshgarg007
78a32ae172 fix: Remove validation for relieving date from additional salary 2019-03-07 20:00:07 +05:30
Anurag Mishra
1b0f5fd430 fix: pass correct argument to method get_deprication_amount 2019-03-07 16:17:00 +05:30
rohitwaghchaure
d4754619d0 Merge pull request #16806 from rohitwaghchaure/set_scanned_barcode_in_the_table
fix: scan barcode not adding the barcode value in the items table
2019-03-07 11:29:56 +05:30
rohitwaghchaure
d06212e408 Merge pull request #16853 from rohitwaghchaure/pos_profile_changes
fix: POS profile, account for change amount must be cash or bank account
2019-03-07 11:28:25 +05:30
Himanshu Warekar
7ab961f798 remove debug code 2019-03-06 23:53:38 +05:30
Himanshu Warekar
59699bf46e [debug] locally tests passed but travis failed 2019-03-06 23:33:03 +05:30
Himanshu Warekar
4f1737c2dd fix sales order test for creating work order from sales order 2019-03-06 22:19:15 +05:30
Himanshu Warekar
783331c645 sales_order to work_order item desc fix 2019-03-06 18:44:04 +05:30
Rohit Waghchaure
db8500c03a POS profile, account for change amount must be cash or bank account 2019-03-06 18:28:45 +05:30
Jay Parikh
9757a603fa Fix Company Default to Total Stock Summary Report 2019-03-06 12:44:41 +00:00
Rushabh Mehta
29c46bb311 fix(sales_order.py): handle zero bundle qty 2019-03-06 14:49:13 +05:30
Raffael Meyer
33d0a9f684 fix(projects): change fieldtype of billing amounts to Currency 2019-03-05 21:57:11 +01:00
Prateeksha Singh
fb491a568f Merge pull request #16842 from hrwX/additional_salary
fix(Additional Salary): Allow additional salary to be zero
2019-03-05 17:34:37 +05:30
Himanshu Warekar
acb7238ad6 Allow zero amount in additional salary 2019-03-05 12:20:19 +05:30
Rushabh Mehta
1f0792d5ea Merge pull request #16823 from jay-parikh/sales-return
fix: Python 3 Sales Invoice Return Validation "validate_pos"
2019-03-05 08:05:00 +05:30
rohitwaghchaure
55c382a780 Merge pull request #16820 from rohitwaghchaure/state_code_blank_if_not_matched_with_state_codes
fix: on save of the address, state code field become blank
2019-03-04 16:59:45 +05:30
rohitwaghchaure
f6a8b17717 Merge pull request #16824 from rohitwaghchaure/user_not_able_to_search_item_by_description
fix(sales order item): not able to search item by description
2019-03-04 16:59:19 +05:30
rohitwaghchaure
369d20ac2b Merge pull request #16829 from rohitwaghchaure/gst_purchase_invoice_hsn_number
fix: HSN code not disaplying for the GST Purchase Invoice print format
2019-03-04 16:58:58 +05:30
rohitwaghchaure
e552170ce6 Merge pull request #16704 from Anurag810/vedmata-print-formats
feat: Auditors print formats
2019-03-04 16:58:31 +05:30
rohitwaghchaure
8c96e06e19 Merge pull request #16629 from Anurag810/gross-and-net-profit-report
feat: Gross and Net Profit Report
2019-03-04 16:57:21 +05:30
Anurag Mishra
0c9945e0bf Minor fixes 2019-03-04 16:14:53 +05:30
Anurag Mishra
02138b6bfc fix: gross depends upon now report type 2019-03-04 14:46:28 +05:30
Rohit Waghchaure
9842ce5a79 fix: HSN code not disaplying for the GST Purchase Invoice print format 2019-03-04 13:39:52 +05:30
Deepesh Garg
44ff41188d fix: Selling and buying amount precision fix (#16764) 2019-03-04 12:56:27 +05:30
Deepesh Garg
40743840b7 fix: Print letter head only if checked in Print Settings (#16789)
Letter head is printed in financial statements even if option is not checked

![letter head option](https://user-images.githubusercontent.com/42651287/53430759-26baa080-3a15-11e9-948a-bc95700a18d2.png)
2019-03-04 12:53:11 +05:30
Deepesh Garg
e1f72cc010 revert: Address and contact report fix (#16786)
Reverts #16674 

Address and other info are not visible in address and contact report
![screenshot 2019-02-27 at 11 31 38 am](https://user-images.githubusercontent.com/42651287/53469309-6029f500-3a83-11e9-9672-e5e7d14dc470.png)
2019-03-04 12:49:39 +05:30
Anurag Mishra
1e4e61bd94 Minor fixes 2019-03-04 12:36:51 +05:30
Anurag Mishra
f3bdeedc68 minor fixes 2019-03-04 12:27:41 +05:30
Rohit Waghchaure
2bfb063fdb fix(sales order item): not able to search item by description 2019-03-02 21:47:55 +05:30
Jay Parikh
c2090939d7 Fix Sales Invoice Return Validation "validate_pos" 2019-03-02 12:19:32 +00:00
Rohit Waghchaure
4ef924d0ba fix: on save state code field become blank 2019-03-01 18:11:43 +05:30
Frappe Bot
9ce994a320 Merge branch 'hotfix' 2019-03-01 09:12:25 +00:00
Frappe Bot
3ec0bb7e53 bumped to version 11.1.13 2019-03-01 09:12:25 +00:00
rohitwaghchaure
066da6b1b6 Merge pull request #16817 from gaurav-naik/italy-einvoice-bank-details-fix
fix(regional,italy): bank details, custom button on sales invoice
2019-03-01 14:26:07 +05:30
rohitwaghchaure
5e71a56c7a Merge pull request #16807 from rohitwaghchaure/remove_validation_for_group_by_voucher_consolidate
fix: when General Ledger is opened from Purchase Receipt or Delivery note, user get Opening and Closing printed twice
2019-03-01 14:25:00 +05:30
Gaurav
6a4625b94c fix(regional,italy): codacy fixes in regional sales_invoice js 2019-03-01 13:58:39 +05:30
Gaurav
b30a9b1869 fix(regional,italy): bank details, custom button on sales invoice
Updates to Bank details in e-invoice XML
Additional fields on Payment Schedule
Button to Generate E-Invoice on Sales Invoice (generates and replaces attached e-invoice)
Replaced `x.decode('utf-8')` with `frappe.safe_decode(x, encoding='utf-8')` in setup.py
Updated italian localisation patch line in patches.txt
2019-03-01 12:38:35 +05:30
FinByz Tech Pvt. Ltd
6635583103 fix: Rounding adjustment in Rounded Total
In Purchase Receipt and GST Purchase Receipt report, the Rounded Total column doesn't display rounding adjustment of Base Grand Total. So, we have created a fix for that rounding adjustment.
2019-03-01 11:57:06 +05:30
Rohit Waghchaure
c21cda2790 Removed validation for group by voucher in general ledger 2019-02-28 16:20:45 +05:30
Frappe Bot
5d414af86b Merge branch 'hotfix' 2019-02-28 10:08:08 +00:00
Frappe Bot
58135976dd bumped to version 11.1.12 2019-02-28 10:08:08 +00:00
Rohit Waghchaure
ab4ff984c4 fix: scan barcode not adding the barcode value in the items table 2019-02-28 13:31:02 +05:30
rohitwaghchaure
1d41c1c2de Merge pull request #16787 from rohitwaghchaure/italian_more_fixes
fix: e-invoicing patch, patch to set country code in the address
2019-02-28 11:28:04 +05:30
rohitwaghchaure
75e17c664a Merge pull request #16797 from rohitwaghchaure/cost_update_not_working_for_price_list
fix: bom cost update is not working
2019-02-27 20:52:28 +05:30
Rohit Waghchaure
b48effebce fix: test case 2019-02-27 19:33:22 +05:30
Rohit Waghchaure
cd34c70670 fix: bom cost update is not working 2019-02-27 18:01:30 +05:30
Rohit Waghchaure
74cfe57716 fix: e-invoicing patch, patch to set country code in the address 2019-02-27 14:38:36 +05:30
Anurag Mishra
a9a1552e32 refactor 2019-02-27 14:10:24 +05:30
Rushabh Mehta
76f36f68d3 Merge pull request #16790 from crossxcell99/master
fix: call base class onload method
2019-02-27 08:31:14 +05:30
crossxcell99
f95171e808 fix: call base clase onload method 2019-02-26 18:01:37 +01:00
Sagar Vora
2ca1f135ef Merge branch 'hotfix' 2019-02-26 17:08:58 +05:30
Sagar Vora
5a14e46a1b bumped to version 11.1.11 2019-02-26 17:28:58 +05:50
Sagar Vora
311a9c79e3 fix: use node v10 for CI 2019-02-26 16:56:37 +05:30
Nabin Hait
39c489bfdc Merge pull request #16781 from deepeshgarg007/summary
fix: Make company filter mandatory in sales person wise transaction summary
2019-02-26 16:00:51 +05:30
Nabin Hait
be5124fe10 Merge pull request #16784 from rohitwaghchaure/multiple_fixes_e_invoicing
fix: multiple e-invoicing issues for italy region
2019-02-26 15:52:56 +05:30
Rohit Waghchaure
0f98cb8b83 fix: multiple e-invoicing issues for italy region 2019-02-26 15:09:27 +05:30
Sahil Khan
88bd0674ed fix: set warehouse from defalut_warehouse_for_sales_return in sales return 2019-02-26 14:50:20 +05:30
deepeshgarg007
d2d84e3c9d fix: Company filter fix 2019-02-26 11:52:22 +05:30
Sagar Vora
1ca2d47d35 fix: update node to version supported by Yarn (#16772) 2019-02-25 21:10:11 +05:30
Suraj Shetty
5636f924a9 fix: get mode of payment while selecting payment term in payment term template (#16765) 2019-02-25 12:43:34 +05:30
Nabin Hait
9990306399 fix: Consider only active BOMs while updating cost via BOM Update Tool (#16753) 2019-02-25 11:59:05 +05:30
Rushabh Mehta
e2de8e0fa5 fix: expense claim type (#16760) 2019-02-25 11:56:30 +05:30
Suraj Shetty
3ed3332c46 Merge pull request #16726 from deepeshgarg007/bom-item
fix: Removed duplicate fields from BOM Item
2019-02-22 10:26:29 +05:30
Suraj Shetty
2dadc1ef98 chore: Remove trailing whitespaces 2019-02-21 20:51:35 +05:30
deepeshgarg007
bf6b36a39b fix: Removed white spaces 2019-02-21 19:30:27 +05:30
deepeshgarg007
56b52d43e6 Merge branch 'hotfix' of https://github.com/frappe/erpnext into bom-item 2019-02-21 18:30:02 +05:30
Saurabh
539c77c591 Merge branch 'hotfix' 2019-02-21 18:25:28 +05:30
Saurabh
76cd402ca5 bumped to version 11.1.10 2019-02-21 18:55:28 +06:00
Saurabh
e5ff28a92c Merge pull request #16754 from deepeshgarg007/state_code
fix: State code issue fix
2019-02-21 18:21:24 +05:30
Nabin Hait
367d7c104e Merge pull request #16724 from rohitwaghchaure/user_progress_issue
fix: user progress issue
2019-02-21 18:13:52 +05:30
Saurabh
47738f9792 Merge pull request #16750 from nabinhait/cc-against-bs
fix: Ignore cost center while fetching outstanding invoices if not allowed from accounts settings
2019-02-21 18:12:06 +05:30
Nabin Hait
e08cb3a49b Merge pull request #16745 from nabinhait/manage-returned-qty
fix: Consider returned qty while making invoice from DN / PR
2019-02-21 18:11:37 +05:30
Nabin Hait
31f46b313c Merge pull request #16728 from rohitwaghchaure/maintainance_visit_issue
fix: not able to cancel maintenance visit
2019-02-21 18:10:46 +05:30
Nabin Hait
e328869b10 Merge pull request #16738 from deepeshgarg007/unique_tree_options
fix: Filter out unique values for tree options
2019-02-21 18:09:42 +05:30
Nabin Hait
e3b1b11bc5 Merge pull request #16740 from nabinhait/leave-calendar
fix: Calendar events for leaves considering user permissions
2019-02-21 18:08:19 +05:30
Saurabh
a05ccb76f4 Merge pull request #16748 from nabinhait/multi-company-serial-invoicing
fix: Validate serial no usage in invoice considering multi company transaction
2019-02-21 18:07:40 +05:30
Nabin Hait
e797ec7463 Merge pull request #16746 from deepeshgarg007/gross_profit
fix: Decimal point issue in gross profit print
2019-02-21 18:07:14 +05:30
deepeshgarg007
1915e15a9e fix: State code issue fix in regional module(Italy) 2019-02-21 17:55:57 +05:30
rohitwaghchaure
a49f59fcec Merge pull request #16751 from rohitwaghchaure/parent_value_showing_as_zero
(Profit and Loss Statement, fix): for parent account value was showing as zero
2019-02-21 17:50:51 +05:30
Nabin Hait
4ff2b0114f fix: Removed limit conditionas it does not make sense in get_outstanding function 2019-02-21 17:48:21 +05:30
Nabin Hait
e7cc6649eb fix: Limit conditions while fetching payment entries 2019-02-21 17:23:23 +05:30
Rohit Waghchaure
90691dc0d8 (Profit and Loss Statement, fix): for parent account value was showing as zero 2019-02-21 17:18:28 +05:30
Nabin Hait
b24caad789 fix: Ignore cost center while fetching outstanding invocies if not allowed from accounts settings 2019-02-21 17:11:35 +05:30
Rohan Bansal
143973166f fix(payments): Only check for Draft or Submitted paymentswhile cancelling payment requests 2019-02-21 15:57:06 +05:30
Suraj Shetty
463a3cf8cf Merge pull request #16725 from deepeshgarg007/item_dashboard
fix: Item name display issue fix in item dashboard
2019-02-21 14:42:38 +05:30
Nabin Hait
26972c954d fix: Validate serial no usage in invoice considering multi company transaction 2019-02-21 14:32:41 +05:30
deepeshgarg007
14ff6bfc32 fix: Decimal point issue in gross profit print 2019-02-21 12:08:32 +05:30
Nabin Hait
816a4655a0 fix: Consider returned qty while making invoice from DN / PR 2019-02-21 12:02:36 +05:30
Nabin Hait
40c15d2e74 fix: Calendar events for leaves considering user permissions 2019-02-20 18:55:38 +05:30
Saurabh
bc3bdd77f6 Merge branch 'hotfix' 2019-02-20 18:14:17 +05:30
Saurabh
ada93e5d77 bumped to version 11.1.9 2019-02-20 18:44:17 +06:00
deepeshgarg007
0d64d622e5 fix: filter only unique values for tree options 2019-02-20 17:55:14 +05:30
rohitwaghchaure
485bd93dae Merge pull request #16737 from saurabh6790/indentation_fixes
fix: reload report doc and indentation fixes
2019-02-20 17:40:50 +05:30
rohitwaghchaure
c18e925d61 fix: Moved regional methods from controller to hooks (#16736) 2019-02-20 17:13:15 +05:30
Saurabh
9fcfc63f77 fix: reload report doc and indentation fixes 2019-02-20 17:04:18 +05:30
rohitwaghchaure
ef3f864123 fix: not able to submit purchase order (#16735) 2019-02-20 15:47:06 +05:30
rohitwaghchaure
e141865c43 Merge pull request #16722 from rohitwaghchaure/stop_button_not_working
fix: stop button not working in material request
2019-02-20 12:30:26 +05:30
Sagar Vora
c09ffe1308 Merge branch 'hotfix' 2019-02-20 12:11:25 +05:30
Sagar Vora
d48393541d bumped to version 11.1.8 2019-02-20 12:31:25 +05:50
Gaurav Naik
3bf0acbac6 fix(regional,italy): renamed validate hook for address (#16732) 2019-02-20 12:08:53 +05:30
Rohit Waghchaure
7e02e1c3cd fix: not able to cancel maintenance visit 2019-02-19 22:53:31 +05:30
deepeshgarg007
1b04534095 fix: Removed duplicate fields from BOM Item 2019-02-19 21:36:12 +05:30
deepeshgarg007
942c894f93 fix: fetch item name in item dashboard 2019-02-19 19:51:23 +05:30
Rohit Waghchaure
f4049f9dfd fix: user progress issue 2019-02-19 19:46:14 +05:30
Rohit Waghchaure
389cd6ad63 fix: stop button not working in material request 2019-02-19 19:18:07 +05:30
Sagar Vora
2b7ce3dc71 Merge branch 'hotfix' 2019-02-19 17:54:14 +05:30
Sagar Vora
f5c511c193 bumped to version 11.1.7 2019-02-19 18:14:14 +05:50
Nabin Hait
2c23f98b65 Merge pull request #16721 from nabinhait/ar-ap-fix
fix: AR/AP report based on account type
2019-02-19 17:45:30 +05:30
Nabin Hait
06e6e87e3b Merge pull request #16720 from gaurav-naik/italy-state-codes
fix(regional,italy): added state code on address, updated patch
2019-02-19 17:44:49 +05:30
Gaurav
3f046136d4 fix(regional,italy): added state code on address, updated patch
moved state codes to init, rewired patch
added logic to autoset state code on address validate
handled multiple names for Italy
refactored validate_address_italy to validate_address
2019-02-19 17:28:36 +05:30
Nabin Hait
e4f73929c4 fix: AR/AP report based on account type 2019-02-19 17:11:50 +05:30
Charles-Henri Decultot
4d19d344b6 Merge branch 'hotfix' into plaid_reconciliation 2019-02-19 11:05:00 +00:00
Nabin Hait
ff6d2692d3 Merge pull request #16663 from netchampfaris/fix-item-variant-settings-barcodes
fix: Validate invalid fields in Item Variant Settings
2019-02-19 15:07:55 +05:30
Nabin Hait
8e9d947527 Merge branch 'hotfix' into fix-item-variant-settings-barcodes 2019-02-19 15:07:46 +05:30
Nabin Hait
21706894af Merge pull request #16705 from deepeshgarg007/pos-precision
fix: Fetch precision form system settings in Sales invoice payment(POS)
2019-02-19 15:06:56 +05:30
Nabin Hait
2c65ef0286 Merge pull request #16710 from deepeshgarg007/purchase-qty-fix
Received Qty Label rename to accepted qty in purchase invoice
2019-02-19 15:06:18 +05:30
Nabin Hait
818ead4041 Merge branch 'hotfix' into purchase-qty-fix 2019-02-19 15:06:10 +05:30
Nabin Hait
157526c978 Merge pull request #16711 from rohitwaghchaure/multi_uom_not_working_for_rate_pricing_rule
fix: multi-uom not working for the pricing rule rate
2019-02-19 15:05:07 +05:30
Nabin Hait
6bd3098824 Merge pull request #16716 from deepeshgarg007/precision-fix
fix: Removed precision from multiple doctypes
2019-02-19 15:03:00 +05:30
rohitwaghchaure
e938306e7d Merge pull request #16598 from gaurav-naik/italy-hotfix-new
feat(regional): Italian Localization and E-Invoicing export
2019-02-19 14:56:07 +05:30
Gaurav
2670ad7eb2 mod(regional,italy): adjusted calculation logic for charges
validation for missing code on mode of payment
UOM from settings
Replace str with cstr
2019-02-19 13:15:25 +05:30
Gaurav
f1e28e0e8d mod(regional,italy): Updates to Italian Localization
fixes:
removed cleanup_files from italy/utils
removed extract_doc_number from italy/utils
added country filter to italian localization patch
replaced dict assignment with dot operator in prepare_invoice
correcions in e-invoice xml following changes in prepare_invoice
added setup_report in patch
added section for e-invoicing custom fields in company
added Italy in test_company
2019-02-19 10:39:22 +05:30
Gaurav
a4aa80fe05 feature(regional): Italian Localization
Added setup.py for italy under regional
Included fiscal regimes, tax exemption reasons and custom fields

Issue #16259
2019-02-19 10:39:10 +05:30
deepeshgarg007
de0f59b818 fix: Removed precision from multiple doctypes 2019-02-19 08:40:16 +05:30
Rohit Waghchaure
5821b672ad fix: multi-uom not working for the pricing rule rate 2019-02-18 20:07:44 +05:30
Nabin Hait
750fe6eaea fix: get item rate in bom 2019-02-18 18:56:08 +05:30
rohitwaghchaure
982ed555d2 Merge pull request #16708 from rohitwaghchaure/allow_to_make_sle_if_jc_is_in_draft
fix: Allow to make material request from draft job card
2019-02-18 18:46:11 +05:30
deepeshgarg007
9a19e06856 fix: Change Received qty to accepted qty and validation for indicators 2019-02-18 18:42:15 +05:30
Rohit Waghchaure
99e7362006 fix: Allow to make material request from draft job card 2019-02-18 18:26:50 +05:30
deepeshgarg007
48a7262fae fix: Precision issue in POS payment 2019-02-18 15:05:36 +05:30
Anurag Mishra
879e5fd8bb remove print and codacy 2019-02-18 14:43:55 +05:30
Anurag Mishra
42a106c7ba Auditors print formats 2019-02-18 14:35:33 +05:30
rohitwaghchaure
1bcbe9069b Merge pull request #16610 from jay-parikh/hotfix
fix: (POS) Item listing issue in pos after submit for Multi Company POS Profile
2019-02-18 12:43:57 +05:30
Anurag Mishra
61f981ae05 Changes Requested 2019-02-18 11:43:32 +05:30
Rushabh Mehta
f3b33f3ab2 Merge pull request #16611 from karthikeyan5/hotfix-marketplace-features
feat(marketplace): seller profile page
2019-02-18 11:24:01 +05:30
Rushabh Mehta
c8e05206cc Merge pull request #16695 from surajshetty3416/remove-unwanted-barcode-field
fix: Remove unwanted barcode field
2019-02-18 11:18:53 +05:30
Suraj Shetty
053d6a2ca1 Move reload doc before get query 2019-02-17 11:24:51 +05:30
Suraj Shetty
3a2f342ac1 Ignore duplicate entry 2019-02-16 21:09:24 +05:30
Suraj Shetty
1399fbe986 Move patch 2019-02-16 21:02:34 +05:30
Suraj Shetty
8cbe824c5b Rerun item_barcode_chidtable_migrate patch 2019-02-16 17:54:15 +05:30
Suraj Shetty
cc0222a28a Remove unwanted barcode field from item 2019-02-16 17:53:23 +05:30
Frappe Bot
58dda68430 Merge branch 'hotfix' 2019-02-15 10:22:32 +00:00
Frappe Bot
acf26c8569 bumped to version 11.1.6 2019-02-15 10:22:32 +00:00
Faris Ansari
8a01342e48 fix: Remove comment 2019-02-15 15:14:38 +05:30
Nabin Hait
09a4df74f0 Merge pull request #16645 from nabinhait/tds-fix
fix: Ignore tds account while creating tax withholding category
2019-02-15 14:53:30 +05:30
Nabin Hait
eb0627356b Merge pull request #16650 from nabinhait/general-ledger-fix
fix: show values in account/party currency based in actual entry, no conversion
2019-02-15 14:53:12 +05:30
Nabin Hait
b5c249583a Merge pull request #16651 from netchampfaris/fix-barcode-scanning-ux
fix: Barcode scanning UX
2019-02-15 14:52:42 +05:30
Nabin Hait
b819f104e6 Merge pull request #16653 from nabinhait/item-variants
fix: Enqueued item variants updation if there are more than 30 variants
2019-02-15 14:51:14 +05:30
Nabin Hait
c45962e3ef Merge pull request #16675 from deepeshgarg007/purchase-fix
fix: Purchase order item description fix
2019-02-15 14:50:38 +05:30
Nabin Hait
aa80a223d8 Merge pull request #16674 from deepeshgarg007/address-rep-fix
fix: Address and contact report
2019-02-15 14:26:16 +05:30
Nabin Hait
8788a5c712 Merge pull request #16676 from nabinhait/get-item-details
fix: get item details
2019-02-15 14:24:46 +05:30
Nabin Hait
b1cbe221b7 Merge pull request #16677 from nabinhait/total-qty-patch-fix
fix: Consider parenttype while updating total qty in transactions
2019-02-15 14:24:30 +05:30
Nabin Hait
a0c9c7501b Update update_total_qty_field.py 2019-02-15 14:24:08 +05:30
Nabin Hait
9d85876086 Merge pull request #16679 from nabinhait/get_oustanding
Get outstanding invoices
2019-02-15 14:23:07 +05:30
Sagar Vora
379e6a4635 Merge branch 'hotfix' into address-rep-fix 2019-02-15 13:08:42 +05:30
Nabin Hait
4df7679c65 fix: Get outstanding invoices 2019-02-15 13:08:04 +05:30
Sagar Vora
ebdd8a9710 Merge branch 'hotfix' into purchase-fix 2019-02-15 13:04:32 +05:30
Sagar Vora
921f468950 Merge branch 'hotfix' into get-item-details 2019-02-15 13:03:04 +05:30
Nabin Hait
6f7a4d94ce fix: Consider parenttype while updating total qty in transactions 2019-02-14 19:34:43 +05:30
Nabin Hait
f66c6874ca Merge pull request #16652 from nabinhait/work-order-fix
fix: Make work order from production plan considering already ordered qty
2019-02-14 18:50:30 +05:30
Nabin Hait
54f8ed1282 Merge branch 'hotfix' into item-variants 2019-02-14 18:50:11 +05:30
Nabin Hait
c3698e458f Merge pull request #16666 from nabinhait/deferred-revenue-fix
fix: errors in deferred revenue booking
2019-02-14 18:49:01 +05:30
Nabin Hait
1c6a1dd5c0 Merge branch 'hotfix' into general-ledger-fix 2019-02-14 18:37:40 +05:30
Nabin Hait
0d1ccc357f fix: get item details 2019-02-14 18:30:10 +05:30
deepeshgarg007
867ca63750 fix: Purchase order item description fix 2019-02-14 18:10:47 +05:30
Deepesh Garg
20008946a3 Merge branch 'hotfix' into address-rep-fix 2019-02-14 17:37:41 +05:30
Deepesh Garg
4902f7b2a0 fix: Show tasks in timesheet with status as Closed (#16660) 2019-02-14 17:32:52 +05:30
deepeshgarg007
34f4f24e21 fix: Address and contact report 2019-02-14 17:26:49 +05:30
Nabin Hait
29fcb14c42 fix: errors in deferred revenue booking 2019-02-13 17:18:12 +05:30
Deepesh Garg
4d1bc0ca85 fix: Add total row in analytics report (#16648) 2019-02-13 16:58:46 +05:30
Anurag Mishra
4f0fd38209 refractor 2019-02-13 16:46:05 +05:30
Faris Ansari
a748ca69e7 fix: Validate invalid fields in Item Variant Settings
- Some fields like barcodes cannot be copied in Item Variants
- Wrote a patch that deletes the fields if they exist
- Also, validate in controller
2019-02-13 13:02:39 +05:30
rohitwaghchaure
a0aaeafae8 Merge pull request #16644 from rohitwaghchaure/fix_work_order_time_log_msg
fix: validation message for work order
2019-02-13 09:49:25 +05:30
Faris Ansari
795102125c Merge branch 'hotfix' into fix-barcode-scanning-ux 2019-02-12 18:31:06 +05:30
Nabin Hait
db527bfb24 fix: Enqueued item variants updation if there are more than 30 variants 2019-02-12 18:30:00 +05:30
Nabin Hait
1a3c27bbea fix: Make work order from production plan considering already ordered qty 2019-02-12 17:38:37 +05:30
Faris Ansari
5631ffca68 fix: Barcode scanning UX 2019-02-12 17:12:48 +05:30
Nabin Hait
6447069e50 fix: show values in account/party currency based in actual entry, no conversion 2019-02-12 16:41:20 +05:30
Sagar Vora
e11f2c0107 Merge branch 'hotfix' 2019-02-12 16:34:29 +05:30
Sagar Vora
6837ae3377 bumped to version 11.1.5 2019-02-12 16:54:29 +05:50
karthikeyan5
4324dc6ea8 fix(marketplace): fixing hubmarket server specific error 2019-02-12 15:12:23 +05:30
karthikeyan5
4df6003bd9 feat(marketplace): seller profile page 2019-02-12 15:12:23 +05:30
karthikeyan5
2894f7935a feat(marketplace): featured Items for sellers 2019-02-12 15:12:23 +05:30
karthikeyan5
88baf53cc1 feat(marketplace): navigation link to seller profile from item page 2019-02-12 15:12:23 +05:30
Nabin Hait
fdefbdb23b Merge pull request #16609 from nabinhait/multipel_fixes
Multiple fixes
2019-02-12 13:56:06 +05:30
Nabin Hait
c46d995480 Merge pull request #16628 from Zlash65/fix-noti-patch
fix: Notification Control delete
2019-02-12 13:04:45 +05:30
Nabin Hait
e6abee4bd5 Merge pull request #16643 from Zlash65/field-fix
fix: Fieldtype and Fetch From fixes
2019-02-12 13:04:00 +05:30
Nabin Hait
ca536efe7b Merge pull request #16640 from nabinhait/pur_reg_fix
fix: show project even if PI is directly created
2019-02-12 13:01:18 +05:30
Deepesh Garg
da7c20e474 fix: Validate task dates in project (#16586)
* fix: Validate task dates in project

* fix: Test case fix and validation only if date exists

* fix: Added dates in error messages
2019-02-12 12:55:50 +05:30
Rohit Waghchaure
e0412a177c fix: validation message for work order 2019-02-12 11:47:16 +05:30
Zlash65
fc88029d7d fix: fix item field for clinical procedure template 2019-02-12 11:38:27 +05:30
Zlash65
b614fb1d45 fix: make finance book field as link field and rectify fetch_from 2019-02-12 11:30:58 +05:30
Nabin Hait
afef9c1cc7 fix: Ignore tds account while creating tax withholding category 2019-02-12 11:28:20 +05:30
Zlash65
fd3998cfc9 fix: make branch as link field 2019-02-12 11:27:23 +05:30
Nabin Hait
ab50211e18 fix: show project even if PI is directly created 2019-02-11 18:25:18 +05:30
Anurag Mishra
aaa57026ac Merge branch 'gross-and-net-profit-report' of https://github.com/Anurag810/erpnext into gross-and-net-profit-report 2019-02-11 17:02:59 +05:30
Anurag Mishra
f70d4089bc fix: codacy 2019-02-11 17:02:20 +05:30
Sagar Vora
4e92414850 Merge branch 'hotfix' into gross-and-net-profit-report 2019-02-11 16:00:28 +05:30
sahil28297
1a7e438fb2 fix(pstch): allow duplicate entries (#16632) 2019-02-11 15:53:04 +05:30
rohitwaghchaure
d95c8cfac3 Merge pull request #16621 from netchampfaris/fix-warehouse-currency
fix: Set company_currency for Warehouse Tree
2019-02-11 14:58:02 +05:30
Anurag Mishra
a032f0528e new report gross-and-net-profit-report 2019-02-11 13:12:44 +05:30
Zlash65
a206f06af9 delete notification control's docctype entry 2019-02-11 12:01:01 +05:30
Nabin Hait
bb6438af5a Merge pull request #16537 from nabinhait/stock-balance-fix
fix: Fixed error on stock balance report
2019-02-11 11:00:01 +05:30
Faris Ansari
453964728d fix: Set company_currency for Warehouse Tree 2019-02-09 20:27:42 +05:30
Nabin Hait
17e0513270 fix: message if stock reco is enqueued 2019-02-08 16:56:26 +05:30
Nabin Hait
8d4bb3e327 fix: backflush only if transferred item is present in work order 2019-02-08 16:56:26 +05:30
Nabin Hait
450fe309d6 fix: allow updating title of material request 2019-02-08 16:56:26 +05:30
Nabin Hait
e3b0f4f9f6 fix: removed account type filter on employee advance account 2019-02-08 16:56:26 +05:30
Nabin Hait
27af6b377f fix: defered accounting fixes 2019-02-08 16:56:26 +05:30
Jay Parikh
1906f6da3a Fix - POS >> Item listing after submit pos >> list all the items which are not restricted to that pos profile #16588 2019-02-08 11:13:09 +00:00
Faris Ansari
504f317434 fix: BOM Stock Calculated Report (#16585)
- Cast null values to 0 to avoid mathematic errors
2019-02-07 07:15:38 +05:30
Faris Ansari
8ae5dbcac8 fix: Set barcode in Item row after scanning barcode (#16591) 2019-02-07 07:09:49 +05:30
Himanshu
088886e082 Remove illegal character after break (#16589) 2019-02-07 07:09:20 +05:30
Himanshu
e7bc2beea0 Remove illegal character after break 2019-02-06 15:55:49 +05:30
Himanshu
cd416a3135 Merge pull request #4 from frappe/hotfix
Hotfix
2019-02-06 15:54:33 +05:30
Sagar Vora
76120309e3 Merge branch 'hotfix' 2019-02-05 18:40:38 +05:30
Sagar Vora
8aa34a0ce0 bumped to version 11.1.4 2019-02-05 19:00:38 +05:50
Prateeksha Singh
34df5d27a1 Merge pull request #16518 from karthikeyan5/staging-marketplace-features
fix(marketplace): bug in filtering menu_items
2019-02-05 18:09:57 +05:30
karthikeyan5
4cb0a250a0 fix(marketplace): bug in filtering menu_items
> UX improvment for incomplete feature
2019-02-05 18:07:48 +05:30
Nabin Hait
efff826e15 Merge pull request #16556 from nabinhait/payroll-cost-center
fix: Don't force fetch cost center from company in payroll entry
2019-02-05 13:32:16 +05:30
Nabin Hait
8a46df5c4b Removed duplicate fields 2019-02-05 13:31:32 +05:30
Nabin Hait
38b05a1296 fix: Set default cost center in payroll entry 2019-02-05 10:46:41 +05:30
Nabin Hait
294319e71b fix: Don't force fetch cost center from company in payroll entry 2019-02-05 10:37:41 +05:30
Nabin Hait
ad69e29334 Merge pull request #16548 from nabinhait/stock-balance-item
fix: Fetch data based on item group filter in item dashboard stock balance report
2019-02-05 10:36:47 +05:30
Nabin Hait
1c288ca4ab Merge pull request #16558 from deepeshgarg007/production_plan
fix: Validation while getting raw materials for production in Production Plan
2019-02-05 10:35:16 +05:30
Nabin Hait
fe6f1ad244 Update production_plan.py 2019-02-05 10:34:58 +05:30
Nabin Hait
d4e029665c Merge pull request #16569 from nabinhait/salary-allow-on-submit
fix: Allow-on-submit enabled for formula and condition in salary structure
2019-02-05 10:31:24 +05:30
Nabin Hait
b6d2c7eb80 Merge pull request #16570 from saurabh6790/jinja_injection_fix
fix: access request parameter directly
2019-02-05 10:31:08 +05:30
Nabin Hait
7b93e738ad Merge pull request #16576 from nabinhait/pay_reco_fix
fix: Optimising payment reconciliation queries
2019-02-05 10:28:03 +05:30
Nabin Hait
025e780f31 Merge pull request #16575 from rohitwaghchaure/fixed_job_card_not_working
fix: job card not working if transfer against work order
2019-02-05 10:27:12 +05:30
Nabin Hait
56bff95e15 Merge pull request #16571 from Thunderbottom/purchase-invoice-fix
fix(purchase_invoice): fix undefined variable
2019-02-05 10:26:41 +05:30
Nabin Hait
ac18498ca5 fix: Optimising payment reconciliation queries 2019-02-04 21:13:43 +05:30
Rohit Waghchaure
780c6b0d77 fix: job card not working if transfer against work order 2019-02-04 21:04:48 +05:30
Chinmay Pai
125505f2aa fix(purchase_invoice): fix undefined variable
fixes issue while creating purchase invoice

Signed-off-by: Chinmay Pai <chinmaydpai@gmail.com>
2019-02-04 16:30:20 +05:30
Saurabh
bbebceb31a fix: access request parameter directly 2019-02-04 15:56:23 +05:30
Nabin Hait
ff05ee50e0 fix: Allow-on-submit enabled for formula and condition in salary structure 2019-02-04 14:42:57 +05:30
Deepesh Garg
d442d06947 Update production_plan.py 2019-02-03 12:45:20 +05:30
dgarg007
f667cff5a6 fix: Validation while getting raw materils for production in Production Plan 2019-02-02 21:57:00 +05:30
rohitwaghchaure
752f2f1805 Merge pull request #16547 from rohitwaghchaure/project_status_email_fix
fix: check open status projects for project status update
2019-02-02 13:06:29 +05:30
Saurabh
aba611e09f Merge branch 'hotfix' into project_status_email_fix 2019-02-01 15:01:26 +05:30
Nabin Hait
e1c75a9d55 fix: fixed salary structure assignment patch (#16546)
* fix: fixed salary structure assignment patch

* fix: patch
2019-02-01 12:25:40 +05:30
Nabin Hait
f3f4ce9b87 fix: Fetch data based on item group filter in item dashboard stock balance report 2019-02-01 12:01:19 +05:30
Rohit Waghchaure
a4645b6d17 fix: check open status projects for project status update 2019-02-01 11:37:22 +05:30
Sagar Vora
ec5faaeae6 Merge branch 'hotfix' into stock-balance-fix 2019-01-31 18:46:06 +05:30
Nabin Hait
9ea19b8fe1 fix: Fixed error on stock balance report 2019-01-31 15:53:25 +05:30
Sagar Vora
7a2163ca39 Merge branch 'hotfix' 2019-01-31 13:33:07 +05:30
Sagar Vora
fea55fc018 bumped to version 11.1.3 2019-01-31 13:53:07 +05:50
Nabin Hait
a85f008f30 Merge pull request #16528 from adityahase/payment-request-usability
fix(accounts): fetch subscription details only if required fields are populated
2019-01-31 10:27:27 +05:30
Sagar Vora
7ea2497b9a Fix salary patch (#16531)
fix: salary structure assignment patch, add .vscode to gitignore
2019-01-31 09:17:29 +05:30
Sagar Vora
76728b87ab fix: value missing for selling settings - sales_update_frequency (#16530) 2019-01-31 08:19:38 +05:30
Sagar Vora
38384be42b Merge branch 'hotfix' 2019-01-30 20:09:45 +05:30
Sagar Vora
664e21acbf bumped to version 11.1.2 2019-01-30 20:29:45 +05:50
Aditya Hase
245b73b94f fix(search): Fix possible reflected XSS attack vector (#16522) 2019-01-30 19:56:04 +05:30
Aditya Hase
66833f109b fix(accounts): fetch subscription details only if required fields are populated 2019-01-30 19:40:40 +05:30
Nabin Hait
78fc158b39 Merge pull request #16527 from nabinhait/bom-fix
fix: Default value for 'raw materials rate based on' in BOM
2019-01-30 18:35:49 +05:30
Saurabh
429996752d fix: patch fixes (#16524) 2019-01-30 17:45:48 +05:30
Nabin Hait
16d7b49d73 fix: Default value for 'raw materials rate based on' in BOM 2019-01-30 17:27:08 +05:30
Saurabh
5fdcd91847 Merge branch 'hotfix' 2019-01-30 12:38:00 +05:30
Saurabh
bb2031941e bumped to version 11.1.1 2019-01-30 13:08:00 +06:00
Nabin Hait
562516dcc4 Merge pull request #16521 from saurabh6790/add_patch_to_set_guardian_role
fix: patch to add guardian role if not exists
2019-01-30 12:00:00 +05:30
Saurabh
5c12490709 fix: patch to add guardian role if not exists 2019-01-30 11:52:53 +05:30
rohitwaghchaure
25e63e806c fix: modified date (#16520) 2019-01-30 11:46:34 +05:30
Sagar Vora
7ddbd386a5 Merge branch 'master' into hotfix 2019-01-29 18:56:45 +05:30
Sagar Vora
1c44a6a0ba fix: set version to 11.1.0, remove staging_version 2019-01-29 18:52:50 +05:30
Sagar Vora
605fbf4f89 Merge branch 'staging' 2019-01-29 18:51:12 +05:30
Sagar Vora
3f1fb9ca7e Merge branch 'staging-fixes' into staging 2019-01-29 18:26:34 +05:30
Sagar Vora
1a4cd3b66a bumped to version 11.1.0 2019-01-29 18:46:34 +05:50
Sagar Vora
606bd37316 fix: change changelog version to 11.1.0 2019-01-29 17:55:46 +05:30
Sagar Vora
b5dda63ddd fix: change changelog version to 11.1.0 2019-01-29 17:54:47 +05:30
Sagar Vora
51a27b3524 fix: unsaved merge conflict 2019-01-29 17:52:47 +05:30
Sagar Vora
f3cfad7595 Merge branch 'master' into staging-fixes 2019-01-29 17:20:46 +05:30
Sagar Vora
898977bda8 Merge branch 'hotfix' 2019-01-29 17:10:19 +05:30
Sagar Vora
b32d9458b5 bumped to version 10.1.81 2019-01-29 17:30:19 +05:50
Nabin Hait
f8e9734f16 Merge pull request #16514 from sagarvora/changelog
docs: changelog for v11.0.4
2019-01-29 16:27:07 +05:30
rohitwaghchaure
a95ed44d3d fix: test case for fiscal year (#16516) 2019-01-29 16:24:53 +05:30
Nabin Hait
9f33c208d7 Update v11_0_4.md 2019-01-29 16:07:07 +05:30
Sagar Vora
bad36ef3ef fix: add node_modules to gitignore (#16515) 2019-01-29 16:00:45 +05:30
Sagar Vora
7ef69b68f8 Update v11_0_4.md 2019-01-29 15:52:57 +05:30
Nabin Hait
cc41b876fb Merge pull request #16497 from nabinhait/bom_price
BOM raw materials price
2019-01-29 14:58:40 +05:30
Nabin Hait
49c1f023b1 Merge pull request #16507 from rohitwaghchaure/fiscal_year_should_always_be_for_12_months
fix: fiscal year should always be for 12 months
2019-01-29 14:44:43 +05:30
Sagar Vora
115a252f55 docs: changelog for v11.0.4 2019-01-29 14:40:10 +05:30
Nabin Hait
4e45663297 fix(stock): get item price based on party 2019-01-29 14:02:08 +05:30
Sagar Vora
8f6509fa9a Merge branch 'staging-fixes' into fiscal_year_should_always_be_for_12_months 2019-01-29 13:04:20 +05:30
Sagar Vora
9520e345bd fix: better error messages 2019-01-29 13:03:46 +05:30
Nabin Hait
1df9a23e7b Merge pull request #16513 from rohitwaghchaure/remove_zero_qty_items_on_click_os_pay
feat: on click of pay button and on focus out of qty field remove the zero qty items from the cart
2019-01-29 13:02:56 +05:30
Rohit Waghchaure
07f75a3e54 feat: on click of pay button and on focus out of qty field remove the zero qty items from the cart 2019-01-29 13:00:18 +05:30
Rohit Waghchaure
a8e743e3c4 fix: fiscal year always be for 12 months 2019-01-29 12:55:04 +05:30
Nabin Hait
6f7cc8b186 Merge pull request #16505 from deepeshgarg007/pos_issue
feat: Enhancement  in POS functionality
2019-01-29 12:51:00 +05:30
Nabin Hait
25cb13c0f8 Merge pull request #16508 from navdeepghai1/salary-slip-net-pay-fixes
fix(human resources): gross pay calculation issue
2019-01-29 12:08:11 +05:30
Nabin Hait
7fc9825954 Merge pull request #16368 from ESS-LLP/pr_staging_fixes_2
feat: List Active Healthcare Practitioner
2019-01-29 11:52:55 +05:30
Nabin Hait
8ba9545b72 Merge pull request #16498 from nabinhait/stock-ledger-report
fix(stock): Escaping issue in stock ledger report
2019-01-29 11:30:15 +05:30
Deepesh Garg
a8cc4b105d Merge branch 'staging-fixes' into pos_issue 2019-01-29 11:29:41 +05:30
Nabin Hait
3b8623e207 Merge pull request #16491 from adityahase/ar-fix
fix(ar-summary): Changes to column list to match recent changes
2019-01-29 11:28:02 +05:30
Nabin Hait
1467962f8a Merge pull request #16490 from nabinhait/gst_settings_perm
GST Settings permission and regional taxes creation
2019-01-29 11:27:18 +05:30
Nabin Hait
ff2922cbbb Merge pull request #16488 from deepeshgarg007/price_list
fix(sales_invoice): fetch customer price list if available before pos price list
2019-01-29 11:24:22 +05:30
Nabin Hait
7c0fbfab0a Merge pull request #16482 from pipech/staging-fixes
fix(Stock Entry): "Select Serial Numbers" dialog won't fill mandatory field
2019-01-29 11:23:05 +05:30
Nabin Hait
3ccc16e4e0 Merge pull request #16449 from scmmishra/remove-foundation
feat: Deprecated In App Help
2019-01-29 11:20:23 +05:30
Nabin Hait
0bfd990ada Merge pull request #16456 from adityahase/unicode
fix(unicode): Import unicode_literals in every file
2019-01-29 11:13:30 +05:30
Nabin Hait
e8190473f5 Merge branch 'staging-fixes' into unicode 2019-01-29 11:13:04 +05:30
Nabin Hait
1c5d681f65 Merge pull request #16500 from scmmishra/v10-remove-docs
feat: [v10] Deprecate In App Help
2019-01-29 11:05:25 +05:30
Nabin Hait
8fae0b3017 Merge pull request #16242 from rohitwaghchaure/is_fixed_asset_checkbox_not_copied
[Fix] Is fixed asset checkbox not checked if user duplicate the existing invoice
2019-01-29 11:03:44 +05:30
Nabin Hait
57928a5382 Merge pull request #16468 from sagarvora/fix-scorecard
fix(buying): make supplier scorecard usable
2019-01-29 11:00:18 +05:30
Nabin Hait
b44b200e7c Merge branch 'hotfix' into fix-scorecard 2019-01-29 11:00:07 +05:30
Aditya Hase
9acb885e60 fix(sqli): Avoid SQL Injection with sender param (#16509) 2019-01-29 10:52:37 +05:30
Navdeep Ghai
ec570026e1 Merge branch 'hotfix' into salary-slip-net-pay-fixes 2019-01-29 09:12:37 +04:00
Nabin Hait
385e3bb284 Merge pull request #16446 from Zlash65/jv-fix
fix(accounts): wrong filters sent to fetch reference name in Journal Entry
2019-01-29 10:41:15 +05:30
navdeepghai1
92bb84aa70 Changed static precision(2) value to system setting currency_precision value 2019-01-28 16:54:58 +04:00
deepeshgarg007
f0cfe98860 fix: Added missing semicolon and removed null from parameter 2019-01-28 17:58:44 +05:30
deepeshgarg007
0bee62b460 fix: Made period fields read only and added validation for multiple entries by same user 2019-01-28 12:45:11 +05:30
Sagar Vora
a1a946fcd6 Merge branch 'hotfix' into fix-scorecard 2019-01-28 12:20:55 +05:30
navdeepghai1
aac404a155 Fixed net_pay calculation issue 2019-01-28 10:42:16 +04:00
deepeshgarg007
4e4b200972 Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into pos_issue 2019-01-27 22:54:34 +05:30
deepeshgarg007
c2ffcc5e71 feat(POS): Customer wise price list in offline mode and enhancement in POS closing voucher 2019-01-27 16:09:07 +05:30
scmmishra
1b63fa1920 [fix] Formatting issues 2019-01-25 20:45:04 +05:30
scmmishra
e1f5d22a02 [fix] Code formatting, removed trailing spaces 2019-01-25 20:45:04 +05:30
scmmishra
000e216354 [feat] Added docsUrl variable to configure help_links 2019-01-25 20:44:45 +05:30
scmmishra
0be2aa33ac [fix] Links now redirect to erpnext.com 2019-01-25 20:41:54 +05:30
scmmishra
c6c1628c8a [feat] Modified help config 2019-01-25 20:41:54 +05:30
Nabin Hait
1187d61b56 fix(stock): Escaping issue in stock ledger report 2019-01-25 17:07:29 +05:30
deepeshgarg007
76556e1a3e Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into price_list 2019-01-25 16:50:06 +05:30
deepeshgarg007
8c84b7b888 fix: Doctype Name correction 2019-01-25 16:44:45 +05:30
deepeshgarg007
49cca7ac76 fix: Customer based price_list in online POS 2019-01-25 16:41:01 +05:30
Nabin Hait
01ca3e5e36 fix(manufacturing): Get raw materials rate from price list ignoring party 2019-01-25 16:25:15 +05:30
Nabin Hait
3476a457ad fix: minor 2019-01-25 16:22:36 +05:30
Shivam Mishra
67c338fd51 [fix] Fixed links
Previous commit missed the links starting with `http://`
2019-01-25 15:17:44 +05:30
scmmishra
f44dfb1582 [fix] Formatting issues 2019-01-25 14:56:30 +05:30
scmmishra
d71de2a23e [fix] Code formatting, removed trailing spaces 2019-01-25 14:27:23 +05:30
scmmishra
9731a02657 [feat] Added docsUrl variable to configure help_links 2019-01-25 13:14:11 +05:30
scmmishra
3f9b231f31 [fix] Links now redirect to erpnext.com 2019-01-25 12:56:27 +05:30
deepeshgarg007
1f9a6febdd fix: Assign given price list if POS price list is not available 2019-01-25 11:53:55 +05:30
Nabin Hait
596c1b3489 Merge pull request #16220 from SaiFi0102/Party-Ledger-Summary
feat: Party Ledger Summary Report
2019-01-25 11:22:55 +05:30
Nabin Hait
ddc65dfb87 fix: delete taxes and charges template while deleting company 2019-01-25 11:04:14 +05:30
Nabin Hait
50e552321b Merge pull request #16363 from scmmishra/leave-application-naming
fix: Naming series not reflecting in leave application
2019-01-25 10:34:01 +05:30
Nabin Hait
cce96758fc Merge pull request #16484 from netchampfaris/add-logging-for-failed-exchange-rate
chore: Add error logging for failed get_exchange_rate call
2019-01-25 10:33:03 +05:30
Nabin Hait
42462fac9d Merge pull request #16465 from nabinhait/eway_bill
fix(accounts): Validate gst accounts defined in GST Settings in eway bill report
2019-01-25 10:00:06 +05:30
Nabin Hait
05f1c0e1b9 Merge pull request #16470 from netchampfaris/fix-jinja-unicode-formatting
fix: Don't use .format in jinja templates
2019-01-25 09:57:37 +05:30
Nabin Hait
e21bdf020c Merge pull request #16472 from deepeshgarg007/cost_center
fix(cost_center): Bug fix in  update_cost_center_number argument name
2019-01-25 09:56:52 +05:30
Nabin Hait
a6ab38665d Merge pull request #16487 from netchampfaris/fix-gst-pos-invoice
fix: Dont show 0 amount taxes and tax breakup
2019-01-25 09:54:07 +05:30
Nabin Hait
393080ecbe Merge pull request #16492 from rohitwaghchaure/ascii_code_issue_pos_offline_not_working
fix: ascii codec while opening offline POS
2019-01-25 09:50:41 +05:30
Nabin Hait
f6459335da Merge pull request #16493 from rohitwaghchaure/bank_reconcilliation_entry_issue
fix: bank reconcilliation showing multiple entries against one JV
2019-01-25 09:50:07 +05:30
Nabin Hait
fc9e733d7f Merge pull request #16483 from surajshetty3416/stock-levels-based-on-permission
fix: Show stock levels in Item master based on user permissions
2019-01-25 09:48:43 +05:30
Suraj Shetty
1c9dd67f15 Merge branch 'staging-fixes' into add-logging-for-failed-exchange-rate 2019-01-25 09:22:46 +05:30
Rohit Waghchaure
e14cc8f2b6 fix: bank reconcilliation showing multiple entries against one JV 2019-01-25 00:23:41 +05:30
Rohit Waghchaure
74df01d3d1 fix: ascii code while opening offline POS 2019-01-25 00:03:35 +05:30
rohitwaghchaure
7e4cf62a15 Merge pull request #16370 from rohitwaghchaure/show_outward_entries_in_negative
Show outward entries in negative for Bank Clearance Summary report
2019-01-24 22:13:40 +05:30
Aditya Hase
a40c43e414 fix(ar-summary): Changes to column list to match recent changes 2019-01-24 19:13:32 +05:30
Nabin Hait
2a1aedfff1 fix(setup): Create regional taxes on creation on company 2019-01-24 17:56:19 +05:30
Nabin Hait
49b41e49ae fix: Added permissions in GST Settings and added filters for accounts based on company 2019-01-24 17:55:44 +05:30
deepeshgarg007
c48efaba6e fix(sales_invoice): fetch customer price list if available before pos profile price list 2019-01-24 17:15:38 +05:30
Faris Ansari
d6f837c5e5 fix: Dont show 0 amount taxes and tax breakup 2019-01-24 17:10:33 +05:30
Faris Ansari
badf1c42e0 chore: Add error logging for failed get_exchange_rate call 2019-01-24 16:28:53 +05:30
Suraj Shetty
7a45887fa1 fix typo 2019-01-24 16:26:48 +05:30
Suraj Shetty
dd0496f7aa Add missed out field field 2019-01-24 16:18:43 +05:30
Suraj Shetty
c165838228 Filter bin list based on warehouses that are accessible to the user 2019-01-24 15:45:46 +05:30
Nabin Hait
2a0e8e24ec Merge branch 'staging-fixes' into plaid_reconciliation 2019-01-24 14:11:00 +05:30
pipeCh
c16c7fffb4 fixed for "Select Serial Numbers" dialog won't fill mandatory field 2019-01-24 15:00:07 +07:00
deepeshgarg007
19ab86a3a7 fix:(cost_center): fix for update cost center number 2019-01-23 17:28:13 +05:30
Sagar Vora
e9778d9556 fix: do not use built-in "input", reload_doc 2019-01-23 17:13:31 +05:30
Sagar Vora
f51661b225 fix: allow operators, make weighting_function mandatory 2019-01-23 16:42:28 +05:30
Faris Ansari
853d3fd1ab fix: Don't use .format in jinja templates
- Jinja doesn't allow unicode strings to be formatted in templates
2019-01-23 16:34:22 +05:30
Sagar Vora
9aeabce3d3 fix: trailing whitespace, duplication & more 2019-01-23 16:01:19 +05:30
Sagar Vora
57d7c837aa fix: supplier scorecard test 2019-01-23 14:26:35 +05:30
Sagar Vora
fb256d68ff Merge branch 'fix-supplier-scorecard' of /home/snv/Work/master_bench/apps/erpnext into fix-scorecard 2019-01-23 14:13:40 +05:30
Sagar Vora
037d0f8ba6 fix(buying): make supplier scorecard usable 2019-01-23 14:11:25 +05:30
Frappe Bot
f74e28bc64 Merge branch 'staging-fixes' into staging 2019-01-23 08:12:19 +00:00
Frappe Bot
2d5bf69dc4 bumped to version 11.0.3-beta.37 2019-01-23 08:12:19 +00:00
Frappe Bot
34121bc81a Merge branch 'master' into staging-fixes 2019-01-23 08:08:55 +00:00
Frappe Bot
d801437f5f Merge branch 'hotfix' 2019-01-23 08:08:53 +00:00
Frappe Bot
342854f6f2 bumped to version 10.1.80 2019-01-23 08:08:53 +00:00
Nabin Hait
06607fda4e fix: removed print statement 2019-01-23 12:15:48 +05:30
Nabin Hait
141c543f97 Update journal_entry.js 2019-01-23 12:14:55 +05:30
Nabin Hait
36706c04bb Merge pull request #16451 from nabinhait/unicode-issue
fix: Unicode issue in purchase invoice
2019-01-23 12:11:00 +05:30
Nabin Hait
d2e2ca31ac Merge pull request #16460 from nabinhait/pricing-rule-issue
fix: Enforce pricing rule based on rate on server side
2019-01-23 12:09:12 +05:30
Nabin Hait
fb8c0bd664 Merge pull request #16464 from adityahase/flakes
style: Linting fixes
2019-01-23 12:08:57 +05:30
Nabin Hait
5b2922f76c Merge pull request #16466 from nabinhait/project-nonetype
fix(projects): None type handling while updating tasks
2019-01-23 12:07:25 +05:30
Nabin Hait
4ef578e1c4 Merge pull request #16406 from rohitwaghchaure/newchanges_in_tds_reports
fix: Multiple fixes in the reports
2019-01-23 12:05:36 +05:30
Nabin Hait
49e09624d6 fix(projects): None type handling while updating tasks 2019-01-23 10:43:00 +05:30
Nabin Hait
8c2a2c8f60 fix(accounts): Validate gst accounts defined in GST Settings in eway bill report 2019-01-23 10:33:47 +05:30
Aditya Hase
819a16d0f5 fix(dead-code): Remove .py files (#16462) 2019-01-23 07:57:08 +05:30
Aditya Hase
f79937d64b style: Remove unused imports 2019-01-23 00:28:37 +05:30
Aditya Hase
55a08dee78 style: Remove unusued local variable 2019-01-23 00:28:02 +05:30
Aditya Hase
4b4265f8a7 fix(dead-code): Remove .py files (#16457) 2019-01-22 20:54:21 +05:30
FinByz Tech Pvt. Ltd
237a871f17 fix: NoneType object has no attribute "gstin" (#16458)
* fix: NoneType object has no attribute "gstin"

* fix: handle NoneType values
2019-01-22 20:49:06 +05:30
Nabin Hait
da32916396 fix: Enforce pricing rule based on rate on server side 2019-01-22 19:06:06 +05:30
Aditya Hase
f3c22f342c fix(unicode): Import unicode_literals in every file 2019-01-22 18:36:10 +05:30
Sagar Vora
4d418b98f3 Merge branch 'staging-fixes' into staging 2019-01-22 18:17:09 +05:30
Sagar Vora
5555b2802f bumped to version 11.0.3-beta.36 2019-01-22 18:37:09 +05:50
Sagar Vora
c84e3fe21b Merge branch 'master' into staging-fixes 2019-01-22 18:16:13 +05:30
Sagar Vora
33bc3f3309 Merge branch 'hotfix' 2019-01-22 18:15:44 +05:30
Sagar Vora
2a9a867f05 bumped to version 10.1.79 2019-01-22 18:35:44 +05:50
Sagar Vora
ecf6467799 fix(travis): Redis must be working for caching, so reverting (#16455) 2019-01-22 17:41:56 +05:30
Sagar Vora
815c575a0b Merge branch 'staging-fixes' into staging 2019-01-22 15:45:56 +05:30
Sagar Vora
64d774d178 bumped to version 11.0.3-beta.35 2019-01-22 16:05:56 +05:50
Nabin Hait
a5270e561f fix: Unicode issue in purchase invoice 2019-01-22 15:43:04 +05:30
Sagar Vora
ceacacc320 Merge branch 'master' into staging-fixes 2019-01-22 15:37:05 +05:30
Sagar Vora
8c8e4fd130 Merge branch 'hotfix' 2019-01-22 15:33:48 +05:30
Sagar Vora
1e61dd024b bumped to version 10.1.78 2019-01-22 15:53:48 +05:50
Nabin Hait
cdcf474f12 Merge pull request #16447 from adityahase/ars-fix
fix(ar-summary-report): Changes to column list to match recent changes in AR Report
2019-01-22 15:08:46 +05:30
Rohit Waghchaure
ddd9136d10 Renamed field and added finance book column in the trial balance simple report 2019-01-22 14:11:57 +05:30
Aditya Hase
d157ae17b7 fix(ar-summary-report): Changes to column list to match recent changes in AR report 2019-01-22 13:37:54 +05:30
Zlash65
270c4c2a87 fix: push party filter only if applicable 2019-01-22 12:47:25 +05:30
Zlash65
c8d632ddff fix: add set query for payroll entry in JV 2019-01-22 12:46:13 +05:30
Nabin Hait
22923ed663 Merge branch 'staging-fixes' into pr_staging_fixes_2 2019-01-22 10:51:59 +05:30
Nabin Hait
f0ea152022 Merge pull request #16289 from Anurag810/Quality-inspection-fix
fix: validated quality inspection for delivery note(DN) and purchase receipt(PR)
2019-01-22 10:49:55 +05:30
Nabin Hait
a334ed879f Update __init__.py 2019-01-22 10:41:50 +05:30
Nabin Hait
9adfd2d7b4 Merge pull request #16419 from rohitwaghchaure/project_update_status_code_and_design_refactoring
fix: Project update status feature's code and design refactored
2019-01-22 10:02:34 +05:30
Nabin Hait
b9b8d575bc Merge pull request #16435 from deepeshgarg007/support-fix
fix(accounts_receivable): Bug fix in accounts receivable report
2019-01-22 09:59:17 +05:30
Nabin Hait
48fa697d54 Merge pull request #16439 from nabinhait/disable-rounded-total
fix: Disable rounded total field's value honours docfield's default value
2019-01-22 09:58:06 +05:30
Nabin Hait
16bbf09947 Merge pull request #16440 from rohitwaghchaure/not_able_to_submit_work_order
fix: not able to submit work order
2019-01-22 09:57:49 +05:30
Nabin Hait
0abfcb5516 Merge pull request #16442 from rohitwaghchaure/pos_query_code_cleanup
fix: Code cleanup
2019-01-22 09:56:57 +05:30
Rohit Waghchaure
de718dacb2 fix: Code cleanup 2019-01-21 19:47:17 +05:30
scmmishra
f2d0be7299 [feat] Modified help config 2019-01-21 19:35:46 +05:30
scmmishra
dd461636e3 [feat] Updated all help_links 2019-01-21 19:35:02 +05:30
Rohit Waghchaure
11ce45077d [Fix] Not able to submit work order 2019-01-21 19:18:52 +05:30
Nabin Hait
a39f324682 fix: Disable rounded total field's value honours docfield's default value 2019-01-21 18:50:50 +05:30
deepeshgarg007
ff1078f271 fix(minor): fetch payment terms if voucher nos are available 2019-01-21 09:43:56 +05:30
Saif Ur Rehman
31d58eac01 fix(Party Ledger Summary): Added Supplier/Customer Name column 2019-01-19 15:28:53 +05:00
Saif Ur Rehman
55566b7f8e fix(Party Ledger Summary): Codacy fix 2019-01-19 15:12:08 +05:00
Himanshu
79d4400c16 fix: Offline pos fix (#16424)
* Offline POS fix

* Fixed items search and load items
2019-01-19 14:01:38 +05:30
Saif Ur Rehman
fcaed12a53 Merge branch 'Party-Ledger-Summary' of https://saifi0102@github.com/SaiFi0102/erpnext.git into Party-Ledger-Summary 2019-01-19 13:18:23 +05:00
Aditya Hase
442c85c006 fix(marketplace): Capitalize marketplace factory class to support router changes (#16428) 2019-01-18 21:28:37 +05:30
Faris Ansari
f523611e12 Merge branch 'hotfix' into leave-application-naming 2019-01-18 14:30:39 +05:30
Rohit Waghchaure
7e71e132a3 Added patch 2019-01-18 11:47:31 +05:30
Nabin Hait
0c44701901 Merge pull request #16375 from deepeshgarg007/company_address
feat: Company address and GST field addition in sales order, purchase order, purchase receipt
2019-01-18 10:57:57 +05:30
Nabin Hait
7bea25a23a Merge pull request #16415 from ks093/ks093-shopping-cart-fixes
fix: Show stock validation message while placing order and Quotation series field fix in shopping cart settings.
2019-01-18 10:46:24 +05:30
Nabin Hait
6cc2a36c79 Merge pull request #16418 from nabinhait/stock_transfer_inter_company
Fix: Inter company stock transfer for serialised items
2019-01-18 10:45:07 +05:30
Nabin Hait
6202d0ed68 fix: NoneType comparison with int error 2019-01-18 09:40:24 +05:30
Nabin Hait
30667c160d test: Inter company stock transfer for serialised items 2019-01-18 09:36:18 +05:30
Nabin Hait
5a87ac0ad8 fix: Inter company stock transfer for serialised items 2019-01-18 09:36:18 +05:30
Rohit Waghchaure
425dff93d7 fix: Project update status code and design refactored 2019-01-17 19:21:44 +05:30
Rohit Waghchaure
fa7ee0b3b6 Added dafult bank account in the customer/supplier 2019-01-17 15:45:27 +05:30
Rohit Waghchaure
f725816809 Enhance: Added field limit in the Payment Reconciliation to handle large entries 2019-01-17 12:54:14 +05:30
ks093
61c781325d Fix to show low stock message.
In case of order being placed with stock quantity more than available, message showing stock available wasn't showing due to tuple unpacking not happening correctly.
2019-01-17 12:16:43 +05:30
ks093
1ed819bb10 Refresh quotation_series field to show series 2019-01-17 12:09:04 +05:30
Nabin Hait
c338188ce2 Merge pull request #16409 from SaiFi0102/Gross-Profit-Return-Fix
fix(Gross Profit Report): corrected fieldnames in return invoice query
2019-01-17 10:56:04 +05:30
Nabin Hait
c8ac825f0d Merge branch 'hotfix' into leave-application-naming 2019-01-16 17:54:35 +05:30
Nabin Hait
873442a55d Merge branch 'staging-fixes' into Party-Ledger-Summary 2019-01-16 17:52:45 +05:30
Nabin Hait
983d102a19 Merge branch 'staging-fixes' into Quality-inspection-fix 2019-01-16 17:52:30 +05:30
Nabin Hait
cd40d87ebd Merge branch 'staging-fixes' into pr_staging_fixes_2 2019-01-16 17:52:01 +05:30
Nabin Hait
4fd710a392 Merge branch 'staging-fixes' into company_address 2019-01-16 17:51:49 +05:30
Nabin Hait
28ccaa3c88 Merge branch 'staging-fixes' into Gross-Profit-Return-Fix 2019-01-16 17:49:22 +05:30
Nabin Hait
0e0f7c0d32 Merge pull request #16392 from nabinhait/mr_against_so
fix: Make material request from SO and raw material's rate as per UOM in BOM
2019-01-16 17:47:07 +05:30
Nabin Hait
3dd5f55412 feat(stock-reco): Fetch items in stock reco based on group warehouse 2019-01-16 16:20:05 +05:30
Nabin Hait
78ccbe24a3 fix(test): BOM raw materials rate from price list as per uom 2019-01-16 16:00:25 +05:30
Nabin Hait
158e7dcd8b fix(bom-uom_issue)Fetch rate in BOM from Price List based on UOM 2019-01-16 16:00:25 +05:30
Nabin Hait
3dde949419 feat(mr_against_so): Merge same items from different BOMs 2019-01-16 15:59:39 +05:30
Sahil Khan
693e81db48 more bis fixes 2019-01-16 15:59:39 +05:30
Sahil Khan
34766c0c50 BIS issue fixes 2019-01-16 15:59:39 +05:30
Saif Ur Rehman
fccb1e55ec fix(Gross Profit Report): corrected fieldnames in return invoice query 2019-01-16 14:36:55 +05:00
Deepesh Garg
7bb7f95aa8 Merge branch 'staging-fixes' into company_address 2019-01-16 11:17:55 +05:30
Nabin Hait
29552c1ec4 Merge pull request #16304 from netchampfaris/fix-item-group-pagination
fix(website): Pagination in child item groups
2019-01-16 10:31:48 +05:30
Nabin Hait
7686aa9ff6 Merge pull request #16400 from Zlash65/fix-deff
fix: for deferred settings for Item
2019-01-16 10:16:00 +05:30
Nabin Hait
7b3ee0e31c Merge pull request #16403 from saurabh6790/patch_sequnce_fix
Patch sequence fix
2019-01-16 10:15:14 +05:30
Nabin Hait
7213895095 Merge pull request #16404 from Zlash65/fix-asset-category
fix: Asset Category field as link type and read only
2019-01-16 10:14:21 +05:30
Nabin Hait
f0571ddf4b Merge pull request #16393 from diamorafaela/quotation-currency
fix: Quotation to Sales Order with different currency
2019-01-16 10:13:44 +05:30
Nabin Hait
d98315c41c Merge pull request #16402 from sagarvora/fix-patch-testing
fix(tests): change patch order, optimise Travis
2019-01-16 10:13:14 +05:30
Saurabh
7d630b3e29 Merge branch 'master' into staging-fixes 2019-01-15 19:41:09 +05:30
Saurabh
529cc1ca51 bumped to version 10.1.77 2019-01-15 19:46:36 +06:00
Nabin Hait
d36bc5a9fd Merge pull request #16327 from nabinhait/group_warehouse_stock_reco
Fetch items based on group warehouse in Stock Reconciliation
2019-01-15 17:49:07 +05:30
Rohit Waghchaure
affeb3dfec Added on account amount field in Accounts Payable/Receivable Summary 2019-01-15 17:38:31 +05:30
Rohit Waghchaure
1a4c1e11cb Fix: total invoiced amount in Accounts Receivable Summary report showing blank 2019-01-15 17:01:34 +05:30
Zlash65
cef56b5147 fixes asset category field as link type and read only 2019-01-15 16:26:58 +05:30
Rohit Waghchaure
b2d08a498b Added bank account field in the payment entry 2019-01-15 16:11:29 +05:30
Zlash65
a3dd798bad clean if conditions 2019-01-15 16:05:42 +05:30
Rohit Waghchaure
bdee57ca8d Added finance book in trial balance and fixed cost center not working issue in trial balance 2019-01-15 15:52:52 +05:30
Saif Ur Rehman
f86123ad5a feat(Party Ledger Summary): Include columns for discount and other adjustments 2019-01-15 15:18:43 +05:00
Sagar Vora
876d868fa1 fix(tests): change patch order, optimise travis 2019-01-15 15:45:33 +05:30
Rohit Waghchaure
df7215dcb2 Added supplier name in the tds report 2019-01-15 14:48:06 +05:30
Saurabh
68ea608ca8 fix: import unicode_literals 2019-01-15 14:47:32 +05:30
Zlash65
627be1de51 minor fixes for deferred calculations 2019-01-15 14:16:50 +05:30
NahuelOperto
9080221d46 fix: added test cases 2019-01-14 12:12:56 -03:00
Nabin Hait
d92024bb0f Merge branch 'hotfix' into leave-application-naming 2019-01-14 20:26:01 +05:30
Nabin Hait
acd7f73d57 Merge branch 'hotfix' into group_warehouse_stock_reco 2019-01-14 20:25:53 +05:30
Nabin Hait
55c672eefd Merge branch 'hotfix' into is_fixed_asset_checkbox_not_copied 2019-01-14 20:25:22 +05:30
Nabin Hait
910a744263 Merge pull request #16391 from nabinhait/cc_fix
fix: Travis fix for hotfix branch
2019-01-14 20:24:23 +05:30
Nabin Hait
4ed7cfc515 tests(cost-center-company): Validate cost center's company and revent tests 2019-01-14 17:14:39 +05:30
rohitwaghchaure
ba54209c86 [Fix] Exchange rate revaluation, get entries not working if accounts of the other currency than company currency not available (#16379) 2019-01-12 17:58:00 +05:30
NahuelOperto
7facc34851 fix: removed filter from method validate 2019-01-11 10:46:38 -03:00
Nabin Hait
5c86cf54a2 Merge pull request #16288 from Anurag810/task-fixes
[fix] 'Expected End Date' in task should not be later than 'Expected End Date' of project
2019-01-11 14:21:58 +05:30
Anurag Mishra
cd8908362a Changes Requested Done 2019-01-11 12:23:23 +05:30
Nabin Hait
7e3c80bd8a Merge pull request #16213 from nabinhait/pplan_fix
fix(pro-plan): Actual Qty of RM considering children in case source warehouse is a group warehouse
2019-01-10 17:57:28 +05:30
Nabin Hait
0d208851a4 Fix(stock-reco): Fixed codacy issues 2019-01-10 17:56:11 +05:30
Sagar Vora
f99e013ebc fix: gstin validation should work when there is no state (#16378) 2019-01-10 11:57:24 +05:30
Nabin Hait
6b466fe230 Merge pull request #16326 from hrwX/hotfix-gst-fix
fix: GSTIN validation
2019-01-10 11:23:42 +05:30
Sagar Vora
07cf4e8f5b fix: use division consistent with Python 3 & other changes 2019-01-10 11:14:58 +05:30
Nabin Hait
187bdf08a6 Merge pull request #16319 from SaiFi0102/Gross-Profit-Exclude-Opening-Invoice
fix: Exclude Opening Invoice from Gross Profit Report and Company Dashboard Chart
2019-01-10 10:55:41 +05:30
Nabin Hait
afbdaa525e Merge pull request #16365 from hiousi/patch-1
fix: variant can not get its price
2019-01-10 10:36:27 +05:30
Nabin Hait
c693cd7f10 Merge pull request #16341 from Mangesh-Khairnar/date-range-fix
fix: Sales Analytics Period Range
2019-01-10 10:35:31 +05:30
Nabin Hait
00d0f8bf26 Merge pull request #16371 from SaiFi0102/Override-Warehouse-Get-Item-Details
fix: Give Precedence to set_warehouse in get_item_details
2019-01-10 10:28:30 +05:30
karthikeyan5
2825b929c1 fix(GSTIN Validation - india): added checksum validation for GSTIN 2019-01-09 19:15:10 +05:30
Deepesh Garg
9c5e9d79f1 Merge branch 'staging-fixes' into company_address 2019-01-09 17:19:20 +05:30
deepeshgarg007
d29ee97307 Addition of GST fields in Sales Order,Purchase Order,Purchase Receipt 2019-01-09 17:09:11 +05:30
Rohit Waghchaure
701c762a68 Show outward entries in negative for Bank Clearance Summary report 2019-01-09 14:21:03 +05:30
Saif Ur Rehman
2689dea72a fix: Give higher precedence to set_warehouse in get_item_details while setting item level warehouse 2019-01-09 13:43:06 +05:00
Jamsheer
319ca86c81 fix: Test Fee Validity 2019-01-09 13:29:20 +05:30
Jamsheer
c0ac849776 fix: Helathcare Prcatitioner custom query escaped 2019-01-09 11:48:41 +05:30
Jamsheer
45c5138eaf fix: updated options for abdomen in Vital Signs 2019-01-09 11:19:27 +05:30
Jamsheer
f2d7e3309f fix: Patient Appointment - Calendar - status != Cancelled 2019-01-09 11:19:27 +05:30
Jamsheer
17bb0da278 fix: remove print statement 2019-01-09 11:19:27 +05:30
Jamsheer
c3804230cd fix: Patient - Quick Entry enabled 2019-01-09 11:19:27 +05:30
Jamsheer
52ac72e63e fix: Validate Patient Appointment 2019-01-09 11:19:27 +05:30
Jamsheer
c0097ad729 feat: Filter active Healthcare Practitioner 2019-01-09 11:19:27 +05:30
Jamsheer
fb7b5292b3 fix: Clinical Procedure - consume stock if items present 2019-01-09 11:19:27 +05:30
Jamsheer
3e01891e22 fix: Traverse note from procedure prescription to appointment 2019-01-09 11:19:27 +05:30
Jamsheer
f3c4f5a901 fix: Clinical Procedure - copy fields from appointment 2019-01-09 11:19:26 +05:30
Jamsheer
f4d0fcb836 fix: patient - user welcome email configuration 2019-01-09 11:19:26 +05:30
Jamsheer
b2c9268ece fix: Patient Appointment - Calendar - set color from appointment type 2019-01-09 11:19:26 +05:30
hiousi
9671438435 Update get_item_details.py 2019-01-08 22:23:45 +01:00
hiousi
1516e29609 [fix] variant can not get its price
get_price_list_rate() return empty dict before trying to get the item price for a variant.
2019-01-08 18:34:08 +01:00
Nabin Hait
bf0b6fd8a9 Merge pull request #16342 from finbyz/staging-fixes
fix: rounded total if available while caclulating advance paid
2019-01-08 20:29:32 +05:30
Nabin Hait
c13b0562ba Merge pull request #16337 from Anurag810/Employee
fix: Employee Onboarding/Seperation task Assignment
2019-01-08 20:27:43 +05:30
Nabin Hait
142d8aa973 Merge pull request #16321 from rohitwaghchaure/fixed_bank_clearance_negtive_value_amt
fix: negative amount showing in the bank clearance summary report
2019-01-08 20:25:26 +05:30
Nabin Hait
e6ec6cccfa Merge pull request #16316 from Anurag810/purchase-invoice-fixes
fix: expense head of asset items in purchase invoice
2019-01-08 20:23:14 +05:30
Nabin Hait
0f3ccba741 Update test_asset.py 2019-01-08 20:23:01 +05:30
Nabin Hait
2da5937864 Merge pull request #16314 from surajshetty3416/patch-to-rename-additional-salary-component
fix: patch to rename additional salary component
2019-01-08 20:21:16 +05:30
scmmishra
e2762df90b Fix: Naming series not reflecting in leave application 2019-01-08 17:38:28 +05:30
Saurabh
1836285c01 bumped to version 11.0.3-beta.34 2019-01-08 16:52:38 +06:00
rohitwaghchaure
ffdadbf97f fix: fallback to stock uom if uom is not defined (#16329)
* [minor] Code cleanup

* fix: remove 'or' condition, won't execute
2019-01-08 16:21:25 +05:30
Nabin Hait
c190192d5f Merge pull request #16277 from deepeshgarg007/loyalty-program-fix
fix: Loyalty program issue fix in customer dashboard
2019-01-08 12:15:57 +05:30
Nabin Hait
4c08aaef3d Merge pull request #16290 from deepeshgarg007/stock-recon
fix: Unorderable type error while making stock reconciliation entry
2019-01-08 11:55:49 +05:30
Nabin Hait
4216d86dd9 Merge pull request #16296 from deepeshgarg007/update_items_bug
fix: Validation while updating items in sales order
2019-01-08 11:54:52 +05:30
Nabin Hait
9ed6deb452 Merge pull request #16333 from deepeshgarg007/report-fix
fix: added customer group column in Item-wise Sales History report
2019-01-08 11:53:14 +05:30
Nabin Hait
49ca9dceb2 Merge branch 'staging-fixes' into report-fix 2019-01-08 11:53:06 +05:30
Nabin Hait
4e3e784691 Merge pull request #16335 from deepeshgarg007/accounts-receivable-fix
perf: Customer contact column in accounts receivable report
2019-01-08 11:52:20 +05:30
Deepesh Garg
7c45f45ebc fix: Divide by zero exception fix in item wise purchase register (#16247)
* Do not prepare row if stock quantity is not available

* Update item_wise_purchase_register.py
2019-01-08 08:34:28 +05:30
Charles-Henri Decultot
c75300dc43 Purchase invoice modified date 2019-01-07 15:46:25 +00:00
Charles-Henri Decultot
8d36b362d1 Merge conflict resolution 2019-01-07 15:24:39 +00:00
Charles-Henri Decultot
4c57fae726 Codacy correction 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
2d1b5b0769 Codacy corrections 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
1d7646f31f Codacy corrections 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
1a19746904 Codacy corrections 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
e7fec6e659 Codacy corrections 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
c45e271b3e Add button to unlink bank account 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
422d483baf Move actions menu to standard menu 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
c56f771c81 UX corrections + additional tests 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
89923b84b1 UX enhancements 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
c936f07a1e Correct Travis error 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
aea2fbf82d Correct test case for Travis 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
7a1ea42271 Addition of test cases 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
58438f4e5b Duplicate query to avoid SQL injection 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
f6d18e81e9 Modify SQL queries and add a test case 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
e8f3050e27 Codacy corrections 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
cbe63ec418 Codacy corrections 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
94899981d3 Dev cleanup 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
6a4dae3a9d Codacy corrections + sql queries 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
57c6b49d1a Dev cleanup 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
eae7424984 Cleanup dev 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
e394cec194 Bank reconciliation dashboard 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
818492387a WIP 2019-01-07 15:21:57 +00:00
Charles-Henri Decultot
31cb24f48d Bank reconciliation WIP 2019-01-07 15:20:06 +00:00
Charles-Henri Decultot
590d8d3d3e Bank reconciliation wip 2019-01-07 15:20:06 +00:00
Charles-Henri Decultot
6025e498f2 Bank reconciliation wip 2019-01-07 15:20:06 +00:00
Charles-Henri Decultot
09cad814cd Reconciliation dashboard wip 2019-01-07 15:20:06 +00:00
Charles-Henri Decultot
c75a2b1eed Plaid integration 2019-01-07 15:20:06 +00:00
Saif
e5091cbc0f chore: Updated DocType JSON Files to Clean Up Git Diff of Other PRs (#16356)
* chore: Updated DocType json files to clean up git diff of other PRs

* fix: remove auto-generated file
2019-01-07 18:19:30 +05:30
Sagar Vora
7d60c03ed9 Merge branch 'staging-fixes' into pplan_fix 2019-01-07 15:54:16 +05:30
Sagar Vora
f5a00dc0c1 Merge branch 'hotfix' into is_fixed_asset_checkbox_not_copied 2019-01-07 15:45:33 +05:30
Sagar Vora
cad20abe83 Merge branch 'staging-fixes' into loyalty-program-fix 2019-01-07 15:32:40 +05:30
Sagar Vora
a4af874a43 Merge branch 'staging-fixes' into update_items_bug 2019-01-07 15:21:02 +05:30
Sagar Vora
278d7a44f9 Merge branch 'staging-fixes' into patch-to-rename-additional-salary-component 2019-01-07 15:12:44 +05:30
Sagar Vora
92cab55c72 Merge branch 'staging-fixes' into purchase-invoice-fixes 2019-01-07 15:03:37 +05:30
Sagar Vora
f14c56488f Merge pull request #16325 from rohitwaghchaure/not_able_to_access_report_quoted_item_comparison
fix: report quoted item comparison not working
2019-01-07 14:55:14 +05:30
Sagar Vora
fd78339a7c Merge branch 'staging-fixes' into not_able_to_access_report_quoted_item_comparison 2019-01-07 14:54:44 +05:30
Sagar Vora
db40ea4f76 Merge pull request #16328 from rohitwaghchaure/fixed_salary_structure_employee_reqd
fix: employee is reqd to preview salary slip from salary structure
2019-01-07 14:30:57 +05:30
Sagar Vora
26e5c9480b Merge branch 'staging-fixes' into fixed_salary_structure_employee_reqd 2019-01-07 14:30:23 +05:30
Sagar Vora
1310c238a9 Merge pull request #16350 from rohitwaghchaure/code_cleanup_general_ledger
fix: replaced str to cstr in genral ledger report
2019-01-07 14:28:27 +05:30
Sagar Vora
f733a39089 fix: remove trailing whitespace 2019-01-07 14:24:01 +05:30
Sagar Vora
fbadb19d93 Merge branch 'staging-fixes' into Gross-Profit-Exclude-Opening-Invoice 2019-01-07 13:55:43 +05:30
Sagar Vora
d40743a570 fix: 14th digit may not be zero 2019-01-07 13:38:43 +05:30
Sagar Vora
3c74266763 fix: PEP8 recommended whitspace 2019-01-07 13:13:16 +05:30
Sagar Vora
23a1b98957 fix: remove unnecessary code 2019-01-07 13:10:18 +05:30
Rohit Waghchaure
ed6725172d Replaced str to cstr in genral ledger report 2019-01-06 20:07:18 +05:30
Deepesh Garg
0eca1646e6 Merge branch 'staging-fixes' into loyalty-program-fix 2019-01-06 12:16:54 +05:30
Deepesh Garg
4772ae2755 Merge branch 'staging-fixes' into stock-recon 2019-01-06 12:16:45 +05:30
Deepesh Garg
16745c2553 Merge branch 'staging-fixes' into update_items_bug 2019-01-06 12:16:37 +05:30
Deepesh Garg
b12c7358b1 Merge branch 'staging-fixes' into report-fix 2019-01-06 12:16:11 +05:30
Deepesh Garg
f840c92c10 Merge branch 'staging-fixes' into accounts-receivable-fix 2019-01-06 10:35:12 +05:30
Frappe Bot
094d539cd9 Merge branch 'staging-fixes' into staging 2019-01-05 09:11:14 +00:00
Frappe Bot
0d54271d15 bumped to version 11.0.3-beta.33 2019-01-05 09:11:14 +00:00
finbyz
5efc7973ea Minor Fix for Rounded Total 2019-01-05 11:12:11 +05:30
Mangesh-Khairnar
e2ea987610 fixed edge cases for yearly, weekly and monthly views 2019-01-05 00:15:31 +05:30
Mangesh-Khairnar
676a106d7a (refactor) removed unnecessary code 2019-01-05 00:15:31 +05:30
Mangesh-Khairnar
8e47a543f6 (fix) multiple years in yearly view 2019-01-05 00:15:31 +05:30
Himanshu
75ab042632 removed lowercase regex 2019-01-04 17:13:43 +05:30
Deepesh Garg
1bb9287b2d Merge branch 'staging-fixes' into update_items_bug 2019-01-04 14:15:40 +05:30
Suraj Shetty
aea25b147f Merge branch 'staging-fixes' into patch-to-rename-additional-salary-component 2019-01-04 13:45:56 +05:30
Sagar Vora
53cac1b616 Merge pull request #16338 from sahil28297/remove_print_from_test_case
fix: Remove print statement from test case
2019-01-04 13:31:00 +05:30
Sahil Khan
3ac57c756b fix: remove print statement from test case 2019-01-04 12:57:34 +05:30
deepeshgarg007
eabf260706 fix :Test cases for accounts receivable report 2019-01-04 12:34:28 +05:30
Anurag Mishra
bb6a7eb9d3 refractor 2019-01-04 12:32:51 +05:30
Anurag Mishra
add6bf35a3 Fix: Employee Onboarding/Seperation task Assignment 2019-01-04 11:36:30 +05:30
Anurag Mishra
68aedfd176 typo 2019-01-04 11:00:07 +05:30
deepeshgarg007
9de81cda77 Added Customer contact column in accounts Receivable 2019-01-04 10:54:24 +05:30
Anurag Mishra
f2b29a0488 typo 2019-01-04 10:54:05 +05:30
Himanshu
547229fef1 PAN card validation in GST 2019-01-03 23:20:38 +05:30
deepeshgarg007
32f054b901 Added customer group column in item-wise-sales-history report 2019-01-03 22:57:18 +05:30
Suraj Shetty
6fe5c5c84d Merge branch 'staging-fixes' into patch-to-rename-additional-salary-component 2019-01-03 16:59:30 +05:30
Sagar Vora
cda289dc27 Merge pull request #16323 from sagarvora/fix_tests
fix: leave application and timesheet tests
2019-01-03 16:38:46 +05:30
Rohit Waghchaure
8bac5b6e73 [minor] Employee is reqd to preview salary slip from salary structure 2019-01-03 16:20:35 +05:30
Nabin Hait
47c9826b6f test(reco-warehouse): Get items for group warehouse 2019-01-03 15:24:59 +05:30
Himanshu
53c040f838 Gst number validation fix 2019-01-03 12:50:18 +05:30
Himanshu
a09a6e4020 Merge pull request #2 from frappe/hotfix
Hotfix
2019-01-03 12:47:03 +05:30
Rohit Waghchaure
3dc5b93db7 [Fix] Report quoted item comparison not working 2019-01-03 12:19:44 +05:30
Sagar Vora
c14c7c84e3 fix: leave application and timesheet tests 2019-01-02 21:28:11 +05:30
Rohit Waghchaure
1ff1fc4725 [Fix] Negative amount showing in the bank clearance summary 2019-01-02 17:56:08 +05:30
Anurag Mishra
4c8c50e464 test case fixed 2019-01-02 17:52:28 +05:30
Suraj Shetty
0f8eb37e1c Merge branch 'staging-fixes' into patch-to-rename-additional-salary-component 2019-01-02 17:47:59 +05:30
Saif Ur Rehman
016f29f09b fix: error due to passing None in scrub 2019-01-02 16:22:22 +05:00
Saif Ur Rehman
e194a655df fix: is_opening != 'Yes' 2019-01-02 16:09:34 +05:00
Anurag Mishra
772e2c4e20 test cases 2019-01-02 15:59:58 +05:30
rohitwaghchaure
9c69e40970 Merge pull request #16312 from rohitwaghchaure/fix_not_able_to_delete_department
[Fix] Not able to delete department
2019-01-02 15:58:24 +05:30
Anurag Mishra
5865fcca3c fix: expense head of asset items in purchase invoice 2019-01-02 14:36:07 +05:30
Deepesh Garg
74306cc5ea Merge branch 'staging-fixes' into update_items_bug 2019-01-02 14:10:23 +05:30
deepeshgarg007
9c0c633259 fix: Added validation for stock reconciliation in stock ledger entry 2019-01-02 11:31:55 +05:30
Suraj Shetty
c349ae26b9 Add patch to rename additional salary component
- Should fix https://pastebin.com/xsNHPAh6
(happens when clicking links option in menu of Employee master)
2019-01-02 09:31:11 +05:30
Charles-Henri Decultot
94e35e7a7e Fix #15917 (#16311) 2019-01-01 22:25:13 +05:30
deepeshgarg007
8300f5ede7 fix: Codacy issues and added test case 2019-01-01 20:28:49 +05:30
deepeshgarg007
78ad6c4cb7 Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into loyalty-program-fix 2019-01-01 19:46:08 +05:30
deepeshgarg007
9eb99dc61e Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into stock-recon 2019-01-01 18:40:24 +05:30
deepeshgarg007
318dc422bc Updated test Cases for update_child_rate_qty 2019-01-01 18:30:33 +05:30
deepeshgarg007
1451304526 Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into update_items_bug 2019-01-01 17:13:37 +05:30
Saif Ur Rehman
fac6b59627 Exclude opening invoices in Gross Profit Report 2019-01-01 16:33:22 +05:00
Rohit Waghchaure
c186f153ff Added test cases 2019-01-01 15:03:56 +05:30
Anurag Mishra
0885485a61 changes 2019-01-01 15:00:16 +05:30
Anurag Mishra
77d779424b Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into task-fixes 2019-01-01 14:38:54 +05:30
Anurag Mishra
a3b5f5f6e4 Test case 2019-01-01 14:11:59 +05:30
Rohit Waghchaure
8f62aec2e3 [Fix] Not able to delete department 2019-01-01 14:06:40 +05:30
Nabin Hait
137a24f457 Merge pull request #16253 from chdecultot/sales_summary_correction
[Fix] Filter cancelled and draft payments in sales payment summary
2018-12-31 12:02:19 +05:30
Nabin Hait
cacbdec565 Merge pull request #16283 from rohitwaghchaure/fix_not_able_to_delete_customer
[Fix] Not able to delete customer if contact is available
2018-12-31 11:55:24 +05:30
rohitwaghchaure
f07cde6351 Merge pull request #16306 from rohitwaghchaure/removed_duplicate_fields
[Fix] Duplicate fieldnames operation and allow_alternative_item in BOM Item
2018-12-28 17:49:52 +05:30
sahil28297
50f0a99330 fix: Checks for status in employee and for date range in upload attendance. (#16279)
* fix: checks for status in employee and for date range in upload attendance.

1. Earlier the status of an amployee can be set to 'Left' even though other employees are reporting to this employee, added checks to prevent this behaviour.
2. Earlier the range of dates added to the template were not checked for date of joining and relieving date. Now the range of dates added in the template are between the date of joining and relieving date.

* remove "import erpnext"

* fix: replace frappe.db.sql with frappe.db.get_all

* fix: refactored using list comprehension

* fix: query refactoring

* fix: combining list comprehensions

* travis debugging

* fix: doc.save
2018-12-28 17:15:56 +05:30
Anurag Mishra
3637e14e9f refractor 2018-12-28 17:11:52 +05:30
Anurag Mishra
0c8411d085 test cases sucess 2018-12-28 16:53:00 +05:30
Rohit Waghchaure
df4fe922c0 [Fix] Duplicate fieldnames operation and allow_alternative_item in BOM Item 2018-12-28 16:46:36 +05:30
Nabin Hait
fcbe410c2f feat(stock-reco): Fetch items based on group warehouse 2018-12-28 16:31:05 +05:30
Faris Ansari
af75d9a384 fix(website): Pagination in child item groups
Item groups pages which had child item groups were not paged at all
despite having next, prev buttons
2018-12-28 14:47:51 +05:30
Charles-Henri Decultot
e87eb07e16 Correction for Travis 2018-12-27 17:38:57 +00:00
Charles-Henri Decultot
8d71015bf8 Cleanup journal entries 2018-12-27 16:43:26 +00:00
Charles-Henri Decultot
b7339d7dcb Test travis 2018-12-27 15:30:56 +00:00
Charles-Henri Decultot
43c7bd57e4 Cancel existing payment entries for data integrity in test 2018-12-27 14:43:30 +00:00
Charles-Henri Decultot
641d3e0073 Add own records 2018-12-27 13:43:56 +00:00
deepeshgarg007
77cde832d6 Added validation for update items in purchase order as well 2018-12-27 15:56:51 +05:30
Charles-Henri Decultot
0f9c47c242 Remove pricing rule from items 2018-12-27 10:10:18 +00:00
Charles-Henri Decultot
02aa9fb240 Understand Travis 2018-12-27 08:46:29 +00:00
deepeshgarg007
ffb411d9e2 Validation while updating items in sales order 2018-12-27 14:12:05 +05:30
Charles-Henri Decultot
d7777696d7 Corrections for Travis 2018-12-26 14:08:00 +00:00
Frappe Bot
1fa3f7d81e Merge branch 'staging-fixes' into staging 2018-12-26 12:04:55 +00:00
Frappe Bot
23beec2bd1 bumped to version 11.0.3-beta.32 2018-12-26 12:04:55 +00:00
deepeshgarg007
22e05b24f3 Fix for NoneType comparison with int error 2018-12-26 17:16:34 +05:30
Frappe Bot
e8c2fdfb8c Merge branch 'master' into staging-fixes 2018-12-26 11:44:09 +00:00
Frappe Bot
23ee3c6fbe Merge branch 'hotfix' 2018-12-26 11:09:34 +00:00
Frappe Bot
9a9c9c2ba3 bumped to version 10.1.76 2018-12-26 11:09:34 +00:00
rohitwaghchaure
56c5d8b784 Merge pull request #16286 from rohitwaghchaure/fixed_patch_rename_bom_wo_fields
[Fix] Patch rename_bom_wo_fields
2018-12-26 16:26:19 +05:30
Rohit Waghchaure
8406720a7a [Fix] Patch rename_bom_wo_fields 2018-12-26 16:25:44 +05:30
Charles-Henri Decultot
9c1db688d1 Ignore pricing rule for Travis 2018-12-26 10:33:42 +00:00
rohitwaghchaure
53a38e8edc Merge pull request #16257 from surajshetty3416/permission-fixes
Fix user permission checks
2018-12-26 14:49:01 +05:30
Charles-Henri Decultot
899b9b1ea7 Codacy correction 2018-12-26 08:56:11 +00:00
Charles-Henri Decultot
9d31452c25 Remove ununsed variable 2018-12-26 08:38:42 +00:00
Charles-Henri Decultot
ed94317df9 Test cases 2018-12-26 08:36:32 +00:00
Suraj Shetty
33ba694f3a Revert "Modify bench_init.sh"
Point back to original repo

This reverts commit d3530125dd.
2018-12-26 11:32:06 +05:30
deepeshgarg007
a1d015cc2f Initialized loyalty_point_details 2018-12-26 11:01:02 +05:30
Rohit Waghchaure
52a692ee08 [Fix] Not able to delete customer if contact is available 2018-12-26 02:34:13 +05:30
deepeshgarg007
64238ee91f (Codacy Fix) Fixed indenttion 2018-12-25 16:28:39 +05:30
deepeshgarg007
12f5cefc12 Loyalty program issue fix in customer dashboard 2018-12-25 16:06:19 +05:30
rohitwaghchaure
136c4c4820 Merge pull request #16016 from rohitwaghchaure/fixed_tax_withholding_issue
[Fix] Tax Withholding, TDS is applying on the tax
2018-12-25 14:49:05 +05:30
Suraj Shetty
488aa86f70 Skip some codacy warnings 2018-12-25 14:46:44 +05:30
Suraj Shetty
6684c1ebff Merge branch 'permission-fixes' of https://github.com/surajshetty3416/erpnext into permission-fixes 2018-12-25 14:30:55 +05:30
Suraj Shetty
d3530125dd Modify bench_init.sh
- to point frappe branch in my repo with
changes to check if any test fails due to the changes
2018-12-25 14:30:50 +05:30
rohitwaghchaure
deb96dab3e [Fix] Salary structure not saving (#16275) 2018-12-25 13:58:20 +05:30
Rohit Waghchaure
94500a9d62 [Fix] TDS is applying on the tax 2018-12-24 15:13:52 +05:30
rohitwaghchaure
7ec5e80b70 [Fix] While making sales invoice from delivery note, system not remove the returned qty (#16141) 2018-12-24 14:55:31 +05:30
Nabin Hait
5a9579bae4 feat(quality): Check quality status before receipt/delivery (#16169) 2018-12-24 14:54:42 +05:30
Valmik
78bc405eeb fix: set fieldname for frappe prompt (#16198) 2018-12-24 14:54:06 +05:30
Navdeep Ghai
c4d38c0afc Fix the disappears of image bug after uploading and saving the employee (#16217)
* Fix image disappears of image after uploading and saving the employee

* Fix the codacy issue
2018-12-24 14:53:19 +05:30
KanchanChauhan
1790a6faaa Set ignore_user_permission 1 for Company field in Item Default (#16167) 2018-12-24 14:48:09 +05:30
Rohan
349040db6d fix(work_order): Set operations for Work Order when created from MREQ (#16154) 2018-12-24 14:42:34 +05:30
Charles-Henri Decultot
052033a76e [Fix] Pos bugs (#16256)
* Remove hard-coded values

* Fix change pos profile + add campaign

* Test case for coveralls

* Remove unnecessary method
2018-12-24 14:39:30 +05:30
rohitwaghchaure
4265c5a772 Rename BOM and Work order fields (#16209)
* Rename BOM and Work order fields

* Rearranged BOM fields
2018-12-24 14:38:49 +05:30
Mangesh-Khairnar
70c5aa5f5d [Enhancement] Pending SO Items for Purchase Request Report (#16188)
* deleted old purchase request query report

* [Enhancement] pending so items for purchase request report refactor

* comments and format fix

* test and minor fixes

* test fixes
2018-12-24 14:25:47 +05:30
Shreya Shah
91ddadeefa fix: add currency to options (#16199) 2018-12-24 14:25:12 +05:30
Charles-Henri Decultot
083f1c5370 Safe decode project name for languages with special characters (#16254) 2018-12-24 14:21:33 +05:30
Shreya Shah
d2b9093ecc fix: Check if items exist (#16248) 2018-12-24 14:21:07 +05:30
Charles-Henri Decultot
9100740ba9 [Fix] FEC: Correction of the export function (#16252)
* Correction of the export function

* Improve JS code

* Codacy corrections

* Codacy corrections
2018-12-24 14:20:35 +05:30
Raffael Meyer
ed3561279d Update README.md (#16224) 2018-12-24 14:19:51 +05:30
rohitwaghchaure
1c1798c7f2 [Fix] Warehouse wise item balance age and value report not working (#16258) 2018-12-24 14:19:27 +05:30
Deepesh Garg
3ae2517867 Removed subscriber option form module page (#16270) 2018-12-24 14:16:57 +05:30
Faris Ansari
e095648810 Merge pull request #16269 from surajshetty3416/fix-daily-work-summary-patch
fix: daily_work_summary_settings migration patch
2018-12-24 11:58:13 +05:30
Suraj Shetty
772e8780b4 Merge branch 'staging-fixes' into permission-fixes 2018-12-24 10:35:12 +05:30
Suraj Shetty
b58c317abb Fix daily_work_summary_settings migration patch 2018-12-24 10:26:39 +05:30
Frappe Bot
a509d4855b Merge branch 'staging-fixes' into staging 2018-12-21 05:46:22 +00:00
Frappe Bot
7067727c0c bumped to version 11.0.3-beta.31 2018-12-21 05:46:22 +00:00
Nabin Hait
e9a2d57357 Merge pull request #16249 from shreyashah115/error-fix-2
Purchase order validation sql error
2018-12-21 10:59:20 +05:30
Charles-Henri Decultot
813485023b Filter cancelled and draft payments 2018-12-20 14:04:00 +00:00
Nabin Hait
16c3240ab7 Merge pull request #15973 from deepeshgarg007/accounts-receivable
Accounts receivable report based on payment terms
2018-12-20 14:16:22 +05:30
Nabin Hait
0866b2b75a Update accounts_receivable.py 2018-12-20 14:11:20 +05:30
shreyashah115@gmail.com
ba8c041206 fix: Check if items exist 2018-12-20 13:23:51 +05:30
Suraj Shetty
7ed37ae6c3 Commonify code
- use get_permitted_documents function to avoid code redundancy
2018-12-19 19:56:42 +05:30
deepeshgarg007
b645c2c75e Rebase using staging-fixes and resolved conflicts 2018-12-19 18:47:36 +05:30
deepeshgarg007
530453e4fc Added temp variables for outstanding, credit_note_amt instead of function calling 2018-12-19 18:43:07 +05:30
deepeshgarg007
5de603c6af breaked up code into multiple functions 2018-12-19 18:43:06 +05:30
deepeshgarg007
4ac8fcf4af Added test case for Accounts receivable report based on payment terms 2018-12-19 18:43:06 +05:30
deepeshgarg007
a944f88b94 Removed column for pdc date 2018-12-19 18:43:06 +05:30
deepeshgarg007
17544d7ad6 Refactored accounts receivable report for payment terms 2018-12-19 18:43:06 +05:30
deepeshgarg007
e7a91b9526 Credit note fix 2018-12-19 18:43:06 +05:30
deepeshgarg007
f98adf2be5 Changed columns and added currency conditions 2018-12-19 18:43:06 +05:30
deepeshgarg007
b6c083706a Allocation of credit note amount and pdc in payment terms 2018-12-19 18:43:06 +05:30
deepeshgarg007
24f8d3ed0c Add columns based on payment terms 2018-12-19 18:43:06 +05:30
deepeshgarg007
a8ab9b5c3d Accounts Receivable report based on payment terms 2018-12-19 18:43:06 +05:30
Nabin Hait
a78947f2de Merge pull request #16218 from deepeshgarg007/analytics-graph
[Bug-fix] Analytics report graph skipping quarter values bug fix
2018-12-19 18:08:25 +05:30
Rohit Waghchaure
f6f503a1f6 [Fix] Is fixed asset checkbox not checked if user duplicate the existing invoice 2018-12-19 15:15:35 +05:30
Suraj Shetty
7ae2d59ffd Merge branch 'staging-fixes' into permission-fixes 2018-12-18 15:41:03 +05:30
Suraj Shetty
a8d9bfdcfd Fix: currency symbol issue in delivery note list (#16233) 2018-12-18 14:53:17 +05:30
Rohan
159897d88d fix(customer): Fix Total Unpaid amount in Customer dashboard (#16234) 2018-12-18 14:52:23 +05:30
rohitwaghchaure
c4921d235a Merge pull request #16225 from rohitwaghchaure/not_able_to_make_po_from_mr
[Fix] Get items from material request not working for PO
2018-12-17 18:52:46 +05:30
rohitwaghchaure
c5c2124bba Merge pull request #16226 from shreyashah115/fix-list
Fix employee separation list
2018-12-17 18:52:05 +05:30
rohitwaghchaure
ca62b19bff Merge pull request #16228 from shreyashah115/fix-student-report
Fix Student Fee Collection report
2018-12-17 18:50:48 +05:30
shreyashah115@gmail.com
a5dc08ee8e fix: remove paid_amount and modify query 2018-12-17 16:47:17 +05:30
shreyashah115@gmail.com
0543f03b58 fix: Remove date_of_joining from field list 2018-12-17 15:02:30 +05:30
rohitwaghchaure
37d7d25018 Merge pull request #16207 from Zlash65/fix-qi
[Minor] Make Quality Inspection in query configurable
2018-12-17 13:55:26 +05:30
rohitwaghchaure
d6ca23b277 Merge pull request #16219 from Zlash65/fix-holiday-leave
[Minor] Fix Leave Application as half day on Holiday validation
2018-12-17 13:54:16 +05:30
rohitwaghchaure
c963ac20a6 Merge pull request #16211 from Zlash65/fix-pp
[Minor] Get items for Material Requests fix
2018-12-17 13:52:25 +05:30
Rohit Waghchaure
4ac9ea0e85 [Fix] Get items from material request not working for PO 2018-12-17 11:18:46 +05:30
Zlash65
c8337c6d83 fix check for leave on holiday for half day 2018-12-15 21:15:45 +05:30
deepeshgarg007
1ee19e4167 Analytics report graph fix 2018-12-15 15:36:09 +05:30
Faris Ansari
871f4e5df5 Merge pull request #16201 from netchampfaris/fix-product-search
fix(product-search): Include variants in product search
2018-12-14 16:36:42 +05:30
Nabin Hait
22a1e281a9 fix(variant): Show attribute values on single variant creation (#16204) 2018-12-14 14:22:45 +05:30
Faris Ansari
4994d84565 fix(pos-profile): Cleanup Form for POS Profile (#16208)
- Remove pos_profile_name field and use `name` as Prompt
- Reorganize form and label sections
- Remove `apply_discount` which was not used
2018-12-14 14:19:14 +05:30
Nabin Hait
d8f497ce98 Merge branch 'staging-fixes' into pplan_fix 2018-12-13 16:59:15 +01:00
Nabin Hait
614559f234 fix(pro-plan): Actual Qty of RM considering children in case source warehouse is a group warehouse 2018-12-13 16:36:35 +01:00
Zlash65
82e01bc923 fix fetch material request items logic 2018-12-13 18:31:05 +05:30
Zlash65
9fde660aaf make quality inspection in query configurable 2018-12-13 13:28:01 +05:30
Saurabh
58a4f0e157 bumped to version 11.0.3-beta.30 2018-12-13 11:15:31 +06:00
Prateeksha Singh
35ff4a8576 Merge pull request #15964 from pratu16x7/staging-fixes-setup-refactor
[setup][init] setup as document records
2018-12-13 00:22:30 +05:30
Prateeksha Singh
4ba9594b04 [setup] domain not in array 2018-12-12 22:09:00 +05:30
Prateeksha Singh
9c5676292c [setup] add defaults stage 2018-12-12 21:29:55 +05:30
Prateeksha Singh
58db3c1c7c [setup] fix install_defaults 2018-12-12 21:29:55 +05:30
Prateeksha Singh
0e728972e9 [setup][minor] remove unused import 2018-12-12 21:29:55 +05:30
Prateeksha Singh
d59b61cbd9 [fixtures] re-add market_segments and sales_stages utils 2018-12-12 21:29:55 +05:30
Prateeksha Singh
4da8dced94 [setup] remove unused imports 2018-12-12 21:29:55 +05:30
Prateeksha Singh
b274f8cb2a [fix] setup chart of accounts 2018-12-12 21:29:55 +05:30
Prateeksha Singh
47118ab72a [setup] remove redundant code
- [fix] domain setup from dictionary
2018-12-12 21:29:55 +05:30
Prateeksha Singh
9282e08099 [fix] >.< call setup_taxes 2018-12-12 21:29:55 +05:30
Prateeksha Singh
c3a49b9cad [fix] set default_bank_account in company 2018-12-12 21:29:55 +05:30
Prateeksha Singh
c0f90beb7c Rename 'Chat' to 'Gitter Chat' 2018-12-12 21:29:55 +05:30
Prateeksha Singh
1aee75aadc [setup] separate out setup_company 2018-12-12 21:29:55 +05:30
Prateeksha Singh
8469b27c3a [setup] add get_country_and_charts() 2018-12-12 21:29:55 +05:30
Prateeksha Singh
aeb8abf1ed [setup] add market segments and sales stages 2018-12-12 21:29:55 +05:30
Prateeksha Singh
6f7233229e [setup][fix] company fixtures 2018-12-12 21:29:55 +05:30
Prateeksha Singh
6bf22fa7d7 [setup][fix] get newly created root Territory for children 2018-12-12 21:29:55 +05:30
Prateeksha Singh
c1c057611e [setup] bundle up fixtures and setup docs 2018-12-12 21:29:54 +05:30
Prateeksha Singh
dabf349599 [setup] don't premake company fixtures 2018-12-12 21:29:54 +05:30
Prateeksha Singh
b422458224 [setup] set the default fiscal year that was made 2018-12-12 21:29:54 +05:30
Prateeksha Singh
179d82702e [setup] fetch setup config 2018-12-12 21:29:54 +05:30
Prateeksha Singh
39b8765961 [setup][init] setup as document records 2018-12-12 21:29:54 +05:30
Faris Ansari
907e9080c4 fix(product-search): Include variants in product search 2018-12-12 19:26:52 +05:30
Ameya Shenoy
d630370183 Merge pull request #16190 from SaiFi0102/Travis-Fix
[Staging] Travis Fix: bench reinstall allow setting MariaDB root user/pass #6599
2018-12-12 18:17:51 +05:30
Saif Ur Rehman
b53231595d Using same filter for Sales Person from Accounts Receivable
Added Customer/Supplier Ledger Summary in Accounts Module page
2018-12-12 15:46:50 +05:00
Saif Ur Rehman
b07d108bee feat: Supplier Ledger Summary 2018-12-12 05:45:49 +05:00
Saif Ur Rehman
41236ed0e5 feat: Customer Ledger Summary report 2018-12-12 05:12:20 +05:00
Rushabh Mehta
eeab3ee5d3 fix(test): use frappe.db.rollback to revert deletion of fixture data (#16192)
* debug(test): test_payroll_entry

* debug(test): test_payroll_entry

* debug(test): use frappe.db.rollback to undelete fixture data
2018-12-11 22:37:29 +05:30
Frappe Bot
4f3fd030ae Merge branch 'staging-fixes' into staging 2018-12-11 09:55:01 +00:00
Frappe Bot
caed845f3e bumped to version 11.0.3-beta.29 2018-12-11 09:55:01 +00:00
Pawan Mehta
377511165e Simple Trial Balance (#16060) 2018-12-10 21:55:01 +05:30
Frappe Bot
298796bea6 Merge branch 'staging-fixes' into staging 2018-12-10 16:05:45 +00:00
Frappe Bot
ee97a46fde bumped to version 11.0.3-beta.28 2018-12-10 16:05:45 +00:00
Ameya Shenoy
cc552b7e39 Merge pull request #16191 from Alchez/revert-16131
Revert "fix(delivery): update package total on validate (#16131)"
2018-12-10 21:32:53 +05:30
Rohan
c1eb94d37f Revert "fix(delivery): update package total on validate (#16131)"
This reverts commit f43433b43d.
2018-12-10 20:27:14 +05:30
Suraj Shetty
07e5786e1b Fix user permission checks 2018-12-10 19:10:18 +05:30
Frappe Bot
43c95e397a Merge branch 'staging-fixes' into staging 2018-12-10 13:08:33 +00:00
Frappe Bot
0509d82701 bumped to version 11.0.3-beta.27 2018-12-10 13:08:33 +00:00
Tyler Matteson
afc55ca821 De-clutter, Regionalize and Domainify Accounts Module Configuration (on staging-fixes) (#16117) 2018-12-10 18:03:19 +05:30
Saif
b52bd9c093 AR/AP Report Enhancement (#16175)
* Modified AR/AP print format

* Filter Sales Person based on either Customer or Voucher's assigned Sales Person

* -Added Sales Person column to Accounts Receivable Summary
-Added all filters in AR/AP Summary Report as in AR/AP Report
-Reordered filters for better grouping
-Fixed a bug that customer_name was not unset after removing Customer from filter
2018-12-10 17:56:42 +05:30
Rohan
f43433b43d fix(delivery): update package total on validate (#16131) 2018-12-10 17:47:31 +05:30
rohitwaghchaure
5472fff027 Added disabled field in the address (#16114) 2018-12-10 17:45:39 +05:30
Frappe Bot
402ffa8b29 Merge branch 'hotfix' 2018-12-10 12:14:33 +00:00
Frappe Bot
65a9991d84 bumped to version 10.1.75 2018-12-10 12:14:33 +00:00
RicardoJohann
bc0ef0beca Add Serial Number button in Delivery Note and Sales Invoice's Packing List (#16080) 2018-12-10 17:43:03 +05:30
rohitwaghchaure
398e47ecad Merge pull request #16189 from rohitwaghchaure/transferred_qty_issue
[Fix] Transferred qty cannot be null
2018-12-10 17:37:02 +05:30
Rohit Waghchaure
57633b75ed [Fix] Transferred qty cannot be null 2018-12-10 17:36:01 +05:30
Sagar Vora
4c5bd253a2 fix(party dashboard): empty array is truthy, check for length (#16184) 2018-12-10 17:19:10 +05:30
Rohan
39b31ece31 fix(pos): Return empty dict if no results found (#16124) 2018-12-10 17:16:39 +05:30
Deepesh Garg
0c3c148316 Linking company address to pos profile (#16142)
* Linking company address to pos profile

* Translation fix
2018-12-10 16:22:38 +05:30
Saif Ur Rehman
86853296a1 Rearranged arguments 2018-12-08 00:24:11 +05:00
Saif Ur Rehman
5608bc6d81 Added root password to .travis.yml 2018-12-07 23:04:28 +05:00
Nabin Hait
3248e0bb3e Merge pull request #16163 from netchampfaris/hotfix-setupwizard-abbr
fix(setup-wizard): Validate abbr length before switching to next slide
2018-12-07 15:20:23 +05:30
Nabin Hait
da9c96e9f5 Merge pull request #16150 from rohitwaghchaure/what_is_the_use_of_this_code
Removed unnecessary code
2018-12-07 15:18:11 +05:30
Nabin Hait
1b529d997c Merge pull request #16146 from rohitwaghchaure/remove_tax_amt_from_the_billed_amt_in_project
[Fix] In project, tax amount is added in the total billed amount(sales) field
2018-12-07 15:17:35 +05:30
Nabin Hait
01ccb8b099 Merge pull request #16144 from deepeshgarg007/list_view
[Fix]List view currency bug fix
2018-12-07 15:09:09 +05:30
Nabin Hait
2bd6ab9fba Merge pull request #16140 from KanchanChauhan/staging-fixes
[Minor]Method path fix in Material Request js
2018-12-07 15:08:44 +05:30
Deepesh Garg
6967b44ac8 Merge branch 'hotfix' into list_view 2018-12-07 08:30:20 +05:30
Frappe Bot
67db77cfa8 Merge branch 'staging-fixes' into staging 2018-12-06 09:50:24 +00:00
Frappe Bot
4f1c659050 bumped to version 11.0.3-beta.26 2018-12-06 09:50:24 +00:00
Frappe Bot
ee5d7e6d0f Merge branch 'master' into staging-fixes 2018-12-06 09:26:42 +00:00
Frappe Bot
efb2712d14 Merge branch 'hotfix' 2018-12-06 09:14:35 +00:00
Frappe Bot
be0a349a52 bumped to version 10.1.74 2018-12-06 09:14:35 +00:00
Nabin Hait
32c95c3292 Merge pull request #16113 from nabinhait/travis-fix
fix(test): Fixed tests for discount with margin and period closing voucher
2018-12-06 11:58:56 +05:30
Faris Ansari
40c15348da fix(setup-wizard): Validate abbr length before switching to next slide 2018-12-06 07:37:32 +05:30
rohitwaghchaure
f85856d9f8 Merge pull request #16155 from rohitwaghchaure/changed_parent_for_item_attribute_value
[Fix] Permissions issue
2018-12-04 18:45:07 +05:30
Rohit Waghchaure
675567419b [Fix] Permissions issue 2018-12-04 18:43:52 +05:30
Rohit Waghchaure
e61430b471 Removed unnecessary code 2018-12-03 18:54:26 +05:30
Rohit Waghchaure
636d186d08 [Fix] In project, tax amount is added in the total billed amount(sales) field 2018-12-03 16:04:08 +05:30
deepeshgarg007
114cc810a0 List view currency bug fix 2018-12-03 15:13:06 +05:30
Kanchan Chauhan
9dc85153e0 [Minor]Method path fix in Material Request js 2018-12-03 14:39:43 +05:30
Nabin Hait
3ecb995485 Merge pull request #16006 from gbm001/gbm001-item-barcodes-pull
fix/feat: Allow extension of barcode types (without validation)
2018-12-03 14:39:14 +05:30
Nabin Hait
94eafb6674 Merge pull request #16005 from ESS-LLP/pr_staging_fixes
[Feature][Fix] Healthcare - Patient Appointment
2018-12-03 14:38:32 +05:30
Nabin Hait
999dfda37b Merge pull request #16065 from deepeshgarg007/supplier-customer-dashboard-fix
Customer/Supplier dashboard fix for multi company setup
2018-12-03 14:37:05 +05:30
Nabin Hait
046a99acf8 Merge branch 'staging-fixes' into supplier-customer-dashboard-fix 2018-12-03 14:36:38 +05:30
Nabin Hait
02aad03e74 Merge pull request #16022 from ESS-LLP/fix-patch
fix: healthcare patch
2018-12-03 14:36:02 +05:30
Nabin Hait
6b93f2fe0a Merge pull request #16139 from Zlash65/fix-assess
[Minor] Assessment Result fix
2018-12-03 14:33:01 +05:30
Nabin Hait
0b4ea25f83 Merge pull request #16138 from rohitwaghchaure/user_permissions_issue_item
[Fix] Permissions issue while making item variants
2018-12-03 14:32:40 +05:30
Nabin Hait
dd7b020b01 fix(test): Fixed tests for period closing voucher 2018-12-03 14:24:41 +05:30
Nabin Hait
dce68422a7 Merge pull request #16133 from rohitwaghchaure/fixed_stock_value_diifference_calculation_for_stock_reco
[Fix] Stock value difference calculation for stock reconciliation
2018-12-03 14:20:40 +05:30
Nabin Hait
b60deebaa9 Merge pull request #16118 from deepeshgarg007/analytics-fix
Bug fixes for analytics report
2018-12-03 14:19:24 +05:30
Zlash65
db43c3af68 display message if details to fetch grade isnt filled up 2018-12-03 12:15:10 +05:30
Rohit Waghchaure
a8003c1af7 [Fix] Permissions issue while making item variants 2018-12-03 11:49:52 +05:30
deepeshgarg007
4c79274054 Fixed patch and deprecated grid reports 2018-11-30 18:01:22 +05:30
deepeshgarg007
ec5bbe351c Row check fix for purchase analytics 2018-11-30 16:25:16 +05:30
rohitwaghchaure
ce72d26e95 Merge pull request #16125 from frappe/revert-16112-accounts_receivable_summary_print_issue
Revert "[Fix] Accounts receivable summary print is not working"
2018-11-30 16:21:53 +05:30
Rohit Waghchaure
16b8ecbe05 [Fix] Stock value difference calculation for stock reconciliation 2018-11-30 16:20:52 +05:30
deepeshgarg007
94a3539015 Row check fix in stock analytics 2018-11-30 16:20:48 +05:30
deepeshgarg007
37b6a2ca0b row check bug fix 2018-11-30 16:15:43 +05:30
Nabin Hait
eda0a6eb33 fix(test): Fixed tests for period closing voucher 2018-11-30 15:15:17 +05:30
rohitwaghchaure
ca332bdcdb Revert "[Fix] Accounts receivable summary print is not working" 2018-11-29 18:15:29 +05:30
deepeshgarg007
ee05e358d1 Rewrote query using orm 2018-11-29 16:24:28 +05:30
deepeshgarg007
c981fb389b Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into supplier-customer-dashboard-fix 2018-11-29 14:57:50 +05:30
deepeshgarg007
3c7c4a61be Test case fix 2018-11-29 14:28:01 +05:30
deepeshgarg007
3eef6411dd Removed print statement 2018-11-29 13:10:02 +05:30
deepeshgarg007
9ed13f4a90 Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into analytics-fix 2018-11-29 12:52:44 +05:30
deepeshgarg007
1a1c013b2a Analytics report bug fixes and code cleaning 2018-11-29 08:34:47 +05:30
Ameya Shenoy
5780e865b7 bumped to version 11.0.3-beta.25 2018-11-28 08:28:36 +00:00
Ameya Shenoy
2806d83362 Merge branch 'master' into staging-fixes 2018-11-28 08:12:48 +00:00
Ameya Shenoy
e3136c38e1 bumped to version 10.1.73 2018-11-28 07:57:27 +00:00
deepeshgarg007
ebe1e12a82 Codacy issue fixes 2018-11-28 08:21:54 +05:30
Nabin Hait
305c8b1fba Merge pull request #16110 from shreyashah115/fix-timer
[Timesheet] Element selector in Timer
2018-11-27 17:57:46 +05:30
Nabin Hait
ce870316c5 Merge pull request #16112 from rohitwaghchaure/accounts_receivable_summary_print_issue
[Fix] Accounts receivable summary print is not working
2018-11-27 17:57:17 +05:30
Nabin Hait
f642f86982 Merge branch 'hotfix' into accounts_receivable_summary_print_issue 2018-11-27 17:56:49 +05:30
Nabin Hait
96598936ad fix(test): Fixed tests for discount with margin and period closing voucher 2018-11-27 17:48:13 +05:30
deepeshgarg007
c1a3c72b49 final dashboard design 2018-11-27 17:09:12 +05:30
Rohit Waghchaure
10bcd5113c [Fix] Accounts receivable summary print is not working 2018-11-27 16:25:35 +05:30
deepeshgarg007
f31caffa74 Changes in get_dashboard_info 2018-11-27 15:04:12 +05:30
Nabin Hait
3b16dd7377 Merge branch 'staging-fixes' into pr_staging_fixes 2018-11-27 14:19:49 +05:30
Nabin Hait
dfd79b0349 Merge branch 'staging-fixes' into gbm001-item-barcodes-pull 2018-11-27 14:19:20 +05:30
Nabin Hait
15ca2f438f Merge pull request #16029 from Alchez/hotfix-child-task-error
Fix error when trying to convert a task into a group even if no child tasks exist
2018-11-27 14:17:32 +05:30
Nabin Hait
676a2fbc8a Merge branch 'staging-fixes' into hotfix-child-task-error 2018-11-27 14:17:23 +05:30
deepeshgarg007
6372fbba54 Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into supplier-customer-dashboard-fix 2018-11-27 14:06:58 +05:30
Nabin Hait
3854940e42 Merge branch 'staging-fixes' into fix-patch 2018-11-27 13:26:05 +05:30
Nabin Hait
e4cc062cf1 Merge pull request #16109 from rohitwaghchaure/while_pulling_advanced_entry_system_uses_grand_total
[Fix] System allocated grand total amount instead of non zero rounded total for advanced entry in the sales invoice
2018-11-27 13:22:50 +05:30
Nabin Hait
b98d08a2cb Merge pull request #16049 from rohitwaghchaure/incorrect_stock_value_difference_calculation
[Fix] Incorrect stock value difference because of negative stock
2018-11-27 13:21:43 +05:30
Nabin Hait
ccb03fb255 Merge pull request #16073 from deepeshgarg007/receivable-summary
Accounts receivable summary print fix
2018-11-27 13:11:37 +05:30
shreyashah115@gmail.com
5281fe8e50 fix: Element selector 2018-11-27 13:11:30 +05:30
Nabin Hait
72fc1b57be Merge pull request #16083 from Anurag810/new-fix-branch
[fix] delivery note with quantity equal 0 #14211
2018-11-27 13:10:31 +05:30
Nabin Hait
3c31e4ad4b Merge pull request #16088 from rohitwaghchaure/fixed_pos_profile_packing_items
If is pos is enabled and no pos profile then use the item's default warehouse for packing materials
2018-11-27 13:10:14 +05:30
Nabin Hait
6743219dc2 Merge pull request #16094 from rohitwaghchaure/validate_due_date_for_purchase_invoice
[Fix] Due Date cannot be before Posting Date should consider supplier invoice date for purchase invoice
2018-11-27 13:09:16 +05:30
Nabin Hait
5f7b37ee11 Merge pull request #16093 from rohitwaghchaure/manufacturing_settings_permissions_issue
[Fix] No permission for Manufacturing Settings
2018-11-27 13:07:44 +05:30
Rohit Waghchaure
6cc2f52fa4 [Fix] System allocated grand total amount instead of non zero rounded total for advanced entry in the sales invoice 2018-11-27 12:07:03 +05:30
Nabin Hait
dde952d591 Merge pull request #16092 from deepeshgarg007/salary_slip
Salary slip earnings and deductions table bug fix
2018-11-27 11:39:10 +05:30
Nabin Hait
a9f72bd3ce Merge pull request #16108 from KanchanChauhan/indicators-in-leave-applications
[Minor] Indicators in Leave Application
2018-11-27 11:38:44 +05:30
Nabin Hait
9a06543453 Merge branch 'staging-fixes' into indicators-in-leave-applications 2018-11-27 11:38:29 +05:30
Nabin Hait
9a4cf4dce9 Merge pull request #16100 from deepeshgarg007/test-fix
Removed total label from graph
2018-11-27 11:37:30 +05:30
Nabin Hait
f48cf001ed Merge branch 'staging-fixes' into test-fix 2018-11-27 11:37:22 +05:30
Nabin Hait
be65af5dfe Merge pull request #16101 from SaiFi0102/patch-1
Company rename abbr to consider more DocTypes
2018-11-27 11:36:46 +05:30
Nabin Hait
57fa8759ee Merge pull request #16102 from deepeshgarg007/fees
Paid Amount not showing for fees in web portal fix
2018-11-27 11:36:27 +05:30
Nabin Hait
df8fb59511 Merge pull request #16099 from SaiFi0102/SO-Validate-Set-GrossProfit
Set Gross Profit on server-side validation of Sales Order
2018-11-27 11:19:15 +05:30
Nabin Hait
f806cfecaa Merge branch 'staging-fixes' into SO-Validate-Set-GrossProfit 2018-11-27 11:18:54 +05:30
Kanchan Chauhan
2d0b788105 [Minor] Indicators in Leave Application 2018-11-27 10:37:23 +05:30
deepeshgarg007
bc513a8828 Removed paid amount form Fees doctype 2018-11-26 20:43:39 +05:30
deepeshgarg007
a9525de0da paid amount fix in fees 2018-11-26 20:34:32 +05:30
Saif
6a9d9d76ef Company rename abbr to consider more DocTypes 2018-11-26 19:56:13 +05:00
Nabin Hait
78d9fac0ce Merge branch 'staging-fixes' into pr_staging_fixes 2018-11-26 20:25:34 +05:30
Nabin Hait
15951e6e93 Merge branch 'staging-fixes' into gbm001-item-barcodes-pull 2018-11-26 20:25:29 +05:30
Nabin Hait
93595fa60a Merge branch 'staging-fixes' into hotfix-child-task-error 2018-11-26 20:24:47 +05:30
Nabin Hait
91c811f170 Merge branch 'staging-fixes' into new-fix-branch 2018-11-26 20:23:37 +05:30
Nabin Hait
c5064069c7 Merge branch 'staging-fixes' into manufacturing_settings_permissions_issue 2018-11-26 20:23:11 +05:30
Nabin Hait
218fa51dba Merge branch 'staging-fixes' into validate_due_date_for_purchase_invoice 2018-11-26 20:23:00 +05:30
Nabin Hait
9fba32a917 Merge pull request #16098 from rohitwaghchaure/on_uncheck_is_return_clear_reference_number
On disabled is return field clear the reference field
2018-11-26 20:20:30 +05:30
Nabin Hait
73e3138a5b Merge branch 'staging-fixes' into on_uncheck_is_return_clear_reference_number 2018-11-26 20:20:22 +05:30
deepeshgarg007
05c2989698 removed total from graph 2018-11-26 20:19:57 +05:30
Nabin Hait
0ccc05bdf7 Merge pull request #15997 from rohitwaghchaure/address_not_set_from_api
[Fix] Address not set from the API
2018-11-26 20:17:03 +05:30
Nabin Hait
7f02659425 Merge branch 'hotfix' into address_not_set_from_api 2018-11-26 20:16:54 +05:30
Nabin Hait
9170c2daab Merge pull request #15989 from deepeshgarg007/bug-fixes
Minor issue fixes
2018-11-26 20:05:25 +05:30
Nabin Hait
b32abde2ac Merge branch 'staging-fixes' into bug-fixes 2018-11-26 20:05:09 +05:30
Nabin Hait
2598c475ed Merge pull request #15999 from codingCoffee/css
css: build files in v10
2018-11-26 20:02:18 +05:30
Saif Ur Rehman
5fdbc68ca3 Set Gross Profit on server-side validation of Sales Order 2018-11-26 19:32:16 +05:00
Rohit Waghchaure
b4a5993ece On uncheck is return field clear the reference field 2018-11-26 20:02:01 +05:30
Nabin Hait
21983b8432 Merge pull request #16001 from jsukrut/staging-fixes
[FIX][#15018][PATIENT Relation should be unique]
2018-11-26 20:01:19 +05:30
Nabin Hait
bcd0ba0d69 Merge pull request #16041 from surajshetty3416/pos-profile-fix
fix: Add additional condition to get_pos_profile
2018-11-26 19:59:17 +05:30
Nabin Hait
56dc5c1be3 Merge branch 'staging-fixes' into pos-profile-fix 2018-11-26 19:59:07 +05:30
Nabin Hait
212a29ae2c Merge pull request #16028 from rohitwaghchaure/not_able_to_view_general_ledger
[Fix] Not able to view general ledger for purchase invoice
2018-11-26 19:57:24 +05:30
Nabin Hait
25e60f3934 Merge pull request #16044 from ESS-LLP/fix-trial-balance
fix: Trial Balance print
2018-11-26 19:56:27 +05:30
Nabin Hait
4191d7eb52 Merge pull request #16045 from SaiFi0102/GrossProfit-Fix-Buying-Amount-Multiple-Invoice
Fixed get_buying_amount in Gross Profit report:
2018-11-26 19:55:06 +05:30
Nabin Hait
d0af0887be Merge pull request #16051 from SaiFi0102/patch-1
Remove "Test" Letter Head
2018-11-26 19:47:07 +05:30
Nabin Hait
70642a0ae4 Merge pull request #16055 from rohitwaghchaure/fixed_holiday_list_not_working
[Fix] New holiday list form is not working
2018-11-26 19:44:19 +05:30
Nabin Hait
36f266355d Merge branch 'staging-fixes' into fixed_holiday_list_not_working 2018-11-26 19:44:11 +05:30
Nabin Hait
736ce9a176 Merge pull request #16095 from SaiFi0102/BugFix-Rate-Calculation
Fixed error due to incorrect use of 'this' while calculating rate
2018-11-26 19:31:25 +05:30
Saif Ur Rehman
147fa73d3f Fixed incorrect use of 'this' causing errors calculating rate 2018-11-26 18:14:06 +05:00
Rohit Waghchaure
d1a85a3637 [Fix] Due date can not be greter than posting date validation should consider supplier invoice date for purchase invoice 2018-11-26 18:42:29 +05:30
Rohit Waghchaure
15ed7a6351 [Fix] No permission for Manufacturing Settings 2018-11-26 17:31:18 +05:30
Anurag Mishra
e5248b6933 Merge branch 'new-fix-branch' of https://github.com/anurag810/erpnext into new-fix-branch 2018-11-26 17:25:28 +05:30
Anurag Mishra
5b6dd58b3e fixed ZeroDivisionError in sales_order.py 2018-11-26 17:22:50 +05:30
Nabin Hait
fc6194e640 Merge branch 'staging-fixes' into new-fix-branch 2018-11-26 17:16:06 +05:30
Nabin Hait
d5fc05c10b Merge pull request #16090 from frappe/update-stale-bot-1-2
Update stale.yml
2018-11-26 17:15:19 +05:30
Nabin Hait
e8469daf0c Merge branch 'staging-fixes' into update-stale-bot-1-2 2018-11-26 17:14:59 +05:30
deepeshgarg007
bd87903b56 Added condition for default amount 2018-11-26 17:13:59 +05:30
Anurag Mishra
e657fe84b8 making validation generic for sales order,sales invoice,purchase order etc. 2018-11-26 17:13:10 +05:30
Anurag mishra
6ddb15b3df fix(validate): Qty is mandatory in delivery note 2018-11-26 17:13:10 +05:30
Anurag mishra
7b2c445707 Delivery Note fixes 2018-11-26 17:13:10 +05:30
Nabin Hait
059c6f8da5 Merge pull request #16070 from nabinhait/travis-fix-1
Travis fixes
2018-11-26 17:00:10 +05:30
Nabin Hait
73ca3cfca6 fix(test): removed test print 2018-11-26 16:16:42 +05:30
Anurag Mishra
42d3af3bbb making validation generic for sales order,sales invoice,purchase order etc. 2018-11-26 15:19:17 +05:30
deepeshgarg007
533066eb87 Salary slip bug fix 2018-11-26 15:04:21 +05:30
Prateeksha Singh
758ca946fa Update stale.yml 2018-11-26 14:45:54 +05:30
Rohit Waghchaure
3893ba302c If is pos and no pos profile use the item's default warehouse for packing materials 2018-11-26 14:13:24 +05:30
Anurag mishra
66bd5810c5 fix(validate): Qty is mandatory in delivery note 2018-11-26 11:36:57 +05:30
Anurag mishra
bc4574b59d Delivery Note fixes 2018-11-26 11:33:22 +05:30
Nabin Hait
2665c37f38 temp(travis): Print statement to fix travis 2018-11-26 11:05:28 +05:30
Nabin Hait
48e0e19b03 fix(test): Fixed salary slip and sales analytics test cases 2018-11-26 11:05:28 +05:30
Nabin Hait
2508d11097 fix(test): Test cases fixed 2018-11-26 11:05:28 +05:30
Nabin Hait
f77cd54a6c fix(tds): Create tds payable under correct parent 2018-11-26 11:05:28 +05:30
deepeshgarg007
9cdece4ca2 Test case fix and other minor bug fix 2018-11-26 11:05:28 +05:30
deepeshgarg007
5dbb9f5312 Accounts receivable summary print fix 2018-11-23 19:54:08 +05:30
deepeshgarg007
a1cffc3490 minor changes in dashboard 2018-11-23 16:51:35 +05:30
deepeshgarg007
0e8c36473a Added colspan to indicators 2018-11-23 11:22:24 +05:30
deepeshgarg007
920dc1400f Customer/Supplier dashboard fix for multi company setup 2018-11-23 10:17:28 +05:30
Rohit Waghchaure
037a151ef5 [Fix] New holiday list form is not working 2018-11-22 12:57:34 +05:30
Saif
2a2f2742eb Remove "Test" Letter Head 2018-11-21 23:29:09 +05:00
Rohit Waghchaure
6424f47f3b [Fix] Incorrect stock value difference because of negative stock 2018-11-21 23:18:41 +05:30
Ranjith
1879e91148 fix: Trial Balance 2018-11-21 16:04:05 +05:30
Saif Ur Rehman
23eef11cf5 Fixed get_buying_amount in Gross Profit report:
To handle the case where there may be multiple invoices for a single delivery
2018-11-21 15:32:37 +05:00
Suraj Shetty
1eb098caf9 Add additional condition condition to get_pos_profile
- If we have any POS Profile related to the user,
that profile should be used
2018-11-21 14:36:58 +05:30
Rohan Bansal
f838597b5f fix(task): Fix error when trying to convert a task into a group even if no child tasks exist 2018-11-20 13:18:05 +05:30
Rohit Waghchaure
770a13ebc3 [Fix] Not able to view general ledger for purchase invoice 2018-11-20 13:01:52 +05:30
Ranjith
5d2e52c4ef fix: healthcare patch 2018-11-19 20:03:25 +05:30
Jamsheer
64e42e1e88 fix: Patient Appointment - update list view 2018-11-19 13:00:49 +05:30
Jamsheer
ee6b317ab5 fix: Patient Appointment - Code standards 2018-11-19 13:00:49 +05:30
Jamsheer
45695c9bcb fix: Realign Patient Appointment fields 2018-11-19 13:00:49 +05:30
Jamsheer
dc3ae114cd feat: Reschedule - Patient Appointment 2018-11-19 13:00:49 +05:30
Andrew McLeod
f99a68a695 feat: Added unit testing for Item Barcodes in item.py
Adds three different barcodes and barcodes types to a test item and
checks that they are added correctly.
Adds a barcode that already exists, and checks a DuplicateEntryError
is raised.
Adds an invalid EAN barcode and checks InvalidBarcode (a subclass of
ValidationError) is raised.
2018-11-16 13:55:55 +00:00
Andrew McLeod
5607762c0f fix/feat: Allow extension of barcode types (without validation)
Currently, it is difficult to add new custom barcode types for two reasons, both of which relate to validate_barcode in item.py:
- There is a bug where barcode types with a space in, such as Code 128, are split in two (so barcode_type is checked against 'Code' and '128' rather than 'Code 128'). This is fixed by splitting the Options field against a newline, instead of spaces.
- All barcodes are validated against the stdnum.ean library. This only handles EAN-8, EAN-13 and UPC-12 barcodes and any other barcode will fail. Barcodes with no type will continue to not be checked. Barcodes with the default barcode_types of EAN, UPC will continue to be checked. The non-default barcode_types of EAN-13 and EAN-8 will also be checked. The barcode_type is cast to upper case before this check is made so ean, upc, ean-13 and ean-8 will also be validated.
This allows people to add their own barcode types, such as Code 128 and QR codes. Users can add custom validation of these barcodes using the usual hooks, but they cannot remove the standard validation.
2018-11-16 11:08:39 +00:00
Jsukrut
b9a95e29b7 [FIX][#15018][PATIENT Relation should be unique] 2018-11-16 11:30:12 +05:30
Ameya Shenoy
27a0c37963 css: build files in v10 2018-11-15 19:21:30 +00:00
Rohit Waghchaure
f4dc71661d [Fix] Address not set from the API 2018-11-15 17:04:02 +05:30
deepeshgarg007
795686d1cc Merge branch 'staging-fixes' of https://github.com/frappe/erpnext into bug-fixes 2018-11-15 16:30:48 +05:30
Frappe Bot
64b4d98778 Merge branch 'staging-fixes' into staging 2018-11-15 09:43:08 +00:00
Frappe Bot
d9dccaefba bumped to version 11.0.3-beta.24 2018-11-15 09:42:35 +00:00
Frappe Bot
ef745b0197 bumped to version 11.0.3-beta.23 2018-11-15 09:37:17 +00:00
Nabin Hait
0aca5aad14 Merge pull request #15976 from deepeshgarg007/summary
[Fix] Accounts receivable summary print format showing zero values
2018-11-15 14:52:16 +05:30
Nabin Hait
a0a2f58a21 Merge pull request #15985 from adityahase/perf-patch
perf(patch): Use INSERT with ON DUPLICATE KEY UPDATE
2018-11-15 14:50:58 +05:30
Frappe Bot
6647ea270c Merge branch 'staging-fixes' into staging 2018-11-15 09:19:18 +00:00
Frappe Bot
a4fe912382 bumped to version 11.0.3-beta.23 2018-11-15 09:19:18 +00:00
Frappe Bot
98b4a1bc81 Merge branch 'master' into staging-fixes 2018-11-15 09:12:04 +00:00
Frappe Bot
0b697c5298 Merge branch 'hotfix' 2018-11-15 09:04:14 +00:00
Frappe Bot
2426d00dd6 bumped to version 10.1.72 2018-11-15 09:04:14 +00:00
rohitwaghchaure
cc907559d0 Merge pull request #15992 from rohitwaghchaure/code_optimization_for_consolidated_report
Code optimization for consolidated financial statement report
2018-11-15 13:48:17 +05:30
Rohit Waghchaure
704796b1cb Code optimization for consolidated financial statement report 2018-11-15 13:46:18 +05:30
rohitwaghchaure
02a7f8f0b2 Merge pull request #15991 from rohitwaghchaure/fixed_consolidated_conversion_issue
[Fix] Consolidated financial statement report currency conversion issue
2018-11-15 12:56:11 +05:30
Rohit Waghchaure
9d0f90975b [Fix] Consolidated financial statement report currency conversion issue 2018-11-15 12:55:20 +05:30
rohitwaghchaure
93f358778b Merge pull request #15990 from rohitwaghchaure/patch_code_refactor
[Minor] Patch fixes
2018-11-15 12:21:46 +05:30
Rohit Waghchaure
43920530a1 [Minor] Patch fixes 2018-11-15 12:20:27 +05:30
deepeshgarg007
4c366eed23 Minor issue fixes 2018-11-15 12:02:07 +05:30
Deepesh Garg
3b8c84fa75 Merge pull request #15975 from nabinhait/staging-fixes
fix(test): Fixed item discount amount calculation and test cases related to pricing rule
2018-11-15 12:01:09 +05:30
rohitwaghchaure
e907c0d15c Merge pull request #15986 from rohitwaghchaure/added_currency_filter_in_consolidated_report
Added currency filter in consolidated financial statement report
2018-11-15 10:53:02 +05:30
Rohit Waghchaure
a95697f506 Added currency filter in consolidated financial statement report 2018-11-14 19:55:44 +05:30
Aditya Hase
d168a71cfb perf(patch): Use INSERT with ON DUPLICATE KEY UPDATE
update_total_qty_field patch was using UPDATE statement with CASE

Now use INSERT INTO with ON DUPLICATE KEY UPDATE clause which
allows this query to use indexes and update multiple rows per query.
2018-11-14 19:09:07 +05:30
Frappe Bot
e4193030b1 Merge branch 'staging-fixes' into staging 2018-11-14 11:33:03 +00:00
Frappe Bot
fac49983a0 bumped to version 11.0.3-beta.22 2018-11-14 11:32:34 +00:00
rohitwaghchaure
ba97b9b2d8 Merge pull request #15980 from rohitwaghchaure/on_save_allow_transfer_for_manufatured_changed
[Fix] On save Allow Transfer for Manufacture reset to default value even if user has changed manually
2018-11-14 15:12:45 +05:30
rohitwaghchaure
593f3f1756 Merge pull request #15978 from nabinhait/fetch_from_fix
fix(patch): Fetch missing gst hsn code in transactions and set hsn-wise taxes
2018-11-14 15:11:26 +05:30
rohitwaghchaure
5395b164cd Merge pull request #15983 from rohitwaghchaure/fixed_claimed_amount_issue
Claimed amount is not reset on cancel of employee advance
2018-11-14 13:21:11 +05:30
Rohit Waghchaure
047a7123eb Claimed amount is not reset on cancel 2018-11-14 13:20:00 +05:30
Rohit Waghchaure
917dda1b76 [Fix] On save Allow Transfer for Manufacture reset to default value even if user has changed manually 2018-11-14 01:18:41 +05:30
Nabin Hait
367a076fa4 fix(discount): Fixed item discount amount calculation 2018-11-13 18:41:58 +05:30
Nabin Hait
d34bfa8c2c fix(patch): Fetch missing gst hsn code in transactions and set hsn-wise taxes 2018-11-13 18:21:22 +05:30
Frappe Bot
fe62024824 bumped to version 11.0.3-beta.21 2018-11-13 11:41:27 +00:00
Nabin Hait
3409e55d24 Merge pull request #15974 from Alsum/assign-sa
assign-sa-to-group-of-employees
2018-11-13 16:55:17 +05:30
deepeshgarg007
7bc6f3843a Fix for accounts Receivable Summary Showing zero values 2018-11-13 16:54:54 +05:30
Frappe Bot
25a74b8283 Merge branch 'staging-fixes' into staging 2018-11-13 11:23:06 +00:00
Frappe Bot
a29237beeb bumped to version 11.0.3-beta.21 2018-11-13 11:23:06 +00:00
Nabin Hait
7fe4124bb8 fix(field property): Made barcode field non-mandatory in item 2018-11-13 16:48:59 +05:30
Frappe Bot
88c88d6e7c Merge branch 'master' into staging-fixes 2018-11-13 10:59:05 +00:00
Frappe Bot
cb1726d6ec Merge branch 'hotfix' 2018-11-13 10:55:31 +00:00
Frappe Bot
6b78e520d2 bumped to version 10.1.71 2018-11-13 10:55:31 +00:00
Nabin Hait
688758a56f fix(test): Fixed item discount amount calculation and test cases related to pricing rule 2018-11-13 16:13:16 +05:30
alsum
e04a753d53 assign-sa-to-group-of-employees 2018-11-13 11:43:58 +02:00
Nabin Hait
ee887f4db7 Merge pull request #15796 from Alsum/set_current_asset_value
trigger set_current_asset_value when make asset_value_adjustment from asset form
2018-11-13 12:42:28 +05:30
Nabin Hait
ee190e34c2 Update asset_value_adjustment.js 2018-11-13 12:41:36 +05:30
Saif
60ec88bcc8 Added Default Warehouse field that sets all item's warehouse (#15462)
* -Added field def_warehouse that sets warehouse of all items
-Grouped warehouse fields together and put raw materies supplied before items table, it will only show if there are any items supplied

* Set def_warehouse in test_sales_order.py

* Changed from def_warehouse to set_warehouse

* Rest of def_warehouse to set_warehouse
2018-11-13 12:37:53 +05:30
Alchez
ce3340903d Update Delivery Trip status based on visited stops (#15723)
* feat(delivery_trip_status): Update Delivery Trip status based on visited stops

* feat(delivery_trip_status): Fix tests

* feat(delivery_trip_status): Fix allow on submit for status

* feat(delivery_trip_status): Change status mapping

* feat(delivery_trip_status): Fix patch

* Update update_delivery_trip_status.py
2018-11-13 12:22:17 +05:30
Alchez
9f87c441b0 feat(delivery_trip): Create a Delivery Trip by selecting multiple Delivery Notes in list view (#15706) 2018-11-13 12:20:05 +05:30
khushalti
fad08e1bcb [fix] - GL entry not creating on PR if rejected qty mentoned (#15815) 2018-11-13 12:09:32 +05:30
Alchez
6f1fd193eb fix(production_plan): Allow work orders to be cancelled (#15955) 2018-11-13 11:47:23 +05:30
rohitwaghchaure
849169e82b Merge pull request #15969 from rohitwaghchaure/fix_company_dashbord_sales_count
[Fix] Company dashboard sales count condition
2018-11-13 11:37:26 +05:30
Britlog
7d9689cc92 [Fix] Website Conversion factor query (#15866)
* [Fix] Conversion factor query

* Update product.py
2018-11-13 11:36:41 +05:30
Rohit Waghchaure
14ffe8b935 [Fix] Company dashboard sales count condition 2018-11-13 11:35:38 +05:30
Britlog
9e9e37d39b [Fix] Conversion factor in offline POS (#15867) 2018-11-13 11:34:27 +05:30
Deepesh Garg
b65bb5df2e Function renaming, code cleaning and minor fixes (#15938) 2018-11-13 11:28:58 +05:30
Stavros Anastasiadis
a695dad525 Upgrade BOM Stock Report base with Qty to Produce (#15939) 2018-11-13 11:17:41 +05:30
Shreya Shah
89974b221d [Feature] Create Raw Material Request from Sales Order (#15452)
* Add new button to Sales Order form - Request for Raw Materials

* Modify get_work_order_items function

* Commonify functions in Production Plan to make it compatible with new feature

* Create and submit Material Request from Sales Order

* Link Sales Order with Material Request

* Minor

* Rename label

* Fix Codacy

* Modify as per review suggestions

- Move dialog to a new function
- Move checkboxes below other fields

* Minor changes

* Check for permissions

* Add common checkboxes for all items

* Fix codacy

* fix: Travis

* fix: Use variable to store query result

* fix: Add comment before fetching exploded items

* refactor: Break into multiple functions

* test: Add test case
2018-11-13 11:15:03 +05:30
Zarrar
6922415d1b [New Feature]Scan Item Barcode label to quick create/update records in items child table (#15731)
* Update transaction.js

* setup barcode scan

stock entry controller not inherited from transaction.js, need to call setup barcode scan from transaction.js

* fix bug of item_code change always reset qty to 0

when calling frappe.model.set_value(dt,dn,'item_code',xxx), even qty is set, system always reset qty to 0.

* Update transaction.js

* Update transaction.js

* Update transaction.js

* Update transaction.js

* Update transaction.js

* Update transaction.js

* clean up barcode logic for transactions

* call scan_barcode method for stock entry

* separate out logic for searching serial, batch or barcode number

* added scan barcode field in transactions doctype

* search barcode-serial-batch sequence, code rectify

* hide all barcode related field if disabled from settings

* remove print statement

* Update stock_entry.py
2018-11-13 11:11:32 +05:30
Ameya Shenoy
42928f978b fix: work order item sorting (#15967) 2018-11-13 11:04:17 +05:30
Ameya Shenoy
e8d3aa9cc9 Merge pull request #15966 from codingCoffee/frankfurter
fix: changed currency exchange API to frankfurter
2018-11-12 18:35:36 +05:30
Ameya Shenoy
3d58576797 Merge pull request #15963 from codingCoffee/frankfurter
fix: changed currency exchange API to frankfurter
2018-11-12 17:55:48 +05:30
Deepesh Garg
84483ff776 Stock analytics script report (#15630)
* Stock analytics script report

* Codacy Issue Fixes

* Codacy Issue Fixes

* Removed Trailing Whitespaces

* Code cleaning and optimization

* Minor Changes

* Code cleaning and spacing

* Added link for stock analytics in stock.py

* Refactoring and code cleaning

* Codacy issue fixes
2018-11-12 17:05:31 +05:30
Deepesh Garg
a057f4c2a0 Script report for purchase analytics (#15612)
* Purchase Analytics Query Report

* Minor Changes

* Codacy Issue Fixes

* Codacy Issues Fixed

* Code cleaning and optimization

* Indentation Issue Fix

* Code cleaning and better function naming

* Added link for purchase analytics in buying.py

* Added link for production analytics in manufacturing.py

* Commonified purchase-analytics using Analytics class

* Codacy issue fix
2018-11-12 17:01:02 +05:30
rohitwaghchaure
ab76ff0836 Added new option group by voucher(consolidated) in the general ledger report (#15957) 2018-11-12 16:58:24 +05:30
Nabin Hait
5e85ab3b67 Update setup.py 2018-11-12 16:46:12 +05:30
JodeQ
1b8e9cd3bb Permission error for new Sales invoice (#15952)
In version
```
Installed Apps
ERPNext: v11.0.3-beta.20 () (staging)
Frappe Framework: v11.0.3-beta.25 () (staging)
```

When creating a new Sales invoice without healthcare active we have this error
```
Not permitted
Insufficient Permission for Patient
```
Console log
```
Traceback (most recent call last):
  File "/home/frappe/auroraone-v11/apps/frappe/frappe/app.py", line 61, in application
    response = frappe.handler.handle()
  File "/home/frappe/auroraone-v11/apps/frappe/frappe/handler.py", line 21, in handle
    data = execute_cmd(cmd)
  File "/home/frappe/auroraone-v11/apps/frappe/frappe/handler.py", line 56, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
  File "/home/frappe/auroraone-v11/apps/frappe/frappe/__init__.py", line 1007, in call
    return fn(*args, **newargs)
  File "/home/frappe/auroraone-v11/apps/frappe/frappe/desk/search.py", line 53, in search_link
    search_widget(doctype, txt, query, searchfield=searchfield, page_length=page_length, filters=filters, ignore_user_permissions=ignore_user_permissions)
  File "/home/frappe/auroraone-v11/apps/frappe/frappe/desk/search.py", line 149, in search_widget
    as_list=not as_dict)
  File "/home/frappe/auroraone-v11/apps/frappe/frappe/__init__.py", line 1235, in get_list
    return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
  File "/home/frappe/auroraone-v11/apps/frappe/frappe/model/db_query.py", line 40, in execute
    raise frappe.PermissionError(self.doctype)
PermissionError: Patient
```
2018-11-12 16:42:05 +05:30
Pawan Mehta
aa0bed16f6 [fix] #14038-Std hours at company level to calculate timesheet hours (#15819)
* [fix] #14038

* codacy fixes

* add end time calc method

* test case and rename function

* Update timesheet.py
2018-11-12 16:40:07 +05:30
Deepesh Garg
6714214951 Server side script report for sales analytics (#15589)
* Sales Analytics Report

* Codacy issue fixes and  name column addition

* Minor Fixes

* Minor Changes

* Codacy Issue Fixes

* Codacy Issue Fixes

* Bug Fixes

* Code cleaning and optimization

* Deleted Duplicate code

* Indentation Issue Fixes

* Added Supplier Condition

* Cleaned code and better function naming

* Added report link for sales analytics in selling.py

* fix(patch): Patch to delete old analytics reports

* feat(refactor): Created class and refactored code using object oriented paradigm

* Column condition fix

* Minor condition fix

* Minor fix

* parent child map for purchase analytics

* Minor Fixes in get_periodic_data

* Used dots for filters instead of brackets

* Minor Bug fix in get_period_date_ranges

* Test Cases for Analytics Report
2018-11-12 16:15:54 +05:30
Ameya Shenoy
438490fd29 fix: changed currency exchange API to frankfurter
- Switched to Frankfurter's public API (frankfurter.app) from
self hosted API (frankfurter.erpnext.org)
2018-11-12 15:15:06 +05:30
Frappe Bot
35ec2469e9 Merge branch 'staging-fixes' into staging 2018-11-09 10:19:21 +00:00
Frappe Bot
9159ee83ca bumped to version 11.0.3-beta.20 2018-11-09 10:19:21 +00:00
Frappe Bot
4df671585b Merge branch 'master' into staging-fixes 2018-11-09 10:11:27 +00:00
Frappe Bot
f001a9eb4f Merge branch 'hotfix' 2018-11-09 10:09:04 +00:00
Frappe Bot
f8a5cfe8d8 bumped to version 10.1.70 2018-11-09 10:09:04 +00:00
alsum
852bd76a58 add set_current_asset_value to onload func 2018-11-08 11:12:33 +02:00
rohitwaghchaure
a88eaa6e20 [Fix] User able to change discount if pricing rule has discount value as zero (#15921) 2018-11-08 13:05:08 +05:30
Alchez
bf20be53ef fix(bom): Display item name in new BOM form (#15783) 2018-11-08 12:54:20 +05:30
Shreya Shah
9e484fbc12 fix(payment-entry): Take default value None for paid_from (#15777) 2018-11-08 12:52:14 +05:30
patilsangram
667f0fbd6d [fix] Invoice/Delivery note customer po_no overwritten by Sales order null po_no (#15785) 2018-11-08 12:51:41 +05:30
Ameya Shenoy
49647bfecc fix: develop version should be 12 (#15928) 2018-11-08 12:48:35 +05:30
Nabin Hait
6ff2f395f5 fix(gle): Post gl entry for booking COGS from Sales Invoice even if grand_total is zero (#15825) 2018-11-08 12:30:44 +05:30
Zarrar
5be6d19f4d [Minor] Display Discount Amount when Tax table is empty (#15812)
* show discount amount even when tax table is empty

* negate the value for discount while printing
2018-11-08 12:16:26 +05:30
Alchez
068ba191e7 [Feature] Route optimization for Delivery Trip stops (#15566)
* Minor improvements

* [Feature] Route optimization for Delivery Trip stops

* Process and optimize the entire route, with or without locks

* Form sets of routes for optimization based on applied lock positions

* Re-arrange stops based on the optimized routes and lock positions

* Set delay times between stops - offset estimation times by delays cumulatively

* Fix codacy errors

* Fix travis

* feat(route_optimization): Set estimated route distance from Google Maps

* feat(route_optimization): Add tests for route lists

* feat(route_optimization): Fix tests
2018-11-08 11:57:05 +05:30
Shreya Shah
3f6eb6b393 fix: If party type is Shareholder, set appropriate name field (#15916) 2018-11-08 11:51:13 +05:30
Frappe Bot
823e754565 Merge branch 'master' into staging-fixes 2018-11-07 11:26:11 +00:00
Frappe Bot
ccff3e2aec Merge branch 'hotfix' 2018-11-07 11:26:10 +00:00
Frappe Bot
7f37d26f05 bumped to version 10.1.69 2018-11-07 11:26:10 +00:00
Shreya Shah
c704630d5f fix: Return default if company not found (#15915) 2018-11-06 17:24:45 +05:30
Ameya Shenoy
96a2f00c07 Merge branch 'staging-fixes' into staging 2018-11-06 11:13:36 +00:00
Ameya Shenoy
675636cd03 bumped to version 11.0.3-beta.19 2018-11-06 11:13:36 +00:00
Ameya Shenoy
0c42f99b6f Merge pull request #15920 from rohitwaghchaure/fix_patch_ascii_code_error
[Fix] Patch, ascii codec error
2018-11-06 16:35:21 +05:30
Rohit Waghchaure
56bf39bfea [Fix] Patch 2018-11-06 16:32:29 +05:30
Ameya Shenoy
65797bca64 Merge branch 'master' into staging-fixes 2018-11-06 11:02:08 +00:00
Ameya Shenoy
1a41929c6b Merge branch 'hotfix' 2018-11-06 11:02:04 +00:00
Ameya Shenoy
a97a520aa8 bumped to version 10.1.68 2018-11-06 11:02:04 +00:00
rohitwaghchaure
b5ba867b3f Merge pull request #15917 from nabinhait/encoding-issue
fix(encoding): Fixed encoding issue in financial statements
2018-11-06 15:37:23 +05:30
rohitwaghchaure
9eafe8c23e Update financial_statements.py 2018-11-06 13:28:18 +05:30
Nabin Hait
614b042ed3 fix(encoding): Fixed encoding issue in financial statements 2018-11-06 11:48:51 +05:30
Faris Ansari
0fb943181e Merge pull request #15910 from netchampfaris/marketplace-fixes-3
Hub fixes
2018-11-05 19:19:23 +05:30
Faris Ansari
d6b664f7ee fix(hub): Prevent registered actions 2018-11-05 19:18:48 +05:30
rohitwaghchaure
1b2ceadc93 [Fix] Asset date validation (#15887)
* [Fix] Asset date validation

* Update asset.py
2018-11-05 16:04:04 +05:30
Faris Ansari
0d08da50c6 fix: Refresh PageContainer component based on current route 2018-11-05 15:47:26 +05:30
Nabin Hait
3e6663d47e fix(serial no): Set supplier info based on pur invoice if serial no is created from Purchase Invoice (#15820) 2018-11-05 14:01:59 +05:30
Faris Ansari
a22e16dbe3 Merge pull request #15892 from netchampfaris/marketplace-fixes-1
fix: Use frappe.utils.make_event_emitter
2018-11-05 13:48:16 +05:30
Ameya Shenoy
4a6768791b Merge branch 'staging-fixes' into staging 2018-11-05 06:50:34 +00:00
Ameya Shenoy
5ed0257ce2 bumped to version 11.0.3-beta.18 2018-11-05 06:50:33 +00:00
Ameya Shenoy
4a75d58d89 Merge branch 'master' into staging-fixes 2018-11-05 06:45:04 +00:00
Ameya Shenoy
eeb66dfc8e Merge branch 'hotfix' 2018-11-05 06:40:25 +00:00
Ameya Shenoy
59f16bc942 bumped to version 10.1.67 2018-11-05 06:40:25 +00:00
Shreya Shah
6a206225cb Merge pull request #15902 from agritheory/agritheory-restrict_to_domain
Doctypes in domains that are in beta are now restricted to that domain
2018-11-05 10:56:39 +05:30
Tyler Matteson
d14e46ef02 Doctypes in domains that are in beta are now restricted to that domain
non-profit, agriculture, healthcare, hospitality, education

Please enter the commit message for your changes. Lines starting
2018-11-04 08:39:52 -05:00
rohitwaghchaure
e77f38e7e2 Merge pull request #15894 from rohitwaghchaure/fix_update_claimed_amount
Column ‘claimed_amount’ cannot be null
2018-11-02 18:14:08 +05:30
Rohit Waghchaure
598d34445f [Fix] Column ‘claimed_amount’ cannot be null 2018-11-02 16:02:33 +05:30
Faris Ansari
68dbf7f99c fix: Use frappe.utils.make_event_emitter 2018-11-02 13:30:51 +05:30
rohitwaghchaure
c1d255e7bc Merge pull request #15882 from Zlash65/fixtds
[Minor] TDS not calculated properly fix
2018-11-02 13:18:09 +05:30
Zarrar
16d45c8e2e safe encode non ascii characters (#15755) 2018-11-02 13:17:24 +05:30
Navdeep Ghai
768513f2f9 fixed divided by zero error (#15885) 2018-11-02 12:19:05 +05:30
rohitwaghchaure
dcb71a61ad [Fix] Payment entry not able to submit (#15859) 2018-11-02 12:12:42 +05:30
Charles-Henri Decultot
a89bce0b6e Encoding correction (#15877) 2018-11-01 13:18:49 +05:30
Zlash65
ab9852d31a tds not calculated appropriately 2018-11-01 11:40:15 +05:30
Shreya Shah
9f931780a2 Merge pull request #15868 from ESS-LLP/fix-membership
fix: Membership - allow system users to create membership
2018-11-01 10:54:32 +05:30
Zarrar
92a4ff4e81 Merge pull request #15874 from shreyashah115/portal-fixes
Add overdue status for sales order
2018-11-01 10:46:08 +05:30
Ameya Shenoy
46e618bc6e Merge branch 'staging-fixes' into staging 2018-10-31 13:51:24 +00:00
Ameya Shenoy
9f20f777b2 bumped to version 11.0.3-beta.17 2018-10-31 13:51:24 +00:00
Ameya Shenoy
961849beb4 Merge branch 'master' into staging-fixes 2018-10-31 13:43:12 +00:00
Ameya Shenoy
3f32218bc0 Merge branch 'hotfix' 2018-10-31 13:35:59 +00:00
Ameya Shenoy
b4bff7e298 bumped to version 10.1.66 2018-10-31 13:35:58 +00:00
deepeshgarg007
78b273af43 [Bug-Fix] Cannot Save Bank Statement Transaction Entry (#15793)
* Create bank settings only if bank name is available

* Minor bug-fix in validate_overlap
2018-10-31 18:12:03 +05:30
Shreya Shah
41c5fda196 fix(sms-center): Fix db query (#15774) 2018-10-31 18:04:30 +05:30
Shreya Shah
305c82bd8d fix(medical-record): Remove z-index property (#15790) 2018-10-31 18:02:55 +05:30
rohitwaghchaure
cd11bdfdbb [Fix] Supplier wise sales analytics report not showing item details which is added in purchase invoice with update stock (#15869) 2018-10-31 18:02:00 +05:30
Shreya Shah
0c0e49a421 fix: Fix fieldnames in template (#15860) 2018-10-31 18:00:09 +05:30
rohitwaghchaure
3f398d24f3 [Fix] Precision issue, not able to submit the stock entry (#15863) 2018-10-31 17:58:26 +05:30
Shreya
e3a7c68d4f fix(portal): Add overdue status for sales order 2018-10-31 16:00:27 +05:30
Ranjith
f01bf9048d fix: Membership - allow system users to create membership for existing Members 2018-10-31 14:33:28 +05:30
Ameya Shenoy
71ede099ea Merge branch 'staging-fixes' into staging 2018-10-30 12:53:35 +00:00
Ameya Shenoy
d45fef5423 bumped to version 11.0.3-beta.16 2018-10-30 12:53:35 +00:00
Ameya Shenoy
6178b79555 Merge branch 'master' into staging-fixes 2018-10-30 12:48:45 +00:00
Ameya Shenoy
d9a82738d0 Merge branch 'hotfix' 2018-10-30 12:48:42 +00:00
Ameya Shenoy
1f7a5dcd07 bumped to version 10.1.65 2018-10-30 12:48:42 +00:00
Shreya Shah
452619c668 fix(report): Return if not list (#15849) 2018-10-30 11:26:01 +05:30
rohitwaghchaure
dca4b294bd Merge pull request #15853 from rohitwaghchaure/delete_button_not_working_for_print_in_mobile
[Fix] Delete button not working in POS for mobile
2018-10-29 16:52:34 +05:30
Rohit Waghchaure
152a0c86b0 [Fix] Delete button not working in POS for Ipad 2018-10-29 16:50:18 +05:30
Shreya Shah
85a9b52dfa Merge pull request #15789 from deepeshgarg007/production-analytics
[Bug-fix]Production analytics
2018-10-29 15:49:19 +05:30
Shreya Shah
69bbe1995c Update production_analytics.py 2018-10-29 15:38:21 +05:30
rohitwaghchaure
9d0dba5569 Merge pull request #15851 from frappe/pos-delete-fix
fix: Delete button in POS mobile
2018-10-29 15:19:11 +05:30
deepeshgarg007
7b91f9fa0c Bug Fixes 2018-10-29 15:16:25 +05:30
Faris Ansari
3df1327b94 fix: Delete button in POS mobile
Delete button was covered by page-actions container
2018-10-29 15:15:10 +05:30
Shreya Shah
81cdd967d7 Merge pull request #15794 from ashish-greycube/patch-1
Update employee_advance.py
2018-10-29 14:38:21 +05:30
alsum
27e7c15c16 trigger set_current_asset_value when make asset_value_adjustment from asset form 2018-10-24 13:23:34 +02:00
ashish-greycube
4d47c63db1 Update employee_advance.py
https://github.com/frappe/erpnext/issues/13694
Cancel of  already paid "Expense Claim" gives error IntegrityError: (1048, u"Column 'claimed_amount' cannot be null")
Sol: claimed_amount should be flt
2018-10-24 16:35:31 +05:30
Ameya Shenoy
9750d5c184 Merge branch 'staging-fixes' into staging 2018-10-23 12:56:51 +00:00
Ameya Shenoy
6adcfa6032 bumped to version 11.0.3-beta.15 2018-10-23 12:56:51 +00:00
Ameya Shenoy
3643e7b1b4 Merge branch 'master' into staging-fixes 2018-10-23 12:52:48 +00:00
Ameya Shenoy
38eaaade89 Merge branch 'hotfix' 2018-10-23 12:52:46 +00:00
Ameya Shenoy
2a98e59bd4 bumped to version 10.1.64 2018-10-23 12:52:46 +00:00
Ameya Shenoy
03348364e9 Merge pull request #15739 from kennethsequeira/hotfix
Fix for "Improve this page" incorrect link generated in v10 sites
2018-10-23 18:05:25 +05:30
Ameya Shenoy
881bb4646b Merge branch 'staging-fixes' into staging 2018-10-23 08:05:33 +00:00
Ameya Shenoy
4293d17602 bumped to version 11.0.3-beta.14 2018-10-23 08:05:33 +00:00
Ameya Shenoy
ca66c7ba14 Merge branch 'master' into staging-fixes 2018-10-23 08:01:13 +00:00
Ameya Shenoy
83fd31973f Merge branch 'hotfix' 2018-10-23 07:58:12 +00:00
Ameya Shenoy
ac64b39562 bumped to version 10.1.63 2018-10-23 07:58:11 +00:00
Ameya Shenoy
c73c576536 Merge pull request #15759 from codingCoffee/salesperson
fix(): fetch correct warehouse for item in report
2018-10-23 13:25:42 +05:30
Shreya Shah
669c5d0298 Merge pull request #15724 from shreyashah115/fix-leave
Do not consider current leave application while submitting leave
2018-10-23 12:31:02 +05:30
Faris Ansari
d3e3c1ba72 Merge pull request #15768 from rohitwaghchaure/market_place_settings_error
[Fix] Marketplace settings permission error
2018-10-23 12:07:21 +05:30
Rohit Waghchaure
55416e08f1 [Fix] Marketplace setting permission error 2018-10-23 11:52:06 +05:30
Shreya
1b105e2575 Add test case 2018-10-23 11:45:57 +05:30
Shreya
60d8a0da1e fix(leave-status): Do not consider current leave application while submitting 2018-10-23 11:45:57 +05:30
Shreya Shah
9db75ecde2 Merge pull request #15766 from Zlash65/fix-mod
[Minor] Travis fix
2018-10-23 11:44:33 +05:30
Zlash65
635d4dbebe subscriber deprecated test case fixes 2018-10-23 11:00:19 +05:30
rohitwaghchaure
cf076f4692 Merge pull request #15753 from Zlash65/fix-mod
[Minor] Field name fix to fetch Supplier
2018-10-23 09:45:39 +05:30
rohitwaghchaure
034429b34d Merge pull request #15756 from rohitwaghchaure/fixed_allow_edit_rate
[Fix] User able to edit the rate in offline POS even if it has no permissions
2018-10-23 09:43:57 +05:30
Ameya Shenoy
a0e533ede5 Merge branch 'master' into staging-fixes 2018-10-22 10:37:14 +00:00
Ameya Shenoy
874866e9f9 Merge branch 'hotfix' 2018-10-22 10:34:35 +00:00
Ameya Shenoy
c365ce8f21 bumped to version 10.1.62 2018-10-22 10:34:35 +00:00
Ameya Shenoy
3a11f34355 fix(): fetch correct warehouse for item in report
Fix 'Sales Person-wise Transaction Summary' Report by fetching the
correct Warehouse for the Item fron the respective, Sales Order/Sales
Invoice/ Delivery Note
2018-10-22 10:15:07 +00:00
Nabin Hait
91eac5a7cf fix(report): Optimization for financial statements 2018-10-22 15:05:40 +05:30
Rohit Waghchaure
aef7a6ec44 [Fix] User able to edit the rate in offline POS even if it has no permissions 2018-10-22 13:51:32 +05:30
Ranjith Kurungadam
ac6e3a69f9 fix: Serial No- allow editing SO, track changes (#15741) 2018-10-22 12:06:54 +05:30
Zlash65
473437931c field name fix 2018-10-22 11:22:12 +05:30
Ameya Shenoy
4215b85e46 Merge branch 'staging-fixes' into staging 2018-10-19 12:56:48 +00:00
Ameya Shenoy
7e97230c92 bumped to version 11.0.3-beta.13 2018-10-19 12:56:48 +00:00
Ameya Shenoy
bbfdc13ab7 Merge branch 'master' into staging-fixes 2018-10-19 12:48:18 +00:00
Ameya Shenoy
6192d24235 Merge branch 'hotfix' 2018-10-19 12:48:17 +00:00
Ameya Shenoy
24fe7286fc bumped to version 10.1.61 2018-10-19 12:48:16 +00:00
Nabin Hait
5d1171678e fix(perpetual inventory): Get warehouse account map only if perpetual inventory enabled (#15743)
* fix(perpetual inventory): Get warehouse account map only if perpetual inventory enabled

* fix(perpetual inventory): Get warehouse account map only if perpetual inventory enabled
2018-10-19 18:03:13 +05:30
Kenneth Sequeira
991c121b57 added source link for ERPNext docs 2018-10-19 14:31:21 +05:30
Kenneth Sequeira
23ec18e3e4 added docs_app variable to point docs to foundation app 2018-10-19 03:28:12 +05:30
Saif
b4cf72c770 Adding "Include UOM" in Reports with Qty and Rates (#15541)
* Added Include UOM field for Stock Balane, Stock Ledger and Stock Projected Qty

* Add columns in result list-of-lists instead of converting reports to list-of-dicts

* For requested changes
-Merged conversion factor query with item detail queries
-Ensuring snail_case
-Made columns consistently list-of-dicts
2018-10-18 17:59:47 +05:30
Saif
3c9155e406 [Minor Fix] Force toggle display Net Total field when default taxes are fetched (#15532)
* Minor fix for the problem that Net Total, Net Rate, Net Amount field would not be shown when default taxes were fetched

* Prevent net_rate from becoming NaN

* -Fixed problem that party_account_currency was not set in mapped document
-Fixed problem that discount amount was not recalculated (in mapped document)
-Fixed problem that set_dynamic_fields would work only on certain condition that led to showing Total (Company Currency) field even when using company currency
2018-10-18 17:57:56 +05:30
deepeshgarg007
25edac451d Production Analytics Query Report (#15673)
* Production Analytics Query Report

* Changes in production analytics report

* Updated json file and other changes
2018-10-18 17:43:41 +05:30
Raffael Meyer
25e9db5e81 Do not display gender for companies (#15728) 2018-10-18 16:49:49 +05:30
Nabin Hait
500ddc94c7 fix(gle): GL Entry for invoices before introduction of rounding_adjustment (#15732) 2018-10-18 16:48:28 +05:30
Charles-Henri Decultot
7a7615ed66 Safe encode payer name (#15726) 2018-10-18 12:28:06 +05:30
Aditya Hase
007fbfbfb7 [Feature] ERPNext Quickbooks Migrator (#15718)
* Create QuickBooks Connector Single DocType

* Create interface for user authorization and obtaining authorization code

* Obtain Access token using authorization code

* Fetch a random customer

* Schedule fetching as a background job

* Save fetched customer

* Fetch all customers, take care of pagination

* Save fetched customers

* Create a custom field for storing Quickbooks ID

* Don't save already saved customers

* Commit every successful insert

* No need of allow_guest=True

* Fetch Items as well

* Store Customer Addresses as well.

* Remove redundant custom field creation code

* Stupid refactoring

* Some more refactoring

* Fetch and Save Suppliers as well

* Save accounts. Really a hack as of now.

* Fetch and save invoices, Take care of child items as well

* Fetch Taxes as well

* Set currency on Sales Invoice

* Correctly Link Items, Handle markups

* Don't enqueue, Need to wait forever for testing sometimes

* Set margin rate correctly

* Correct fieldname is tax_amount not amount

* Fetch with maximum possible batch size

* Don't print unnecessary info

* Fetch Journal Entries

* Fetch Purchase Invoices (Bill)

* Don't perform reauthentication if you already have an access_token

* Don't need those print statements anymore

* Refresh access_token if request fails

* Fetch Payment Entry(Payment)

* Map QB items to ERPNext rather than other way around

* Don't need a huge comment block as of now

* Fetch Payment Entries against Purchase Invoices (BillPayment)

* Rename Quickbooks Connector to Migrator

* Make oauth settings configurable

* Make company configurable

* Make default accounts configurable

* Fetch accounts and other masters separately

* Show realtime progress

* Check if entries exist before attempting insert

* Suppress other annoying messages

* Tracebacks are good for health

* Don't want rounded total

* Don't call fetch after authorization (Need to somehow separate these)

* Make credit_to account payable

* When generating payment entry mention bank_account as well

* Cleanup

* Add custom buttons and reflect current state in form ui

* Show necessary fields on form depending on the current state

* Cleanup

* Minor fixes

* Set income and expense account on items.

* Set currency for Account.

* Stupid VSCode

* Remove redundant code

* Check for existing Payment and BillPayment correctly

* Cache API response for faster development

* Don't maintain stock for now, Seems to solve the issue with 'Stock Received but not billed'

* Cleanup

* Add methods to remove inserted data completely (Development)

* Don't commit in every iteration

* Set account head based on TaxRate in Sales Invoice

* Fetch and cache TaxCode

* Add methods to fetch TaxCode and TaxRate from cache

* Set item wise tax breakup, Don't use Actual Tax

* Use both TaxRateLists

* Set Itemwise tax on Purchase Invoice as well

* Set bank_amount, while creating payment entries

* Remove print statements

* Add Shipping in taxes child table of Sales Invoice

* Set posting date on Payment Entries against Invoices

* Fetch and save expenses as Journal Entries

* Fetch and save Deposits as Journal Entries

* Fetch and Save Credit and Debit Notes

* Fetch and save SalesReceipt

* Record Shipping as Item instead of Tax

* Minor Fixes

* Fetch Advance Payments

* Set account_type during Account creation

* Choose receivable account in Invoice based on currency

* Remove receivable_account field

* Account type is already set during account creation

* Set receivable account based on currency in Sales Receipt and Credit Memo

* Set receivable account on Customer

* Save Company Preferences

* Set shipping_account based on company preferences

* Set cost center in Sales Invoice Items and Taxes

* Make Account name unique in case of duplicate account name

* Fetch and Save TaxPayment as Journal Entry

* Record UndepositedFunds Account in cache if found

* Credit UndepositedFunds account when mentioned in Deposit

* Debit Cashback account as well if mentioned in Deposit

* Set currency conversion rate

* Set is_group field correctly for accounts

* Preserve account hierarchy

* Use quickbooks_id and company together for filtering

* Make new custom field 'company' on Supplier Customer and Item

* Use comapny field for filtering Customer, Item, Supplier

* Shipping Account is only available if shipping is enabled for comapny

* Invoice might not have TxnTaxDetail.TaxLine

* Lookup TaxRate account correctly

* TaxCode might not have SalesTaxRateList PurchaseTaxRateList or Both

* TaxCode might not have SalesTaxRateList and PurchaseTaxRateList

* Remove unnecessary UI elements

* Allow multiple companies to have customers with same name

* Refactor account_type

* Create a leaf an account for every group account

* Item and Tax list creation needs more information

* Supports discount in Invoice

* Save Invoice as Journal Entry when itemwise details are unavailable

* Credit=True represents a refund rather than charge

* Mode of Payment not synced, setting as Cash for now

* Tax code may also be set for an entire invoice

* Fetch General Ledger Report correctly

* Refactor fetching entries from General Ledger Report

* Tax Payment is the same as Sales Tax Payment and Purchase Tax Payment

* append_number_if_name_exists is stupid, Reimplementing

* Don't guess credit/debit for Tax Payment and Advanced Payment

* Bill Payment shouldn't assume full payment

* Save Payment as Journal Entry

* Make Client ID and Client Secret Default

* Remove unused python imports

* removed are_accounts_synced()

* Don't store translated values in database

* Endpoints as a field

* Major refactor - functions to methods

* Major Refactor Functions to Methods

* Major Refactor Fix Stuff

* Minor Changes

* Save Refund As well

* Minor Refactor (SI varations to SI, PI variations to PI)

* Record Inventory Qty Adjust Entries

* QBM Final Touches

* Make changes suggested in review
2018-10-17 17:50:00 +05:30
rohitwaghchaure
e2afbb7abe Merge pull request #15703 from SaiFi0102/AR-AP-PDC-Fix
[For staging-fixes] Fixed PDC data in AR/AP report
2018-10-17 15:57:28 +05:30
Ameya Shenoy
961b7dee9d Merge branch 'staging-fixes' into staging 2018-10-17 09:44:11 +00:00
Ameya Shenoy
a7a32d7400 bumped to version 11.0.3-beta.12 2018-10-17 09:44:11 +00:00
Ameya Shenoy
77b60928bf Merge branch 'master' into staging-fixes 2018-10-17 09:39:31 +00:00
Ameya Shenoy
bbd8b04012 Merge branch 'hotfix' 2018-10-17 09:04:11 +00:00
Ameya Shenoy
bb1b6b42e2 bumped to version 10.1.60 2018-10-17 09:04:11 +00:00
Ameya Shenoy
4fdbff7456 Merge pull request #15547 from Zlash65/demo-refactor
Demo data refactor
2018-10-16 17:34:09 +05:30
deepeshgarg007
0cbb9b54fa Deprecating subscriber doctype (#15695)
* Depricating subscriber doctype

* Removed naming series
2018-10-16 14:39:16 +05:30
Shreya Shah
8e71074e1c fix(report): Add column for Item Name (#15702) 2018-10-16 14:36:49 +05:30
Shreya Shah
e45868a3c6 fix(discount-amount): Print hide discount_amount if print without amount (#15705) 2018-10-16 14:34:56 +05:30
Shreya Shah
ff0deedca9 fix(discount-amount): Print hide discount_amount if print without amount (#15704) 2018-10-16 14:34:30 +05:30
Shreya Shah
22731e39ba Merge pull request #15376 from jodeq/show_project-attachments-in-portal
[Proposal] Show project attachments in portal view
2018-10-16 14:29:51 +05:30
Shreya Shah
bfb88f7839 Merge pull request #15701 from shreyashah115/item-stock
Add column for Item Name in Item Price Stock report
2018-10-16 14:22:46 +05:30
Shreya
82660913a5 fix(report): Add column for Item Name 2018-10-16 12:15:56 +05:30
Shreya
8aca56836b fix(margin): Make user avatar display in line 2018-10-16 12:00:46 +05:30
rohitwaghchaure
19be730b9c Merge pull request #15700 from joeirimpan/staging-fixes
feat: Add provision for prebilled subscription invoices
2018-10-16 11:36:29 +05:30
rohitwaghchaure
a5a926967b Update accounts_receivable.py 2018-10-16 11:27:23 +05:30
Joe Paul
666e6e665b feat: Add provision for prebilled subscription invoices
(cherry picked from commit db33e6304d)
2018-10-16 10:17:40 +05:30
deepeshgarg007
4bb90add1d Currency symbol bug fix (#15698) 2018-10-15 19:07:49 +05:30
Nabin Hait
44ec05f79b fix(bom): deadlock issue via bom replace tool (#15694) 2018-10-15 18:56:16 +05:30
Charles-Henri Decultot
615571dd21 Add safe decode for payer name (#15692) 2018-10-15 18:26:02 +05:30
Bibin
7844b79274 [Bug-Fix] accounts_receivable.html (#15688)
* Update accounts_receivable.html

In the print format and PDF the total was showing as 0 (Zero) , when I made these changes it fixed the issue

* Update accounts_receivable.html
2018-10-15 18:25:26 +05:30
deepeshgarg007
7c443264a4 Currency symbol bug fix (#15690) 2018-10-15 18:22:28 +05:30
JodeQ
10dfd4a48f Show project attachments in portal view 2018-10-15 14:28:27 +02:00
Ameya Shenoy
3185b37360 Merge branch 'staging-fixes' into staging 2018-10-15 12:24:12 +00:00
Ameya Shenoy
8d0195246d bumped to version 11.0.3-beta.11 2018-10-15 12:24:12 +00:00
Ameya Shenoy
4fa58359c8 Merge pull request #15689 from codingCoffee/pat
fix(patch): reload patient
2018-10-15 17:49:42 +05:30
Ameya Shenoy
102eb998ac fix(patch): reload healthacre doctypes
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2018-10-15 17:40:02 +05:30
Nabin Hait
3c29967d27 Fixed merge conflict 2018-10-15 15:43:21 +05:30
Nabin Hait
ea75295bb3 Merge branch 'hotfix' 2018-10-15 15:41:25 +05:30
Nabin Hait
d2c643eb0b bumped to version 10.1.59 2018-10-15 16:11:25 +06:00
rohitwaghchaure
94fcb0e9f9 [Enhance] Add user image in the employee from the user (#15680) 2018-10-15 14:57:46 +05:30
Jamsheer
2a966f26af fix: patch - change healthcare desktop icons (#15683) 2018-10-15 14:54:29 +05:30
Ranjith Kurungadam
741bd29b74 fix: Patient Appointment Calendar (#15684) 2018-10-15 14:52:38 +05:30
rohitwaghchaure
0d2a4c6a59 [Fix] TDS Payable Monthly report is not working (#15666) 2018-10-15 11:09:17 +05:30
deepeshgarg007
42510a411f [Bug-Fix]V11 Accounts Receivable print showing zero values (#15667)
* Bug Fix

* Print report bug fixes
2018-10-15 11:08:04 +05:30
rohitwaghchaure
3362d6b948 [Fix] Precision issue in the expense claim (#15678) 2018-10-15 11:07:13 +05:30
Mangesh-Khairnar
8c62ab4af0 [Enhancement] Email birthday reminder (#15559)
* Update hooks.py

* modified date for reload_doc (#15027)

* Single email for multiple birthdays and test
2018-10-11 17:06:10 +05:30
Shreya Shah
314c97cbf1 Fix for supplier quotation (#15659) 2018-10-11 16:59:40 +05:30
Alchez
a16f0f4423 fix(item_defaults): handle multiple item defaults for a company (#15634) 2018-10-11 16:56:46 +05:30
Charles-Henri Decultot
64b6421fce Add event in transaction base correction (#15631) 2018-10-11 16:54:26 +05:30
Charles-Henri Decultot
6c743bebf2 Check for prefix before return EcritureNum (#15629) 2018-10-11 16:51:29 +05:30
Charles-Henri Decultot
50447b195d Compatibility with Py2 (#15653) 2018-10-11 16:48:38 +05:30
Shreya Shah
e9890a3ec8 fix(patch): Check if meta object has naming_series field (#15651) 2018-10-11 16:28:59 +05:30
Faris Ansari
4833b4c274 fix: Default Series in naming series patch (#15656) 2018-10-11 16:27:05 +05:30
Stavros Anastasiadis
a398d6bf4f Allow Same Item Multiple Items (#15657) 2018-10-11 16:25:37 +05:30
Ameya Shenoy
dc279ded15 Merge branch 'staging-fixes' into staging 2018-10-11 06:58:13 +00:00
Ameya Shenoy
d791af8331 bumped to version 11.0.3-beta.10 2018-10-11 06:58:13 +00:00
rohitwaghchaure
b1241caf48 Merge pull request #15650 from rohitwaghchaure/fix_gst_state_issue
[Fix] Nontype object has no attribute gst_state
2018-10-11 10:53:46 +05:30
Rohit Waghchaure
b6a735e021 [Fix] Nontype object has no attribute gst_state 2018-10-11 10:40:34 +05:30
Shreya Shah
785f1aa96d fix(print): Update idx if grouping same items (#15647) 2018-10-11 10:14:25 +05:30
Shreya Shah
2291323c65 fix(shipping-address-display): Fetch shipping address display as per the shipping address (#15643) 2018-10-11 10:13:27 +05:30
deepeshgarg007
1cb1074f6b Bug Fix (#15640) 2018-10-10 16:15:30 +05:30
Sagar Vora
d92f3ac480 Fix 'transporter info' section in Delivery Note (#15565)
- create is_transporter checkbox in supplier doctype
- new field transporter (supplier with is_transporter checked)
- created fields driver and driver_name
- removed GST India fields from core doctype
- removed readonly & allow_on_submit from fields (delivery trip applicable only for in-house delivery)
- read_only transporter_name field (kept for backwards compatibility)
- made necessary changes in delivery_trip implementation
- hidden section's fields from print (preserving v10 convention)
- added transporter field to 'Driver' doctype
- added queries for transporter and driver fields
- GST India fields in regional module
- Fix e-waybill report
2018-10-10 14:51:26 +05:30
Shreya Shah
dd87e0f1e2 fix(leave-type): Drop column max_days_allowed (#15642) 2018-10-10 14:48:49 +05:30
rohitwaghchaure
4cfff7829b Added validation to check duplicate student leave application (#15636) 2018-10-10 14:47:48 +05:30
Shreya Shah
3855156b7d fix(project): If Project has no Tasks, let the status be set as Completed (#15639) 2018-10-10 14:45:40 +05:30
Jamsheer
14c6ab0ee9 [fix] Healthcare field and desktop icon (#15638)
* Test Inpatient Record - Fix

* Test Inpatient Record - Fix

* Healthcare - Patch rename_healthcare_doctype_and_fields - Updated

* Healthcare - Desktop Icons - Updated

* Healthcare - Patch change  in healthcare desktop icons

* Healthcare Util - fix - appointments valid in fee validity

* Healthcare Settings - field label change

* Patient allow rename

* fix: remove unused variable
2018-10-10 14:44:36 +05:30
Zlash65
6a8957b430 item data updated with retail data 2018-10-10 14:28:17 +05:30
Zlash65
62592d3c44 setup data for retail added 2018-10-10 14:28:17 +05:30
Zlash65
fd9c451909 company name picked up dynamically, domainification 2018-10-10 14:28:17 +05:30
Zlash65
d1fbaf8f32 custom field added for item - domainification, password changed 2018-10-10 14:28:17 +05:30
Zlash65
275ef826a4 codacy fixes 2018-10-10 14:28:17 +05:30
Zlash65
8b1133cb24 item data fix for default supplier, exception handling for purchase order 2018-10-10 14:28:17 +05:30
Zlash65
d080a17961 minor random trigger changes and exception handling 2018-10-10 14:28:16 +05:30
Zlash65
e64dcfc2f9 timesheet logic changed to job card 2018-10-10 14:28:16 +05:30
Zlash65
e895845ae1 import fix 2018-10-10 14:28:16 +05:30
Zlash65
523f77e82b make_rm_stock_entry fix 2018-10-10 14:28:16 +05:30
Zlash65
dcf7401104 random time fix and other minor fixes 2018-10-10 14:28:16 +05:30
Zlash65
143d4da901 Production Plan fix 2018-10-10 14:28:16 +05:30
Zlash65
c24d2fdf6c setup leave & expense approver for each department
- assign approver in expense claim
2018-10-10 14:28:16 +05:30
Zlash65
a259466643 add relevant department to employees 2018-10-10 14:28:16 +05:30
Zlash65
0309bbee30 function call requires company as parameter 2018-10-10 14:28:16 +05:30
Zlash65
796bffbee1 fix payroll and stock related data 2018-10-10 14:28:16 +05:30
Zlash65
4c07970545 remove user permission from HR Manager user 2018-10-10 14:28:16 +05:30
Zlash65
fa7c8a9f8b update employee and user records 2018-10-10 14:28:16 +05:30
Saurabh
99c064305f Merge branch 'master' into staging-fixes 2018-10-09 17:55:33 +05:30
Saurabh
75c1682e61 Merge branch 'hotfix' 2018-10-09 17:55:32 +05:30
Saurabh
2dc8972794 bumped to version 10.1.58 2018-10-09 18:25:32 +06:00
Saurabh
f786eccdf9 Merge pull request #15633 from Zlash65/setup-fix
[Minor] Setup Wizard failing fix
2018-10-09 17:49:54 +05:30
Zlash65
a1036ad50b setup wizard failing fix 2018-10-09 17:38:28 +05:30
Shreya Shah
8a4bcefec4 fix(accounts-receivable): Column values in Print and PDF (#15621) 2018-10-08 18:34:01 +05:30
Shreya Shah
5b34d00bc0 fix(accounts-receivable): Column values in Print and PDF (#15622) 2018-10-08 18:20:51 +05:30
Nabin Hait
d2c5b50842 fix(warehouse-account): get warehouse account map fallback handling (#15625)
* fix(warehouse-account): get warehouse account map fallback handling

* fix: import issue
2018-10-08 18:19:53 +05:30
Ameya Shenoy
cf91f34ffa Merge branch 'staging-fixes' into staging 2018-10-08 09:43:48 +00:00
Ameya Shenoy
563b1d153b bumped to version 11.0.3-beta.9 2018-10-08 09:43:48 +00:00
Ameya Shenoy
ecba14e6cf Merge branch 'master' into staging-fixes 2018-10-08 09:39:49 +00:00
Ameya Shenoy
ee3b788024 Merge branch 'hotfix' 2018-10-08 09:37:37 +00:00
Ameya Shenoy
b509b06edf bumped to version 10.1.57 2018-10-08 09:37:37 +00:00
Zarrar
87441bf62e columns without fieldname's data not shown (#15618) 2018-10-08 14:34:34 +05:30
Zarrar
5fcccda883 [Minor] Supplier Quotation (#15578)
* throw meaningful error if RFQ does not have selected supplier

* Update supplier_quotation.py

* codacy fix
2018-10-08 14:30:53 +05:30
Shreya Shah
4fb9230d16 Add missing method link_to_mrs to buying.js (#15613) 2018-10-08 14:18:03 +05:30
Shreya Shah
95d93913ce fix(link_to_mr): Add missing method to buying.js (#15616) 2018-10-08 14:17:37 +05:30
Shreya Shah
37d3686372 fix(setup_taxes): Pop if frappe.message_log (#15615) 2018-10-08 14:17:16 +05:30
Ameya Shenoy
8cafb5fbbb Merge branch 'staging-fixes' into staging 2018-10-08 07:27:35 +00:00
Ameya Shenoy
0bd254b02b bumped to version 11.0.3-beta.8 2018-10-08 07:27:35 +00:00
rohitwaghchaure
5e466bace4 Removed update_job_card_reference method (#15614) 2018-10-08 12:36:45 +05:30
Shreya Shah
c2857fd2cc fix(setup_taxes): Pop if frappe.message_log (#15611) 2018-10-08 12:35:18 +05:30
Jamsheer
063cf9c582 Jam staging fixes (#15608)
* Test Inpatient Record - Fix

* Test Inpatient Record - Fix
2018-10-08 10:48:42 +05:30
Ameya Shenoy
36be62b927 Merge branch 'staging-fixes' into staging 2018-10-07 07:59:34 +00:00
Ameya Shenoy
cfdd629fd7 bumped to version 11.0.3-beta.7 2018-10-07 07:59:34 +00:00
Ameya Shenoy
272956980d Merge pull request #15606 from codingCoffee/abc
fix: make location from warehouse patch
2018-10-07 13:25:05 +05:30
Ameya Shenoy
f7b5b7beb4 fix: make location from warehouse patch
- optimization by preventing patch execution if Asset doesn't exist
2018-10-07 13:08:00 +05:30
Ameya Shenoy
39903647ae Merge branch 'staging-fixes' into staging 2018-10-07 06:23:22 +00:00
Ameya Shenoy
cd9be8f0a6 bumped to version 11.0.3-beta.6 2018-10-07 06:23:22 +00:00
Shreya Shah
5615cb4735 Set default only if customer_address not found (#15605)
* Set default only if customer_address not found

* Similar fix for Purchase Invoice and shipping_address
2018-10-07 11:42:07 +05:30
Shreya Shah
e7e269d4a4 [Error] Display appropriate msg if company is different for TDS (#15601)
* fix(tds): Display appropriate msg if company is different

* Update tax_withholding_category.py
2018-10-06 17:56:21 +05:30
Ameya Shenoy
b8c1897a80 Merge pull request #15603 from Zlash65/rectify
[Minor] Deferred Expense
2018-10-06 16:43:22 +05:30
Zlash65
58a080a1b1 add voucher detail no while creating gl entry 2018-10-06 16:34:58 +05:30
Ameya Shenoy
29fe8ce114 Merge branch 'staging-fixes' into staging 2018-10-05 09:09:53 +00:00
Ameya Shenoy
538678afc4 bumped to version 11.0.3-beta.5 2018-10-05 09:09:53 +00:00
Ameya Shenoy
ad908779be Merge branch 'master' into staging-fixes 2018-10-05 08:54:58 +00:00
Ameya Shenoy
5eafa5a487 Merge branch 'hotfix' 2018-10-05 08:54:46 +00:00
Ameya Shenoy
97dbb4d125 bumped to version 10.1.56 2018-10-05 08:54:46 +00:00
Shreya Shah
5cff01634e Merge pull request #15593 from Zlash65/fix-mod
[Minor] Item master - get_query for deferred accounts
2018-10-05 14:14:46 +05:30
Shreya Shah
32206029ac Fix Codacy 2018-10-05 14:14:33 +05:30
Shreya Shah
deb9f0e03c Merge pull request #15594 from shreyashah115/tds-report
Handle IndexError if no data found
2018-10-05 14:11:43 +05:30
Shreya Shah
db5ffce742 Merge pull request #15592 from shreyashah115/jv
Allow Reverse JV for all submitted docs
2018-10-05 13:33:11 +05:30
Shreya
0d7bd43367 Handle IndexError if no data found 2018-10-05 13:22:09 +05:30
Zlash65
2123b97d31 add get_query for revenue and expense account 2018-10-05 12:26:32 +05:30
Shreya
4f5214a136 Allow reverse jv for all submitted docs 2018-10-05 12:19:09 +05:30
Saif
00a16a9337 set_item_default was referencing a variable company of "company" (#15576) 2018-10-05 11:54:03 +05:30
Shreya Shah
17ac38ff29 Enable save before saving to update form after save (#15579) 2018-10-05 11:51:13 +05:30
Jamsheer
be6e426fe0 Healthcare Service Unit - added company abbr as suffix (#15590) 2018-10-05 11:38:15 +05:30
Ranjith Kurungadam
dc2bab2b72 fix healthcare patch (#15584) 2018-10-05 11:36:58 +05:30
Valmik
4c61861163 Add Delivery Trip to Delivery Note dashboard (#15587) 2018-10-05 11:36:31 +05:30
Saif
4faea037bb Remove Test Letter Head from GSTR-1 (#15591) 2018-10-05 11:35:01 +05:30
Ameya Shenoy
c4ebbd1322 Merge branch 'staging-fixes' into staging 2018-10-04 13:14:29 +00:00
Ameya Shenoy
2291558c5f bumped to version 11.0.3-beta.4 2018-10-04 13:14:29 +00:00
rohitwaghchaure
d69dc954c7 Merge pull request #15580 from sagarvora/fix-TabError
fix TabError in install_fixtures.py
2018-10-04 17:22:44 +05:30
Sagar Vora
b13b9b4ed3 fix TabError in install_fixtures.py 2018-10-04 11:39:20 +05:30
Saif Ur Rehman
423549e084 Fixed PDC data in AR/AP report:
-Get PDC date from posting_date instead of reference date since posting_date is the date at which the post dated cheque can be cleared
-Get PDC data from submitted documents only
2018-09-08 15:48:55 +05:00
Nabin Hait
65bb91d1c7 Merge branch 'develop' into staging-fixes 2018-07-31 15:13:30 +05:30
Ameya Shenoy
b8a59547f0 modified date for reload_doc (#15027) 2018-07-30 10:58:19 +05:30
Saurabh
63f87441c8 Update hooks.py 2018-07-19 13:13:15 +05:30
1030 changed files with 73500 additions and 46819 deletions

2
.github/stale.yml vendored
View File

@@ -1,7 +1,7 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 10
daysUntilStale: 30
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.

2
.gitignore vendored
View File

@@ -12,3 +12,5 @@ erpnext/docs/current
*.swo
__pycache__
*~
.vscode/
node_modules/

View File

@@ -15,7 +15,7 @@ install:
- sudo rm /etc/apt/sources.list.d/docker.list
- sudo apt-get install hhvm && rm -rf /home/travis/.kiex/
- sudo apt-get purge -y mysql-common mysql-server mysql-client
- nvm install v7.10.0
- nvm install 10
- pip install python-coveralls
- wget https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py
- sudo python install.py --develop --user travis --without-bench-setup
@@ -33,8 +33,7 @@ before_script:
- cd ~/frappe-bench
- bench get-app erpnext $TRAVIS_BUILD_DIR
- bench use test_site
- bench reinstall --yes
- bench build
- bench reinstall --mariadb-root-username root --mariadb-root-password travis --yes
- bench scheduler disable
- sed -i 's/9000/9001/g' sites/common_site_config.json
- bench start &

View File

@@ -6,7 +6,6 @@
</p>
[![Build Status](https://travis-ci.com/frappe/erpnext.png)](https://travis-ci.com/frappe/erpnext)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/frappe/erpnext?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Open Source Helpers](https://www.codetriage.com/frappe/erpnext/badges/users.svg)](https://www.codetriage.com/frappe/erpnext)
[![Coverage Status](https://coveralls.io/repos/github/frappe/erpnext/badge.svg?branch=develop)](https://coveralls.io/github/frappe/erpnext?branch=develop)
@@ -18,7 +17,7 @@ Includes: Accounting, Inventory, Manufacturing, CRM, Sales, Purchase, Project Ma
ERPNext is built on the [Frappe](https://github.com/frappe/frappe) Framework, a full-stack web app framework in Python & JavaScript.
- [User Guide](https://erpnext.org/docs/user)
- [User Guide](https://erpnext.com/docs/user)
- [Discussion Forum](https://discuss.erpnext.com/)
---

View File

@@ -5,7 +5,7 @@ import frappe
from erpnext.hooks import regional_overrides
from frappe.utils import getdate
__version__ = '10.1.55'
__version__ = '11.1.26'
def get_default_company(user=None):
'''Get default company for user'''
@@ -74,7 +74,7 @@ def is_perpetual_inventory_enabled(company):
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',
frappe.local.enable_perpetual_inventory[company] = frappe.get_cached_value('Company',
company, "enable_perpetual_inventory") or 0
return frappe.local.enable_perpetual_inventory[company]
@@ -87,7 +87,7 @@ def get_default_finance_book(company=None):
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',
frappe.local.default_finance_book[company] = frappe.get_cached_value('Company',
company, "default_finance_book")
return frappe.local.default_finance_book[company]
@@ -108,7 +108,7 @@ def get_region(company=None):
You can also set global company flag in `frappe.flags.company`
'''
if company or frappe.flags.company:
return frappe.get_cached_value('Company',
return frappe.get_cached_value('Company',
company or frappe.flags.company, 'country')
elif frappe.flags.country:
return frappe.flags.country

View File

@@ -2,9 +2,9 @@ from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.utils import date_diff, add_months, today, getdate, add_days, flt
from frappe.utils import date_diff, add_months, today, getdate, add_days, flt, get_last_day
from erpnext.accounts.utils import get_account_currency
from erpnext.accounts.general_ledger import make_gl_entries
from frappe.email import sendmail_to_system_managers
def validate_service_stop_date(doc):
''' Validates service_stop_date for Purchase Invoice and Sales Invoice '''
@@ -29,51 +29,53 @@ 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[item.name] and item.service_stop_date!=old_stop_dates[item.name]:
if old_stop_dates and old_stop_dates.get(item.name) and item.service_stop_date!=old_stop_dates[item.name]:
frappe.throw(_("Cannot change Service Stop Date for item in row {0}".format(item.idx)))
def convert_deferred_expense_to_expense(start_date=None, end_date=None):
# 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:
start_date = add_months(today(), -1)
if not end_date:
end_date = add_days(today(), -1)
# check for the purchase invoice for which GL entries has to be done
invoices = frappe.db.sql_list('''
select distinct parent from `tabPurchase Invoice Item` where service_start_date<=%s and service_end_date>=%s
select distinct parent from `tabPurchase Invoice Item`
where service_start_date<=%s and service_end_date>=%s
and enable_deferred_expense = 1 and docstatus = 1 and ifnull(amount, 0) > 0
''', (end_date or today(), start_date or add_months(today(), -1)))
''', (end_date, start_date))
# For each invoice, book deferred expense
for invoice in invoices:
doc = frappe.get_doc("Purchase Invoice", invoice)
book_deferred_income_or_expense(doc, start_date, end_date)
book_deferred_income_or_expense(doc, end_date)
def convert_deferred_revenue_to_income(start_date=None, end_date=None):
# 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:
start_date = add_months(today(), -1)
if not end_date:
end_date = add_days(today(), -1)
# check for the sales invoice for which GL entries has to be done
invoices = frappe.db.sql_list('''
select distinct parent from `tabSales Invoice Item` where service_start_date<=%s and service_end_date>=%s
select distinct parent from `tabSales Invoice Item`
where service_start_date<=%s and service_end_date>=%s
and enable_deferred_revenue = 1 and docstatus = 1 and ifnull(amount, 0) > 0
''', (end_date or today(), start_date or add_months(today(), -1)))
''', (end_date, start_date))
# For each invoice, book deferred revenue
for invoice in invoices:
doc = frappe.get_doc("Sales Invoice", invoice)
book_deferred_income_or_expense(doc, start_date, end_date)
book_deferred_income_or_expense(doc, end_date)
def get_booking_dates(doc, item, posting_date=None):
if not posting_date:
posting_date = add_days(today(), -1)
last_gl_entry = False
def get_booking_dates(doc, item, start_date=None, end_date=None):
deferred_account = "deferred_revenue_account" if doc.doctype=="Sales Invoice" else "deferred_expense_account"
last_gl_entry, skip = False, False
booking_end_date = getdate(add_days(today(), -1)) if not end_date else end_date
if booking_end_date < item.service_start_date or \
(item.service_stop_date and booking_end_date.month > item.service_stop_date.month):
return None, None, None, True
elif booking_end_date >= item.service_end_date:
last_gl_entry = True
booking_end_date = item.service_end_date
elif item.service_stop_date and item.service_stop_date <= booking_end_date:
last_gl_entry = True
booking_end_date = item.service_stop_date
booking_start_date = getdate(add_months(today(), -1)) if not start_date else start_date
booking_start_date = booking_start_date \
if booking_start_date > item.service_start_date else item.service_start_date
prev_gl_entry = frappe.db.sql('''
select name, posting_date from `tabGL Entry` where company=%s and account=%s and
@@ -81,17 +83,28 @@ def get_booking_dates(doc, item, start_date=None, end_date=None):
order by posting_date desc limit 1
''', (doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name), as_dict=True)
if not prev_gl_entry and item.service_start_date < booking_start_date:
booking_start_date = item.service_start_date
elif prev_gl_entry:
booking_start_date = getdate(add_days(prev_gl_entry[0].posting_date, 1))
skip = True if booking_start_date > booking_end_date else False
if prev_gl_entry:
start_date = getdate(add_days(prev_gl_entry[0].posting_date, 1))
else:
start_date = item.service_start_date
return last_gl_entry, booking_start_date, booking_end_date, skip
end_date = get_last_day(start_date)
if end_date >= item.service_end_date:
end_date = item.service_end_date
last_gl_entry = True
elif item.service_stop_date and end_date >= item.service_stop_date:
end_date = item.service_stop_date
last_gl_entry = True
def calculate_amount_and_base_amount(doc, item, last_gl_entry, total_days, total_booking_days):
account_currency = get_account_currency(item.expense_account)
if end_date > getdate(posting_date):
end_date = posting_date
if getdate(start_date) <= getdate(end_date):
return start_date, end_date, last_gl_entry
else:
return None, None, None
def calculate_amount(doc, item, last_gl_entry, total_days, total_booking_days, account_currency):
if doc.doctype == "Sales Invoice":
total_credit_debit, total_credit_debit_currency = "debit", "debit_in_account_currency"
deferred_account = "deferred_revenue_account"
@@ -113,7 +126,6 @@ def calculate_amount_and_base_amount(doc, item, last_gl_entry, total_days, total
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)
already_booked_amount = gl_entries_details[0].total_credit if gl_entries_details else 0
base_amount = flt(item.base_net_amount - already_booked_amount, item.precision("base_net_amount"))
if account_currency==doc.company_currency:
@@ -124,24 +136,15 @@ def calculate_amount_and_base_amount(doc, item, last_gl_entry, total_days, total
return amount, base_amount
def book_deferred_income_or_expense(doc, start_date=None, end_date=None):
# book the expense/income on the last day, but it will be trigger on the 1st of month at 12:00 AM
# start_date: 1st of the last month or the start date
# end_date: end_date or today-1
def book_deferred_income_or_expense(doc, posting_date=None):
enable_check = "enable_deferred_revenue" \
if doc.doctype=="Sales Invoice" else "enable_deferred_expense"
gl_entries = []
for item in doc.get('items'):
skip = False
last_gl_entry, booking_start_date, booking_end_date, skip = \
get_booking_dates(doc, item, start_date, end_date)
if skip: continue
total_days = date_diff(item.service_end_date, item.service_start_date)
total_booking_days = date_diff(booking_end_date, booking_start_date) + 1
def _book_deferred_revenue_or_expense(item):
start_date, end_date, last_gl_entry = get_booking_dates(doc, item, posting_date=posting_date)
if not (start_date and end_date): return
account_currency = get_account_currency(item.expense_account)
amount, base_amount = calculate_amount_and_base_amount(doc, item, last_gl_entry, total_days, total_booking_days)
if doc.doctype == "Sales Invoice":
against, project = doc.customer, doc.project
credit_account, debit_account = item.income_account, item.deferred_revenue_account
@@ -149,31 +152,62 @@ def book_deferred_income_or_expense(doc, start_date=None, end_date=None):
against, project = doc.supplier, item.project
credit_account, debit_account = item.deferred_expense_account, item.expense_account
# GL Entry for crediting the amount in the deferred expense
gl_entries.append(
doc.get_gl_dict({
"account": credit_account,
"against": against,
"credit": base_amount,
"credit_in_account_currency": amount,
"cost_center": item.cost_center,
'posting_date': booking_end_date,
'project': project
}, account_currency)
)
# 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": item.cost_center,
"voucher_detail_no": item.name,
'posting_date': booking_end_date,
'project': project
}, account_currency)
)
total_days = date_diff(item.service_end_date, item.service_start_date) + 1
total_booking_days = date_diff(end_date, start_date) + 1
amount, base_amount = calculate_amount(doc, item, last_gl_entry,
total_days, total_booking_days, account_currency)
make_gl_entries(doc, credit_account, debit_account, against,
amount, base_amount, end_date, project, account_currency, item.cost_center, item.name)
if getdate(end_date) < getdate(posting_date) and not last_gl_entry:
_book_deferred_revenue_or_expense(item)
for item in doc.get('items'):
if item.get(enable_check):
_book_deferred_revenue_or_expense(item)
def make_gl_entries(doc, credit_account, debit_account, against,
amount, base_amount, posting_date, project, account_currency, cost_center, voucher_detail_no):
# GL Entry for crediting the amount in the deferred expense
from erpnext.accounts.general_ledger import make_gl_entries
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": voucher_detail_no,
'posting_date': posting_date,
'project': project
}, account_currency)
)
# 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": voucher_detail_no,
'posting_date': posting_date,
'project': project
}, account_currency)
)
if gl_entries:
make_gl_entries(gl_entries, cancel=(doc.docstatus == 2), merge_entries=True)
try:
make_gl_entries(gl_entries, cancel=(doc.docstatus == 2), merge_entries=True)
frappe.db.commit()
except:
frappe.db.rollback()
title = _("Error while processing deferred accounting for {0}").format(doc.name)
traceback = frappe.get_traceback()
frappe.log_error(message=traceback , title=title)
sendmail_to_system_managers(title, traceback)

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 1,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 1,
"allow_rename": 0,
@@ -14,6 +15,7 @@
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -45,6 +47,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -75,6 +78,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -107,6 +111,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -138,6 +143,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -170,6 +176,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -203,6 +210,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -234,6 +242,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -265,6 +274,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -298,6 +308,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -330,6 +341,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -360,6 +372,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -393,6 +406,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -427,6 +441,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -460,6 +475,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -494,6 +510,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -525,6 +542,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -555,6 +573,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -585,6 +604,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -612,6 +632,39 @@
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "eval:(doc.report_type == 'Profit and Loss' && !doc.is_group)",
"fieldname": "include_in_gross",
"fieldtype": "Check",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Include in gross",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
"has_web_view": 0,
@@ -625,7 +678,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2018-09-05 09:47:04.287841",
"modified": "2019-03-04 14:42:07.208893",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account",
@@ -734,5 +787,6 @@
"show_name_in_global_search": 1,
"sort_order": "ASC",
"track_changes": 1,
"track_seen": 0
"track_seen": 0,
"track_views": 0
}

View File

@@ -5,7 +5,7 @@ from __future__ import unicode_literals
import frappe
from frappe.utils import cint, cstr
from frappe import throw, _
from frappe.utils.nestedset import NestedSet
from frappe.utils.nestedset import NestedSet, get_ancestors_of, get_descendants_of
class RootNotEditable(frappe.ValidationError): pass
class BalanceMismatchError(frappe.ValidationError): pass
@@ -41,6 +41,7 @@ class Account(NestedSet):
self.validate_frozen_accounts_modifier()
self.validate_balance_must_be_debit_or_credit()
self.validate_account_currency()
self.validate_root_company_and_sync_account_to_children()
def validate_parent(self):
"""Fetch Parent Details and validate parent account"""
@@ -90,6 +91,45 @@ class Account(NestedSet):
if not self.parent_account and not self.is_group:
frappe.throw(_("Root Account must be a group"))
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:
return
ancestors = get_root_company(self.company)
if ancestors:
if frappe.get_value("Company", self.company, "allow_account_creation_against_child_company"):
return
frappe.throw(_("Please add the account to root level Company - %s" % ancestors[0]))
else:
descendants = get_descendants_of('Company', self.company)
if not descendants: return
parent_acc_name_map = {}
parent_acc_name = frappe.db.get_value('Account', self.parent_account, "account_name")
for d in frappe.db.get_values('Account',
{"company": ["in", descendants], "account_name": parent_acc_name},
["company", "name"], as_dict=True):
parent_acc_name_map[d["company"]] = d["name"]
if not parent_acc_name_map: return
for company in descendants:
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, parent_acc_name))
doc = frappe.copy_doc(self)
doc.flags.ignore_root_company_validation = True
doc.update({
"company": company,
"account_currency": None,
"parent_account": parent_acc_name_map[company]
})
doc.save()
frappe.msgprint(_("Account {0} is added in the child company {1}")
.format(doc.name, company))
def validate_group_or_ledger(self):
if self.get("__islocal"):
return
@@ -250,3 +290,9 @@ def merge_account(old, new, is_group, root_type, company):
frappe.rename_doc("Account", old, new, merge=1, ignore_permissions=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")
return [ancestors[0]] if ancestors else []

View File

@@ -4,13 +4,42 @@ frappe.treeview_settings["Account"] = {
breadcrumbs: "Accounts",
title: __("Chart Of Accounts"),
get_tree_root: false,
filters: [{
fieldname: "company",
fieldtype:"Select",
options: erpnext.utils.get_tree_options("company"),
label: __("Company"),
default: erpnext.utils.get_tree_default("company")
}],
filters: [
{
fieldname: "company",
fieldtype:"Select",
options: erpnext.utils.get_tree_options("company"),
label: __("Company"),
default: erpnext.utils.get_tree_default("company"),
on_change: function() {
var me = frappe.treeview_settings['Account'].treeview;
var company = me.page.fields_dict.company.get_value();
frappe.call({
method: "erpnext.accounts.doctype.account.account.get_root_company",
args: {
company: company,
},
callback: function(r) {
if(r.message) {
let root_company = r.message.length ? r.message[0] : "";
me.page.fields_dict.root_company.set_value(root_company);
frappe.db.get_value("Company", {"name": company}, "allow_account_creation_against_child_company", (r) => {
frappe.flags.ignore_root_company_validation = r.allow_account_creation_against_child_company;
});
}
}
});
}
},
{
fieldname: "root_company",
fieldtype:"Data",
label: __("Root Company"),
hidden: true,
disable_onchange: true
}
],
root_label: "Accounts",
get_tree_nodes: 'erpnext.accounts.utils.get_children',
add_tree_node: 'erpnext.accounts.utils.add_ac',
@@ -42,8 +71,8 @@ frappe.treeview_settings["Account"] = {
],
ignore_fields:["parent_account"],
onload: function(treeview) {
frappe.treeview_settings['Account'].page = {};
$.extend(frappe.treeview_settings['Account'].page, treeview.page);
frappe.treeview_settings['Account'].treeview = {};
$.extend(frappe.treeview_settings['Account'].treeview, treeview);
function get_company() {
return treeview.page.fields_dict.company.get_value();
}
@@ -78,6 +107,18 @@ frappe.treeview_settings["Account"] = {
}
},
post_render: function(treeview) {
frappe.treeview_settings['Account'].treeview["tree"] = treeview.tree;
treeview.page.set_primary_action(__("New"), function() {
let root_company = treeview.page.fields_dict.root_company.get_value();
if(root_company) {
frappe.throw(__("Please add the account to root level Company - ") + root_company);
} else {
treeview.new_node();
}
}, "octicon octicon-plus");
},
onrender: function(node) {
if(frappe.boot.user.can_read.indexOf("GL Entry") !== -1){
var dr_or_cr = node.data.balance < 0 ? "Cr" : "Dr";
@@ -93,6 +134,20 @@ frappe.treeview_settings["Account"] = {
}
},
toolbar: [
{
label:__("Add Child"),
condition: function(node) {
return frappe.boot.user.can_create.indexOf("Account") !== -1
&& (!frappe.treeview_settings['Account'].treeview.page.fields_dict.root_company.get_value()
|| frappe.flags.ignore_root_company_validation)
&& node.expandable && !node.hide_add;
},
click: function() {
var me = frappe.treeview_settings['Account'].treeview;
me.new_node();
},
btnClass: "hidden-xs"
},
{
condition: function(node) {
return !node.root && frappe.boot.user.can_read.indexOf("GL Entry") !== -1
@@ -103,7 +158,7 @@ frappe.treeview_settings["Account"] = {
"account": node.label,
"from_date": frappe.sys_defaults.year_start_date,
"to_date": frappe.sys_defaults.year_end_date,
"company": frappe.treeview_settings['Account'].page.fields_dict.company.get_value()
"company": frappe.treeview_settings['Account'].treeview.page.fields_dict.company.get_value()
};
frappe.set_route("query-report", "General Ledger");
},

View File

@@ -1,5 +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, os, json

View File

@@ -1,6 +1,6 @@
{
"country_code": "de",
"name": "Germany - Kontenplan SKR04",
"name": "SKR04 ohne Kontonummern",
"tree": {
"Bilanz - Aktiva": {
"Anlageverm\u00f6gen": {
@@ -1383,8 +1383,7 @@
"Sonstige Zinsen und \u00e4hnliche Ertr\u00e4ge 1": {
"Diskontertr\u00e4ge": {},
"Diskontertr\u00e4ge aus verbundenen Unternehmen": {},
"Laufende Ertr\u00e4ge aus Anteilen an Kapitalgesellschaften 100% / 50% steuerfrei": {},
"Laufende Ertr\u00e4ge aus Anteilen an Kapitalgesellschaften 100% / 50% steuerfrei": {},
"Laufende Ertr\u00e4ge aus Anteilen an Kapitalgesellschaften 100% / 50% steuerfrei": {},
"Sonstige Zinsen und \u00e4hnliche Ertr\u00e4ge 2": {},
"Sonstige Zinsen und \u00e4hnliche Ertr\u00e4ge aus verbundenen Unternehmen": {},
"Sonstige Zinsertr\u00e4ge": {},
@@ -1703,4 +1702,4 @@
"root_type": "Asset"
}
}
}
}

View File

@@ -38,24 +38,24 @@
"Kas": {
"Kas Mata Uang Lain": {
"Kas USD": {
"account_number": "1112.0010",
"account_number": "1112.001",
"account_type": "Cash"
},
"account_number": "1112.000"
},
"Kas Rupiah": {
"Kas Besar": {
"account_number": "1111.0020",
"account_number": "1111.002",
"account_type": "Cash"
},
"Kas Kecil": {
"account_number": "1111.0010",
"account_number": "1111.001",
"account_type": "Cash"
},
"account_number": "1111.000",
"account_type": "Cash"
},
"account_number": "1110.0000"
"account_number": "1110.000"
},
"Pendapatan Yang Akan di Terima": {
"Pendapatan Yang di Terima": {
@@ -98,7 +98,7 @@
},
"account_number": "1130.000"
},
"account_number": "1100.0000"
"account_number": "1100.000"
},
"Aktiva Tetap": {
"Aktiva": {
@@ -121,20 +121,20 @@
"Investasi": {
"Investasi": {
"Deposito": {
"account_number": "1231.003",
"account_number": "1231.300",
"is_group": 1
},
"Investai Saham": {
"Investasi Saham": {
"Investasi Saham": {
"account_number": "1231.0011"
"account_number": "1231.101"
},
"account_number": "1231.001"
"account_number": "1231.100"
},
"Investasi Perumahan": {
"Investasi Perumahan": {
"account_number": "1231.0021"
"account_number": "1231.201"
},
"account_number": "1231.002"
"account_number": "1231.200"
},
"account_number": "1231.000"
},
@@ -142,7 +142,7 @@
},
"account_number": "1200.000"
},
"account_number": "1000.0000",
"account_number": "1000.000",
"root_type": "Asset"
},
"Beban": {
@@ -684,4 +684,4 @@
"root_type": "Income"
}
}
}
}

View File

@@ -97,6 +97,19 @@ class TestAccount(unittest.TestCase):
self.assertRaises(frappe.ValidationError, merge_account, "Capital Stock - _TC",\
"Softwares - _TC", doc.is_group, doc.root_type, doc.company)
def test_account_sync(self):
del frappe.local.flags["ignore_root_company_validation"]
acc = frappe.new_doc("Account")
acc.account_name = "Test Sync Account"
acc.parent_account = "Temporary Accounts - _TC3"
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"})
self.assertEqual(acc_tc_4, "Test Sync Account - _TC4")
self.assertEqual(acc_tc_5, "Test Sync Account - _TC5")
def _make_test_records(verbose):
from frappe.test_runner import make_test_objects
@@ -131,7 +144,7 @@ def _make_test_records(verbose):
# 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, None, None],
@@ -168,13 +181,17 @@ def get_inventory_account(company, warehouse=None):
return account
def create_account(**kwargs):
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.save()
return account.name
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.save()
return account.name

View File

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

View File

@@ -0,0 +1,134 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 1,
"allow_rename": 1,
"autoname": "field:account_subtype",
"beta": 0,
"creation": "2018-10-25 15:46:08.054586",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "",
"editable_grid": 1,
"engine": "InnoDB",
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "account_subtype",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Account Subtype",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 1
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2018-10-25 15:47:03.841390",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account Subtype",
"name_case": "",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Accounts Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Accounts User",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
}
],
"quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 0,
"track_seen": 0,
"track_views": 0
}

View File

@@ -1,9 +1,9 @@
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and contributors
# -*- 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
class Lead(Document):
class AccountSubtype(Document):
pass

View File

@@ -0,0 +1,23 @@
/* eslint-disable */
// rename this file from _test_[name] to test_[name] to activate
// and remove above this line
QUnit.test("test: Account Subtype", function (assert) {
let done = assert.async();
// number of asserts
assert.expect(1);
frappe.run_serially([
// insert a new Account Subtype
() => frappe.tests.make('Account Subtype', [
// values to be set
{key: 'value'}
]),
() => {
assert.equal(cur_frm.doc.key, 'value');
},
() => done()
]);
});

View File

@@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import unittest
class TestAccountSubtype(unittest.TestCase):
pass

View File

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

View File

@@ -0,0 +1,134 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 1,
"allow_rename": 1,
"autoname": "field:account_type",
"beta": 0,
"creation": "2018-10-25 15:45:45.789963",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "",
"editable_grid": 1,
"engine": "InnoDB",
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "account_type",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Account Type",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 1
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2018-10-25 15:46:51.042604",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account Type",
"name_case": "",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Accounts Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Accounts User",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
}
],
"quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 0,
"track_seen": 0,
"track_views": 0
}

View File

@@ -5,5 +5,5 @@
from __future__ import unicode_literals
from frappe.model.document import Document
class Subscriber(Document):
class AccountType(Document):
pass

View File

@@ -2,15 +2,15 @@
// rename this file from _test_[name] to test_[name] to activate
// and remove above this line
QUnit.test("test: Subscriber", function (assert) {
QUnit.test("test: Account Type", function (assert) {
let done = assert.async();
// number of asserts
assert.expect(1);
frappe.run_serially([
// insert a new Subscriber
() => frappe.tests.make('Subscriber', [
// insert a new Account Type
() => frappe.tests.make('Account Type', [
// values to be set
{key: 'value'}
]),

View File

@@ -5,5 +5,5 @@ from __future__ import unicode_literals
import unittest
class TestSubscriber(unittest.TestCase):
class TestAccountType(unittest.TestCase):
pass

View File

@@ -1,3 +1,4 @@
from __future__ import unicode_literals
import unittest
import frappe

View File

@@ -2,7 +2,29 @@
// For license information, please see license.txt
frappe.ui.form.on('Bank', {
onload: function(frm) {
add_fields_to_mapping_table(frm);
},
refresh: function(frm) {
add_fields_to_mapping_table(frm);
}
});
let add_fields_to_mapping_table = function (frm) {
let options = [];
frappe.model.with_doctype("Bank Transaction", function() {
let meta = frappe.get_meta("Bank Transaction");
meta.fields.forEach(value => {
if (!["Section Break", "Column Break"].includes(value.fieldtype)) {
options.push(value.fieldname);
}
});
});
frappe.meta.get_docfield("Bank Transaction Mapping", "bank_transaction_field",
frm.doc.name).options = options;
frm.fields_dict.bank_transaction_mapping.grid.refresh();
};

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
@@ -15,6 +16,7 @@
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -42,6 +44,134 @@
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
"columns": 0,
"fieldname": "data_import_configuration_section",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Data Import Configuration",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "bank_transaction_mapping",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Bank Transaction Mapping",
"length": 0,
"no_copy": 0,
"options": "Bank Transaction Mapping",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "section_break_4",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "plaid_access_token",
"fieldtype": "Data",
"hidden": 1,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Plaid Access Token",
"length": 0,
"no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
@@ -55,7 +185,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2018-04-07 17:00:21.246202",
"modified": "2018-11-27 16:12:13.938776",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank",
@@ -64,7 +194,6 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@@ -90,5 +219,6 @@
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
"track_seen": 0,
"track_views": 0
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Bank Account', {
@@ -12,6 +12,11 @@ frappe.ui.form.on('Bank Account', {
}
};
});
frm.set_query("party_type", function() {
return {
query: "erpnext.setup.doctype.party_type.party_type.get_party_type",
};
});
},
refresh: function(frm) {
frappe.dynamic_link = { doc: frm.doc, fieldname: 'name', doctype: 'Bank Account' }
@@ -24,5 +29,13 @@ frappe.ui.form.on('Bank Account', {
else {
frappe.contacts.render_address_and_contact(frm);
}
if (frm.doc.integration_id) {
frm.add_custom_button(__("Unlink external integrations"), function() {
frappe.confirm(__("This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?"), function() {
frm.set_value("integration_id", "");
});
});
}
}
});

File diff suppressed because it is too large Load Diff

View File

@@ -13,16 +13,47 @@ class BankAccount(Document):
"""Load address and contacts in `__onload`"""
load_address_and_contact(self)
def autoname(self):
self.name = self.account_name + " - " + self.bank
def on_trash(self):
delete_contact_and_address('BankAccount', self.name)
def validate(self):
self.validate_company()
self.validate_iban()
def validate_company(self):
if self.is_company_account and not self.company:
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
def encode_char(c):
# Position in the alphabet (A=1, B=2, ...) plus nine
return str(9 + ord(c) - 64)
# remove whitespaces, upper case to get the right number from ord()
iban = ''.join(self.iban.split(' ')).upper()
# Move country code and checksum from the start to the end
flipped = iban[4:] + iban[:4]
# Encode characters as numbers
encoded = [encode_char(c) if ord(c) >= 65 and ord(c) <= 90 else c for c in flipped]
to_check = int(''.join(encoded))
if to_check % 97 != 1:
frappe.throw(_('IBAN is not valid'))
@frappe.whitelist()
def make_bank_account(doctype, docname):
doc = frappe.new_doc("Bank Account")
@@ -31,3 +62,13 @@ def make_bank_account(doctype, docname):
doc.is_default = 1
return doc
@frappe.whitelist()
def get_party_bank_account(party_type, party):
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)

View File

@@ -4,9 +4,46 @@
from __future__ import unicode_literals
import frappe
from frappe import _
from frappe import ValidationError
import unittest
# test_records = frappe.get_test_records('Bank Account')
class TestBankAccount(unittest.TestCase):
pass
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'
]
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'
]
bank_account = frappe.get_doc({'doctype':'Bank Account'})
try:
bank_account.validate_iban()
except AttributeError:
msg = _('BankAccount.validate_iban() failed for empty IBAN')
self.fail(msg=msg)
for iban in valid_ibans:
bank_account.iban = iban
try:
bank_account.validate_iban()
except ValidationError:
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))
with self.assertRaises(ValidationError, msg=msg):
bank_account.validate_iban()

View File

@@ -23,35 +23,36 @@ class BankReconciliation(Document):
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,
t2.debit_in_account_currency as debit, t2.credit_in_account_currency as credit,
t1.posting_date, t2.against_account, t1.clearance_date, t2.account_currency
select
"Journal Entry" as payment_document, t1.name as payment_entry,
t1.cheque_no as cheque_number, t1.cheque_date,
sum(t2.debit_in_account_currency) as debit, sum(t2.credit_in_account_currency) as credit,
t1.posting_date, t2.against_account, t1.clearance_date, t2.account_currency
from
`tabJournal Entry` t1, `tabJournal Entry Account` t2
where
t2.parent = t1.name and t2.account = %s and t1.docstatus=1
and t1.posting_date >= %s and t1.posting_date <= %s
and t1.posting_date >= %s and t1.posting_date <= %s
and ifnull(t1.is_opening, 'No') = 'No' {0}
group by t2.account, t1.name
order by t1.posting_date ASC, t1.name DESC
""".format(condition), (self.bank_account, self.from_date, self.to_date), as_dict=1)
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,
if(paid_from=%(account)s, paid_amount, "") as credit,
if(paid_from=%(account)s, "", received_amount) as debit,
select
"Payment Entry" as payment_document, name as payment_entry,
reference_no as cheque_number, reference_date as cheque_date,
if(paid_from=%(account)s, paid_amount, 0) as credit,
if(paid_from=%(account)s, 0, received_amount) as debit,
posting_date, ifnull(party,if(paid_from=%(account)s,paid_to,paid_from)) as against_account, clearance_date,
if(paid_to=%(account)s, paid_to_account_currency, paid_from_account_currency) as account_currency
from `tabPayment Entry`
where
(paid_from=%(account)s or paid_to=%(account)s) and docstatus=1
and posting_date >= %(from)s and posting_date <= %(to)s {0}
order by
order by
posting_date ASC, name DESC
""".format(condition),
""".format(condition),
{"account":self.bank_account, "from":self.from_date, "to":self.to_date}, as_dict=1)
pos_entries = []
@@ -78,8 +79,12 @@ class BankReconciliation(Document):
for d in entries:
row = self.append('payment_entries', {})
amount = d.debit if d.debit else d.credit
d.amount = fmt_money(amount, 2, d.account_currency) + " " + (_("Dr") if d.debit else _("Cr"))
amount = flt(d.get('debit', 0)) - flt(d.get('credit', 0))
formatted_amount = fmt_money(abs(amount), 2, d.account_currency)
d.amount = formatted_amount + " " + (_("Dr") if amount > 0 else _("Cr"))
d.pop("credit")
d.pop("debit")
d.pop("account_currency")
@@ -102,10 +107,10 @@ class BankReconciliation(Document):
d.clearance_date = None
frappe.db.set_value(d.payment_document, d.payment_entry, "clearance_date", d.clearance_date)
frappe.db.sql("""update `tab{0}` set clearance_date = %s, modified = %s
where name=%s""".format(d.payment_document),
frappe.db.sql("""update `tab{0}` set clearance_date = %s, modified = %s
where name=%s""".format(d.payment_document),
(d.clearance_date, nowdate(), d.payment_entry))
clearance_date_updated = True
if clearance_date_updated:

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
@@ -12,6 +13,7 @@
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -39,10 +41,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -71,11 +75,13 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0,
"width": "50"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -103,11 +109,13 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0,
"width": "15"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -136,10 +144,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -165,11 +175,13 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0,
"width": "50%"
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -197,10 +209,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -228,10 +242,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -259,10 +275,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -290,6 +308,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
@@ -304,7 +323,7 @@
"istable": 1,
"max_attachments": 0,
"menu_index": 0,
"modified": "2017-06-23 12:07:50.883515",
"modified": "2019-01-07 16:52:07.174687",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank Reconciliation Detail",
@@ -316,5 +335,6 @@
"show_name_in_global_search": 0,
"sort_order": "ASC",
"track_changes": 0,
"track_seen": 0
"track_seen": 0,
"track_views": 0
}

View File

@@ -16,10 +16,11 @@ import copy
class BankStatementTransactionEntry(Document):
def autoname(self):
self.name = self.bank_account + "-" + self.from_date + "-" + self.to_date
mapper_name = self.bank + "-Statement-Settings"
if not frappe.db.exists("Bank Statement Settings", mapper_name):
self.create_settings(self.bank)
self.bank_settings = mapper_name
if self.bank:
mapper_name = self.bank + "-Statement-Settings"
if not frappe.db.exists("Bank Statement Settings", mapper_name):
self.create_settings(self.bank)
self.bank_settings = mapper_name
def create_settings(self, bank):
mapper = frappe.new_doc("Bank Statement Settings")

View File

@@ -0,0 +1,32 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Bank Transaction', {
onload(frm) {
frm.set_query('payment_document', 'payment_entries', function() {
return {
"filters": {
"name": ["in", ["Payment Entry", "Journal Entry", "Sales Invoice", "Purchase Invoice", "Expense Claim"]]
}
};
});
}
});
frappe.ui.form.on('Bank Transaction Payments', {
payment_entries_remove: function(frm, cdt, cdn) {
update_clearance_date(frm, cdt, cdn);
}
});
const update_clearance_date = (frm, cdt, cdn) => {
if (frm.doc.docstatus === 1) {
frappe.xcall('erpnext.accounts.doctype.bank_transaction.bank_transaction.unclear_reference_payment',
{doctype: cdt, docname: cdn})
.then(e => {
if (e == "success") {
frappe.show_alert({message:__("Document {0} successfully uncleared", [e]), indicator:'green'});
}
});
}
};

View File

@@ -0,0 +1,833 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 1,
"allow_rename": 0,
"autoname": "naming_series:",
"beta": 0,
"creation": "2018-10-22 18:19:02.784533",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "",
"editable_grid": 1,
"engine": "InnoDB",
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "ACC-BTN-.YYYY.-",
"fetch_if_empty": 0,
"fieldname": "naming_series",
"fieldtype": "Select",
"hidden": 1,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Series",
"length": 0,
"no_copy": 1,
"options": "ACC-BTN-.YYYY.-",
"permlevel": 0,
"precision": "",
"print_hide": 1,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 1,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "date",
"fieldtype": "Date",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Date",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "column_break_2",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Settled",
"fetch_if_empty": 0,
"fieldname": "status",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 1,
"label": "Status",
"length": 0,
"no_copy": 0,
"options": "\nPending\nSettled\nUnreconciled\nReconciled",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "bank_account",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 1,
"label": "Bank Account",
"length": 0,
"no_copy": 0,
"options": "Bank Account",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "",
"fetch_from": "bank_account.company",
"fetch_if_empty": 0,
"fieldname": "company",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 1,
"label": "Company",
"length": 0,
"no_copy": 0,
"options": "Company",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "section_break_4",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "debit",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Debit",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "credit",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Credit",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "column_break_7",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "currency",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Currency",
"length": 0,
"no_copy": 0,
"options": "Currency",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "section_break_10",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "description",
"fieldtype": "Small Text",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Description",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "section_break_14",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "reference_number",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Reference Number",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "transaction_id",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Transaction ID",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 1
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "payment_entries",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Payment Entries",
"length": 0,
"no_copy": 0,
"options": "Bank Transaction Payments",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "section_break_18",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "allocated_amount",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Allocated Amount",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "amended_from",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Amended From",
"length": 0,
"no_copy": 1,
"options": "Bank Transaction",
"permlevel": 0,
"print_hide": 1,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "column_break_17",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "",
"fetch_if_empty": 0,
"fieldname": "unallocated_amount",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Unallocated Amount",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2019-04-26 14:32:16.437813",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank Transaction",
"name_case": "",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 1,
"write": 1
},
{
"amend": 0,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Accounts Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 1,
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Accounts User",
"set_user_permissions": 0,
"share": 1,
"submit": 1,
"write": 1
}
],
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "date",
"sort_order": "DESC",
"title_field": "bank_account",
"track_changes": 0,
"track_seen": 0,
"track_views": 0
}

View File

@@ -0,0 +1,102 @@
# -*- 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 erpnext.controllers.status_updater import StatusUpdater
from frappe.utils import flt
from six.moves import reduce
from frappe import _
class BankTransaction(StatusUpdater):
def after_insert(self):
self.unallocated_amount = abs(flt(self.credit) - flt(self.debit))
def on_submit(self):
self.clear_linked_payment_entries()
self.set_status()
def on_update_after_submit(self):
self.update_allocations()
self.clear_linked_payment_entries()
self.set_status(update=True)
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])
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.credit) - flt(self.debit)) - 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.credit) - flt(self.debit)))
self.reload()
def clear_linked_payment_entries(self):
for payment_entry in self.payment_entries:
allocated_amount = get_total_allocated_amount(payment_entry)
paid_amount = get_paid_amount(payment_entry)
if paid_amount and allocated_amount:
if flt(allocated_amount[0]["allocated_amount"]) > flt(paid_amount):
frappe.throw(_("The total allocated amount ({0}) is greated than the paid amount ({1}).".format(flt(allocated_amount[0]["allocated_amount"]), flt(paid_amount))))
elif flt(allocated_amount[0]["allocated_amount"]) == flt(paid_amount):
if payment_entry.payment_document in ["Payment Entry", "Journal Entry", "Purchase Invoice", "Expense Claim"]:
self.clear_simple_entry(payment_entry)
elif payment_entry.payment_document == "Sales Invoice":
self.clear_sales_invoice(payment_entry)
def clear_simple_entry(self, payment_entry):
frappe.db.set_value(payment_entry.payment_document, payment_entry.payment_entry, "clearance_date", self.date)
def clear_sales_invoice(self, payment_entry):
frappe.db.set_value("Sales Invoice Payment", dict(parenttype=payment_entry.payment_document,
parent=payment_entry.payment_entry), "clearance_date", self.date)
def get_total_allocated_amount(payment_entry):
return frappe.db.sql("""
SELECT
SUM(btp.allocated_amount) as allocated_amount,
bt.name
FROM
`tabBank Transaction Payments` as btp
LEFT JOIN
`tabBank Transaction` bt ON bt.name=btp.parent
WHERE
btp.payment_document = %s
AND
btp.payment_entry = %s
AND
bt.docstatus = 1""", (payment_entry.payment_document, payment_entry.payment_entry), as_dict=True)
def get_paid_amount(payment_entry):
if payment_entry.payment_document in ["Payment Entry", "Sales Invoice", "Purchase Invoice"]:
return frappe.db.get_value(payment_entry.payment_document, payment_entry.payment_entry, "paid_amount")
elif payment_entry.payment_document == "Journal Entry":
return frappe.db.get_value(payment_entry.payment_document, payment_entry.payment_entry, "total_credit")
elif payment_entry.payment_document == "Expense Claim":
return frappe.db.get_value(payment_entry.payment_document, payment_entry.payment_entry, "total_amount_reimbursed")
else:
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)
else:
frappe.db.set_value(doc.payment_document, doc.payment_entry, "clearance_date", None)
return doc.payment_entry

View File

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

View File

@@ -0,0 +1,80 @@
# -*- 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
import json
from frappe.utils import getdate
from frappe.utils.dateutils import parse_date
from six import iteritems
@frappe.whitelist()
def upload_bank_statement():
if getattr(frappe, "uploaded_file", None):
with open(frappe.uploaded_file, "rb") as upfile:
fcontent = upfile.read()
else:
from frappe.utils.file_manager import get_uploaded_content
fname, fcontent = get_uploaded_content()
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')):
from frappe.utils.xlsxutils import read_xlsx_file_from_attached_file
rows = read_xlsx_file_from_attached_file(fcontent=fcontent)
columns = rows[0]
rows.pop(0)
data = rows
return {"columns": columns, "data": data}
@frappe.whitelist()
def create_bank_entries(columns, data, bank_account):
header_map = get_header_mapping(columns, bank_account)
success = 0
errors = 0
for d in json.loads(data):
if all(item is None for item in d) is True:
continue
fields = {}
for key, value in iteritems(header_map):
fields.update({key: d[int(value)-1]})
try:
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
bank_transaction.insert()
bank_transaction.submit()
success += 1
except Exception:
frappe.log_error(frappe.get_traceback())
errors += 1
return {"success": success, "errors": errors}
def get_header_mapping(columns, bank_account):
mapping = get_bank_mapping(bank_account)
header_map = {}
for column in json.loads(columns):
if column["content"] in mapping:
header_map.update({mapping[column["content"]]: column["colIndex"]})
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}
return mapping

View File

@@ -0,0 +1,23 @@
/* eslint-disable */
// rename this file from _test_[name] to test_[name] to activate
// and remove above this line
QUnit.test("test: Bank Transaction", function (assert) {
let done = assert.async();
// number of asserts
assert.expect(1);
frappe.run_serially([
// insert a new Bank Transaction
() => frappe.tests.make('Bank Transaction', [
// values to be set
{key: 'value'}
]),
() => {
assert.equal(cur_frm.doc.key, 'value');
},
() => done()
]);
});

View File

@@ -0,0 +1,286 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
import frappe
import unittest
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
from erpnext.accounts.page.bank_reconciliation.bank_reconciliation import reconcile, get_linked_payments
test_dependencies = ["Item", "Cost Center"]
class TestBankTransaction(unittest.TestCase):
def setUp(self):
add_transactions()
add_payments()
def tearDown(self):
for bt in frappe.get_all("Bank Transaction"):
doc = frappe.get_doc("Bank Transaction", bt.name)
doc.cancel()
doc.delete()
# Delete directly in DB to avoid validation errors for countries not allowing deletion
frappe.db.sql("""delete from `tabPayment Entry Reference`""")
frappe.db.sql("""delete from `tabPayment Entry`""")
frappe.flags.test_bank_transactions_created = False
frappe.flags.test_payments_created = False
# 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)
self.assertTrue(linked_payments[0].party == "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/000002918 OPSKATTUZWXXX AT776000000098709837 Herr G"))
payment = frappe.get_doc("Payment Entry", dict(party="Mr G", paid_amount=1200))
reconcile(bank_transaction.name, "Payment Entry", payment.name)
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")
self.assertTrue(clearance_date is not None)
# Check if ERPNext can correctly fetch a linked payment based on the party
def test_linked_payments_based_on_party(self):
bank_transaction = frappe.get_doc("Bank Transaction", dict(description="1512567 BG/000003025 OPSKATTUZWXXX AT776000000098709849 Herr G"))
linked_payments = get_linked_payments(bank_transaction.name)
self.assertTrue(len(linked_payments)==1)
# 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)
self.assertTrue(linked_payments[0].payment_type == "Pay")
# 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"))
payment = frappe.get_doc("Payment Entry", dict(party="Mr G", paid_amount=1200))
reconcile(bank_transaction.name, "Payment Entry", payment.name)
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))
self.assertRaises(frappe.ValidationError, reconcile, bank_transaction=bank_transaction.name, payment_doctype="Payment Entry", payment_name=payment.name)
# Raise an error if creditor transaction vs creditor payment
def test_invalid_creditor_reconcilation(self):
bank_transaction = frappe.get_doc("Bank Transaction", dict(description="I2015000011 VD/000002514 ATWWXXX AT4701345000003510057 Bio"))
payment = frappe.get_doc("Payment Entry", dict(party="Conrad Electronic", paid_amount=690))
self.assertRaises(frappe.ValidationError, reconcile, bank_transaction=bank_transaction.name, payment_doctype="Payment Entry", payment_name=payment.name)
# Raise an error if debitor transaction vs debitor payment
def test_invalid_debitor_reconcilation(self):
bank_transaction = frappe.get_doc("Bank Transaction", dict(description="Auszahlung Karte MC/000002916 AUTOMAT 698769 K002 27.10. 14:07"))
payment = frappe.get_doc("Payment Entry", dict(party="Fayva", paid_amount=109080))
self.assertRaises(frappe.ValidationError, reconcile, bank_transaction=bank_transaction.name, payment_doctype="Payment Entry", payment_name=payment.name)
# 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"))
payment = frappe.get_doc("Sales Invoice", dict(customer="Fayva", status=["=", "Paid"]))
reconcile(bank_transaction.name, "Sales Invoice", payment.name)
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 add_transactions():
if frappe.flags.test_bank_transactions_created:
return
frappe.set_user("Administrator")
try:
frappe.get_doc({
"doctype": "Bank",
"bank_name":"Citi Bank",
}).insert()
except frappe.DuplicateEntryError:
pass
try:
frappe.get_doc({
"doctype": "Bank Account",
"account_name":"Checking Account",
"bank": "Citi Bank",
"account": "_Test Bank - _TC"
}).insert()
except frappe.DuplicateEntryError:
pass
doc = frappe.get_doc({
"doctype": "Bank Transaction",
"description":"1512567 BG/000002918 OPSKATTUZWXXX AT776000000098709837 Herr G",
"date": "2018-10-23",
"debit": 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",
"debit": 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",
"debit": 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",
"debit": 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",
"credit": 109080,
"currency": "INR",
"bank_account": "Checking Account - Citi Bank"
}).insert()
doc.submit()
frappe.flags.test_bank_transactions_created = True
def add_payments():
if frappe.flags.test_payments_created:
return
frappe.set_user("Administrator")
try:
frappe.get_doc({
"doctype": "Supplier",
"supplier_group":"All Supplier Groups",
"supplier_type": "Company",
"supplier_name": "Conrad Electronic"
}).insert()
except frappe.DuplicateEntryError:
pass
pi = make_purchase_invoice(supplier="Conrad Electronic", qty=1, rate=690)
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank - _TC")
pe.reference_no = "Conrad Oct 18"
pe.reference_date = "2018-10-24"
pe.insert()
pe.submit()
try:
frappe.get_doc({
"doctype": "Supplier",
"supplier_group":"All Supplier Groups",
"supplier_type": "Company",
"supplier_name": "Mr G"
}).insert()
except frappe.DuplicateEntryError:
pass
pi = make_purchase_invoice(supplier="Mr G", qty=1, rate=1200)
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank - _TC")
pe.reference_no = "Herr G Oct 18"
pe.reference_date = "2018-10-24"
pe.insert()
pe.submit()
pi = make_purchase_invoice(supplier="Mr G", qty=1, rate=1700)
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank - _TC")
pe.reference_no = "Herr G Nov 18"
pe.reference_date = "2018-11-01"
pe.insert()
pe.submit()
try:
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()
except frappe.DuplicateEntryError:
pass
pi = make_purchase_invoice(supplier="Poore Simon's", qty=1, rate=3900)
pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank - _TC")
pe.reference_no = "Poore Simon's Oct 18"
pe.reference_date = "2018-10-28"
pe.insert()
pe.submit()
si = create_sales_invoice(customer="Poore Simon's", qty=1, rate=3900)
pe = get_payment_entry("Sales Invoice", si.name, bank_account="_Test Bank - _TC")
pe.reference_no = "Poore Simon's Oct 18"
pe.reference_date = "2018-10-28"
pe.insert()
pe.submit()
try:
frappe.get_doc({
"doctype": "Customer",
"customer_group":"All Customer Groups",
"customer_type": "Company",
"customer_name": "Fayva"
}).insert()
except frappe.DuplicateEntryError:
pass
si = create_sales_invoice(customer="Fayva", qty=1, rate=109080)
pe = get_payment_entry("Sales Invoice", si.name, bank_account="_Test Bank - _TC")
pe.reference_no = "Fayva Oct 18"
pe.reference_date = "2018-10-29"
pe.insert()
pe.submit()
company = frappe.db.get_single_value('Global Defaults', 'default_company')
frappe.get_doc({
"doctype": "Mode of Payment",
"name": "Cash"
}).append("accounts", {
"company": company,
"default_account": "_Test Bank - _TC"
}).save()
si = create_sales_invoice(customer="Fayva", qty=1, rate=109080, do_not_submit=1)
si.is_pos = 1
si.append("payments", {
"mode_of_payment": "Cash",
"account": "_Test Bank - _TC",
"amount": 109080
})
si.save()
si.submit()
frappe.flags.test_payments_created = True

View File

@@ -1,11 +1,11 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"autoname": "field:subscriber_name",
"beta": 0,
"creation": "2018-02-24 11:17:46.809140",
"creation": "2018-10-24 15:24:56.713277",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
@@ -20,8 +20,8 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "customer",
"fieldtype": "Link",
"fieldname": "bank_transaction_field",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -29,10 +29,9 @@
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Customer",
"label": "Field in Bank Transaction",
"length": 0,
"no_copy": 0,
"options": "Customer",
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -53,8 +52,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_from": "customer.customer_name",
"fieldname": "subscriber_name",
"fieldname": "file_field",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -63,10 +61,9 @@
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Subscriber Name",
"label": "Column in Bank File",
"length": 0,
"no_copy": 0,
"options": "",
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -78,7 +75,7 @@
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 1
"unique": 0
}
],
"has_web_view": 0,
@@ -89,41 +86,22 @@
"in_create": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2018-07-11 15:13:30.056470",
"modified": "2018-10-24 15:24:56.713277",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Subscriber",
"name": "Bank Transaction Mapping",
"name_case": "",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
}
],
"quick_entry": 1,
"permissions": [],
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
"track_changes": 0,
"track_seen": 0,
"track_views": 0
}

View File

@@ -0,0 +1,9 @@
# -*- 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
class BankTransactionMapping(Document):
pass

View File

@@ -0,0 +1,141 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 0,
"creation": "2018-11-28 08:55:40.815355",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "",
"editable_grid": 1,
"engine": "InnoDB",
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "payment_document",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Payment Document",
"length": 0,
"no_copy": 0,
"options": "DocType",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "payment_entry",
"fieldtype": "Dynamic Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Payment Entry",
"length": 0,
"no_copy": 0,
"options": "payment_document",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "allocated_amount",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Allocated Amount",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2018-12-06 10:57:02.635141",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank Transaction Payments",
"name_case": "",
"owner": "Administrator",
"permissions": [],
"quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0,
"track_views": 0
}

View File

@@ -0,0 +1,9 @@
# -*- 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
class BankTransactionPayments(Document):
pass

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 1,
"allow_rename": 0,
@@ -19,6 +20,7 @@
"collapsible": 0,
"columns": 0,
"default": "Cost Center",
"fetch_if_empty": 0,
"fieldname": "budget_against",
"fieldtype": "Select",
"hidden": 0,
@@ -52,6 +54,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "company",
"fieldtype": "Link",
"hidden": 0,
@@ -86,6 +89,7 @@
"collapsible": 0,
"columns": 0,
"depends_on": "eval:doc.budget_against == 'Cost Center'",
"fetch_if_empty": 0,
"fieldname": "cost_center",
"fieldtype": "Link",
"hidden": 0,
@@ -120,6 +124,7 @@
"collapsible": 0,
"columns": 0,
"depends_on": "eval:doc.budget_against == 'Project'",
"fetch_if_empty": 0,
"fieldname": "project",
"fieldtype": "Link",
"hidden": 0,
@@ -153,6 +158,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "fiscal_year",
"fieldtype": "Link",
"hidden": 0,
@@ -186,6 +192,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "column_break_3",
"fieldtype": "Column Break",
"hidden": 0,
@@ -218,6 +225,7 @@
"collapsible": 0,
"columns": 0,
"depends_on": "eval:in_list([\"Stop\", \"Warn\"], doc.action_if_accumulated_monthly_budget_exceeded_on_po || doc.action_if_accumulated_monthly_budget_exceeded_on_mr || doc.action_if_accumulated_monthly_budget_exceeded_on_actual)",
"fetch_if_empty": 0,
"fieldname": "monthly_distribution",
"fieldtype": "Link",
"hidden": 0,
@@ -251,6 +259,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "amended_from",
"fieldtype": "Link",
"hidden": 0,
@@ -283,6 +292,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "section_break_6",
"fieldtype": "Section Break",
"hidden": 0,
@@ -315,6 +325,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "applicable_on_material_request",
"fieldtype": "Check",
"hidden": 0,
@@ -343,12 +354,13 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Stop",
"depends_on": "eval:doc.applicable_on_material_request == 1",
"fetch_if_empty": 0,
"fieldname": "action_if_annual_budget_exceeded_on_mr",
"fieldtype": "Select",
"hidden": 0,
@@ -378,12 +390,13 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Warn",
"depends_on": "eval:doc.applicable_on_material_request == 1",
"fetch_if_empty": 0,
"fieldname": "action_if_accumulated_monthly_budget_exceeded_on_mr",
"fieldtype": "Select",
"hidden": 0,
@@ -417,6 +430,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "column_break_13",
"fieldtype": "Column Break",
"hidden": 0,
@@ -448,6 +462,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "applicable_on_purchase_order",
"fieldtype": "Check",
"hidden": 0,
@@ -476,12 +491,13 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Stop",
"depends_on": "eval:doc.applicable_on_purchase_order == 1",
"fetch_if_empty": 0,
"fieldname": "action_if_annual_budget_exceeded_on_po",
"fieldtype": "Select",
"hidden": 0,
@@ -511,12 +527,13 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Warn",
"depends_on": "eval:doc.applicable_on_purchase_order == 1",
"fetch_if_empty": 0,
"fieldname": "action_if_accumulated_monthly_budget_exceeded_on_po",
"fieldtype": "Select",
"hidden": 0,
@@ -550,6 +567,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "section_break_16",
"fieldtype": "Section Break",
"hidden": 0,
@@ -581,6 +599,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "applicable_on_booking_actual_expenses",
"fieldtype": "Check",
"hidden": 0,
@@ -609,12 +628,13 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Stop",
"depends_on": "eval:doc.applicable_on_booking_actual_expenses == 1",
"fetch_if_empty": 0,
"fieldname": "action_if_annual_budget_exceeded",
"fieldtype": "Select",
"hidden": 0,
@@ -644,12 +664,13 @@
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Warn",
"depends_on": "eval:doc.applicable_on_booking_actual_expenses == 1",
"fetch_if_empty": 0,
"fieldname": "action_if_accumulated_monthly_budget_exceeded",
"fieldtype": "Select",
"hidden": 0,
@@ -683,6 +704,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"fetch_if_empty": 0,
"fieldname": "section_break_21",
"fieldtype": "Section Break",
"hidden": 0,
@@ -715,6 +737,7 @@
"collapsible": 0,
"columns": 0,
"depends_on": "",
"fetch_if_empty": 0,
"fieldname": "accounts",
"fieldtype": "Table",
"hidden": 0,
@@ -735,7 +758,7 @@
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
@@ -752,7 +775,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2018-09-12 11:02:41.825923",
"modified": "2019-03-22 12:06:02.323099",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Budget",
@@ -785,7 +808,7 @@
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0,
"track_changes": 1,
"track_seen": 0,
"track_views": 0
}

View File

@@ -1,3 +1,5 @@
from __future__ import unicode_literals
DEFAULT_MAPPERS = [
{
'doctype': 'Cash Flow Mapper',

View File

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

View File

@@ -29,8 +29,8 @@ class CashierClosing(Document):
for i in self.payments:
total += flt(i.amount)
self.net_amount = total + self.outstanding_amount + self.expense - self.custody
self.net_amount = total + self.outstanding_amount + self.expense - self.custody + self.returns
def validate_time(self):
if self.from_time >= self.time:
frappe.throw(_("From Time Should Be Less Than To Time"))
frappe.throw(_("From Time Should Be Less Than To Time"))

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
@@ -14,6 +15,7 @@
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -41,10 +43,12 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -63,7 +67,7 @@
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "2",
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
@@ -72,6 +76,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
@@ -85,7 +90,7 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2018-09-02 14:45:36.303520",
"modified": "2019-02-19 08:34:20.268037",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Cashier Closing Payments",
@@ -99,5 +104,6 @@
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
"track_seen": 0,
"track_views": 0
}

View File

@@ -46,7 +46,7 @@ frappe.ui.form.on('Cost Center', {
doctype_name: frm.doc.doctype,
name: frm.doc.name,
field_name: d.fields[0].fieldname,
field_value: data.cost_center_number,
number_value: data.cost_center_number,
company: frm.doc.company
},
callback: function(r) {

View File

@@ -39,6 +39,8 @@ frappe.ui.form.on('Exchange Rate Revaluation', {
});
frm.events.get_total_gain_loss(frm);
refresh_field("accounts");
} else {
frappe.msgprint(__("No records found"));
}
}
});

View File

@@ -67,17 +67,19 @@ class ExchangeRateRevaluation(Document):
and account_currency != %s
order by name""",(self.company, company_currency))
account_details = frappe.db.sql("""
select
account, party_type, party, account_currency,
sum(debit_in_account_currency) - sum(credit_in_account_currency) as balance_in_account_currency,
sum(debit) - sum(credit) as balance
from `tabGL Entry`
where account in (%s)
group by account, party_type, party
having sum(debit) != sum(credit)
order by account
""" % ', '.join(['%s']*len(accounts)), tuple(accounts), as_dict=1)
account_details = []
if accounts:
account_details = frappe.db.sql("""
select
account, party_type, party, account_currency,
sum(debit_in_account_currency) - sum(credit_in_account_currency) as balance_in_account_currency,
sum(debit) - sum(credit) as balance
from `tabGL Entry`
where account in (%s)
group by account, party_type, party
having sum(debit) != sum(credit)
order by account
""" % ', '.join(['%s']*len(accounts)), tuple(accounts), as_dict=1)
return account_details

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
@@ -14,6 +15,7 @@
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -46,6 +48,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -78,6 +81,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -110,6 +114,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -140,6 +145,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -172,6 +178,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -203,6 +210,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -234,6 +242,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -265,6 +274,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -296,6 +306,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -326,6 +337,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -357,6 +369,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -388,6 +401,7 @@
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -428,7 +442,7 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2018-05-05 17:03:03.512559",
"modified": "2019-01-07 16:52:07.327930",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Exchange Rate Revaluation Account",
@@ -442,5 +456,6 @@
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
"track_seen": 0,
"track_views": 0
}

View File

@@ -9,6 +9,8 @@ from dateutil.relativedelta import relativedelta
from frappe.model.document import Document
class FiscalYearIncorrectDate(frappe.ValidationError): pass
class FiscalYear(Document):
def set_as_default(self):
frappe.db.set_value("Global Defaults", None, "current_fiscal_year", self.name)
@@ -35,11 +37,14 @@ class FiscalYear(Document):
def validate_dates(self):
if getdate(self.year_start_date) > getdate(self.year_end_date):
frappe.throw(_("Fiscal Year Start Date should not be greater than Fiscal Year End Date"))
frappe.throw(_("Fiscal Year Start Date should be one year earlier than Fiscal Year End Date"),
FiscalYearIncorrectDate)
if (getdate(self.year_end_date) - getdate(self.year_start_date)).days > 366:
date = getdate(self.year_start_date) + relativedelta(years=1) - relativedelta(days=1)
self.year_end_date = date.strftime("%Y-%m-%d")
date = getdate(self.year_start_date) + relativedelta(years=1) - relativedelta(days=1)
if getdate(self.year_end_date) != date:
frappe.throw(_("Fiscal Year End Date should be one year after Fiscal Year Start Date"),
FiscalYearIncorrectDate)
def on_update(self):
check_duplicate_fiscal_year(self)

View File

@@ -5,6 +5,8 @@ from __future__ import unicode_literals
import frappe, unittest
from erpnext.accounts.doctype.fiscal_year.fiscal_year import FiscalYearIncorrectDate
test_records = frappe.get_test_records('Fiscal Year')
test_ignore = ["Company"]
@@ -12,12 +14,12 @@ class TestFiscalYear(unittest.TestCase):
def test_extra_year(self):
if frappe.db.exists("Fiscal Year", "_Test Fiscal Year 2000"):
frappe.delete_doc("Fiscal Year", "_Test Fiscal Year 2000")
fy = frappe.get_doc({
"doctype": "Fiscal Year",
"year": "_Test Fiscal Year 2000",
"year_end_date": "2002-12-31",
"year_start_date": "2000-04-01"
})
fy.insert()
self.assertEqual(fy.year_end_date, '2001-03-31')
self.assertRaises(FiscalYearIncorrectDate, fy.insert)

View File

@@ -6,6 +6,7 @@ import frappe, erpnext
from frappe import _
from frappe.utils import flt, fmt_money, getdate, formatdate
from frappe.model.document import Document
from frappe.model.meta import get_field_precision
from erpnext.accounts.party import validate_party_gle_currency, validate_party_frozen_disabled
from erpnext.accounts.utils import get_account_currency
from erpnext.accounts.utils import get_fiscal_year
@@ -18,15 +19,14 @@ class GLEntry(Document):
self.flags.ignore_submit_comment = True
self.check_mandatory()
self.validate_and_set_fiscal_year()
self.pl_must_have_cost_center()
self.validate_cost_center()
if not self.flags.from_repost:
self.pl_must_have_cost_center()
self.check_pl_account()
self.validate_cost_center()
self.validate_party()
self.validate_currency()
def on_update_with_args(self, adv_adj, update_outstanding = 'Yes', from_repost=False):
if not from_repost:
self.validate_account_details(adv_adj)
@@ -57,7 +57,7 @@ class GLEntry(Document):
.format(self.voucher_type, self.voucher_no, self.account))
# Zero value transaction is not allowed
if not (flt(self.debit) or flt(self.credit)):
if not (flt(self.debit, self.precision("debit")) or flt(self.credit, self.precision("credit"))):
frappe.throw(_("{0} {1}: Either debit or credit amount is required for {2}")
.format(self.voucher_type, self.voucher_no, self.account))
@@ -75,7 +75,8 @@ class GLEntry(Document):
def check_pl_account(self):
if self.is_opening=='Yes' and \
frappe.db.get_value("Account", self.account, "report_type")=="Profit and Loss":
frappe.db.get_value("Account", self.account, "report_type")=="Profit and Loss" and \
self.voucher_type not in ['Purchase Invoice', 'Sales Invoice']:
frappe.throw(_("{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry")
.format(self.voucher_type, self.voucher_no, self.account))
@@ -216,17 +217,23 @@ def validate_frozen_account(account, adv_adj=None):
def update_against_account(voucher_type, voucher_no):
entries = frappe.db.get_all("GL Entry",
filters={"voucher_type": voucher_type, "voucher_no": voucher_no},
fields=["name", "party", "against", "debit", "credit", "account"])
fields=["name", "party", "against", "debit", "credit", "account", "company"])
if not entries:
return
company_currency = erpnext.get_company_currency(entries[0].company)
precision = get_field_precision(frappe.get_meta("GL Entry")
.get_field("debit"), company_currency)
accounts_debited, accounts_credited = [], []
for d in entries:
if flt(d.debit > 0): accounts_debited.append(d.party or d.account)
if flt(d.credit) > 0: accounts_credited.append(d.party or d.account)
if flt(d.debit, precision) > 0: accounts_debited.append(d.party or d.account)
if flt(d.credit, precision) > 0: accounts_credited.append(d.party or d.account)
for d in entries:
if flt(d.debit > 0):
if flt(d.debit, precision) > 0:
new_against = ", ".join(list(set(accounts_credited)))
if flt(d.credit > 0):
if flt(d.credit, precision) > 0:
new_against = ", ".join(list(set(accounts_debited)))
if d.against != new_against:

View File

@@ -24,7 +24,7 @@ frappe.ui.form.on("Journal Entry", {
}, "fa fa-table");
}
if(frm.doc.docstatus==1 && frm.doc.naming_series=="JV-") {
if(frm.doc.docstatus==1) {
frm.add_custom_button(__('Reverse Journal Entry'), function() {
return erpnext.journal_entry.reverse_journal_entry(frm);
});
@@ -205,6 +205,13 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({
};
}
// payroll entry
if(jvd.reference_type==="Payroll Entry") {
return {
query: "erpnext.hr.doctype.payroll_entry.payroll_entry.get_payroll_entries_for_jv",
};
}
var out = {
filters: [
[jvd.reference_type, "docstatus", "=", 1]
@@ -227,10 +234,18 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({
out.filters.push([jvd.reference_type, "per_billed", "<", 100]);
}
if(jvd.party_type && jvd.party) {
out.filters.push([jvd.reference_type,
(jvd.reference_type.indexOf("Sales")===0 ? "customer" : "supplier"), "=", jvd.party]);
var party_field = "";
if(jvd.reference_type.indexOf("Sales")===0) {
var party_field = "customer";
} else if (jvd.reference_type.indexOf("Purchase")===0) {
var party_field = "supplier";
}
if (party_field) {
out.filters.push([jvd.reference_type, party_field, "=", jvd.party]);
}
}
return out;

File diff suppressed because it is too large Load Diff

View File

@@ -52,6 +52,7 @@ class JournalEntry(AccountsController):
self.update_loan()
self.update_inter_company_jv()
def get_title(self):
return self.pay_to_recd_from or self.accounts[0].account

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
@@ -398,7 +399,7 @@
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "6",
"precision": "9",
"print_hide": 1,
"print_hide_if_no_value": 0,
"read_only": 0,
@@ -911,7 +912,7 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2018-08-19 04:08:44.742510",
"modified": "2019-02-18 19:00:53.662788",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Journal Entry Account",

View File

@@ -7,6 +7,7 @@ import frappe
import unittest
from frappe.utils import today, cint, flt, getdate
from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_program_details_with_points
from erpnext.accounts.party import get_dashboard_info
class TestLoyaltyProgram(unittest.TestCase):
@classmethod
@@ -144,6 +145,13 @@ class TestLoyaltyProgram(unittest.TestCase):
frappe.get_doc('Sales Invoice', d.name).cancel()
frappe.delete_doc('Sales Invoice', d.name)
def test_loyalty_points_for_dashboard(self):
doc = frappe.get_doc('Customer', 'Test Loyalty Customer')
company_wise_info = get_dashboard_info("Customer", doc.name, doc.loyalty_program)
for d in company_wise_info:
self.assertTrue(d.loyalty_points)
def get_points_earned(self):
def get_returned_amount():
returned_amount = frappe.db.sql("""

View File

@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
# See license.txt
from __future__ import unicode_literals
import frappe
import unittest

View File

@@ -232,6 +232,13 @@ frappe.ui.form.on('Payment Entry', {
},
party_type: function(frm) {
let party_types = Object.keys(frappe.boot.party_account_types);
if(frm.doc.party_type && !party_types.includes(frm.doc.party_type)){
frm.set_value("party_type", "");
frappe.throw(__("Party can only be one of "+ party_types.join(", ")));
}
if(frm.doc.party) {
$.each(["party", "party_balance", "paid_from", "paid_to",
"paid_from_account_currency", "paid_from_account_balance",
@@ -284,7 +291,12 @@ frappe.ui.form.on('Payment Entry', {
() => frm.events.get_outstanding_documents(frm),
() => frm.events.hide_unhide_fields(frm),
() => frm.events.set_dynamic_labels(frm),
() => { frm.set_party_account_based_on_party = false; }
() => {
frm.set_party_account_based_on_party = false;
if (r.message.bank_account) {
frm.set_value("bank_account", r.message.bank_account);
}
}
]);
}
}
@@ -807,15 +819,25 @@ frappe.ui.form.on('Payment Entry', {
var write_off_row = $.map(frm.doc["deductions"] || [], function(t) {
return t.account==r.message[account] ? t : null; });
if (!write_off_row.length) {
var row = frm.add_child("deductions");
var row = [];
var difference_amount = flt(frm.doc.difference_amount,
precision("difference_amount"));
if (!write_off_row.length && difference_amount) {
row = frm.add_child("deductions");
row.account = r.message[account];
row.cost_center = r.message["cost_center"];
} else {
var row = write_off_row[0];
row = write_off_row[0];
}
if (row) {
row.amount = flt(row.amount) + difference_amount;
} else {
frappe.msgprint(__("No gain or loss in the exchange rate"))
}
row.amount = flt(row.amount) + flt(frm.doc.difference_amount);
refresh_field("deductions");
frm.events.set_unallocated_amount(frm);
@@ -823,6 +845,25 @@ frappe.ui.form.on('Payment Entry', {
}
})
}
},
bank_account: function(frm) {
const field = frm.doc.payment_type == "Pay" ? "paid_from":"paid_to";
if (frm.doc.bank_account && in_list(['Pay', 'Receive'], frm.doc.payment_type)) {
frappe.call({
method: "erpnext.accounts.doctype.bank_account.bank_account.get_bank_account_details",
args: {
bank_account: frm.doc.bank_account
},
callback: function(r) {
if (r.message) {
frm.set_value(field, r.message.account);
frm.set_value('bank', r.message.bank);
frm.set_value('bank_account_no', r.message.bank_account_no);
}
}
});
}
}
});

File diff suppressed because it is too large Load Diff

View File

@@ -6,12 +6,13 @@ from __future__ import unicode_literals
import frappe, erpnext, json
from frappe import _, scrub, ValidationError
from frappe.utils import flt, comma_or, nowdate, getdate
from erpnext.accounts.utils import get_outstanding_invoices, get_account_currency, get_balance_on
from erpnext.accounts.utils import get_outstanding_invoices, get_account_currency, get_balance_on, get_allow_cost_center_in_entry_of_bs_account
from erpnext.accounts.party import get_party_account
from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account
from erpnext.setup.utils import get_exchange_rate
from erpnext.accounts.general_ledger import make_gl_entries
from erpnext.hr.doctype.expense_claim.expense_claim import update_reimbursed_amount
from erpnext.accounts.doctype.bank_account.bank_account import get_party_bank_account, get_bank_account_details
from erpnext.controllers.accounts_controller import AccountsController, get_supplier_block_status
from six import string_types, iteritems
@@ -69,6 +70,7 @@ class PaymentEntry(AccountsController):
self.update_advance_paid()
self.update_expense_claim()
def on_cancel(self):
self.setup_party_account_field()
self.make_gl_entries(cancel=1)
@@ -88,6 +90,16 @@ class PaymentEntry(AccountsController):
.format(d.idx, d.reference_doctype, d.reference_name))
reference_names.append((d.reference_doctype, d.reference_name))
def set_bank_account_data(self):
if self.bank_account:
bank_data = get_bank_account_details(self.bank_account)
field = "paid_from" if self.payment_type == "Pay" else "paid_to"
self.bank = bank_data.bank
self.bank_account_no = bank_data.bank_account_no
self.set(field, bank_data.account)
def validate_allocated_amount(self):
for d in self.get("references"):
if (flt(d.allocated_amount))> 0:
@@ -148,7 +160,7 @@ class PaymentEntry(AccountsController):
d.reference_name, self.party_account_currency)
for field, value in iteritems(ref_details):
if not d.get(field) or force:
if field == 'exchange_rate' or not d.get(field) or force:
d.set(field, value)
def validate_payment_type(self):
@@ -160,7 +172,7 @@ class PaymentEntry(AccountsController):
if not frappe.db.exists(self.party_type, self.party):
frappe.throw(_("Invalid {0}: {1}").format(self.party_type, self.party))
if self.party_account:
if self.party_account and self.party_type in ("Customer", "Supplier"):
self.validate_account_type(self.party_account,
[erpnext.get_party_account_type(self.party_type)])
@@ -524,9 +536,13 @@ class PaymentEntry(AccountsController):
@frappe.whitelist()
def get_outstanding_reference_documents(args):
if isinstance(args, string_types):
args = json.loads(args)
if args.get('party_type') == 'Member':
return
# confirm that Supplier is not blocked
if args.get('party_type') == 'Supplier':
supplier_status = get_supplier_block_status(args['party'])
@@ -553,8 +569,8 @@ def get_outstanding_reference_documents(args):
.format(frappe.db.escape(args["voucher_type"]), frappe.db.escape(args["voucher_no"]))
# Add cost center condition
if args.get("cost_center"):
condition += " and cost_center='%s'" % args.get("cost_center")
if args.get("cost_center") and get_allow_cost_center_in_entry_of_bs_account():
condition += " and cost_center='%s'" % args.get("cost_center")
outstanding_invoices = get_outstanding_invoices(args.get("party_type"), args.get("party"),
args.get("party_account"), condition=condition)
@@ -670,6 +686,7 @@ def get_negative_outstanding_invoices(party_type, party, party_account, party_ac
@frappe.whitelist()
def get_party_details(company, party_type, party, date, cost_center=None):
bank_account = ''
if not frappe.db.exists(party_type, party):
frappe.throw(_("Invalid {0}: {1}").format(party_type, party))
@@ -677,16 +694,19 @@ def get_party_details(company, party_type, party, date, cost_center=None):
account_currency = get_account_currency(party_account)
account_balance = get_balance_on(party_account, date, cost_center=cost_center)
_party_name = "title" if party_type == "Student" else party_type.lower() + "_name"
_party_name = "title" if party_type in ("Student", "Shareholder") else party_type.lower() + "_name"
party_name = frappe.db.get_value(party_type, party, _party_name)
party_balance = get_balance_on(party_type=party_type, party=party, cost_center=cost_center)
if party_type in ["Customer", "Supplier"]:
bank_account = get_party_bank_account(party_type, party)
return {
"party_account": party_account,
"party_name": party_name,
"party_account_currency": account_currency,
"party_balance": party_balance,
"account_balance": account_balance
"account_balance": account_balance,
"bank_account": bank_account
}
@@ -733,7 +753,7 @@ def get_outstanding_on_journal_entry(name):
@frappe.whitelist()
def get_reference_details(reference_doctype, reference_name, party_account_currency):
total_amount = outstanding_amount = exchange_rate = None
total_amount = outstanding_amount = exchange_rate = bill_no = None
ref_doc = frappe.get_doc(reference_doctype, reference_name)
company_currency = ref_doc.get("company_currency") or erpnext.get_company_currency(ref_doc.company)
@@ -767,6 +787,7 @@ def get_reference_details(reference_doctype, reference_name, party_account_curre
if reference_doctype in ("Sales Invoice", "Purchase Invoice"):
outstanding_amount = ref_doc.get("outstanding_amount")
bill_no = ref_doc.get("bill_no")
elif reference_doctype == "Expense Claim":
outstanding_amount = flt(ref_doc.get("total_sanctioned_amount")) \
- flt(ref_doc.get("total_amount+reimbursed")) - flt(ref_doc.get("total_advance_amount"))
@@ -783,7 +804,8 @@ def get_reference_details(reference_doctype, reference_name, party_account_curre
"due_date": ref_doc.get("due_date"),
"total_amount": total_amount,
"outstanding_amount": outstanding_amount,
"exchange_rate": exchange_rate
"exchange_rate": exchange_rate,
"bill_no": bill_no
})
@@ -890,6 +912,11 @@ def get_payment_entry(dt, dn, party_amount=None, bank_account=None, bank_amount=
pe.allocate_payment_amount = 1
pe.letter_head = doc.get("letter_head")
if pe.party_type in ["Customer", "Supplier"]:
bank_account = get_party_bank_account(pe.party_type, pe.party)
pe.set("bank_account", bank_account)
pe.set_bank_account_data()
# only Purchase Invoice can be blocked individually
if doc.doctype == "Purchase Invoice" and doc.invoice_is_blocked():
frappe.msgprint(_('{0} is on hold till {1}'.format(doc.name, doc.release_date)))
@@ -933,7 +960,7 @@ def get_paid_amount(dt, dn, party_type, party, account, due_date):
return paid_amount[0][0] if paid_amount else 0
@frappe.whitelist()
def get_party_and_account_balance(company, date, paid_from, paid_to=None, ptype=None, pty=None, cost_center=None):
def get_party_and_account_balance(company, date, paid_from=None, paid_to=None, ptype=None, pty=None, cost_center=None):
return frappe._dict({
"party_balance": get_balance_on(party_type=ptype, party=pty, cost_center=cost_center),
"paid_from_account_balance": get_balance_on(paid_from, date, cost_center=cost_center),

View File

@@ -1,5 +1,7 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 0,
@@ -11,16 +13,21 @@
"editable_grid": 1,
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "account",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Account",
"length": 0,
"no_copy": 0,
@@ -30,23 +37,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "cost_center",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Cost Center",
"length": 0,
"no_copy": 0,
@@ -56,23 +70,30 @@
"print_hide": 1,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "amount",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Amount",
"length": 0,
"no_copy": 0,
@@ -81,24 +102,26 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2018-02-21 03:28:03.420683",
"modified": "2019-01-07 16:52:07.040146",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Entry Deduction",
@@ -108,7 +131,10 @@
"quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_seen": 0
"track_changes": 0,
"track_seen": 0,
"track_views": 0
}

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
@@ -14,6 +15,7 @@
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -41,10 +43,12 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -72,10 +76,12 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -102,10 +108,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -133,10 +141,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -162,10 +172,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -192,10 +204,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -222,10 +236,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -252,10 +268,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -283,6 +301,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
@@ -296,7 +315,7 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2017-10-16 17:37:01.192312",
"modified": "2019-01-07 16:52:06.884796",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Entry Reference",
@@ -310,5 +329,6 @@
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
}
"track_seen": 0,
"track_views": 0
}

View File

@@ -1,3 +1,4 @@
from __future__ import unicode_literals
from frappe import _
def get_data():

View File

@@ -1,23 +1,34 @@
{
"allow_copy": 1,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 0,
"creation": "2014-07-09 12:04:51.681583",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "",
"editable_grid": 0,
"engine": "InnoDB",
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "company",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Company",
"length": 0,
"no_copy": 0,
@@ -26,22 +37,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "party_type",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Party Type",
"length": 0,
"no_copy": 0,
@@ -50,23 +69,31 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "",
"fieldname": "party",
"fieldtype": "Dynamic Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Party",
"length": 0,
"no_copy": 0,
@@ -75,22 +102,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "receivable_payable_account",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Receivable / Payable Account",
"length": 0,
"no_copy": 0,
@@ -100,22 +135,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "bank_cash_account",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Bank / Cash Account",
"length": 0,
"no_copy": 0,
@@ -124,22 +167,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "col_break1",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "",
"length": 0,
"no_copy": 0,
@@ -147,22 +198,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "from_date",
"fieldtype": "Date",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "From Invoice Date",
"length": 0,
"no_copy": 0,
@@ -170,22 +229,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "to_date",
"fieldtype": "Date",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "To Invoice Date",
"length": 0,
"no_copy": 0,
@@ -193,22 +260,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "minimum_amount",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Minimum Invoice Amount",
"length": 0,
"no_copy": 0,
@@ -216,22 +291,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "maximum_amount",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Maximum Invoice Amount",
"length": 0,
"no_copy": 0,
@@ -239,22 +322,63 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "System will fetch all the entries if limit value is zero.",
"fieldname": "limit",
"fieldtype": "Int",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Limit",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "get_unreconciled_entries",
"fieldtype": "Button",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Get Unreconciled Entries",
"length": 0,
"no_copy": 0,
@@ -262,22 +386,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "sec_break1",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Unreconciled Payment Details",
"length": 0,
"no_copy": 0,
@@ -285,22 +417,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "payments",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Payments",
"length": 0,
"no_copy": 0,
@@ -309,22 +449,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "reconcile",
"fieldtype": "Button",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Reconcile",
"length": 0,
"no_copy": 0,
@@ -332,22 +480,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "sec_break2",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Invoice/Journal Entry Details",
"length": 0,
"no_copy": 0,
@@ -355,22 +511,30 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "invoices",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Invoices",
"length": 0,
"no_copy": 0,
@@ -379,25 +543,28 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 1,
"icon": "fa fa-resize-horizontal",
"icon": "icon-resize-horizontal",
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 0,
"issingle": 1,
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
"modified": "2016-01-04 02:26:58.807921",
"modified": "2019-01-15 17:42:21.135214",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Reconciliation",
@@ -406,7 +573,6 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@@ -426,7 +592,6 @@
},
{
"amend": 0,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@@ -445,8 +610,13 @@
"write": 1
}
],
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC"
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0,
"track_views": 0
}

View File

@@ -13,20 +13,20 @@ class PaymentReconciliation(Document):
def get_unreconciled_entries(self):
self.get_nonreconciled_payment_entries()
self.get_invoice_entries()
def get_nonreconciled_payment_entries(self):
self.check_mandatory_to_fetch()
payment_entries = self.get_payment_entries()
journal_entries = self.get_jv_entries()
self.add_payment_entries(payment_entries + journal_entries)
def get_payment_entries(self):
order_doctype = "Sales Order" if self.party_type=="Customer" else "Purchase Order"
payment_entries = get_advance_payment_entries(self.party_type, self.party,
self.receivable_payable_account, order_doctype, against_all_orders=True)
payment_entries = get_advance_payment_entries(self.party_type, self.party,
self.receivable_payable_account, order_doctype, against_all_orders=True, limit=self.limit)
return payment_entries
def get_jv_entries(self):
@@ -36,10 +36,12 @@ class PaymentReconciliation(Document):
bank_account_condition = "t2.against_account like %(bank_cash_account)s" \
if self.bank_cash_account else "1=1"
limit_cond = "limit %s" % self.limit if self.limit else ""
journal_entries = frappe.db.sql("""
select
"Journal Entry" as reference_type, t1.name as reference_name,
t1.posting_date, t1.remark as remarks, t2.name as reference_row,
"Journal Entry" as reference_type, t1.name as reference_name,
t1.posting_date, t1.remark as remarks, t2.name as reference_row,
{dr_or_cr} as amount, t2.is_advance
from
`tabJournal Entry` t1, `tabJournal Entry Account` t2
@@ -47,18 +49,19 @@ class PaymentReconciliation(Document):
t1.name = t2.parent and t1.docstatus = 1 and t2.docstatus = 1
and t2.party_type = %(party_type)s and t2.party = %(party)s
and t2.account = %(account)s and {dr_or_cr} > 0
and (t2.reference_type is null or t2.reference_type = '' or
(t2.reference_type in ('Sales Order', 'Purchase Order')
and (t2.reference_type is null or t2.reference_type = '' or
(t2.reference_type in ('Sales Order', 'Purchase Order')
and t2.reference_name is not null and t2.reference_name != ''))
and (CASE
WHEN t1.voucher_type in ('Debit Note', 'Credit Note')
THEN 1=1
ELSE {bank_account_condition}
END)
order by t1.posting_date
order by t1.posting_date {limit_cond}
""".format(**{
"dr_or_cr": dr_or_cr,
"bank_account_condition": bank_account_condition,
"limit_cond": limit_cond
}), {
"party_type": self.party_type,
"party": self.party,
@@ -82,6 +85,9 @@ class PaymentReconciliation(Document):
non_reconciled_invoices = get_outstanding_invoices(self.party_type, self.party,
self.receivable_payable_account, condition=condition)
if self.limit:
non_reconciled_invoices = non_reconciled_invoices[:self.limit]
self.add_invoice_entries(non_reconciled_invoices)
def add_invoice_entries(self, non_reconciled_invoices):
@@ -106,7 +112,7 @@ class PaymentReconciliation(Document):
self.validate_invoice()
dr_or_cr = ("credit_in_account_currency"
if erpnext.get_party_account_type(self.party_type) == 'Receivable' else "debit_in_account_currency")
lst = []
for e in self.get('payments'):
if e.invoice_number and e.allocated_amount:
@@ -124,11 +130,11 @@ class PaymentReconciliation(Document):
'unadjusted_amount' : flt(e.amount),
'allocated_amount' : flt(e.allocated_amount)
}))
if lst:
from erpnext.accounts.utils import reconcile_against_document
reconcile_against_document(lst)
msgprint(_("Successfully Reconciled"))
self.get_unreconciled_entries()

View File

@@ -1,5 +1,7 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 0,
@@ -11,6 +13,8 @@
"editable_grid": 1,
"fields": [
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -21,6 +25,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Reference Type",
@@ -36,9 +41,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -49,6 +57,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Reference Name",
@@ -65,9 +74,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -78,6 +90,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Posting Date",
@@ -92,9 +105,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -105,6 +121,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Is Advance",
@@ -119,9 +136,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -132,6 +152,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Reference Row",
@@ -146,9 +167,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -159,6 +183,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "",
@@ -173,9 +198,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -186,6 +214,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Invoice Number",
@@ -201,9 +230,12 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -214,6 +246,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Amount",
@@ -228,9 +261,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -241,6 +277,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Allocated amount",
@@ -256,9 +293,12 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -269,6 +309,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "",
@@ -283,9 +324,12 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
},
{
"allow_bulk_edit": 0,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -296,6 +340,7 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Remark",
@@ -310,21 +355,22 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
"unique": 0
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"menu_index": 0,
"modified": "2017-01-30 01:04:22.557237",
"modified": "2019-01-07 16:52:07.567027",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Reconciliation Payment",
@@ -334,8 +380,10 @@
"quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 0,
"track_seen": 0
"track_seen": 0,
"track_views": 0
}

View File

@@ -54,7 +54,7 @@ frappe.ui.form.on("Payment Request", "is_a_subscription", function(frm) {
frm.toggle_reqd("payment_gateway_account", frm.doc.is_a_subscription);
frm.toggle_reqd("subscription_plans", frm.doc.is_a_subscription);
if (frm.doc.is_a_subscription) {
if (frm.doc.is_a_subscription && frm.doc.reference_doctype && frm.doc.reference_name) {
frappe.call({
method: "erpnext.accounts.doctype.payment_request.payment_request.get_subscription_details",
args: {"reference_doctype": frm.doc.reference_doctype, "reference_name": frm.doc.reference_name},

View File

@@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_events_in_timeline": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
@@ -425,7 +426,7 @@
"no_copy": 0,
"options": "currency",
"permlevel": 0,
"precision": "2",
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
@@ -1501,7 +1502,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2018-09-06 14:44:43.563367",
"modified": "2019-02-18 18:52:34.203239",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Request",

View File

@@ -123,7 +123,7 @@ class PaymentRequest(Document):
"reference_doctype": "Payment Request",
"reference_docname": self.name,
"payer_email": self.email_to or frappe.session.user,
"payer_name": data.customer_name,
"payer_name": frappe.safe_encode(data.customer_name),
"order_id": self.name,
"currency": self.currency
})
@@ -214,9 +214,10 @@ class PaymentRequest(Document):
def check_if_payment_entry_exists(self):
if self.status == "Paid":
payment_entry = frappe.db.sql_list("""select parent from `tabPayment Entry Reference`
where reference_name=%s""", self.reference_name)
if payment_entry:
if frappe.get_all("Payment Entry Reference",
filters={"reference_name": self.reference_name, "docstatus": ["<", 2]},
fields=["parent"],
limit=1):
frappe.throw(_("Payment Entry already exists"), title=_('Error'))
def make_communication_entry(self):

View File

@@ -8,5 +8,6 @@ frappe.ui.form.on('Payment Terms Template', {
frm.add_fetch("payment_term", "due_date_based_on", "due_date_based_on");
frm.add_fetch("payment_term", "credit_days", "credit_days");
frm.add_fetch("payment_term", "credit_months", "credit_months");
frm.add_fetch("payment_term", "mode_of_payment", "mode_of_payment");
}
});

View File

@@ -70,12 +70,14 @@ class PeriodClosingVoucher(AccountsController):
net_pl_balance += flt(acc.balance_in_company_currency)
if net_pl_balance:
cost_center = frappe.db.get_value("Company", self.company, "cost_center")
gl_entries.append(self.get_gl_dict({
"account": self.closing_account_head,
"debit_in_account_currency": abs(net_pl_balance) if net_pl_balance > 0 else 0,
"debit": abs(net_pl_balance) if net_pl_balance > 0 else 0,
"credit_in_account_currency": abs(net_pl_balance) if net_pl_balance < 0 else 0,
"credit": abs(net_pl_balance) if net_pl_balance < 0 else 0
"credit": abs(net_pl_balance) if net_pl_balance < 0 else 0,
"cost_center": cost_center
}))
from erpnext.accounts.general_ledger import make_gl_entries

View File

@@ -72,6 +72,7 @@ class TestPeriodClosingVoucher(unittest.TestCase):
"company": "_Test Company",
"fiscal_year": get_fiscal_year(today(), company="_Test Company")[0],
"posting_date": today(),
"cost_center": "_Test Cost Center - _TC",
"remarks": "test"
})
pcv.insert()

View File

@@ -33,15 +33,37 @@ frappe.ui.form.on('POS Profile', {
};
});
frm.set_query("account_for_change_amount", function() {
return {
filters: {
account_type: ['in', ["Cash", "Bank"]]
}
};
});
frm.set_query("print_format", function() {
return { filters: { doc_type: "Sales Invoice", print_format_type: "Js"} };
});
frappe.db.get_value('POS Settings', {name: 'POS Settings'}, 'use_pos_in_offline_mode', (r) => {
is_offline = r && cint(r.use_pos_in_offline_mode)
frappe.db.get_value('POS Settings', 'POS Settings', 'use_pos_in_offline_mode', (r) => {
const is_offline = r && cint(r.use_pos_in_offline_mode)
frm.toggle_display('offline_pos_section', is_offline);
frm.toggle_display('print_format_for_online', !is_offline);
});
frm.set_query('company_address', function(doc) {
if(!doc.company) {
frappe.throw(__('Please set Company'));
}
return {
query: 'frappe.contacts.doctype.address.address.address_query',
filters: {
link_doctype: 'Company',
link_name: doc.company
}
};
});
},
refresh: function(frm) {
@@ -49,11 +71,11 @@ frappe.ui.form.on('POS Profile', {
frm.trigger("toggle_display_account_head");
}
},
company: function(frm) {
frm.trigger("toggle_display_account_head");
},
toggle_display_account_head: function(frm) {
frm.toggle_display('expense_account',
erpnext.is_perpetual_inventory_enabled(frm.doc.company));

File diff suppressed because it is too large Load Diff

View File

@@ -127,25 +127,26 @@ def pos_profile_query(doctype, txt, searchfield, start, page_len, filters):
'txt': '%%%s%%' % txt
}
pos_profile = frappe.db.sql("""select pf.name, pf.pos_profile_name
pos_profile = frappe.db.sql("""select pf.name
from
`tabPOS Profile` pf, `tabPOS Profile User` pfu
where
pfu.parent = pf.name and pfu.user = %(user)s and pf.company = %(company)s
and (pf.name like %(txt)s or pf.pos_profile_name like %(txt)s)
and (pf.name like %(txt)s)
and pf.disabled = 0 limit %(start)s, %(page_len)s""", args)
if not pos_profile:
del args['user']
pos_profile = frappe.db.sql("""select pf.name, pf.pos_profile_name
pos_profile = frappe.db.sql("""select pf.name
from
`tabPOS Profile` pf left join `tabPOS Profile User` pfu
on
pf.name = pfu.parent
where
ifnull(pfu.user, '') = '' and pf.company = %(company)s and
(pf.name like %(txt)s or pf.pos_profile_name like %(txt)s)
ifnull(pfu.user, '') = ''
and pf.company = %(company)s
and pf.name like %(txt)s
and pf.disabled = 0""", args)
return pos_profile

View File

@@ -40,7 +40,6 @@ def make_pos_profile():
"expense_account": "_Test Account Cost for Goods Sold - _TC",
"income_account": "Sales - _TC",
"name": "_Test POS Profile",
"pos_profile_name": "_Test POS Profile",
"naming_series": "_T-POS Profile-",
"selling_price_list": "_Test Price List",
"territory": "_Test Territory",

View File

@@ -196,13 +196,14 @@ def get_pricing_rule_for_item(args):
pricing_rule_rate = 0.0
if pricing_rule.currency == args.currency:
pricing_rule_rate = pricing_rule.rate
item_details.update({
"price_list_rate": pricing_rule_rate,
"price_list_rate": pricing_rule_rate * args.get("conversion_factor"),
"discount_percentage": 0.0
})
else:
item_details.discount_percentage = pricing_rule.discount_percentage or args.discount_percentage
item_details.discount_percentage = (pricing_rule.get('discount_percentage', 0)
if pricing_rule else args.discount_percentage)
elif args.get('pricing_rule'):
item_details = remove_pricing_rule_for_item(args.get("pricing_rule"), item_details)
@@ -393,4 +394,4 @@ def make_pricing_rule(doctype, docname):
doc.selling = 1 if doctype == "Customer" else 0
doc.buying = 1 if doctype == "Supplier" else 0
return doc
return doc

View File

@@ -11,12 +11,16 @@ from erpnext.stock.get_item_details import get_item_details
from frappe import MandatoryError
class TestPricingRule(unittest.TestCase):
def setUp(self):
frappe.db.sql("delete from `tabPricing Rule`")
def tearDown(self):
frappe.db.sql("delete from `tabPricing Rule`")
def test_pricing_rule_for_discount(self):
from erpnext.stock.get_item_details import get_item_details
from frappe import MandatoryError
frappe.db.sql("delete from `tabPricing Rule`")
test_record = {
"doctype": "Pricing Rule",
"title": "_Test Pricing Rule",
@@ -87,16 +91,12 @@ class TestPricingRule(unittest.TestCase):
args.item_code = "_Test Item 2"
details = get_item_details(args)
self.assertEqual(details.get("discount_percentage"), 15)
frappe.db.sql("delete from `tabPricing Rule`")
self.assertEquals(details.get("discount_percentage"), 15)
def test_pricing_rule_for_margin(self):
from erpnext.stock.get_item_details import get_item_details
from frappe import MandatoryError
frappe.db.sql("delete from `tabPricing Rule`")
test_record = {
"doctype": "Pricing Rule",
"title": "_Test Pricing Rule",
@@ -111,14 +111,14 @@ class TestPricingRule(unittest.TestCase):
"company": "_Test Company"
}
frappe.get_doc(test_record.copy()).insert()
item_price = frappe.get_doc({
"doctype": "Item Price",
"price_list": "_Test Price List 2",
"item_code": "_Test FG Item 2",
"price_list_rate": 100
})
item_price.insert(ignore_permissions=True)
args = frappe._dict({
@@ -135,17 +135,13 @@ class TestPricingRule(unittest.TestCase):
"name": None
})
details = get_item_details(args)
self.assertEqual(details.get("margin_type"), "Percentage")
self.assertEqual(details.get("margin_rate_or_amount"), 10)
frappe.db.sql("delete from `tabPricing Rule`")
self.assertEquals(details.get("margin_type"), "Percentage")
self.assertEquals(details.get("margin_rate_or_amount"), 10)
def test_pricing_rule_for_variants(self):
from erpnext.stock.get_item_details import get_item_details
from frappe import MandatoryError
frappe.db.sql("delete from `tabPricing Rule`")
if not frappe.db.exists("Item", "Test Variant PRT"):
frappe.get_doc({
"doctype": "Item",
@@ -213,8 +209,6 @@ class TestPricingRule(unittest.TestCase):
self.assertEqual(details.get("discount_percentage"), 17.5)
def test_pricing_rule_for_stock_qty(self):
frappe.db.sql("delete from `tabPricing Rule`")
test_record = {
"doctype": "Pricing Rule",
"title": "_Test Pricing Rule",
@@ -258,24 +252,18 @@ class TestPricingRule(unittest.TestCase):
def test_pricing_rule_with_margin_and_discount(self):
frappe.delete_doc_if_exists('Pricing Rule', '_Test Pricing Rule')
make_pricing_rule(selling=1, margin_type="Percentage", margin_rate_or_amount=10)
make_pricing_rule(selling=1, margin_type="Percentage", margin_rate_or_amount=10, discount_percentage=10)
si = create_sales_invoice(do_not_save=True)
si.items[0].price_list_rate = 1000
si.payment_schedule = []
si.insert(ignore_permissions=True)
item = si.items[0]
self.assertEqual(item.rate, 1100)
self.assertEqual(item.margin_rate_or_amount, 10)
# With discount
item.discount_percentage = 10
si.payment_schedule = []
si.save()
item = si.items[0]
self.assertEqual(item.rate, 990)
self.assertEquals(item.margin_rate_or_amount, 10)
self.assertEquals(item.rate_with_margin, 1100)
self.assertEqual(item.discount_percentage, 10)
frappe.db.sql("delete from `tabPricing Rule`")
self.assertEquals(item.discount_amount, 110)
self.assertEquals(item.rate, 990)
def make_pricing_rule(**args):
args = frappe._dict(args)
@@ -305,4 +293,4 @@ def make_pricing_rule(**args):
applicable_for = doc.applicable_for.replace(' ', '_').lower()
if args.get(applicable_for):
doc.db_set(applicable_for, args.get(applicable_for))
doc.db_set(applicable_for, args.get(applicable_for))

View File

@@ -9,9 +9,12 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({
this.setup_posting_date_time_check();
this._super(doc);
// formatter for material request item
this.frm.set_indicator_formatter('item_code',
function(doc) { return (doc.qty<=doc.received_qty) ? "green" : "orange" })
// formatter for purchase invoice item
if(this.frm.doc.update_stock) {
this.frm.set_indicator_formatter('item_code', function(doc) {
return (doc.qty<=doc.received_qty) ? "green" : "orange";
});
}
},
onload: function() {
this._super();
@@ -282,6 +285,7 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({
is_paid: function() {
hide_fields(this.frm.doc);
if(cint(this.frm.doc.is_paid)) {
this.frm.set_value("allocate_advances_automatically", 0);
if(!this.frm.doc.company) {
this.frm.set_value("is_paid", 0)
frappe.msgprint(__("Please specify Company to proceed"));
@@ -465,7 +469,7 @@ cur_frm.fields_dict["items"].grid.get_field("cost_center").get_query = function(
cur_frm.cscript.cost_center = function(doc, cdt, cdn){
var d = locals[cdt][cdn];
if(d.idx == 1 && d.cost_center){
if(d.cost_center){
var cl = doc.items || [];
for(var i = 0; i < cl.length; i++){
if(!cl[i].cost_center) cl[i].cost_center = d.cost_center;
@@ -507,32 +511,30 @@ frappe.ui.form.on("Purchase Invoice", {
}
}
}
frm.set_query("cost_center", function() {
return {
filters: {
company: frm.doc.company,
is_group: 0
}
};
});
},
onload: function(frm) {
if(frm.doc.__onload && !frm.doc.__onload.supplier_tds) {
me.frm.set_df_property("apply_tds", "read_only", 1);
if(frm.doc.__onload) {
if(frm.doc.supplier) {
frm.doc.apply_tds = frm.doc.__onload.supplier_tds ? 1 : 0;
}
if(!frm.doc.__onload.supplier_tds) {
frm.set_df_property("apply_tds", "read_only", 1);
}
}
$.each(["warehouse", "rejected_warehouse"], function(i, field) {
frm.set_query(field, "items", function() {
return {
filters: [
["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
["Warehouse", "is_group", "=", 0]
]
}
})
})
frm.set_query("supplier_warehouse", function() {
return {
filters: [
["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
["Warehouse", "is_group", "=", 0]
]
}
})
erpnext.queries.setup_queries(frm, "Warehouse", function() {
return erpnext.queries.warehouse(frm.doc);
});
},
is_subcontracted: function(frm) {

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,14 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import frappe, erpnext
from frappe.utils import cint, cstr, formatdate, flt, getdate, nowdate
from frappe import _, throw
import frappe.defaults
from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account
from erpnext.controllers.buying_controller import BuyingController
from erpnext.accounts.party import get_party_account, get_due_date
from erpnext.accounts.utils import get_account_currency, get_fiscal_year
@@ -16,7 +18,7 @@ from erpnext.accounts.general_ledger import make_gl_entries, merge_similar_entri
from erpnext.accounts.doctype.gl_entry.gl_entry import update_outstanding_amt
from erpnext.buying.utils import check_for_closed_status
from erpnext.accounts.general_ledger import get_round_off_account_and_cost_center
from erpnext.assets.doctype.asset.asset import get_asset_account
from erpnext.assets.doctype.asset.asset import get_asset_account, is_cwip_accounting_disabled
from frappe.model.mapper import get_mapped_doc
from six import iteritems
from erpnext.accounts.doctype.sales_invoice.sales_invoice import validate_inter_company_party, update_linked_invoice,\
@@ -45,6 +47,7 @@ class PurchaseInvoice(BuyingController):
}]
def onload(self):
super(PurchaseInvoice, self).onload()
supplier_tds = frappe.db.get_value("Supplier", self.supplier, "tax_withholding_category")
self.set_onload("supplier_tds", supplier_tds)
@@ -52,6 +55,7 @@ class PurchaseInvoice(BuyingController):
if not self.on_hold:
self.release_date = ''
def invoice_is_blocked(self):
return self.on_hold and (not self.release_date or self.release_date > getdate(nowdate()))
@@ -61,11 +65,11 @@ class PurchaseInvoice(BuyingController):
self.validate_posting_time()
super(PurchaseInvoice, self).validate()
# apply tax withholding only if checked and applicable
self.set_tax_withholding()
super(PurchaseInvoice, self).validate()
if not self.is_return:
self.po_required()
self.pr_required()
@@ -123,6 +127,7 @@ class PurchaseInvoice(BuyingController):
def set_missing_values(self, for_validate=False):
if not self.credit_to:
self.credit_to = get_party_account("Supplier", self.supplier, self.company)
self.party_account_currency = frappe.db.get_value("Account", self.credit_to, "account_currency", cache=True)
if not self.due_date:
self.due_date = get_due_date(self.posting_date, "Supplier", self.supplier, self.company, self.bill_date)
@@ -205,10 +210,15 @@ class PurchaseInvoice(BuyingController):
stock_not_billed_account = self.get_company_default("stock_received_but_not_billed")
stock_items = self.get_stock_items()
asset_items = [d.is_fixed_asset for d in self.items if d.is_fixed_asset]
if len(asset_items) > 0:
asset_received_but_not_billed = self.get_company_default("asset_received_but_not_billed")
if self.update_stock:
self.validate_item_code()
self.validate_warehouse()
warehouse_account = get_warehouse_account_map()
if auto_accounting_for_stock:
warehouse_account = get_warehouse_account_map(self.company)
for item in self.get("items"):
# in case of auto inventory accounting,
@@ -224,7 +234,15 @@ class PurchaseInvoice(BuyingController):
item.expense_account = warehouse_account[item.warehouse]["account"]
else:
item.expense_account = stock_not_billed_account
elif item.is_fixed_asset and is_cwip_accounting_disabled():
if not item.asset:
frappe.throw(_("Row {0}: asset is required for item {1}")
.format(item.idx, item.item_code))
item.expense_account = get_asset_category_account(item.asset, 'fixed_asset_account',
company = self.company)
elif item.is_fixed_asset and item.pr_detail:
item.expense_account = asset_received_but_not_billed
elif not item.expense_account and for_validate:
throw(_("Expense account is mandatory for item {0}").format(item.item_code or item.item_name))
@@ -351,21 +369,27 @@ class PurchaseInvoice(BuyingController):
if repost_future_gle and cint(self.update_stock) and self.auto_accounting_for_stock:
from erpnext.controllers.stock_controller import update_gl_entries_after
items, warehouses = self.get_items_and_warehouses()
update_gl_entries_after(self.posting_date, self.posting_time, warehouses, items)
update_gl_entries_after(self.posting_date, self.posting_time,
warehouses, items, company = self.company)
elif self.docstatus == 2 and cint(self.update_stock) and self.auto_accounting_for_stock:
delete_gl_entries(voucher_type=self.doctype, voucher_no=self.name)
def get_gl_entries(self, warehouse_account=None):
self.auto_accounting_for_stock = erpnext.is_perpetual_inventory_enabled(self.company)
self.stock_received_but_not_billed = self.get_company_default("stock_received_but_not_billed")
if self.auto_accounting_for_stock:
self.stock_received_but_not_billed = self.get_company_default("stock_received_but_not_billed")
else:
self.stock_received_but_not_billed = None
self.expenses_included_in_valuation = self.get_company_default("expenses_included_in_valuation")
self.negative_expense_to_be_booked = 0.0
gl_entries = []
self.make_supplier_gl_entry(gl_entries)
self.make_item_gl_entries(gl_entries)
self.get_asset_gl_entry(gl_entries)
if not is_cwip_accounting_disabled():
self.get_asset_gl_entry(gl_entries)
self.make_tax_gl_entries(gl_entries)
gl_entries = merge_similar_entries(gl_entries)
@@ -377,7 +401,10 @@ class PurchaseInvoice(BuyingController):
return gl_entries
def make_supplier_gl_entry(self, gl_entries):
grand_total = self.rounded_total or self.grand_total
# Checked both rounding_adjustment and rounded_total
# because rounded_total had value even before introcution of posting GLE based on rounded total
grand_total = self.rounded_total if (self.rounding_adjustment and self.rounded_total) else self.grand_total
if grand_total:
# Didnot use base_grand_total to book rounding loss gle
grand_total_in_company_currency = flt(grand_total * self.conversion_rate,
@@ -401,7 +428,8 @@ class PurchaseInvoice(BuyingController):
# item gl entries
stock_items = self.get_stock_items()
expenses_included_in_valuation = self.get_company_default("expenses_included_in_valuation")
warehouse_account = get_warehouse_account_map()
if self.update_stock and self.auto_accounting_for_stock:
warehouse_account = get_warehouse_account_map(self.company)
voucher_wise_stock_value = {}
if self.update_stock:
@@ -453,7 +481,7 @@ class PurchaseInvoice(BuyingController):
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
"credit": flt(item.rm_supp_cost)
}, warehouse_account[self.supplier_warehouse]["account_currency"]))
elif not item.is_fixed_asset:
elif not item.is_fixed_asset or (item.is_fixed_asset and is_cwip_accounting_disabled()):
gl_entries.append(
self.get_gl_dict({
"account": item.expense_account if not item.enable_deferred_expense else item.deferred_expense_account,
@@ -498,7 +526,7 @@ class PurchaseInvoice(BuyingController):
base_asset_amount = flt(item.base_net_amount + item.item_tax_amount)
if (not item.expense_account or frappe.db.get_value('Account',
item.expense_account, 'account_type') != 'Asset Received But Not Billed'):
item.expense_account, 'account_type') not in ['Asset Received But Not Billed', 'Fixed Asset']):
arbnb_account = self.get_company_default("asset_received_but_not_billed")
item.expense_account = arbnb_account
@@ -761,9 +789,8 @@ class PurchaseInvoice(BuyingController):
for d in self.items:
if d.project and d.project not in project_list:
project = frappe.get_doc("Project", d.project)
project.flags.dont_sync_tasks = True
project.update_purchase_costing()
project.save()
project.db_update()
project_list.append(d.project)
def validate_supplier_invoice(self):
@@ -824,6 +851,10 @@ class PurchaseInvoice(BuyingController):
return
tax_withholding_details = get_party_tax_withholding_details(self)
if not tax_withholding_details:
return
accounts = []
for d in self.taxes:
if d.account_head == tax_withholding_details.get("account_head"):
@@ -833,6 +864,15 @@ class PurchaseInvoice(BuyingController):
if not accounts or tax_withholding_details.get("account_head") not in accounts:
self.append("taxes", tax_withholding_details)
to_remove = [d for d in self.taxes
if not d.tax_amount and d.account_head == tax_withholding_details.get("account_head")]
for d in to_remove:
self.remove(d)
# calculate totals again after applying TDS
self.calculate_taxes_and_totals()
@frappe.whitelist()
def make_debit_note(source_name, target_doc=None):
from erpnext.controllers.sales_and_purchase_return import make_return_doc
@@ -850,7 +890,8 @@ def make_stock_entry(source_name, target_doc=None):
"Purchase Invoice Item": {
"doctype": "Stock Entry Detail",
"field_map": {
"stock_qty": "transfer_qty"
"stock_qty": "transfer_qty",
"batch_no": "batch_no"
},
}
}, target_doc)

View File

@@ -1,3 +1,4 @@
from __future__ import unicode_literals
from frappe import _
def get_data():

View File

@@ -344,6 +344,7 @@ class TestPurchaseInvoice(unittest.TestCase):
pi = frappe.copy_doc(test_records[0])
pi.disable_rounded_total = 1
pi.allocate_advances_automatically = 0
pi.append("advances", {
"reference_type": "Journal Entry",
"reference_name": jv.name,
@@ -383,6 +384,7 @@ class TestPurchaseInvoice(unittest.TestCase):
pi = frappe.copy_doc(test_records[0])
pi.disable_rounded_total = 1
pi.allocate_advances_automatically = 0
pi.append("advances", {
"reference_type": "Journal Entry",
"reference_name": jv.name,
@@ -551,7 +553,7 @@ class TestPurchaseInvoice(unittest.TestCase):
sum(credit) as credit, debit_in_account_currency, credit_in_account_currency
from `tabGL Entry` where voucher_type='Purchase Invoice' and voucher_no=%s
group by account, voucher_no order by account asc;""", pi.name, as_dict=1)
stock_in_hand_account = get_inventory_account(pi.company, pi.get("items")[0].warehouse)
self.assertTrue(gl_entries)
@@ -634,7 +636,7 @@ class TestPurchaseInvoice(unittest.TestCase):
self.assertEqual(frappe.db.get_value("Serial No", pi.get("items")[0].rejected_serial_no,
"warehouse"), pi.get("items")[0].rejected_warehouse)
def test_outstanding_amount_after_advance_jv_cancelation(self):
from erpnext.accounts.doctype.journal_entry.test_journal_entry \
import test_records as jv_test_records
@@ -656,14 +658,14 @@ class TestPurchaseInvoice(unittest.TestCase):
pi.insert()
pi.submit()
pi.load_from_db()
#check outstanding after advance allocation
self.assertEqual(flt(pi.outstanding_amount), flt(pi.rounded_total - pi.total_advance))
#added to avoid Document has been modified exception
jv = frappe.get_doc("Journal Entry", jv.name)
jv.cancel()
pi.load_from_db()
#check outstanding after advance cancellation
self.assertEqual(flt(pi.outstanding_amount), flt(pi.rounded_total + pi.total_advance))
@@ -722,7 +724,7 @@ class TestPurchaseInvoice(unittest.TestCase):
shipping_rule = create_shipping_rule(shipping_rule_type = "Buying", shipping_rule_name = "Shipping Rule - Purchase Invoice Test")
pi = frappe.copy_doc(test_records[0])
pi.shipping_rule = shipping_rule.name
pi.insert()
@@ -740,14 +742,14 @@ class TestPurchaseInvoice(unittest.TestCase):
"tax_amount": shipping_amount,
"description": shipping_rule.name,
"add_deduct_tax": "Add"
}
}
pi.append("taxes", shipping_charge)
pi.save()
self.assertEqual(pi.net_total, 1250)
self.assertEqual(pi.total_taxes_and_charges, 462.3)
self.assertEqual(pi.grand_total, 1712.3)
self.assertEqual(pi.grand_total, 1712.3)
def test_make_pi_without_terms(self):
pi = make_purchase_invoice(do_not_save=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 json
@@ -55,6 +54,7 @@ def get_pos_data():
'barcode_data': get_barcode_data(items_list),
'tax_data': get_item_tax_data(),
'price_list_data': get_price_list_data(doc.selling_price_list),
'customer_wise_price_list': get_customer_wise_price_list(),
'bin_data': get_bin_data(pos_profile),
'pricing_rules': get_pricing_rule_data(doc),
'print_template': print_template,
@@ -165,9 +165,12 @@ def get_items_list(pos_profile, company):
select
i.name, i.item_code, i.item_name, i.description, i.item_group, i.has_batch_no,
i.has_serial_no, i.is_stock_item, i.brand, i.stock_uom, i.image,
id.expense_account, id.selling_cost_center, id.default_warehouse
id.expense_account, id.selling_cost_center, id.default_warehouse,
i.sales_uom, c.conversion_factor
from
`tabItem` i LEFT JOIN `tabItem Default` id ON id.parent = i.name and id.company = %s
`tabItem` i
left join `tabItem Default` id on id.parent = i.name and id.company = %s
left join `tabUOM Conversion Detail` c on i.name = c.parent and i.sales_uom = c.uom
where
i.disabled = 0 and i.has_variants = 0 and i.is_sales_item = 1
{cond}
@@ -247,10 +250,12 @@ def get_serial_no_data(pos_profile, company):
cond = "1=1"
if pos_profile.get('update_stock') and pos_profile.get('warehouse'):
cond = "warehouse = '{0}'".format(pos_profile.get('warehouse'))
cond = "warehouse = %(warehouse)s"
serial_nos = frappe.db.sql("""select name, warehouse, item_code from `tabSerial No` where {0}
and company = %(company)s """.format(cond), {'company': company}, as_dict=1)
serial_nos = frappe.db.sql("""select name, warehouse, item_code
from `tabSerial No` where {0} and company = %(company)s """.format(cond),{
'company': company, 'warehouse': frappe.db.escape(pos_profile.get('warehouse'))
}, as_dict=1)
itemwise_serial_no = {}
for sn in serial_nos:
@@ -323,15 +328,32 @@ def get_price_list_data(selling_price_list):
return itemwise_price_list
def get_customer_wise_price_list():
customer_wise_price = {}
customer_price_list_mapping = frappe._dict(frappe.get_all('Customer',fields = ['default_price_list', 'name'], as_list=1))
price_lists = frappe.db.sql(""" Select ifnull(price_list_rate, 0) as price_list_rate,
item_code, price_list from `tabItem Price` """, as_dict=1)
for item in price_lists:
if item.price_list and customer_price_list_mapping.get(item.price_list):
customer_wise_price.setdefault(customer_price_list_mapping.get(item.price_list),{}).setdefault(
item.item_code, item.price_list_rate
)
return customer_wise_price
def get_bin_data(pos_profile):
itemwise_bin_data = {}
cond = "1=1"
if pos_profile.get('warehouse'):
cond = "warehouse = '{0}'".format(pos_profile.get('warehouse'))
cond = "warehouse = %(warehouse)s"
bin_data = frappe.db.sql(""" select item_code, warehouse, actual_qty from `tabBin`
where actual_qty > 0 and {cond}""".format(cond=cond), as_dict=1)
where actual_qty > 0 and {cond}""".format(cond=cond), {
'warehouse': frappe.db.escape(pos_profile.get('warehouse'))
}, as_dict=1)
for bins in bin_data:
if bins.item_code not in itemwise_bin_data:
@@ -534,6 +556,7 @@ def validate_item(doc):
item_doc.item_name = item.get('item_name')
item_doc.description = item.get('description')
item_doc.stock_uom = item.get('stock_uom')
item_doc.uom = item.get('uom')
item_doc.item_group = item.get('item_group')
item_doc.append('item_defaults', {
"company": doc.get("company"),

View File

@@ -0,0 +1,38 @@
frappe.ui.form.on("Sales Invoice", {
setup: function(frm) {
frm.set_query('transporter', function() {
return {
filters: {
'is_transporter': 1
}
};
});
frm.set_query('driver', function(doc) {
return {
filters: {
'transporter': doc.transporter
}
};
});
},
refresh: function(frm) {
if(frm.doc.docstatus == 1 && !frm.is_dirty()
&& !frm.doc.is_return && !frm.doc.ewaybill) {
frm.add_custom_button('Generate e-Way Bill JSON', () => {
var w = window.open(
frappe.urllib.get_full_url(
"/api/method/erpnext.regional.india.utils.generate_ewb_json?"
+ "dt=" + encodeURIComponent(frm.doc.doctype)
+ "&dn=" + encodeURIComponent(frm.doc.name)
)
);
if (!w) {
frappe.msgprint(__("Please enable pop-ups")); return;
}
}, __("Make"));
}
}
});

View File

@@ -0,0 +1,33 @@
var globalOnload = frappe.listview_settings['Sales Invoice'].onload;
frappe.listview_settings['Sales Invoice'].onload = function (doclist) {
// Provision in case onload event is added to sales_invoice.js in future
if (globalOnload) {
globalOnload(doclist);
}
const action = () => {
const selected_docs = doclist.get_checked_items();
const docnames = doclist.get_checked_items(true);
for (let doc of selected_docs) {
if (doc.docstatus !== 1) {
frappe.throw(__("e-Way Bill JSON can only be generated from a submitted document"));
}
}
var w = window.open(
frappe.urllib.get_full_url(
"/api/method/erpnext.regional.india.utils.generate_ewb_json?"
+ "dt=" + encodeURIComponent(doclist.doctype)
+ "&dn=" + encodeURIComponent(docnames)
)
);
if (!w) {
frappe.msgprint(__("Please enable pop-ups")); return;
}
};
doclist.page.add_actions_menu_item(__('Generate e-Way Bill JSON'), action, false);
};

View File

@@ -0,0 +1,3 @@
{% include "erpnext/regional/italy/sales_invoice.js" %}
erpnext.setup_e_invoice_button('Sales Invoice')

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