[IMP] l10n_sg: improved localisation
Added Unique Entity Number (UEN) to company and partner to use them in the IRAS Audit File (l10n_sg_reports)
Changed vat_label on Singapore
Added new taxes (2019)
Fixed the Chart of Account (account codes and types)
Added 'Permit Number' and 'Permit Number Date' on invoices
This commit is contained in:
committed by
qdp-odoo
parent
1bb05b0682
commit
ff4ee2c17e
@@ -2,7 +2,7 @@
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
# Copyright (C) 2014 Tech Receptives (<http://techreceptives.com>).
|
||||
|
||||
from . import models
|
||||
|
||||
def _preserve_tag_on_taxes(cr, registry):
|
||||
from odoo.addons.account.models.chart_template import preserve_existing_tags_on_taxes
|
||||
|
||||
@@ -13,25 +13,21 @@
|
||||
Singapore accounting chart and localization.
|
||||
=======================================================
|
||||
|
||||
After installing this module, the Configuration wizard for accounting is launched.
|
||||
* The Chart of Accounts consists of the list of all the general ledger accounts
|
||||
required to maintain the transactions of Singapore.
|
||||
* On that particular wizard, you will be asked to pass the name of the company,
|
||||
the chart template to follow, the no. of digits to generate, the code for your
|
||||
account and bank account, currency to create journals.
|
||||
|
||||
* The Chart of Taxes would display the different types/groups of taxes such as
|
||||
Standard Rates, Zeroed, Exempted, MES and Out of Scope.
|
||||
* The tax codes are specified considering the Tax Group and for easy accessibility of
|
||||
submission of GST Tax Report.
|
||||
This module add, for accounting:
|
||||
- The Chart of Accounts of Singapore
|
||||
- Field UEN (Unique Entity Number) on company and partner
|
||||
- Field PermitNo and PermitNoDate on invoice
|
||||
|
||||
""",
|
||||
'depends': ['base', 'account'],
|
||||
'data': [
|
||||
'data/l10n_sg_chart_data.xml',
|
||||
'data/account_data.xml',
|
||||
'data/account_tax_data.xml',
|
||||
'data/account_chart_template_data.xml',
|
||||
'data/l10n_sg_chart_data.xml',
|
||||
'data/account_data.xml',
|
||||
'data/account_tax_data.xml',
|
||||
'data/account_chart_template_data.xml',
|
||||
'views/account_invoice_view.xml',
|
||||
'views/res_company_view.xml',
|
||||
'views/res_partner_view.xml',
|
||||
],
|
||||
'post_init_hook': '_preserve_tag_on_taxes',
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_14" model="account.account.tag">
|
||||
<field name="name">Tax Paid @ 0% ME</field>
|
||||
<field name="name">Tax Paid @ 7% IGDS</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_15" model="account.account.tag">
|
||||
@@ -164,7 +164,7 @@
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_41" model="account.account.tag">
|
||||
<field name="name">Purchase 0% Standard ME</field>
|
||||
<field name="name">Purchase 7% Standard IGDS</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_42" model="account.account.tag">
|
||||
@@ -191,6 +191,30 @@
|
||||
<field name="name">Sales Out Of Scope</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_48" model="account.account.tag">
|
||||
<field name="name">Tax Received SRCA-S</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_49" model="account.account.tag">
|
||||
<field name="name">Tax Received @ 7% SRCA-C</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_50" model="account.account.tag">
|
||||
<field name="name">Tax Paid @ 7% TXCA</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_51" model="account.account.tag">
|
||||
<field name="name">Sales Standard SRCA-S</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_52" model="account.account.tag">
|
||||
<field name="name">Sales 7% Standard SRCA-C</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
<record id="tag_sg_53" model="account.account.tag">
|
||||
<field name="name">Purchase 7% Standard TXCA</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
|
||||
<!-- Sales Tax -->
|
||||
|
||||
@@ -278,6 +302,34 @@
|
||||
<field name="tax_group_id" ref="tax_group_7"/>
|
||||
</record>
|
||||
|
||||
<record id="sg_sale_tax_srca_s_na" model="account.tax.template">
|
||||
<field name="name">Sales Tax SRCA-S</field>
|
||||
<field name="description">SRCA-S</field>
|
||||
<field name="price_include" eval="0"/>
|
||||
<field name="amount">0</field>
|
||||
<field name="amount_type">percent</field>
|
||||
<field name="type_tax_use">sale</field>
|
||||
<field name="account_id" ref="account_account_797"/>
|
||||
<field name="refund_account_id" ref="account_account_797"/>
|
||||
<field name="chart_template_id" ref="sg_chart_template"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('tag_sg_48'),ref('tag_sg_51')])]"/>
|
||||
<field name="tax_group_id" ref="tax_group_0"/>
|
||||
</record>
|
||||
|
||||
<record id="sg_sale_tax_srca_c_7" model="account.tax.template">
|
||||
<field name="name">Sales Tax 7% SRCA-C</field>
|
||||
<field name="description">7% SRCA-C</field>
|
||||
<field name="price_include" eval="0"/>
|
||||
<field name="amount">7</field>
|
||||
<field name="amount_type">percent</field>
|
||||
<field name="type_tax_use">sale</field>
|
||||
<field name="account_id" ref="account_account_798"/>
|
||||
<field name="refund_account_id" ref="account_account_798"/>
|
||||
<field name="chart_template_id" ref="sg_chart_template"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('tag_sg_49'),ref('tag_sg_52')])]"/>
|
||||
<field name="tax_group_id" ref="tax_group_7"/>
|
||||
</record>
|
||||
|
||||
<!-- Purchases Tax -->
|
||||
|
||||
<record id="sg_purchase_tax_txn33_7" model="account.tax.template">
|
||||
@@ -351,17 +403,17 @@
|
||||
</record>
|
||||
|
||||
<record id="sg_purchase_tax_me_0" model="account.tax.template">
|
||||
<field name="name">Purchase Tax 0% ME</field>
|
||||
<field name="description">0% ME</field>
|
||||
<field name="name">Purchase Tax 7% IGDS</field>
|
||||
<field name="description">7% IGDS</field>
|
||||
<field name="account_id" ref="account_account_743"/>
|
||||
<field name="refund_account_id" ref="account_account_743"/>
|
||||
<field name="price_include" eval="0"/>
|
||||
<field name="amount">0</field>
|
||||
<field name="amount">7</field>
|
||||
<field name="amount_type">percent</field>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="chart_template_id" ref="sg_chart_template"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('tag_sg_14'),ref('tag_sg_41')])]"/>
|
||||
<field name="tax_group_id" ref="tax_group_0"/>
|
||||
<field name="tax_group_id" ref="tax_group_7"/>
|
||||
</record>
|
||||
|
||||
<record id="sg_purchase_tax_nr_0" model="account.tax.template">
|
||||
@@ -448,5 +500,19 @@
|
||||
<field name="tax_group_id" ref="tax_group_7"/>
|
||||
</record>
|
||||
|
||||
<record id="sg_purchase_tax_txca_7" model="account.tax.template">
|
||||
<field name="name">Purchase Tax 7% TXCA</field>
|
||||
<field name="description">7% TXCA</field>
|
||||
<field name="account_id" ref="account_account_750"/>
|
||||
<field name="refund_account_id" ref="account_account_750"/>
|
||||
<field name="price_include" eval="0"/>
|
||||
<field name="amount">7</field>
|
||||
<field name="amount_type">percent</field>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="chart_template_id" ref="sg_chart_template"/>
|
||||
<field name="tag_ids" eval="[(6,0,[ref('tag_sg_50'),ref('tag_sg_53')])]"/>
|
||||
<field name="tax_group_id" ref="tax_group_7"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
# Copyright (C) 2014 Tech Receptives (<http://techreceptives.com>).
|
||||
|
||||
from . import account_invoice
|
||||
from . import res_company
|
||||
from . import res_partner
|
||||
@@ -0,0 +1,11 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
class AccountInvoice(models.Model):
|
||||
_name = 'account.invoice'
|
||||
_inherit = 'account.invoice'
|
||||
|
||||
l10n_sg_permit_number = fields.Char(string="Permit No.")
|
||||
|
||||
l10n_sg_permit_number_date = fields.Date(string="Date of permit number")
|
||||
@@ -0,0 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
class ResCompany(models.Model):
|
||||
_name = 'res.company'
|
||||
_inherit = 'res.company'
|
||||
|
||||
l10n_sg_unique_entity_number = fields.Char(string='UEN', related="partner_id.l10n_sg_unique_entity_number")
|
||||
@@ -0,0 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_name = 'res.partner'
|
||||
_inherit = 'res.partner'
|
||||
|
||||
l10n_sg_unique_entity_number = fields.Char(string='UEN')
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_invoice_form_l10n_sg" model="ir.ui.view">
|
||||
<field name="name">l10n_sg.invoice.form</field>
|
||||
<field name="model">account.invoice</field>
|
||||
<field name="inherit_id" ref="account.invoice_supplier_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='fiscal_position_id']" position="after">
|
||||
<field name="l10n_sg_permit_number"/>
|
||||
<field name="l10n_sg_permit_number_date"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_company_form_l10n_sg" model="ir.ui.view">
|
||||
<field name="name">l10n_sg.company.form</field>
|
||||
<field name="model">res.company</field>
|
||||
<field name="inherit_id" ref="base.view_company_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='email']" position="after">
|
||||
<field name="l10n_sg_unique_entity_number"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='vat']" position="attributes">
|
||||
<attribute name="string" >GST No.</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_partner_form_l10n_sg" model="ir.ui.view">
|
||||
<field name="name">l10n_sg.partner.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='vat']" position="before">
|
||||
<field name="l10n_sg_unique_entity_number"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -1415,6 +1415,7 @@
|
||||
<field file="base/static/img/country_flags/sg.png" name="image" type="base64" />
|
||||
<field name="currency_id" ref="SGD" />
|
||||
<field eval="65" name="phone_code" />
|
||||
<field name="vat_label">GST No.</field>
|
||||
</record>
|
||||
<record id="sh" model="res.country">
|
||||
<field name="name">Saint Helena, Ascension and Tristan da Cunha</field>
|
||||
|
||||
Reference in New Issue
Block a user