From f78fcf1c60160540221e240338acc54dfc9beb74 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 6 Feb 2025 11:22:06 +0700 Subject: add po count on po and add validation duplicate contact --- indoteknik_custom/models/res_partner.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 5322515a..3c5e0e05 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -183,6 +183,19 @@ class ResPartner(models.Model): # # raise UserError('You name it') # return res + + @api.constrains('name') + def _check_duplicate_name(self): + for record in self: + if record.name: + # Mencari partner lain yang memiliki nama sama (case-insensitive) + existing_partner = self.env['res.partner'].search([ + ('id', '!=', record.id), # Hindari mencocokkan diri sendiri + ('name', 'ilike', record.name) # Case-insensitive search + ], limit=1) + + if existing_partner: + raise ValidationError(f"Nama '{record.name}' sudah digunakan oleh partner lain!") def write(self, vals): # Fungsi rekursif untuk meng-update semua child, termasuk child dari child -- cgit v1.2.3 From 11ef44bdb2695125048fe7fcfea25dbf459a3d9e Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 6 Feb 2025 13:14:25 +0700 Subject: add levenshtein to duplikat name contact alert --- indoteknik_custom/models/res_partner.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 3c5e0e05..844d47f9 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -188,14 +188,17 @@ class ResPartner(models.Model): def _check_duplicate_name(self): for record in self: if record.name: - # Mencari partner lain yang memiliki nama sama (case-insensitive) - existing_partner = self.env['res.partner'].search([ - ('id', '!=', record.id), # Hindari mencocokkan diri sendiri - ('name', 'ilike', record.name) # Case-insensitive search - ], limit=1) - - if existing_partner: - raise ValidationError(f"Nama '{record.name}' sudah digunakan oleh partner lain!") + query = """ + SELECT name FROM res_partner + WHERE id != %s + AND levenshtein(lower(name), lower(%s)) <= 1 + LIMIT 1 + """ + self.env.cr.execute(query, (record.id, record.name)) + duplicate = self.env.cr.fetchone() + + if duplicate: + raise ValidationError(f"Nama '{record.name}' mirip dengan '{duplicate[0]}', harap gunakan nama yang unik!") def write(self, vals): # Fungsi rekursif untuk meng-update semua child, termasuk child dari child -- cgit v1.2.3 From 1abbebda5ab707b014e8e01a7ab418861beef420 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 6 Feb 2025 16:40:34 +0700 Subject: cr validation duplicate contact --- indoteknik_custom/models/res_partner.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 844d47f9..7e574a72 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -188,17 +188,14 @@ class ResPartner(models.Model): def _check_duplicate_name(self): for record in self: if record.name: - query = """ - SELECT name FROM res_partner - WHERE id != %s - AND levenshtein(lower(name), lower(%s)) <= 1 - LIMIT 1 - """ - self.env.cr.execute(query, (record.id, record.name)) - duplicate = self.env.cr.fetchone() - - if duplicate: - raise ValidationError(f"Nama '{record.name}' mirip dengan '{duplicate[0]}', harap gunakan nama yang unik!") + # Mencari partner lain yang memiliki nama sama (case-insensitive) + existing_partner = self.env['res.partner'].search([ + ('id', '!=', record.id), # Hindari mencocokkan diri sendiri + ('name', '=', record.name) # Case-insensitive search + ], limit=1) + + if existing_partner: + raise ValidationError(f"Nama '{record.name}' sudah digunakan oleh partner lain!") def write(self, vals): # Fungsi rekursif untuk meng-update semua child, termasuk child dari child -- cgit v1.2.3 From 5802838642db8bd0969d9bedc68606710f1ef4b5 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Wed, 5 Mar 2025 10:36:29 +0700 Subject: CR renca tempo --- indoteknik_custom/models/res_partner.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 7e574a72..78380135 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -58,6 +58,7 @@ class ResPartner(models.Model): # Pengiriman pic_name = fields.Char(string='Nama PIC Penerimaan Barang') + pic_mobile = fields.Char(string='Nomor HP PIC Penerimaan Barang') street_pengiriman = fields.Char(string="Alamat Perusahaan") state_id_pengiriman = fields.Many2one('res.country.state', string='State') city_id_pengiriman = fields.Many2one('vit.kota', string='City') @@ -254,6 +255,7 @@ class ResPartner(models.Model): # Pengiriman vals['pic_name'] = vals.get('pic_name', self.pic_name) + vals['pic_mobile'] = vals.get('pic_mobile', self.pic_mobile) vals['street_pengiriman'] = vals.get('street_pengiriman', self.street_pengiriman) vals['state_id_pengiriman'] = vals.get('state_id_pengiriman', self.state_id_pengiriman) vals['city_id_pengiriman'] = vals.get('city_id_pengiriman', self.city_id_pengiriman) @@ -323,6 +325,7 @@ class ResPartner(models.Model): 'finance_mobile': vals.get('finance_mobile'), 'finance_email': vals.get('finance_email'), 'pic_name': vals.get('pic_name'), + 'pic_mobile': vals.get('pic_mobile'), 'street_pengiriman': vals.get('street_pengiriman'), 'state_id_pengiriman': vals.get('state_id_pengiriman'), 'city_id_pengiriman': vals.get('city_id_pengiriman'), -- cgit v1.2.3 From 8a48cbf462ce04b5c4be6c7ff29d0193c92572e0 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Wed, 5 Mar 2025 14:12:45 +0700 Subject: update pengajuan tempo --- indoteknik_custom/models/res_partner.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 78380135..56c69f95 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -66,6 +66,7 @@ class ResPartner(models.Model): subDistrict_id_pengiriman = fields.Many2one('vit.kelurahan', string='Kelurahan') zip_pengiriman = fields.Char(string="Zip") invoice_pic = fields.Char(string='Nama PIC Penerimaan Invoice') + invoice_pic_mobile = fields.Char(string='Nomor HP PIC Penerimaan Invoice') street_invoice = fields.Char(string="Alamat Perusahaan") state_id_invoice = fields.Many2one('res.country.state', string='State') city_id_invoice = fields.Many2one('vit.kota', string='City') @@ -263,6 +264,7 @@ class ResPartner(models.Model): vals['subDistrict_id_pengiriman'] = vals.get('subDistrict_id_pengiriman', self.subDistrict_id_pengiriman) vals['zip_pengiriman'] = vals.get('zip_pengiriman', self.zip_pengiriman) vals['invoice_pic'] = vals.get('invoice_pic', self.invoice_pic) + vals['invoice_pic_mobile'] = vals.get('invoice_pic_mobile', self.invoice_pic_mobile) vals['street_invoice'] = vals.get('street_invoice', self.street_invoice) vals['state_id_invoice'] = vals.get('state_id_invoice', self.state_id_invoice) vals['city_id_invoice'] = vals.get('city_id_invoice', self.city_id_invoice) @@ -333,6 +335,7 @@ class ResPartner(models.Model): 'subDistrict_id_pengiriman': vals.get('subDistrict_id_pengiriman'), 'zip_pengiriman': vals.get('zip_pengiriman'), 'invoice_pic': vals.get('invoice_pic'), + 'invoice_pic_mobile': vals.get('invoice_pic_mobile'), 'street_invoice': vals.get('street_invoice'), 'state_id_invoice': vals.get('state_id_invoice'), 'city_id_invoice': vals.get('city_id_invoice'), -- cgit v1.2.3 From 3b8b4ec20d523cedf00d0a343ffc244e0a43da58 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Fri, 7 Mar 2025 10:39:00 +0700 Subject: when change name(individu) then nama pajak change --- indoteknik_custom/models/res_partner.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 7e574a72..fa2f6a81 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -470,4 +470,9 @@ class ResPartner(models.Model): if not self.nitku.isdigit(): raise UserError("NITKU harus berupa angka.") if len(self.nitku) != 22: - raise UserError("NITKU harus memiliki tepat 22 angka.") \ No newline at end of file + raise UserError("NITKU harus memiliki tepat 22 angka.") + + @api.onchange('name') + def _onchange_name(self): + if self.company_type == 'person': + self.nama_wajib_pajak = self.name \ No newline at end of file -- cgit v1.2.3 From 92b1ec69af1fb5b062307c7c7a00c3e0fb0e9e01 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Mon, 10 Mar 2025 09:50:55 +0700 Subject: fix pengajuan tempo --- indoteknik_custom/models/res_partner.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 56c69f95..b5ed9ce2 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -75,6 +75,7 @@ class ResPartner(models.Model): zip_invoice = fields.Char(string="Zip") tukar_invoice = fields.Char(string='Jadwal Penukaran Invoice') jadwal_bayar = fields.Char(string='Jadwal Pembayaran') + dokumen_prosedur = fields.Many2one('ir.attachment', string="Dokumen Pengiriman", tracking=3, readonly=True) dokumen_pengiriman = fields.Char(string='Dokumen Tanda Terima yang Diberikan Pada Saat Pengiriman Barang') dokumen_pengiriman_input = fields.Char(string='Dokumen yang Dibawa Saat Pengiriman Barang') dokumen_invoice = fields.Char(string='Dokumen yang dilampirkan saat Pengiriman Invoice') @@ -273,6 +274,7 @@ class ResPartner(models.Model): vals['zip_invoice'] = vals.get('zip_invoice', self.zip_invoice) vals['tukar_invoice'] = vals.get('tukar_invoice', self.tukar_invoice) vals['jadwal_bayar'] = vals.get('jadwal_bayar', self.jadwal_bayar) + vals['dokumen_prosedur'] = vals.get('dokumen_prosedur', self.dokumen_prosedur) vals['dokumen_pengiriman'] = vals.get('dokumen_pengiriman', self.dokumen_pengiriman) vals['dokumen_pengiriman_input'] = vals.get('dokumen_pengiriman_input', self.dokumen_pengiriman_input) vals['dokumen_invoice'] = vals.get('dokumen_invoice', self.dokumen_invoice) @@ -344,6 +346,7 @@ class ResPartner(models.Model): 'zip_invoice': vals.get('zip_invoice'), 'tukar_invoice': vals.get('tukar_invoice'), 'jadwal_bayar': vals.get('jadwal_bayar'), + 'dokumen_prosedur': vals.get('dokumen_prosedur'), 'dokumen_pengiriman': vals.get('dokumen_pengiriman'), 'dokumen_pengiriman_input': vals.get('dokumen_pengiriman_input'), 'dokumen_invoice': vals.get('dokumen_invoice'), -- cgit v1.2.3 From 56e42190cb5cf039ee3ad05068dc7fb94f72943d Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 11 Mar 2025 09:26:23 +0700 Subject: cr alert duplicate name --- indoteknik_custom/models/res_partner.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index fe04535c..fd3a0514 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -127,8 +127,8 @@ class ResPartner(models.Model): ('PNR', 'Pareto Non Repeating'), ('NP', 'Non Pareto') ]) - email_finance = fields.Char(string='Email Finance') - email_sales = fields.Char(string='Email Sales') + email_finance = fields.Char(string='Email Finance Vendor') + email_sales = fields.Char(string='Email Sales Vendor') user_payment_terms_sales = fields.Many2one('res.users', string='Users Update Payment Terms') date_payment_terms_sales = fields.Datetime(string='Date Update Payment Terms') @@ -191,10 +191,10 @@ class ResPartner(models.Model): def _check_duplicate_name(self): for record in self: if record.name: - # Mencari partner lain yang memiliki nama sama (case-insensitive) existing_partner = self.env['res.partner'].search([ - ('id', '!=', record.id), # Hindari mencocokkan diri sendiri - ('name', '=', record.name) # Case-insensitive search + ('id', '!=', record.id), + ('name', '=', record.name), + ('email', '=', record.email) ], limit=1) if existing_partner: -- cgit v1.2.3 From 0ee640e0030441c204be6de3edc4184a37c85cd8 Mon Sep 17 00:00:00 2001 From: AndriFP Date: Wed, 16 Apr 2025 11:46:43 +0700 Subject: (andri) add min & max NPWP --- indoteknik_custom/models/res_partner.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index fd3a0514..04ee136c 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -104,7 +104,7 @@ class ResPartner(models.Model): ('nonpkp', 'Non PKP') ]) sppkp = fields.Char(string="SPPKP", tracking=True) - npwp = fields.Char(string="NPWP", tracking=True) + npwp = fields.Char(string="npwp", tracking=True) nitku = fields.Char(string="NITKU", tracking=True) counter = fields.Integer(string="Counter", default=0) leadtime = fields.Integer(string="Leadtime", default=0) @@ -200,6 +200,17 @@ class ResPartner(models.Model): if existing_partner: raise ValidationError(f"Nama '{record.name}' sudah digunakan oleh partner lain!") + @api.constrains('npwp') + def _check_npwp(self): + for rec in self: + if rec.npwp: + if not rec.npwp.isdigit(): + raise ValidationError("NPWP hanya boleh berisi angka.") + if len(rec.npwp) <= 15: + raise UserError("NPWP terlalu pendek. Minimal 15 digit.") + if len(rec.npwp) >= 16: + raise ValidationError("NPWP terlalu panjang. Maksimal 16 digit.") + def write(self, vals): # Fungsi rekursif untuk meng-update semua child, termasuk child dari child def update_children_recursively(partner, vals_for_child): -- cgit v1.2.3 From 984c3fe0d032dc0e37aae030b10658c310b9705d Mon Sep 17 00:00:00 2001 From: AndriFP Date: Thu, 17 Apr 2025 13:50:10 +0700 Subject: (andri) Check + revisi add minimum dev amt & add log note after estimate shipping --- indoteknik_custom/models/res_partner.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 04ee136c..451577c5 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -104,7 +104,7 @@ class ResPartner(models.Model): ('nonpkp', 'Non PKP') ]) sppkp = fields.Char(string="SPPKP", tracking=True) - npwp = fields.Char(string="npwp", tracking=True) + npwp = fields.Char(string="NPWP", tracking=True) nitku = fields.Char(string="NITKU", tracking=True) counter = fields.Integer(string="Counter", default=0) leadtime = fields.Integer(string="Leadtime", default=0) @@ -202,14 +202,14 @@ class ResPartner(models.Model): @api.constrains('npwp') def _check_npwp(self): - for rec in self: - if rec.npwp: - if not rec.npwp.isdigit(): + for record in self: + if record.npwp: + if not record.npwp.isdigit(): raise ValidationError("NPWP hanya boleh berisi angka.") - if len(rec.npwp) <= 15: - raise UserError("NPWP terlalu pendek. Minimal 15 digit.") - if len(rec.npwp) >= 16: - raise ValidationError("NPWP terlalu panjang. Maksimal 16 digit.") + if len(record.npwp) < 15: + raise ValidationError("Digit NPWP yang dimasukkan kurang dari batas minimal (15 digit)") + if len(record.npwp) > 16: + raise ValidationError("Digit NPWP yang dimasukkan lebih dari batas maksimal (16 digit)") def write(self, vals): # Fungsi rekursif untuk meng-update semua child, termasuk child dari child -- cgit v1.2.3 From ad139f4c1613f4571074006276d29448bfe95ff8 Mon Sep 17 00:00:00 2001 From: AndriFP Date: Mon, 21 Apr 2025 14:11:46 +0700 Subject: (andrifp) fix validate NPWP --- indoteknik_custom/models/res_partner.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 451577c5..06945301 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -39,6 +39,10 @@ class ResPartner(models.Model): estimasi_tempo = fields.Char(string='Estimasi Pembelian Pertahun') tempo_duration = fields.Many2one('account.payment.term', string='Durasi Tempo') tempo_limit = fields.Char(string='Limit Tempo') + minimum_amount = fields.Float( + string="Minimum Order", + help="Jika total belanja kurang dari ini, maka payment term akan otomatis menjadi CBD." + ) category_produk_ids = fields.Many2many('product.public.category', string='Kategori Produk yang Digunakan', domain=lambda self: self._get_default_category_domain()) @api.model @@ -203,13 +207,14 @@ class ResPartner(models.Model): @api.constrains('npwp') def _check_npwp(self): for record in self: - if record.npwp: - if not record.npwp.isdigit(): - raise ValidationError("NPWP hanya boleh berisi angka.") - if len(record.npwp) < 15: - raise ValidationError("Digit NPWP yang dimasukkan kurang dari batas minimal (15 digit)") - if len(record.npwp) > 16: - raise ValidationError("Digit NPWP yang dimasukkan lebih dari batas maksimal (16 digit)") + npwp = record.npwp.strip() if record.npwp else '' + # Abaikan validasi jika NPWP kosong atau diisi "0" + if not npwp or npwp == '0' or npwp == '00.000.000.0-000.000': + continue + if len(npwp) < 15: + raise ValidationError("Digit NPWP yang dimasukkan kurang dari batas minimal (15 digit)") + if len(npwp) > 16: + raise ValidationError("Digit NPWP yang dimasukkan lebih dari batas maksimal (16 digit)") def write(self, vals): # Fungsi rekursif untuk meng-update semua child, termasuk child dari child @@ -476,6 +481,8 @@ class ResPartner(models.Model): def _onchange_customer_type(self): if self.customer_type == 'nonpkp': self.npwp = '00.000.000.0-000.000' + elif self.customer_type == 'pkp': + self.npwp = '00.000.000.0-000.000' def get_check_payment_term(self): self.ensure_one() -- cgit v1.2.3 From 286d1c7d91b3e957e26a2ef1350a80faba9405ed Mon Sep 17 00:00:00 2001 From: AndriFP Date: Mon, 21 Apr 2025 15:40:54 +0700 Subject: (andrifp) fix validate NPWP format 15 digit --- indoteknik_custom/models/res_partner.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 06945301..84edafea 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -2,6 +2,7 @@ from odoo import models, fields, api from odoo.exceptions import UserError, ValidationError from datetime import datetime from odoo.http import request +import re class GroupPartner(models.Model): _name = 'group.partner' @@ -211,10 +212,24 @@ class ResPartner(models.Model): # Abaikan validasi jika NPWP kosong atau diisi "0" if not npwp or npwp == '0' or npwp == '00.000.000.0-000.000': continue - if len(npwp) < 15: - raise ValidationError("Digit NPWP yang dimasukkan kurang dari batas minimal (15 digit)") - if len(npwp) > 16: - raise ValidationError("Digit NPWP yang dimasukkan lebih dari batas maksimal (16 digit)") + + # Validasi untuk NPWP 15 digit (format: 99.999.999.9-999.999) + if len(npwp) == 20: + # Regex untuk 15 digit dengan format titik dan tanda hubung + pattern_15_digit = r'^\d{2}\.\d{3}\.\d{3}\.\d{1}-\d{3}\.\d{3}$' + if not re.match(pattern_15_digit, npwp): + raise ValidationError("Format NPWP 15 digit yang dimasukkan salah. Pastikan format yang benar adalah: 99.999.999.9-999.999") + + # Validasi untuk NPWP 16 digit (hanya angka tanpa titik atau tanda hubung) + elif len(npwp) == 16: + pattern_16_digit = r'^\d{16}$' + if not re.match(pattern_16_digit, npwp): + raise ValidationError("Format NPWP 16 digit yang dimasukkan salah. Format yang benar adalah 16 digit angka tanpa titik atau tanda hubung.") + + # Validasi panjang NPWP jika lebih atau kurang dari 15 atau 16 digit + else: + raise ValidationError("Digit NPWP yang dimasukkan tidak sesuai. Pastikan NPWP memiliki 15 digit dengan format tertentu (99.999.999.9-999.999) atau 16 digit tanpa tanda hubung.") + def write(self, vals): # Fungsi rekursif untuk meng-update semua child, termasuk child dari child -- cgit v1.2.3 From 30382037882e15bb43f56fc0d81500faeb364fa5 Mon Sep 17 00:00:00 2001 From: AndriFP Date: Wed, 23 Apr 2025 08:59:23 +0700 Subject: (andri) add field min amt tax vendor PO --- indoteknik_custom/models/res_partner.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indoteknik_custom/models/res_partner.py') diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 84edafea..191a44c9 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -44,6 +44,10 @@ class ResPartner(models.Model): string="Minimum Order", help="Jika total belanja kurang dari ini, maka payment term akan otomatis menjadi CBD." ) + minimum_amount_tax = fields.Float( + string="Minimum Amount Tax", + help="Jika total belanja kurang dari ini, maka tax akan otomatis menjadi 0%." + ) category_produk_ids = fields.Many2many('product.public.category', string='Kategori Produk yang Digunakan', domain=lambda self: self._get_default_category_domain()) @api.model -- cgit v1.2.3