[ADD]Add GST Report Singapore Localization

This commit is contained in:
Riddhi Kansara 2018-04-12 17:16:36 +05:30
parent 653abef735
commit b3a53d6236
30 changed files with 4168 additions and 0 deletions

View File

@ -0,0 +1,6 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from . import models
from . import report
from . import wizard

View File

@ -0,0 +1,41 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
{
'name': 'Singapore - GST Report',
'version': '1.0',
'category': 'Localization',
'summary': 'GST Reports for Singapore Localization',
'description': '''
GST Reports for Singapore Localization
========================================
There are Different type of GST Reports available for Singapore Localization.
* GST5 Report
* GST7 Report
* GST Analysis Report
''',
"author": "FlectraHQ",
'website': 'https://flectrahq.com',
'depends': ['account_invoicing', 'l10n_sg'],
'data': [
'views/res_company_view.xml',
'views/account_tax_view.xml',
'report/report_paperformat.xml',
'wizard/gst5_select_period_view.xml',
'wizard/gst7_select_period_view.xml',
'wizard/gst_analysis_view.xml',
'report/report_gst_menu.xml',
'views/layouts_gst.xml',
'views/account_gst_analysis_view.xml',
'views/account_gst5_report_view.xml',
'views/account_gst7_report_view.xml',
],
'demo': [
'demo/demo_account.xml',
'demo/demo_product.xml'
],
'installable': True,
'application': True,
'auto_install': False
}

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra noupdate="1">
<record id="test_data_account_type_income" model="account.account.type">
<field name="name">Income</field>
</record>
<record id="test_a_sale" model="account.account">
<field name="code">X2001</field>
<field name="name">Product Sales - (test)</field>
<field name="user_type_id" ref="test_data_account_type_income"/>
</record>
<record id="test_sales_journal" model="account.journal">
<field name="name">Sales Journal - (test)</field>
<field name="code">TSAJ</field>
<field name="type">sale</field>
<field name="default_credit_account_id" ref="test_a_sale"/>
<field name="default_debit_account_id" ref="test_a_sale"/>
</record>
</flectra>

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra noupdate="1">
<!-- demo data for customer -->
<record id="gst_customer_id_1" model="res.partner">
<field name="name">Cyril Daufeldt</field>
<field name="is_company">1</field>
<field name="city">Wavre</field>
<field name="zip">1300</field>
<field name="street">69 rue de Namur</field>
<field name="email">cyril_daufeldt@daufeldt.com</field>
<field name="phone">+32 10 588 558</field>
<field name="website">http://www.Cyril.com</field>
</record>
<record id="gst_supplier_id_1" model="res.partner">
<field name="name">Sunil Daufeldt</field>
<field name="is_company">1</field>
<field name="city">Shanghai</field>
<field name="zip">1530</field>
<field eval="1" name="supplier"/>
<field name="street">69 rue de Namur</field>
<field name="email">sunil_daufeldt@gmail.com</field>
<field name="phone">+32 10 588 558</field>
<field name="website">http://www.Sunil.com</field>
</record>
<!-- demo data for product-->
<record id="product_id_1" model="product.product">
<field name="name">medical instruments operating table</field>
<field name="standard_price">2000</field>
<field name="list_price">5000</field>
<field name="type">consu</field>
</record>
<record id="product_id_2" model="product.product">
<field name="name">Blood Glucose Test Strip</field>
<field name="standard_price">6000</field>
<field name="list_price">7000</field>
<field name="type">consu</field>
</record>
<record id="product_id_3" model="product.product">
<field name="name">Diamond Tools</field>
<field name="standard_price">8000</field>
<field name="list_price">10000</field>
<field name="type">consu</field>
</record>
<record id="product_id_4" model="product.product">
<field name="name">Mobile Track Pad</field>
<field name="standard_price">12000</field>
<field name="list_price">150000</field>
<field name="type">consu</field>
</record>
<record id="product_id_5" model="product.product">
<field name="name">Elevator</field>
<field name="standard_price">2000</field>
<field name="list_price">8000</field>
<field name="type">consu</field>
</record>
<record id="product_id_6" model="product.product">
<field name="name">Car blackbox</field>
<field name="standard_price">1000</field>
<field name="list_price">5000</field>
<field name="type">consu</field>
</record>
<record id="product_id_7" model="product.product">
<field name="name">Multi Block</field>
<field name="standard_price">200</field>
<field name="list_price">500</field>
<field name="type">consu</field>
</record>
<record id="product_id_8" model="product.product">
<field name="name">SuperMax</field>
<field name="standard_price">5000</field>
<field name="list_price">12500</field>
<field name="type">consu</field>
</record>
<record id="product_id_9" model="product.product">
<field name="name">Digital Wireless System</field>
<field name="standard_price">2000</field>
<field name="list_price">7500</field>
<field name="type">consu</field>
</record>
<record id="product_id_10" model="product.product">
<field name="name">Digital Mobile X-Ray System</field>
<field name="standard_price">300</field>
<field name="list_price">8000</field>
<field name="type">consu</field>
</record>
<record id="product_id_11" model="product.product">
<field name="name">Electrical Medical Stimulator</field>
<field name="standard_price">1000</field>
<field name="list_price">5000</field>
<field name="type">consu</field>
</record>
<record id="product_id_12" model="product.product">
<field name="name">Hommage-Marble Stone</field>
<field name="standard_price">700</field>
<field name="list_price">1400</field>
<field name="type">consu</field>
</record>
</flectra>

View File

@ -0,0 +1,889 @@
# Translation of Flectra Server.
# This file contains the translation of the following modules:
# * l10n_sg_gst
#
msgid ""
msgstr ""
"Project-Id-Version: Flectra Server 1.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-20 08:53+0000\n"
"PO-Revision-Date: 2018-04-20 08:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "(Attach payment voucher if you are paying by\n"
" cheque)"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "(Please Cross)"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "10"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "11"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "12"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "13"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "14"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.custom_layout_gst
msgid "55 Newton\n"
" Road, Revenue House, Singapore\n"
" 307987"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "<b>APPLICABLE TO TAXABLE PERSONS UNDER\n"
" MAJOR EXPORTER SCHEME ONLY\n"
" </b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>APPLICABLE TO TAXABLE PERSONS UNDER MAJOR EXPORTER SCHEME ONLY</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "<b>Before you fill in this form, please read the notes on\n"
" Page 2.\n"
" </b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>Before you fill in this form, please read the notes on Page 2.</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>Company Name :</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>DECLARATION OF ERRORS</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>DECLARATION</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "<b>DID YOU MAKE FOLLOWING CLAIMS IN BOX 7\n"
" ?\n"
" </b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>DID YOU MAKE FOLLOWING CLAIMS IN BOX 7 ?</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>Equals:</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.custom_layout_gst
msgid "<b>GOODS AND SERVICES TAX RETURN</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.custom_layout_gst
msgid "<b>Goods And Services Tax act 1993</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>Less:</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<b>REVENUE</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "<b>Total</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<br/>\n"
" <b>Company Address:</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<br/>\n"
" <b>GST Registration Number :</b>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<strong>From :</strong>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "<strong>GST Analysis</strong>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "<strong>Purchases</strong>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "<strong>Sales</strong>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "<strong>To :</strong>"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "AT"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_2
#: model:product.template,name:l10n_sg_gst.product_id_2_product_template
msgid "Blood Glucose Test Strip"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "CP"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst_analysis_form
msgid "Cancel"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_6
#: model:product.template,name:l10n_sg_gst.product_id_6_product_template
msgid "Car blackbox"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model,name:l10n_sg_gst.model_res_company
msgid "Companies"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_company_id
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_company_id
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_company_id
msgid "Company"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Complete all boxes clearly in ink.\n"
" Please enter a '0' (Zero) if the item is not applicable.\n"
" Exclude GST amount and disregard cents for items 1 to 5."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Complete all boxes clearly in ink. Please enter a '0' (Zero) if the item\n"
" is not applicable. Exclude GST amount and disregard cents for items 1 to 5."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.custom_layout_gst
msgid "Comptroller Of Goods and Service\n"
" Tax"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model,name:l10n_sg_gst.model_res_partner
msgid "Contact"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Contact Telephone No."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_create_uid
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_create_uid
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_create_uid
msgid "Created by"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_create_date
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_create_date
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_create_date
msgid "Created on"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Date"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
msgid "Declaration Of Errors"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_declaration_of_error
msgid "Declaration of Errors"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Designation:"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_3
#: model:product.template,name:l10n_sg_gst.product_id_3_product_template
msgid "Diamond Tools"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Did you claim for GST you had refunded to\n"
" tourists?"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
msgid "Did you claim for GST you had refunded to tourists?"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
msgid "Did you make any bad debt relief claims?"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
msgid "Did you make any pre-registration claims?"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
msgid "Did you make following claims in BOX 7 ?"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Difference to be paid to IRAS"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_10
#: model:product.template,name:l10n_sg_gst.product_id_10_product_template
msgid "Digital Mobile X-Ray System"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_9
#: model:product.template,name:l10n_sg_gst.product_id_9_product_template
msgid "Digital Wireless System"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst5_report_view_display_name
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst7_report_view_display_name
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst_analysis_view_display_name
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_display_name
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_display_name
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_display_name
msgid "Display Name"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_11
#: model:product.template,name:l10n_sg_gst.product_id_11_product_template
msgid "Electrical Medical Stimulator"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_5
#: model:product.template,name:l10n_sg_gst.product_id_5_product_template
msgid "Elevator"
msgstr ""
#. module: l10n_sg_gst
#: selection:account.tax,tax_group:0
#: selection:account.tax.template,tax_group:0
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "Exempted"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst_analysis_form
msgid "Filter on Date"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "For Office Use"
msgstr ""
#. module: l10n_sg_gst
#: code:addons/l10n_sg_gst/report/account_gst5_report.py:110
#: code:addons/l10n_sg_gst/report/account_gst7_report.py:34
#: code:addons/l10n_sg_gst/report/account_gst_analysis_report.py:113
#, python-format
msgid "Form content is missing, this report cannot be printed."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_date_from
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_date_from
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_date_from
msgid "From"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "GST %"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "GST Amount"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.actions.act_window,name:l10n_sg_gst.action_wiz_gst_analysis
#: model:ir.actions.report,name:l10n_sg_gst.action_account_gst_analysis
#: model:ir.model,name:l10n_sg_gst.model_wiz_gst_analysis
#: model:ir.ui.menu,name:l10n_sg_gst.menu_action_wiz_gst_analysis
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst_analysis_form
msgid "GST Analysis"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.custom_layout_gst
msgid "GST F5 Summary Report"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.custom_layout_gst
msgid "GST F7 Summary Report"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_res_company_gst_number
#: model:ir.model.fields,field_description:l10n_sg_gst.field_res_partner_gst_number
#: model:ir.model.fields,field_description:l10n_sg_gst.field_res_users_gst_number
msgid "GST Number"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.menu,name:l10n_sg_gst.menu_account_gst_report
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
msgid "GST Report"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.actions.act_window,name:l10n_sg_gst.action_wiz_gst5_report
#: model:ir.actions.report,name:l10n_sg_gst.action_account_gst5_report_id
#: model:ir.model,name:l10n_sg_gst.model_wiz_gst5_report
#: model:ir.ui.menu,name:l10n_sg_gst.menu_action_wiz_gst5_report
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
msgid "GST5 Report"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.actions.act_window,name:l10n_sg_gst.action_wiz_gst7_report
#: model:ir.actions.report,name:l10n_sg_gst.action_account_gst7_report_id
#: model:ir.model,name:l10n_sg_gst.model_wiz_gst7_report
#: model:ir.ui.menu,name:l10n_sg_gst.menu_action_wiz_gst7_report
msgid "GST7 Report"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "Gross Amount"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_12
#: model:product.template,name:l10n_sg_gst.product_id_12_product_template
msgid "Hommage-Marble Stone"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "I declare that the information given above is\n"
" true and complete."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "I declare that the information given above is true and complete."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst5_report_view_id
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst7_report_view_id
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst_analysis_view_id
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_id
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_id
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_id
msgid "ID"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "If you\n"
" have changed your postal adddress, please\n"
" update the address printed below."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "If you have changed your postal adddress,\n"
" please update the address printed below."
msgstr ""
#. module: l10n_sg_gst
#: model:account.account.type,name:l10n_sg_gst.test_data_account_type_income
msgid "Income"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Input tax and refunds claimed"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_res_company_is_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_res_partner_is_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_res_users_is_gst
msgid "Is GST Applicable?"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst5_report_view___last_update
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst7_report_view___last_update
#: model:ir.model.fields,field_description:l10n_sg_gst.field_report_l10n_sg_gst_account_gst_analysis_view___last_update
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report___last_update
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report___last_update
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis___last_update
msgid "Last Modified on"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_write_uid
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_write_uid
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_write_uid
msgid "Last Updated by"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_write_date
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_write_date
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_write_date
msgid "Last Updated on"
msgstr ""
#. module: l10n_sg_gst
#: selection:account.tax,tax_group:0
#: selection:account.tax.template,tax_group:0
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "MES"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_4
#: model:product.template,name:l10n_sg_gst.product_id_4_product_template
msgid "Mobile Track Pad"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_7
#: model:product.template,name:l10n_sg_gst.product_id_7_product_template
msgid "Multi Block"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "NS"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Name Of Declarant:"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Net GST To be claimed for IRAS"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Net GST paid previously for this accounting period"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Net GST to be paid to IRAS"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_answer1_no
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_answer2_no
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_answer3_no
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_answer1_no
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_answer2_no
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_answer3_no
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "No"
msgstr ""
#. module: l10n_sg_gst
#: code:addons/l10n_sg_gst/wizard/gst7_select_period.py:43
#, python-format
msgid "Number of characters must on exceed 200"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "OR"
msgstr ""
#. module: l10n_sg_gst
#: selection:account.tax,tax_group:0
#: selection:account.tax.template,tax_group:0
msgid "Out Of Scope"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "Output Of Scope"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Output tax due"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "PR"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "Particulars"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Period covered by this return :"
msgstr ""
#. module: l10n_sg_gst
#: constraint:wiz.gst7.report:0
msgid "Please do not enter any symbol in this field\"."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst_analysis_form
msgid "Print"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Revenue for the accounting period"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Revised Input tax and refunds claimed(exclude disallowed input tax)"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Revised output tax due"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Signature"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "Standard"
msgstr ""
#. module: l10n_sg_gst
#: selection:account.tax,tax_group:0
#: selection:account.tax.template,tax_group:0
msgid "Standard Rates"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_8
#: model:product.template,name:l10n_sg_gst.product_id_8_product_template
msgid "SuperMax"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model,name:l10n_sg_gst.model_account_tax
msgid "Tax"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_account_tax_tax_group
#: model:ir.model.fields,field_description:l10n_sg_gst.field_account_tax_template_tax_group
msgid "Tax Group"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.custom_layout_gst
msgid "Tel:1800-3568633"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model,name:l10n_sg_gst.model_account_tax_template
msgid "Templates for Taxes"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "The due date for\n"
" submission is one month after the end\n"
" of the accountig period.\n"
" <br/>\n"
" Penalties will be imposed if you do not\n"
" submit your Return and make payment\n"
" <br/>\n"
" by the due date."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "The due date for submission is one month after the\n"
" end of the accountig period.\n"
" <br/>\n"
" Penalties will be imposed if you do not submit your Return and make payment\n"
" <br/>\n"
" by the due date."
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
msgid "This is compulsory field, Please provide a brief description of the errors made. Please do not enter any symbol in this field or exceed the word limit of 200 characters. If you are consolidating the errors for more than one accounting period(up till one year), Please state so in this box,For example: *The error declared aboved is for the period _______ to ________"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_date_to
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_date_to
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst_analysis_date_to
msgid "To"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Total revised value of exempt supplies"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Total revised value of standard-rated supplies (excluding GST)"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Total revised value of taxable purchases (exclude expenses where input tax is\n"
" disallowed)"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Total revised value of zero-rated supplies"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Total value of (1) + (2) + (3)"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Total value of exempt supplies"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Total value of goods imported under this scheme"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Total value of standard-rated supplies\n"
" (excluding GST)"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Total value of taxable purchases (excluding\n"
" GST)"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
msgid "Total value of zero-rated supplies"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_answer1_yes
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_answer2_yes
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst5_report_answer3_yes
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_answer1_yes
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_answer2_yes
#: model:ir.model.fields,field_description:l10n_sg_gst.field_wiz_gst7_report_answer3_yes
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "Yes"
msgstr ""
#. module: l10n_sg_gst
#: selection:account.tax,tax_group:0
#: selection:account.tax.template,tax_group:0
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst_analysis_view
msgid "Zeroed"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "_____________________"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst5_report_view
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "____________________________________________________________________________________________________________________________________"
msgstr ""
#. module: l10n_sg_gst
#: model:product.product,name:l10n_sg_gst.product_id_1
#: model:product.template,name:l10n_sg_gst.product_id_1_product_template
msgid "medical instruments operating table"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst5_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst7_report_form
#: model:ir.ui.view,arch_db:l10n_sg_gst.wiz_gst_analysis_form
msgid "or"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model,name:l10n_sg_gst.model_report_l10n_sg_gst_account_gst5_report_view
msgid "report.l10n_sg_gst.account_gst5_report_view"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model,name:l10n_sg_gst.model_report_l10n_sg_gst_account_gst7_report_view
msgid "report.l10n_sg_gst.account_gst7_report_view"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.model,name:l10n_sg_gst.model_report_l10n_sg_gst_account_gst_analysis_view
msgid "report.l10n_sg_gst.account_gst_analysis_view"
msgstr ""
#. module: l10n_sg_gst
#: model:ir.ui.view,arch_db:l10n_sg_gst.account_gst7_report_view
msgid "to"
msgstr ""

View File

@ -0,0 +1,5 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from . import account_tax
from . import res_company

View File

@ -0,0 +1,32 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from flectra import models, fields, api
class AccountTax(models.Model):
_inherit = 'account.tax'
tax_group = fields.Selection([('standard_rates', 'Standard Rates'),
('zeroed', 'Zeroed'),
('exempted', 'Exempted'), ('MES', 'MES'),
('out_of_scope', 'Out Of Scope')],
string='Tax Group')
class AccountTaxTemplate(models.Model):
_inherit = 'account.tax.template'
tax_group = fields.Selection([('standard_rates', 'Standard Rates'),
('zeroed', 'Zeroed'),
('exempted', 'Exempted'), ('MES', 'MES'),
('out_of_scope', 'Out Of Scope')],
string='Tax Group')
@api.multi
def _get_tax_vals(self, company, tax_template_to_tax):
res = super(AccountTaxTemplate, self)._get_tax_vals(
company, tax_template_to_tax)
if self.tax_group:
res.update({'tax_group': self.tax_group})
return res

View File

@ -0,0 +1,18 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from flectra import models, fields
class ResCompany(models.Model):
_inherit = 'res.company'
is_gst = fields.Boolean(string='Is GST Applicable?', default=False)
gst_number = fields.Char(string='GST Number', size=256)
class ResPartner(models.Model):
_inherit = 'res.partner'
is_gst = fields.Boolean(string='Is GST Applicable?', default=False)
gst_number = fields.Char(string='GST Number', size=256)

View File

@ -0,0 +1,6 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from . import account_gst5_report
from . import account_gst_analysis_report
from . import account_gst7_report

View File

@ -0,0 +1,122 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
import time
from datetime import datetime
from flectra import api, models, _
from flectra.exceptions import UserError
taxes_query = """SELECT l.tax_line_id, \
COALESCE(SUM(l.debit-l.credit), 0)
FROM account_move as m, account_move_line as l
WHERE (l.move_id=m.id) AND \
((((l.date <= '%s') AND \
((l.date >= '%s'))) AND \
(m.state = 'posted')) AND \
(l.company_id = '%s')) \
GROUP BY l.tax_line_id \
"""
gst_taxes_query = """SELECT r.account_tax_id,\
COALESCE(SUM(l.debit-l.credit), 0)
FROM account_move as m, account_move_line as l\
INNER JOIN account_move_line_account_tax_rel r ON \
(l.id = r.account_move_line_id)\
INNER JOIN account_tax t ON (r.account_tax_id = t.id)\
WHERE (l.move_id=m.id) AND \
((l.date <= '%s') AND \
((l.date >= '%s') AND \
(m.state = 'posted'))\
) group by r.account_tax_id"""
class AccountGst5Report(models.AbstractModel):
_name = 'report.l10n_sg_gst.account_gst5_report_view'
def get_boolean_data(self, data):
res = {}
if data['form']:
res = {
'answer1_yes': data['form']['answer1_yes'] and '' or '',
'answer1_no': data['form']['answer1_no'] and '' or '',
'answer2_yes': data['form']['answer2_yes'] and '' or '',
'answer2_no': data['form']['answer2_no'] and '' or '',
'answer3_yes': data['form']['answer3_yes'] and '' or '',
'answer3_no': data['form']['answer3_no'] and '' or '',
}
return res
def get_tax(self, data, tax_group):
total = 0.0
flag = 0
final_domain = []
date_start = data['date_from']
date_stop = data['date_to']
self._cr.execute(taxes_query % (date_stop, date_start, self.env.user.company_id.id))
taxes_result = self._cr.fetchall()
self._cr.execute(gst_taxes_query % (date_stop, date_start))
final_sale_domain = [('type_tax_use', '=', 'sale')]
final_purchase_domain = [('type_tax_use', '=', 'purchase')]
gst_taxes_results = self._cr.fetchall()
if tax_group == 'MES':
final_domain = final_purchase_domain + [('tax_group', '=', 'MES')]
elif tax_group == 'purchase':
final_domain = final_purchase_domain + [('tax_group', '!=', 'MES')]
elif tax_group == 'purchase-tax':
flag = 1
final_domain = final_purchase_domain
if tax_group == 'standard_rates':
final_domain = final_sale_domain + [('tax_group', '=', 'standard_rates')]
elif tax_group == 'zeroed':
final_domain = final_sale_domain + [('tax_group', '=', 'zeroed')]
elif tax_group == 'exempted':
final_domain = final_sale_domain + [('tax_group', '=', 'exempted')]
elif tax_group == 'sales-tax':
flag = 1
final_domain = final_sale_domain
elif tax_group == 'sales':
final_domain = final_sale_domain
tax_ids = self.env['account.tax'].search(final_domain)
if flag:
for i in range(len(taxes_result)):
for tax in tax_ids:
if tax.id == taxes_result[i][0]:
total += taxes_result[i][1]
return abs(total)
for i in range(len(gst_taxes_results)):
for tax in tax_ids:
if tax.id == gst_taxes_results[i][0]:
total += gst_taxes_results[i][1]
return abs(total)
def get_company(self, data):
res = {}
company_id = self.env['res.company'].browse(
data['form']['company_id'][0])
if company_id:
res.update({
'contact_address':
company_id.partner_id.contact_address or '',
'name': company_id.name,
'gst_number': company_id.gst_number})
return res
@api.model
def get_report_values(self, docids, data=None):
if not data.get('form') or not self.env.context.get(
'active_model'):
raise UserError(_(
"Form content is missing, this report cannot be printed."))
tax_ids = self.env['account.tax'].browse(self.env.context.get('active_ids', []))
return {
'doc_ids': docids,
'doc_model': 'account.tax',
'docs': tax_ids,
'data': data,
'datetime': datetime,
'get_tax': self.get_tax,
'get_boolean_data': self.get_boolean_data,
'get_company': self.get_company,
}

View File

@ -0,0 +1,49 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
import time
from datetime import datetime
from flectra.addons.l10n_sg_gst.report.account_gst5_report import \
taxes_query, gst_taxes_query, AccountGst5Report
from flectra import api, models, _
from flectra.exceptions import UserError
class AccountGst7Report(models.AbstractModel):
_name = 'report.l10n_sg_gst.account_gst7_report_view'
def get_boolean_data(self, data):
return AccountGst5Report.get_boolean_data(self, data)
def get_tax(self, data, tax_group):
return AccountGst5Report.get_tax(self, data, tax_group)
#
def get_company(self, data):
res = AccountGst5Report.get_company(self, data)
return res
@api.constrains('declaration_of_error')
def _get_declaration_of_error(self, data):
return data['form']['declaration_of_error']
@api.model
def get_report_values(self, docids, data=None):
if not data.get('form') or not self.env.context.get(
'active_model'):
raise UserError(_(
"Form content is missing, this report cannot be printed."))
tax_ids = self.env['account.tax'].browse(self.env.context.get('active_ids', []))
return {
'doc_ids': docids,
'doc_model': 'account.tax',
'docs': tax_ids,
'data': data,
'time': time,
'datetime': datetime,
'get_tax': self.get_tax,
'get_boolean_data': self.get_boolean_data,
'get_company': self.get_company,
'get_declaration_of_error': self._get_declaration_of_error
}

View File

@ -0,0 +1,145 @@
# -*- coding: utf-8 -*-
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
import time
from flectra import api, models, _
from flectra.exceptions import UserError
from flectra.addons.l10n_sg_gst.report.account_gst5_report import taxes_query, \
gst_taxes_query
class AccountGstAnalysisView(models.AbstractModel):
_name = 'report.l10n_sg_gst.account_gst_analysis_view'
def compute_group_total(self, tax_browse, gst_taxes_result, group_name):
amount = 0.00
for i in range(len(gst_taxes_result)):
if tax_browse.id == gst_taxes_result[i][0]:
if tax_browse.tax_group in group_name:
amount += gst_taxes_result[i][1]
return abs(amount) or 0.00
def compute_gst_total(self, tax_browse, texes_result, group_name):
tax_amount = 0.00
for i in range(len(texes_result)):
if tax_browse.id == texes_result[i][0]:
if tax_browse.tax_group in group_name:
tax_amount += texes_result[i][1]
return abs(tax_amount) or 0.00
def get_common_data(self, tax_ids, data):
result = []
gst_perc = standard_total = zeroed_total = exempted_total = mes_total \
= out_scope_total = gross_amount_total = gst_amount_total = 0.0
for tax_browse in tax_ids:
date_start = data['form']['date_from']
date_stop = data['form']['date_to']
self._cr.execute(taxes_query % (
date_stop, date_start, self.env.user.company_id.id))
texes_result = self._cr.fetchall()
self._cr.execute(gst_taxes_query % (date_stop, date_start))
gst_taxes_result = self._cr.fetchall()
if tax_browse.amount_type == 'fixed':
gst_perc = tax_browse.amount * 100
elif tax_browse.amount_type == 'percent':
gst_perc = tax_browse.amount
elif tax_browse.amount_type == 'group':
tax = [(6, 0, tax_browse.children_tax_ids)]
gst_perc += tax.amount
else:
gst_perc = tax_browse.amount
standard = self.compute_group_total(tax_browse,
gst_taxes_result, ['standard_rates'])
standard_total += standard
zeroed = self.compute_group_total(tax_browse,
gst_taxes_result, ['zeroed'])
zeroed_total += zeroed
exempted = self.compute_group_total(tax_browse,
gst_taxes_result, ['exempted'])
exempted_total += exempted
mes = self.compute_group_total(tax_browse,
gst_taxes_result, ['MES'])
mes_total += mes
out_scope = self.compute_group_total(tax_browse,
gst_taxes_result, ['out_of_scope'])
out_scope_total += out_scope
gross_amount = self.compute_group_total(tax_browse,
gst_taxes_result,
['standard_rates', 'zeroed', 'exempted', 'MES',
'out_of_scope'])
gross_amount_total += gross_amount
gst_amount = self.compute_gst_total(tax_browse,
texes_result,
['standard_rates', 'zeroed', 'exempted', 'MES',
'out_of_scope'])
gst_amount_total += gst_amount
result.append({
'tax_name': tax_browse.name,
'standard': standard,
'zeroed': zeroed,
'exempted': exempted,
'mes': mes,
'out_scope': out_scope,
'gross_amount': gross_amount,
'gst_amount': gst_amount,
'gst_perc': gst_perc,
})
total = {
'standard_total': standard_total,
'zeroed_total': zeroed_total,
'exempted_total': exempted_total,
'mes_total': mes_total,
'out_scope_total': out_scope_total,
'gross_amount_total': gross_amount_total,
'gst_amount_total': gst_amount_total
}
return result, total
def get_purchase_data(self, data):
tax_ids = self.env['account.tax'].search([('type_tax_use', '=', 'purchase')])
return self.get_common_data(tax_ids, data)
def get_sale_data(self, data):
tax_ids = self.env['account.tax'].search([('type_tax_use', '=', 'sale')])
return self.get_common_data(tax_ids, data)
@api.model
def get_report_values(self, docids, data=None):
if not data.get('form') or not self.env.context.get(
'active_model'):
raise UserError(_(
"Form content is missing, this report cannot be printed."))
model = self.env.context.get('active_model')
docs = self.env[model].browse(self.env.context.get('active_ids', []))
purchase_data, purchase_total = self.get_purchase_data(data)
sale_data, sale_total = self.get_sale_data(data)
return {
'doc_ids': docids,
'doc_model': model,
'data': data,
'docs': docs,
'time': time,
'get_sale_data': sale_data,
'get_purchase_data': purchase_data,
'get_sale_standard_total': sale_total['standard_total'],
'get_sale_zeroed_total': sale_total['zeroed_total'],
'get_sale_exempted_total': sale_total['exempted_total'],
'get_sale_mes_total': sale_total['mes_total'],
'get_sale_out_scope_total': sale_total['out_scope_total'],
'get_sale_gross_amount_total': sale_total['gross_amount_total'],
'get_sale_gst_amount_total': sale_total['gst_amount_total'],
'get_purchase_standard_total': purchase_total['standard_total'],
'get_purchase_zeroed_total': purchase_total['zeroed_total'],
'get_purchase_exempted_total': purchase_total['exempted_total'],
'get_purchase_mes_total': purchase_total['mes_total'],
'get_purchase_out_scope_total': purchase_total['out_scope_total'],
'get_purchase_gross_amount_total': purchase_total[
'gross_amount_total'],
'get_purchase_gst_amount_total': purchase_total[
'gst_amount_total'],
}

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<report
id="action_account_gst_analysis"
model="account.tax"
string="GST Analysis"
report_type="qweb-pdf"
name="l10n_sg_gst.account_gst_analysis_view"
file="l10n_sg_gst.account_gst_analysis_view"
menu="False"
/>
<report
id="action_account_gst5_report_id"
model="account.tax"
string="GST5 Report"
report_type="qweb-pdf"
name="l10n_sg_gst.account_gst5_report_view"
file="l10n_sg_gst.account_gst5_report_view"
menu="False"
/>
<report
id="action_account_gst7_report_id"
model="account.tax"
string="GST7 Report"
report_type="qweb-pdf"
name="l10n_sg_gst.account_gst7_report_view"
file="l10n_sg_gst.account_gst7_report_view"
menu="False"
/>
<record id="action_account_gst5_report_id" model="ir.actions.report">
<field name="paperformat_id" ref="l10n_sg_gst.paperformat_report_gst"/>
</record>
<record id="action_account_gst7_report_id" model="ir.actions.report">
<field name="paperformat_id" ref="l10n_sg_gst.paperformat_report_gst"/>
</record>
<record id="action_account_gst_analysis" model="ir.actions.report">
<field name="paperformat_id" ref="l10n_sg_gst.paperformat_report_gst_analysis"/>
</record>
</flectra>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<record id="paperformat_report_gst" model="report.paperformat">
<field name="name">GST Report</field>
<field name="default" eval="True"/>
<field name="format">custom</field>
<field name="page_height">297</field>
<field name="page_width">210</field>
<field name="orientation">Portrait</field>
<field name="margin_top">30</field>
<field name="margin_bottom">20</field>
<field name="margin_left">5</field>
<field name="margin_right">5</field>
<field name="header_line" eval="False"/>
<field name="header_spacing">27</field>
<field name="dpi">90</field>
</record>
<record id="paperformat_report_gst_analysis" model="report.paperformat">
<field name="name">GST Report</field>
<field name="default" eval="True"/>
<field name="format">custom</field>
<field name="page_height">297</field>
<field name="page_width">210</field>
<field name="orientation">Portrait</field>
<field name="margin_top">35</field>
<field name="margin_bottom">28</field>
<field name="margin_left">7</field>
<field name="margin_right">7</field>
<field name="header_line" eval="False"/>
<field name="header_spacing">35</field>
<field name="dpi">90</field>
</record>
</flectra>

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

View File

@ -0,0 +1,4 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from . import test_gst_summary_report

View File

@ -0,0 +1,262 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
import time
from flectra.tests.common import TransactionCase
class TestGstF5(TransactionCase):
def setUp(self):
super(TestGstF5, self).setUp()
self.res_partner_model = self.env['res.partner']
self.product_model = self.env['product.product']
self.account_tax = self.env['account.tax']
self.account_invoice_model = self.env['account.invoice']
self.account_invoice_line_model = self.env['account.invoice.line']
self.currency_id = self.env.ref('base.SGD')
self.product1 = self.env.ref('product.product_product_3')
self.product2 = self.env.ref('product.product_product_4')
self.product3 = self.env.ref('product.product_product_5b')
self.product4 = self.env.ref('product.product_product_5')
self.product5 = self.env.ref('product.product_product_6')
self.product6 = self.env.ref('product.product_product_7')
self.product7 = self.env.ref('product.product_product_8')
self.product8 = self.env.ref('product.product_product_9')
self.product9 = self.env.ref('product.product_product_10')
self.gst_customer_id_1 = self.res_partner_model.create(dict(
name="Cyril",
email="cyril_daufeldt@aufeldt.com",
))
self.gst_supplier_id_1 = self.res_partner_model.create(dict(
name="Ritz",
email="ritz_daufeldt@yahoo.com",
supplier=True
))
self.sale_tax_id_1 = self.account_tax.search(
[('name', '=', 'Sales Tax 7% SR')])
self.sale_tax_id_1.write({'tax_group': 'standard_rates'})
self.sale_tax_id_2 = self.account_tax.search(
[('name', '=', 'Sales Tax 0% ZR')])
self.sale_tax_id_2.write({'tax_group': 'zeroed'})
self.sale_tax_id_3 = self.account_tax.search(
[('name', '=', 'Sales Tax 0% OS')])
self.sale_tax_id_3.write({'tax_group': 'out_of_scope'})
self.sale_tax_id_4 = self.account_tax.search(
[('name', '=', 'Sales Tax 0% ESN33')])
self.sale_tax_id_4.write({'tax_group': 'exempted'})
self.sale_tax_id_5 = self.account_tax.search(
[('name', '=', 'Sales Tax 7% DS')])
self.sale_tax_id_5.write({'tax_group': 'standard_rates'})
self.sale_tax_id_6 = self.account_tax.search(
[('name', '=', 'Sales Tax 0% ES33')])
self.sale_tax_id_6.write({'tax_group': 'exempted'})
self.purchase_tax_id_1 = self.account_tax.search(
[('name', '=', 'Purchase Tax 7% TX-N33')])
self.purchase_tax_id_1.write({'tax_group': 'standard_rates'})
self.purchase_tax_id_2 = self.account_tax.search(
[('name', '=', 'Purchase Tax 7% BL')])
self.purchase_tax_id_2.write({'tax_group': 'standard_rates'})
self.purchase_tax_id_3 = self.account_tax.search(
[('name', '=', 'Purchase Tax 7% IM')])
self.purchase_tax_id_3.write({'tax_group': 'standard_rates'})
self.purchase_tax_id_4 = self.account_tax.search(
[('name', '=', 'Purchase Tax 7% TX-RE')])
self.purchase_tax_id_4.write({'tax_group': 'standard_rates'})
self.purchase_tax_id_5 = self.account_tax.search(
[('name', '=', 'Purchase Tax 0% ME')])
self.purchase_tax_id_5.write({'tax_group': 'standard_rates'})
self.purchase_tax_id_6 = self.account_tax.search(
[('name', '=', 'Purchase Tax 0% NR')])
self.purchase_tax_id_6.write({'tax_group': 'standard_rates'})
self.purchase_tax_id_7 = self.account_tax.search(
[('name', '=', 'Purchase Tax 0% ZP')])
self.purchase_tax_id_7.write({'tax_group': 'standard_rates'})
self.purchase_tax_id_8 = self.account_tax.search(
[('name', '=', 'Purchase Tax 0% OP')])
self.purchase_tax_id_8.write({'tax_group': 'out_of_scope'})
self.purchase_tax_id_9 = self.account_tax.search(
[('name', '=', 'Purchase Tax 0% EP')])
self.purchase_tax_id_9.write({'tax_group': 'exempted'})
self.purchase_tax_id_10 = self.account_tax.search(
[('name', '=', 'Purchase Tax MES')])
self.purchase_tax_id_10.write({'tax_group': 'MES'})
self.purchase_tax_id_11 = self.account_tax.search(
[('name', '=', 'Purchase Tax 7% TX7')])
self.purchase_tax_id_11.write({'tax_group': 'standard_rates'})
def test_create_customer_invoice(self):
customer_invoice = self.account_invoice_model.create(
{'partner_id': self.gst_customer_id_1.id,
'reference_type': 'none',
'currency_id': self.currency_id.id,
'type': 'out_invoice',
'date_invoice': time.strftime('%Y') + '-07-01',
})
account_id = self.env['account.account'].search(
[('code', '=', '300004')])
self.env['account.invoice.line'].create({
'product_id': self.product1.id,
'quantity': 1,
'invoice_id': customer_invoice.id,
'name': 'something',
'price_unit': 2000,
'account_id': account_id.id,
'invoice_line_tax_ids': [(6, 0, [self.sale_tax_id_1.id])]
})
self.env['account.invoice.line'].create({
'product_id': self.product2.id,
'quantity': 2,
'invoice_id': customer_invoice.id,
'name': 'something',
'price_unit': 2000,
'account_id': account_id.id,
'invoice_line_tax_ids': [(6, 0, [self.sale_tax_id_2.id])]
})
self.env['account.invoice.line'].create({
'product_id': self.product3.id,
'quantity': 2,
'invoice_id': customer_invoice.id,
'name': 'something',
'price_unit': 3000,
'account_id': account_id.id,
'invoice_line_tax_ids': [(6, 0, [self.sale_tax_id_3.id])]
})
customer_invoice._onchange_invoice_line_ids()
# I check that Initially customer invoice is in the "Draft" state
self.assertEquals(customer_invoice.state, 'draft')
# I check that there is no move attached to the invoice
self.assertEquals(len(customer_invoice.move_id), 0)
# I validate invoice by creating on
customer_invoice.action_invoice_open()
# I check that the invoice state is "Open"
self.assertEquals(customer_invoice.state, 'open')
# I check that now there is a move attached to the invoice
assert customer_invoice.move_id, "Move not created " \
"for open invoice"
def test_create_supplier_invoice(self):
supplier_invoice = self.account_invoice_model.create(
{'partner_id': self.gst_supplier_id_1.id,
'reference_type': 'none',
'currency_id': self.currency_id.id,
'type': 'in_invoice',
'date_invoice': time.strftime('%Y') + '-07-01',
'state': 'draft'
})
default_fields = supplier_invoice.fields_view_get(
view_id=None,
view_type='form',
toolbar=False, submenu=False)
invoice_dic = self.env['account.account'].default_get(
default_fields)
journal_id = \
self.env['account.journal'].search(
[('type', '=', 'purchase')])[0]
account_id = self.env['account.account'].search(
[('code', '=', '202001')])
invoice_dic.update({'journal_id': journal_id.id,
'account_id': account_id.id,
'type': 'in_invoice'})
supplier_invoice.update(invoice_dic)
default_fields = self.account_invoice_line_model.fields_view_get(
view_id=None,
view_type='tree',
toolbar=False, submenu=False)
invoice_line_dic = self.account_invoice_line_model.default_get(
default_fields)
account_id = self.env['account.account'].search(
[('code', '=', '401005')])
invoice_line_dic.update(
{'invoice_line_tax_ids': [(6, 0, [self.purchase_tax_id_1.id])],
'product_id': self.product4.id,
'name': 'Multi Block',
'price_unit': 4090.0,
'quantity': 50.0,
'invoice_id': supplier_invoice.id,
'account_id': account_id.id or False})
self.account_invoice_line_model.create(invoice_line_dic)
invoice_line_dic.update(
{'invoice_line_tax_ids': [(6, 0, [self.purchase_tax_id_2.id])],
'product_id': self.product5.id,
'name': 'SuperMax',
'price_unit': 2190.0,
'quantity': 210.0,
'invoice_id': supplier_invoice.id,
'account_id': account_id.id or False})
self.account_invoice_line_model.create(invoice_line_dic)
invoice_line_dic.update(
{'invoice_line_tax_ids': [(6, 0, [self.purchase_tax_id_3.id])],
'product_id': self.product6.id,
'name': 'Digital Wireless System',
'price_unit': 2000.0,
'quantity': 32.0,
'invoice_id': supplier_invoice.id,
'account_id': account_id.id or False})
self.account_invoice_line_model.create(invoice_line_dic)
invoice_line_dic.update(
{'invoice_line_tax_ids': [(6, 0, [self.purchase_tax_id_4.id])],
'product_id': self.product7.id,
'name': 'Digital Mobile X-Ray System',
'price_unit': 3002.0,
'quantity': 45.0,
'invoice_id': supplier_invoice.id,
'account_id': account_id.id or False})
self.account_invoice_line_model.create(invoice_line_dic)
invoice_line_dic.update(
{'invoice_line_tax_ids': [(6, 0, [self.purchase_tax_id_5.id])],
'product_id': self.product8.id,
'name': 'Electrical Medical Stimulator',
'price_unit': 5037.0,
'quantity': 12.0,
'invoice_id': supplier_invoice.id,
'account_id': account_id.id or False})
self.account_invoice_line_model.create(invoice_line_dic)
invoice_line_dic.update(
{'invoice_line_tax_ids': [(6, 0, [self.purchase_tax_id_6.id])],
'product_id': self.product9.id,
'name': 'Hommage-Marble Stone',
'price_unit': 2300.0,
'quantity': 25.0,
'invoice_id': supplier_invoice.id,
'account_id': account_id.id or False})
self.account_invoice_line_model.create(invoice_line_dic)
supplier_invoice._onchange_invoice_line_ids()
# I check that Initially customer invoice is in the "Draft" state
self.assertEquals(supplier_invoice.state, 'draft')
# I check that there is no move attached to the invoice
self.assertEquals(len(supplier_invoice.move_id), 0)
# I validate invoice by creating on
supplier_invoice.action_invoice_open()
# I check that the invoice state is "Open"
self.assertEquals(supplier_invoice.state, 'open')

View File

@ -0,0 +1,850 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<template id="account_gst5_report_view">
<t t-call="l10n_sg_gst.custom_layout_gst">
<div class="page">
<table>
<tr>
<td>
<p style="padding-top:2px;">If you
have changed your postal adddress, please
update the address printed below.
</p>
</td>
</tr>
</table>
<table width="100%">
<tr>
<td>
<table class="table" width="100%" style="font-size:11px;
border-width: 1px;
border-color: 1px solid black;
border-collapse: collapse;">
<tr>
<td style="color:#000000;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #cccccc;">
<b>Company Name :</b>
<span t-esc="get_company(data)['name']"/>
<br/>
<b>Company Address:</b>
<span t-esc="get_company(data)['contact_address']"/>
<br/>
<b>GST Registration Number :</b>
<span t-esc="get_company(data)['gst_number']"/>
<br/>
</td>
</tr>
</table>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<table width="100%">
<tr>
<td style="color:#000000;">The due date for
submission is one month after the end
of the accountig period.
<br/>
Penalties will be imposed if you do not
submit your Return and make payment
<br/>
by the due date.
</td>
</tr>
</table>
<table>
<tr>
<td colspan="2" style="color:#000000;border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #cccccc;">
Period covered by this return :
<t t-if="data['form']['date_from']">
<strong>From :</strong>
<span t-esc="time.strftime('%d-%m-%Y', time.strptime(data['form']['date_from'],'%Y-%m-%d'))"/>
</t>
<t t-if="data['form']['date_to']">
<strong>To :</strong>
<span t-esc="time.strftime('%d-%m-%Y', time.strptime(data['form']['date_to'],'%Y-%m-%d'))"/>
</t>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p style="color:#000000;">
<b>Before you fill in this form, please read the notes on
Page 2.
</b>
</p>
<p style="color:#000000;">Complete all boxes clearly in ink.
Please enter a '0' (Zero) if the item is not applicable.
Exclude GST amount and disregard cents for items 1 to 5.
</p>
<div class="box1"
style="height: 1055px;width:1030px;border: 1px solid black;margin-top:5px;">
<table>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total value of standard-rated supplies
(excluding GST)
</td>
<td style="padding-left:400px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'standard_rates')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">1
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total value of zero-rated supplies</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'zeroed')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">2
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total value of exempt supplies</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'exempted')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">3
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total value of (1) + (2) + (3)</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<b>
<span t-esc="get_tax(data['form'],'standard_rates') + get_tax(data['form'],'zeroed')+get_tax(data['form'],'exempted')"/>
</b>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">4
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total value of taxable purchases (excluding
GST)
</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'purchase')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">5
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Output tax due</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'sales-tax')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">6
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<b>Less:</b>
</td>
<td>
<font color="white">........</font>
</td>
<td>Input tax and refunds claimed</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'purchase-tax')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">7
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td style="padding-left:200px;">(Please Cross)</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<b>Equals:</b>
</td>
<td>
<font color="white">........</font>
</td>
<td>Net GST to be paid to IRAS</td>
<td style="padding-left:250px;">
<span t-esc="(get_tax(data['form'],'sales-tax')-get_tax(data['form'],'purchase-tax')) > 0 and '☒' or '◻'"/>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>(Attach payment voucher if you are paying by
cheque)
</td>
<td style="padding-left:210px;">+</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>OR</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Net GST To be claimed for IRAS</td>
<td style="padding-left:250px;">
<span t-esc="(get_tax(data['form'],'sales-tax')-get_tax(data['form'],'purchase-tax')) > 0 and '◻' or '☒'"/>
</td>
<td class="text-right">
<b>
<span t-esc="abs(get_tax(data['form'],'sales-tax')-get_tax(data['form'],'purchase-tax'))"/>
</b>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">8
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td style="padding-left:210px;">-</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:12px;
border-width: 1px;
font-family: verdana,arial,sans-serif;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 8px;">
<b>APPLICABLE TO TAXABLE PERSONS UNDER
MAJOR EXPORTER SCHEME ONLY
</b>
</td>
</tr>
</table>
</div>
<table width="100%">
<tr height="10%">
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total value of goods imported under this scheme
</td>
<td style="padding-left:470px;">
<font color="white">.</font>
</td>
<td width="35px" class="text-right">
<span t-esc="get_tax(data['form'],'MES')"/>
</td>
<td class="text-right" style="padding-left:30px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">9
</p>
</div>
</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:12px; border-width: 1px;
font-family: verdana,arial,sans-serif;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 8px;">
<b>DID YOU MAKE FOLLOWING CLAIMS IN BOX 7
?
</b>
</td>
</tr>
</table>
</div>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Did you claim for GST you had refunded to
tourists?
</td>
<td style="padding-left:460px;">
<font color="white">........</font>
</td>
<td style="padding-left:50px;" class="text-right">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">10
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<span
t-esc="get_boolean_data(data)['answer1_yes']"/>
Yes<span
t-esc="get_boolean_data(data)['answer1_no']"
style="padding-left:20px;"/>No
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Did you make any bad debt relief claims?</td>
<td style="padding-left:460px;">
<font color="white">........</font>
</td>
<td style="padding-left:50px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">11
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<span
t-esc="get_boolean_data(data)['answer2_yes']"/>
Yes<span
t-esc="get_boolean_data(data)['answer2_no']"
style="padding-left:20px;"/>No
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Did you make any pre-registration claims?</td>
<td style="padding-left:460px;">
<font color="white">........</font>
</td>
<td style="padding-left:50px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">12
</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<span
t-esc="get_boolean_data(data)['answer3_yes']"/>
Yes<span
t-esc="get_boolean_data(data)['answer3_no']"
style="padding-left:20px;"/>No
</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:12px;
border-width: 1px;
font-family: verdana,arial,sans-serif;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 6px;">
<b>REVENUE</b>
</td>
</tr>
</table>
</div>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr height="15%">
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Revenue for the accounting period</td>
<td style="padding-left:540px;">
<font color="white">........</font>
</td>
<td class="text-right" width="30px">
<b>
<span t-esc="get_tax(data['form'],'sales')"/>
</b>
</td>
<td style="padding-left:25px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center"
style="color:#FFFFFF;">13
</p>
</div>
<p></p>
</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:11px;
border-width: 1px;
font-family: verdana,arial,sans-serif;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 8px;">
<b>DECLARATION</b>
</td>
</tr>
</table>
</div>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
<td>I declare that the information given above is
true and complete.
</td>
</tr>
</table>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>Name Of Declarant:</td>
<td>
<font color="white">........</font>
</td>
<td>
<span t-esc="user.name"/>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Designation:</td>
<td>
<font color="white">........</font>
</td>
<td>
<span t-esc="user.partner_id.function"/>
</td>
</tr>
</table>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>Signature</td>
<td>
<font color="white">........</font>
</td>
<td>_____________________</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Date</td>
<td>
<font color="white">........</font>
</td>
<td>
<u>
<span t-esc="datetime.now().strftime('%d-%m-%Y')"/>
</u>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Contact Telephone No.</td>
<td>
<font color="white">........</font>
</td>
<td>
<u>
<span t-esc="user.partner_id.phone"/>
</u>
</td>
</tr>
</table>
<p>
____________________________________________________________________________________________________________________________________
</p>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
<td>For Office Use</td>
<td>
<font color="white">........</font>
</td>
<td>1</td>
<td>
<font color="white">........</font>
</td>
<td>L</td>
<td>
<font color="white">........</font>
</td>
<td>2</td>
<td>
<font color="white">........</font>
</td>
<td>CP</td>
<td>
<font color="white">........</font>
</td>
<td>3</td>
<td>
<font color="white">........</font>
</td>
<td>NS</td>
<td>4</td>
<td>
<font color="white">........</font>
</td>
<td>PR</td>
<td>5</td>
<td>
<font color="white">........</font>
</td>
<td>AT</td>
</tr>
</table>
</div>
</div>
</t>
</template>
</flectra>

View File

@ -0,0 +1,847 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<template id="account_gst7_report_view">
<t t-call="l10n_sg_gst.custom_layout_gst">
<div class="page">
<table>
<tr>
<td>
<p style="color:#000000;padding-top:2px;">If you have changed your postal adddress,
please update the address printed below.
</p>
</td>
</tr>
</table>
<table width="100%">
<tr>
<td>
<table class="table" width="100%" style="font-size:11px;
border-width: 1px;
border-color: 1px solid black;
border-collapse: collapse;">
<tr>
<td style="color:#000000;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #cccccc;">
<b>Company Name :</b>
<span t-esc="get_company(data)['name']"/>
<br/>
<b>Company Address:</b>
<span t-esc="get_company(data)['contact_address']"/>
<br/>
<b>GST Registration Number :</b>
<span t-esc="get_company(data)['gst_number']"/>
<br/>
</td>
</tr>
</table>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<table width="100%">
<tr>
<td style="color:#000000;">The due date for submission is one month after the
end of the accountig period.
<br/>
Penalties will be imposed if you do not submit your Return and make payment
<br/>
by the due date.
</td>
</tr>
</table>
<table>
<tr>
<td colspan="2" style="color:#000000;border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #cccccc;">
Period covered by this return :
<t t-if="data['form']['date_from']">
<strong>From :</strong>
<span t-esc="time.strftime('%d-%m-%Y', time.strptime(data['form']['date_from'],'%Y-%m-%d'))"/>
</t>
<t t-if="data['form']['date_to']">
<strong>To :</strong>
<span t-esc="time.strftime('%d-%m-%Y', time.strptime(data['form']['date_to'],'%Y-%m-%d'))"/>
</t>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p style="color:#000000;">
<b>Before you fill in this form, please read the notes on Page 2.</b>
</p>
<p style="color:#000000;">Complete all boxes clearly in ink. Please enter a '0' (Zero) if the item
is not applicable. Exclude GST amount and disregard cents for items 1 to 5.
</p>
<div class="box1"
style="height:1050px;width:1030px;border: 1px solid black;margin-top:5px;">
<table width="100%">
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total revised value of standard-rated supplies (excluding GST)
</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'standard_rates')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">1</p>
</div>
</td>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total revised value of zero-rated supplies</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'zeroed')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">2</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total revised value of exempt supplies</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'exempted')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">3</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total value of (1) + (2) + (3)</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<b>
<span t-esc="get_tax(data['form'],'standard_rates') + get_tax(data['form'],'zeroed')+get_tax(data['form'],'exempted')"/>
</b>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">4</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total revised value of taxable purchases (exclude expenses where input tax is
disallowed)
</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'purchase')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">5</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Revised output tax due</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'sales-tax')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">6</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<b>Less:</b>
</td>
<td>
<font color="white">........</font>
</td>
<td>Revised Input tax and refunds claimed(exclude disallowed input tax)</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'purchase-tax')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">7</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td style="padding-left:200px;">(Please Cross)</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<b>Equals:</b>
</td>
<td>
<font color="white">........</font>
</td>
<td>Net GST to be paid to IRAS</td>
<td style="padding-left:250px;">
<span t-esc="(get_tax(data['form'],'sales-tax')-get_tax(data['form'],'purchase-tax')) > 0 and '☒' or '◻'"/>
</td>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td style="padding-left:210px;">+</td>
</tr>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<b>Less:</b>
</td>
<td>
<font color="white">........</font>
</td>
<td>Net GST paid previously for this accounting period</td>
<td style="padding-left:250px;">
<font color="white">........</font>
</td>
<td class="text-right">
<span t-esc="get_tax(data['form'],'purchase-tax')"/>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">8</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td style="padding-left:200px;">(Please Cross)</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<b>Equals:</b>
</td>
<td>
<font color="white">........</font>
</td>
<td>Difference to be paid to IRAS</td>
<td style="padding-left:250px;">
<span t-esc="(get_tax(data['form'],'sales-tax')-get_tax(data['form'],'purchase-tax')) > 0 and '◻' or '☒'"/>
</td>
<td class="text-right">
<b>
<span t-esc="abs(get_tax(data['form'],'sales-tax')-get_tax(data['form'],'purchase-tax'))"/>
</b>
</td>
<td style="padding-left:20px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">9</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td style="padding-left:210px;">-</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:12px;
border-width: 1px;
font-family: verdana,arial,sans-serif;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 8px;">
<b>APPLICABLE TO TAXABLE PERSONS UNDER MAJOR EXPORTER SCHEME ONLY</b>
</td>
</tr>
</table>
</div>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Total value of goods imported under this scheme</td>
<td style="padding-left:445px;">
<font color="white">........</font>
</td>
<td width="35px" class="text-right">
<span t-esc="get_tax(data['form'],'MES')"/>
</td>
<td class="text-right" style="padding-left:30px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">10</p>
</div>
</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:12px;
border-width: 1px;
font-family: verdana,arial,sans-serif;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 8px;">
<b>DID YOU MAKE FOLLOWING CLAIMS IN BOX 7 ?</b>
</td>
</tr>
</table>
</div>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Did you claim for GST you had refunded to tourists?</td>
<td style="padding-left:460px;">
<font color="white">........</font>
</td>
<td style="padding-left:50px;" class="text-right">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">11</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td><span t-esc="get_boolean_data(data)['answer1_yes']"/>Yes<span
t-esc="get_boolean_data(data)['answer1_no']" style="padding-left:20px;"/>No
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Did you make any bad debt relief claims?</td>
<td style="padding-left:460px;">
<font color="white">........</font>
</td>
<td style="padding-left:50px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">12</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td><span t-esc="get_boolean_data(data)['answer2_yes']"/>Yes<span
t-esc="get_boolean_data(data)['answer2_no']" style="padding-left:20px;"/>No
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Did you make any pre-registration claims?</td>
<td style="padding-left:460px;">
<font color="white">........</font>
</td>
<td style="padding-left:50px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">13</p>
</div>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td><span t-esc="get_boolean_data(data)['answer3_yes']"/>Yes<span
t-esc="get_boolean_data(data)['answer3_no']" style="padding-left:20px;"/>No
</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:12px;
border-width: 1px;
font-family: verdana,arial,sans-serif;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 6px;">
<b>REVENUE</b>
</td>
</tr>
</table>
</div>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Revenue for the accounting period</td>
<td style="padding-left:540px;">
<font color="white">........</font>
</td>
<td class="text-right" width="30px">
<b>
<span t-esc="get_tax(data['form'],'sales')"/>
</b>
</td>
<td style="padding-left:25px;">
<div class="box2"
style="height: 25px;width:50px;border:1px solid black;margin-top:0px; background-color: #000000;text-color: #FFFFFF;">
<p class="text-center" style="color:#FFFFFF;">14</p>
</div>
</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:11px;
border-width: 1px;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 8px;">
<b>DECLARATION OF ERRORS</b>
</td>
</tr>
</table>
</div>
<table width="100%">
<tr style="margin-right:10px;margin-left:10px;">
<span t-esc="get_declaration_of_error(data)"/>
<t t-if="data['form']['date_from']">
<span t-esc="time.strftime('%d-%m-%Y', time.strptime(data['form']['date_from'],'%Y-%m-%d'))"/>
</t>
<t t-if="data['form']['date_to']">
to
<span t-esc="time.strftime('%d-%m-%Y', time.strptime(data['form']['date_to'],'%Y-%m-%d'))"/>
</t>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
</table>
<div class="box3" style="height: 25px;
width: 1030px;
border: 1px solid black;
margin-top:0px;
background-color: #000000;
text-color: #FFFFFF;">
<table style="font-size:11px;
border-width: 1px;
font-family: verdana,arial,sans-serif;
color:black;">
<tr class="text-center">
<td style="color:#FFFFFF;border-width: 1px;padding: 8px;">
<b>DECLARATION</b>
</td>
</tr>
</table>
</div>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
<td>I declare that the information given above is true and complete.</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
</tr>
</table>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>Name Of Declarant:</td>
<td>
<font color="white">........</font>
</td>
<td>
<span t-esc="user.name"/>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Designation:</td>
<td>
<font color="white">........</font>
</td>
<td>
<span t-esc="user.partner_id.function"/>
</td>
</tr>
</table>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
</tr>
<tr>
<td>
<font color="white">........</font>
</td>
<td>Signature</td>
<td>
<font color="white">........</font>
</td>
<td>_____________________</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Date</td>
<td>
<font color="white">........</font>
</td>
<td>
<u>
<span t-esc="datetime.now().strftime('%d-%m-%Y')"/>
</u>
</td>
<td>
<font color="white">........</font>
</td>
<td>
<font color="white">........</font>
</td>
<td>Contact Telephone No.</td>
<td>
<font color="white">........</font>
</td>
<td>
<u>
<span t-esc="user.partner_id.phone"/>
</u>
</td>
</tr>
</table>
<p>
____________________________________________________________________________________________________________________________________
</p>
<table>
<tr>
<td>
<font color="white">........</font>
</td>
<td>For Office Use</td>
<td>
<font color="white">........</font>
</td>
<td>1</td>
<td>
<font color="white">........</font>
</td>
<td>L</td>
<td>
<font color="white">........</font>
</td>
<td>2</td>
<td>
<font color="white">........</font>
</td>
<td>CP</td>
<td>
<font color="white">........</font>
</td>
<td>3</td>
<td>
<font color="white">........</font>
</td>
<td>NS</td>
<td>4</td>
<td>
<font color="white">........</font>
</td>
<td>PR</td>
<td>5</td>
<td>
<font color="white">........</font>
</td>
<td>AT</td>
</tr>
</table>
</div>
</div>
</t>
</template>
</flectra>

View File

@ -0,0 +1,214 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<template id="account_gst_analysis_view">
<t t-call="web.external_layout">
<div class="page">
<div class="row text-center">
<h2>
<strong>GST Analysis</strong>
</h2>
</div>
<div class="row text-center">
<h2>
<strong>Sales</strong>
</h2>
</div>
<table class="table table-condensed" width="100%">
<thead>
<tr>
<th class="text-left">Particulars</th>
<th class="text-right">Standard</th>
<th class="text-right">Zeroed</th>
<th class="text-right">Exempted</th>
<th class="text-right">MES</th>
<th class="text-right">Output Of Scope</th>
<th class="text-right">Gross Amount</th>
<th class="text-right">GST Amount</th>
<th class="text-right">GST %</th>
</tr>
</thead>
<tbody class="invoice_body">
<tr t-foreach="get_sale_data" t-as="obj">
<td class="text-left">
<span t-esc="obj.get('tax_name')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('standard')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('zeroed')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('exempted')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('mes')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('out_scope')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('gross_amount')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('gst_amount')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('gst_perc')"/>
</td>
</tr>
</tbody>
<tr>
<td class="text-left">
<b>Total</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_sale_standard_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_sale_zeroed_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_sale_exempted_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_sale_mes_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_sale_out_scope_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_sale_gross_amount_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc=" get_sale_gst_amount_total"/>
</b>
</td>
<td class="text-right">
<b></b>
</td>
</tr>
</table>
<!-- Purchase -->
<p style="page-break-before: always;">
<div class="row text-center">
<h2>
<strong>GST Analysis</strong>
</h2>
</div>
<div class="row text-center">
<h2>
<strong>Purchases</strong>
</h2>
</div>
<table class="table table-condensed" width="100%">
<thead>
<tr>
<th class="text-left">Particulars</th>
<th class="text-right">Standard</th>
<th class="text-right">Zeroed</th>
<th class="text-right">Exempted</th>
<th class="text-right">MES</th>
<th class="text-right">Output Of Scope</th>
<th class="text-right">Gross Amount</th>
<th class="text-right">GST Amount</th>
<th class="text-right">GST %</th>
</tr>
</thead>
<tbody class="invoice_body">
<tr t-foreach="get_purchase_data" t-as="obj">
<td class="text-left">
<span t-esc="obj.get('tax_name')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('standard')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('zeroed')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('exempted')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('mes')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('out_scope')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('gross_amount')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('gst_amount')"/>
</td>
<td class="text-right">
<span t-esc="obj.get('gst_perc')"/>
</td>
</tr>
</tbody>
<tr>
<td class="text-left">
<b>Total</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_purchase_standard_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_purchase_zeroed_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_purchase_exempted_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_purchase_mes_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_purchase_out_scope_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc="get_purchase_gross_amount_total"/>
</b>
</td>
<td class="text-right">
<b>
<span t-esc=" get_purchase_gst_amount_totals"/>
</b>
</td>
<td class="text-right">
<b></b>
</td>
</tr>
</table>
</p>
</div>
</t>
</template>
</flectra>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<flectra>
<!-- Added new field Tax-Group -->
<record id="view_account_tax_form_inherit" model="ir.ui.view">
<field name="name">account.tax.inherit.form</field>
<field name="model">account.tax</field>
<field name="inherit_id" ref="account.view_tax_form"/>
<field name="arch" type="xml">
<field name="amount_type" position="before">
<field name="tax_group"/>
</field>
</field>
</record>
</flectra>

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<template id="layout" inherit_id="web.layout" primary="True">
<!-- Add report attributes -->
<xpath expr="//html" position="attributes">
<attribute name="t-att-data-report-margin-top">
data_report_margin_top if data_report_margin_top else
None
</attribute>
<attribute name="t-att-data-report-header-spacing">
data_report_header_spacing if
data_report_header_spacing else None
</attribute>
<attribute name="t-att-data-report-dpi">data_report_dpi if
data_report_dpi else None
</attribute>
</xpath>
<!-- Add report style -->
<xpath expr="//head" position="inside">
<link href="/web/static/lib/bootstrap/css/bootstrap.css"
rel="stylesheet"/>
<link href="/website/static/src/css/website.css" rel="stylesheet"/>
<link href="/web/static/lib/fontawesome/css/font-awesome.css"
rel="stylesheet"/>
<style type="text/css">
<t t-call="report.style"/>
</style>
</xpath>
</template>
<template id="custom_layout_gst">
<!-- Multicompany -->
<t t-if="o and 'company_id' in o">
<t t-set="company" t-value="o.company_id"/>
</t>
<t t-if="not o or not 'company_id' in o">
<t t-set="company" t-value="res_company"/>
</t>
<div class="header">
<div class="row">
<table>
<tr>
<t t-if="not data['form']['declaration_of_error']">
<td style="padding-left:400px;">
<h3 style="color:#000000;">GST F5 Summary Report
</h3>
</td>
</t>
<t t-if="data['form']['declaration_of_error']">
<td style="padding-left:400px;">
<h3 style="color:#000000;">GST F7 Summary Report
</h3>
</td>
</t>
</tr>
</table>
<table
width="100%" style="height:100px;
width:1050px;border: 1px solid black;margin-top:0px;
background-color: #000000;color:#FFFFFF;">
<tr>
<td width="45%" style="padding-left:8px;">
Comptroller Of Goods and Service
Tax
</td>
<td>
<b>GOODS AND SERVICES TAX RETURN</b>
</td>
</tr>
<tr>
<td width="45%" style="padding:8px;">55 Newton
Road, Revenue House, Singapore
307987
</td>
<td>
<b>Goods And Services Tax act 1993</b>
</td>
</tr>
<tr>
<td style="padding:8px;">Tel:1800-3568633</td>
</tr>
</table>
</div>
</div>
<div class="article">
<t t-raw="0"/>
</div>
</template>
</flectra>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<flectra>
<!-- Company -->
<record id="view_res_company_form_inh" model="ir.ui.view">
<field name="name">res.company.form</field>
<field name="model">res.company</field>
<field name="inherit_id" ref="base.view_company_form"/>
<field name="arch" type="xml">
<field name="vat" position="after">
<field name="is_gst"/>
<field name="gst_number" attrs="{'invisible':[('is_gst','=',False)],'required':[('is_gst','=',True)]}"/>
</field>
</field>
</record>
<!-- Partner -->
<record id="view_res_partner_form_inh" model="ir.ui.view">
<field name="name">res.partner.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<field name="supplier" position="after">
<field name="is_gst"/>
<field name="gst_number" attrs="{'invisible':[('is_gst','=',False)],'required':[('is_gst','=',True)]}"/>
</field>
</field>
</record>
</flectra>

View File

@ -0,0 +1,6 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from . import gst5_select_period
from . import gst7_select_period
from . import gst_analysis

View File

@ -0,0 +1,37 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from flectra import models, fields, api
class WizGst5Report(models.TransientModel):
_name = 'wiz.gst5.report'
_description = 'GST5 Report'
company_id = fields.Many2one('res.company', string='Company',
required=True,
default=lambda self: self.env.user.company_id)
date_from = fields.Date(string="From", required=True)
date_to = fields.Date(string="To", required=True)
answer1_yes = fields.Boolean(string='Yes', default=False)
answer1_no = fields.Boolean(string='No', default=True)
answer2_yes = fields.Boolean(string='Yes', default=False)
answer2_no = fields.Boolean(string='No', default=True)
answer3_yes = fields.Boolean(string='Yes', default=False)
answer3_no = fields.Boolean(string='No', default=True)
@api.multi
def print_report(self):
self.ensure_one()
[data] = self.read()
data['taxes'] = self.env.context.get('active_ids', [])
account_taxes = self.env['account.tax'].browse(data['taxes'])
data.update({'declaration_of_error': ''})
datas = {
'ids': [],
'model': 'account.tax',
'form': data
}
return self.env.ref('l10n_sg_gst.action_account_gst5_report_id').\
report_action(account_taxes, data=datas)

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<record id="wiz_gst5_report_form" model="ir.ui.view">
<field name="name">wiz.gst5.report.form</field>
<field name="model">wiz.gst5.report</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="GST5 Report">
<sheet>
<group>
<group col="4" colspan="4">
<field name="company_id" context="{'user_company':True}"/>
<separator string="Filter on Date" colspan="4"/>
<field name="date_from"/>
<field name="date_to"/>
</group>
<group colspan="4" col="6">
<separator string="Did you make following claims in BOX 7 ?" colspan="4"/>
<newline/>
<label string="Did you claim for GST you had refunded to tourists?" colspan="1"/>
<field name="answer1_yes" colspan="1"
attrs="{'readonly':[('answer1_no','=',True)],'required':[('answer1_no','=',False)]}"/>
<field name="answer1_no" colspan="1"/>
<newline/>
<label string="Did you make any bad debt relief claims?" colspan="1"/>
<field name="answer2_yes" colspan="1"
attrs="{'readonly':[('answer2_no','=',True)],'required':[('answer2_no','=',False)]}"/>
<field name="answer2_no" colspan="1"/>
<newline/>
<label string="Did you make any pre-registration claims?" colspan="1"/>
<field name="answer3_yes" colspan="1"
attrs="{'readonly':[('answer3_no','=',True)],'required':[('answer3_no','=',False)]}"/>
<field name="answer3_no" colspan="1"/>
<newline/>
</group>
</group>
</sheet>
<footer>
<span groups="base.group_user">
<button name="print_report" string="Print" type="object" class="btn-primary"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</span>
</footer>
</form>
</field>
</record>
<record id="action_wiz_gst5_report" model="ir.actions.act_window">
<field name="name">GST5 Report</field>
<field name="res_model">wiz.gst5.report</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="wiz_gst5_report_form"/>
<field name="target">new</field>
</record>
<menuitem
name="GST Report"
parent="account.menu_finance_reports"
id="menu_account_gst_report"
icon="STOCK_PRINT"/>
<menuitem
name="GST5 Report"
parent="menu_account_gst_report"
action="action_wiz_gst5_report"
id="menu_action_wiz_gst5_report"
icon="STOCK_PRINT"/>
</flectra>

View File

@ -0,0 +1,65 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
import re
from flectra import models, fields, api, _
from flectra.exceptions import ValidationError
class WizGst7Report(models.TransientModel):
_name = 'wiz.gst7.report'
_description = 'GST7 Report'
company_id = fields.Many2one(
'res.company', string='Company', required=True,
default=lambda self: self.env.user.company_id)
date_from = fields.Date(string="From", required=True)
date_to = fields.Date(string="To", required=True)
answer1_yes = fields.Boolean(string='Yes', default=False)
answer1_no = fields.Boolean(string='No', default=True)
answer2_yes = fields.Boolean(string='Yes', default=False)
answer2_no = fields.Boolean(string='No', default=True)
answer3_yes = fields.Boolean(string='Yes', default=False)
answer3_no = fields.Boolean(string='No', default=True)
declaration_of_error = fields.Text(string="Declaration of Errors",
size=200)
@api.constrains('declaration_of_error')
def check_declaration_of_error(self):
if len(self.declaration_of_error) > 200:
raise ValidationError(
'Number of characters must on exceed 200')
def _check_value(self):
pattern = "^[a-z A-Z]*$"
for data in self:
if re.match(pattern, data.declaration_of_error):
return True
else:
return False
if len(self.declaration_of_error) > 200:
raise ValidationError(_(
'Number of characters must on exceed 200'))
return {}
_constraints = [
(_check_value, 'Please do not enter any symbol in this field".',
['declaration_of_error']),
]
@api.multi
def print_report(self):
self.ensure_one()
[data] = self.read()
data['taxes'] = self.env.context.get('active_ids', [])
account_taxes = self.env['account.tax'].browse(data['taxes'])
datas = {
'ids': [],
'model': 'account.tax',
'form': data
}
return self.env.ref(
'l10n_sg_gst.action_account_gst7_report_id').report_action(
account_taxes, data=datas)

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<record id="wiz_gst7_report_form" model="ir.ui.view">
<field name="name">wiz.gst7.report.form</field>
<field name="model">wiz.gst7.report</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="GST Report">
<sheet>
<group col="4" colspan="4">
<group col="4" colspan="4">
<field name="company_id" context="{'user_company':True}"/>
<separator string="Filter on Date" colspan="4"/>
<field name="date_from"/>
<field name="date_to"/>
</group>
<separator string="Declaration Of Errors" colspan="4"/>
<field name="declaration_of_error" required="1" placeholder="This is compulsory field, Please provide a brief description of the errors made. Please do not enter any symbol in this field or exceed the word limit of 200
characters. If you are consolidating the errors for more than one accounting period(up till one year), Please state so in this box,For example: *The error declared
aboved is for the period _______ to ________"/>
<group colspan="4" col="6">
<separator string="Did you make following claims in BOX 7 ?" colspan="4"/>
<newline/>
<label string="Did you claim for GST you had refunded to tourists?" colspan="1"/>
<field name="answer1_yes" colspan="1"
attrs="{'readonly':[('answer1_no','=',True)],'required':[('answer1_no','=',False)]}"/>
<field name="answer1_no" colspan="1"/>
<newline/>
<label string="Did you make any bad debt relief claims?" colspan="1"/>
<field name="answer2_yes" colspan="1"
attrs="{'readonly':[('answer2_no','=',True)],'required':[('answer2_no','=',False)]}"/>
<field name="answer2_no" colspan="1"/>
<newline/>
<label string="Did you make any pre-registration claims?" colspan="1"/>
<field name="answer3_yes" colspan="1"
attrs="{'readonly':[('answer3_no','=',True)],'required':[('answer3_no','=',False)]}"/>
<field name="answer3_no" colspan="1"/>
<newline/>
</group>
</group>
</sheet>
<footer>
<span groups="base.group_user">
<button name="print_report" string="Print" type="object" class="btn-primary"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</span>
</footer>
</form>
</field>
</record>
<record id="action_wiz_gst7_report" model="ir.actions.act_window">
<field name="name">GST7 Report</field>
<field name="res_model">wiz.gst7.report</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="wiz_gst7_report_form"/>
<field name="target">new</field>
</record>
<menuitem
name="GST7 Report"
parent="menu_account_gst_report"
action="action_wiz_gst7_report"
id="menu_action_wiz_gst7_report"
icon="STOCK_PRINT"/>
</flectra>

View File

@ -0,0 +1,27 @@
# Part of Flectra. See LICENSE file for full copyright and licensing
# details.
from flectra import models, fields, api
class WizGstAnalysis(models.TransientModel):
_name = 'wiz.gst.analysis'
_description = 'GST Analysis'
company_id = fields.Many2one(
'res.company', string='Company', required=True,
default=lambda self: self.env.user.company_id)
date_from = fields.Date(string="From", required=True)
date_to = fields.Date(string="To", required=True)
@api.multi
def print_report(self):
datas = {'ids': self.env.context.get('active_ids', [])}
res = self.read(
['company_id', 'date_from', 'date_to'])
res = res and res[0] or {}
datas['form'] = res
return self.env.ref(
'l10n_sg_gst.action_account_gst_analysis').report_action([],
data=datas)

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<flectra>
<record id="wiz_gst_analysis_form" model="ir.ui.view">
<field name="name">wiz.gst.analysis.form</field>
<field name="model">wiz.gst.analysis</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="GST Analysis">
<sheet>
<group col="4" colspan="4">
<field name="company_id" context="{'user_company':True}"/>
<separator string="Filter on Date" colspan="4"/>
<field name="date_from"/>
<field name="date_to"/>
</group>
</sheet>
<footer>
<span groups="base.group_user">
<button name="print_report" string="Print" type="object" class="btn-primary"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</span>
</footer>
</form>
</field>
</record>
<record id="action_wiz_gst_analysis" model="ir.actions.act_window">
<field name="name">GST Analysis</field>
<field name="res_model">wiz.gst.analysis</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="wiz_gst_analysis_form"/>
<field name="target">new</field>
</record>
<menuitem
name="GST Analysis"
parent="l10n_sg_gst.menu_account_gst_report"
action="action_wiz_gst_analysis"
id="menu_action_wiz_gst_analysis"
icon="STOCK_PRINT"/>
</flectra>