diff --git a/account_payment_instalment/README.rst b/account_payment_instalment/README.rst new file mode 100644 index 000000000..9e0ee4366 --- /dev/null +++ b/account_payment_instalment/README.rst @@ -0,0 +1,48 @@ +Instalment in Payment Terms +=========================== +This module will help you to manage the payment terms with instalments. + +Features +======== + +* Instalment option in the payment term will helps to manage the payments of customer in instalments. + +Installation +============ +- www.odoo.com/documentation/14.0/setup/install.html +- Install our custom addon + +License +------- +GNU AFFERO GENERAL PUBLIC LICENSE, Version 3 (AGPLv3) +(http://www.gnu.org/licenses/agpl.html) + +Company +------- +* 'Cybrosys Techno Solutions `__ + +Credits +------- +* Developer: V12 Tintuk Tomin, odoo@cybrosys.com + v13.0 Jibin James, odoo@cybrosys.com + v14.0 Jibin James, odoo@cybrosys.com + v15.0 Sajithlal, odoo@cybrosys.com + + +Contacts +-------- +* Mail Contact : odoo@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 +========== +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ diff --git a/account_payment_instalment/__init__.py b/account_payment_instalment/__init__.py new file mode 100644 index 000000000..d679f52b8 --- /dev/null +++ b/account_payment_instalment/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2020-TODAY Cybrosys Technologies(). +# Author: Tintuk Tomin() +# +# 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 . +# +############################################################################# + +from . import models diff --git a/account_payment_instalment/__manifest__.py b/account_payment_instalment/__manifest__.py new file mode 100644 index 000000000..8048041f8 --- /dev/null +++ b/account_payment_instalment/__manifest__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies(). +# Author: Tintuk Tomin() +# +# 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 . +# +############################################################################# + +{ + 'name': "Instalment in Payment Terms", + 'version': '15.0.1.0.0', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'category': 'Accounting', + 'summary': 'Instalment in Payment Terms"', + 'description': """ + New type 'Instalment' in Odoo payment terms, Instalment in Payment Terms,Installment + """, + 'depends': ['account'], + 'data': [ + 'views/account_payment_term_view.xml', + ], + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, +} diff --git a/account_payment_instalment/doc/RELEASE_NOTES.md b/account_payment_instalment/doc/RELEASE_NOTES.md new file mode 100755 index 000000000..f57b2b4a8 --- /dev/null +++ b/account_payment_instalment/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 01.04.2022 +#### Version 15.0.1.0.0 +##### ADD +- Initial commit diff --git a/account_payment_instalment/models/__init__.py b/account_payment_instalment/models/__init__.py new file mode 100644 index 000000000..f5749a99a --- /dev/null +++ b/account_payment_instalment/models/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2020-TODAY Cybrosys Technologies(). +# Author: Tintuk Tomin() +# +# 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 . +# +############################################################################# + +from . import account_payment_term + + diff --git a/account_payment_instalment/models/account_payment_term.py b/account_payment_instalment/models/account_payment_term.py new file mode 100644 index 000000000..60de87725 --- /dev/null +++ b/account_payment_instalment/models/account_payment_term.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2020-TODAY Cybrosys Technologies(). +# Author: Tintuk Tomin() +# +# 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 . +# +############################################################################# + +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError +from dateutil.relativedelta import relativedelta + + +class AccountPaymentTermLine(models.Model): + _inherit = "account.payment.term.line" + + value = fields.Selection([ + ('balance', 'Balance'), + ('percent', 'Percent'), + ('fixed', 'Fixed Amount'), + ('instalment', 'Instalment') + ], string='Type', required=True, default='balance', + help="Select here the kind of valuation related to this payment term line.") + period_type = fields.Selection([ + ('daily', 'Day(s)'), + ('weekly', 'Week(s)'), + ('monthly', 'Month(s)'), + ('yearly', 'Year(s)'), + ], string='Period Type', default='monthly') + period_count = fields.Integer('Number of instalments', default=1) + + +class AccountPaymentTerm(models.Model): + _inherit = "account.payment.term" + + @api.constrains('line_ids') + def _check_lines(self): + payment_term_lines = self.line_ids.sorted() + if payment_term_lines and payment_term_lines[-1].value not in ['balance', 'instalment']: + raise ValidationError(_('A Payment Term should have its last line of type Balance/Instalment.')) + lines = self.line_ids.filtered(lambda r: r.value == 'balance') or [] + if len(lines) > 1: + raise ValidationError(_('A Payment Term should have only one line of type Balance.')) + lines = self.line_ids.filtered(lambda r: r.value == 'instalment') or [] + if len(lines) > 1: + raise ValidationError(_('A Payment Term should have only one line of type Instalment.')) + lines = self.line_ids.filtered(lambda r: r.value in ['balance', 'instalment']) or [] + if len(lines) > 1: + raise ValidationError(_('A Payment Term should have only one of type Balance and Instalment.')) + lines = self.line_ids.filtered(lambda r: r.value == 'instalment') or [] + for line in lines: + if line.period_count == 0: + raise ValidationError(_('A Payment Term of type Instalment should have number of instalments more than 0.')) + + def compute(self, value, date_ref=False, currency=None): + # self.ensure_one() + date_ref = date_ref or fields.Date.today() + amount = value + sign = value < 0 and -1 or 1 + result = [] + if not currency and self.env.context.get('currency_id'): + currency = self.env['res.currency'].browse(self.env.context['currency_id']) + elif not currency: + currency = self.env.company.currency_id + for line in self.line_ids: + if line.value == 'fixed': + amt = sign * currency.round(line.value_amount) + elif line.value == 'percent': + amt = currency.round(value * (line.value_amount / 100.0)) + elif line.value == 'balance': + amt = currency.round(amount) + + if line.value != 'instalment' and amt: + next_date = fields.Date.from_string(date_ref) + if line.option == 'day_after_invoice_date': + next_date += relativedelta(days=line.days) + if line.day_of_the_month > 0: + months_delta = (line.day_of_the_month < next_date.day) and 1 or 0 + next_date += relativedelta(day=line.day_of_the_month, months=months_delta) + elif line.option == 'after_invoice_month': + next_first_date = next_date + relativedelta(day=1, months=1) # Getting 1st of next month + next_date = next_first_date + relativedelta(days=line.days - 1) + elif line.option == 'day_following_month': + next_date += relativedelta(day=line.days, months=1) + elif line.option == 'day_current_month': + next_date += relativedelta(day=line.days, months=0) + result.append((fields.Date.to_string(next_date), amt)) + amount -= amt + elif line.value == 'instalment': + amt = currency.round(amount) + count = line.period_count + instalment_amount = currency.round(amt/count) + while count > 0: + next_date = fields.Date.from_string(date_ref) + if line.period_type == 'daily': + next_date += relativedelta(days=count) + elif line.period_type == 'weekly': + next_date += relativedelta(weeks=count) + elif line.period_type == 'monthly': + next_date += relativedelta(months=count) + else: + next_date += relativedelta(years=count) + result.append([fields.Date.to_string(next_date), instalment_amount]) + count -= 1 + amount -= amt + amount = sum(amt for _, amt in result) + dist = currency.round(value - amount) + if dist: + result[0][1] += dist + return result diff --git a/account_payment_instalment/static/description/assets/icons/check.png b/account_payment_instalment/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/check.png differ diff --git a/account_payment_instalment/static/description/assets/icons/chevron.png b/account_payment_instalment/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/chevron.png differ diff --git a/account_payment_instalment/static/description/assets/icons/cogs.png b/account_payment_instalment/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/cogs.png differ diff --git a/account_payment_instalment/static/description/assets/icons/consultation.png b/account_payment_instalment/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/consultation.png differ diff --git a/account_payment_instalment/static/description/assets/icons/ecom-black.png b/account_payment_instalment/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/ecom-black.png differ diff --git a/account_payment_instalment/static/description/assets/icons/education-black.png b/account_payment_instalment/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/education-black.png differ diff --git a/account_payment_instalment/static/description/assets/icons/hotel-black.png b/account_payment_instalment/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/hotel-black.png differ diff --git a/account_payment_instalment/static/description/assets/icons/license.png b/account_payment_instalment/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/license.png differ diff --git a/account_payment_instalment/static/description/assets/icons/lifebuoy.png b/account_payment_instalment/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/lifebuoy.png differ diff --git a/account_payment_instalment/static/description/assets/icons/logo.png b/account_payment_instalment/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/logo.png differ diff --git a/account_payment_instalment/static/description/assets/icons/manufacturing-black.png b/account_payment_instalment/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/manufacturing-black.png differ diff --git a/account_payment_instalment/static/description/assets/icons/pos-black.png b/account_payment_instalment/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/pos-black.png differ diff --git a/account_payment_instalment/static/description/assets/icons/puzzle.png b/account_payment_instalment/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/puzzle.png differ diff --git a/account_payment_instalment/static/description/assets/icons/restaurant-black.png b/account_payment_instalment/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/restaurant-black.png differ diff --git a/account_payment_instalment/static/description/assets/icons/service-black.png b/account_payment_instalment/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/service-black.png differ diff --git a/account_payment_instalment/static/description/assets/icons/trading-black.png b/account_payment_instalment/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/trading-black.png differ diff --git a/account_payment_instalment/static/description/assets/icons/training.png b/account_payment_instalment/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/training.png differ diff --git a/account_payment_instalment/static/description/assets/icons/update.png b/account_payment_instalment/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/update.png differ diff --git a/account_payment_instalment/static/description/assets/icons/user.png b/account_payment_instalment/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/user.png differ diff --git a/account_payment_instalment/static/description/assets/icons/wrench.png b/account_payment_instalment/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/account_payment_instalment/static/description/assets/icons/wrench.png differ diff --git a/account_payment_instalment/static/description/assets/modules/approval_image.png b/account_payment_instalment/static/description/assets/modules/approval_image.png new file mode 100644 index 000000000..84fe94e80 Binary files /dev/null and b/account_payment_instalment/static/description/assets/modules/approval_image.png differ diff --git a/account_payment_instalment/static/description/assets/modules/budget_image.png b/account_payment_instalment/static/description/assets/modules/budget_image.png new file mode 100644 index 000000000..fe6aa6fe4 Binary files /dev/null and b/account_payment_instalment/static/description/assets/modules/budget_image.png differ diff --git a/account_payment_instalment/static/description/assets/modules/export_image.png b/account_payment_instalment/static/description/assets/modules/export_image.png new file mode 100644 index 000000000..4e4ea0e51 Binary files /dev/null and b/account_payment_instalment/static/description/assets/modules/export_image.png differ diff --git a/account_payment_instalment/static/description/assets/modules/magento_image.png b/account_payment_instalment/static/description/assets/modules/magento_image.png new file mode 100644 index 000000000..39de0820f Binary files /dev/null and b/account_payment_instalment/static/description/assets/modules/magento_image.png differ diff --git a/account_payment_instalment/static/description/assets/modules/pos_image.png b/account_payment_instalment/static/description/assets/modules/pos_image.png new file mode 100644 index 000000000..c5932894b Binary files /dev/null and b/account_payment_instalment/static/description/assets/modules/pos_image.png differ diff --git a/account_payment_instalment/static/description/assets/modules/shopify_image.png b/account_payment_instalment/static/description/assets/modules/shopify_image.png new file mode 100644 index 000000000..c6d92c16d Binary files /dev/null and b/account_payment_instalment/static/description/assets/modules/shopify_image.png differ diff --git a/account_payment_instalment/static/description/assets/screenshots/Installment-Payment-in-Odoo-1.png b/account_payment_instalment/static/description/assets/screenshots/Installment-Payment-in-Odoo-1.png new file mode 100644 index 000000000..cfb1c62d4 Binary files /dev/null and b/account_payment_instalment/static/description/assets/screenshots/Installment-Payment-in-Odoo-1.png differ diff --git a/account_payment_instalment/static/description/assets/screenshots/hero.png b/account_payment_instalment/static/description/assets/screenshots/hero.png new file mode 100644 index 000000000..ad252b138 Binary files /dev/null and b/account_payment_instalment/static/description/assets/screenshots/hero.png differ diff --git a/account_payment_instalment/static/description/assets/screenshots/instalment-1.png b/account_payment_instalment/static/description/assets/screenshots/instalment-1.png new file mode 100644 index 000000000..2a7a7d4be Binary files /dev/null and b/account_payment_instalment/static/description/assets/screenshots/instalment-1.png differ diff --git a/account_payment_instalment/static/description/assets/screenshots/instalment-2.png b/account_payment_instalment/static/description/assets/screenshots/instalment-2.png new file mode 100644 index 000000000..f9c530c87 Binary files /dev/null and b/account_payment_instalment/static/description/assets/screenshots/instalment-2.png differ diff --git a/account_payment_instalment/static/description/assets/screenshots/instalment-3.png b/account_payment_instalment/static/description/assets/screenshots/instalment-3.png new file mode 100644 index 000000000..c689baaf6 Binary files /dev/null and b/account_payment_instalment/static/description/assets/screenshots/instalment-3.png differ diff --git a/account_payment_instalment/static/description/assets/screenshots/instalment-4.png b/account_payment_instalment/static/description/assets/screenshots/instalment-4.png new file mode 100644 index 000000000..4e449e0c9 Binary files /dev/null and b/account_payment_instalment/static/description/assets/screenshots/instalment-4.png differ diff --git a/account_payment_instalment/static/description/banner.png b/account_payment_instalment/static/description/banner.png new file mode 100644 index 000000000..309a9ab64 Binary files /dev/null and b/account_payment_instalment/static/description/banner.png differ diff --git a/account_payment_instalment/static/description/cybro_logo.png b/account_payment_instalment/static/description/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/account_payment_instalment/static/description/cybro_logo.png differ diff --git a/account_payment_instalment/static/description/icon.png b/account_payment_instalment/static/description/icon.png new file mode 100644 index 000000000..e4de04e68 Binary files /dev/null and b/account_payment_instalment/static/description/icon.png differ diff --git a/account_payment_instalment/static/description/index.html b/account_payment_instalment/static/description/index.html new file mode 100644 index 000000000..447cb956f --- /dev/null +++ b/account_payment_instalment/static/description/index.html @@ -0,0 +1,631 @@ +
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+ +
+
+
+
+ +
+
+
+

+ Instalment in Payment Types

+

+ Instalment feature in the payment terms of invoice +

+ +
+
+ + + + +
+
+

+ Overview +

+
+ +
+

+ Did you ever search for the provision to make the customer payment as instalments? Here is the solution. You can configure a new payment term with the feature of instalment.

+ +
+
+ + +
+
+

+ Features +

+
+ +
+
+ +
+
+

+ Provision for instalment in the payment terms

+ +
+
+
+
+ +
+
+

+ Instalment by days, months and years

+ +
+
+ +
+
+ +
+
+

+ Period type and number of instalments in the payment lines

+ +
+
+ + +
+ +
+
+

+ Screenshots +

+
+
+

+ Provision for instalment in the payment terms

+ + +
+ +
+

+ Payment Term

+

+ Payment term form view. You can see the period and number of instalments in the payment lines. +

+ +
+ +
+

+ Invoice Creating

+

+ You choose the created payment term while creating the invoice. +

+ +
+ + +
+

+ Journal Entries

+

+ Now you can check the journal entries of that particular invoice. You can see the debit amount and the due dates. +

+ +
+ + + +
+ +
+
+

+ Video +

+
+
+
+ Cybrosys Cover Video +
+
+
+ + +
+
+

Suggested Products

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

Our Services

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

Our Industries

+
+
+ +
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

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

+ Mobile + friendly, + awe-inspiring product pages

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

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

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

+ An + all-inclusive + hotel management application

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

Need Help?

+
+
+
+ + +
+ +
+ +
+ +
+ WhatsApp +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+ + +
\ No newline at end of file diff --git a/account_payment_instalment/views/account_payment_term_view.xml b/account_payment_instalment/views/account_payment_term_view.xml new file mode 100644 index 000000000..3ec66ad1f --- /dev/null +++ b/account_payment_instalment/views/account_payment_term_view.xml @@ -0,0 +1,60 @@ + + + + + account.payment.term.line.tree + account.payment.term.line + + + + + + + + + + + account.payment.term.form + account.payment.term + + +

+ The last line's computation type should be "Balance or Instalment" to ensure that the whole amount will be allocated. +

+
+
+ + + az.account.payment.term.line.form + account.payment.term.line + + + + {'invisible':[('value','in',['balance','instalment'])]} + + + {'invisible':[('value','in',['balance','instalment'])]} + + + {'invisible':[('value','=','instalment')]} + + + {'invisible':[('value','=','instalment')]} + + + {'invisible':[('value','=','instalment')]} + + + {'invisible':['|',('option','!=', 'day_after_invoice_date'),('value','=','instalment')]} + + + + + + + + + + +
+
\ No newline at end of file