@ -0,0 +1,43 @@ | 
				
			|||||
 | 
					.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg | 
				
			||||
 | 
					    :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html | 
				
			||||
 | 
					    :alt: License: AGPL-3 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Loan Management | 
				
			||||
 | 
					=============== | 
				
			||||
 | 
					Helps You To Manage Loan Disburse/Amortization Operations. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Configuration | 
				
			||||
 | 
					============= | 
				
			||||
 | 
					* No additional configurations needed | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Company | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Credits | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					* Developer: (V17) Megha K , | 
				
			||||
 | 
					            Contact : odoo@cybrosys.com | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Contacts | 
				
			||||
 | 
					-------- | 
				
			||||
 | 
					* Mail Contact : odoo@cybrosys.com | 
				
			||||
 | 
					* Website : https://cybrosys.com | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Bug Tracker | 
				
			||||
 | 
					----------- | 
				
			||||
 | 
					Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					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 `Our Website <https://cybrosys.com/>`__ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Further information | 
				
			||||
 | 
					=================== | 
				
			||||
 | 
					HTML Description: `<static/description/index.html>`__ | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,22 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from . import models, report, wizard | 
				
			||||
@ -0,0 +1,59 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					{ | 
				
			||||
 | 
					    'name': 'Loan Management', | 
				
			||||
 | 
					    'version': '17.0.1.0.0', | 
				
			||||
 | 
					    'summary': 'Helps You To Manage Loan Requests/Disbursement/' | 
				
			||||
 | 
					               'Repayments/Amortization Operations', | 
				
			||||
 | 
					    'description': 'Module Allows To Create different types of loans,' | 
				
			||||
 | 
					                   'Manage Loan Requests And Amortization Operations Simply,' | 
				
			||||
 | 
					                   'Create Invoices For Each Repayment Amounts', | 
				
			||||
 | 
					    'category': 'Accounting', | 
				
			||||
 | 
					    'author': "Cybrosys Techno Solutions", | 
				
			||||
 | 
					    'company': "Cybrosys Techno Solutions", | 
				
			||||
 | 
					    'maintainer': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'website': 'https://www.cybrosys.com', | 
				
			||||
 | 
					    'depends': ['mail', 'account', 'base',], | 
				
			||||
 | 
					    'demo': ['data/loan_journal_data.xml'], | 
				
			||||
 | 
					    'data': [ | 
				
			||||
 | 
					        'security/loan_management_groups.xml', | 
				
			||||
 | 
					        'security/loan_management_security.xml', | 
				
			||||
 | 
					        'security/ir.model.access.csv', | 
				
			||||
 | 
					        'data/ir_sequence_data.xml', | 
				
			||||
 | 
					        'views/loan_type_views.xml', | 
				
			||||
 | 
					        'views/loan_request_views.xml', | 
				
			||||
 | 
					        'views/repayment_lines_views.xml', | 
				
			||||
 | 
					        'views/loan_documents_views.xml', | 
				
			||||
 | 
					        'views/res_config_settings_views.xml', | 
				
			||||
 | 
					        'views/loan_management_menus.xml', | 
				
			||||
 | 
					        'views/res_partner_views.xml', | 
				
			||||
 | 
					        'wizard/message_popup_views.xml', | 
				
			||||
 | 
					        'wizard/reject_reason_views.xml', | 
				
			||||
 | 
					        'report/loan_management_reports.xml', | 
				
			||||
 | 
					        'report/loan_report_templates.xml', | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    'images': ['static/description/banner.jpg'], | 
				
			||||
 | 
					    'license': 'AGPL-3', | 
				
			||||
 | 
					    'installable': True, | 
				
			||||
 | 
					    'auto_install': False, | 
				
			||||
 | 
					    'application': True, | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,12 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					        <!--        Sequence Number Loan Request Records--> | 
				
			||||
 | 
					        <record id="increment_loan_reference" model="ir.sequence"> | 
				
			||||
 | 
					            <field name="name">Loan Reference</field> | 
				
			||||
 | 
					            <field name="code">increment_loan_ref</field> | 
				
			||||
 | 
					            <field name="prefix">LOAN</field> | 
				
			||||
 | 
					            <field name="padding">3</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,43 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					        <!--        Demo data for account.journal--> | 
				
			||||
 | 
					        <record id="loan_management_journals" model="account.journal"> | 
				
			||||
 | 
					            <field name="company_id" ref="base.main_company"/> | 
				
			||||
 | 
					            <field name="name">Disburse</field> | 
				
			||||
 | 
					            <field name="code">DIS</field> | 
				
			||||
 | 
					            <field name="type">purchase</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <!--        Demo data for account.account--> | 
				
			||||
 | 
					        <record id="loan_management_disburse_accounts" model="account.account"> | 
				
			||||
 | 
					            <field name="name">Loan Disburse</field> | 
				
			||||
 | 
					            <field name="code">200019</field> | 
				
			||||
 | 
					            <field name="account_type">liability_current</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <record id="loan_management_inrst_accounts" model="account.account"> | 
				
			||||
 | 
					            <field name="name">Loan Interest</field> | 
				
			||||
 | 
					            <field name="code">200011</field> | 
				
			||||
 | 
					            <field name="account_type">liability_current</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <record id="demo_loan_accounts" model="account.account"> | 
				
			||||
 | 
					            <field name="company_id" ref="base.main_company"/> | 
				
			||||
 | 
					            <field name="name">Loan Repayment</field> | 
				
			||||
 | 
					            <field name="code">200012</field> | 
				
			||||
 | 
					            <field name="account_type">asset_cash</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <!--        Demo data for product.product--> | 
				
			||||
 | 
					        <record id="loan_management_repayment" model="product.product"> | 
				
			||||
 | 
					            <field name="name">Repayment Amount</field> | 
				
			||||
 | 
					            <field name="type">service</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <record id="loan_management_interest" model="product.product"> | 
				
			||||
 | 
					            <field name="name">Interest Amount</field> | 
				
			||||
 | 
					            <field name="type">service</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,6 @@ | 
				
			|||||
 | 
					## Module <advanced_loan_management> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					#### 30.03.2024 | 
				
			||||
 | 
					#### Version 17.0.1.0.0 | 
				
			||||
 | 
					#### ADD | 
				
			||||
 | 
					- Initial Commit for Loan Management | 
				
			||||
@ -0,0 +1,29 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from . import loan_type, loan_documents, loan_request, repayment_lines, \ | 
				
			||||
 | 
					    res_config_settings, account_move, res_partner, account_payment_register | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,54 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class AccountMove(models.Model): | 
				
			||||
 | 
					    """Alter loan repayment line state on draft and cancel button click""" | 
				
			||||
 | 
					    _inherit = 'account.move' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def button_draft(self): | 
				
			||||
 | 
					        """Change repayment record state to 'invoiced' | 
				
			||||
 | 
					        while reset to draft the invoice""" | 
				
			||||
 | 
					        res = super().button_draft() | 
				
			||||
 | 
					        loan_line_ids = self.env['repayment.line'].search([ | 
				
			||||
 | 
					            ('name', 'ilike', self.payment_reference)]) | 
				
			||||
 | 
					        if loan_line_ids: | 
				
			||||
 | 
					            loan_line_ids.update({ | 
				
			||||
 | 
					                'state': 'invoiced', | 
				
			||||
 | 
					                'invoice': True | 
				
			||||
 | 
					            }) | 
				
			||||
 | 
					        return res | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def button_cancel(self): | 
				
			||||
 | 
					        """Change repayment record state to 'unpaid' | 
				
			||||
 | 
					        while cancelling the invoice""" | 
				
			||||
 | 
					        res = super().button_cancel() | 
				
			||||
 | 
					        for record in self: | 
				
			||||
 | 
					            loan_line_ids = self.env['repayment.line'].search([ | 
				
			||||
 | 
					                ('name', 'ilike', record.payment_reference)]) | 
				
			||||
 | 
					            if loan_line_ids: | 
				
			||||
 | 
					                loan_line_ids.update({ | 
				
			||||
 | 
					                    'state': 'unpaid', | 
				
			||||
 | 
					                    'invoice': False | 
				
			||||
 | 
					                }) | 
				
			||||
 | 
					        return res | 
				
			||||
@ -0,0 +1,37 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class AccountPaymentRegister(models.TransientModel): | 
				
			||||
 | 
					    """Alter loan repayment line state based on invoice status""" | 
				
			||||
 | 
					    _inherit = 'account.payment.register' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def _post_payments(self, to_process, edit_mode=False): | 
				
			||||
 | 
					        """Change repayment record state to 'paid' while registering the | 
				
			||||
 | 
					        payment""" | 
				
			||||
 | 
					        res = super()._post_payments(to_process, edit_mode=False) | 
				
			||||
 | 
					        for record in self: | 
				
			||||
 | 
					            loan_line_id = self.env['repayment.line'].search([ | 
				
			||||
 | 
					                ('name', 'ilike', record.communication)]) | 
				
			||||
 | 
					            loan_line_id.write({'state': 'paid'}) | 
				
			||||
 | 
					        return res | 
				
			||||
@ -0,0 +1,37 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class LoanDocuments(models.Model): | 
				
			||||
 | 
					    """Documents required to approve loan, eg:-Aadhar, Pan""" | 
				
			||||
 | 
					    _name = 'loan.documents' | 
				
			||||
 | 
					    _description = 'Loan Documents' | 
				
			||||
 | 
					    _rec_name = 'loan_proofs' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    loan_proofs = fields.Char(string="Proofs", help="Document name " | 
				
			||||
 | 
					                                                    "for identification") | 
				
			||||
 | 
					    company_id = fields.Many2one('res.company', string='Company', | 
				
			||||
 | 
					                                 readonly=True, | 
				
			||||
 | 
					                                 help="Company Name", | 
				
			||||
 | 
					                                 default=lambda self: | 
				
			||||
 | 
					                                 self.env.company) | 
				
			||||
@ -0,0 +1,266 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from datetime import datetime | 
				
			||||
 | 
					from dateutil.relativedelta import relativedelta | 
				
			||||
 | 
					from odoo import api, fields, models, _ | 
				
			||||
 | 
					from odoo.exceptions import UserError | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class LoanRequest(models.Model): | 
				
			||||
 | 
					    """Can create new loan requests and manage records""" | 
				
			||||
 | 
					    _name = 'loan.request' | 
				
			||||
 | 
					    _inherit = ['mail.thread'] | 
				
			||||
 | 
					    _description = 'Loan Request' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    name = fields.Char(string='Loan Reference', readonly=True, | 
				
			||||
 | 
					                       copy=False, help="Sequence number for loan requests", | 
				
			||||
 | 
					                       default=lambda self: 'New') | 
				
			||||
 | 
					    company_id = fields.Many2one('res.company', string='Company', | 
				
			||||
 | 
					                                 readonly=True, | 
				
			||||
 | 
					                                 help="Company Name", | 
				
			||||
 | 
					                                 default=lambda self: self.env.company) | 
				
			||||
 | 
					    currency_id = fields.Many2one('res.currency', string='Currency', | 
				
			||||
 | 
					                                  required=True, help="Currency", | 
				
			||||
 | 
					                                  default=lambda self: self.env.user.company_id. | 
				
			||||
 | 
					                                  currency_id) | 
				
			||||
 | 
					    loan_type_id = fields.Many2one('loan.type', string='Loan Type', | 
				
			||||
 | 
					                                   required=True, help="Can choose different " | 
				
			||||
 | 
					                                                       "loan types suitable") | 
				
			||||
 | 
					    loan_amount = fields.Float(string="Loan Amount", | 
				
			||||
 | 
					                               help="Total loan amount", ) | 
				
			||||
 | 
					    disbursal_amount = fields.Float(string="Disbursal Amount", | 
				
			||||
 | 
					                                    help="Total loan amount " | 
				
			||||
 | 
					                                         "available to disburse") | 
				
			||||
 | 
					    tenure = fields.Integer(string="Tenure", default=1, | 
				
			||||
 | 
					                            help="Installment period") | 
				
			||||
 | 
					    interest_rate = fields.Float(string="Interest Rate", help="Interest " | 
				
			||||
 | 
					                                                              "percentage") | 
				
			||||
 | 
					    date = fields.Date(string="Date", default=fields.Date.today(), | 
				
			||||
 | 
					                       readonly=True, help="Date") | 
				
			||||
 | 
					    partner_id = fields.Many2one('res.partner', string="Partner", | 
				
			||||
 | 
					                                 required=True, | 
				
			||||
 | 
					                                 help="Partner") | 
				
			||||
 | 
					    repayment_lines_ids = fields.One2many('repayment.line', | 
				
			||||
 | 
					                                          'loan_id', | 
				
			||||
 | 
					                                          string="Loan Line", index=True, | 
				
			||||
 | 
					                                          help="Repayment lines") | 
				
			||||
 | 
					    documents_ids = fields.Many2many('loan.documents', | 
				
			||||
 | 
					                                     string="Proofs", | 
				
			||||
 | 
					                                     help="Documents as proof") | 
				
			||||
 | 
					    img_attachment_ids = fields.Many2many('ir.attachment', | 
				
			||||
 | 
					                                          relation="m2m_ir_identity_card_rel", | 
				
			||||
 | 
					                                          column1="documents_ids", | 
				
			||||
 | 
					                                          string="Images", | 
				
			||||
 | 
					                                          help="Image proofs") | 
				
			||||
 | 
					    journal_id = fields.Many2one('account.journal', | 
				
			||||
 | 
					                                 string="Journal", | 
				
			||||
 | 
					                                 help="Journal types", | 
				
			||||
 | 
					                                 domain="[('type', '=', 'purchase')," | 
				
			||||
 | 
					                                        "('company_id', '=', company_id)]", | 
				
			||||
 | 
					                                 ) | 
				
			||||
 | 
					    debit_account_id = fields.Many2one('account.account', | 
				
			||||
 | 
					                                       string="Debit account", | 
				
			||||
 | 
					                                       help="Choose account for " | 
				
			||||
 | 
					                                            "disbursement debit") | 
				
			||||
 | 
					    credit_account_id = fields.Many2one('account.account', | 
				
			||||
 | 
					                                        string="Credit account", | 
				
			||||
 | 
					                                        help="Choose account for " | 
				
			||||
 | 
					                                             "disbursement credit") | 
				
			||||
 | 
					    reject_reason = fields.Text(string="Reason", help="Displays " | 
				
			||||
 | 
					                                                      "rejected reason") | 
				
			||||
 | 
					    request = fields.Boolean(string="Request", | 
				
			||||
 | 
					                             help="For monitoring the record") | 
				
			||||
 | 
					    state = fields.Selection( | 
				
			||||
 | 
					        string='State', | 
				
			||||
 | 
					        selection=[('draft', 'Draft'), ('confirmed', 'Confirmed'), | 
				
			||||
 | 
					                   ('waiting for approval', 'Waiting For Approval'), | 
				
			||||
 | 
					                   ('approved', 'Approved'), ('disbursed', 'Disbursed'), | 
				
			||||
 | 
					                   ('rejected', 'Rejected'), ('closed', 'Closed')], | 
				
			||||
 | 
					        copy=False, tracking=True, default='draft', help="Loan request states") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def create(self, vals): | 
				
			||||
 | 
					        """create  auto sequence for the loan request records""" | 
				
			||||
 | 
					        loan_count = self.env['loan.request'].search( | 
				
			||||
 | 
					            [('partner_id', '=', vals['partner_id']), | 
				
			||||
 | 
					             ('state', 'not in', ('draft', 'rejected', 'closed'))]) | 
				
			||||
 | 
					        if loan_count: | 
				
			||||
 | 
					            for rec in loan_count: | 
				
			||||
 | 
					                if rec.state != 'closed': | 
				
			||||
 | 
					                    raise UserError( | 
				
			||||
 | 
					                        _('The partner has already an ongoing loan.')) | 
				
			||||
 | 
					        else: | 
				
			||||
 | 
					            if vals.get('name', 'New') == 'New': | 
				
			||||
 | 
					                vals['name'] = self.env['ir.sequence'].next_by_code( | 
				
			||||
 | 
					                    'increment_loan_ref') | 
				
			||||
 | 
					            res = super().create(vals) | 
				
			||||
 | 
					            return res | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.onchange('loan_type_id') | 
				
			||||
 | 
					    def _onchange_loan_type_id(self): | 
				
			||||
 | 
					        """Changing field values based on the chosen loan type""" | 
				
			||||
 | 
					        type_id = self.loan_type_id | 
				
			||||
 | 
					        self.loan_amount = type_id.loan_amount | 
				
			||||
 | 
					        self.disbursal_amount = type_id.disbursal_amount | 
				
			||||
 | 
					        self.tenure = type_id.tenure | 
				
			||||
 | 
					        self.interest_rate = type_id.interest_rate | 
				
			||||
 | 
					        self.documents_ids = type_id.documents_ids | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_loan_request(self): | 
				
			||||
 | 
					        """Changes the state to confirmed and send confirmation mail""" | 
				
			||||
 | 
					        self.write({'state': "confirmed"}) | 
				
			||||
 | 
					        partner = self.partner_id | 
				
			||||
 | 
					        loan_no = self.name | 
				
			||||
 | 
					        subject = 'Loan Confirmation' | 
				
			||||
 | 
					        message = (f"Dear {partner.name},<br/> This is a confirmation mail " | 
				
			||||
 | 
					                   f"for your loan{loan_no}. We have submitted your loan " | 
				
			||||
 | 
					                   f"for approval.") | 
				
			||||
 | 
					        outgoing_mail = self.company_id.email | 
				
			||||
 | 
					        mail_values = { | 
				
			||||
 | 
					            'subject': subject, | 
				
			||||
 | 
					            'email_from': outgoing_mail, | 
				
			||||
 | 
					            'author_id': self.env.user.partner_id.id, | 
				
			||||
 | 
					            'email_to': partner.email, | 
				
			||||
 | 
					            'body_html': message, | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        mail = self.env['mail.mail'].sudo().create(mail_values) | 
				
			||||
 | 
					        mail.send() | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_request_for_loan(self): | 
				
			||||
 | 
					        """Change the state to waiting for approval""" | 
				
			||||
 | 
					        if self.request: | 
				
			||||
 | 
					            self.write({'state': "waiting for approval"}) | 
				
			||||
 | 
					        else: | 
				
			||||
 | 
					            message_id = self.env['message.popup'].create( | 
				
			||||
 | 
					                {'message': _("Compute the repayments before requesting")}) | 
				
			||||
 | 
					            return { | 
				
			||||
 | 
					                'name': _('Repayment'), | 
				
			||||
 | 
					                'type': 'ir.actions.act_window', | 
				
			||||
 | 
					                'view_mode': 'form', | 
				
			||||
 | 
					                'res_model': 'message.popup', | 
				
			||||
 | 
					                'res_id': message_id.id, | 
				
			||||
 | 
					                'target': 'new' | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_loan_approved(self): | 
				
			||||
 | 
					        """Change to Approved state""" | 
				
			||||
 | 
					        self.write({'state': "approved"}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_disburse_loan(self): | 
				
			||||
 | 
					        """Disbursing the loan to customer and creating journal | 
				
			||||
 | 
					         entry for the disbursement""" | 
				
			||||
 | 
					        self.write({'state': "disbursed"}) | 
				
			||||
 | 
					        for loan in self: | 
				
			||||
 | 
					            amount = loan.disbursal_amount | 
				
			||||
 | 
					            loan_name = loan.partner_id.name | 
				
			||||
 | 
					            reference = loan.name | 
				
			||||
 | 
					            journal_id = loan.journal_id.id | 
				
			||||
 | 
					            debit_account_id = loan.debit_account_id.id | 
				
			||||
 | 
					            credit_account_id = loan.credit_account_id.id | 
				
			||||
 | 
					            date_now = loan.date | 
				
			||||
 | 
					            debit_vals = { | 
				
			||||
 | 
					                'name': loan_name, | 
				
			||||
 | 
					                'account_id': debit_account_id, | 
				
			||||
 | 
					                'journal_id': journal_id, | 
				
			||||
 | 
					                'date': date_now, | 
				
			||||
 | 
					                'debit': amount > 0.0 and amount or 0.0, | 
				
			||||
 | 
					                'credit': amount < 0.0 and -amount or 0.0, | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					            credit_vals = { | 
				
			||||
 | 
					                'name': loan_name, | 
				
			||||
 | 
					                'account_id': credit_account_id, | 
				
			||||
 | 
					                'journal_id': journal_id, | 
				
			||||
 | 
					                'date': date_now, | 
				
			||||
 | 
					                'debit': amount < 0.0 and -amount or 0.0, | 
				
			||||
 | 
					                'credit': amount > 0.0 and amount or 0.0, | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					            vals = { | 
				
			||||
 | 
					                'name': f'DIS / {reference}', | 
				
			||||
 | 
					                'narration': reference, | 
				
			||||
 | 
					                'ref': reference, | 
				
			||||
 | 
					                'journal_id': journal_id, | 
				
			||||
 | 
					                'date': date_now, | 
				
			||||
 | 
					                'line_ids': [(0, 0, debit_vals), (0, 0, credit_vals)] | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					            move = self.env['account.move'].create(vals) | 
				
			||||
 | 
					            move.action_post() | 
				
			||||
 | 
					        return True | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_close_loan(self): | 
				
			||||
 | 
					        """Closing the loan""" | 
				
			||||
 | 
					        demo = [] | 
				
			||||
 | 
					        for check in self.repayment_lines_ids: | 
				
			||||
 | 
					            if check.state == 'unpaid': | 
				
			||||
 | 
					                demo.append(check) | 
				
			||||
 | 
					        if len(demo) >= 1: | 
				
			||||
 | 
					            message_id = self.env['message.popup'].create( | 
				
			||||
 | 
					                {'message': _("Pending Repayments")}) | 
				
			||||
 | 
					            return { | 
				
			||||
 | 
					                'name': _('Repayment'), | 
				
			||||
 | 
					                'type': 'ir.actions.act_window', | 
				
			||||
 | 
					                'view_mode': 'form', | 
				
			||||
 | 
					                'res_model': 'message.popup', | 
				
			||||
 | 
					                'res_id': message_id.id, | 
				
			||||
 | 
					                'target': 'new' | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					        self.write({'state': "closed"}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_loan_rejected(self): | 
				
			||||
 | 
					        """You can add reject reasons here""" | 
				
			||||
 | 
					        return {'type': 'ir.actions.act_window', | 
				
			||||
 | 
					                'name': 'Loan Rejection', | 
				
			||||
 | 
					                'res_model': 'reject.reason', | 
				
			||||
 | 
					                'target': 'new', | 
				
			||||
 | 
					                'view_mode': 'form', | 
				
			||||
 | 
					                'context': {'default_loan': self.name} | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_compute_repayment(self): | 
				
			||||
 | 
					        """This automatically create the installment the employee need to pay to | 
				
			||||
 | 
					        company based on payment start date and the no of installments. | 
				
			||||
 | 
					            """ | 
				
			||||
 | 
					        self.request = True | 
				
			||||
 | 
					        for loan in self: | 
				
			||||
 | 
					            loan.repayment_lines_ids.unlink() | 
				
			||||
 | 
					            date_start = datetime.strptime(str(loan.date),'%Y-%m-%d') + relativedelta(months=1) | 
				
			||||
 | 
					            amount = loan.loan_amount / loan.tenure | 
				
			||||
 | 
					            interest = loan.loan_amount * loan.interest_rate | 
				
			||||
 | 
					            interest_amount = interest / loan.tenure | 
				
			||||
 | 
					            total_amount = amount + interest_amount | 
				
			||||
 | 
					            partner = self.partner_id | 
				
			||||
 | 
					            for rand_num in range(1, loan.tenure + 1): | 
				
			||||
 | 
					                self.env['repayment.line'].create({ | 
				
			||||
 | 
					                    'name': f"{loan.name}/{rand_num}", | 
				
			||||
 | 
					                    'partner_id': partner.id, | 
				
			||||
 | 
					                    'date': date_start, | 
				
			||||
 | 
					                    'amount': amount, | 
				
			||||
 | 
					                    'interest_amount': interest_amount, | 
				
			||||
 | 
					                    'total_amount': total_amount, | 
				
			||||
 | 
					                    'interest_account_id': self.env.ref('advanced_loan_management.' | 
				
			||||
 | 
					                                                        'loan_management_' | 
				
			||||
 | 
					                                                        'inrst_accounts').id, | 
				
			||||
 | 
					                    'repayment_account_id': self.env.ref('advanced_loan_management.' | 
				
			||||
 | 
					                                                         'demo_' | 
				
			||||
 | 
					                                                         'loan_accounts').id, | 
				
			||||
 | 
					                    'loan_id': loan.id}) | 
				
			||||
 | 
					                date_start += relativedelta(months=1) | 
				
			||||
 | 
					        return True | 
				
			||||
@ -0,0 +1,57 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import api, fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class LoanTypes(models.Model): | 
				
			||||
 | 
					    """Create different types of Loans, And can wisely choose while requesting | 
				
			||||
 | 
					     for loan""" | 
				
			||||
 | 
					    _name = 'loan.type' | 
				
			||||
 | 
					    _inherit = ['mail.thread'] | 
				
			||||
 | 
					    _description = 'Loan Type' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    name = fields.Char(string='Name', help="LoanType Name") | 
				
			||||
 | 
					    loan_amount = fields.Integer(string='Loan Amount', help="Loan Amount") | 
				
			||||
 | 
					    tenure = fields.Integer(string='Tenure', default='1', | 
				
			||||
 | 
					                            help="Amortization period") | 
				
			||||
 | 
					    tenure_plan = fields.Char(string="Tenure Plan", default='monthly', | 
				
			||||
 | 
					                              readonly='True', help="EMI payment plan") | 
				
			||||
 | 
					    interest_rate = fields.Float(string='Interest Rate', | 
				
			||||
 | 
					                                 help="Loan Interest Rate") | 
				
			||||
 | 
					    disbursal_amount = fields.Float(string='Disbursal Amount', | 
				
			||||
 | 
					                                    compute='_compute_disbursal_amount', | 
				
			||||
 | 
					                                    help="Total Amount To Be Disbursed") | 
				
			||||
 | 
					    documents_ids = fields.Many2many('loan.documents', | 
				
			||||
 | 
					                                     string="Documents", | 
				
			||||
 | 
					                                     help="Personal Proofs") | 
				
			||||
 | 
					    processing_fee = fields.Integer(string="Processing Fee", | 
				
			||||
 | 
					                                    help="Amount For Initializing The Loan") | 
				
			||||
 | 
					    note = fields.Text(string="Criteria", help="Criteria for approving " | 
				
			||||
 | 
					                                               "loan requests") | 
				
			||||
 | 
					    company_id = fields.Many2one('res.company', string='Company', | 
				
			||||
 | 
					                                 readonly=True, help="Company Name", | 
				
			||||
 | 
					                                 default=lambda self: self.env.company, ) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.depends('processing_fee') | 
				
			||||
 | 
					    def _compute_disbursal_amount(self): | 
				
			||||
 | 
					        """Calculating amount for disbursing""" | 
				
			||||
 | 
					        self.disbursal_amount = self.loan_amount - self.processing_fee | 
				
			||||
@ -0,0 +1,147 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class RepaymentLine(models.Model): | 
				
			||||
 | 
					    """Loan repayments """ | 
				
			||||
 | 
					    _name = "repayment.line" | 
				
			||||
 | 
					    _description = "Repayment Line" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    name = fields.Char(string="Loan ", default="/", readonly=True, | 
				
			||||
 | 
					                       help="Repayment no: of loan") | 
				
			||||
 | 
					    partner_id = fields.Many2one('res.partner', string="Partner", | 
				
			||||
 | 
					                                 required=True, | 
				
			||||
 | 
					                                 help="Partner") | 
				
			||||
 | 
					    company_id = fields.Many2one('res.company', string='Company', | 
				
			||||
 | 
					                                 readonly=True, | 
				
			||||
 | 
					                                 help="Company", | 
				
			||||
 | 
					                                 default=lambda self: self.env.company) | 
				
			||||
 | 
					    date = fields.Date(string="Payment Date", required=True, | 
				
			||||
 | 
					                       default=fields.Date.today(), | 
				
			||||
 | 
					                       readonly=True, | 
				
			||||
 | 
					                       help="Date of the payment") | 
				
			||||
 | 
					    amount = fields.Float(string="Amount", required=True, help="Amount", | 
				
			||||
 | 
					                          digits=(16, 2)) | 
				
			||||
 | 
					    interest_amount = fields.Float(string="Interest Amount", required=True, | 
				
			||||
 | 
					                                   help="Interest Amount", digits=(16, 2)) | 
				
			||||
 | 
					    total_amount = fields.Float(string="Total Amount", required=True, | 
				
			||||
 | 
					                                help="Total Amount", digits=(16, 2)) | 
				
			||||
 | 
					    loan_id = fields.Many2one('loan.request', string="Loan Ref.", | 
				
			||||
 | 
					                              help="Loan", | 
				
			||||
 | 
					                              readonly=True) | 
				
			||||
 | 
					    state = fields.Selection(string="State", | 
				
			||||
 | 
					                             selection=[('unpaid', 'Unpaid'), | 
				
			||||
 | 
					                                        ('invoiced', 'Invoiced'), | 
				
			||||
 | 
					                                        ('paid', 'Paid')], copy=False, | 
				
			||||
 | 
					                             default='unpaid', | 
				
			||||
 | 
					                             help="Includes paid and unpaid states for each " | 
				
			||||
 | 
					                                  "repayments", ) | 
				
			||||
 | 
					    journal_loan_id = fields.Many2one('account.journal', | 
				
			||||
 | 
					                                      string="Journal", | 
				
			||||
 | 
					                                      store=True, default=lambda self: self. | 
				
			||||
 | 
					                                      env['account.journal']. | 
				
			||||
 | 
					                                      search([('code', 'like', 'CSH1')]), | 
				
			||||
 | 
					                                      help="Journal Record") | 
				
			||||
 | 
					    interest_account_id = fields.Many2one('account.account', | 
				
			||||
 | 
					                                          string="Interest", | 
				
			||||
 | 
					                                          store=True, | 
				
			||||
 | 
					                                          help="Account For Interest") | 
				
			||||
 | 
					    repayment_account_id = fields.Many2one('account.account', | 
				
			||||
 | 
					                                           string="Repayment", | 
				
			||||
 | 
					                                           store=True, | 
				
			||||
 | 
					                                           help="Account For Repayment") | 
				
			||||
 | 
					    invoice = fields.Boolean(string="invoice", default=False, | 
				
			||||
 | 
					                             help="For monitoring the record") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_pay_emi(self): | 
				
			||||
 | 
					        """Creates invoice for each EMI""" | 
				
			||||
 | 
					        time_now = self.date | 
				
			||||
 | 
					        interest_product_id = self.env['ir.config_parameter'].sudo().get_param( | 
				
			||||
 | 
					            'advanced_loan_management.interest_product_id') | 
				
			||||
 | 
					        repayment_product_id = self.env['ir.config_parameter'].sudo().get_param( | 
				
			||||
 | 
					            'advanced_loan_management.repayment_product_id') | 
				
			||||
 | 
					        for rec in self: | 
				
			||||
 | 
					            loan_lines_ids = self.env['repayment.line'].search( | 
				
			||||
 | 
					                [('loan_id', '=', rec.loan_id.id)], order='date asc') | 
				
			||||
 | 
					            for line in loan_lines_ids: | 
				
			||||
 | 
					                if line.date < rec.date and line.state in \ | 
				
			||||
 | 
					                        ('unpaid', 'invoiced'): | 
				
			||||
 | 
					                    message_id = self.env['message.popup'].create( | 
				
			||||
 | 
					                        {'message': ( | 
				
			||||
 | 
					                            "You have pending amounts")}) | 
				
			||||
 | 
					                    return { | 
				
			||||
 | 
					                        'name': 'Repayment', | 
				
			||||
 | 
					                        'type': 'ir.actions.act_window', | 
				
			||||
 | 
					                        'view_mode': 'form', | 
				
			||||
 | 
					                        'res_model': 'message.popup', | 
				
			||||
 | 
					                        'res_id': message_id.id, | 
				
			||||
 | 
					                        'target': 'new' | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        invoice = self.env['account.move'].create({ | 
				
			||||
 | 
					            'move_type': 'out_invoice', | 
				
			||||
 | 
					            'invoice_date': time_now, | 
				
			||||
 | 
					            'partner_id': self.partner_id.id, | 
				
			||||
 | 
					            'currency_id': self.company_id.currency_id.id, | 
				
			||||
 | 
					            'payment_reference': self.name, | 
				
			||||
 | 
					            'invoice_line_ids': [ | 
				
			||||
 | 
					                (0, 0, { | 
				
			||||
 | 
					                    'price_unit': self.amount, | 
				
			||||
 | 
					                    'product_id': repayment_product_id, | 
				
			||||
 | 
					                    'name': 'Repayment', | 
				
			||||
 | 
					                    'account_id': self.repayment_account_id.id, | 
				
			||||
 | 
					                    'quantity': 1, | 
				
			||||
 | 
					                }), | 
				
			||||
 | 
					                (0, 0, { | 
				
			||||
 | 
					                    'price_unit': self.interest_amount, | 
				
			||||
 | 
					                    'product_id': interest_product_id, | 
				
			||||
 | 
					                    'name': 'Interest amount', | 
				
			||||
 | 
					                    'account_id': self.interest_account_id.id, | 
				
			||||
 | 
					                    'quantity': 1, | 
				
			||||
 | 
					                }), | 
				
			||||
 | 
					            ], | 
				
			||||
 | 
					        }) | 
				
			||||
 | 
					        if invoice: | 
				
			||||
 | 
					            self.invoice = True | 
				
			||||
 | 
					            self.write({'state': 'invoiced'}) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'name': 'Invoice', | 
				
			||||
 | 
					            'res_model': 'account.move', | 
				
			||||
 | 
					            'res_id': invoice.id, | 
				
			||||
 | 
					            'type': 'ir.actions.act_window', | 
				
			||||
 | 
					            'view_mode': 'form', | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_view_invoice(self): | 
				
			||||
 | 
					        """To view the invoices""" | 
				
			||||
 | 
					        invoice = self.env['account.move'].search([ | 
				
			||||
 | 
					            ('payment_reference', '=', self.name,) | 
				
			||||
 | 
					        ]) | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'name': 'Invoice', | 
				
			||||
 | 
					            'res_model': 'account.move', | 
				
			||||
 | 
					            'res_id': invoice.id, | 
				
			||||
 | 
					            'type': 'ir.actions.act_window', | 
				
			||||
 | 
					            'view_mode': 'form', | 
				
			||||
 | 
					        } | 
				
			||||
@ -0,0 +1,38 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class ResConfigSettings(models.TransientModel): | 
				
			||||
 | 
					    """Add new fields to display service products""" | 
				
			||||
 | 
					    _inherit = 'res.config.settings' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    interest_product_id = fields.Many2one('product.product', | 
				
			||||
 | 
					                                          string="Interest Product", | 
				
			||||
 | 
					                                          config_parameter="advanced_loan_management.interest_product_id", | 
				
			||||
 | 
					                                          help="Product For Interest " | 
				
			||||
 | 
					                                               "To Create Invoice Lines") | 
				
			||||
 | 
					    repayment_product_id = fields.Many2one('product.product', | 
				
			||||
 | 
					                                           string="Repayment Product", | 
				
			||||
 | 
					                                           config_parameter="advanced_loan_management.repayment_product_id", | 
				
			||||
 | 
					                                           help="Product For Repayment " | 
				
			||||
 | 
					                                                "To Create Invoice Lines") | 
				
			||||
@ -0,0 +1,49 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class ResPartner(models.Model): | 
				
			||||
 | 
					    """Add new tab to display partner's loan count""" | 
				
			||||
 | 
					    _inherit = "res.partner" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def _compute_partner_loans(self): | 
				
			||||
 | 
					        """This compute the loan amount and total loans count of a partner.""" | 
				
			||||
 | 
					        self.loan_count = self.env['loan.request'].search_count( | 
				
			||||
 | 
					            [('partner_id', '=', self.id), | 
				
			||||
 | 
					             ('state', 'in', ('disbursed', 'closed'))]) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    loan_count = fields.Integer(string="Loan Count", | 
				
			||||
 | 
					                                compute='_compute_partner_loans', | 
				
			||||
 | 
					                                help="Displays numbers of loans " | 
				
			||||
 | 
					                                     "ongoing and closed by the employee") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def action_view_loans(self): | 
				
			||||
 | 
					        """Returns loan records of current employee""" | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'type': 'ir.actions.act_window', | 
				
			||||
 | 
					            'name': 'Loans', | 
				
			||||
 | 
					            'view_mode': 'tree', | 
				
			||||
 | 
					            'res_model': 'loan.request', | 
				
			||||
 | 
					            'domain': [('partner_id', '=', self.id)], | 
				
			||||
 | 
					            'context': "{'create': False}" | 
				
			||||
 | 
					        } | 
				
			||||
@ -0,0 +1,23 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from . import loan_management_reports | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,63 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import api, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class LoanDetails(models.AbstractModel): | 
				
			||||
 | 
					    """fetch pdf report values""" | 
				
			||||
 | 
					    _name = 'report.advanced_loan_management.loan_report_template' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def _get_report_values(self, doc_ids, data=None): | 
				
			||||
 | 
					        loan_id = self.env['loan.request'].browse(doc_ids) | 
				
			||||
 | 
					        data = { | 
				
			||||
 | 
					            'Loan_id': loan_id.id, | 
				
			||||
 | 
					            'Customer': loan_id.partner_id.name, | 
				
			||||
 | 
					            'CustomerAddress': f"{loan_id.partner_id.street} " | 
				
			||||
 | 
					                               f"{loan_id.partner_id.city}" if loan_id.partner_id.city | 
				
			||||
 | 
					            else '', | 
				
			||||
 | 
					            'CustomerAddress2': f"{loan_id.partner_id.city}, " | 
				
			||||
 | 
					                                f"{loan_id.partner_id.state_id.name}" if | 
				
			||||
 | 
					            loan_id.partner_id.city and loan_id.partner_id.state_id.name | 
				
			||||
 | 
					            else '', | 
				
			||||
 | 
					            'CustomerContact': loan_id.partner_id.phone, | 
				
			||||
 | 
					            'Loan_Type': loan_id.loan_type_id.name, | 
				
			||||
 | 
					            'Tenure': loan_id.tenure, | 
				
			||||
 | 
					            'Tenure_type': loan_id.loan_type_id.tenure_plan, | 
				
			||||
 | 
					            'Interest_Rate': str(loan_id.interest_rate), | 
				
			||||
 | 
					            'Loan_Amount': str(loan_id.loan_amount), | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        """Fetching values for the report using query and returns the value""" | 
				
			||||
 | 
					        query = """SELECT name as Name, date as Date, amount as Amount, | 
				
			||||
 | 
					         interest_amount as Interest_amount,state as State,  | 
				
			||||
 | 
					         total_amount as Total_amount FROM repayment_line""" | 
				
			||||
 | 
					        check = """WHERE""" | 
				
			||||
 | 
					        condition = """loan_id='{cust}'""".format(cust=loan_id.id) | 
				
			||||
 | 
					        query = """{} {} {}""".format(query, check, condition) | 
				
			||||
 | 
					        self.env.cr.execute(query) | 
				
			||||
 | 
					        record = self.env.cr.dictfetchall() | 
				
			||||
 | 
					        record_sort = sorted(record, key=lambda x: x['date']) | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'docs': record_sort, | 
				
			||||
 | 
					            'doc_ids': doc_ids, | 
				
			||||
 | 
					            'data': data, | 
				
			||||
 | 
					        } | 
				
			||||
@ -0,0 +1,13 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--    PDF report action--> | 
				
			||||
 | 
					     <record id="loan_management_report_action" model="ir.actions.report"> | 
				
			||||
 | 
					        <field name="name">Loan Request</field> | 
				
			||||
 | 
					        <field name="model">loan.request</field> | 
				
			||||
 | 
					        <field name="report_type">qweb-pdf</field> | 
				
			||||
 | 
					         <field name="report_name">advanced_loan_management.loan_report_template</field> | 
				
			||||
 | 
					        <field name="report_file">advanced_loan_management.loan_report_template</field> | 
				
			||||
 | 
					        <field name="binding_model_id" ref="model_loan_request"/> | 
				
			||||
 | 
					        <field name="binding_type">report</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,96 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--    PDF report Template--> | 
				
			||||
 | 
					    <template id="loan_report_template"> | 
				
			||||
 | 
					        <t t-call="web.html_container"> | 
				
			||||
 | 
					            <t t-call="web.external_layout"> | 
				
			||||
 | 
					                <div class="page"> | 
				
			||||
 | 
					                    <h3 align="center">Loan Report</h3> | 
				
			||||
 | 
					                    <div> | 
				
			||||
 | 
					                        <group> | 
				
			||||
 | 
					                            <strong>Name:</strong> | 
				
			||||
 | 
					                            <span t-esc="data['Customer']"/> | 
				
			||||
 | 
					                            <br/> | 
				
			||||
 | 
					                            <span t-esc="data['CustomerAddress']"/> | 
				
			||||
 | 
					                            <br/> | 
				
			||||
 | 
					                            <span t-esc="data['CustomerAddress2']"/> | 
				
			||||
 | 
					                            <br/> | 
				
			||||
 | 
					                            <span t-esc="data['CustomerContact']"/> | 
				
			||||
 | 
					                            <br/> | 
				
			||||
 | 
					                        </group> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <group> | 
				
			||||
 | 
					                        <table class="table table-sm"> | 
				
			||||
 | 
					                            <thead> | 
				
			||||
 | 
					                                <tr> | 
				
			||||
 | 
					                                    <th>Loan Type</th> | 
				
			||||
 | 
					                                    <th>Tenure</th> | 
				
			||||
 | 
					                                    <th>Loan Amount</th> | 
				
			||||
 | 
					                                    <th>Interest Rate</th> | 
				
			||||
 | 
					                                </tr> | 
				
			||||
 | 
					                            </thead> | 
				
			||||
 | 
					                            <tbody> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="data['Loan_Type']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="data['Tenure']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="data['Loan_Amount']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="data['Interest_Rate']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                            </tbody> | 
				
			||||
 | 
					                        </table> | 
				
			||||
 | 
					                    </group> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <br/> | 
				
			||||
 | 
					                    <h3 align="center">Amortization Schedule</h3> | 
				
			||||
 | 
					                    <table class="table table-sm"> | 
				
			||||
 | 
					                        <thead> | 
				
			||||
 | 
					                            <tr> | 
				
			||||
 | 
					                                <th>SI.No</th> | 
				
			||||
 | 
					                                <th>Name</th> | 
				
			||||
 | 
					                                <th>Date</th> | 
				
			||||
 | 
					                                <th>Amount</th> | 
				
			||||
 | 
					                                <th>Interest Amount</th> | 
				
			||||
 | 
					                                <th>Total Amount</th> | 
				
			||||
 | 
					                                <th>State</th> | 
				
			||||
 | 
					                            </tr> | 
				
			||||
 | 
					                        </thead> | 
				
			||||
 | 
					                        <tbody> | 
				
			||||
 | 
					                            <t t-set="i" t-value="1"/> | 
				
			||||
 | 
					                            <tr t-foreach="docs" t-as="line"> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <span t-esc="i"/> | 
				
			||||
 | 
					                                    <t t-set="i" t-value="i+1"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="line['name']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="line['date']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="line['amount']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="line['interest_amount']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center"> | 
				
			||||
 | 
					                                    <t t-esc="line['total_amount']"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                                <td align="center" | 
				
			||||
 | 
					                                    t-att-style="'color: ' + ('green' if line['state'] == 'paid' else ('sienna' if line['state'] == 'invoiced' else 'red'))"> | 
				
			||||
 | 
					                                    <t t-esc="{'unpaid': 'Unpaid', 'invoiced': 'Invoiced', 'paid': 'Paid'} [line['state']]"/> | 
				
			||||
 | 
					                                </td> | 
				
			||||
 | 
					                            </tr> | 
				
			||||
 | 
					                        </tbody> | 
				
			||||
 | 
					                    </table> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </t> | 
				
			||||
 | 
					        </t> | 
				
			||||
 | 
					    </template> | 
				
			||||
 | 
					</odoo> | 
				
			||||
		
		
			
  | 
@ -0,0 +1,24 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					        <!--        New user groups for the module Loan Management--> | 
				
			||||
 | 
					        <record model="ir.module.category" id="loan_management_groups"> | 
				
			||||
 | 
					            <field name="name">Loan Management</field> | 
				
			||||
 | 
					            <field name="description">User access level for loan_management | 
				
			||||
 | 
					                model | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					            <field name="sequence">8</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					        <record id="loan_management_group_user" model="res.groups"> | 
				
			||||
 | 
					            <field name="name">User</field> | 
				
			||||
 | 
					            <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> | 
				
			||||
 | 
					            <field name="category_id" ref="loan_management_groups"/> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					        <record id="loan_management_group_manager" model="res.groups"> | 
				
			||||
 | 
					            <field name="name">Manager</field> | 
				
			||||
 | 
					            <field name="implied_ids" eval="[(4, ref('advanced_loan_management.loan_management_group_user'))]"/> | 
				
			||||
 | 
					            <field name="category_id" ref="loan_management_groups"/> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,45 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--    Multi company record rules--> | 
				
			||||
 | 
					    <!--    model_loan_request--> | 
				
			||||
 | 
					    <record id="loan_request_multi_company_rule" model="ir.rule"> | 
				
			||||
 | 
					        <field name="name">Loan Request Multi Company</field> | 
				
			||||
 | 
					        <field name="model_id" ref="model_loan_request"/> | 
				
			||||
 | 
					        <field name="global" eval="True"/> | 
				
			||||
 | 
					        <field name="domain_force">[('company_id', 'in', company_ids)]</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--        model_loan_documents--> | 
				
			||||
 | 
					    <record id="loan_documents_multi_company_rule" model="ir.rule"> | 
				
			||||
 | 
					        <field name="name">Loan Documents Multi Company</field> | 
				
			||||
 | 
					        <field name="model_id" ref="model_loan_documents"/> | 
				
			||||
 | 
					        <field name="global" eval="True"/> | 
				
			||||
 | 
					        <field name="domain_force">[('company_id', 'in', company_ids)]</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--     model_loan_type--> | 
				
			||||
 | 
					    <record id="loan_type_multi_company_rule" model="ir.rule"> | 
				
			||||
 | 
					        <field name="name">Loan Type Multi Company</field> | 
				
			||||
 | 
					        <field name="model_id" ref="model_loan_type"/> | 
				
			||||
 | 
					        <field name="global" eval="True"/> | 
				
			||||
 | 
					        <field name="domain_force">[('company_id', 'in', company_ids)]</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--    model_repayment_line--> | 
				
			||||
 | 
					    <record id="repayment_line_multi_company_rule" model="ir.rule"> | 
				
			||||
 | 
					        <field name="name">Repayment Line Multi Company</field> | 
				
			||||
 | 
					        <field name="model_id" ref="model_repayment_line"/> | 
				
			||||
 | 
					        <field name="global" eval="True"/> | 
				
			||||
 | 
					        <field name="domain_force">[('company_id', 'in', company_ids)]</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					<!--       User Group Access Rule--> | 
				
			||||
 | 
					    <record id="loan_request_user_rule" model="ir.rule"> | 
				
			||||
 | 
					        <field name="name">Access Only Loan Request Created By User</field> | 
				
			||||
 | 
					        <field ref="model_loan_request" name="model_id"/> | 
				
			||||
 | 
					        <field name="domain_force">[('create_uid', '=', user.id)]</field> | 
				
			||||
 | 
					        <field name="groups" | 
				
			||||
 | 
					               eval="[(4, ref('advanced_loan_management.loan_management_group_user'))]"/> | 
				
			||||
 | 
					        <field name="perm_read" eval="True"/> | 
				
			||||
 | 
					        <field name="perm_write" eval="True"/> | 
				
			||||
 | 
					        <field name="perm_create" eval="True"/> | 
				
			||||
 | 
					        <field name="perm_unlink" eval="True"/> | 
				
			||||
 | 
					        <field name="active" eval="True"/> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
| 
		 After Width: | Height: | Size: 3.6 KiB  | 
| 
		 After Width: | Height: | Size: 310 B  | 
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 576 B  | 
| 
		 After Width: | Height: | Size: 733 B  | 
| 
		 After Width: | Height: | Size: 911 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 673 B  | 
| 
		 After Width: | Height: | Size: 878 B  | 
| 
		 After Width: | Height: | Size: 653 B  | 
| 
		 After Width: | Height: | Size: 905 B  | 
| 
		 After Width: | Height: | Size: 839 B  | 
| 
		 After Width: | Height: | Size: 427 B  | 
| 
		 After Width: | Height: | Size: 627 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 988 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 80 KiB  | 
| 
		 After Width: | Height: | Size: 1.5 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.9 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 2.1 KiB  | 
| 
		 After Width: | Height: | Size: 4.4 KiB  | 
| 
		 After Width: | Height: | Size: 589 B  | 
| 
		 After Width: | Height: | Size: 3.4 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
| 
		 After Width: | Height: | Size: 967 B  | 
| 
		 After Width: | Height: | Size: 1.6 KiB  | 
| 
		 After Width: | Height: | Size: 3.8 KiB  | 
| 
		 After Width: | Height: | Size: 5.0 KiB  | 
| 
		 After Width: | Height: | Size: 532 KiB  | 
| 
		 After Width: | Height: | Size: 84 KiB  | 
| 
		 After Width: | Height: | Size: 50 KiB  | 
| 
		 After Width: | Height: | Size: 46 KiB  | 
| 
		 After Width: | Height: | Size: 85 KiB  | 
| 
		 After Width: | Height: | Size: 76 KiB  | 
| 
		 After Width: | Height: | Size: 15 KiB  | 
| 
		 After Width: | Height: | Size: 51 KiB  | 
| 
		 After Width: | Height: | Size: 134 KiB  | 
| 
		 After Width: | Height: | Size: 134 KiB  | 
| 
		 After Width: | Height: | Size: 35 KiB  | 
| 
		 After Width: | Height: | Size: 90 KiB  | 
| 
		 After Width: | Height: | Size: 110 KiB  | 
| 
		 After Width: | Height: | Size: 165 KiB  | 
| 
		 After Width: | Height: | Size: 55 KiB  | 
| 
		 After Width: | Height: | Size: 50 KiB  | 
| 
		 After Width: | Height: | Size: 134 KiB  | 
| 
		 After Width: | Height: | Size: 109 KiB  | 
| 
		 After Width: | Height: | Size: 134 KiB  | 
| 
		 After Width: | Height: | Size: 138 KiB  | 
| 
		 After Width: | Height: | Size: 42 KiB  | 
| 
		 After Width: | Height: | Size: 56 KiB  | 
| 
		 After Width: | Height: | Size: 35 KiB  | 
| 
		 After Width: | Height: | Size: 78 KiB  | 
| 
		 After Width: | Height: | Size: 90 KiB  | 
| 
		 After Width: | Height: | Size: 100 KiB  | 
| 
		 After Width: | Height: | Size: 100 KiB  | 
| 
		 After Width: | Height: | Size: 110 KiB  | 
| 
		 After Width: | Height: | Size: 118 KiB  | 
| 
		 After Width: | Height: | Size: 81 KiB  | 
| 
		 After Width: | Height: | Size: 15 KiB  | 
@ -0,0 +1,912 @@ | 
				
			|||||
 | 
					<!DOCTYPE html> | 
				
			||||
 | 
					<html lang="en"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<head> | 
				
			||||
 | 
					    <meta charset="UTF-8"> | 
				
			||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 
				
			||||
 | 
					    <title>Odoo App 3 Index</title> | 
				
			||||
 | 
					    <!-- Bootstrap CSS --> | 
				
			||||
 | 
					    <link rel="stylesheet" | 
				
			||||
 | 
					          href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" | 
				
			||||
 | 
					          integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" | 
				
			||||
 | 
					          crossorigin="anonymous"> | 
				
			||||
 | 
					    <link rel="stylesheet" | 
				
			||||
 | 
					          href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css"> | 
				
			||||
 | 
					    <link rel="preconnect" href="https://fonts.googleapis.com"> | 
				
			||||
 | 
					    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | 
				
			||||
 | 
					    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" | 
				
			||||
 | 
					          rel="stylesheet"> | 
				
			||||
 | 
					</head> | 
				
			||||
 | 
					<body> | 
				
			||||
 | 
					<section> | 
				
			||||
 | 
					    <div class="container" | 
				
			||||
 | 
					         style="font-family: 'Inter', sans-serif !important;background-color: #fff !important;"> | 
				
			||||
 | 
					        <div class="row"> | 
				
			||||
 | 
					            <div class="col-sm-12 col-md-12 col-lg-12 d-flex justify-content-between flex-wrap align-items-sm-center" | 
				
			||||
 | 
					                 style="border-bottom:1px solid rgba(0, 0, 0, 0.22)"> | 
				
			||||
 | 
					                <div class="my-3"> | 
				
			||||
 | 
					                    <img src="assets/misc/Cybrosys R.png" | 
				
			||||
 | 
					                         style="width:auto !important; height:40px !important"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="my-3 d-flex align-items-center"> | 
				
			||||
 | 
					                    <div class="text-center" | 
				
			||||
 | 
					                         style="background-color:#017E84 !important;font-size: 0.8rem !important; color:#fff !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important; min-width: 120px !important;"> | 
				
			||||
 | 
					                        Community | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="text-center" | 
				
			||||
 | 
					                         style="background-color:#875A7B !important; color:#fff !important;font-size: 0.8rem !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important;min-width: 120px !important;"> | 
				
			||||
 | 
					                        Enterprise | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="text-center" | 
				
			||||
 | 
					                         style="background-color:#7C7BAD !important; color:#fff !important;font-size: 0.8rem !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important; min-width: 120px !important;"> | 
				
			||||
 | 
					                        Odoo.sh | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="row"> | 
				
			||||
 | 
					            <div class="col-sm-12 col-md-12 col-lg-12 text-center d-flex align-items-center flex-column" | 
				
			||||
 | 
					                 style="margin: 80px 0px !important;"> | 
				
			||||
 | 
					                <h1 style="font-size: 2.8rem;font-weight: 700; color: | 
				
			||||
 | 
					                    #1A202C;"> | 
				
			||||
 | 
					                    Loan Management</h1> | 
				
			||||
 | 
					                <p class="my-3 mb-4" | 
				
			||||
 | 
					                   style="max-width: 80%; font-weight: 400 !important; line-height: 32px; color: #718096;"> | 
				
			||||
 | 
					                    Manage Loan Disburse/Amortization Activities. | 
				
			||||
 | 
					                </p> | 
				
			||||
 | 
					                <div style="width: 80%; margin-top: 3rem;"> | 
				
			||||
 | 
					                    <img src="assets/screenshots/hero.gif" | 
				
			||||
 | 
					                         class="img-responsive" width="100%" height="auto"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="container mt-5 mb-5"> | 
				
			||||
 | 
					            <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-4"> | 
				
			||||
 | 
					                <p class="m-0" | 
				
			||||
 | 
					                   style="font-weight: 600; font-size: 24px; color:#714b67 !important"> | 
				
			||||
 | 
					                    Key Highlights | 
				
			||||
 | 
					                </p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="row py-4"> | 
				
			||||
 | 
					                <div class="col-md-6 col-sm-12 p-3"> | 
				
			||||
 | 
					                    <div class="d-flex   h-100" style="padding: 30px;border-radius: 12px; | 
				
			||||
 | 
					                                    background: #FFF; | 
				
			||||
 | 
					                                    box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); "> | 
				
			||||
 | 
					                        <div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67; | 
				
			||||
 | 
					                                    display: flex; justify-content: center; align-items: center; | 
				
			||||
 | 
					                                    margin-right: 10px; flex-shrink: 0;"> | 
				
			||||
 | 
					                            <i class="fa-solid fa-star  " | 
				
			||||
 | 
					                               style="color: #fff;font-size:14px;"></i> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div> | 
				
			||||
 | 
					                            <p style="color: #1A202C;font-weight: 600; | 
				
			||||
 | 
					                                      font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                                Create And Manage Different Loan Types.</p> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-6 col-sm-12 p-3"> | 
				
			||||
 | 
					                    <div class="d-flex   h-100" style="padding: 30px;border-radius: 12px; | 
				
			||||
 | 
					                                    background: #FFF; | 
				
			||||
 | 
					                                    box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); "> | 
				
			||||
 | 
					                        <div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67; | 
				
			||||
 | 
					                                    display: flex; justify-content: center; align-items: center; | 
				
			||||
 | 
					                                    margin-right: 10px; flex-shrink: 0;"> | 
				
			||||
 | 
					                            <i class="fa-solid fa-star  " | 
				
			||||
 | 
					                               style="color: #fff;font-size:14px;"></i> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div> | 
				
			||||
 | 
					                            <p style="color: #1A202C;font-weight: 600; | 
				
			||||
 | 
					                                      font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                                Can Add Documents as Proofs</p> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-6 col-sm-12 p-3"> | 
				
			||||
 | 
					                    <div class="d-flex   h-100" style="padding: 30px;border-radius: 12px; | 
				
			||||
 | 
					                                    background: #FFF; | 
				
			||||
 | 
					                                    box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); "> | 
				
			||||
 | 
					                        <div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67; | 
				
			||||
 | 
					                                    display: flex; justify-content: center; align-items: center; | 
				
			||||
 | 
					                                    margin-right: 10px; flex-shrink: 0;"> | 
				
			||||
 | 
					                            <i class="fa-solid fa-star  " | 
				
			||||
 | 
					                               style="color: #fff;font-size:14px;"></i> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div> | 
				
			||||
 | 
					                            <p style="color: #1A202C;font-weight: 600; | 
				
			||||
 | 
					                                      font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                                Manage Requests For Loan</p> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-6 col-sm-12 p-3"> | 
				
			||||
 | 
					                    <div class="d-flex   h-100" style="padding: 30px;border-radius: 12px; | 
				
			||||
 | 
					                                    background: #FFF; | 
				
			||||
 | 
					                                    box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); "> | 
				
			||||
 | 
					                        <div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67; | 
				
			||||
 | 
					                                    display: flex; justify-content: center; align-items: center; | 
				
			||||
 | 
					                                    margin-right: 10px; flex-shrink: 0;"> | 
				
			||||
 | 
					                            <i class="fa-solid fa-star  " | 
				
			||||
 | 
					                               style="color: #fff;font-size:14px;"></i> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div> | 
				
			||||
 | 
					                            <p style="color: #1A202C;font-weight: 600; | 
				
			||||
 | 
					                                      font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                                Mail Notification For Confirming Loan Request.</p> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-6 col-sm-12 p-3"> | 
				
			||||
 | 
					                    <div class="d-flex   h-100" style="padding: 30px;border-radius: 12px; | 
				
			||||
 | 
					                                    background: #FFF; | 
				
			||||
 | 
					                                    box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); "> | 
				
			||||
 | 
					                        <div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67; | 
				
			||||
 | 
					                                    display: flex; justify-content: center; align-items: center; | 
				
			||||
 | 
					                                    margin-right: 10px; flex-shrink: 0;"> | 
				
			||||
 | 
					                            <i class="fa-solid fa-star  " | 
				
			||||
 | 
					                               style="color: #fff;font-size:14px;"></i> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div> | 
				
			||||
 | 
					                            <p style="color: #1A202C;font-weight: 600; | 
				
			||||
 | 
					                                      font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                                Quick Repayment Schedule Calculation.</p> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-6 col-sm-12 p-3"> | 
				
			||||
 | 
					                    <div class="d-flex   h-100" style="padding: 30px;border-radius: 12px; | 
				
			||||
 | 
					                                    background: #FFF; | 
				
			||||
 | 
					                                    box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.25); "> | 
				
			||||
 | 
					                        <div style="width: 36px; height: 36px; border-radius: 50%; background: #714B67; | 
				
			||||
 | 
					                                    display: flex; justify-content: center; align-items: center; | 
				
			||||
 | 
					                                    margin-right: 10px; flex-shrink: 0;"> | 
				
			||||
 | 
					                            <i class="fa-solid fa-star  " | 
				
			||||
 | 
					                               style="color: #fff;font-size:14px;"></i> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <div> | 
				
			||||
 | 
					                            <p style="color: #1A202C;font-weight: 600; | 
				
			||||
 | 
					                                      font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                                Print Individual Loan Report.</p> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="container rounded"> | 
				
			||||
 | 
					            <ul class="nav nav-tabs d-flex" | 
				
			||||
 | 
					                style="width: fit-content;margin: 0 auto;gap: 1rem;"> | 
				
			||||
 | 
					                <li class="col text-center py-2 text-nowrap " | 
				
			||||
 | 
					                    style="color: #fff; background-color: #714B67;border-radius: 6px 6px 0px 0px;"> | 
				
			||||
 | 
					                    <a | 
				
			||||
 | 
					                            class="active show" data-toggle="tab" href="#tab1" | 
				
			||||
 | 
					                            style="color: #fff;font-weight: 500; background-color: #714B67; text-decoration: none;"> | 
				
			||||
 | 
					                        <i class="fa-regular fa-image  pr-2" | 
				
			||||
 | 
					                           style="color: #fff;"></i> | 
				
			||||
 | 
					                        Screenshots</a></li> | 
				
			||||
 | 
					                <li class="col text-center py-2 text-nowrap " | 
				
			||||
 | 
					                    style="color: #fff; background-color: #714B67;border-radius: 6px 6px 0px 0px;"> | 
				
			||||
 | 
					                    <a | 
				
			||||
 | 
					                            data-toggle="tab" href="#tab2" | 
				
			||||
 | 
					                            style="color: #fff;font-weight: 500;  text-decoration: none;"><i | 
				
			||||
 | 
					                            class="fa-solid fa-star  pr-2" | 
				
			||||
 | 
					                            style="color: #fff;"></i>Features</a></li> | 
				
			||||
 | 
					                <li class="col text-center py-2 text-nowrap " | 
				
			||||
 | 
					                    style="color: #fff; background-color: #714B67;border-radius: 6px 6px 0px 0px;"> | 
				
			||||
 | 
					                    <a | 
				
			||||
 | 
					                            data-toggle="tab" href="#tab3" | 
				
			||||
 | 
					                            style="color: #fff;font-weight: 500; text-decoration: none; background-color: #714B67;"><i | 
				
			||||
 | 
					                            class="fa-solid fa-book-open  pr-2" | 
				
			||||
 | 
					                            style="color: #fff;"></i>Released Notes</a></li> | 
				
			||||
 | 
					            </ul> | 
				
			||||
 | 
					            <div class="tab-content" | 
				
			||||
 | 
					                 style="background-color: rgba(121, 113, 119, 0.04);"> | 
				
			||||
 | 
					                <div id="tab1" class="tab-pane fade in active show"> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss1.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    There are two type of User Access</h4> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss2.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Different Types Of Loan</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> | 
				
			||||
 | 
					                                    Can create different loan types | 
				
			||||
 | 
					                                    </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss3.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Add Documents</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> | 
				
			||||
 | 
					                                    Go to Documents -> Loan Proofs->Create Documents.(For easy loan approvals) | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss4.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Loan Requests</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> | 
				
			||||
 | 
					                                    Can create loan requests for each customer's | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss5.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"><img src="assets/screenshots/ss6.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Computing Repayment Schedule</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> Can create repayment schedule lines | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss7.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Request For Approval</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> User can send request to manager for approval and state changes to 'waiting for approval' | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss8.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Approve/Reject</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> Manager can approve or reject the loan | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss9.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Disburse The Loan</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> Can disburse the loan to the customer by creating journal entry of disbursal | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss10.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Invoicing Products</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> Choose invoicing products from configuration | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss11.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"><img src="assets/screenshots/ss12.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Create Invoice</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> Create invoices for each repayments | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss13.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    Close Loan</h4> | 
				
			||||
 | 
					                                <h6 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:300 !important; color:#282F33 !important; font-size:0.7rem !important"> Change the state to closed after all repayments are paid | 
				
			||||
 | 
					                                </h6> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-lg-12 py-2" | 
				
			||||
 | 
					                         style="padding: 1rem 4rem !important;"> | 
				
			||||
 | 
					                        <div | 
				
			||||
 | 
					                                style="border: 1px solid #d8d6d6; border-radius: 4px;  background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="row justify-content-center p-3 w-100 m-0"> | 
				
			||||
 | 
					                                <img src="assets/screenshots/ss14.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"><img src="assets/screenshots/ss15.png" | 
				
			||||
 | 
					                                     class="img-responsive" width="100%" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="px-3"> | 
				
			||||
 | 
					                                <h4 class="mt-2" | 
				
			||||
 | 
					                                    style=" font-weight:600 !important; color:#282F33 !important; font-size:1.3rem !important"> | 
				
			||||
 | 
					                                    PDF Report</h4> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div id="tab2" class="tab-pane fade"> | 
				
			||||
 | 
					                    <div class="col-mg-12" style="padding: 1rem 4rem;"> | 
				
			||||
 | 
					                        <ul style="list-style: none; padding: 1rem 0;font-weight: 500;"> | 
				
			||||
 | 
					                            <li class="py-3" | 
				
			||||
 | 
					                                style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                                    <span style="margin-right: 12px;"><img | 
				
			||||
 | 
					                                            src="assets/misc/star (1) 2.svg" | 
				
			||||
 | 
					                                            alt="" | 
				
			||||
 | 
					                                            width="16px"></span>Create And Manage Different Loan Types. | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                            <li class="py-3" | 
				
			||||
 | 
					                                style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                                    <span style="margin-right: 12px;"><img | 
				
			||||
 | 
					                                            src="assets/misc/star (1) 2.svg" | 
				
			||||
 | 
					                                            alt="" | 
				
			||||
 | 
					                                            width="16px"></span>Can Add Documents as Proofs | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                            <li class="py-3" | 
				
			||||
 | 
					                                style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                                    <span style="margin-right: 12px;"><img | 
				
			||||
 | 
					                                            src="assets/misc/star (1) 2.svg" | 
				
			||||
 | 
					                                            alt="" | 
				
			||||
 | 
					                                            width="16px"></span>Manage Requests For Loan | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                            <li class="py-3" | 
				
			||||
 | 
					                                style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                                    <span style="margin-right: 12px;"><img | 
				
			||||
 | 
					                                            src="assets/misc/star (1) 2.svg" | 
				
			||||
 | 
					                                            alt="" | 
				
			||||
 | 
					                                            width="16px"></span>Mail Notification For Confirming Loan Request | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                            <li class="py-3" | 
				
			||||
 | 
					                                style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                                    <span style="margin-right: 12px;"><img | 
				
			||||
 | 
					                                            src="assets/misc/star (1) 2.svg" | 
				
			||||
 | 
					                                            alt="" | 
				
			||||
 | 
					                                            width="16px"></span>Quick Repayment Schedule Calculation. | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                            <li class="py-3" | 
				
			||||
 | 
					                                style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                                    <span style="margin-right: 12px;"><img | 
				
			||||
 | 
					                                            src="assets/misc/star (1) 2.svg" | 
				
			||||
 | 
					                                            alt="" | 
				
			||||
 | 
					                                            width="16px"></span>Print Individual Loan Report. | 
				
			||||
 | 
					                            </li> | 
				
			||||
 | 
					                        </ul> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div id="tab3" class="tab-pane fade"> | 
				
			||||
 | 
					                    <div class="col-mg-12 active" style="padding: 1rem 4rem;"> | 
				
			||||
 | 
					                        <div class="py-3" | 
				
			||||
 | 
					                             style="font-weight: 500;background-color: #fff; border-radius: 4px; padding: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);"> | 
				
			||||
 | 
					                            <div class="d-flex mb-3" | 
				
			||||
 | 
					                                 style="font-size: 0.8rem; font-weight: 500;"><span>Version | 
				
			||||
 | 
					                                        17.0.1.0.0</span><span | 
				
			||||
 | 
					                                    class="px-2">|</span><span | 
				
			||||
 | 
					                                    style="color: #714B67;font-weight: 600;">Released on:30th Mar 2024</span> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <p class="m-0" | 
				
			||||
 | 
					                               style=" color:#718096!important; font-size:1rem !important;line-height: 28px;"> | 
				
			||||
 | 
					                                Loan Management</p> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="container mt-5"> | 
				
			||||
 | 
					            <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-5"> | 
				
			||||
 | 
					                <p class="m-0" | 
				
			||||
 | 
					                   style="font-weight: 600; font-size: 24px; color:#000 !important"> | 
				
			||||
 | 
					                    Related Products</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					            <div id="myCarousel" class="carousel slide py-3" data-ride="carousel"> | 
				
			||||
 | 
					                <div class="carousel-inner"> | 
				
			||||
 | 
					                    <div class="carousel-item active"> | 
				
			||||
 | 
					                        <div class="row p-4"> | 
				
			||||
 | 
					                            <div class="col"> | 
				
			||||
 | 
					                                <div class="p-3"> | 
				
			||||
 | 
					                                    <a href="https://apps.odoo.com/apps/modules/17.0/hr_payroll_community/" style="color: #000; text-decoration: none;"> | 
				
			||||
 | 
					                                        <div style="border:1px solid #CBCBCB !important;border-radius: 4px;"> | 
				
			||||
 | 
					                                            <div style="width: 300px; "> | 
				
			||||
 | 
					                                                <img src="assets/modules/banner6.jpg" alt="" width="100%" height="auto"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                            <p class="text-center pt-2 text-black font-weight-bold">H R Payroll Community</p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </a> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="col"> | 
				
			||||
 | 
					                                <div class="p-3"> | 
				
			||||
 | 
					                                    <a href=https://apps.odoo.com/apps/modules/17.0/auto_database_backup/" style="color: #000; text-decoration: none;"> | 
				
			||||
 | 
					                                        <div style="border:1px solid #CBCBCB !important;border-radius: 4px;"> | 
				
			||||
 | 
					                                            <div style="width: 300px; "> | 
				
			||||
 | 
					                                                <img src="assets/modules/banner1.gif" alt="" width="100%" height="auto"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                            <p class="text-center pt-2 text-black font-weight-bold">Automatic database Backup</p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </a> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="col"> | 
				
			||||
 | 
					                                <div class="p-3"> | 
				
			||||
 | 
					                                    <a href="https://apps.odoo.com/apps/modules/17.0/hr_zk_attendance/" style="color: #000; text-decoration: none;"> | 
				
			||||
 | 
					                                        <div style="border:1px solid #CBCBCB !important;border-radius: 4px;"> | 
				
			||||
 | 
					                                            <div style="width: 300px; "> | 
				
			||||
 | 
					                                                <img src="assets/modules/banner3.png" alt="" width="100%" height="auto"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                            <p class="text-center pt-2 text-black font-weight-bold">Biometric Device Integration</p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </a> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="carousel-item"> | 
				
			||||
 | 
					                        <div class="row p-4"> | 
				
			||||
 | 
					                            <div class="col"> | 
				
			||||
 | 
					                                <div class="p-3"> | 
				
			||||
 | 
					                                    <a href="https://apps.odoo.com/apps/modules/17.0/hide_menu_user/" style="color: #000; text-decoration: none;"> | 
				
			||||
 | 
					                                        <div style="border:1px solid #CBCBCB !important;border-radius: 4px;"> | 
				
			||||
 | 
					                                            <div style="width: 300px; "> | 
				
			||||
 | 
					                                                <img src="assets/modules/banner2.jpg" alt="" width="100%" height="auto"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                            <p class="text-center pt-2 text-black font-weight-bold">Hide Any Menu User Wise</p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </a> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="col"> | 
				
			||||
 | 
					                                <div class="p-3"> | 
				
			||||
 | 
					                                    <a href="https://apps.odoo.com/apps/modules/17.0/invoice_format_editor/" style="color: #000; text-decoration: none;"> | 
				
			||||
 | 
					                                        <div style="border:1px solid #CBCBCB !important;border-radius: 4px;"> | 
				
			||||
 | 
					                                            <div style="width: 300px;"> | 
				
			||||
 | 
					                                                <img src="assets/modules/banner4.png" alt="" width="100%" height="auto"> | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                            <p class="text-center pt-2 text-black font-weight-bold">Invoice format editor</p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </a> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="col"> | 
				
			||||
 | 
					                                <div class="p-3"> | 
				
			||||
 | 
					                                    <a href="https://apps.odoo.com/apps/modules/17.0/whatsapp_redirect/" style="color: #000; text-decoration: none;"> | 
				
			||||
 | 
					                                        <div style="border:1px solid #CBCBCB !important;border-radius: 4px;"> | 
				
			||||
 | 
					                                            <div style="width: 300px;"> | 
				
			||||
 | 
					                                                <img src="assets/modules/banner5.jpg" alt="" width="100%" height="auto"> | 
				
			||||
 | 
					                                            </div> | 
				
			||||
 | 
					                                            <p class="text-center pt-2 text-black font-weight-bold"> Sent whatsapp message</p> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </a> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <a class="carousel-control-prev" href="#myCarousel" data-slide="prev" style="width: 35px; color: #000;"> | 
				
			||||
 | 
					                    <span class="carousel-control-prev-icon"> | 
				
			||||
 | 
					                        <i class="fa fa-chevron-left" style="font-size: 24px;"></i> | 
				
			||||
 | 
					                    </span> | 
				
			||||
 | 
					                </a> | 
				
			||||
 | 
					                <a class="carousel-control-next" href="#myCarousel" data-slide="next" style="width: 35px; color: #000;"> | 
				
			||||
 | 
					                    <span class="carousel-control-next-icon"> | 
				
			||||
 | 
					                        <i class="fa fa-chevron-right" style="font-size: 24px;"></i> | 
				
			||||
 | 
					                    </span> | 
				
			||||
 | 
					                </a> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        <div class="container mt-5"> | 
				
			||||
 | 
					            <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-4"> | 
				
			||||
 | 
					                <p class="m-0" | 
				
			||||
 | 
					                   style="font-weight: 600; font-size: 24px; color:#000 !important"> | 
				
			||||
 | 
					                    Our Services</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="container my-5"> | 
				
			||||
 | 
					            <div class="row py-3"> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center;  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;"> | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#13EA36 ; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/cogs.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Odoo | 
				
			||||
 | 
					                            Customization</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;"> | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#DBC711; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/wrench.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Odoo | 
				
			||||
 | 
					                            Implementation</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center;  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative; border-radius: 4px;"> | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#FF6B6B ; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/lifebuoy.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Odoo | 
				
			||||
 | 
					                            Support</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative; border-radius: 4px;"> | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#FFA801 ; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/user.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Hire | 
				
			||||
 | 
					                            Odoo Developer</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center;  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative; border-radius: 4px;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#54A0FF; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/puzzle.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Odoo | 
				
			||||
 | 
					                            Integration</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center;  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;"> | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#6D7680 ; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/update.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Odoo | 
				
			||||
 | 
					                            Migration</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center;  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;"> | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#786FA6 ; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/consultation.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Odoo | 
				
			||||
 | 
					                            Consultancy</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;position: relative;border-radius: 4px;"> | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#F8A5C2 ; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/training.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Odoo | 
				
			||||
 | 
					                            Implementation</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-4 col-sm-6 px-4 py-4"> | 
				
			||||
 | 
					                    <div | 
				
			||||
 | 
					                            style="background-color: #fff; padding: 25px; text-align: center;  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; position: relative;border-radius: 4px;"> | 
				
			||||
 | 
					                        <div style="position: absolute; top: 0%; left: 50%; transform: translate(-50%, -50%);"> | 
				
			||||
 | 
					                            <div style="background-color:#E6BE26; border-radius: 50%; padding: 15px;    width: 68px; | 
				
			||||
 | 
					                                    height: 68px; display: inline-block; box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);"> | 
				
			||||
 | 
					                                <img src="assets/icons/license.png" | 
				
			||||
 | 
					                                     alt="service-icon" width="38px" | 
				
			||||
 | 
					                                     height="auto"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <p style="margin-top: 20px; font-weight: bold;">Odoo | 
				
			||||
 | 
					                            Licensing Consultancy</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="container mt-5"> | 
				
			||||
 | 
					            <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-4"> | 
				
			||||
 | 
					                <p class="m-0" | 
				
			||||
 | 
					                   style="font-weight: 600; font-size: 24px; color:#000 !important"> | 
				
			||||
 | 
					                    Our Industries</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="container"> | 
				
			||||
 | 
					            <div class="row my-5 py-4"> | 
				
			||||
 | 
					                <div class="col-md-3 col-sm-6 p-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column h-100 " | 
				
			||||
 | 
					                         style="border-right: 1px solid rgb(209, 209, 209); border-bottom: 1px solid  rgb(209, 209, 209); padding: 30px; box-shadow: 6px 0 10px rgba(228, 227, 227, 0.373);"> | 
				
			||||
 | 
					                        <img src="assets/icons/trading-black.png" width="42px" | 
				
			||||
 | 
					                             height="auto" alt=""> | 
				
			||||
 | 
					                        <p style="color: #714B67;font-weight: 600; margin-top: 10px; | 
				
			||||
 | 
					                           font-size: 1.2rem; margin-bottom: 2px;">Trading</p> | 
				
			||||
 | 
					                        <p>Easily procure and sell your products</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-3 col-sm-6  p-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column h-100" | 
				
			||||
 | 
					                         style="border-right: 1px solid rgb(209, 209, 209);border-bottom: 1px solid  rgb(209, 209, 209); padding: 30px;"> | 
				
			||||
 | 
					                        <img src="assets/icons/pos-black.png" width="42px" | 
				
			||||
 | 
					                             height="auto" alt=""> | 
				
			||||
 | 
					                        <p style="color: #714B67;font-weight: 600; margin-top: 10px; | 
				
			||||
 | 
					                            font-size: 1.2rem; margin-bottom: 2px;">POS</p> | 
				
			||||
 | 
					                        <p>Easy configuration and convivial experience</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-3 col-sm-6  p-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column h-100" | 
				
			||||
 | 
					                         style="border-right: 1px solid  rgb(209, 209, 209);border-bottom: 1px solid   rgba(0, 0, 0, 0.2); padding: 30px; box-shadow: 0 5px 10px  rgba(228, 227, 227, 0.373)"> | 
				
			||||
 | 
					                        <img src="assets/icons/education-black.png" width="42px" | 
				
			||||
 | 
					                             height="auto" alt=""> | 
				
			||||
 | 
					                        <p style="color: #714B67;font-weight: 600; margin-top: 10px; | 
				
			||||
 | 
					                            font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                            Education</p> | 
				
			||||
 | 
					                        <p>A platform for educational management</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-3 col-sm-6  p-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column h-100" | 
				
			||||
 | 
					                         style="border-bottom: 1px solid  rgb(209, 209, 209); padding: 30px; "> | 
				
			||||
 | 
					                        <img src="assets/icons/manufacturing-black.png" | 
				
			||||
 | 
					                             width="42px" height="auto" alt=""> | 
				
			||||
 | 
					                        <p style="color: #714B67;font-weight: 600; margin-top: 10px; | 
				
			||||
 | 
					                            font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                            Manufacturing</p> | 
				
			||||
 | 
					                        <p>Plan, track and schedule your operations</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-3 col-sm-6 p-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column h-100" | 
				
			||||
 | 
					                         style="border-right: 1px solid  rgb(209, 209, 209); padding: 30px;"> | 
				
			||||
 | 
					                        <img src="assets/icons/ecom-black.png" width="42px" | 
				
			||||
 | 
					                             height="auto" alt=""> | 
				
			||||
 | 
					                        <p style="color: #714B67;font-weight: 600; margin-top: 10px; | 
				
			||||
 | 
					                            font-size: 1.2rem; margin-bottom: 2px;">E-commerce & | 
				
			||||
 | 
					                            Website</p> | 
				
			||||
 | 
					                        <p>Mobile friendly, awe-inspiring product pages</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-3 col-sm-6   p-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column h-100" | 
				
			||||
 | 
					                         style="border-right: 1px solid  rgb(209, 209, 209); padding: 30px;box-shadow: 0 -5px 10px  rgba(228, 227, 227, 0.373);"> | 
				
			||||
 | 
					                        <img src="assets/icons/service-black.png" width="42px" | 
				
			||||
 | 
					                             height="auto" alt=""> | 
				
			||||
 | 
					                        <p style="color: #714B67;font-weight: 600; margin-top: 10px; | 
				
			||||
 | 
					                            font-size: 1.2rem; margin-bottom: 2px;">Service | 
				
			||||
 | 
					                            Management</p> | 
				
			||||
 | 
					                        <p>Keep track of services and invoice</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-3 col-sm-6    p-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column h-100" | 
				
			||||
 | 
					                         style="border-right: 1px solid  rgb(209, 209, 209); padding: 30px; "> | 
				
			||||
 | 
					                        <img src="assets/icons/restaurant-black.png" | 
				
			||||
 | 
					                             width="42px" height="auto" alt=""> | 
				
			||||
 | 
					                        <p style="color: #714B67;font-weight: 600; margin-top: 10px; | 
				
			||||
 | 
					                            font-size: 1.2rem; margin-bottom: 2px;"> | 
				
			||||
 | 
					                            Restaurant</p> | 
				
			||||
 | 
					                        <p>Run your bar or restaurant methodically</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-3 col-sm-6   p-0"> | 
				
			||||
 | 
					                    <div class="d-flex flex-column h-100" | 
				
			||||
 | 
					                         style=" padding: 30px;box-shadow: -5px 0 10px  rgba(228, 227, 227, 0.373);"> | 
				
			||||
 | 
					                        <img src="assets/icons/hotel-black.png" width="42px" | 
				
			||||
 | 
					                             height="auto" alt=""> | 
				
			||||
 | 
					                        <p style="color: #714B67;font-weight: 600; margin-top: 10px; | 
				
			||||
 | 
					                            font-size: 1.2rem; margin-bottom: 2px;">Hotel | 
				
			||||
 | 
					                            Management</p> | 
				
			||||
 | 
					                        <p>An all-inclusive hotel management application</p> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="container mt-5"> | 
				
			||||
 | 
					            <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mt-5"> | 
				
			||||
 | 
					                <p class="m-0" | 
				
			||||
 | 
					                   style="font-weight: 600; font-size: 24px; color:#000 !important"> | 
				
			||||
 | 
					                    Support</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="container my-5"> | 
				
			||||
 | 
					            <div class="row" style="background-color: #FFFAFE;"> | 
				
			||||
 | 
					                <div class="col-md-6 pb-4  d-flex align-items-center justify-content-center" | 
				
			||||
 | 
					                     style="border-right: 1px solid #D9D9D9;"> | 
				
			||||
 | 
					                    <div style="padding: 30px;"> | 
				
			||||
 | 
					                        <div class="d-flex align-items-center"> | 
				
			||||
 | 
					                            <img src="assets/misc/support (1) 1.svg" alt="" | 
				
			||||
 | 
					                                 width="60px" style="margin-right: 12px;"> | 
				
			||||
 | 
					                            <div style="padding: 0px 8px;"> | 
				
			||||
 | 
					                                    <span | 
				
			||||
 | 
					                                            style="color: #714B67;font-size: 24px;font-weight: 600;padding-bottom: 1rem;">Need | 
				
			||||
 | 
					                                        Help?</span> | 
				
			||||
 | 
					                                <p class="m-0" style="color:#718096;">Got | 
				
			||||
 | 
					                                    questions or need help? Get in touch.</p> | 
				
			||||
 | 
					                                <div style="font-weight: 400;"><span><img | 
				
			||||
 | 
					                                        src="assets/misc/support-email.svg" | 
				
			||||
 | 
					                                        alt="" | 
				
			||||
 | 
					                                        width="18px" | 
				
			||||
 | 
					                                        style="filter: invert(1);margin-right: 0.8rem;"></span>odoo@cybrosys.com | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="col-md-6 pb-4 d-flex align-items-center justify-content-center"> | 
				
			||||
 | 
					                    <div style="padding: 30px;"> | 
				
			||||
 | 
					                        <div class="d-flex align-items-center"> | 
				
			||||
 | 
					                            <img src="assets/misc/whatsapp 1.svg" alt="" | 
				
			||||
 | 
					                                 width="60px" style="margin-right: 12px;"> | 
				
			||||
 | 
					                            <div> | 
				
			||||
 | 
					                                <span style="color: #714B67;font-size: 24px;font-weight: 600;">WhatsApp</span> | 
				
			||||
 | 
					                                <p class="m-0" style="color:#718096;">Say hi to | 
				
			||||
 | 
					                                    us on WhatsApp!</p> | 
				
			||||
 | 
					                                <div style="font-weight: 400; font-size: 16px;"><span><img | 
				
			||||
 | 
					                                        src="assets/misc/phone.svg" | 
				
			||||
 | 
					                                        alt="" width="14px" | 
				
			||||
 | 
					                                        style="filter: invert(1); margin-right: 0.8rem;"></span>+91 | 
				
			||||
 | 
					                                    99456767686 | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					<!-- Optional JavaScript --> | 
				
			||||
 | 
					<!-- jQuery first, then Popper.js, then Bootstrap JS --> | 
				
			||||
 | 
					<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> | 
				
			||||
 | 
					<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> | 
				
			||||
 | 
					</body> | 
				
			||||
 | 
					</html> | 
				
			||||
@ -0,0 +1,21 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--        Loan Documents Action--> | 
				
			||||
 | 
					    <record id="loan_documents_action" model="ir.actions.act_window"> | 
				
			||||
 | 
					        <field name="name">Loan Documents</field> | 
				
			||||
 | 
					        <field name="res_model">loan.documents</field> | 
				
			||||
 | 
					        <field name="view_mode">tree,form</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					    <!--        Loan Documents Tree View --> | 
				
			||||
 | 
					    <record id="loan_documents_view_tree" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">loan.documents.view.tree</field> | 
				
			||||
 | 
					        <field name="model">loan.documents</field> | 
				
			||||
 | 
					        <field name="priority" eval="8"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <tree string="Loan Documents" editable="bottom"> | 
				
			||||
 | 
					                <field name="loan_proofs"/> | 
				
			||||
 | 
					                <field name="company_id"/> | 
				
			||||
 | 
					            </tree> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,24 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					        <!--        Loan Management Menu Items--> | 
				
			||||
 | 
					        <menuitem id="loan_management_menu_root" name="Loan Management" | 
				
			||||
 | 
					                web_icon="advanced_loan_management,static/description/icon.png"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_loan" name="Loan" sequence="10" | 
				
			||||
 | 
					                  parent="loan_management_menu_root"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_request" name="Loan requests" | 
				
			||||
 | 
					                  parent="loan_management_loan" action="loan_request_action"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_type" name="Loan types" | 
				
			||||
 | 
					                  parent="loan_management_loan" action="loan_type_action"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_lines" name="Repayments" | 
				
			||||
 | 
					                  parent="loan_management_loan" action="repayment_line_action"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_certificates" name="Documents" sequence="15" | 
				
			||||
 | 
					                  parent="loan_management_menu_root"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_proofs" name="Loan Proofs" | 
				
			||||
 | 
					                  parent="loan_management_certificates" action="loan_documents_action"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_conf" name="Configuration" sequence="20" | 
				
			||||
 | 
					                  parent="loan_management_menu_root"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_settings" name="Settings" | 
				
			||||
 | 
					                  parent="loan_management_conf" action="res_config_settings_action"/> | 
				
			||||
 | 
					        <menuitem id="loan_management_report" name="Loan Report" sequence="20" | 
				
			||||
 | 
					                  parent="loan_management_menu_root"/> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,171 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					        <!--        Loan Request Action--> | 
				
			||||
 | 
					        <record id="loan_request_action" model="ir.actions.act_window"> | 
				
			||||
 | 
					            <field name="name">Loan Request</field> | 
				
			||||
 | 
					            <field name="res_model">loan.request</field> | 
				
			||||
 | 
					            <field name="view_mode">tree,form</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					        <!--        Loan Request Tree View--> | 
				
			||||
 | 
					        <record id="loan_request_view_tree" model="ir.ui.view"> | 
				
			||||
 | 
					            <field name="name">loan.request.view.tree</field> | 
				
			||||
 | 
					            <field name="model">loan.request</field> | 
				
			||||
 | 
					            <field name="priority" eval="8"/> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <tree string="Loan Request"> | 
				
			||||
 | 
					                    <field name="name"/> | 
				
			||||
 | 
					                    <field name="partner_id"/> | 
				
			||||
 | 
					                    <field name="loan_amount"/> | 
				
			||||
 | 
					                    <field name="interest_rate"/> | 
				
			||||
 | 
					                    <field name="date"/> | 
				
			||||
 | 
					                    <field name="tenure"/> | 
				
			||||
 | 
					                    <field name="company_id"/> | 
				
			||||
 | 
					                    <field name="state"/> | 
				
			||||
 | 
					                </tree> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <!--        Loan Request Form View--> | 
				
			||||
 | 
					        <record id="loan_request_view_form" model="ir.ui.view"> | 
				
			||||
 | 
					            <field name="name">loan.request.view.form</field> | 
				
			||||
 | 
					            <field name="model">loan.request</field> | 
				
			||||
 | 
					            <field name="priority" eval="8"/> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <form string="Loan Request"> | 
				
			||||
 | 
					                    <header> | 
				
			||||
 | 
					                        <div class="alert alert-info" role="alert" | 
				
			||||
 | 
					                             style="height: 40px; margin-bottom:0px;" | 
				
			||||
 | 
					                             invisible="[('state', 'not in', 'waiting for approval')]" | 
				
			||||
 | 
					                             groups="advanced_loan_management.loan_management_group_user"> | 
				
			||||
 | 
					                            Waiting for approval from the manager | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                        <field name="state" widget="statusbar" | 
				
			||||
 | 
					                               statusbar_visible="draft,confirmed,approved"/> | 
				
			||||
 | 
					                        <button name="action_loan_request" class="oe_highlight" | 
				
			||||
 | 
					                                invisible="state != 'draft'" | 
				
			||||
 | 
					                                string="Confirm" | 
				
			||||
 | 
					                                type="object"/> | 
				
			||||
 | 
					                        <button name="action_compute_repayment" class="oe_highlight" | 
				
			||||
 | 
					                                invisible="state != 'confirmed'" | 
				
			||||
 | 
					                                string="Compute Repayments" | 
				
			||||
 | 
					                                type="object"/> | 
				
			||||
 | 
					                        <button name="action_request_for_loan" class="oe_highlight" | 
				
			||||
 | 
					                                invisible="state != 'confirmed'" | 
				
			||||
 | 
					                                string="Request" | 
				
			||||
 | 
					                                type="object"/> | 
				
			||||
 | 
					                        <button name="action_loan_approved" class="oe_highlight" | 
				
			||||
 | 
					                                invisible="state != 'waiting for approval'" | 
				
			||||
 | 
					                                string="Approve" type="object" | 
				
			||||
 | 
					                                groups="advanced_loan_management.loan_management_group_manager"/> | 
				
			||||
 | 
					                        <button name="action_loan_rejected" class="oe_highlight" | 
				
			||||
 | 
					                                invisible="state != 'waiting for approval'" | 
				
			||||
 | 
					                                string="Reject" type="object" | 
				
			||||
 | 
					                                groups="advanced_loan_management.loan_management_group_manager"/> | 
				
			||||
 | 
					                        <button name="action_disburse_loan" class="oe_highlight" | 
				
			||||
 | 
					                                string="Disburse" | 
				
			||||
 | 
					                                invisible="state != 'approved'" | 
				
			||||
 | 
					                                type="object"/> | 
				
			||||
 | 
					                        <button name="action_close_loan" class="oe_highlight" | 
				
			||||
 | 
					                                string="Close" | 
				
			||||
 | 
					                                type="object" | 
				
			||||
 | 
					                                invisible="state != 'disbursed'"/> | 
				
			||||
 | 
					                    </header> | 
				
			||||
 | 
					                    <sheet> | 
				
			||||
 | 
					                        <div class="oe_title"> | 
				
			||||
 | 
					                            <h1> | 
				
			||||
 | 
					                                <field name="name" style="width: 50%%;" | 
				
			||||
 | 
					                                       placeholder="Loan Type"/> | 
				
			||||
 | 
					                            </h1> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <group> | 
				
			||||
 | 
					                            <group> | 
				
			||||
 | 
					                                <field name="partner_id"/> | 
				
			||||
 | 
					                                <field name="loan_type_id" | 
				
			||||
 | 
					                                       readonly="state != 'draft'"/> | 
				
			||||
 | 
					                            </group> | 
				
			||||
 | 
					                            <group> | 
				
			||||
 | 
					                                <field name="tenure" | 
				
			||||
 | 
					                                       readonly="state != 'draft'"/> | 
				
			||||
 | 
					                                <field name="disbursal_amount"/> | 
				
			||||
 | 
					                                <field name="currency_id"/> | 
				
			||||
 | 
					                                <field name="date"/> | 
				
			||||
 | 
					                                <field name="request" invisible="1"/> | 
				
			||||
 | 
					                            </group> | 
				
			||||
 | 
					                            <group> | 
				
			||||
 | 
					                                <field name="loan_amount"/> | 
				
			||||
 | 
					                                <field name="interest_rate" widget="percentage"/> | 
				
			||||
 | 
					                                <field name="company_id"/> | 
				
			||||
 | 
					                            </group> | 
				
			||||
 | 
					                        </group> | 
				
			||||
 | 
					                        <notebook> | 
				
			||||
 | 
					                            <page string="Repayment schedules" | 
				
			||||
 | 
					                                invisible="state == 'draft'"> | 
				
			||||
 | 
					                                <field name="repayment_lines_ids" readonly="1"> | 
				
			||||
 | 
					                                    <tree string="tree" create="false"> | 
				
			||||
 | 
					                                        <field name="name"/> | 
				
			||||
 | 
					                                        <field name="date"/> | 
				
			||||
 | 
					                                        <field name="amount"/> | 
				
			||||
 | 
					                                        <field name="interest_amount"/> | 
				
			||||
 | 
					                                        <field name="total_amount"/> | 
				
			||||
 | 
					                                        <field name="state" | 
				
			||||
 | 
					                                               column_invisible="parent.state != 'disbursed'" | 
				
			||||
 | 
					                                               widget="badge" | 
				
			||||
 | 
					                                               optional="show" | 
				
			||||
 | 
					                                               decoration-danger="state == 'unpaid'" | 
				
			||||
 | 
					                                               decoration-warning="state == 'invoiced'" | 
				
			||||
 | 
					                                               decoration-success="state == 'paid'"/> | 
				
			||||
 | 
					                                        <field name="invoice" invisible="1"/> | 
				
			||||
 | 
					                                        <button invisible="(invoice == True) or (state != 'unpaid') or (parent.state != 'disbursed')" | 
				
			||||
 | 
					                                                name="action_pay_emi" | 
				
			||||
 | 
					                                                class="oe_highlight" | 
				
			||||
 | 
					                                                string="Pay" | 
				
			||||
 | 
					                                                type="object"/> | 
				
			||||
 | 
					                                        <button invisible="(invoice == False) or (parent.state != 'disbursed')" | 
				
			||||
 | 
					                                                name="action_view_invoice" | 
				
			||||
 | 
					                                                class="oe_highlight" | 
				
			||||
 | 
					                                                string="View" | 
				
			||||
 | 
					                                                type="object"/> | 
				
			||||
 | 
					                                    </tree> | 
				
			||||
 | 
					                                </field> | 
				
			||||
 | 
					                            </page> | 
				
			||||
 | 
					                            <page string="Documents"> | 
				
			||||
 | 
					                                <group> | 
				
			||||
 | 
					                                    <field name="documents_ids" | 
				
			||||
 | 
					                                           widget="many2many_tags"/> | 
				
			||||
 | 
					                                    <field name="img_attachment_ids" | 
				
			||||
 | 
					                                           widget="many2many_binary"/> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                            </page> | 
				
			||||
 | 
					                            <page string="Loan rejection" | 
				
			||||
 | 
					                                  invisible="state == 'rejected'"> | 
				
			||||
 | 
					                                <field name="reject_reason" readonly="1"/> | 
				
			||||
 | 
					                            </page> | 
				
			||||
 | 
					                            <page string="Accounting" | 
				
			||||
 | 
					                                  invisible="state == 'draft'"> | 
				
			||||
 | 
					                                <group> | 
				
			||||
 | 
					                                    <group> | 
				
			||||
 | 
					                                        <field name="journal_id" | 
				
			||||
 | 
					                                               required="state == 'approved'" | 
				
			||||
 | 
					                                               readonly="state == 'disbursed'"/> | 
				
			||||
 | 
					                                    </group> | 
				
			||||
 | 
					                                    <group> | 
				
			||||
 | 
					                                        <field name="debit_account_id" | 
				
			||||
 | 
					                                               required="state == 'approved'" | 
				
			||||
 | 
					                                               readonly="state == 'disbursed'"/> | 
				
			||||
 | 
					                                        <field name="credit_account_id" | 
				
			||||
 | 
					                                               required="state == 'approved'" | 
				
			||||
 | 
					                                               readonly="state == 'disbursed'"/> | 
				
			||||
 | 
					                                    </group> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                            </page> | 
				
			||||
 | 
					                        </notebook> | 
				
			||||
 | 
					                    </sheet> | 
				
			||||
 | 
					                    <div class="oe_chatter"> | 
				
			||||
 | 
					                        <field name="message_follower_ids"/> | 
				
			||||
 | 
					                        <field name="message_ids"/> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </form> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,106 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--        Loan Type Action--> | 
				
			||||
 | 
					    <record id="loan_type_action" model="ir.actions.act_window"> | 
				
			||||
 | 
					        <field name="name">Loan Type</field> | 
				
			||||
 | 
					        <field name="res_model">loan.type</field> | 
				
			||||
 | 
					        <field name="view_mode">kanban,tree,form</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!--        Loan Type Kanban View--> | 
				
			||||
 | 
					    <record id="loan_type_view_kanban" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">loan.type.view.kanban</field> | 
				
			||||
 | 
					        <field name="model">loan.type</field> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <kanban> | 
				
			||||
 | 
					                <field name='id'/> | 
				
			||||
 | 
					                <templates> | 
				
			||||
 | 
					                    <t t-name="kanban-box"> | 
				
			||||
 | 
					                        <div class="oe_kanban_global_click"> | 
				
			||||
 | 
					                            <div class="oe_kanban_details"> | 
				
			||||
 | 
					                                <strong> | 
				
			||||
 | 
					                                    <ul> | 
				
			||||
 | 
					                                        <li>Name : | 
				
			||||
 | 
					                                            <field name="name"/> | 
				
			||||
 | 
					                                        </li> | 
				
			||||
 | 
					                                        <li>Amount : | 
				
			||||
 | 
					                                            <field name="loan_amount"/> | 
				
			||||
 | 
					                                        </li> | 
				
			||||
 | 
					                                        <li>Tenure : | 
				
			||||
 | 
					                                            <field name="tenure"/> | 
				
			||||
 | 
					                                        </li> | 
				
			||||
 | 
					                                        <li> | 
				
			||||
 | 
					                                            <field name="interest_rate" | 
				
			||||
 | 
					                                                   widget="percentage"/> | 
				
			||||
 | 
					                                        </li> | 
				
			||||
 | 
					                                    </ul> | 
				
			||||
 | 
					                                </strong> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                </templates> | 
				
			||||
 | 
					            </kanban> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!--        Loan Type Tree View--> | 
				
			||||
 | 
					    <record id="loan_type_view_tree" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">loan.type.view.tree</field> | 
				
			||||
 | 
					        <field name="model">loan.type</field> | 
				
			||||
 | 
					        <field name="priority" eval="8"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <tree string="Loan Type"> | 
				
			||||
 | 
					                <field name="name"/> | 
				
			||||
 | 
					                <field name="loan_amount"/> | 
				
			||||
 | 
					                <field name="interest_rate"/> | 
				
			||||
 | 
					                <field name="processing_fee"/> | 
				
			||||
 | 
					            </tree> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!--        Loan Type Form View--> | 
				
			||||
 | 
					    <record id="loan_type_view_form" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">loan.type.view.form</field> | 
				
			||||
 | 
					        <field name="model">loan.type</field> | 
				
			||||
 | 
					        <field name="priority" eval="8"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <form string="Loan Type"> | 
				
			||||
 | 
					                <header/> | 
				
			||||
 | 
					                <sheet> | 
				
			||||
 | 
					                    <div class="oe_title"> | 
				
			||||
 | 
					                        <h1> | 
				
			||||
 | 
					                            <field name="name" style="width: 50%%;" | 
				
			||||
 | 
					                                   placeholder="Loan Type"/> | 
				
			||||
 | 
					                        </h1> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <group> | 
				
			||||
 | 
					                        <group> | 
				
			||||
 | 
					                            <field name="loan_amount"/> | 
				
			||||
 | 
					                            <field name="tenure"/> | 
				
			||||
 | 
					                            <field name="tenure_plan"/> | 
				
			||||
 | 
					                            <field name="documents_ids" | 
				
			||||
 | 
					                                   widget="many2many_tags"/> | 
				
			||||
 | 
					                        </group> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                        <group> | 
				
			||||
 | 
					                            <field name="processing_fee"/> | 
				
			||||
 | 
					                            <field name="interest_rate" widget="percentage"/> | 
				
			||||
 | 
					                            <field name="disbursal_amount"/> | 
				
			||||
 | 
					                        </group> | 
				
			||||
 | 
					                    </group> | 
				
			||||
 | 
					                    <notebook> | 
				
			||||
 | 
					                        <page string="Reminder"> | 
				
			||||
 | 
					                            <group> | 
				
			||||
 | 
					                                <field name="note"/> | 
				
			||||
 | 
					                            </group> | 
				
			||||
 | 
					                        </page> | 
				
			||||
 | 
					                    </notebook> | 
				
			||||
 | 
					                </sheet> | 
				
			||||
 | 
					                <div class="oe_chatter"> | 
				
			||||
 | 
					                    <field name="message_follower_ids"/> | 
				
			||||
 | 
					                    <field name="message_ids"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </form> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,97 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--        Default GroupBy--> | 
				
			||||
 | 
					    <record id="repayment_line_default_group" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">repayment.line.default.group</field> | 
				
			||||
 | 
					        <field name="model">repayment.line</field> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <search string="Loan"> | 
				
			||||
 | 
					                <filter name="loan" string="Loan ID" | 
				
			||||
 | 
					                        context="{'group_by': 'loan_id'}"/> | 
				
			||||
 | 
					            </search> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!--        Repayment Line Action--> | 
				
			||||
 | 
					    <record id="repayment_line_action" model="ir.actions.act_window"> | 
				
			||||
 | 
					        <field name="name">Repayment Line</field> | 
				
			||||
 | 
					        <field name="res_model">repayment.line</field> | 
				
			||||
 | 
					        <field name="view_mode">tree,form</field> | 
				
			||||
 | 
					        <field name="context">{'search_default_loan': 1}</field> | 
				
			||||
 | 
					        <field name="search_view_id" ref="repayment_line_default_group"/> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!--        Repayment Line Tree View--> | 
				
			||||
 | 
					    <record id="repayment_line_view_tree" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">repayment.line.view.tree</field> | 
				
			||||
 | 
					        <field name="model">repayment.line</field> | 
				
			||||
 | 
					        <field name="priority" eval="8"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <tree string="Loan Request" create="false"> | 
				
			||||
 | 
					                <field name="name"/> | 
				
			||||
 | 
					                <field name="partner_id"/> | 
				
			||||
 | 
					                <field name="loan_id"/> | 
				
			||||
 | 
					                <field name="date"/> | 
				
			||||
 | 
					                <field name="total_amount"/> | 
				
			||||
 | 
					                <field name="company_id"/> | 
				
			||||
 | 
					                <field name="state"/> | 
				
			||||
 | 
					            </tree> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!--        Repayment Line Form View --> | 
				
			||||
 | 
					    <record id="repayment_line_view_form" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">repayment.line.view.form</field> | 
				
			||||
 | 
					        <field name="model">repayment.line</field> | 
				
			||||
 | 
					        <field name="priority" eval="8"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <form string="Repayment Line" create="false"> | 
				
			||||
 | 
					                <header> | 
				
			||||
 | 
					                    <field name="state" widget="statusbar" | 
				
			||||
 | 
					                           statusbar_visible="unpaid,paid"/> | 
				
			||||
 | 
					                    <button invisible="(invoice == True) or (state != 'unpaid')" | 
				
			||||
 | 
					                            name="action_pay_emi" | 
				
			||||
 | 
					                            class="oe_highlight" | 
				
			||||
 | 
					                            string="Pay" | 
				
			||||
 | 
					                            type="object"/> | 
				
			||||
 | 
					                </header> | 
				
			||||
 | 
					                <sheet> | 
				
			||||
 | 
					                    <div class="oe_title"> | 
				
			||||
 | 
					                        <h1> | 
				
			||||
 | 
					                            <field name="name" style="width: 50%%;"/> | 
				
			||||
 | 
					                        </h1> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <group> | 
				
			||||
 | 
					                        <group> | 
				
			||||
 | 
					                            <field name="partner_id"/> | 
				
			||||
 | 
					                            <field name="loan_id"/> | 
				
			||||
 | 
					                        </group> | 
				
			||||
 | 
					                        <group> | 
				
			||||
 | 
					                            <field name="date"/> | 
				
			||||
 | 
					                            <field name="amount"/> | 
				
			||||
 | 
					                            <field name="interest_amount"/> | 
				
			||||
 | 
					                            <field name="total_amount"/> | 
				
			||||
 | 
					                            <field name="invoice" invisible="1"/> | 
				
			||||
 | 
					                        </group> | 
				
			||||
 | 
					                        <group> | 
				
			||||
 | 
					                            <field name="company_id"/> | 
				
			||||
 | 
					                        </group> | 
				
			||||
 | 
					                    </group> | 
				
			||||
 | 
					                    <notebook> | 
				
			||||
 | 
					                        <page string="Accounting"> | 
				
			||||
 | 
					                            <group> | 
				
			||||
 | 
					                                <group> | 
				
			||||
 | 
					                                    <field name="journal_loan_id"/> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                                <group> | 
				
			||||
 | 
					                                    <field name="interest_account_id"/> | 
				
			||||
 | 
					                                    <field name="repayment_account_id"/> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                            </group> | 
				
			||||
 | 
					                        </page> | 
				
			||||
 | 
					                    </notebook> | 
				
			||||
 | 
					                </sheet> | 
				
			||||
 | 
					            </form> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,52 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--      Loan Management Action For Conf Settings--> | 
				
			||||
 | 
					    <record id="res_config_settings_action" model="ir.actions.act_window"> | 
				
			||||
 | 
					        <field name="name">Settings</field> | 
				
			||||
 | 
					        <field name="type">ir.actions.act_window</field> | 
				
			||||
 | 
					        <field name="res_model">res.config.settings</field> | 
				
			||||
 | 
					        <field name="view_mode">form</field> | 
				
			||||
 | 
					        <field name="target">inline</field> | 
				
			||||
 | 
					        <field name="context">{'module' : 'advanced_loan_management', | 
				
			||||
 | 
					            'bin_size': | 
				
			||||
 | 
					            False} | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!--        Loan Management Form View For Conf Settings--> | 
				
			||||
 | 
					    <record id="res_config_settings_view_form" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">res.config.settings.view.form.inherit.loan.management | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					        <field name="model">res.config.settings</field> | 
				
			||||
 | 
					        <field name="inherit_id" ref="base.res_config_settings_view_form"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <xpath expr="//form" | 
				
			||||
 | 
					                   position="inside"> | 
				
			||||
 | 
					                    <app data-string="Loan Management" string="Loan" name="advanced_loan_management"> | 
				
			||||
 | 
					                        <field name="interest_product_id" invisible="1"/> | 
				
			||||
 | 
					                        <field name="interest_product_id" invisible="1"/> | 
				
			||||
 | 
					                        <block title="Loan Interest" name="fiscal_localization_setting_container" > | 
				
			||||
 | 
					                            <setting string="Loan Interest Details" company_dependent="1" help="Interest product and repayment details."> | 
				
			||||
 | 
					                                <div class="content-group"> | 
				
			||||
 | 
					                                    <div class="mt16"> | 
				
			||||
 | 
					                                        <div> | 
				
			||||
 | 
					                                            <label for="interest_product_id" string="Interest Product" class="col-2 o_light_label"/> | 
				
			||||
 | 
					                                            <field name="interest_product_id" /> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                                <div class="content-group"> | 
				
			||||
 | 
					                                    <div class="mt16"> | 
				
			||||
 | 
					                                        <div> | 
				
			||||
 | 
					                                            <label for="repayment_product_id" string="Repayment Product" class="col-2 o_light_label"/> | 
				
			||||
 | 
					                                            <field name="repayment_product_id" /> | 
				
			||||
 | 
					                                        </div> | 
				
			||||
 | 
					                                    </div> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </setting> | 
				
			||||
 | 
					                        </block> | 
				
			||||
 | 
					                    </app> | 
				
			||||
 | 
					            </xpath> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,17 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					     <!-- res partner inherit Loans --> | 
				
			||||
 | 
					    <record id="res_partner_view_form_inherit" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">res.partner.view.form.inherit.loan.management</field> | 
				
			||||
 | 
					        <field name="model">res.partner</field> | 
				
			||||
 | 
					        <field name="inherit_id" ref="base.view_partner_form"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <xpath expr="//div[@name='button_box']" position="inside"> | 
				
			||||
 | 
					                <button name="action_view_loans" type="object"  class="oe_stat_button" | 
				
			||||
 | 
					                    icon="fa-calendar"> | 
				
			||||
 | 
					                    <field name="loan_count" widget="statinfo" string="Loans"/> | 
				
			||||
 | 
					                </button> | 
				
			||||
 | 
					            </xpath> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,25 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from .import message_popup, reject_reason | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,30 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Megha (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class MessageWizard(models.TransientModel): | 
				
			||||
 | 
					    """For creating alert messages""" | 
				
			||||
 | 
					    _name = 'message.popup' | 
				
			||||
 | 
					    _description = 'Generate Popup Message' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    message = fields.Text(string='Message', required=True, help="Alert Content") | 
				
			||||
@ -0,0 +1,18 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--    Message Wizard View--> | 
				
			||||
 | 
					    <record id="message_wizard_view_form" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">message.popup.view.form</field> | 
				
			||||
 | 
					        <field name="model">message.popup</field> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <form> | 
				
			||||
 | 
					                <p class="text-center"> | 
				
			||||
 | 
					                    <field name="message" readonly="1"/> | 
				
			||||
 | 
					                </p> | 
				
			||||
 | 
					                <footer> | 
				
			||||
 | 
					                    <button string="Ok" class="oe_highlight" special="cancel"/> | 
				
			||||
 | 
					                </footer> | 
				
			||||
 | 
					            </form> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||