Indonesia's PPh 21 Taxform Related Configuration and Computation

l10n_id_taxform_pph_21
REPOSITORY
REPOSITORYOCA/l10n-indonesia
GIT
GIThttps://github.com/OCA/l10n-indonesia.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-indonesia/tree/8.0/l10n_id_taxform_pph_21
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYlocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenSynergy Indonesia
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenSynergy Indonesia
COMMITTERS
COMMITTERSGitHub, Andhitia Rama
WEBSITE
WEBSITEhttps://opensynergy-indonesia.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-indonesia:
    - l10n_id_taxform
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
pph_21_biaya_jabatan_view_form form l10n_id.pph_21_biaya_jabatan l10n_id.pph_21_biaya_jabatan form New
pph_21_biaya_jabatan_view_tree tree l10n_id.pph_21_biaya_jabatan l10n_id.pph_21_biaya_jabatan tree New
pph_21_npwp_rate_modifier_view_form form l10n_id.pph_21_npwp_rate_modifier l10n_id.pph_21_npwp_rate_modifier form New
pph_21_npwp_rate_modifier_view_tree tree l10n_id.pph_21_npwp_rate_modifier l10n_id.pph_21_npwp_rate_modifier tree New
pph_21_rate_view_form form l10n_id.pph_21_rate l10n_id.pph_21_rate form New
pph_21_rate_view_tree tree l10n_id.pph_21_rate l10n_id.pph_21_rate tree New
ptkp_category_view_form form l10n_id.ptkp_category l10n_id.ptkp_category form New
ptkp_category_view_tree tree l10n_id.ptkp_category l10n_id.ptkp_category tree New
ptkp_view_form form l10n_id.ptkp l10n_id.ptkp form New
ptkp_view_tree tree l10n_id.ptkp l10n_id.ptkp tree New
res_partner_view_form form res.partner taxform information res.partner data Inherits account.view_partner_property_form
Models touched (8)

New fields (4)
  • date_start Date
    required=True string='Tanggal Mulai Berlaku'
  • max_biaya_jabatan Float
    required=True string='Max. Biaya Jabatan'
  • name Char
    required=True string='Dasar Hukum'
  • rate_biaya_jabatan Float
    required=True string='Rate Biaya Jabatan'
Public methods (4)
  • find(self, dt=None)
    @api.model
  • get_biaya_jabatan(self, jumlah_penghasilan_rutin=0.0, jumlah_penghasilan_non_rutin=0.0, tanggal_pemotongan=False)
    @api.multi
  • get_biaya_jabatan_non_rutin(self, jumlah_penghasilan_non_rutin=0.0, biaya_jabatan_rutin=0.0, tanggal_pemotongan=False)
    @api.multi
  • get_biaya_jabatan_rutin(self, jumlah_penghasilan_rutin=0.0, tanggal_pemotongan=False)
    @api.multi

New fields (3)
  • date_start Date
    required=True string='Tanggal Mulai Berlaku'
  • name Char
    required=True string='Dasar Hukum'
  • pph_rate_modifier Float
    required=True string='PPh Rate Modifier'
Public methods (2)
  • find(self, dt=None)
    @api.model
  • get_rate(self, dt=None)
    @api.model

New fields (3)
  • date_start Date
    required=True string='Tanggal Mulai Berlaku'
  • line_ids One2many → l10n_id.pph_21_rate_line
    comodel_name='l10n_id.pph_21_rate_line' inverse_name='rate_id' string='PPh 21 Rate Detail'
  • name Char
    required=True string='Dasar Hukum'
Public methods (2)
  • compute_tax(self, penghasilan_kena_pajak)
    @api.multi
  • find(self, dt=None)
    @api.model

New fields (3)
  • min_income Float
    required=True string='Min. Income'
  • pph_rate Float
    string='PPh 21 Rate'
  • rate_id Many2one → l10n_id.pph_21_rate
    comodel_name='l10n_id.pph_21_rate' ondelete='cascade' string='PPh 21 Rate'
Public methods (1)
  • compute_tax(self, penghasilan_kena_pajak, next_line)
    @api.multi

New fields (3)
  • date_start Date
    required=True string='Tanggal Mulai Berlaku'
  • line_ids One2many → l10n_id.ptkp_line
    comodel_name='l10n_id.ptkp_line' inverse_name='ptkp_id' string='Detail Tarif'
  • name Char
    required=True string='Dasar Hukum'
Public methods (2)
  • find(self, dt=None)
    @api.model
  • get_rate(self, ptkp_category)
    @api.multi

New fields (2)
  • name Char
    required=True string='Category'
  • note Text
    string='Additional Note'
Public methods (1)
  • get_rate(self, dt=None)
    @api.multi

New fields (3)
  • ptkp_category_id Many2one → l10n_id.ptkp_category
    comodel_name='l10n_id.ptkp_category' required=True string='PTKP Category'
  • ptkp_id Many2one → l10n_id.ptkp
    comodel_name='l10n_id.ptkp' ondelete='cascade' string='PTKP'
  • ptkp_rate Float
    required=True string='Tarif PTKP'
Public methods (0)

No public methods.

New fields (1)
  • ptkp_category_id Many2one → l10n_id.ptkp_category
    comodel_name='l10n_id.ptkp_category' string='PTKP Category'
Public methods (1)
  • compute_pph_21_2110001(self, bulan_bergabung=1, tanggal_pemotongan=False, gaji=0.0, tunjangan_pph=0.0, tunjangan_lain=0.0, jumlah_penghasilan_non_rutin=0.0, pensiun=0.0)
    @api.multi