Commit 1a66d428 by Owo Sugiana

Rumus denda di Kota Serang sama seperti Kota Tangerang Selatan

1 parent e4f0d1ae
0.5.5 2024-02-26
----------------
- Rumus denda di Kota Serang sama seperti Kota Tangerang Selatan
0.5.4 2024-02-15
----------------
- Tambah Kota Bogor
......
......@@ -3,8 +3,23 @@ from .tangerang_kab import (
Reversal,
AvailableInvoice,
)
from .tangsel import hitung_denda
class Inquiry(BaseInquiry):
def get_discount_denda(self): # Override
return 0
def hitung_denda_waktu(self): # Override
tgl_kohir = self.get_tgl_kohir()
if tgl_kohir:
tahun_terbit = tgl_kohir.year
else:
tahun_terbit = self.invoice.masadari.year
if tahun_terbit > 2023:
persen_denda = 1
else:
persen_denda = self.conf['persen_denda']
self.bln_tunggakan, self.denda_waktu = hitung_denda(
self.tagihan, self.invoice.jatuhtempotgl, persen_denda,
self.tgl_bayar.date())
......@@ -3,6 +3,7 @@ from datetime import (
datetime,
timedelta,
)
from opensipkd.hitung import bulan_tunggakan_berdasarkan_tgl
from .default import (
Inquiry as BaseInquiry,
Reversal as BaseReversal,
......@@ -31,6 +32,21 @@ MASA_PAJAK_NON_REKLAME = date(2023, 8, 31)
MASA_PAJAK_REKLAME = date(2023, 8, 31)
def hitung_denda(tagihan, jatuh_tempo, persen_denda, tgl_hitung):
if jatuh_tempo is None:
return 0, 0
if isinstance(jatuh_tempo, datetime):
jatuh_tempo = jatuh_tempo.date()
if jatuh_tempo >= tgl_hitung or persen_denda <= 0:
return 0, 0
bulan = bulan_tunggakan_berdasarkan_tgl(jatuh_tempo, tgl_hitung)
persen = bulan * persen_denda
if persen > 48:
persen = 48
denda = persen / 100 * tagihan
return bulan, denda
class Inquiry(BaseInquiry):
def get_invoice(self): # Override
self.invoice = super().get_invoice()
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!