Commit a13cfda9 by Owo Sugiana

Perubahan rumus denda Kota Bekasi

1 parent 6e5c24eb
0.3.58 2026-06-12
-----------------
- Perubahan rumus denda Kota Bekasi
0.3.57 2026-06-08
-----------------
- Discount denda Kabupaten Pangandaran
......
......@@ -3,7 +3,7 @@ requires = ['setuptools >= 64']
[project]
name = 'sismiop-models'
version = '0.3.57'
version = '0.3.58'
dependencies = [
'sqlalchemy',
'zope.sqlalchemy',
......
......@@ -25,7 +25,12 @@ from .binjai import (
)
MAX_BULAN_DENDA = 24
"""
Ketentuan:
1. Tahun Pajak <= 2018 denda 2% max 24 bulan
2. 2019 <= Tahun Pajak <= 2023 denda 2% max 15 bulan
3. Tahun Pajak >= 2024 denda 1% max 24 bulan
"""
AWAL_DISC = date(2026, 2, 20)
AKHIR_DISC = date(2026, 5, 31)
......@@ -44,33 +49,19 @@ def hitung_denda(
tahun: str) -> tuple:
if jatuh_tempo >= tgl_hitung:
return 0, 0
if '2019' <= tahun <= '2023':
bulan = 15
denda = bulan * 0.02 * tagihan
return bulan, denda
jatuh_tempo_batas = date(2024, 1, jatuh_tempo.day)
bulan2persen = bulan_tunggakan_berdasarkan_tgl(
jatuh_tempo, jatuh_tempo_batas)
if bulan2persen:
if bulan2persen > MAX_BULAN_DENDA:
bulan2persen = MAX_BULAN_DENDA
bulan1persen = 0
else:
bulan1persen = bulan_tunggakan_berdasarkan_tgl(
jatuh_tempo_batas, tgl_hitung)
sisa = MAX_BULAN_DENDA - bulan2persen
if bulan1persen > sisa:
bulan1persen = sisa
if tahun <= '2018':
potongan = 0.02
max_bulan = 24
elif '2019' <= tahun <= '2023':
potongan = 0.02
max_bulan = 15
else:
bulan1persen = bulan_tunggakan_berdasarkan_tgl(
jatuh_tempo, tgl_hitung)
if bulan1persen > MAX_BULAN_DENDA:
bulan1persen = MAX_BULAN_DENDA
persen = bulan2persen * 2 + bulan1persen
if persen > 48:
persen = 48
bulan = bulan2persen + bulan1persen
denda = float(persen) / 100 * tagihan
potongan = 0.01
max_bulan = 24
bulan = bulan_tunggakan_berdasarkan_tgl(jatuh_tempo, tgl_hitung)
if bulan > max_bulan:
bulan = max_bulan
denda = bulan * potongan * tagihan
return bulan, denda
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!