[MERGE] merged the branch with suff from noviat multilang COA

bzr revid: qdp-launchpad@openerp.com-20110506125234-7r3h46e1su3kufpq
This commit is contained in:
Quentin (OpenERP)
2011-05-06 14:52:34 +02:00
13 changed files with 4960 additions and 1199 deletions
+4
View File
@@ -51,12 +51,16 @@ Wizards provided by this module:
'init_xml': [],
'update_xml': [
'account_pcmn_belgium.xml',
'account_tax_code_template.xml',
'account_chart_template.xml',
'account_tax_template.xml',
'l10n_be_wizard.xml',
'wizard/l10n_be_account_vat_declaration_view.xml',
'wizard/l10n_be_vat_intra_view.xml',
'wizard/l10n_be_partner_vat_listing.xml',
'l10n_be_sequence.xml',
'fiscal_templates.xml',
'account_fiscal_position_tax_template.xml',
'security/ir.model.access.csv'
],
'demo_xml': [],
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data noupdate="0">
<!-- Chart template -->
<record id="l10nbe_chart_template" model="account.chart.template">
<field name="name">Belgian PCMN</field>
<field name="account_root_id" ref="a_root"/>
<field name="tax_code_root_id" ref="atctn_I"/>
<field name="bank_account_view_id" ref="a550"/>
<field name="property_account_receivable" ref="a_recv"/>
<field name="property_account_payable" ref="a_pay"/>
<field name="property_account_expense_categ" ref="a_expense"/>
<field name="property_account_income_categ" ref="a_sale"/>
</record>
</data>
</openerp>
@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data noupdate="0">
<!-- account.fiscal.position.tax.template -->
<record id="afpttn_intracom_1" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-OUT-00-S"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-EU-S"/>
</record>
<record id="afpttn_intracom_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-OUT-00-L"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-EU-L"/>
</record>
<record id="afpttn_intracom_3" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-OUT-06-S"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-EU-S"/>
</record>
<record id="afpttn_intracom_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-OUT-06-L"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-EU-L"/>
</record>
<record id="afpttn_intracom_5" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-OUT-12-S"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-EU-S"/>
</record>
<record id="afpttn_intracom_6" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-OUT-12-L"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-EU-L"/>
</record>
<record id="afpttn_intracom_7" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-OUT-21-S"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-EU-S"/>
</record>
<record id="afpttn_intracom_8" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-OUT-21-L"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-EU-L"/>
</record>
<record id="afpttn_intracom_9" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V81-00"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V81-00-EU"/>
</record>
<record id="afpttn_intracom_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V81-06"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V81-06-EU"/>
</record>
<record id="afpttn_intracom_11" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V81-12"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V81-12-EU"/>
</record>
<record id="afpttn_intracom_12" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V81-21"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V81-21-EU"/>
</record>
<record id="afpttn_intracom_13" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-00-S"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-00-EU-S"/>
</record>
<record id="afpttn_intracom_14" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-00-G"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-00-EU-G"/>
</record>
<record id="afpttn_intracom_15" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-06-S"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-06-EU-S"/>
</record>
<record id="afpttn_intracom_16" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-06-G"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-06-EU-G"/>
</record>
<record id="afpttn_intracom_17" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-12-S"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-12-EU-S"/>
</record>
<record id="afpttn_intracom_18" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-12-G"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-12-EU-G"/>
</record>
<record id="afpttn_intracom_19" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-21-S"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-21-EU-S"/>
</record>
<record id="afpttn_intracom_20" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-21-G"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-21-EU-G"/>
</record>
<record id="afpttn_intracom_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V83-00"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V83-00-EU"/>
</record>
<record id="afpttn_intracom_22" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V83-06"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V83-06-EU"/>
</record>
<record id="afpttn_intracom_23" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V83-12"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V83-12-EU"/>
</record>
<record id="afpttn_intracom_24" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3"/>
<field name="tax_src_id" ref="attn_VAT-IN-V83-21"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V83-21-EU"/>
</record>
<record id="afpttn_extracom_1" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-OUT-00-S"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-ROW"/>
</record>
<record id="afpttn_extracom_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-OUT-00-L"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-ROW"/>
</record>
<record id="afpttn_extracom_3" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-OUT-06-S"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-ROW"/>
</record>
<record id="afpttn_extracom_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-OUT-06-L"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-ROW"/>
</record>
<record id="afpttn_extracom_5" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-OUT-12-S"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-ROW"/>
</record>
<record id="afpttn_extracom_6" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-OUT-12-L"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-ROW"/>
</record>
<record id="afpttn_extracom_7" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-OUT-21-S"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-ROW"/>
</record>
<record id="afpttn_extracom_8" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-OUT-21-L"/>
<field name="tax_dest_id" ref="attn_VAT-OUT-00-ROW"/>
</record>
<record id="afpttn_extracom_9" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V81-06"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V81-06-ROW-CC"/>
</record>
<record id="afpttn_extracom_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V81-12"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V81-12-ROW-CC"/>
</record>
<record id="afpttn_extracom_11" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V81-21"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V81-21-ROW-CC"/>
</record>
<record id="afpttn_extracom_12" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-06-S"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-06-ROW-CC"/>
</record>
<record id="afpttn_extracom_13" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-06-G"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-06-ROW-CC"/>
</record>
<record id="afpttn_extracom_14" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-12-S"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-12-ROW-CC"/>
</record>
<record id="afpttn_extracom_15" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-12-G"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-12-ROW-CC"/>
</record>
<record id="afpttn_extracom_16" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-21-S"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-21-ROW-CC"/>
</record>
<record id="afpttn_extracom_17" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V82-21-G"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V82-21-ROW-CC"/>
</record>
<record id="afpttn_extracom_18" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V83-06"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V83-06-ROW-CC"/>
</record>
<record id="afpttn_extracom_19" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V83-12"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V83-12-ROW-CC"/>
</record>
<record id="afpttn_extracom_20" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2"/>
<field name="tax_src_id" ref="attn_VAT-IN-V83-21"/>
<field name="tax_dest_id" ref="attn_VAT-IN-V83-21-ROW-CC"/>
</record>
</data>
</openerp>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,399 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data noupdate="0">
<!-- account.tax.code.template -->
<record id="atctn_I" model="account.tax.code.template">
<field name="name">Plan de Taxes Belge</field>
<field name="code">I</field>
<field name="sign">0</field>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_II" model="account.tax.code.template">
<field name="name">Opérations à la sortie</field>
<field name="code">II</field>
<field name="sign">0</field>
<field name="parent_id" ref="atctn_I"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIA" model="account.tax.code.template">
<field name="name">Opérations soumises à un régime particulier</field>
<field name="code">II. A</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_II"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_00" model="account.tax.code.template">
<field name="name">Opérations soumises à un régime particulier</field>
<field name="code">00</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIA"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIB" model="account.tax.code.template">
<field name="name">TVA due par le déclarant</field>
<field name="code">II. B</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_II"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_01" model="account.tax.code.template">
<field name="name">Opérations avec TVA à 6%</field>
<field name="code">01</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIB"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_02" model="account.tax.code.template">
<field name="name">Opérations avec TVA à 12%</field>
<field name="code">02</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIB"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_03" model="account.tax.code.template">
<field name="name">Opérations avec TVA à 21%</field>
<field name="code">03</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIB"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIC" model="account.tax.code.template">
<field name="name">TVA étrangère due par le cocontractant</field>
<field name="code">II. C</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_II"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_44" model="account.tax.code.template">
<field name="name">Services intra-communautaires</field>
<field name="code">44</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIC"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IID" model="account.tax.code.template">
<field name="name">Opérations avec TVA due par le cocontractant</field>
<field name="code">II. D</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_II"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_45" model="account.tax.code.template">
<field name="name">Opérations avec TVA due par le cocontractant</field>
<field name="code">45</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IID"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIE" model="account.tax.code.template">
<field name="name">Livraisons intra-communautaire exemptées</field>
<field name="code">II. E</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_II"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_46" model="account.tax.code.template">
<field name="name">Livraisons intra-communautaire exemptées</field>
<field name="code">46</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIE"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_46L" model="account.tax.code.template">
<field name="name">Livraisons biens intra-communautaire exemptées</field>
<field name="code">46L</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_46"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_46T" model="account.tax.code.template">
<field name="name">ABC intra-communautaires</field>
<field name="code">46T</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_46"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIF" model="account.tax.code.template">
<field name="name">Autres opérations exemptées</field>
<field name="code">II. F</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_II"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_47" model="account.tax.code.template">
<field name="name">Autres opérations exemptées</field>
<field name="code">47</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIF"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIG" model="account.tax.code.template">
<field name="name">Notes de crédit délivrées et corrections négatives</field>
<field name="code">II. G</field>
<field name="sign">-1</field>
<field name="parent_id" ref="atctn_II"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_48" model="account.tax.code.template">
<field name="name">Notes de crédit aux opérations grilles [44] et [46]</field>
<field name="code">48</field>
<field name="sign">-1</field>
<field name="parent_id" ref="atctn_IIG"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_49" model="account.tax.code.template">
<field name="name">Notes de crédit aux opérations du point II</field>
<field name="code">49</field>
<field name="sign">-1</field>
<field name="parent_id" ref="atctn_IIG"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_III" model="account.tax.code.template">
<field name="name">Opérations a l'entrée</field>
<field name="code">III</field>
<field name="sign">0</field>
<field name="parent_id" ref="atctn_I"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIIA" model="account.tax.code.template">
<field name="name">Opérations à l'entrée y compris notes de crédit et corrections</field>
<field name="code">III. A</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_III"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_81" model="account.tax.code.template">
<field name="name">Marchandises, matières premières et auxiliaires</field>
<field name="code">81</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIIA"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_82" model="account.tax.code.template">
<field name="name">Services et biens divers</field>
<field name="code">82</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIIA"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_83" model="account.tax.code.template">
<field name="name">Biens d'investissement</field>
<field name="code">83</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIIA"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIIB" model="account.tax.code.template">
<field name="name">Notes de crédit reçues et corrections négatives</field>
<field name="code">III. B</field>
<field name="sign">0</field>
<field name="parent_id" ref="atctn_III"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_84" model="account.tax.code.template">
<field name="name">Notes de crédits sur opérations case [86] et [88]</field>
<field name="code">84</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIIB"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_85" model="account.tax.code.template">
<field name="name">Notes de crédits autres opérations</field>
<field name="code">85</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIIB"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIIC" model="account.tax.code.template">
<field name="name">Acquisition intra-communautaires et ventes ABC</field>
<field name="code">III. C</field>
<field name="sign">0</field>
<field name="parent_id" ref="atctn_III"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_86" model="account.tax.code.template">
<field name="name">Acquisition intra-communautaires et ventes ABC</field>
<field name="code">86</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIIC"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIID" model="account.tax.code.template">
<field name="name">Autres opérations à l'entrée avec TVA due par le déclarant</field>
<field name="code">III. D</field>
<field name="sign">0</field>
<field name="parent_id" ref="atctn_III"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_87" model="account.tax.code.template">
<field name="name">Autres opérations</field>
<field name="code">87</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIID"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IIIE" model="account.tax.code.template">
<field name="name">Services intracommunautaires avec report de perception</field>
<field name="code">III. E</field>
<field name="sign">0</field>
<field name="parent_id" ref="atctn_III"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_88" model="account.tax.code.template">
<field name="name">Acquisition services intra-communautaires</field>
<field name="code">88</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IIIE"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_VI" model="account.tax.code.template">
<field name="name">Solde (71-72)</field>
<field name="code">VI</field>
<field name="sign">0</field>
<field name="parent_id" ref="atctn_I"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_XX" model="account.tax.code.template">
<field name="name">A payer - Total</field>
<field name="code">XX</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_VI"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IVA" model="account.tax.code.template">
<field name="name">TVA aux opérations en grilles 01, 02, 03, 86 et 87</field>
<field name="code">IV. A</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_XX"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_54" model="account.tax.code.template">
<field name="name">TVA sur opérations des grilles [01], [02], [03]</field>
<field name="code">54</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IVA"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_55" model="account.tax.code.template">
<field name="name">TVA sur opérations des grilles [86] et [88]</field>
<field name="code">55</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IVA"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_56" model="account.tax.code.template">
<field name="name">TVA sur opérations de la grille [87]</field>
<field name="code">56</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IVA"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IVB" model="account.tax.code.template">
<field name="name">TVA relatives aux importations</field>
<field name="code">IV. B</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_XX"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_57" model="account.tax.code.template">
<field name="name">TVA relatives aux importations</field>
<field name="code">57</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IVB"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IVC" model="account.tax.code.template">
<field name="name">Diverses régularisations en faveur de l'Etat</field>
<field name="code">IV. C</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_XX"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_61" model="account.tax.code.template">
<field name="name">Diverses régularisations en faveur de l'Etat</field>
<field name="code">61</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IVC"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_IVD" model="account.tax.code.template">
<field name="name">TVA à reverser sur notes de crédit reçues</field>
<field name="code">IV. D</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_XX"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_63" model="account.tax.code.template">
<field name="name">TVA à reverser sur notes de crédit reçues</field>
<field name="code">63</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_IVD"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_YY" model="account.tax.code.template">
<field name="name">A déduire - Total</field>
<field name="code">YY</field>
<field name="sign">-1</field>
<field name="parent_id" ref="atctn_VI"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_VA" model="account.tax.code.template">
<field name="name">TVA déductible</field>
<field name="code">V. A</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_YY"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_59" model="account.tax.code.template">
<field name="name">TVA déductible</field>
<field name="code">59</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_VA"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_VB" model="account.tax.code.template">
<field name="name">Régularisations TVA en faveur du déclarant</field>
<field name="code">V. B</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_YY"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_62" model="account.tax.code.template">
<field name="name">Régularisations TVA en faveur du déclarant</field>
<field name="code">62</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_VB"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_VC" model="account.tax.code.template">
<field name="name">TVA à recuperer sur notes de crédit delivrées</field>
<field name="code">V. C</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_YY"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_64" model="account.tax.code.template">
<field name="name">TVA à recuperer sur notes de crédit delivrées</field>
<field name="code">64</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_VC"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_VII" model="account.tax.code.template">
<field name="name">Acompte</field>
<field name="code">VII</field>
<field name="sign">0</field>
<field name="parent_id" ref="atctn_I"/>
<field name="notprintable" eval="0"/>
</record>
<record id="atctn_91" model="account.tax.code.template">
<field name="name">TVA due pour la période du 1er au 20 décembre</field>
<field name="code">91</field>
<field name="sign">1</field>
<field name="parent_id" ref="atctn_VII"/>
<field name="notprintable" eval="0"/>
</record>
</data>
</openerp>
File diff suppressed because it is too large Load Diff
-118
View File
@@ -19,125 +19,7 @@
<field name="chart_template_id" ref="l10nbe_chart_template"/>
</record>
<!-- Fiscal Position Tax Templates -->
<record id="fiscal_position_tax_template_1" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_21" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
</record>
<record id="fiscal_position_tax_template_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_12" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
</record>
<record id="fiscal_position_tax_template_3" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_6" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
</record>
<record id="fiscal_position_tax_template_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_0" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
</record>
<record id="fiscal_position_tax_template_5" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_0_co" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
</record>
<record id="fiscal_position_tax_template_6" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_7" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_12_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_8" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_6_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_9" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_0_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_10_bis" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_ser" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_11" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_12_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_12" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_6_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_13" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_0_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
</record>
<record id="fiscal_position_tax_template_15" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
</record>
<record id="fiscal_position_tax_template_15b" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21_s" />
<field name="tax_dest_id" ref="l10n_be.vat_IO_S" />
</record>
<record id="fiscal_position_tax_template_16" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_12" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
</record>
<record id="fiscal_position_tax_template_17" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_6" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
</record>
<record id="fiscal_position_tax_template_18" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_0" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
</record>
<record id="fiscal_position_tax_template_19" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_0_co" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
</record>
<record id="fiscal_position_tax_template_20" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_IO_buy_21b" />
</record>
<record id="fiscal_position_tax_template_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_ser" />
<field name="tax_dest_id" ref="l10n_be.vat_IO_buy_21s" />
</record>
<record id="fiscal_position_tax_template_22" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_IO_buy_21m" />
</record>
<!-- Fiscal Position Account Templates -->
<record id="fiscal_position_account_template_1" model="account.fiscal.position.account.template">
+1 -1
View File
@@ -19,7 +19,7 @@
#
##############################################################################
import l10_be_partner_vat_listing
import l10n_be_partner_vat_listing
import l10n_be_vat_intra
import l10n_be_account_vat_declaration
@@ -3,6 +3,12 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# Adapted by Noviat to
# - enforce correct vat number
# - support negative balance
# - assign amount of tax code 71-72 correclty to grid 71 or 72
# - support Noviat tax code scheme
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -39,7 +45,7 @@ class l10n_be_vat_declaration(osv.osv_memory):
'tax_code_id': fields.many2one('account.tax.code', 'Tax Code', domain=[('parent_id', '=', False)]),
'msg': fields.text('File created', size=64, readonly=True),
'file_save': fields.binary('Save File'),
'ask_resitution': fields.boolean('Ask Restitution',help='It indicates whether a resitution is to made or not?'),
'ask_restitution': fields.boolean('Ask Restitution',help='It indicates whether a resitution is to made or not?'),
'ask_payment': fields.boolean('Ask Payment',help='It indicates whether a payment is to made or not?'),
'client_nihil': fields.boolean('Last Declaration of Enterprise',help='Tick this case only if it concerns only the last statement on the civil or cessation of activity'),
}
@@ -58,13 +64,13 @@ class l10n_be_vat_declaration(osv.osv_memory):
if context is None:
context = {}
list_of_tags = ['00','01','02','03','44','45','46','47','48','49','54','55','56','57','59','61','62','63','64','71','81','82','83','84','85','86','87','88','91']
list_of_tags = ['00','01','02','03','44','45','46','47','48','49','54','55','56','57','59','61','62','63','64','71','72','81','82','83','84','85','86','87','88','91']
data_tax = self.browse(cr, uid, ids[0])
if data_tax.tax_code_id:
obj_company = data_tax.tax_code_id.company_id
else:
obj_company = obj_user.browse(cr, uid, uid, context=context).company_id
vat_no = obj_company.partner_id.vat
vat_no = obj_company.partner_id.vat.replace(' ','').upper()
if not vat_no:
raise osv.except_osv(_('Data Insufficient'), _('No VAT Number Associated with Main Company!'))
@@ -94,19 +100,27 @@ class l10n_be_vat_declaration(osv.osv_memory):
data_of_file += '<QUARTER>'+quarter+'</QUARTER>\n\t\t\t'
else:
data_of_file += '<MONTH>'+starting_month+'</MONTH>\n\t\t\t'
data_of_file += '<YEAR>' + str(account_period.date_stop[:4]) + '</YEAR>\n\t\t</DPERIODE>\n\t\t<ASK RESTITUTION="NO" PAYMENT="NO"/>'
data_of_file += '<YEAR>' + str(account_period.date_stop[:4]) + '</YEAR>\n\t\t</DPERIODE>\n'
data_of_file += '\t\t<ASK RESTITUTION="' + (data['ask_restitution'] and 'YES' or 'NO') + '" PAYMENT="' + (data['ask_payment'] and 'YES' or 'NO') +'"/>'
data_of_file += '\n\t\t<ClientListingNihil>'+ (data['client_nihil'] and 'YES' or 'NO') +'</ClientListingNihil>'
data_of_file +='\n\t\t<DATA>\n\t\t\t<DATA_ELEM>'
cases_list = []
for item in tax_info:
if item['code'] == '91' and ending_month != 12:
#the tax code 91 can only be send for the declaration of December
continue
if item['code']:
if item['code'] == '71-72':
item['code']='71'
if item['code'] == 'VI':
if item['sum_period'] >= 0:
item['code'] = '71'
else:
item['code'] = '72'
if item['code'] in list_of_tags:
data_of_file +='\n\t\t\t\t<D'+str(int(item['code'])) +'>' + str(abs(int(round(item['sum_period']*100)))) + '</D'+str(int(item['code'])) +'>'
cases_list.append(item)
cases_list.sort()
for item in cases_list:
data_of_file +='\n\t\t\t\t<D'+str(int(item['code'])) +'>' + str(abs(int(round(item['sum_period']*100)))) + '</D'+str(int(item['code'])) +'>'
data_of_file += '\n\t\t\t</DATA_ELEM>\n\t\t</DATA>\n\t</VATRECORD>\n</VATSENDING>'
model_data_ids = mod_obj.search(cr, uid,[('model','=','ir.ui.view'),('name','=','view_vat_save')], context=context)
@@ -21,7 +21,7 @@
<newline/>
</group>
<group>
<field name="ask_resitution" colspan="1"/>
<field name="ask_restitution" colspan="1"/>
<field name="ask_payment" colspan="1"/>
<field name="client_nihil" string="Is Last Declaration" colspan="1" /><label/>
</group>
@@ -4,6 +4,11 @@
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# Corrections & modifications by Noviat nv/sa, (http://www.noviat.be):
# - VAT listing based upon year in stead of fiscal year
# - sql query adapted to select only 'tax-out' move lines
# - extra button to print readable PDF report
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
@@ -20,39 +25,12 @@
##############################################################################
import time
import base64
from tools.translate import _
import tools
from decimal import Decimal
from osv import fields, osv
class vat_listing_clients(osv.osv_memory):
_name = 'vat.listing.clients'
_columns = {
'name': fields.char('Client Name', size=64),
'vat': fields.char('VAT', size=64),
'country': fields.char('Country', size=64),
'amount': fields.float('Amount'),
'turnover': fields.float('Turnover'),
}
def name_get(self, cr, uid, ids, context=None):
if not len(ids):
return []
return [(r['id'], r['name'] or '' + ' - ' + r['vat'] or '') \
for r in self.read(cr, uid, ids, ['name', 'vat'],
context, load='_classic_write')]
def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
client = self.search(cr, uid, [('vat', '=', name)]+args, limit=limit, context=context)
if not client:
client = self.search(cr, uid, [('name', 'ilike', '%%%s%%' % name)]+args, limit=limit, context=context)
return self.name_get(cr, uid, client, context=context)
vat_listing_clients()
class partner_vat(osv.osv_memory):
class partner_vat_13(osv.osv_memory):
""" Vat Listing """
_name = "partner.vat"
_name = "partner.vat_13"
def get_partner(self, cursor, user, ids, context=None):
obj_period = self.pool.get('account.period')
@@ -60,8 +38,16 @@ class partner_vat(osv.osv_memory):
obj_vat_lclient = self.pool.get('vat.listing.clients')
obj_model_data = self.pool.get('ir.model.data')
data = self.read(cursor, user, ids)[0]
period = obj_period.search(cursor, user, [('fiscalyear_id', '=', data['fyear'][0])], context=context)
p_id_list = obj_partner.search(cursor, user, [('vat_subjected', '!=', False),('customer','=',True)], context=context)
#period = obj_period.search(cursor, user, [('fiscalyear_id', '=', data['fyear'])], context=context)
year = data['year']
date_start = year + '-01-01'
date_stop = year + '-12-31'
period = obj_period.search(cursor, user, [('date_start' ,'>=', date_start), ('date_stop','<=',date_stop)])
if not period:
raise osv.except_osv(_('Data Insufficient!'), _('No data for the selected Year.'))
#logger.notifyChannel('addons.'+self._name, netsvc.LOG_WARNING, 'period = %s' %period )
p_id_list = obj_partner.search(cursor, user, [('vat_subjected', '!=', False)], context=context)
if not p_id_list:
raise osv.except_osv(_('Data Insufficient!'), _('No partner has a VAT Number asociated with him.'))
partners = []
@@ -79,35 +65,35 @@ class partner_vat(osv.osv_memory):
break
if not go_ahead:
continue
cursor.execute('select b.code, sum(credit)-sum(debit) from account_move_line l left join account_account a on (l.account_id=a.id) left join account_account_type b on (a.user_type=b.id) where b.code IN %s and l.partner_id=%s and l.period_id IN %s group by b.code',(('produit', 'tax', 'income'),obj_partner.id,tuple(period),))
cursor.execute('select b.code, sum(credit)-sum(debit) from account_move_line l left join account_account a on (l.account_id=a.id) left join account_account_type b on (a.user_type=b.id) where b.code IN %s and l.partner_id=%s and l.period_id IN %s group by b.code',(('income','produit','tax'),obj_partner.id,tuple(period),))
line_info = cursor.fetchall()
if not line_info:
continue
record['vat'] = obj_partner.vat
record['vat'] = obj_partner.vat.replace(' ','').upper()
#it seems that this listing is only for belgian customers
record['country'] = 'BE'
record['amount'] = Decimal(str(0.0))
record['turnover'] = Decimal(str(0.0))
record['amount'] = 0
record['turnover'] = 0
record['name'] = obj_partner.name
for item in line_info:
if item[0] in ('produit','income'):
record['turnover'] += Decimal(str(item[1]))
if item[0] in ('income','produit'):
record['turnover'] += item[1]
else:
record['amount'] += Decimal(str(item[1]))
record['amount'] += item[1]
id_client = obj_vat_lclient.create(cursor, user, record, context=context)
partners.append(id_client)
records.append(record)
context.update({'partner_ids': partners, 'fyear': data['fyear'], 'limit_amount': data['limit_amount'], 'mand_id':data['mand_id']})
model_data_ids = obj_model_data.search(cursor, user, [('model','=','ir.ui.view'), ('name','=','view_vat_listing')])
context.update({'partner_ids': partners, 'year': data['year'], 'limit_amount': data['limit_amount']})
model_data_ids = obj_model_data.search(cursor, user, [('model','=','ir.ui.view'), ('name','=','view_vat_listing_13')])
resource_id = obj_model_data.read(cursor, user, model_data_ids, fields=['res_id'])[0]['res_id']
return {
'name': 'Vat Listing',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'partner.vat.list',
'res_model': 'partner.vat.list_13',
'views': [(resource_id,'form')],
'context': context,
'type': 'ir.actions.act_window',
@@ -115,17 +101,21 @@ class partner_vat(osv.osv_memory):
}
_columns = {
'fyear': fields.many2one('account.fiscalyear','Fiscal Year', required=True),
'mand_id': fields.char('MandataireId', size=14, required=True, help="This identifies the representative of the sending company. This is a string of 14 characters"),
'year': fields.char('Year', size=4, required=True),
'limit_amount': fields.integer('Limit Amount', required=True),
'test_xml': fields.boolean('Test XML file', help="Sets the XML output as test file"),
}
partner_vat()
_defaults={
'year': lambda *a: str(int(time.strftime('%Y'))-1),
'limit_amount': 250,
}
partner_vat_13()
class partner_vat_list(osv.osv_memory):
class partner_vat_list_13(osv.osv_memory):
""" Partner Vat Listing """
_name = "partner.vat.list"
_name = "partner.vat.list_13"
_columns = {
'partner_ids': fields.many2many('vat.listing.clients', 'vat_partner_rel', 'vat_id', 'partner_id', 'Clients', required=False, help='You can remove clients/partners which you do not want to show in xml file'),
'name': fields.char('File Name', size=32),
@@ -153,12 +143,15 @@ class partner_vat_list(osv.osv_memory):
seq_declarantnum = obj_sequence.get(cursor, user, 'declarantnum')
obj_cmpny = obj_users.browse(cursor, user, user, context=context).company_id
company_vat = obj_cmpny.partner_id.vat
if not company_vat:
raise osv.except_osv(_('Data Insufficient'),_('No VAT Number Associated with Main Company!'))
cref = company_vat + seq_controlref
dnum = cref[2:] + (seq_declarantnum or '')
obj_year= obj_fyear.browse(cursor, user, context['fyear'][0], context=context)
company_vat = company_vat.replace(' ','').upper()
SenderId = company_vat[2:]
cref = SenderId + seq_controlref
dnum = cref + seq_declarantnum
#obj_year= obj_fyear.browse(cursor, user, context['fyear'], context=context)
street = zip_city = country = ''
addr = obj_partner.address_get(cursor, user, [obj_cmpny.partner_id.id], ['invoice'])
if addr.get('invoice',False):
@@ -175,16 +168,14 @@ class partner_vat_list(osv.osv_memory):
country = ads.country_id.code
sender_date = time.strftime('%Y-%m-%d')
# comp_name = obj_cmpny.name
data_file = '<?xml version="1.0"?>\n<VatList xmlns="http://www.minfin.fgov.be/VatList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.minfin.fgov.be/VatList VatList.xml" RecipientId="VAT-ADMIN" SenderId="'+ str(company_vat) + '"'
data_file +=' ControlRef="'+ cref[2:] + '" MandataireId="'+ tools.ustr(context['mand_id']) + '" SenderDate="'+ str(sender_date)+ '"'
if ['test_xml']:
data_file += ' Test="0"'
comp_name = obj_cmpny.name
data_file = '<?xml version="1.0"?>\n<VatList xmlns="http://www.minfin.fgov.be/VatList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" RecipientId="VAT-ADMIN" SenderId="'+ SenderId + '"'
data_file +=' ControlRef="'+ cref + '" MandataireId="'+ cref + '" SenderDate="'+ str(sender_date)+ '"'
data_file += ' VersionTech="1.3">'
data_file += '\n<AgentRepr DecNumber="1">\n\t<CompanyInfo>\n\t\t<VATNum>'+str(company_vat)+'</VATNum>\n\t\t<Name>'+ tools.ustr(obj_cmpny.name) +'</Name>\n\t\t<Street>'+ tools.ustr(street) +'</Street>\n\t\t<CityAndZipCode>'+ tools.ustr(zip_city) +'</CityAndZipCode>'
data_file += '\n\t\t<Country>'+ tools.ustr(country) +'</Country>\n\t</CompanyInfo>\n</AgentRepr>'
data_comp = '\n<CompanyInfo>\n\t<VATNum>'+str(company_vat)+'</VATNum>\n\t<Name>'+ tools.ustr(obj_cmpny.name) +'</Name>\n\t<Street>'+ tools.ustr(street) +'</Street>\n\t<CityAndZipCode>'+ tools.ustr(zip_city) +'</CityAndZipCode>\n\t<Country>'+ tools.ustr(country) +'</Country>\n</CompanyInfo>'
data_period = '\n<Period>'+ tools.ustr(obj_year.date_stop[:4]) +'</Period>'
data_file += '\n<AgentRepr DecNumber="1">\n\t<CompanyInfo>\n\t\t<VATNum>'+str(company_vat)+'</VATNum>\n\t\t<Name>'+ comp_name +'</Name>\n\t\t<Street>'+ street +'</Street>\n\t\t<CityAndZipCode>'+ zip_city +'</CityAndZipCode>'
data_file += '\n\t\t<Country>'+ country +'</Country>\n\t</CompanyInfo>\n</AgentRepr>'
data_comp = '\n<CompanyInfo>\n\t<VATNum>'+SenderId+'</VATNum>\n\t<Name>'+ comp_name +'</Name>\n\t<Street>'+ street +'</Street>\n\t<CityAndZipCode>'+ zip_city +'</CityAndZipCode>\n\t<Country>'+ country +'</Country>\n</CompanyInfo>'
data_period = '\n<Period>' + context['year'] +'</Period>'
error_message = []
data = self.read(cursor, user, ids)[0]
for partner in data['partner_ids']:
@@ -195,27 +186,51 @@ class partner_vat_list(osv.osv_memory):
datas.append(client_data)
seq = 0
data_clientinfo = ''
sum_tax = Decimal(str(0.00))
sum_turnover=Decimal(str(0.00))
sum_tax = 0.00
sum_turnover = 0.00
if len(error_message):
return 'Exception : \n' +'-'*50+'\n'+ '\n'.join(error_message)
for line in datas:
if not line:
continue
if Decimal(str(line['turnover'])) < Decimal(str(context['limit_amount'])):
if line['turnover'] < context['limit_amount']:
continue
seq += 1
sum_tax +=Decimal(str(line['amount']))
sum_turnover +=Decimal(str(line['turnover']))
data_clientinfo += '\n<ClientList SequenceNum="'+str(seq)+'">\n\t<CompanyInfo>\n\t\t<VATNum>'+ (line['vat'] or '')[2:] +'</VATNum>\n\t\t<Country>' + tools.ustr(line['country']) +'</Country>\n\t</CompanyInfo>\n\t<Amount>'+ str(int(Decimal(str(line['amount'] * 100)))) +'</Amount>\n\t<TurnOver>'+ str(int(Decimal(str(line['turnover'] * 100)))) +'</TurnOver>\n</ClientList>'
sum_tax += line['amount']
sum_turnover += line['turnover']
data_clientinfo += '\n<ClientList SequenceNum="'+str(seq)+'">\n\t<CompanyInfo>\n\t\t<VATNum>'+line['vat'].replace(' ','').upper()[2:] +'</VATNum>\n\t\t<Country>' + line['country'] +'</Country>\n\t</CompanyInfo>\n\t<Amount>'+str(int(round(line['amount'] * 100))) +'</Amount>\n\t<TurnOver>'+str(int(round(line['turnover'] * 100))) +'</TurnOver>\n</ClientList>'
data_decl ='\n<DeclarantList SequenceNum="1" DeclarantNum="'+ dnum + '" ClientNbr="'+ str(seq) +'" TurnOverSum="'+ str(int(Decimal(str(sum_turnover * 100)))) +'" TaxSum="'+ str(int(Decimal(str(sum_tax * 100)))) +'">'
data_file += tools.ustr(data_decl) + tools.ustr(data_comp) + tools.ustr(data_period) + tools.ustr(data_clientinfo) + '\n</DeclarantList></VatList>'
data_decl ='\n<DeclarantList SequenceNum="1" DeclarantNum="'+ dnum + '" ClientNbr="'+ str(seq) +'" TurnOverSum="'+ str(int(round(sum_turnover * 100))) +'" TaxSum="'+ str(int(round(sum_tax * 100))) +'">'
data_file += data_decl + data_comp + str(data_period) + data_clientinfo + '\n</DeclarantList>\n</VatList>'
msg = 'Save the File with '".xml"' extension.'
file_save = base64.encodestring(data_file.encode('utf8'))
self.write(cursor, user, ids, {'file_save':file_save, 'msg':msg, 'name':'vat_list.xml'}, context=context)
return True
def print_vatlist(self, cursor, user, ids, context=None):
if context is None:
context = {}
obj_vat_lclient = self.pool.get('vat.listing.clients')
client_datas = []
data = self.read(cursor, user, ids)[0]
for partner in data['partner_ids']:
if isinstance(partner, list) and partner:
client_datas.append(partner[2])
else:
client_data = obj_vat_lclient.read(cursor, user, partner, context=context)
client_datas.append(client_data)
datas = {'ids': []}
datas['model'] = 'res.company'
datas['year'] = context['year']
datas['limit_amount'] = context['limit_amount']
datas['client_datas'] = client_datas
return {
'type': 'ir.actions.report.xml',
'report_name': 'partner.vat.listing.print',
'datas': datas,
}
partner_vat_list()
partner_vat_list_13()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -1,110 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<menuitem
id="menu_finance_belgian_statement"
name="Belgium Statements"
parent="account.menu_finance_legal_statement"/>
<record id="view_partner_vat_listing_13" model="ir.ui.view">
<field name="name">Partner VAT Listing</field>
<field name="model">partner.vat_13</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Partner VAT Listing">
<label string="This wizard will create an XML file for VAT details and total invoiced amounts per partner." colspan="4"/>
<newline/>
<field name="year"/>
<newline/>
<field name="limit_amount"/>
<separator colspan="4"/>
<group colspan="4">
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button colspan="1" name="get_partner" string="View Customers" type="object" icon="terp-partner"/>
</group>
</form>
</field>
</record>
<record id="view_partner_vat_listing" model="ir.ui.view">
<field name="name">Partner VAT Listing</field>
<field name="model">partner.vat</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Partner VAT Listing">
<label string="This wizard will create an XML file for Vat details and total invoiced amounts per partner." colspan="4"/>
<newline/>
<field name="fyear" default_focus="1" widget="selection"/>
<newline/>
<field name="mand_id"/>
<newline/>
<field name="limit_amount"/>
<newline/>
<field name="test_xml"/>
<separator colspan="4"/>
<group colspan="4" >
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button colspan="1" name="get_partner" string="View Client" type="object" icon="terp-partner"/>
</group>
</form>
</field>
</record>
<record id="action_partner_vat_listing_13" model="ir.actions.act_window">
<field name="name">Partner VAT Listing</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">partner.vat_13</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_partner_vat_listing_13"/>
<field name="target">new</field>
</record>
<record id="action_partner_vat_listing" model="ir.actions.act_window">
<field name="name">Partner VAT Listing</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">partner.vat</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_partner_vat_listing"/>
<field name="target">new</field>
</record>
<menuitem
name="Annual Listing Of VAT-Subjected Customers"
parent="menu_finance_belgian_statement"
action="action_partner_vat_listing"
id="partner_vat_listing"/>
<record id="view_vat_listing" model="ir.ui.view">
<field name="name">Vat Listing</field>
<field name="model">partner.vat.list</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Select Fiscal Year" >
<label string="You can remove clients/partners which you do not want in exported xml file" colspan="4"/>
<separator string="Clients" colspan="4"/>
<field name="partner_ids" colspan="4" nolabel="1" default_focus="1"/>
<separator colspan="4"/>
<group colspan="4" >
<button colspan="1" name="create_xml" string="Create XML" type="object" icon="gtk-execute"/>
</group>
<separator string="XML File has been Created." colspan="4"/>
<field name="msg" colspan="4" nolabel="1"/>
<field name="name"/>
<newline/>
<field name="file_save" />
<separator colspan="4"/>
<button special="cancel" string="Close" icon="gtk-cancel"/>
</form>
</field>
</record>
<!-- osv_memory for vat listing of clients -->
<record id="view_vat_listing_form" model="ir.ui.view">
<field name="name">step.vat.listing</field>
<field name="model">vat.listing.clients</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="VAT listing">
<field name="name"/>
<field name="vat"/>
<newline/>
<field name="country"/>
<newline/>
<field name="amount"/>
<field name="turnover"/>
</form>
</field>
</record>
<record id="view_vat_listing_tree" model="ir.ui.view">
<field name="name">step.vat.listing</field>
<field name="model">vat.listing.clients</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="VAT listing">
<field name="name"/>
<field name="vat"/>
<newline/>
<field name="country"/>
<newline/>
<field name="amount"/>
<field name="turnover"/>
</tree>
</field>
</record>
<menuitem name="Annual Listing Of VAT-Subjected Customers" parent="l10n_be.menu_finance_belgian_statement" action="action_partner_vat_listing_13" id="l10n_be.partner_vat_listing"/>
<record id="view_vat_listing_13" model="ir.ui.view">
<field name="name">Vat Listing</field>
<field name="model">partner.vat.list_13</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Select Fiscal Year">
<label string="You can remove customers which you do not want in exported xml file" colspan="4"/>
<separator string="Customers" colspan="4"/>
<field name="partner_ids" colspan="4" nolabel="1" default_focus="1" height="200" width="500"/>
<separator colspan="4"/>
<group colspan="4">
<button colspan="2" name="create_xml" string="Create XML" type="object" icon="gtk-execute"/>
<button colspan="2" name="print_vatlist" string="Print" type="object" icon="gtk-print"/>
</group>
<separator string="XML File has been Created." colspan="4"/>
<field name="msg" colspan="4" nolabel="1"/>
<field name="name"/>
<newline/>
<field name="file_save"/>
<separator colspan="4"/>
<button special="cancel" string="Close" icon="gtk-cancel"/>
</form>
</field>
</record>
</data>
</openerp>
+7 -5
View File
@@ -83,7 +83,7 @@ class partner_vat_intra(osv.osv_memory):
else:
data_cmpny = obj_user.browse(cursor, user, user).company_id
data = self.read(cursor, user, ids)[0]
company_vat = data_cmpny.partner_id.vat
company_vat = data_cmpny.partner_id.vat.replace(' ','').upper()
if not company_vat:
raise osv.except_osv(_('Data Insufficient'),_('No VAT Number Associated with Main Company!'))
@@ -123,13 +123,14 @@ class partner_vat_intra(osv.osv_memory):
if not data['period_ids']:
raise osv.except_osv(_('Data Insufficient!'),_('Please select at least one Period.'))
codes = ('44', '46L', '46T')
cursor.execute('''SELECT p.name As partner_name, l.partner_id AS partner_id, p.vat AS vat, t.code AS intra_code, SUM(l.tax_amount) AS amount
FROM account_move_line l
LEFT JOIN account_tax_code t ON (l.tax_code_id = t.id)
LEFT JOIN res_partner p ON (l.partner_id = p.id)
WHERE t.code IN ('44a','44b','88')
WHERE t.code IN %s
AND l.period_id IN %s
GROUP BY p.name, l.partner_id, p.vat, t.code''', (tuple(data['period_ids']), ))
GROUP BY p.name, l.partner_id, p.vat, t.code''', (codes, tuple(data['period_ids'])))
for row in cursor.dictfetchall():
if not row['vat']:
p_list += str(row['partner_name']) + ', '
@@ -138,8 +139,9 @@ class partner_vat_intra(osv.osv_memory):
amt = row['amount'] or 0
amt = int(round(amt * 100))
amount_sum += amt
intra_code = row['intra_code'] == '88' and 'L' or (row['intra_code'] == '44b' and 'T' or (row['intra_code'] == '44a' and 'S' or ''))
data_clientinfo +='\n\t\t<ClientList SequenceNum="'+str(seq)+'">\n\t\t\t<CompanyInfo>\n\t\t\t\t<VATNum>'+row['vat'][2:] +'</VATNum>\n\t\t\t\t<Country>'+row['vat'][:2] +'</Country>\n\t\t\t</CompanyInfo>\n\t\t\t<Amount>'+str(amt) +'</Amount>\n\t\t\t<Code>'+str(intra_code) +'</Code>\n\t\t</ClientList>'
intra_code = row['intra_code'] == '44' and 'S' or (row['intra_code'] == '46L' and 'L' or (row['intra_code'] == '46T' and 'T' or ''))
# intra_code = row['intra_code'] == '88' and 'L' or (row['intra_code'] == '44b' and 'T' or (row['intra_code'] == '44a' and 'S' or ''))
data_clientinfo +='\n\t\t<ClientList SequenceNum="'+str(seq)+'">\n\t\t\t<CompanyInfo>\n\t\t\t\t<VATNum>'+row['vat'][2:].replace(' ','').upper() +'</VATNum>\n\t\t\t\t<Country>'+row['vat'][:2] +'</Country>\n\t\t\t</CompanyInfo>\n\t\t\t<Amount>'+str(amt) +'</Amount>\n\t\t\t<Code>'+str(intra_code) +'</Code>\n\t\t</ClientList>'
amount_sum = int(amount_sum)
data_decl = '\n\t<DeclarantList SequenceNum="1" DeclarantNum="'+ dnum + '" ClientNbr="'+ str(seq) +'" AmountSum="'+ str(amount_sum) +'" >'
data_file += data_decl + data_comp + str(data_period) + data_clientinfo + '\n\t</DeclarantList>\n</VatIntra>'