Thai Localization - VAT and Withholding Tax Reports

l10n_th_account_tax_report
REPOSITORY
REPOSITORYOCA/l10n-thailand
GIT
GIThttps://github.com/OCA/l10n-thailand.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-thailand/tree/18.0/l10n_th_account_tax_report
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ecosoft
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Saran440, Pani-k-folk
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-thailand
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-thailand:
    - l10n_th_base_utils
    - l10n_th_partner
    - l10n_th_account_tax
OCA/partner-contact:
    - partner_company_type
    - partner_firstname
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
OCA/server-ux:
    - date_range
odoo/odoo:
    - web
    - base
    - contacts
    - mail
    - base_setup
    - bus
    - web_tour
    - html_editor
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
TAX Report is a report that displays transactions based on the selected tax type within a specific date range (period).
It helps businesses track VAT and Withholding Tax more accurately, and supports both standard and Revenue Department (RD) formats for compliance purposes.
The module also allows customization of report formats and text files for official tax submissions.

Code Analysis

Views touched (32)
XML IDNameModelTypeStatus
header_line_report_withholding_tax header_line_report_withholding_tax ir.ui.view qweb New
header_report_withholding_tax header_report_withholding_tax ir.ui.view qweb New
internal_layout internal_layout ir.ui.view qweb New
line_report_withholding_tax line_report_withholding_tax ir.ui.view qweb New
report_rd_base_company_withholding_tax report_rd_base_company_withholding_tax ir.ui.view qweb New
report_rd_base_partner_vat_withholding_tax report_rd_base_partner_vat_withholding_tax ir.ui.view qweb New
report_rd_base_total_withholding_tax report_rd_base_total_withholding_tax ir.ui.view qweb New
report_rd_company_tax_branch report_rd_company_tax_branch ir.ui.view qweb New
report_rd_tax_report report_rd_tax_report ir.ui.view qweb New
report_rd_tax_report_article report_rd_tax_report_article ir.ui.view qweb New
report_rd_tax_report_header report_rd_tax_report_header ir.ui.view qweb New
report_rd_thai_tax report_rd_thai_tax ir.ui.view qweb New
report_rd_withholding_tax report_rd_withholding_tax ir.ui.view qweb New
report_rd_withholding_tax_pnd1 report_rd_withholding_tax_pnd1 ir.ui.view qweb New
report_rd_withholding_tax_pnd1a report_rd_withholding_tax_pnd1a ir.ui.view qweb New
report_rd_withholding_tax_pnd2 report_rd_withholding_tax_pnd2 ir.ui.view qweb New
report_rd_withholding_tax_pnd3 report_rd_withholding_tax_pnd3 ir.ui.view qweb New
report_rd_withholding_tax_pnd53 report_rd_withholding_tax_pnd53 ir.ui.view qweb New
report_tax_report_base report_tax_report_base ir.ui.view qweb New
report_tax_report_filters report_tax_report_filters ir.ui.view qweb New
report_tax_report_lines report_tax_report_lines ir.ui.view qweb New
report_tax_report_lines_header report_tax_report_lines_header ir.ui.view qweb New
report_tax_report_total_lines report_tax_report_total_lines ir.ui.view qweb New
report_thai_tax report_thai_tax ir.ui.view qweb New
report_wht report_wht ir.ui.view qweb New
report_withholding_tax report_withholding_tax ir.ui.view qweb New
report_withholding_tax_text report_withholding_tax_text ir.ui.view qweb New
res_company_view_form res.company xpath Inherits base.view_company_form
res_config_settings_view_form res.config.settings.view.form.thai.account res.config.settings xpath Inherits l10n_th_account_tax.res_config_settings_view_form
tax_report_wizard_form tax.report.wizard.form tax.report.wizard form New
total_line_report_withholding_tax total_line_report_withholding_tax ir.ui.view qweb New
view_withholding_tax_report_wizard withholding.tax.report.wizard.view withholding.tax.report.wizard form New
Models touched (12)

New fields (5)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=False string='Company'
  • date_from Date
    required=True
  • date_range_id Many2one → date.range
    comodel_name='date.range'
  • date_to Date
    required=True
  • show_cancel Boolean
    default=True string='Show Cancelled'
Public methods (5)
  • button_export_html(self)
  • button_export_pdf(self)
  • button_export_xlsx(self)
  • check_date_from_to(self)
    @api.constrains('date_from', 'date_to')
  • onchange_date_range_id(self)
    @api.onchange('date_range_id')
    Handle date range change.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • tax_report_format Selection
    default='std' required=True selection=[('std', 'Standard'), ('rd', 'Revenue Department')]
  • wht_report_format Selection
    default='std' required=True selection=[('std', 'Standard'), ('rd', 'Revenue Department')]
  • wht_text_file_pnd1_format Text
    default='%(income_code)s|%(row_number)s|%(partner_vat)s|%(partner_title)s|%(partner_firstname)s|%(partner_lastname)s|%(cert_date)s|%(base)s|%(amount)s|%(cert_tax_payer)s\n' help="Display format to use for text file PND1.\n\nYou can use python-style string pattern with all the fields of the withholding tax (for example, use '%(partner_vat)s' to display the field 'partner_vat') plus\n%(row_number)s: Index\n%(cert_cancel)s: Cancelled\n%(cert_date)s: Date\n%(cert_date_str)s: Date (string)\n%(cert_name)s: Name\n%(cert_tax_payer)s: Tax Payer\n%(cert_tax_payer_display)s: Tax Payer Display\n%(cert_tax_payer_code)s: Tax Payer Code\n%(partner_id)s: Partner ID\n%(partner_name)s: Partner Name\n%(partner_title)s: Partner Title\n%(partner_firstname)s: Partner Firstname\n%(partner_lastname)s: Partner Lastname\n%(partner_address)s: Partner Address\n%(partner_street)s: Partner Street\n%(partner_street2)s: Partner Street2\n%(partner_city)s: Partner City\n%(partner_state)s: Partner State\n%(partner_zip)s: Partner Zip\n%(partner_country)s: Partner Country\n%(partner_vat)s: Partner VAT\n%(partner_branch)s: Partner Branch\n%(partner_bank_account)s: Partner Bank Account\n%(income_code)s: Income Code\n%(base)s: Base\n%(amount)s: Amount" string='Layout in Text File PND1'
  • wht_text_file_pnd3_format Text
    default='%(row_number)s|%(partner_vat)s|%(partner_branch)s|%(partner_title)s|%(partner_firstname)s|%(partner_lastname)s|%(partner_street)s|%(partner_street2)s|%(partner_city)s|%(partner_state)s|%(partner_zip)s|%(loop_cert_date)s|%(loop_wht_cert_income_desc)s|%(loop_wht_percent)s|%(loop_base)s|%(loop_amount)s|%(loop_cert_tax_payer)s\n' help="Display format to use for text file PND3.\n\nYou can use python-style string pattern with all the fields of the withholding tax (for example, use '%(partner_vat)s' to display the field 'partner_vat') plus\n%(row_number)s: Index\n%(cert_cancel)s: Cancelled\n%(cert_date)s: Date\n%(cert_date_str)s: Date (string)\n%(cert_name)s: Name\n%(cert_tax_payer)s: Tax Payer\n%(cert_tax_payer_display)s: Tax Payer Display\n%(cert_tax_payer_code)s: Tax Payer Code\n%(partner_id)s: Partner ID\n%(partner_name)s: Partner Name\n%(partner_title)s: Partner Title\n%(partner_firstname)s: Partner Firstname\n%(partner_lastname)s: Partner Lastname\n%(partner_address)s: Partner Address\n%(partner_street)s: Partner Street\n%(partner_street2)s: Partner Street2\n%(partner_city)s: Partner City\n%(partner_state)s: Partner State\n%(partner_zip)s: Partner Zip\n%(partner_country)s: Partner Country\n%(partner_vat)s: Partner VAT\n%(partner_branch)s: Partner Branch\n%(partner_bank_account)s: Partner Bank Account\n%(income_code)s: Income Code\n%(base)s: Base\n%(amount)s: Amount" string='Layout in Text File PND3'
  • wht_text_file_pnd53_format Text
    default='%(row_number)s|%(partner_vat)s|%(partner_branch)s|%(partner_title)s|%(partner_name)s|%(partner_street)s|%(partner_street2)s|%(partner_city)s|%(partner_state)s|%(partner_zip)s|%(loop_cert_date)s|%(loop_wht_cert_income_desc)s|%(loop_wht_percent)s|%(loop_base)s|%(loop_amount)s|%(loop_cert_tax_payer)s\n' help="Display format to use for text file PND53.\n\nYou can use python-style string pattern with all the fields of the withholding tax (for example, use '%(partner_vat)s' to display the field 'partner_vat') plus\n%(row_number)s: Index\n%(cert_cancel)s: Cancelled\n%(cert_date)s: Date\n%(cert_date_str)s: Date (string)\n%(cert_name)s: Name\n%(cert_tax_payer)s: Tax Payer\n%(cert_tax_payer_display)s: Tax Payer Display\n%(cert_tax_payer_code)s: Tax Payer Code\n%(partner_id)s: Partner ID\n%(partner_name)s: Partner Name\n%(partner_title)s: Partner Title\n%(partner_firstname)s: Partner Firstname\n%(partner_lastname)s: Partner Lastname\n%(partner_address)s: Partner Address\n%(partner_street)s: Partner Street\n%(partner_street2)s: Partner Street2\n%(partner_city)s: Partner City\n%(partner_state)s: Partner State\n%(partner_zip)s: Partner Zip\n%(partner_country)s: Partner Country\n%(partner_vat)s: Partner VAT\n%(partner_branch)s: Partner Branch\n%(partner_bank_account)s: Partner Bank Account\n%(income_code)s: Income Code\n%(base)s: Base\n%(amount)s: Amount" string='Layout in Text File PND53'
Public methods (0)

No public methods.

New fields (2)
  • tax_report_format Selection
    readonly=False related='company_id.tax_report_format' required=True
  • wht_report_format Selection
    readonly=False related='company_id.wht_report_format' required=True
Public methods (0)

No public methods.

New fields (1)
  • tax_id Many2one → account.tax
    comodel_name='account.tax' domain=[('tax_exigibility', '=', 'on_invoice'), ('type_tax_use', 'in', ['sale', 'purchase']), ('include_base_amount', '=', False)] required=True string='Tax'
Public methods (0)

No public methods.

New fields (1)
  • income_tax_form Selection
    required=True selection=[('pnd1', 'PND1'), ('pnd1a', 'PND1A'), ('pnd2', 'PND2'), ('pnd3', 'PND3'), ('pnd53', 'PND53')]
Public methods (1)
  • button_export_txt(self)
REPOSITORY
REPOSITORYOCA/l10n-thailand
GIT
GIThttps://github.com/OCA/l10n-thailand.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-thailand/tree/16.0/l10n_th_account_tax_report
VERSION
VERSION 1.3.1
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ecosoft
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Saran440
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-thailand
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-thailand:
    - l10n_th_fonts
    - l10n_th_partner
    - l10n_th_account_tax
OCA/partner-contact:
    - partner_company_type
    - partner_firstname
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
OCA/server-ux:
    - date_range
odoo/odoo:
    - web
    - base
    - contacts
    - mail
    - base_setup
    - bus
    - web_tour
    - hr
    - resource
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (31)
XML IDNameModelTypeStatus
header_line_report_withholding_tax header_line_report_withholding_tax ir.ui.view qweb New
header_report_withholding_tax header_report_withholding_tax ir.ui.view qweb New
l10n_th_account_tax_report.internal_layout l10n_th_account_tax_report.internal_layout ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_company_tax_branch l10n_th_account_tax_report.report_rd_company_tax_branch ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_tax_report l10n_th_account_tax_report.report_rd_tax_report ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_tax_report_article l10n_th_account_tax_report.report_rd_tax_report_article ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_tax_report_header l10n_th_account_tax_report.report_rd_tax_report_header ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_thai_tax l10n_th_account_tax_report.report_rd_thai_tax ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_filters l10n_th_account_tax_report.report_tax_report_filters ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_lines l10n_th_account_tax_report.report_tax_report_lines ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_lines_header l10n_th_account_tax_report.report_tax_report_lines_header ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_total_lines l10n_th_account_tax_report.report_tax_report_total_lines ir.ui.view qweb New
line_report_withholding_tax line_report_withholding_tax ir.ui.view qweb New
report_rd_base_company_withholding_tax report_rd_base_company_withholding_tax ir.ui.view qweb New
report_rd_base_partner_vat_withholding_tax report_rd_base_partner_vat_withholding_tax ir.ui.view qweb New
report_rd_base_total_withholding_tax report_rd_base_total_withholding_tax ir.ui.view qweb New
report_rd_withholding_tax report_rd_withholding_tax ir.ui.view qweb New
report_rd_withholding_tax_pnd1 report_rd_withholding_tax_pnd1 ir.ui.view qweb New
report_rd_withholding_tax_pnd1a report_rd_withholding_tax_pnd1a ir.ui.view qweb New
report_rd_withholding_tax_pnd2 report_rd_withholding_tax_pnd2 ir.ui.view qweb New
report_rd_withholding_tax_pnd3 report_rd_withholding_tax_pnd3 ir.ui.view qweb New
report_rd_withholding_tax_pnd53 report_rd_withholding_tax_pnd53 ir.ui.view qweb New
report_tax_report_base report_tax_report_base ir.ui.view qweb New
report_thai_tax report_thai_tax ir.ui.view qweb New
report_wht report_wht ir.ui.view qweb New
report_withholding_tax report_withholding_tax ir.ui.view qweb New
report_withholding_tax_text report_withholding_tax_text ir.ui.view qweb New
res_config_settings_view_form res.config.settings.view.form.thai.account res.config.settings xpath Inherits l10n_th_account_tax.res_config_settings_view_form
tax_report_wizard_form tax.report.wizard.form tax.report.wizard form New
total_line_report_withholding_tax total_line_report_withholding_tax ir.ui.view qweb New
view_withholding_tax_report_wizard withholding.tax.report.wizard.view withholding.tax.report.wizard form New
Models touched (8)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • tax_report_format Selection
    default='std' required=True selection=[('std', 'Standard'), ('rd', 'Revenue Department')]
  • wht_report_format Selection
    default='std' required=True selection=[('std', 'Standard'), ('rd', 'Revenue Department')]
Public methods (0)

No public methods.

New fields (2)
  • tax_report_format Selection
    readonly=False related='company_id.tax_report_format' required=True
  • wht_report_format Selection
    readonly=False related='company_id.wht_report_format' required=True
Public methods (0)

No public methods.

New fields (8)
  • account_id Many2one → account.account
    comodel_name='account.account'
  • company_id Many2one → res.company
    comodel_name='res.company'
  • name Char
  • partner_id Many2one → res.partner
    comodel_name='res.partner'
  • tax_amount Float
  • tax_base_amount Float
  • tax_date Date
  • tax_invoice_number Char
Public methods (0)

No public methods.

New fields (7)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> ondelete='cascade' required=True string='Company'
  • date_from Date
    required=True
  • date_range_id Many2one → date.range
    comodel_name='date.range' string='Period'
  • date_to Date
    required=True
  • results Many2many → tax.report.view
    comodel_name='tax.report.view' compute='_compute_results' help='Use compute fields, so there is nothing store in database'
  • show_cancel Boolean
    default=True string='Show Cancelled'
  • tax_id Many2one → account.tax
    comodel_name='account.tax' domain=[('tax_exigibility', '=', 'on_invoice'), ('type_tax_use', 'in', ['sale', 'purchase']), ('include_base_amount', '=', False)] required=True string='Tax'
Public methods (7)
  • button_export_html(self)
  • button_export_pdf(self)
  • button_export_xlsx(self)
  • check_date_from_to(self)
    @api.constrains('date_from', 'date_to')
  • format_date_ym_wht(self, date=None)
  • format_tax_date(self, date, format_date=None)
  • onchange_date_range_id(self)
    @api.onchange('date_range_id')
    Handle date range change.

New fields (7)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> domain=<expr> ondelete='cascade' required=True string='Company'
  • date_from Date
    required=True
  • date_range_id Many2one → date.range
    comodel_name='date.range' string='Date Range'
  • date_to Date
    required=True
  • income_tax_form Selection
    required=True selection=[('pnd1', 'PND1'), ('pnd1a', 'PND1A'), ('pnd2', 'PND2'), ('pnd3', 'PND3'), ('pnd53', 'PND53')]
  • results Many2many → withholding.tax.cert.line
    comodel_name='withholding.tax.cert.line' compute='_compute_results' help='Use compute fields, so there is nothing store in database'
  • show_cancel Boolean
    default=True string='Show Cancelled'
Public methods (10)
  • button_export_html(self)
  • button_export_pdf(self)
  • button_export_txt(self)
  • button_export_xlsx(self)
  • check_date_from_to(self)
    @api.constrains('date_from', 'date_to')
  • find_address(self, partner_id, line)
  • find_information(self, partner_id, line)
  • format_date_ym_wht(self, date=None)
  • format_wht_date_dmy(self, date, format_date=None)
  • onchange_date_range_id(self)
    @api.onchange('date_range_id')
    Handle date range change.
REPOSITORY
REPOSITORYOCA/l10n-thailand
GIT
GIThttps://github.com/OCA/l10n-thailand.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-thailand/tree/15.0/l10n_th_account_tax_report
VERSION
VERSION 1.4.1
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ecosoft
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Saran440, theerayut
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-thailand
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-thailand:
    - l10n_th_fonts
    - l10n_th_partner
    - l10n_th_account_tax
OCA/partner-contact:
    - partner_company_type
    - partner_firstname
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
OCA/server-ux:
    - date_range
odoo/odoo:
    - web
    - base
    - contacts
    - mail
    - base_setup
    - bus
    - web_tour
    - hr
    - resource
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (34)
XML IDNameModelTypeStatus
header_line_report_withholding_tax header_line_report_withholding_tax ir.ui.view qweb New
header_report_withholding_tax header_report_withholding_tax ir.ui.view qweb New
l10n_th_account_tax_report.internal_layout l10n_th_account_tax_report.internal_layout ir.ui.view qweb New
l10n_th_account_tax_report.report_buttons l10n_th_account_tax_report.report_buttons ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_company_tax_branch l10n_th_account_tax_report.report_rd_company_tax_branch ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_tax_report l10n_th_account_tax_report.report_rd_tax_report ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_tax_report_article l10n_th_account_tax_report.report_rd_tax_report_article ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_tax_report_header l10n_th_account_tax_report.report_rd_tax_report_header ir.ui.view qweb New
l10n_th_account_tax_report.report_rd_tax_report_pdf l10n_th_account_tax_report.report_rd_tax_report_pdf ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_filters l10n_th_account_tax_report.report_tax_report_filters ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_html l10n_th_account_tax_report.report_tax_report_html ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_lines l10n_th_account_tax_report.report_tax_report_lines ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_lines_header l10n_th_account_tax_report.report_tax_report_lines_header ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_pdf l10n_th_account_tax_report.report_tax_report_pdf ir.ui.view qweb New
l10n_th_account_tax_report.report_tax_report_total_lines l10n_th_account_tax_report.report_tax_report_total_lines ir.ui.view qweb New
line_report_withholding_tax line_report_withholding_tax ir.ui.view qweb New
report_rd_base_company_withholding_tax report_rd_base_company_withholding_tax ir.ui.view qweb New
report_rd_base_partner_vat_withholding_tax report_rd_base_partner_vat_withholding_tax ir.ui.view qweb New
report_rd_base_total_withholding_tax report_rd_base_total_withholding_tax ir.ui.view qweb New
report_rd_withholding_tax_pnd1 report_rd_withholding_tax_pnd1 ir.ui.view qweb New
report_rd_withholding_tax_pnd1a report_rd_withholding_tax_pnd1a ir.ui.view qweb New
report_rd_withholding_tax_pnd2 report_rd_withholding_tax_pnd2 ir.ui.view qweb New
report_rd_withholding_tax_pnd3 report_rd_withholding_tax_pnd3 ir.ui.view qweb New
report_rd_withholding_tax_pnd53 report_rd_withholding_tax_pnd53 ir.ui.view qweb New
report_rd_withholding_tax_qweb report_rd_withholding_tax_qweb ir.ui.view qweb New
report_tax_report_base report_tax_report_base ir.ui.view qweb New
report_withholding_tax report_withholding_tax ir.ui.view qweb New
report_withholding_tax_html report_withholding_tax_html ir.ui.view qweb New
report_withholding_tax_qweb report_withholding_tax_qweb ir.ui.view qweb New
report_withholding_tax_text report_withholding_tax_text ir.ui.view qweb New
res_config_settings_view_form res.config.settings.view.form.thai.account res.config.settings xpath Inherits l10n_th_account_tax.res_config_settings_view_form
tax_report_wizard_form tax.report.wizard.form tax.report.wizard form New
total_line_report_withholding_tax total_line_report_withholding_tax ir.ui.view qweb New
view_withholding_tax_report_wizard withholding.tax.report.wizard.view withholding.tax.report.wizard form New
Models touched (9)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (7)
  • company_id Many2one → res.company
    comodel_name='res.company'
  • date_from Date
  • date_range_id Many2one → date.range
    comodel_name='date.range'
  • date_to Date
  • results Many2many → tax.report.view
    comodel_name='tax.report.view' compute='_compute_results' help='Use compute fields, so there is nothing store in database'
  • show_cancel Boolean
    string='Show Cancelled'
  • tax_id Many2one → account.tax
    comodel_name='account.tax'
Public methods (3)
  • format_tax_date(self, date, format_date=None)
  • get_html(self, given_context=None)
    @api.model
  • print_report(self, report_type='qweb-pdf')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • tax_report_format Selection
    default='std' required=True selection=[('std', 'Standard'), ('rd', 'Revenue Department')]
  • wht_report_format Selection
    default='std' required=True selection=[('std', 'Standard'), ('rd', 'Revenue Department')]
Public methods (0)

No public methods.

New fields (2)
  • tax_report_format Selection
    readonly=False related='company_id.tax_report_format' required=True
  • wht_report_format Selection
    readonly=False related='company_id.wht_report_format' required=True
Public methods (0)

No public methods.

New fields (8)
  • account_id Many2one → account.account
    args: 'account.account'
  • company_id Many2one → res.company
    args: 'res.company'
  • name Char
  • partner_id Many2one → res.partner
    args: 'res.partner'
  • tax_amount Float
  • tax_base_amount Float
  • tax_date Date
  • tax_invoice_number Char
Public methods (0)

No public methods.

New fields (6)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> ondelete='cascade' required=True string='Company'
  • date_from Date
    required=True
  • date_range_id Many2one → date.range
    comodel_name='date.range' string='Period'
  • date_to Date
    required=True
  • show_cancel Boolean
    default=True string='Show Cancelled'
  • tax_id Many2one → account.tax
    comodel_name='account.tax' domain=[('tax_exigibility', '=', 'on_invoice'), ('type_tax_use', 'in', ['sale', 'purchase']), ('include_base_amount', '=', False)] required=True string='Tax'
Public methods (5)
  • button_export_html(self)
  • button_export_pdf(self)
  • button_export_xlsx(self)
  • check_date_from_to(self)
    @api.constrains('date_from', 'date_to')
  • onchange_date_range_id(self)
    @api.onchange('date_range_id')
    Handle date range change.

New fields (7)
  • company_id Many2one → res.company
    comodel_name='res.company' ondelete='cascade' required=True string='Company'
  • date_from Date
    required=True
  • date_range_id Many2one → date.range
    comodel_name='date.range' string='Date range'
  • date_to Date
    required=True
  • income_tax_form Selection
    required=True selection=[('pnd1', 'PND1'), ('pnd1a', 'PND1A'), ('pnd2', 'PND2'), ('pnd3', 'PND3'), ('pnd53', 'PND53')]
  • results Many2many → withholding.tax.cert.line
    comodel_name='withholding.tax.cert.line' compute='_compute_results' help='Use compute fields, so there is nothing store in database'
  • show_cancel Boolean
    string='Show Cancelled'
Public methods (6)
  • find_address(self, partner_id, line)
  • find_information(self, partner_id, line)
  • format_date(self, date=None)
  • format_date_dmy(self, date, format_date=None)
  • get_html(self, given_context=None)
    @api.model
  • print_report(self, report_type='qweb-pdf')

New fields (6)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> domain=<expr> ondelete='cascade' required=True string='Company'
  • date_from Date
    required=True
  • date_range_id Many2one → date.range
    comodel_name='date.range' string='Date Range'
  • date_to Date
    required=True
  • income_tax_form Selection
    required=True selection=[('pnd1', 'PND1'), ('pnd1a', 'PND1A'), ('pnd2', 'PND2'), ('pnd3', 'PND3'), ('pnd53', 'PND53')]
  • show_cancel Boolean
    default=True string='Show Cancelled'
Public methods (6)
  • button_export_html(self)
  • button_export_pdf(self)
  • button_export_txt(self)
  • button_export_xlsx(self)
  • check_date_from_to(self)
    @api.constrains('date_from', 'date_to')
  • onchange_date_range_id(self)
    @api.onchange('date_range_id')
    Handle date range change.
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/l10n-thailand
PULL REQUEST
PULL REQUEST[19.0][MIG] l10n_th_account_tax_report: Migration to 19.0 (#583)