Commit 934b46a4 by Owo Sugiana

Discount Pokok & Discount Denda Kota Tangerang

1 parent f2ae42c9
0.3.6 2024-02-26
----------------
- Discount Pokok dan Discount Denda Kota Tangerang
0.3.5 2024-02-02
----------------
- Kota Tangerang menerapkan persen denda ganda untuk jatuh tempo sebelum 1 Januari 2024
......
......@@ -14,6 +14,17 @@ from .tangsel import (
)
AWAL_DISC = date(2024, 2, 26)
AKHIR_DISC = date(2024, 3, 31)
TAHUN_PAJAK_DISC_POKOK = '2024'
BUKU_DISC_POKOK = [
(100000, 0.2),
(500000, 0.1),
(2000000, 0.06),
(5000000, 0.04),
(None, 0.03)]
def hitung_denda(tagihan, jatuh_tempo, tgl_hitung):
if jatuh_tempo >= tgl_hitung:
return 0, 0
......@@ -46,7 +57,32 @@ class Inquiry(BaseInquiry):
self.denda = round_up(denda)
def hitung_discount(self): # Override
self.discount = self.discount_pokok = self.discount_denda = 0
self.denda_sblm_diskon = self.denda
self.discount_denda = self.discount_pokok = 0
if self.tgl_bayar > AKHIR_DISC:
return
if self.tgl_bayar < AWAL_DISC:
return
self.discount_pokok = self.hitung_discount_pokok()
self.discount_denda = self.hitung_discount_denda()
self.discount = self.discount_pokok + self.discount_denda
def hitung_discount_pokok(self):
if self.invoice.thn_pajak_sppt <= '2014':
return int(0.4 * self.tagihan)
if self.invoice.thn_pajak_sppt != TAHUN_PAJAK_DISC_POKOK:
return 0
for max_tagihan, disc in BUKU_DISC_POKOK:
if max_tagihan is None:
break
if self.invoice.pbb_yg_harus_dibayar_sppt <= max_tagihan:
break
return int(disc * self.tagihan)
def hitung_discount_denda(self):
if self.invoice.thn_pajak_sppt <= '2023':
return self.denda
return 0
class AvailableInvoice(BaseAvailableInvoice):
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!