Commit 10da3174 by Owo Sugiana

Denda di Kabupaten Tasik

1 parent cb80ff9c
0.4.10 2026-06-01
-----------------
- Di Kabupaten Tasik bila pembayaran lebih dari 1 bulan dari jatuh tempo maka
dikenakan denda 1% per bulan.
0.4.9 2024-04-20 0.4.9 2024-04-20
---------------- ----------------
- Tambah Kabupaten Subang - Tambah Kabupaten Subang
......
...@@ -84,6 +84,7 @@ def show_inquiry(inq): ...@@ -84,6 +84,7 @@ def show_inquiry(inq):
show_val('Kota Objek Pajak', inq.get_kota_op()) show_val('Kota Objek Pajak', inq.get_kota_op())
show_val('NOP', inq.get_nop()) show_val('NOP', inq.get_nop())
show_val('Jatuh Tempo', inq.get_jatuh_tempo() or '') show_val('Jatuh Tempo', inq.get_jatuh_tempo() or '')
show_val('Bulan Tunggakan', inq.bln_tunggakan)
show_rp('Tagihan', inq.tagihan) show_rp('Tagihan', inq.tagihan)
show_rp('Denda', inq.denda) show_rp('Denda', inq.denda)
show_rp('Discount', inq.discount) show_rp('Discount', inq.discount)
......
from datetime import (
datetime,
date,
)
from opensipkd.hitung import (
hitung_denda,
round_up,
)
from opensipkd.waktu import next_month_day
from ..models.tasik_kabupaten import ( from ..models.tasik_kabupaten import (
Kecamatan, Kecamatan,
Kelurahan, Kelurahan,
...@@ -9,6 +18,28 @@ from .default import ( ...@@ -9,6 +18,28 @@ from .default import (
) )
# Dikenakan denda setelah 1 bulan dari jatuh tempo.
# Pak Yasir, 20 Mei 2026
PERSEN_DENDA = 1
AWAL_DENDA = date(2026, 6, 1)
class Inquiry(BaseInquiry): class Inquiry(BaseInquiry):
kecamatan_model = Kecamatan kecamatan_model = Kecamatan
kelurahan_model = Kelurahan kelurahan_model = Kelurahan
def hitung_denda(self):
if self.kode in self.kode_kurang_bayar:
return
if isinstance(self.tgl_bayar, datetime):
tgl_bayar = self.tgl_bayar.date()
else:
tgl_bayar = self.tgl_bayar
if tgl_bayar < AWAL_DENDA:
super().hitung_denda()
return
jt = self.invoice.tgl_jatuh_tempo
jt = next_month_day(jt.year, jt.month, jt.day)
self.bln_tunggakan, denda = hitung_denda(
self.tagihan, jt, PERSEN_DENDA, tgl_bayar)
self.denda = round_up(denda)
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!