summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2025-08-04 10:42:49 +0000
committerIT Fixcomart <it@fixcomart.co.id>2025-08-04 10:42:49 +0000
commitaf7e048ae4d0b32f6c93073b310291949b855392 (patch)
tree18adec05d20927f3440e7df975f0814ece6e9b86
parentfdfd9e478964b959b26ac2e38b2d0a37aa5e4edf (diff)
parent40cb418248b940bb28e5cc5938afed1c27eb7855 (diff)
Merged in auto_fill_finance_note (pull request #376)
Auto fill finance note
-rw-r--r--indoteknik_custom/models/commision.py25
-rw-r--r--indoteknik_custom/models/cust_commision.py1
2 files changed, 24 insertions, 2 deletions
diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py
index 9f7df464..6d538b83 100644
--- a/indoteknik_custom/models/commision.py
+++ b/indoteknik_custom/models/commision.py
@@ -208,7 +208,7 @@ class CustomerCommision(models.Model):
('pending', 'Pending'),
('payment', 'Payment'),
], string='Payment Status', copy=False, readonly=True, tracking=3, default='pending')
- note_finnance = fields.Text('Notes Finnance')
+ note_finnance = fields.Text('Notes Finance')
reason_reject = fields.Char(string='Reason Reaject', tracking=True, track_visibility='onchange')
approved_by = fields.Char(string='Approved By', tracking=True, track_visibility='always')
@@ -399,6 +399,27 @@ class CustomerCommision(models.Model):
# result = super(CustomerCommision, self).create(vals)
# return result
+ def _fill_note_finance(self):
+ for rec in self:
+ 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_finnance = (
+ "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)
@@ -425,6 +446,8 @@ class CustomerCommision(models.Model):
elif self.status == 'pengajuan4' and self.env.user.id == 1272:
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