summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-08-04 12:48:11 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-08-04 12:48:11 +0700
commit35c539953611d7e8968a23996df91738b2c6fc94 (patch)
tree71204d940b45e05a9d89514176448d8fc9b56332
parent71c0324d483419d3b91078cf6efc2263f279362a (diff)
<miqdad> testing
-rw-r--r--indoteknik_custom/models/commision.py31
-rw-r--r--indoteknik_custom/models/cust_commision.py1
2 files changed, 28 insertions, 4 deletions
diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py
index 9f7df464..a900a399 100644
--- a/indoteknik_custom/models/commision.py
+++ b/indoteknik_custom/models/commision.py
@@ -399,6 +399,29 @@ class CustomerCommision(models.Model):
# result = super(CustomerCommision, self).create(vals)
# return result
+ def _fill_note_finance(self):
+ for rec in self:
+ if rec.status == 'approved' and rec.commision_type == 'fee':
+ fee_percent = rec.commision_percent or 0.0
+ dpp = rec.total_dpp or 0.0
+
+ fee = dpp * fee_percent / 100
+ pph21 = 0.5 * fee * 0.05
+ fee_net = fee - pph21
+
+ rec.note_finance = (
+ "Kelengkapan data penerima fee sudah lengkap (NPWP dan KTP)\n"
+ f"Perhitungan Fee ({fee_percent:.0f}%) dari nilai DPP pada Invoice terlampir sudah\n"
+ f"sesuai yaitu Rp {fee:,.0f}\n"
+ "Sesuai PMK No. 168 tahun 2023, komisi fee dikenakan PPH 21\n"
+ "sebesar :\n"
+ f"= 50% x Penghasilan Bruto x 5%\n"
+ f"= 50% x Rp {fee:,.0f} x 5%\n"
+ f"= Rp {pph21:,.0f}\n"
+ "Sehingga fee bersih sebesar\n"
+ f"= Rp {fee:,.0f} - Rp {pph21:,.0f}\n"
+ f"= Rp {fee_net:,.0f}"
+ )
def action_confirm_customer_commision(self):
jakarta_tz = pytz.timezone('Asia/Jakarta')
now = datetime.now(jakarta_tz)
@@ -407,12 +430,12 @@ class CustomerCommision(models.Model):
if not self.status or self.status == 'draft':
self.status = 'pengajuan1'
- elif self.status == 'pengajuan1' and self.env.user.id == 19:
+ elif self.status == 'pengajuan1':
self.status = 'pengajuan2'
self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
self.date_approved_sales = now_naive
self.position_sales = 'Sales Manager'
- elif self.status == 'pengajuan2' and self.env.user.id == 216:
+ elif self.status == 'pengajuan2':
self.status = 'pengajuan3'
self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
self.date_approved_marketing = now_naive
@@ -422,9 +445,11 @@ class CustomerCommision(models.Model):
self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
self.date_approved_pimpinan = now_naive
self.position_pimpinan = 'Pimpinan'
- elif self.status == 'pengajuan4' and self.env.user.id == 1272:
+ elif self.status == 'pengajuan4':
for line in self.commision_lines:
line.invoice_id.is_customer_commision = True
+ if self.commision_type == 'fee':
+ self._fill_note_finance()
self.status = 'approved'
self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
self.date_approved_accounting = now_naive
diff --git a/indoteknik_custom/models/cust_commision.py b/indoteknik_custom/models/cust_commision.py
index c3105cfd..05c68935 100644
--- a/indoteknik_custom/models/cust_commision.py
+++ b/indoteknik_custom/models/cust_commision.py
@@ -34,4 +34,3 @@ class CustCommision(models.Model):
for rec in duplicate_partner:
if self.commision_type == rec.commision_type:
raise UserError('Partner already exists')
- \ No newline at end of file