Add 22 Tax Withholding Category fixtures covering Thailand domestic withholding (Taw.Paw. 4/2528, Sec. 50(2), Sec. 70) with rates and thresholds. Fixtures ship without accounts; on import each Thai company gets "Withholding Tax Payable" (Liability) and "Withholding Tax Receivable" (Asset) created and the payable account linked. Company on_update does the same for companies created later. Site-configured accounts survive fixture re-import on migrate.
270 lines
7.1 KiB
Python
270 lines
7.1 KiB
Python
app_name = "default_thai_company"
|
|
app_title = "Default Thai Company"
|
|
app_publisher = "kurogeek"
|
|
app_description = "Default Company Settings"
|
|
app_email = "kurogeek@lmvhaus.com"
|
|
app_license = "gpl-3.0"
|
|
|
|
# Apps
|
|
# ------------------
|
|
|
|
required_apps = ["erpnext"]
|
|
|
|
# Each item in the list will be shown as an app in the apps page
|
|
# add_to_apps_screen = [
|
|
# {
|
|
# "name": "default_thai_company",
|
|
# "logo": "/assets/default_thai_company/logo.png",
|
|
# "title": "Default Thai Company",
|
|
# "route": "/default_thai_company",
|
|
# "has_permission": "default_thai_company.api.permission.has_app_permission"
|
|
# }
|
|
# ]
|
|
|
|
# Includes in <head>
|
|
# ------------------
|
|
|
|
# include js, css files in header of desk.html
|
|
# app_include_css = "/assets/default_thai_company/css/default_thai_company.css"
|
|
# app_include_js = "/assets/default_thai_company/js/default_thai_company.js"
|
|
|
|
# include js, css files in header of web template
|
|
# web_include_css = "/assets/default_thai_company/css/default_thai_company.css"
|
|
# web_include_js = "/assets/default_thai_company/js/default_thai_company.js"
|
|
|
|
# include custom scss in every website theme (without file extension ".scss")
|
|
# website_theme_scss = "default_thai_company/public/scss/website"
|
|
|
|
# include js, css files in header of web form
|
|
# webform_include_js = {"doctype": "public/js/doctype.js"}
|
|
# webform_include_css = {"doctype": "public/css/doctype.css"}
|
|
|
|
# include js in page
|
|
# page_js = {"page" : "public/js/file.js"}
|
|
|
|
# include js in doctype views
|
|
# doctype_js = {"doctype" : "public/js/doctype.js"}
|
|
# doctype_list_js = {"doctype" : "public/js/doctype_list.js"}
|
|
# doctype_tree_js = {"doctype" : "public/js/doctype_tree.js"}
|
|
# doctype_calendar_js = {"doctype" : "public/js/doctype_calendar.js"}
|
|
|
|
# Svg Icons
|
|
# ------------------
|
|
# include app icons in desk
|
|
# app_include_icons = "default_thai_company/public/icons.svg"
|
|
|
|
# Home Pages
|
|
# ----------
|
|
|
|
# application home page (will override Website Settings)
|
|
# home_page = "login"
|
|
|
|
# website user home page (by Role)
|
|
# role_home_page = {
|
|
# "Role": "home_page"
|
|
# }
|
|
|
|
# Generators
|
|
# ----------
|
|
|
|
# automatically create page for each record of this doctype
|
|
# website_generators = ["Web Page"]
|
|
|
|
# Jinja
|
|
# ----------
|
|
|
|
# add methods and filters to jinja environment
|
|
jinja = {
|
|
"methods": [
|
|
"default_thai_company.utils.get_letter_head_company",
|
|
"default_thai_company.utils.get_company_bank_account",
|
|
],
|
|
}
|
|
|
|
# Fixtures
|
|
# --------
|
|
|
|
fixtures = [
|
|
{"doctype": "Letter Head", "filters": [["name", "in", ["Default Letter Head"]]]},
|
|
{"doctype": "Address Template", "filters": [["name", "in", ["Thailand"]]]},
|
|
{"doctype": "Print Format", "filters": [["name", "in", ["Default Standard Sales Invoice"]]]},
|
|
{
|
|
"doctype": "Property Setter",
|
|
"filters": [["name", "in", ["Sales Invoice-main-default_print_format"]]],
|
|
},
|
|
{"doctype": "Tax Withholding Category", "filters": [["name", "like", "WHT %"]]},
|
|
]
|
|
|
|
# Installation
|
|
# ------------
|
|
|
|
# before_install = "default_thai_company.install.before_install"
|
|
# after_install = "default_thai_company.install.after_install"
|
|
|
|
# Uninstallation
|
|
# ------------
|
|
|
|
# before_uninstall = "default_thai_company.uninstall.before_uninstall"
|
|
# after_uninstall = "default_thai_company.uninstall.after_uninstall"
|
|
|
|
# Integration Setup
|
|
# ------------------
|
|
# To set up dependencies/integrations with other apps
|
|
# Name of the app being installed is passed as an argument
|
|
|
|
# before_app_install = "default_thai_company.utils.before_app_install"
|
|
# after_app_install = "default_thai_company.utils.after_app_install"
|
|
|
|
# Integration Cleanup
|
|
# -------------------
|
|
# To clean up dependencies/integrations with other apps
|
|
# Name of the app being uninstalled is passed as an argument
|
|
|
|
# before_app_uninstall = "default_thai_company.utils.before_app_uninstall"
|
|
# after_app_uninstall = "default_thai_company.utils.after_app_uninstall"
|
|
|
|
# Desk Notifications
|
|
# ------------------
|
|
# See frappe.core.notifications.get_notification_config
|
|
|
|
# notification_config = "default_thai_company.notifications.get_notification_config"
|
|
|
|
# Permissions
|
|
# -----------
|
|
# Permissions evaluated in scripted ways
|
|
|
|
# permission_query_conditions = {
|
|
# "Event": "frappe.desk.doctype.event.event.get_permission_query_conditions",
|
|
# }
|
|
#
|
|
# has_permission = {
|
|
# "Event": "frappe.desk.doctype.event.event.has_permission",
|
|
# }
|
|
|
|
# DocType Class
|
|
# ---------------
|
|
# Override standard doctype classes
|
|
|
|
# override_doctype_class = {
|
|
# "ToDo": "custom_app.overrides.CustomToDo"
|
|
# }
|
|
|
|
# Document Events
|
|
# ---------------
|
|
# Hook on document methods and events
|
|
|
|
doc_events = {
|
|
"Letter Head": {
|
|
"before_import": "default_thai_company.utils.stash_letter_head_source",
|
|
"before_insert": "default_thai_company.utils.restore_letter_head_source",
|
|
},
|
|
"Tax Withholding Category": {
|
|
"before_import": "default_thai_company.tax_withholding.prepare_fixture_accounts",
|
|
},
|
|
"Company": {
|
|
"on_update": "default_thai_company.tax_withholding.setup_company",
|
|
},
|
|
}
|
|
|
|
# Scheduled Tasks
|
|
# ---------------
|
|
|
|
# scheduler_events = {
|
|
# "all": [
|
|
# "default_thai_company.tasks.all"
|
|
# ],
|
|
# "daily": [
|
|
# "default_thai_company.tasks.daily"
|
|
# ],
|
|
# "hourly": [
|
|
# "default_thai_company.tasks.hourly"
|
|
# ],
|
|
# "weekly": [
|
|
# "default_thai_company.tasks.weekly"
|
|
# ],
|
|
# "monthly": [
|
|
# "default_thai_company.tasks.monthly"
|
|
# ],
|
|
# }
|
|
|
|
# Testing
|
|
# -------
|
|
|
|
# before_tests = "default_thai_company.install.before_tests"
|
|
|
|
# Overriding Methods
|
|
# ------------------------------
|
|
#
|
|
# override_whitelisted_methods = {
|
|
# "frappe.desk.doctype.event.event.get_events": "default_thai_company.event.get_events"
|
|
# }
|
|
#
|
|
# each overriding function accepts a `data` argument;
|
|
# generated from the base implementation of the doctype dashboard,
|
|
# along with any modifications made in other Frappe apps
|
|
# override_doctype_dashboards = {
|
|
# "Task": "default_thai_company.task.get_dashboard_data"
|
|
# }
|
|
|
|
# exempt linked doctypes from being automatically cancelled
|
|
#
|
|
# auto_cancel_exempted_doctypes = ["Auto Repeat"]
|
|
|
|
# Ignore links to specified DocTypes when deleting documents
|
|
# -----------------------------------------------------------
|
|
|
|
# ignore_links_on_delete = ["Communication", "ToDo"]
|
|
|
|
# Request Events
|
|
# ----------------
|
|
# before_request = ["default_thai_company.utils.before_request"]
|
|
# after_request = ["default_thai_company.utils.after_request"]
|
|
|
|
# Job Events
|
|
# ----------
|
|
# before_job = ["default_thai_company.utils.before_job"]
|
|
# after_job = ["default_thai_company.utils.after_job"]
|
|
|
|
# User Data Protection
|
|
# --------------------
|
|
|
|
# user_data_fields = [
|
|
# {
|
|
# "doctype": "{doctype_1}",
|
|
# "filter_by": "{filter_by}",
|
|
# "redact_fields": ["{field_1}", "{field_2}"],
|
|
# "partial": 1,
|
|
# },
|
|
# {
|
|
# "doctype": "{doctype_2}",
|
|
# "filter_by": "{filter_by}",
|
|
# "partial": 1,
|
|
# },
|
|
# {
|
|
# "doctype": "{doctype_3}",
|
|
# "strict": False,
|
|
# },
|
|
# {
|
|
# "doctype": "{doctype_4}"
|
|
# }
|
|
# ]
|
|
|
|
# Authentication and authorization
|
|
# --------------------------------
|
|
|
|
# auth_hooks = [
|
|
# "default_thai_company.auth.validate"
|
|
# ]
|
|
|
|
# Automatically update python controller files with type annotations for this app.
|
|
# export_python_type_annotations = True
|
|
|
|
# default_log_clearing_doctypes = {
|
|
# "Logging DocType Name": 30 # days to retain logs
|
|
# }
|
|
|
|
# Translation
|
|
# ------------
|
|
# List of apps whose translatable strings should be excluded from this app's translations.
|
|
# ignore_translatable_strings_from = []
|