├── l10n_th_mis_report ├── __init__.py ├── pyproject.toml ├── static │ └── description │ │ └── icon.png ├── readme │ ├── CONTRIBUTORS.md │ └── DESCRIPTION.md ├── __manifest__.py └── data │ ├── mis_report_style.xml │ ├── mis_report_pl.xml │ └── mis_report_tb.xml ├── test-requirements.txt ├── checklog-odoo.cfg ├── l10n_th_partner ├── pyproject.toml ├── static │ └── description │ │ └── icon.png ├── __init__.py ├── tests │ ├── __init__.py │ └── test_l10n_th_partner.py ├── models │ ├── __init__.py │ ├── res_config_settings.py │ ├── res_partner_company_type.py │ ├── res_company.py │ └── res_partner.py ├── readme │ ├── CONTRIBUTORS.md │ └── DESCRIPTION.md ├── data │ ├── res.partner.company.type.csv │ └── res.partner.title.csv ├── views │ ├── res_company_view.xml │ ├── res_users_view.xml │ ├── res_partner_company_type_view.xml │ ├── res_config_settings_views.xml │ └── res_partner_view.xml ├── hooks.py └── __manifest__.py ├── l10n_th_tier_department_demo ├── __init__.py ├── pyproject.toml ├── readme │ ├── CONTRIBUTORS.md │ └── DESCRIPTION.md ├── static │ └── description │ │ └── icon.png ├── __manifest__.py └── i18n │ └── l10n_th_tier_department_demo.pot ├── l10n_th_account_tax ├── pyproject.toml ├── static │ └── description │ │ └── icon.png ├── __init__.py ├── readme │ ├── CONTRIBUTORS.md │ ├── DESCRIPTION.md │ ├── USAGE.md │ └── CONFIGURE.md ├── wizard │ ├── __init__.py │ ├── account_move_reversal.py │ ├── account_move_reversal_view.xml │ ├── clear_tax.py │ ├── clear_tax_view.xml │ └── account_payment_register_views.xml ├── tests │ └── __init__.py ├── models │ ├── account.py │ ├── res_config_settings.py │ ├── __init__.py │ ├── res_company.py │ ├── product.py │ ├── res_partner.py │ ├── account_tax.py │ ├── account_withholding_tax.py │ └── account_partial_reconcile.py ├── data │ ├── withholding_tax_cert_data.xml │ ├── withholding_tax_type_income_data.xml │ └── pit_rate_data.xml ├── views │ ├── account_menu.xml │ ├── account_view.xml │ ├── product_view.xml │ ├── account_tax_view.xml │ ├── res_config_settings_views.xml │ ├── personal_income_tax_view.xml │ ├── res_partner_view.xml │ └── account_withholding_tax.xml ├── __manifest__.py └── security │ ├── account_security.xml │ └── ir.model.access.csv ├── l10n_th_amount_to_text ├── pyproject.toml ├── models │ ├── __init__.py │ └── res_currency.py ├── static │ └── description │ │ └── icon.png ├── tests │ ├── __init__.py │ └── test_amount_to_text.py ├── __init__.py ├── readme │ ├── CONTRIBUTORS.md │ ├── DESCRIPTION.md │ └── USAGE.md ├── __manifest__.py ├── hooks.py └── i18n │ ├── l10n_th_amount_to_text.pot │ └── th.po ├── l10n_th_base_sequence ├── pyproject.toml ├── __init__.py ├── static │ └── description │ │ └── icon.png ├── models │ ├── __init__.py │ └── ir_sequence_date_range.py ├── tests │ ├── __init__.py │ ├── test_ir_sequence.py │ └── test_ir_sequence_date_range.py ├── readme │ ├── CONTRIBUTORS.md │ └── DESCRIPTION.md ├── __manifest__.py ├── views │ └── ir_sequence_view.xml └── i18n │ └── l10n_th_base_sequence.pot ├── l10n_th_base_utils ├── pyproject.toml ├── __init__.py ├── static │ ├── fonts │ │ ├── THKoHo.ttf │ │ ├── THKrub.ttf │ │ ├── THBaijam.ttf │ │ ├── THSarabun.ttf │ │ ├── Webdings.ttf │ │ ├── AngsanaNew.ttf │ │ ├── THCharmofAU.ttf │ │ ├── THFahkwang.ttf │ │ ├── THK2DJuly8.ttf │ │ ├── THKodchasal.ttf │ │ ├── THNiramitAS.ttf │ │ ├── THSrisakdi.ttf │ │ ├── THChakraPetch.ttf │ │ ├── THCharmonman.ttf │ │ ├── THMaliGrade6.ttf │ │ └── THSarabunNew.ttf │ ├── description │ │ └── icon.png │ └── src │ │ └── scss │ │ └── fonts_style.scss ├── tests │ ├── __init__.py │ └── test_l10n_th_base_utils.py ├── models │ ├── __init__.py │ ├── res_company.py │ └── thai_utils.py ├── readme │ ├── CONTRIBUTORS.md │ ├── CONFIGURE.md │ ├── DESCRIPTION.md │ └── USAGE.md ├── __manifest__.py └── i18n │ └── l10n_th_base_utils.pot ├── l10n_th_account_tax_report ├── pyproject.toml ├── static │ ├── src │ │ └── img │ │ │ ├── pnd1.png │ │ │ ├── pnd2.png │ │ │ ├── pnd3.png │ │ │ ├── pnd1a.png │ │ │ ├── pnd53.png │ │ │ ├── pnd1_lastpage.png │ │ │ ├── pnd1a_lastpage.png │ │ │ ├── pnd3_lastpage.png │ │ │ └── pnd53_lastpage.png │ └── description │ │ └── icon.png ├── __init__.py ├── models │ ├── __init__.py │ └── res_config_settings.py ├── tests │ └── __init__.py ├── readme │ ├── CONTRIBUTORS.md │ ├── DESCRIPTION.md │ ├── CONFIGURE.md │ └── USAGE.md ├── wizard │ ├── __init__.py │ ├── tax_report_wizard.py │ ├── withholding_tax_report_wizard.py │ ├── tax_report_wizard_view.xml │ ├── withholding_tax_report_wizard_view.xml │ └── abstract_wizard.py ├── reports │ ├── templates │ │ └── wht_report_text.xml │ ├── __init__.py │ ├── wht_report_rd.py │ └── tax_report_rd.py ├── views │ ├── account_menu.xml │ └── res_config_settings_views.xml ├── security │ └── ir.model.access.csv ├── __manifest__.py └── data │ └── paper_format.xml ├── l10n_th_tier_department ├── pyproject.toml ├── __init__.py ├── readme │ ├── CONTRIBUTORS.md │ ├── DESCRIPTION.md │ └── USAGE.md ├── static │ └── description │ │ └── icon.png ├── tests │ ├── __init__.py │ └── test_tier_validation_department.py ├── models │ ├── __init__.py │ ├── hr_department.py │ └── tier_level.py ├── security │ ├── ir.model.access.csv │ └── tier_validation_department_security.xml ├── templates │ └── tier_validation_templates.xml ├── __manifest__.py └── views │ ├── hr_department_views.xml │ └── tier_level_views.xml ├── l10n_th_account_wht_cert_form ├── pyproject.toml ├── __init__.py ├── readme │ ├── CONTRIBUTORS.md │ ├── DESCRIPTION.md │ └── USAGE.md ├── tests │ ├── __init__.py │ └── test_wht_cert_form.py ├── static │ ├── description │ │ └── icon.png │ └── src │ │ └── img │ │ └── WithholdingCert.png ├── models │ ├── __init__.py │ ├── res_company.py │ ├── res_config_settings.py │ └── withholding_tax_cert.py ├── data │ ├── paper_format.xml │ ├── withholding_tax_cert_data.xml │ └── mail_template.xml ├── __manifest__.py └── views │ └── res_config_settings_views.xml ├── prettier.config.cjs ├── .editorconfig ├── .ruff.toml ├── setup └── _metapackage │ └── pyproject.toml ├── .copier-answers.yml ├── .gitignore ├── .github └── workflows │ ├── pre-commit.yml │ ├── test.yml │ └── stale.yml └── .pylintrc-mandatory /l10n_th_mis_report/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test-requirements.txt: -------------------------------------------------------------------------------- 1 | odoo_test_helper 2 | -------------------------------------------------------------------------------- /checklog-odoo.cfg: -------------------------------------------------------------------------------- 1 | [checklog-odoo] 2 | ignore= 3 | WARNING.* 0 failed, 0 error\(s\).* 4 | -------------------------------------------------------------------------------- /l10n_th_partner/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_tier_department_demo/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). 2 | -------------------------------------------------------------------------------- /l10n_th_account_tax/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_amount_to_text/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_base_sequence/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_base_utils/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_mis_report/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_tier_department/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_tier_department_demo/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /l10n_th_base_utils/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import models 4 | -------------------------------------------------------------------------------- /l10n_th_base_sequence/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import models 4 | -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THKoHo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THKoHo.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THKrub.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THKrub.ttf -------------------------------------------------------------------------------- /l10n_th_tier_department/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). 2 | 3 | from . import models 4 | -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THBaijam.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THBaijam.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THSarabun.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THSarabun.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/Webdings.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/Webdings.ttf -------------------------------------------------------------------------------- /l10n_th_partner/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_partner/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_tier_department/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - [Ecosoft](http://ecosoft.co.th): 2 | - Pimolnat Suntian \<\> 3 | -------------------------------------------------------------------------------- /l10n_th_account_tax/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import models 4 | -------------------------------------------------------------------------------- /l10n_th_amount_to_text/models/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). 2 | 3 | from . import res_currency 4 | -------------------------------------------------------------------------------- /l10n_th_base_utils/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/AngsanaNew.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/AngsanaNew.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THCharmofAU.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THCharmofAU.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THFahkwang.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THFahkwang.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THK2DJuly8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THK2DJuly8.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THKodchasal.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THKodchasal.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THNiramitAS.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THNiramitAS.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THSrisakdi.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THSrisakdi.ttf -------------------------------------------------------------------------------- /l10n_th_mis_report/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_mis_report/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_tier_department_demo/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - [Ecosoft](http://ecosoft.co.th): 2 | - Pimolnat Suntian \<\> 3 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd1.png -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd2.png -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd3.png -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - Saran Lim. \<\> 2 | - Pimolnat Suntian \<\> 3 | -------------------------------------------------------------------------------- /l10n_th_amount_to_text/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_amount_to_text/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_base_sequence/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_sequence/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THChakraPetch.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THChakraPetch.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THCharmonman.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THCharmonman.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THMaliGrade6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THMaliGrade6.ttf -------------------------------------------------------------------------------- /l10n_th_base_utils/static/fonts/THSarabunNew.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_base_utils/static/fonts/THSarabunNew.ttf -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd1a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd1a.png -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd53.png -------------------------------------------------------------------------------- /l10n_th_amount_to_text/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import test_amount_to_text 4 | -------------------------------------------------------------------------------- /l10n_th_base_utils/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import test_l10n_th_base_utils 4 | -------------------------------------------------------------------------------- /l10n_th_tier_department/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_tier_department/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_account_tax/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import models 4 | from . import wizard 5 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import test_wht_cert_form 4 | -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_wht_cert_form/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_partner/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import models 4 | from .hooks import post_init_hook 5 | -------------------------------------------------------------------------------- /l10n_th_tier_department/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). 2 | 3 | from . import test_tier_validation_department 4 | -------------------------------------------------------------------------------- /l10n_th_tier_department_demo/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_tier_department_demo/static/description/icon.png -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd1_lastpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd1_lastpage.png -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd1a_lastpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd1a_lastpage.png -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd3_lastpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd3_lastpage.png -------------------------------------------------------------------------------- /l10n_th_account_tax_report/static/src/img/pnd53_lastpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_tax_report/static/src/img/pnd53_lastpage.png -------------------------------------------------------------------------------- /l10n_th_amount_to_text/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). 2 | 3 | from . import models 4 | from .hooks import pre_init_hook 5 | -------------------------------------------------------------------------------- /l10n_th_base_utils/models/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import res_company 4 | from . import thai_utils 5 | -------------------------------------------------------------------------------- /l10n_th_tier_department/models/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). 2 | 3 | from . import hr_department 4 | from . import tier_level 5 | -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/static/src/img/WithholdingCert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OCA/l10n-thailand/HEAD/l10n_th_account_wht_cert_form/static/src/img/WithholdingCert.png -------------------------------------------------------------------------------- /l10n_th_mis_report/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - [Ecosoft](http://ecosoft.co.th): 2 | - Pimolnat Suntian \<\> 3 | - Saran Lim. \<\> 4 | -------------------------------------------------------------------------------- /l10n_th_tier_department/readme/DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | This module adds an additional level of hierarchical validation in the 2 | department for approvals when there are more than one. 3 | -------------------------------------------------------------------------------- /l10n_th_amount_to_text/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - [Ecosoft](http://ecosoft.co.th): 2 | - Saran Lim. \<\> 3 | - Pimolnat Suntian \<\> 4 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import models 4 | from . import wizard 5 | from . import reports 6 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/models/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import res_company 4 | from . import res_config_settings 5 | -------------------------------------------------------------------------------- /l10n_th_base_sequence/models/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import ir_sequence 4 | from . import ir_sequence_date_range 5 | -------------------------------------------------------------------------------- /l10n_th_base_utils/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - Saran Lim. \<\> 2 | - Tharathip Chaweewongphan \<\> 3 | - Amin Cheloh \<\> 4 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import test_tax_report 4 | from . import test_wht_cert_report 5 | -------------------------------------------------------------------------------- /l10n_th_base_sequence/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import test_ir_sequence 4 | from . import test_ir_sequence_date_range 5 | -------------------------------------------------------------------------------- /l10n_th_tier_department_demo/readme/DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | This module adds demo data designed to comply with Thai Government 2 | regulations. You need to unarchive the demo data first for it to work. 3 | -------------------------------------------------------------------------------- /l10n_th_base_utils/readme/CONFIGURE.md: -------------------------------------------------------------------------------- 1 | To configure the Thai font, go to Settings > General Settings > Business Documents > Configure Document Layout, 2 | then select the desired font and click Save. 3 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - Pimolnat Suntian \<\> 2 | - Saran Lim. \<\> 3 | - Rattapong Chokmasermkul \<\> 4 | -------------------------------------------------------------------------------- /l10n_th_mis_report/readme/DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | This modules provides MIS Builder Report templates for Thailand. 2 | 3 | MIS Templates include: 4 | 5 | - Balance Sheet 6 | - Profit and Loss 7 | - Trial Balance 8 | -------------------------------------------------------------------------------- /l10n_th_partner/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020 Ecosoft Co., Ltd (http://ecosoft.co.th/) 2 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 3 | 4 | from . import test_l10n_th_partner 5 | -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/readme/DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | This module add the Thailand standard withholding tax cert report to the 2 | WHT Certificates menu. 3 | 4 | This module used : 5 | 6 | - Font 'THSarabunNew Bold' 7 | -------------------------------------------------------------------------------- /l10n_th_account_tax/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - [Ecosoft](http://ecosoft.co.th): 2 | - Kitti U. \<\> 3 | - Saran Lim. \<\> 4 | - Pimolnat Suntian \<\> 5 | -------------------------------------------------------------------------------- /l10n_th_account_tax/wizard/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import account_payment_register 4 | from . import account_move_reversal 5 | from . import clear_tax 6 | -------------------------------------------------------------------------------- /l10n_th_account_tax/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import test_tax_invoice 4 | from . import test_withholding_tax 5 | from . import test_withholding_tax_pit 6 | -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/models/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import res_company 4 | from . import res_config_settings 5 | from . import withholding_tax_cert 6 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/wizard/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import abstract_wizard 4 | from . import tax_report_wizard 5 | from . import withholding_tax_report_wizard 6 | -------------------------------------------------------------------------------- /l10n_th_partner/models/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import res_company 4 | from . import res_config_settings 5 | from . import res_partner_company_type 6 | from . import res_partner 7 | -------------------------------------------------------------------------------- /l10n_th_base_sequence/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - [TGGS KMUTNB](http://tggs.kmtunb.ac.th): 2 | - Sansiri Tanachutiwat \ 3 | - [Ecosoft](http://ecosoft.co.th): 4 | - Saran Lim. \ 5 | - Baptiste P \ 6 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/reports/templates/wht_report_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /l10n_th_tier_department/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_tier_level_user,tier.level user,model_tier_level,base.group_user,1,0,0,0 3 | access_tier_level,tier.level manage,model_tier_level,l10n_th_tier_department.group_manage_tier_level,1,1,1,1 4 | -------------------------------------------------------------------------------- /l10n_th_partner/readme/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | - [Ecosoft](http://ecosoft.co.th): 2 | - Kitti Upariphutthiphong. \<\> 3 | - Pimolnat Suntian \<\> 4 | - Saran Lim. \<\> 5 | - [Tanabutr](https://www.tanabutr.co.th): 6 | - Poonlap Veerathanabutr \<\> 7 | -------------------------------------------------------------------------------- /l10n_th_partner/readme/DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | This module adds branch management to `res.company` and `res.partner`. 2 | 3 | It also enhances name computation for `res.users` and `res.partner` based on the entity type: 4 | 5 | - Individual: Computes the name using Title, First Name, and Last Name. 6 | - Company: Computes the name based on the Legal Form. -------------------------------------------------------------------------------- /l10n_th_account_tax_report/reports/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import tax_report 4 | from . import tax_report_rd 5 | from . import tax_report_xlsx 6 | from . import wht_report 7 | from . import wht_report_rd 8 | from . import wht_report_xlsx 9 | from . import wht_report_text 10 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/readme/DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | TAX Report is a report that displays transactions based on the selected tax type within a specific date range (period). 2 | It helps businesses track VAT and Withholding Tax more accurately, and supports both standard and Revenue Department (RD) formats for compliance purposes. 3 | The module also allows customization of report formats and text files for official tax submissions. -------------------------------------------------------------------------------- /l10n_th_partner/models/res_config_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) 2 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). 3 | from odoo import fields, models 4 | 5 | 6 | class ResConfigSettings(models.TransientModel): 7 | _inherit = "res.config.settings" 8 | 9 | no_space_title_name = fields.Boolean( 10 | related="company_id.no_space_title_name", readonly=False 11 | ) 12 | -------------------------------------------------------------------------------- /prettier.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('prettier').Config} */ 2 | 3 | const config = { 4 | // https://github.com/prettier/prettier/issues/15388#issuecomment-1717746872 5 | plugins: [require.resolve("@prettier/plugin-xml")], 6 | bracketSpacing: false, 7 | printWidth: 88, 8 | proseWrap: "always", 9 | semi: true, 10 | trailingComma: "es5", 11 | xmlWhitespaceSensitivity: "preserve", 12 | }; 13 | 14 | module.exports = config; 15 | -------------------------------------------------------------------------------- /l10n_th_partner/data/res.partner.company.type.csv: -------------------------------------------------------------------------------- 1 | id,name,shortcut,prefix,suffix 2 | company_type_1,ห้างหุ้นส่วนสามัญนิติบุคคล,หสน.,ห้างหุ้นส่วนสามัญนิติบุคคล, 3 | company_type_2,ห้างหุ้นส่วนจำกัด,หจก.,ห้างหุ้นส่วนจำกัด, 4 | company_type_3,บริษัทจำกัด,บจก.,บริษัท,จำกัด 5 | company_type_4,บริษัทมหาชนจำกัด,บมจ.,บริษัท,จำกัด (มหาชน) 6 | company_type_5,สหกรณ์,สหกรณ์,สหกรณ์, 7 | company_type_6,สหกรณ์จำกัด,สหกรณ์จำกัด,สหกรณ์,จำกัด 8 | company_type_7,มูลนิธิ,มูลนิธิ,มูลนิธิ, 9 | -------------------------------------------------------------------------------- /l10n_th_account_tax/models/account.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/) 2 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 3 | from odoo import fields, models 4 | 5 | 6 | class AccountAccount(models.Model): 7 | _inherit = "account.account" 8 | 9 | wht_account = fields.Boolean( 10 | string="WHT Account", 11 | default=False, 12 | help="If check, this account is for withholding tax", 13 | ) 14 | -------------------------------------------------------------------------------- /l10n_th_account_tax/data/withholding_tax_cert_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Withholding tax cert sequence 5 | withholding.tax.cert 6 | 7 | WHT/%(year)s/ 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/reports/wht_report_rd.py: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Ecosoft Co., Ltd (https://ecosoft.co.th) 2 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). 3 | 4 | from odoo import models 5 | 6 | 7 | class RDWithholdingTaxReport(models.AbstractModel): 8 | _name = "report.l10n_th_account_tax_report.report_rd_withholding_tax" 9 | _inherit = "report.l10n_th_account_tax_report.report_withholding_tax" 10 | _description = "Thai Withholding Tax Report RD" 11 | -------------------------------------------------------------------------------- /l10n_th_partner/views/res_company_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | res.company 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /l10n_th_account_tax/readme/DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | This module address 2 main tax requirement in Thailand 2 | 3 | ## 1. Tax Invoice (VAT) 4 | 5 | Point of tax invoice can occur either on Invoice (VAT) or on Payment 6 | (Undue VAT on invoice become VAT on payment) 7 | 8 | ## 2. Withholding Tax 9 | 10 | This is the tax that is deducted during payment. There are 2 kinds of 11 | withholding tax calculataion. 12 | 13 | 1. Fixed rate of based amount, i.e., service 3% 14 | 2. Progressive rate of accumulated amount, i.e., personal income tax 15 | -------------------------------------------------------------------------------- /l10n_th_partner/models/res_partner_company_type.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020 Ecosoft Co., Ltd (http://ecosoft.co.th/) 2 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 3 | from odoo import fields, models 4 | 5 | 6 | class ResPartnerCompanyType(models.Model): 7 | _inherit = "res.partner.company.type" 8 | 9 | prefix = fields.Char() 10 | suffix = fields.Char() 11 | use_prefix_suffix = fields.Boolean( 12 | default=True, 13 | help="Select this field for compute partner name with prefix or suffix.", 14 | ) 15 | -------------------------------------------------------------------------------- /l10n_th_account_tax/models/res_config_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Ecosoft Co., Ltd. (http://ecosoft.co.th) 2 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). 3 | 4 | from odoo import fields, models 5 | 6 | 7 | class ResConfigSettings(models.TransientModel): 8 | _inherit = "res.config.settings" 9 | 10 | customer_tax_invoice_number = fields.Selection( 11 | related="company_id.customer_tax_invoice_number", readonly=False 12 | ) 13 | tax_zero_line = fields.Boolean(related="company_id.tax_zero_line", readonly=False) 14 | -------------------------------------------------------------------------------- /l10n_th_base_sequence/__manifest__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | { 4 | "name": "Thai Localization - Base Sequence", 5 | "version": "18.0.1.0.0", 6 | "category": "Tools", 7 | "website": "https://github.com/OCA/l10n-thailand", 8 | "author": "Sansiri Tanachutiwat, Ecosoft, Odoo Community Association (OCA)", 9 | "depends": ["base"], 10 | "data": ["views/ir_sequence_view.xml"], 11 | "license": "AGPL-3", 12 | "installable": True, 13 | "maintainers": ["sansirit", "Saran440"], 14 | } 15 | -------------------------------------------------------------------------------- /l10n_th_account_tax/views/account_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 17 | 18 | -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/models/res_company.py: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Ecosoft Co., Ltd (http://ecosoft.co.th/) 2 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 3 | 4 | from odoo import fields, models 5 | 6 | 7 | class ResCompany(models.Model): 8 | _inherit = "res.company" 9 | 10 | wht_form_preprint = fields.Boolean( 11 | string="Preprint - Withholding Tax Cert Form", 12 | help="If checked, wht cert form will show layout pre-print", 13 | ) 14 | wht_form_print_signature = fields.Boolean(string="WHT Cert - Print Signature") 15 | -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/models/res_config_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Ecosoft Co., Ltd. (http://ecosoft.co.th) 2 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). 3 | 4 | from odoo import fields, models 5 | 6 | 7 | class ResConfigSettings(models.TransientModel): 8 | _inherit = "res.config.settings" 9 | 10 | wht_form_preprint = fields.Boolean( 11 | related="company_id.wht_form_preprint", readonly=False 12 | ) 13 | wht_form_print_signature = fields.Boolean( 14 | related="company_id.wht_form_print_signature", readonly=False 15 | ) 16 | -------------------------------------------------------------------------------- /l10n_th_tier_department/readme/USAGE.md: -------------------------------------------------------------------------------- 1 | To use this module, call the find_reviewer_level function on the 2 | hr.department object, and provide the level attribute as an argument. 3 | 4 | This function retrieves reviewers from the specified department and 5 | returns a user. 6 | 7 | For example, Department AA has 3 Approvers: 8 | 9 | - User A 10 | - User B 11 | - User C 12 | 13 | and you need to find the reviewer at level 1, you can use the following 14 | code: 15 | 16 | ``` python 17 | rec.employee_id.department_id.find_reviewer_level(level=1) 18 | ``` 19 | 20 | The result will be User A. 21 | -------------------------------------------------------------------------------- /l10n_th_account_tax/views/account_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | view.account.form 5 | account.account 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /l10n_th_account_tax/models/__init__.py: -------------------------------------------------------------------------------- 1 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) 2 | 3 | from . import res_company 4 | from . import res_config_settings 5 | from . import product 6 | from . import personal_income_tax 7 | from . import withholding_tax_cert 8 | from . import account 9 | from . import account_move_tax_invoice 10 | from . import account_move 11 | from . import account_partial_reconcile 12 | from . import account_payment 13 | from . import account_withholding_tax 14 | from . import account_withholding_move 15 | from . import account_tax 16 | from . import res_partner 17 | -------------------------------------------------------------------------------- /l10n_th_amount_to_text/readme/DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | Odoo's core functionality includes the `amount_to_text` function, 2 | which converts numerical amounts into text based on the user's language settings or context. 3 | However, this conversion may produce incorrect results for Thai. 4 | 5 | **Example:** 6 | - Amount: 45.75 Baht 7 | - User Language: **Thai** → สี่สิบห้า Baht และ เจ็ดสิบห้า Satang 8 | - User Language: **English** → Forty-Five Baht and Seventy-Five Satang 9 | 10 | These results are inaccurate for Thai language formatting. 11 | This module provides a base for accurately converting numbers to Thai text. -------------------------------------------------------------------------------- /l10n_th_account_tax_report/views/account_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 17 | 18 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Configuration for known file extensions 2 | [*.{css,js,json,less,md,py,rst,sass,scss,xml,yaml,yml}] 3 | charset = utf-8 4 | end_of_line = lf 5 | indent_size = 4 6 | indent_style = space 7 | insert_final_newline = true 8 | trim_trailing_whitespace = true 9 | 10 | [*.{json,yml,yaml,rst,md}] 11 | indent_size = 2 12 | 13 | # Do not configure editor for libs and autogenerated content 14 | [{*/static/{lib,src/lib}/**,*/static/description/index.html,*/readme/../README.rst}] 15 | charset = unset 16 | end_of_line = unset 17 | indent_size = unset 18 | indent_style = unset 19 | insert_final_newline = false 20 | trim_trailing_whitespace = false 21 | -------------------------------------------------------------------------------- /l10n_th_account_tax_report/models/res_config_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Ecosoft Co., Ltd. (http://ecosoft.co.th) 2 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). 3 | 4 | from odoo import fields, models 5 | 6 | 7 | class ResConfigSettings(models.TransientModel): 8 | _inherit = "res.config.settings" 9 | 10 | tax_report_format = fields.Selection( 11 | related="company_id.tax_report_format", 12 | readonly=False, 13 | required=True, 14 | ) 15 | wht_report_format = fields.Selection( 16 | related="company_id.wht_report_format", 17 | readonly=False, 18 | required=True, 19 | ) 20 | -------------------------------------------------------------------------------- /l10n_th_partner/hooks.py: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Ecosoft Co., Ltd (http://ecosoft.co.th/) 2 | # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). 3 | 4 | import logging 5 | 6 | _logger = logging.getLogger(__name__) 7 | 8 | 9 | def post_init_hook(env): 10 | """Update partner company field name_company is equal name""" 11 | partner_company = env["res.partner"].search( 12 | [ 13 | ("name_company", "=", False), 14 | ("is_company", "=", True), 15 | ] 16 | ) 17 | for partner in partner_company: 18 | partner.name_company = partner.name 19 | _logger.info("partners updated installing module.") 20 | -------------------------------------------------------------------------------- /l10n_th_account_wht_cert_form/readme/USAGE.md: -------------------------------------------------------------------------------- 1 | After you install this module, you can print withholding tax cert form 2 | with A4 following: 3 | 4 | 1. Go to *Invoicing \> Vendors \> WHT Certificates* 5 | 2. Select document \> Print 'WHT Certificates (pdf)' 6 | 7 | **NOTE**: By using the pre-print manual, you can customize the following 8 | withholding tax cert form. 9 | 10 | 1. Go to *Invoicing \> Configuration \> Settings* 11 | 12 | 2. Select Preprint - Withholding Tax Cert Form, It will change layout 13 | to Pre-Print Format and you can inherit for custom pages using 14 | template 15 | 16 | > `