summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMqdd <ahmadmiqdad27@gmail.com>2026-02-20 16:21:28 +0700
committerMqdd <ahmadmiqdad27@gmail.com>2026-02-20 16:21:28 +0700
commit2c89059ab4abc70f6e7f811b7995bc394d6514f8 (patch)
tree9d2d1cf7f050ea760b807b07d01ee2c1aaeb51cb
parent62c366e5cf58567b61700d2922b864e348e2a44b (diff)
<Miqdad> fix price not same as calculated on excel
-rw-r--r--indoteknik_custom/models/price_group.py20
-rwxr-xr-xindoteknik_custom/models/purchase_pricelist.py7
2 files changed, 14 insertions, 13 deletions
diff --git a/indoteknik_custom/models/price_group.py b/indoteknik_custom/models/price_group.py
index fce78fff..1a4f1bd6 100644
--- a/indoteknik_custom/models/price_group.py
+++ b/indoteknik_custom/models/price_group.py
@@ -10,16 +10,16 @@ class PriceGroup(models.Model):
name = fields.Char(string='Name')
pricelist_id = fields.Many2one('product.pricelist', string='Price List')
- group1 = fields.Float(string='Kelompok 1 (%)')
- group2 = fields.Float(string='Kelompok 2 (%)')
- group3 = fields.Float(string='Kelompok 3 (%)')
- group4 = fields.Float(string='Kelompok 4 (%)')
- group5 = fields.Float(string='Kelompok 5 (%)')
- group6 = fields.Float(string='Kelompok 6 (%)')
- group7 = fields.Float(string='Kelompok 7 (%)')
- group8 = fields.Float(string='Kelompok 8 (%)')
- group9 = fields.Float(string='Kelompok 9 (%)')
- group10 = fields.Float(string='Kelompok 10 (%)')
+ group1 = fields.Float(string='Kelompok 1 (%)', digits=(16, 12))
+ group2 = fields.Float(string='Kelompok 2 (%)', digits=(16, 12))
+ group3 = fields.Float(string='Kelompok 3 (%)', digits=(16, 12))
+ group4 = fields.Float(string='Kelompok 4 (%)', digits=(16, 12))
+ group5 = fields.Float(string='Kelompok 5 (%)', digits=(16, 12))
+ group6 = fields.Float(string='Kelompok 6 (%)', digits=(16, 12))
+ group7 = fields.Float(string='Kelompok 7 (%)', digits=(16, 12))
+ group8 = fields.Float(string='Kelompok 8 (%)', digits=(16, 12))
+ group9 = fields.Float(string='Kelompok 9 (%)', digits=(16, 12))
+ group10 = fields.Float(string='Kelompok 10 (%)', digits=(16, 12))
def collect_price_group(self):
PRICE_GROUP_ID = {
diff --git a/indoteknik_custom/models/purchase_pricelist.py b/indoteknik_custom/models/purchase_pricelist.py
index b3a473b6..83e06f55 100755
--- a/indoteknik_custom/models/purchase_pricelist.py
+++ b/indoteknik_custom/models/purchase_pricelist.py
@@ -118,15 +118,16 @@ class PurchasePricelist(models.Model):
product_domain = [('product_id', '=', rec.product_id.id)]
markup_pricelist = price_group['markup'].pricelist_id
- base_price = price_incl + (price_incl * markup_percentage / 100)
+ # base_price = price_incl + (price_incl * markup_percentage / 100)
+ base_price = round(price_incl + (price_incl * markup_percentage / 100), 12)
base_prod_pricelist = self.env['product.pricelist.item'].search(product_domain + [('pricelist_id', '=', markup_pricelist.id)], limit=1)
base_prod_pricelist.fixed_price = base_price
tier_percentages = [price_group[f'tier_{i}'][product_group] for i in range(1, 6)]
for i, tier_percentage in enumerate(tier_percentages):
tier_pricelist = price_group[f'tier_{i + 1}'].pricelist_id
- tier_price = price_incl + (price_incl * tier_percentage / 100)
- tier_perc = (base_price - tier_price) / base_price * 100
+ tier_price = round(price_incl + (price_incl * tier_percentage / 100), 12)
+ tier_perc = round((base_price - tier_price) / base_price * 100, 12)
tier_prod_pricelist = self.env['product.pricelist.item'].search(product_domain + [('pricelist_id', '=', tier_pricelist.id)], limit=1)
tier_prod_pricelist.price_discount = tier_perc