Thai Localization - Expense Tax

l10n_th_account_tax_expense
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_expense
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYLocalization / Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
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 19:30:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/hr-expense:
    - hr_expense_advance_clearing
OCA/l10n-thailand:
    - l10n_th_account_tax
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - hr_expense
    - hr
    - phone_validation
    - resource_mail
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module make sure that Expense will also comply with Tax Invoice
concept of l10n_th_account_tax.

In case expense has VAT,

- Expense's Bill Reference and Date will be used as Tax Invoice Number
  and Tax Invoice Date
- Without Bill Reference, Post Journal Entry is not allowed

This module also provide addition step to create withholding tax journal
entry.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
hr_expense_view_form hr.expense.view.form hr.expense xpath Inherits hr_expense.hr_expense_view_form
view_account_payment_register_form account.payment.register.form account.payment.register field Inherits l10n_th_account_tax.view_account_payment_register_form
view_hr_expense_sheet_form view.hr.expense.sheet.form hr.expense.sheet button Inherits hr_expense.view_hr_expense_sheet_form
Models touched (5)

New fields (0)

No new fields.

Public methods (2)
  • button_cancel(self)
    Check Withholding tax JV before cancel journal entry on clearing
  • button_draft(self)
    Unlink withholding tax on clearing

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • bill_partner_id Many2one → res.partner
    comodel_name='res.partner' default=<expr> string='Vendor Reference'
Public methods (0)

No public methods.

New fields (4)
  • bill_partner_id Many2one → res.partner
    comodel_name='res.partner' string='Vendor Reference' tracking=True
  • tax_date Date
  • tax_number Char
  • wht_tax_id Many2one → account.withholding.tax
    comodel_name='account.withholding.tax' compute='_compute_wht_tax_id' readonly=False store=True string='WHT' tracking=True
Public methods (0)

No public methods.

New fields (2)
  • need_wht_entry Boolean
    compute='_compute_need_wht_entry' help='Tell user that this advance clearing is pending create withholding tax entry.'
  • wht_move_id Many2one → account.move
    comodel_name='account.move' copy=False help='For case clear advance, a JV can be created to record withholding tax' ondelete='set null' readonly=True string='Withholding Tax JV' tracking=True
Public methods (4)
  • action_create_withholding_tax_entry(self)
    From expense sheet with WHT lines, this action helps create new JV with default withholding entries
  • action_open_wht_move(self)
  • action_register_payment(self)
    For Clearing, never deduct WHT auto
  • action_sheet_move_post(self)
    Update tax invoice from expense
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_expense
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalization / Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ecosoft
COMMITTERS
COMMITTERSoca-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/hr-expense:
    - hr_expense_advance_clearing
OCA/l10n-thailand:
    - l10n_th_account_tax
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - hr_expense
    - hr_contract
    - hr
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
hr_expense_view_form hr.expense.view.form hr.expense xpath Inherits hr_expense.hr_expense_view_form
view_account_payment_register_form account.payment.register.form account.payment.register field Inherits l10n_th_account_tax.view_account_payment_register_form
view_hr_expense_sheet_form view.hr.expense.sheet.form hr.expense.sheet button Inherits hr_expense.view_hr_expense_sheet_form
Models touched (5)

New fields (0)

No new fields.

Public methods (2)
  • button_cancel(self)
    Check Withholding tax JV before cancel journal entry on clearing
  • button_draft(self)
    Unlink withholding tax on clearing

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • bill_partner_id Many2one → res.partner
    comodel_name='res.partner' default=<expr> string='Vendor'
Public methods (0)

No public methods.

New fields (2)
  • bill_partner_id Many2one → res.partner
    comodel_name='res.partner' string='Vendor' tracking=True
  • wht_tax_id Many2one → account.withholding.tax
    comodel_name='account.withholding.tax' compute='_compute_wht_tax_id' readonly=False store=True string='WHT' tracking=True
Public methods (0)

No public methods.

New fields (2)
  • need_wht_entry Boolean
    compute='_compute_need_wht_entry' help='Tell user that this advance clearing is pending create withholding tax entry.'
  • wht_move_id Many2one → account.move
    comodel_name='account.move' copy=False help='For case clear advance, a JV can be created to record withholding tax' ondelete='set null' readonly=True string='Withholding Tax JV' tracking=True
Public methods (3)
  • action_create_withholding_tax_entry(self)
    From expense sheet with WHT lines, this action helps create new JV with default withholding entries
  • action_open_wht_move(self)
  • action_register_payment(self)
    For Clearing, never deduct WHT auto
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_expense
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYLocalization / Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ecosoft
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Saran440, ps-tubtim
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-thailand
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/hr-expense:
    - hr_expense_advance_clearing
    - hr_expense_sequence
OCA/l10n-thailand:
    - l10n_th_account_tax
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - hr_expense
    - hr_contract
    - hr
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
hr_expense_view_form hr.expense.view.form hr.expense xpath Inherits hr_expense.hr_expense_view_form
view_account_payment_register_form account.payment.register.form account.payment.register field Inherits l10n_th_account_tax.view_account_payment_register_form
view_hr_expense_sheet_form view.hr.expense.sheet.form hr.expense.sheet button Inherits hr_expense.view_hr_expense_sheet_form
Models touched (5)

New fields (0)

No new fields.

Public methods (2)
  • button_cancel(self)
    Check Withholding tax JV before cancel journal entry on clearing
  • button_draft(self)
    Unlink withholding tax on clearing

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • bill_partner_id Many2one → res.partner
    comodel_name='res.partner' default=<expr> string='Vendor'
Public methods (0)

No public methods.

New fields (2)
  • bill_partner_id Many2one → res.partner
    comodel_name='res.partner' string='Vendor' tracking=True
  • wht_tax_id Many2one → account.withholding.tax
    comodel_name='account.withholding.tax' compute='_compute_wht_tax_id' readonly=False store=True string='WHT' tracking=True
Public methods (0)

No public methods.

New fields (2)
  • need_wht_entry Boolean
    compute='_compute_need_wht_entry' help='Tell user that this advance clearing is pending create withholding tax entry.'
  • wht_move_id Many2one → account.move
    comodel_name='account.move' copy=False help='For case clear advance, a JV can be created to record withholding tax' ondelete='set null' readonly=True string='Withholding Tax JV' tracking=True
Public methods (3)
  • action_create_withholding_tax_entry(self)
    From expense sheet with WHT lines, this action helps create new JV with default withholding entries
  • action_open_wht_move(self)
  • action_register_payment(self)
    For Clearing, never deduct WHT auto