Commit 2bbc05c6 by Owo Sugiana

Discount denda Kabupaten Subang

1 parent b2165eaa
0.1.39 2022-8-4
---------------
- Rumus discount denda Kabupaten Subang
0.1.38 2022-7-30 0.1.38 2022-7-30
---------------- ----------------
- Rumus discount pokok dan denda Kota Tangerang Selatan - Rumus discount pokok dan denda Kota Tangerang Selatan
......
from sqlalchemy import ( from sqlalchemy import (
Column, Column,
Float, Float,
Integer,
) )
from .default import PembayaranSppt as BasePembayaranSppt from .default import PembayaranSppt as BasePembayaranSppt
class PembayaranSppt(BasePembayaranSppt): class PembayaranSppt(BasePembayaranSppt):
__table_args__ = dict(extend_existing=True) __table_args__ = dict(extend_existing=True)
posted = Column(Integer)
denda_sblm_diskon = Column(Float) denda_sblm_diskon = Column(Float)
discount_pokok = Column(Float)
discount_denda = Column(Float)
# Keputusan Bupati Subang # Keputusan Bupati Subang, 3 Agustus 2022
# NOMOR : KU.03.02/Kep.172 - BAPENDA/2021
# 1. Tanggal bayar April - Juni 2021
# 2. Tahun pajak hingga 2020
# 3. Discount denda 100%
from datetime import date from datetime import date
from ..models.subang import PembayaranSppt from ..models.subang import PembayaranSppt
...@@ -13,7 +9,7 @@ from .default import ( ...@@ -13,7 +9,7 @@ from .default import (
) )
AKHIR_DISC = date(2021, 6, 30) AKHIR_DISC = date(2022, 9, 30)
class Inquiry(BaseInquiry): class Inquiry(BaseInquiry):
...@@ -23,13 +19,16 @@ class Inquiry(BaseInquiry): ...@@ -23,13 +19,16 @@ class Inquiry(BaseInquiry):
def hitung_discount(self): # Override def hitung_discount(self): # Override
if self.tgl_bayar > AKHIR_DISC: if self.tgl_bayar > AKHIR_DISC:
return return
if self.invoice.thn_pajak_sppt > '2020': if self.invoice.thn_pajak_sppt > '2021':
return return
self.discount = self.denda self.discount = self.denda
def before_save(self, payment): # Override def before_save(self, payment): # Override
payment.denda_sppt = self.denda - self.discount payment.denda_sppt = self.denda - self.discount
payment.denda_sblm_diskon = self.denda payment.denda_sblm_diskon = self.denda
payment.discount_pokok = 0
payment.discount_denda = self.discount
payment.posted = 0
class Reversal(BaseReversal): class Reversal(BaseReversal):
...@@ -38,6 +37,8 @@ class Reversal(BaseReversal): ...@@ -38,6 +37,8 @@ class Reversal(BaseReversal):
def before_save(self): # Override def before_save(self): # Override
self.payment.denda_sblm_diskon = 0 self.payment.denda_sblm_diskon = 0
self.payment.discount_pokok = 0
self.payment.discount_denda = 0
class AvailableInvoice(BaseAvailableInvoice): class AvailableInvoice(BaseAvailableInvoice):
......
...@@ -23,7 +23,7 @@ from ..models.tangsel import PembayaranSppt ...@@ -23,7 +23,7 @@ from ..models.tangsel import PembayaranSppt
AWAL_DISC = date(2022, 8, 1) AWAL_DISC = date(2022, 8, 1)
AKHIR_DISC = date(2022, 12,31) AKHIR_DISC = date(2022, 12, 31)
class Inquiry(BaseInquiry): class Inquiry(BaseInquiry):
...@@ -70,7 +70,7 @@ class Inquiry(BaseInquiry): ...@@ -70,7 +70,7 @@ class Inquiry(BaseInquiry):
if faktor_pengurang > 0: if faktor_pengurang > 0:
return 0 return 0
if self.invoice.thn_pajak_sppt >= '2014' and \ if self.invoice.thn_pajak_sppt >= '2014' and \
self.invoice.thn_pajak_sppt <= '2021': self.invoice.thn_pajak_sppt <= '2021':
disc = 0.3 disc = 0.3
elif self.invoice.thn_pajak_sppt < '2014': elif self.invoice.thn_pajak_sppt < '2014':
disc = 0.75 disc = 0.75
...@@ -80,9 +80,7 @@ class Inquiry(BaseInquiry): ...@@ -80,9 +80,7 @@ class Inquiry(BaseInquiry):
def hitung_discount(self): # Override def hitung_discount(self): # Override
self.discount_pokok = self.discount_denda = 0 self.discount_pokok = self.discount_denda = 0
tgl_bayar = isinstance(self.tgl_bayar, datetime) and \ if self.tgl_bayar < AWAL_DISC or self.tgl_bayar > AKHIR_DISC:
self.tgl_bayar.date() or self.tgl_bayar
if tgl_bayar < AWAL_DISC or tgl_bayar > AKHIR_DISC:
return return
if self.tahun_2022_belum_lunas(): if self.tahun_2022_belum_lunas():
return return
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!