##############################################################################
{
- "name" : "Switzerland localization with 2011 taxes Beta 1",
+ "name" : "Switzerland - localization with 2011 taxes",
"description" : """
Swiss localisation :
- DTA generation for a lot of payment types
<openerp>
<data noupdate="1">
+
+ <record model="res.bank" id="main_bank">
+ <field name="name">Main Partner Bank</field>
+ <field name="clearing">234567</field>
+ </record>
+
+ <record model="res.partner.bank" id="main_partner_bank">
+ <field name="name">OpenERP BVR Account</field>
+ <field name="acc_number">11-1234-1</field>
+ <field name="partner_id" ref="base.main_partner"/>
+ <field name="state">bvrbank</field>
+ <field name="post_number">11-1234-1</field>
+ <field name="bank" ref="main_bank"/>
+ <field name="iban">CH9100767000S00023455</field>
+ <field name="bvr_adherent_num">0000000</field>
+
+
+ </record>
<record id="bank" model="res.partner">
<field name="comment">My bank !</field>
<field name="name">Banque</field>
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
</record>
+
<record id="res_partner_address_bank1" model="res.partner.address">
<field name="fax">+41 31 622 13 00</field>
<field name="name">Marc Dufour</field>
<?xml version="1.0"?>
<openerp>
<data>
+ <!-- Transform into YAML for testing -->
<record model="res.bank" id="partner_bank">
<field name="name">Fortis s.a.</field>
<field name="clearing">123456</field>
<field name="acc_number">123456</field>
<field name="partner_id" ref="base.res_partner_agrolait"/>
<field name="state">bvrbank</field>
- <field name="bvr_number">234567</field>
+ <field name="post_number">234567</field>
<field name="bank" ref="partner_bank"/>
<field name="iban">CH9100767000S00023455</field>
</record>
<field name="readonly" eval="False"/>
</record>
<record model="res.partner.bank.type.field" id="bvr_num_field_bvrbank">
- <field name="name">bvr_number</field>
+ <field name="name">post_number</field>
<field name="bank_type_id" ref="bvrbank"/>
<field name="required" eval="True"/>
<field name="readonly" eval="False"/>
<field name="readonly" eval="False"/>
</record>
<record model="res.partner.bank.type.field" id="bvr_num_field_bvrpost">
- <field name="name">bvr_number</field>
+ <field name="name">post_number</field>
<field name="bank_type_id" ref="bvrpost"/>
<field name="required" eval="True"/>
<field name="readonly" eval="False"/>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<newline/>
- <field name="bvr_number"/>
<field name="bvr_adherent_num"/>
<field name="post_number"/>
<field name="dta_code"/>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<newline/>
- <field name="bvr_number"/>
<field name="bvr_adherent_num"/>
<field name="post_number"/>
<field name="dta_code"/>
_columns = {
'name': fields.char('Description', size=128, required=True),
'post_number': fields.char('Post number', size=64),
- 'bvr_number': fields.char('BVR account number', size=11),
'bvr_adherent_num': fields.char('BVR adherent number', size=11),
'dta_code': fields.char('DTA code', size=5),
}
<table name="bvrframe" id="${inv.id}" style="width:210mm;height:106mm;border-collapse:collapse;padding-left:3mm;font-family:Helvetica;font-size:8pt;border-width:0px" border="0" CELLPADDING="0" CELLSPACING="0"> <!--border-width:1px;border-style:solid;border-color:black;-->
<tr style="height:16.933333mm;vertical-align:bottom;padding-bottom:3mm"><td style="width:60.14mm;padding-bottom:3mm"><div style="padding-left:3mm;">${inv.partner_bank_id and inv.partner_bank_id.print_bank and inv.partner_bank_id.bank and inv.partner_bank_id.bank.name or ''}</div></td><td style="width:60.96mm;padding-bottom:3mm"><div style="padding-left:3mm;">${inv.partner_bank_id and inv.partner_bank_id.print_bank and inv.partner_bank_id.bank and inv.partner_bank_id.bank.name or ''}</div></td><td style="width:88.9mm"></td></tr>
<tr style="height:12.7mm;vertical-align:bottom;padding-bottom:3mm"><td style="width:60.14mm;padding-bottom:3mm"><div style="padding-left:3mm;"><b>${user.company_id.partner_id.name}</b></div></td><td style="width:60.96mm;padding-bottom:3mm"><div style="padding-left:3mm;"><b>${user.company_id.partner_id.name}</b></div></td><td style="width:88.9mm"></td></tr>
- <tr style="height:16.933333mm;vertical-align:bottom;padding-bottom:0"><td><table style="padding-left:3mm;font-family:Helvetica;font-size:8pt" height="100%"><tr style="vertical-align:top;padding-bottom:0"><td>${user.company_id.partner_id.address[0].street}<br/> ${user.company_id.partner_id.address[0].zip} ${user.company_id.partner_id.address[0].city}</td></tr><tr style="vertical-align:bottom;padding-bottom:0"><td><div style="padding-left:30.48mm;">${inv.partner_bank_id.print_account and inv.partner_bank_id.bvr_number or ''}</div></td></tr></table></td><td style="padding-left:3mm"><table style="padding-left:3mm;font-family:Helvetica;font-size:8pt" height="100%"><tr style="vertical-align:top;padding-bottom:0"><td>${user.company_id.partner_id.address[0].street}<br/>${user.company_id.partner_id.address[0].zip} ${user.company_id.partner_id.address[0].city}</td></tr><tr style="vertical-align:bottom;padding-bottom:0"><td><div style="padding-left:30.48mm;">${inv.partner_bank_id.print_account and inv.partner_bank_id.bvr_number or ''}</div></td></tr></table></td><td style="text-align: right;padding-right:4mm;padding-bottom:8mm;font-size:11pt">${_space(_get_ref(inv))}</td></tr>
+ <tr style="height:16.933333mm;vertical-align:bottom;padding-bottom:0"><td><table style="padding-left:3mm;font-family:Helvetica;font-size:8pt" height="100%"><tr style="vertical-align:top;padding-bottom:0"><td>${user.company_id.partner_id.address[0].street}<br/> ${user.company_id.partner_id.address[0].zip} ${user.company_id.partner_id.address[0].city}</td></tr><tr style="vertical-align:bottom;padding-bottom:0"><td><div style="padding-left:30.48mm;">${inv.partner_bank_id.print_account and inv.partner_bank_id.post_number or ''}</div></td></tr></table></td><td style="padding-left:3mm"><table style="padding-left:3mm;font-family:Helvetica;font-size:8pt" height="100%"><tr style="vertical-align:top;padding-bottom:0"><td>${user.company_id.partner_id.address[0].street}<br/>${user.company_id.partner_id.address[0].zip} ${user.company_id.partner_id.address[0].city}</td></tr><tr style="vertical-align:bottom;padding-bottom:0"><td><div style="padding-left:30.48mm;">${inv.partner_bank_id.print_account and inv.partner_bank_id.post_number or ''}</div></td></tr></table></td><td style="text-align: right;padding-right:4mm;padding-bottom:8mm;font-size:11pt">${_space(_get_ref(inv))}</td></tr>
<tr style="height:8.4666667mm;vertical-align:bottom;padding-bottom:0"> <td><table style="width:100%" CELLPADDING="0" CELLSPACING="0"><td style="width:4mm"></td><td style="width:40mm;text-align: right" >${_space(('%.2f' % inv.amount_total)[:-3], 1)}</td><td style="width:6mm"></td><td style="width:10mm;text-align: right">${ _space(('%.2f' % inv.amount_total)[-2:], 1)}</td><td style="width:3mm;text-align: right"></td></table></td><td><table style="width:100%" CELLPADDING="0" CELLSPACING="0"><td style="width:4mm"></td><td style="width:40mm;text-align: right" >${_space(('%.2f' % inv.amount_total)[:-3], 1)}</td><td style="width:6mm"></td><td style="width:10mm;text-align: right">${ _space(('%.2f' % inv.amount_total)[-2:], 1)}</td><td style="width:3mm;text-align: right"></td></table></td><td></td></tr>
<tr style="height:21.166667mm"><td></td><td></td><td></td></tr>
<tr style="height:8.4666667mm"> <td></td><td></td><td></td></tr>
- <tr style="height:21.166667mm;vertical-align:top"><td></td><td colspan="2" style="text-align:right;padding-right:0.3in;font-family:bvrocrb;font-size:12pt">${mod10r('01'+str('%.2f' % inv.amount_total).replace('.','').rjust(10,'0'))}>${_get_ref(inv)}+${inv.partner_bank_id.bvr_number.split('-')[0]+(str(inv.partner_bank_id.bvr_number.split('-')[1])).rjust(6,'0')+inv.partner_bank_id.bvr_number.split('-')[2]}></td></tr>
+ <tr style="height:21.166667mm;vertical-align:top"><td></td><td colspan="2" style="text-align:right;padding-right:0.3in;font-family:bvrocrb;font-size:12pt">${mod10r('01'+str('%.2f' % inv.amount_total).replace('.','').rjust(10,'0'))}>${_get_ref(inv)}+${inv.partner_bank_id.post_number.split('-')[0]+(str(inv.partner_bank_id.post_number.split('-')[1])).rjust(6,'0')+inv.partner_bank_id.post_number.split('-')[2]}></td></tr>
</table>
%endfor
</body>
invoice_obj.name_get(cursor, self.uid, [invoice.id],
context={})[0][1]))
if not self._compile_check_bvr.match(
- invoice.partner_bank_id.bvr_number or ''):
+ invoice.partner_bank_id.post_number or ''):
raise wizard.except_wizard(_('UserError'),
_("Your bank BVR number should be of the form 0X-XXX-X! " +
'Please check your company ' +
-
- Creating a res.partner.bank record
--
- !record {model: res.partner.bank, id: res_partner_bank_account0}:
- acc_number: 001-1001-1291-12323
- bank: base.res_bank_1
- bvr_number: 01-101-12
- name: Argolait Main Account
- partner_id: base.res_partner_agrolait
- sequence: 0.0
- state: bvbank
--
In order to test the BVR report, I will assign a bank to the invoice
-
!record {model: account.invoice, id: account.test_invoice_1}:
- partner_bank_id: res_partner_bank_account0
+ partner_bank_id: main_partner_bank
-
In order to test the PDF reports defined on a l10n_ch, we will print BVR Report
-
v['partner_post_number']= pline.bank_id.post_number \
and pline.bank_id.post_number.replace('.', '').replace('-', '') \
or False
- v['partner_bvr'] = pline.bank_id.bvr_number or ''
+ v['partner_bvr'] = pline.bank_id.post_number or ''
if v['partner_bvr']:
v['partner_bvr'] = v['partner_bvr'].replace('-','')
if len(v['partner_bvr']) < 9: