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