diff --git a/tax_report_community/README.rst b/tax_report_community/README.rst new file mode 100644 index 000000000..c3672ea02 --- /dev/null +++ b/tax_report_community/README.rst @@ -0,0 +1,46 @@ +.. image:: https://img.shields.io/badge/license-OPL--1-blue.svg + :target: https://www.odoo.com/documentation/16.0/legal/licenses.html#odoo-apps + :alt: License: OPL-1 +Tax Report +========== +Tax Report module will generate excel and pdf tax report in Odoo 16. + +Installation +============ + - www.odoo.com/documentation/16.0/setup/install.html + - Install our custom addon + +Configuration +============= + * You need to install base_accounting_kit for using this module. + +License +------- +Odoo Proprietary License v1.0. +(https://www.odoo.com/documentation/16.0/legal/licenses.html#odoo-apps) + +Company +------- +`Cybrosys Techno Solutions `__ + +Credits +------- +`Cybrosys Techno Solutions `__ + Developer: V16 Mohammed Dilshad Tk @ cybrosys, + V14 Neethu U.M @ cybrosys, + V15 Akshay ck @cybrosys, + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com +This module is maintained by Cybrosys Technologies. +For support and more information, please visit https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ \ No newline at end of file diff --git a/tax_report_community/__init__.py b/tax_report_community/__init__.py new file mode 100644 index 000000000..6a5b117d0 --- /dev/null +++ b/tax_report_community/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Muhammed Dilshad Tk (odoo@cybrosys.com) +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +from . import models +from . import controllers diff --git a/tax_report_community/__manifest__.py b/tax_report_community/__manifest__.py new file mode 100644 index 000000000..0891bcc37 --- /dev/null +++ b/tax_report_community/__manifest__.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Muhammed Dilshad Tk (odoo@cybrosys.com) +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +{ + "name": "Tax Report", + "summary": """ Tax Report for odoo 16""", + "version": "16.0.1.0.0", + "description": """This module will generate tax report in excel and pdf""", + "author": "Cybrosys Techno Solutions", + "company": "Cybrosys Techno Solutions", + "website": "https://cybrosys.com", + "category": "Accounting", + "depends": ["base_accounting_kit", "account"], + "data": ["views/account_report_tax_views.xml"], + "assets": { + "web.assets_backend": [ + "tax_report_community/static/src/js/action_manager.js", + ], + }, + "license": "OPL-1", + "images": ["static/description/banner.png"], + "installable": True, + "auto_install": False, + "application": False, +} diff --git a/tax_report_community/controllers/__init__.py b/tax_report_community/controllers/__init__.py new file mode 100644 index 000000000..14b098945 --- /dev/null +++ b/tax_report_community/controllers/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Muhammed Dilshad Tk (odoo@cybrosys.com) +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +from . import tax_report_community diff --git a/tax_report_community/controllers/tax_report_community.py b/tax_report_community/controllers/tax_report_community.py new file mode 100644 index 000000000..c10eedf07 --- /dev/null +++ b/tax_report_community/controllers/tax_report_community.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Muhammed Dilshad Tk (odoo@cybrosys.com) +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +import json +from odoo import http +from odoo.http import content_disposition, request +from odoo.tools import html_escape +from odoo.http import serialize_exception as _serialize_exception + + +class XLSXTaxReportController(http.Controller): + """ XLSX tax report controller """ + @http.route('/tax_xlsx_reports', type='http', auth='user', methods=['POST'], + csrf=False) + def get_report_xlsx(self, model, options, output_format, report_name, **kw): + """ get xlsx report """ + uid = request.session.uid + report_obj = request.env[model].with_user(uid) + options = json.loads(options) + token = 'dummy-because-api-expects-one' + try: + if output_format == 'xlsx': + response = request.make_response( + None, + headers=[ + ('Content-Type', 'application/vnd.ms-excel'), + ('Content-Disposition', + content_disposition(report_name + '.xlsx'))]) + report_obj.get_xlsx_report(options, response) + response.set_cookie('fileToken', token) + return response + except Exception as e: + se = _serialize_exception(e) + error = { + 'code': 200, + 'message': 'Odoo Server Error', + 'data': se} + return request.make_response(html_escape(json.dumps(error))) diff --git a/tax_report_community/doc/RELEASE_NOTES.md b/tax_report_community/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..0f0a9e3de --- /dev/null +++ b/tax_report_community/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 29.11.2023 +#### Version 16.0.1.0.0 +##### ADD +- Initial commit for Tax Report diff --git a/tax_report_community/models/__init__.py b/tax_report_community/models/__init__.py new file mode 100644 index 000000000..458f3abe0 --- /dev/null +++ b/tax_report_community/models/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Muhammed Dilshad Tk (odoo@cybrosys.com) +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +from . import account_report_tax diff --git a/tax_report_community/models/account_report_tax.py b/tax_report_community/models/account_report_tax.py new file mode 100644 index 000000000..77bc8ce1b --- /dev/null +++ b/tax_report_community/models/account_report_tax.py @@ -0,0 +1,188 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Muhammed Dilshad Tk (odoo@cybrosys.com) +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +import io +import json +from odoo import api, models, _ +from odoo.tools import date_utils +from datetime import datetime +from odoo.exceptions import UserError +try: + from odoo.tools.misc import xlsxwriter +except ImportError: + import xlsxwriter + + +class AccountKitTaxReport(models.TransientModel): + """ Inherits Account Kit Tax Report""" + _inherit = 'kit.account.tax.report' + + def print_xls(self): + """Prints excel report""" + # fetches start and end date from wizard + form = {'date_from': self.date_from, + 'date_to': self.date_to, } + data = { + 'data': form, + 'lines': self.get_lines(form), + 'with_context': form + } + return { + 'type': 'ir.actions.report', + 'data': {'model': 'kit.account.tax.report', + 'options': json.dumps(data, + default=date_utils.json_default), + 'output_format': 'xlsx', + 'report_name': 'Tax report', + }, + 'report_type': 'xlsx' + } + + def get_xlsx_report(self, data, response): + """writing xlsx report values to excel sheet""" + output = io.BytesIO() + workbook = xlsxwriter.Workbook(output, {'in_memory': True}) + if not data['data']: + raise UserError( + _("Form content is missing, this report cannot be printed.")) + sheet = workbook.add_worksheet('TAX REPORT') + format1 = workbook.add_format( + {'align': 'center', 'bg_color': '#D3D3D3', 'bold': True}) + sheet.merge_range('A1:C1', 'TAX REPORT', format1) + sheet.write('A3', 'From', ) + sheet.set_column(0, 0, 50) + sheet.set_column(1, 1, 10) + sheet.set_column(2, 2, 10) + sheet.write('B3', 'To', ) + sheet.write('A4', data['data']['date_from'], ) + sheet.write('B4', data['data']['date_to'], ) + i = 6 + sheet.write('A' + str(i), 'Sale', format1) + sheet.write('B' + str(i), 'Net', format1) + sheet.write('C' + str(i), 'Tax', format1) + i += 1 + for line in data['lines']['sale']: + sheet.write('A' + str(i), line.get('name'), ) + sheet.write('B' + str(i), line.get('net'), ) + sheet.write('C' + str(i), line.get('tax'), ) + i += 1 + sheet.write('A' + str(i), 'Purchase', format1) + sheet.write('B' + str(i), 'Net', format1) + sheet.write('C' + str(i), 'Tax', format1) + i += 1 + for line in data['lines']['purchase']: + sheet.write('A' + str(i), line.get('name'), ) + sheet.write('B' + str(i), line.get('net'), ) + sheet.write('C' + str(i), line.get('tax'), ) + i += 1 + workbook.close() + output.seek(0) + response.stream.write(output.read()) + output.close() + + @api.model + def _get_report_values(self, docids, data=None): + """ Gets the report values """ + if not data.get('form'): + raise UserError( + _("Form content is missing, this report cannot be printed.")) + return { + 'data': data['form'], + 'lines': self.get_lines(data.get('form')), + } + + def _sql_from_amls_one(self): + """Taking data from account_move_line one using sql query""" + sql = """SELECT "account_move_line".tax_line_id, COALESCE(SUM + ("account_move_line".debit-"account_move_line".credit), 0) + FROM %s + WHERE %s GROUP BY "account_move_line".tax_line_id""" + return sql + + def _sql_from_amls_two(self): + """Taking data from account_move_line two using sql query""" + sql = """SELECT r.account_tax_id, COALESCE(SUM("account_move_line". + debit-"account_move_line".credit), 0) + FROM %s + INNER JOIN account_move_line_account_tax_rel r ON + ("account_move_line".id = r.account_move_line_id) + INNER JOIN account_tax t ON (r.account_tax_id = t.id) + WHERE %s GROUP BY r.account_tax_id""" + return sql + + def _compute_from_amls(self, options, taxes): + """Compute data from account_move_line's""" + # compute the tax amount + sql = self._sql_from_amls_one() + tables, where_clause, where_params = self.env[ + 'account.move.line']._query_get() + query = sql % (tables, where_clause) + self.env.cr.execute(query, where_params) + results = self.env.cr.fetchall() + for result in results: + if result[0] in taxes: + taxes[result[0]]['tax'] = abs(result[1]) + # compute the net amount + sql2 = self._sql_from_amls_two() + query = sql2 % (tables, where_clause) + self.env.cr.execute(query, where_params) + results = self.env.cr.fetchall() + for result in results: + if result[0] in taxes: + taxes[result[0]]['net'] = abs(result[1]) + + @api.model + def get_lines(self, options): + """Get taxes datas""" + taxes = {} + for tax in self.env['account.tax'].search( + [('type_tax_use', '!=', 'none')]): + if tax.children_tax_ids: + for child in tax.children_tax_ids: + if child.type_tax_use != 'none': + continue + taxes[child.id] = {'tax': 0, 'net': 0, 'name': child.name, + 'type': tax.type_tax_use} + else: + taxes[tax.id] = {'tax': 0, 'net': 0, 'name': tax.name, + 'type': tax.type_tax_use} + if options['date_from']: + self.with_context(date_from=options['date_from'], + strict_range=True)._compute_from_amls(options, + taxes) + elif options['date_to']: + self.with_context(date_to=options['date_to'], + strict_range=True)._compute_from_amls(options, + taxes) + elif options['date_from'] and options['date_to']: + self.with_context(date_from=options['date_from'], + date_to=options['date_to'], + strict_range=True)._compute_from_amls(options, + taxes) + else: + date_to = str(datetime.today().date()) + self.with_context(date_to=date_to, + strict_range=True)._compute_from_amls(options, + taxes) + groups = dict((tp, []) for tp in ['sale', 'purchase']) + for tax in taxes.values(): + if tax['tax']: + groups[tax['type']].append(tax) + return groups diff --git a/tax_report_community/static/description/assets/icons/cogs.png b/tax_report_community/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/tax_report_community/static/description/assets/icons/cogs.png differ diff --git a/tax_report_community/static/description/assets/icons/consultation.png b/tax_report_community/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/tax_report_community/static/description/assets/icons/consultation.png differ diff --git a/tax_report_community/static/description/assets/icons/ecom-black.png b/tax_report_community/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/tax_report_community/static/description/assets/icons/ecom-black.png differ diff --git a/tax_report_community/static/description/assets/icons/education-black.png b/tax_report_community/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/tax_report_community/static/description/assets/icons/education-black.png differ diff --git a/tax_report_community/static/description/assets/icons/hotel-black.png b/tax_report_community/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/tax_report_community/static/description/assets/icons/hotel-black.png differ diff --git a/tax_report_community/static/description/assets/icons/license.png b/tax_report_community/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/tax_report_community/static/description/assets/icons/license.png differ diff --git a/tax_report_community/static/description/assets/icons/lifebuoy.png b/tax_report_community/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/tax_report_community/static/description/assets/icons/lifebuoy.png differ diff --git a/tax_report_community/static/description/assets/icons/logo.png b/tax_report_community/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/tax_report_community/static/description/assets/icons/logo.png differ diff --git a/tax_report_community/static/description/assets/icons/manufacturing-black.png b/tax_report_community/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/tax_report_community/static/description/assets/icons/manufacturing-black.png differ diff --git a/tax_report_community/static/description/assets/icons/pos-black.png b/tax_report_community/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/tax_report_community/static/description/assets/icons/pos-black.png differ diff --git a/tax_report_community/static/description/assets/icons/puzzle.png b/tax_report_community/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/tax_report_community/static/description/assets/icons/puzzle.png differ diff --git a/tax_report_community/static/description/assets/icons/restaurant-black.png b/tax_report_community/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/tax_report_community/static/description/assets/icons/restaurant-black.png differ diff --git a/tax_report_community/static/description/assets/icons/service-black.png b/tax_report_community/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/tax_report_community/static/description/assets/icons/service-black.png differ diff --git a/tax_report_community/static/description/assets/icons/trading-black.png b/tax_report_community/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/tax_report_community/static/description/assets/icons/trading-black.png differ diff --git a/tax_report_community/static/description/assets/icons/training.png b/tax_report_community/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/tax_report_community/static/description/assets/icons/training.png differ diff --git a/tax_report_community/static/description/assets/icons/update.png b/tax_report_community/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/tax_report_community/static/description/assets/icons/update.png differ diff --git a/tax_report_community/static/description/assets/icons/user.png b/tax_report_community/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/tax_report_community/static/description/assets/icons/user.png differ diff --git a/tax_report_community/static/description/assets/icons/wrench.png b/tax_report_community/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/tax_report_community/static/description/assets/icons/wrench.png differ diff --git a/tax_report_community/static/description/assets/misc/categories.png b/tax_report_community/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/tax_report_community/static/description/assets/misc/categories.png differ diff --git a/tax_report_community/static/description/assets/misc/check-box.png b/tax_report_community/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/tax_report_community/static/description/assets/misc/check-box.png differ diff --git a/tax_report_community/static/description/assets/misc/compass.png b/tax_report_community/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/tax_report_community/static/description/assets/misc/compass.png differ diff --git a/tax_report_community/static/description/assets/misc/corporate.png b/tax_report_community/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/tax_report_community/static/description/assets/misc/corporate.png differ diff --git a/tax_report_community/static/description/assets/misc/customer-support.png b/tax_report_community/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/tax_report_community/static/description/assets/misc/customer-support.png differ diff --git a/tax_report_community/static/description/assets/misc/cybrosys-logo.png b/tax_report_community/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/tax_report_community/static/description/assets/misc/cybrosys-logo.png differ diff --git a/tax_report_community/static/description/assets/misc/features.png b/tax_report_community/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/tax_report_community/static/description/assets/misc/features.png differ diff --git a/tax_report_community/static/description/assets/misc/logo.png b/tax_report_community/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/tax_report_community/static/description/assets/misc/logo.png differ diff --git a/tax_report_community/static/description/assets/misc/pictures.png b/tax_report_community/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/tax_report_community/static/description/assets/misc/pictures.png differ diff --git a/tax_report_community/static/description/assets/misc/pie-chart.png b/tax_report_community/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/tax_report_community/static/description/assets/misc/pie-chart.png differ diff --git a/tax_report_community/static/description/assets/misc/right-arrow.png b/tax_report_community/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/tax_report_community/static/description/assets/misc/right-arrow.png differ diff --git a/tax_report_community/static/description/assets/misc/star.png b/tax_report_community/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/tax_report_community/static/description/assets/misc/star.png differ diff --git a/tax_report_community/static/description/assets/misc/support.png b/tax_report_community/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/tax_report_community/static/description/assets/misc/support.png differ diff --git a/tax_report_community/static/description/assets/misc/whatsapp.png b/tax_report_community/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/tax_report_community/static/description/assets/misc/whatsapp.png differ diff --git a/tax_report_community/static/description/assets/modules/l1.png b/tax_report_community/static/description/assets/modules/l1.png new file mode 100644 index 000000000..ed175b076 Binary files /dev/null and b/tax_report_community/static/description/assets/modules/l1.png differ diff --git a/tax_report_community/static/description/assets/modules/l2.png b/tax_report_community/static/description/assets/modules/l2.png new file mode 100644 index 000000000..a3194264c Binary files /dev/null and b/tax_report_community/static/description/assets/modules/l2.png differ diff --git a/tax_report_community/static/description/assets/modules/l3.png b/tax_report_community/static/description/assets/modules/l3.png new file mode 100644 index 000000000..e894393ef Binary files /dev/null and b/tax_report_community/static/description/assets/modules/l3.png differ diff --git a/tax_report_community/static/description/assets/modules/l4.png b/tax_report_community/static/description/assets/modules/l4.png new file mode 100644 index 000000000..f3c986fc1 Binary files /dev/null and b/tax_report_community/static/description/assets/modules/l4.png differ diff --git a/tax_report_community/static/description/assets/modules/l5.png b/tax_report_community/static/description/assets/modules/l5.png new file mode 100644 index 000000000..b21837312 Binary files /dev/null and b/tax_report_community/static/description/assets/modules/l5.png differ diff --git a/tax_report_community/static/description/assets/modules/l6.png b/tax_report_community/static/description/assets/modules/l6.png new file mode 100644 index 000000000..e64a5b55c Binary files /dev/null and b/tax_report_community/static/description/assets/modules/l6.png differ diff --git a/tax_report_community/static/description/assets/screenshots/hero.gif b/tax_report_community/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..47b7f28ec Binary files /dev/null and b/tax_report_community/static/description/assets/screenshots/hero.gif differ diff --git a/tax_report_community/static/description/assets/screenshots/img1.png b/tax_report_community/static/description/assets/screenshots/img1.png new file mode 100644 index 000000000..fe0e04758 Binary files /dev/null and b/tax_report_community/static/description/assets/screenshots/img1.png differ diff --git a/tax_report_community/static/description/assets/screenshots/sample_excel_report.png b/tax_report_community/static/description/assets/screenshots/sample_excel_report.png new file mode 100644 index 000000000..f2d62b0de Binary files /dev/null and b/tax_report_community/static/description/assets/screenshots/sample_excel_report.png differ diff --git a/tax_report_community/static/description/assets/screenshots/sample_pdf_report.png b/tax_report_community/static/description/assets/screenshots/sample_pdf_report.png new file mode 100644 index 000000000..623f295d2 Binary files /dev/null and b/tax_report_community/static/description/assets/screenshots/sample_pdf_report.png differ diff --git a/tax_report_community/static/description/banner.png b/tax_report_community/static/description/banner.png new file mode 100644 index 000000000..9dcac48d8 Binary files /dev/null and b/tax_report_community/static/description/banner.png differ diff --git a/tax_report_community/static/description/icon.png b/tax_report_community/static/description/icon.png new file mode 100644 index 000000000..3531612f9 Binary files /dev/null and b/tax_report_community/static/description/icon.png differ diff --git a/tax_report_community/static/description/index.html b/tax_report_community/static/description/index.html new file mode 100644 index 000000000..28b7234ad --- /dev/null +++ b/tax_report_community/static/description/index.html @@ -0,0 +1,582 @@ +
+
+
+
+ +
+
+
+ Community +
+
+
+
+
+
+ +
+
+

+ Tax Report

+

+ Generates Tax Report in Excel and Pdf. +

+ +
+
+ + + + +
+ +
+

+ Overview +

+
+ +
+

+ The module allows the end user to generate Accounting Tax Report in both PDF and Excel format for a + specific start date and end date.

+
+
+ + + +
+
+

+ Features +

+
+ +
+
+

+ + Generates Tax Report based on: Start date and End date

+
+
+
+ + + +
+
+

+ Screenshots +

+
+
+

+ Go to Invoicing --> Reporting --> Tax Report and Select start date and end date.

+ +
+
+

+ Select Print option to see Tax Report in PDF format.

+ +
+
+

+ Select Print Excel option to see Tax Report in Excel format.

+ +
+
+ +
+
+ +
+

+ Related + Products +

+
+
+
+ +
+
+ + + +
+
+
+

Our Services

+
+
+ +
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+
+ + + +
+
+
+

Our Industries

+
+
+ +
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+ +
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+ +
+
+ + + + +
+
+ +
+

+ Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? + Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+ +91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ + +
\ No newline at end of file diff --git a/tax_report_community/static/src/js/action_manager.js b/tax_report_community/static/src/js/action_manager.js new file mode 100644 index 000000000..1697ce67d --- /dev/null +++ b/tax_report_community/static/src/js/action_manager.js @@ -0,0 +1,20 @@ +/** @odoo-module */ +import { registry } from "@web/core/registry"; +import { download } from "@web/core/network/download"; +import framework from 'web.framework'; +import session from 'web.session'; + +registry.category("ir.actions.report handlers").add("xlsx", async (action) => { + if (action.report_type === 'xlsx') { + framework.blockUI(); + var def = $.Deferred(); + session.get_file({ + url: '/tax_xlsx_reports', + data: action.data, + success: def.resolve.bind(def), + error: (error) => this.call('crash_manager', 'rpc_error', error), + complete: framework.unblockUI, + }); + return def; + } +}); \ No newline at end of file diff --git a/tax_report_community/views/account_report_tax_views.xml b/tax_report_community/views/account_report_tax_views.xml new file mode 100644 index 000000000..1a06c0999 --- /dev/null +++ b/tax_report_community/views/account_report_tax_views.xml @@ -0,0 +1,17 @@ + + + + + kit.account.tax.report.view.form + kit.account.tax.report + + + + +