[IMP] l10n_ch new version with 2011 taxes and with fixes disscussed with qdp adding files
bzr revid: nicolas.bessi@camptocamp.com-20110114124237-zdxcprpcrolfphs3
This commit is contained in:
parent
315242ab0c
commit
aa49d94fe8
|
@ -0,0 +1,43 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Author: Nicolas Bessi. Copyright Camptocamp SA
|
||||
# Donors: Hasa Sàrl, Open Net Sàrl and Prisme Solutions Informatique SA
|
||||
#
|
||||
# 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
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import tools
|
||||
from osv import osv
|
||||
import addons
|
||||
|
||||
class WizardMultiChartsAccounts(osv.osv_memory):
|
||||
|
||||
_inherit ='wizard.multi.charts.accounts'
|
||||
_defaults = {
|
||||
'bank_accounts_id': False,
|
||||
'code_digits': 0,
|
||||
'sale_tax': False,
|
||||
'purchase_tax':False
|
||||
}
|
||||
|
||||
def execute(self, cr, uid, ids, context=None):
|
||||
"""Override of code in order to be able to link journal with account in XML"""
|
||||
res = super(WizardMultiChartsAccounts, self).execute(cr, uid, ids, context)
|
||||
path = addons.get_module_resource('l10n_ch/sterchi_chart/account_journal_rel.xml')
|
||||
tools.convert_xml_import(cr, 'l10n_ch', path, idref=None, mode='init', noupdate=True, report=None)
|
||||
return res
|
||||
|
||||
WizardMultiChartsAccounts()
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="bank" model="res.partner">
|
||||
<field name="comment">My bank !</field>
|
||||
<field name="ref">banq</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>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="bank"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="email">openerp@bank.com</field>
|
||||
<field name="phone">+41 24 620 10 12</field>
|
||||
<field name="street">PSE-C</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
|
||||
<record id="prolibre" model="res.partner">
|
||||
<field name="comment">Very good company!
|
||||
They provides a very high quality service.</field>
|
||||
<field name="ref">ProL</field>
|
||||
<field name="website">http://camptocamp.com</field>
|
||||
<field name="name">ProLibre</field>
|
||||
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
|
||||
</record>
|
||||
|
||||
<record id="camptocamp" model="res.partner">
|
||||
<field name="comment">Very good company!
|
||||
They provides a very high quality service.</field>
|
||||
<field name="ref">c2c</field>
|
||||
<field name="website">http://camptocamp.com</field>
|
||||
<field name="name">camptocamp SA</field>
|
||||
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
|
||||
</record>
|
||||
<!--
|
||||
Resource: res.partner.address
|
||||
-->
|
||||
|
||||
<record id="res_partner_address_1" model="res.partner.address">
|
||||
<field name="fax">+41 21 619 10 00</field>
|
||||
<field name="name">Luc Maurer</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="camptocamp"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="email">openerp@camptocamp.com</field>
|
||||
<field name="phone">+41 21 619 10 12</field>
|
||||
<field name="street">PSE-A, EPFL</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
<record id="res_partner_address_2" model="res.partner.address">
|
||||
<field name="name">Ferdinand Gassauer</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="prolibre"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="email">info@camptocamp.com</field>
|
||||
<field name="phone">+41 21 619 10 11</field>
|
||||
<field name="street">18, rue des Moraines </field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
<record id="res_partner_address_3" model="res.partner.address">
|
||||
<field name="fax">+41 21 619 10 00</field>
|
||||
<field name="name">Claude Philipona</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="camptocamp"/>
|
||||
<field name="country_id" model="res.country" search="[('name','=','Switzerland')]"/>
|
||||
<field name="email">openerp@camptocamp.com</field>
|
||||
<field name="phone">+41 21 619 10 12 </field>
|
||||
<field name="street">PSE-A, EPFL</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,71 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="expenses_journal" model="account.journal">
|
||||
<field name="name">Journal de frais</field>
|
||||
<field name="code">EXPF</field>
|
||||
<field name="type">purchase</field>
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_journal"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="update_posted" eval="True" />
|
||||
<field name="entry_posted" eval="True" />
|
||||
</record>
|
||||
|
||||
<record id="bank_journal" model="account.journal">
|
||||
<field name="name">Banque CHF</field>
|
||||
<field name="code">BCHF</field>
|
||||
<field name="type">cash</field>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_journal"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="update_posted" eval="True" />
|
||||
<field name="entry_posted" eval="True" />
|
||||
</record>
|
||||
|
||||
<record id="bank_euro_journal" model="account.journal">
|
||||
<field name="name">Banque EUR</field>
|
||||
<field name="code">BEUR</field>
|
||||
<field name="type">cash</field>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_journal"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="update_posted" eval="True" />
|
||||
<field name="entry_posted" eval="True" />
|
||||
<field name="currency" model="res.currency" search="[('name','=','EUR')]" />
|
||||
</record>
|
||||
|
||||
<record id="petty_cash_journal" model="account.journal">
|
||||
<field name="name">Caisse</field>
|
||||
<field name="code">CAI</field>
|
||||
<field name="type">cash</field>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_journal"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="update_posted" eval="True" />
|
||||
<field name="entry_posted" eval="True" />
|
||||
</record>
|
||||
|
||||
<record id="misc_transaction_journal" model="account.journal">
|
||||
<field name="name">Opérations Diverses</field>
|
||||
<field name="code">OD</field>
|
||||
<field name="type">general</field>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_journal"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="update_posted" eval="True" />
|
||||
<field name="entry_posted" eval="True" />
|
||||
</record>
|
||||
|
||||
<record model="account.journal" id="bilan_journal">
|
||||
<field name="name">Journal d'ouverture</field>
|
||||
<field name="code">JO</field>
|
||||
<field name="type">situation</field>
|
||||
<field name="centralisation">True</field>
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_journal"/>
|
||||
<field name="update_posted" eval="True" />
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
Binary file not shown.
After Width: | Height: | Size: 82 KiB |
|
@ -0,0 +1,110 @@
|
|||
<html>
|
||||
<head>
|
||||
<style type="text/css">
|
||||
@font-face {
|
||||
font-family: "bvrocrb";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
src: url(${police_absolute_path('ocrbb.ttf')}) format("truetype");
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body topmargin="0px">
|
||||
<script type="text/javascript">
|
||||
function sortfunction(a, b){
|
||||
return (a.offsetTop - b.offsetTop) ;
|
||||
}
|
||||
function place_element2() {
|
||||
//This script was done to be inserted in any document mono or multi page some rounding problem may appear on mor than 10 page long report
|
||||
try{
|
||||
//height of bvr in mm
|
||||
var xpos = 105 + ${company.bvr_delta_horz or '0'};
|
||||
//height of A4 page in bvr
|
||||
var a4height = 297 ;
|
||||
//should be insert a page
|
||||
var insert_page = false; //will insert a blank page if true
|
||||
// should we insert bvr background
|
||||
var insert_bvrimg = ${str(company.bvr_background).lower()};
|
||||
//horiz decalage
|
||||
var vert_decalage = ${company.bvr_delta_vert or '0'};
|
||||
// height of header
|
||||
var headheight = ${headheight()};
|
||||
//dpi resolution has found in wkhtmltopdf doc if you want to calculate it just create a div with one inch of width and retrieve is with in px
|
||||
var res = 94;
|
||||
//we retriev all the bvr frame on the dom
|
||||
var els_node_list = document.getElementsByName('bvrframe');
|
||||
//we put them on an array
|
||||
var els = [];
|
||||
for(var i=0, len = els_node_list.length; i < len; i++)
|
||||
{
|
||||
els.push(els_node_list[i]);
|
||||
}
|
||||
//we sort on y postiton values
|
||||
els.sort(sortfunction);
|
||||
for (var i=0; i<els.length; i++) {
|
||||
var el = els[i];
|
||||
var el_height_mm = el.offsetTop/(res/25.4);
|
||||
// we insert the white page only if the BVR in not alleready on a separated page
|
||||
//so we insert the white page only if the difference bettween the old posisition and the new posisition is < 297 mm
|
||||
if(insert_page){
|
||||
el_height_mm = el_height_mm + a4height;
|
||||
}
|
||||
|
||||
if(el_height_mm % xpos){
|
||||
var el_xpos = Math.ceil(el_height_mm/a4height)*a4height;
|
||||
//We compute the page position of the a4 page on wich is the element.
|
||||
// we substact the bvr height and the height of header*the number of pages and we add the vertical decalage
|
||||
var ypos = (el_xpos-xpos)-(Math.ceil(el_height_mm/a4height)*headheight);
|
||||
|
||||
el.style.top = (ypos+vert_decalage)+"mm";
|
||||
el.style.position = "absolute";
|
||||
|
||||
}
|
||||
//This will propbely never happen but how knows ?
|
||||
else {
|
||||
var el_height_mm = el.offsetTop/(res/25.4);
|
||||
el.style.top = (el_height_mm+vert_decalage)+"mm";
|
||||
if(insert_page){
|
||||
el.style.top = el.style.top + a4height
|
||||
}
|
||||
}
|
||||
//we place the image if needed
|
||||
if(insert_bvrimg){
|
||||
img = document.getElementById("bvrimg_"+el.id);
|
||||
img.style.top = el.style.top;
|
||||
img.style.position = "absolute";
|
||||
}
|
||||
}
|
||||
} catch(err){
|
||||
//console.log(err)
|
||||
//document.getElementById("debug").textContent = document.getElementById("debug").textContent +"<br/>"+'-ERROR-'+err;
|
||||
}
|
||||
}
|
||||
window.onload=foo
|
||||
function foo() {
|
||||
place_element2();
|
||||
|
||||
}
|
||||
</script>
|
||||
${_check(objects)}
|
||||
%for inv in objects :
|
||||
<% setLang(inv.partner_id.lang) %>
|
||||
<div id="cont_${inv.id}" style="padding-left:20mm;padding-top:0;padding-bottom:10;height:180mm">
|
||||
<!-- Your communication message here -->
|
||||
</div>
|
||||
%if company.bvr_background:
|
||||
<img name="bvrimg" id="bvrimg_${inv.id}" alt="bvr" src="${bvr_absolute_path()}" style="width:210mm;height:106mm;border:0;margin:0;position:absolute;top:0" />
|
||||
%endif
|
||||
<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: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>
|
||||
</table>
|
||||
%endfor
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 224 KiB |
|
@ -0,0 +1,84 @@
|
|||
<html>
|
||||
<head>
|
||||
<style type="text/css">
|
||||
${css}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
%for inv in objects :
|
||||
<% setLang(inv.partner_id.lang) %>
|
||||
<div id="inv_cont_${inv.id}" style="padding-left:20mm;padding-top:0;padding-bottom:10;border-width:0px;border-style:solid">
|
||||
<table class="dest_address">
|
||||
<tr><td ><b>${inv.partner_id.title or ''|entity} ${inv.partner_id.name |entity}</b></td></tr>
|
||||
<tr><td>${inv.address_invoice_id.street or ''|entity}</td></tr>
|
||||
<tr><td>${inv.address_invoice_id.street2 or ''|entity}</td></tr>
|
||||
<tr><td>${inv.address_invoice_id.zip or ''|entity} ${inv.address_invoice_id.city or ''|entity}</td></tr>
|
||||
%if inv.address_invoice_id.country_id :
|
||||
<tr><td>${inv.address_invoice_id.country_id.name or ''|entity} </td></tr>
|
||||
%endif
|
||||
%if inv.address_invoice_id.phone :
|
||||
<tr><td>${_("Tel")}: ${inv.address_invoice_id.phone|entity}</td></tr>
|
||||
%endif
|
||||
%if inv.address_invoice_id.fax :
|
||||
<tr><td>${_("Fax")}: ${inv.address_invoice_id.fax|entity}</td></tr>
|
||||
%endif
|
||||
%if inv.address_invoice_id.email :
|
||||
<tr><td>${_("E-mail")}: ${inv.address_invoice_id.email|entity}</td></tr>
|
||||
%endif
|
||||
%if inv.partner_id.vat :
|
||||
<tr><td>${_("VAT")}: ${inv.partner_id.vat|entity}</td></tr>
|
||||
%endif
|
||||
</table>
|
||||
<br />
|
||||
%if inv.type == 'out_invoice' :
|
||||
<span class="title">${_("Invoice")} ${inv.number or ''|entity}</span>
|
||||
%elif inv.type == 'in_invoice' :
|
||||
<span class="title">${_("Supplier Invoice")} ${inv.number or ''|entity}</span>
|
||||
%elif inv.type == 'out_refund' :
|
||||
<span class="title">${_("Refund")} ${inv.number or ''|entity}</span>
|
||||
%elif inv.type == 'in_refund' :
|
||||
<span class="title">${_("Supplier Refund")} ${inv.number or ''|entity}</span>
|
||||
%endif
|
||||
<br/>
|
||||
<br/>
|
||||
<table class="basic_table" width="90%">
|
||||
<tr><td>${_("Document")}</td><td>${_("Invoice Date")}</td><td>${_("Partner Ref.")}</td></tr>
|
||||
<tr><td>${inv.name}</td><td>${formatLang(inv.date_invoice, date=True)|entity}</td><td> </td></tr>
|
||||
</table>
|
||||
<h1><br /></h1>
|
||||
<table class="list_table" width="90%">
|
||||
<thead><tr><th>${_("Description")}</th><th class>${_("Taxes")}</th><th class>${_("QTY")}</th><th>${_("Unit Price")}</th><th >${_("Disc.(%)")}</th><th>${_("Price")}</th></tr></thead>
|
||||
%for line in inv.invoice_line :
|
||||
<tbody>
|
||||
<tr><td>${line.name|entity}</td><td>${ ', '.join([ tax.name or '' for tax in line.invoice_line_tax_id ])|entity}</td><td>${line.quantity}</td><td style="text-align:right;">${formatLang(line.price_unit)}</td><td style="text-align:center;">${line.discount or 0.00}</td><td style="text-align:right;">${formatLang(line.price_subtotal)}</td></tr>
|
||||
%if line.note :
|
||||
<tr><td colspan="6" style="border-style:none"><pre style="font-family:Helvetica;padding-left:20px">${line.note |entity}</pre></td></tr>
|
||||
%endif
|
||||
%endfor
|
||||
<tr><td style="border-style:none"/><td style="border-style:none"/><td style="border-style:none"/><td style="border-style:none"/><td style="border-top:2px solid"><b>Net Total:</b></td><td style="border-top:2px solid;text-align:right">${formatLang(inv.amount_untaxed)}</td></tr>
|
||||
<tr><td style="border-style:none"/><td style="border-style:none"/><td style="border-style:none"/><td style="border-style:none"/><td style="border-style:none"><b>Taxes:</b></td><td style="text-align:right">${formatLang(inv.amount_tax)}</td></tr>
|
||||
<tr><td style="border-style:none"/><td style="border-style:none"/><td style="border-style:none"/><td style="border-style:none"/><td style="border-top:2px solid"><b>Total:</b></td><td style="border-top:2px solid;text-align:right">${formatLang(inv.amount_total)}</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="list_table" width="40%">
|
||||
<tr><th>Tax</th><th>${_("Base")}</th><th>${_("Amount")}</th></tr>
|
||||
%if inv.tax_line :
|
||||
%for t in inv.tax_line :
|
||||
<tr>
|
||||
<td>${ t.name|entity } </td>
|
||||
<td>${ t.base|entity}</td>
|
||||
<td>${ formatLang(t.amount) }</td>
|
||||
</tr>
|
||||
%endfor
|
||||
%endif
|
||||
<tr>
|
||||
<td style="border-style:none"/>
|
||||
<td style="border-top:2px solid"><b>${_("Total")}</b></td>
|
||||
<td style="border-top:2px solid">${ formatLang(inv.amount_tax) }</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
%endfor
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,265 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Author: Nicolas Bessi. Copyright Camptocamp SA
|
||||
# Donors: Hasa Sàrl, Open Net Sàrl and Prisme Solutions Informatique SA
|
||||
#
|
||||
# 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
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
from report import report_sxw
|
||||
from report_webkit import webkit_report
|
||||
from report_webkit import report_helper
|
||||
from osv import osv
|
||||
from tools import mod10r
|
||||
import sys
|
||||
import os
|
||||
import re
|
||||
import wizard
|
||||
import addons
|
||||
import pooler
|
||||
from tools.config import config
|
||||
from mako.template import Template
|
||||
|
||||
|
||||
class l10n_ch_report_webkit_html(report_sxw.rml_parse):
|
||||
def __init__(self, cr, uid, name, context):
|
||||
super(l10n_ch_report_webkit_html, self).__init__(cr, uid, name, context=context)
|
||||
self.localcontext.update({
|
||||
'time': time,
|
||||
'cr':cr,
|
||||
'uid': uid,
|
||||
'user':self.pool.get("res.users").browse(cr, uid, uid),
|
||||
'mod10r': mod10r,
|
||||
'_space': self._space,
|
||||
'_get_ref': self._get_ref,
|
||||
'comma_me': self.comma_me,
|
||||
'police_absolute_path' : self.police_absolute_path,
|
||||
'bvr_absolute_path':self.bvr_absolute_path,
|
||||
'_check' : self._check,
|
||||
'headheight': self.headheight
|
||||
})
|
||||
|
||||
#will be fixed in 5.0.10
|
||||
def police_absolute_path(self, inner_path) :
|
||||
"""Will get the ocrb police absolute path"""
|
||||
path = addons.get_module_resource('l10n_ch/report/'+inner_path)
|
||||
return path
|
||||
|
||||
def bvr_absolute_path(self) :
|
||||
"""Will get the ocrb police absolute path"""
|
||||
path = addons.get_module_resource('l10n_ch/report/bvr1.jpg')
|
||||
return path
|
||||
|
||||
def headheight(self):
|
||||
report_id = self.pool.get('ir.actions.report.xml').search(self.cr, self.uid, [('name','=', 'BVR invoice')])[0]
|
||||
report = self.pool.get('ir.actions.report.xml').browse(self.cr, self.uid, report_id)
|
||||
return report.webkit_header.margin_top
|
||||
|
||||
def comma_me(self, amount):
|
||||
"""Fast swiss number formatting"""
|
||||
if type(amount) is float :
|
||||
amount = str('%.2f'%amount)
|
||||
else :
|
||||
amount = str(amount)
|
||||
orig = amount
|
||||
new = re.sub("^(-?\d+)(\d{3})", "\g<1>'\g<2>", amount)
|
||||
if orig == new:
|
||||
return new
|
||||
else:
|
||||
return self.comma_me(new)
|
||||
|
||||
def _space(self, nbr, nbrspc=5):
|
||||
"""Spaces * 5"""
|
||||
res = ''
|
||||
for i in range(len(nbr)):
|
||||
res = res + nbr[i]
|
||||
if not (i-1) % nbrspc:
|
||||
res = res + ' '
|
||||
return res
|
||||
|
||||
def _get_ref(self, inv):
|
||||
"""Retrieve ESR/BVR reference form invoice in order to print it"""
|
||||
res = ''
|
||||
if inv.partner_bank_id.bvr_adherent_num:
|
||||
res = inv.partner_bank_id.bvr_adherent_num
|
||||
invoice_number = ''
|
||||
if inv.number:
|
||||
invoice_number = re.sub('[^0-9]', '', inv.number)
|
||||
return mod10r(res + invoice_number.rjust(26-len(res), '0'))
|
||||
|
||||
def _check(self, invoices):
|
||||
"""Check if the invoice is ready to be printed"""
|
||||
cursor = self.cr
|
||||
pool = self.pool
|
||||
invoice_obj = pool.get('account.invoice')
|
||||
ids = [x.id for x in invoices]
|
||||
for invoice in invoice_obj.browse(cursor, self.uid, ids):
|
||||
if not invoice.partner_bank_id:
|
||||
raise wizard.except_wizard('UserError',
|
||||
'No bank specified on invoice:\n' + \
|
||||
invoice_obj.name_get(cursor, self.uid, [invoice.id],
|
||||
context={})[0][1])
|
||||
if not re.compile('[0-9][0-9]-[0-9]{3,6}-[0-9]').match(
|
||||
invoice.partner_bank_id.bvr_number or ''):
|
||||
raise wizard.except_wizard('UserError',
|
||||
"Your bank BVR number should be of the form 0X-XXX-X! " +
|
||||
'Please check your company ' +
|
||||
'information for the invoice:\n' +
|
||||
invoice_obj.name_get(cursor, self.uid, [invoice.id],
|
||||
context={})[0][1])
|
||||
if invoice.partner_bank_id.bvr_adherent_num \
|
||||
and not re.compile('[0-9]*$').match(
|
||||
invoice.partner_bank_id.bvr_adherent_num):
|
||||
raise wizard.except_wizard('UserError',
|
||||
'Your bank BVR adherent number must contain exactly seven' +
|
||||
'digits!\nPlease check your company ' +
|
||||
'information for the invoice:\n' +
|
||||
invoice_obj.name_get(cursor, self.uid, [invoice.id],
|
||||
context={})[0][1])
|
||||
return ""
|
||||
|
||||
class BVRWebKitParser(webkit_report.WebKitParser):
|
||||
|
||||
def create_single_pdf(self, cursor, uid, ids, data, report_xml, context=None):
|
||||
"""generate the PDF"""
|
||||
self.parser_instance = self.parser(
|
||||
cursor,
|
||||
uid,
|
||||
self.name2,
|
||||
context=context
|
||||
)
|
||||
self.pool = pooler.get_pool(cursor.dbname)
|
||||
objs = self.getObjects(cursor, uid, ids, context)
|
||||
self.parser_instance.set_context(objs, data, ids, report_xml.report_type)
|
||||
template = False
|
||||
if report_xml.report_file :
|
||||
path = addons.get_module_resource(report_xml.report_file)
|
||||
if os.path.exists(path) :
|
||||
template = file(path).read()
|
||||
if not template and report_xml.report_webkit_data :
|
||||
template = report_xml.report_webkit_data
|
||||
if not template :
|
||||
raise except_osv(_('Webkit Report template not found !'), _(''))
|
||||
header = report_xml.webkit_header.html
|
||||
footer = report_xml.webkit_header.footer_html
|
||||
if not header and report_xml.header:
|
||||
raise except_osv(
|
||||
_('No header defined for this Webkit report!'),
|
||||
_('Please set a header in company settings')
|
||||
)
|
||||
if not report_xml.header :
|
||||
#I know it could be cleaner ...
|
||||
header = u"""
|
||||
<html>
|
||||
<head>
|
||||
<style type="text/css">
|
||||
${css}
|
||||
</style>
|
||||
<script>
|
||||
function subst() {
|
||||
var vars={};
|
||||
var x=document.location.search.substring(1).split('&');
|
||||
for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
|
||||
var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
|
||||
for(var i in x) {
|
||||
var y = document.getElementsByClassName(x[i]);
|
||||
for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body style="border:0; margin: 0;" onload="subst()">
|
||||
</body>
|
||||
</html>"""
|
||||
css = report_xml.webkit_header.css
|
||||
if not css :
|
||||
css = ''
|
||||
user = self.pool.get('res.users').browse(cursor, uid, uid)
|
||||
company= user.company_id
|
||||
parse_template = template
|
||||
#default_filters=['unicode', 'entity'] can be used to set global filter
|
||||
body_mako_tpl = Template(parse_template ,input_encoding='utf-8')
|
||||
#BVR specific
|
||||
bvr_path = addons.get_module_resource('l10n_ch/report/bvr.mako')
|
||||
body_bvr_tpl = Template(file(bvr_path).read(), input_encoding='utf-8')
|
||||
|
||||
helper = report_helper.WebKitHelper(cursor, uid, report_xml.id, context)
|
||||
##BVR Specific
|
||||
htmls = []
|
||||
for obj in objs :
|
||||
|
||||
self.parser_instance.localcontext['objects'] = [obj]
|
||||
if not company.bvr_only:
|
||||
html = body_mako_tpl.render(
|
||||
helper=helper,
|
||||
css=css,
|
||||
_=self.translate_call,
|
||||
**self.parser_instance.localcontext
|
||||
)
|
||||
htmls.append(html)
|
||||
if not company.invoice_only:
|
||||
bvr = body_bvr_tpl.render(
|
||||
helper=helper,
|
||||
css=css,
|
||||
_=self.translate_call,
|
||||
**self.parser_instance.localcontext
|
||||
)
|
||||
htmls.append(bvr)
|
||||
head_mako_tpl = Template(header, input_encoding='utf-8')
|
||||
head = head_mako_tpl.render(
|
||||
company=company,
|
||||
time=time,
|
||||
helper=helper,
|
||||
css=css,
|
||||
formatLang=self.parser_instance.formatLang,
|
||||
setLang=self.parser_instance.setLang,
|
||||
_debug=False
|
||||
)
|
||||
foot = False
|
||||
if footer and company.invoice_only :
|
||||
foot_mako_tpl = Template(footer ,input_encoding='utf-8')
|
||||
foot = foot_mako_tpl.render(
|
||||
company=company,
|
||||
time=time,
|
||||
helper=helper,
|
||||
css=css,
|
||||
formatLang=self.parser_instance.formatLang,
|
||||
setLang=self.parser_instance.setLang,
|
||||
_=self.translate_call,
|
||||
|
||||
)
|
||||
if report_xml.webkit_debug :
|
||||
deb = head_mako_tpl.render(
|
||||
company=company,
|
||||
time=time,
|
||||
helper=helper,
|
||||
css=css,
|
||||
_debug=html,
|
||||
formatLang=self.parser_instance.formatLang,
|
||||
setLang=self.parser_instance.setLang,
|
||||
_=self.translate_call,
|
||||
)
|
||||
return (deb, 'html')
|
||||
bin = self.get_lib(cursor, uid, company.id)
|
||||
pdf = self.generate_pdf(bin, report_xml, head, foot, htmls)
|
||||
return (pdf, 'pdf')
|
||||
|
||||
|
||||
BVRWebKitParser('report.invoice_web_bvr',
|
||||
'account.invoice',
|
||||
'addons/l10n_ch/report/report_webkit_html.mako',
|
||||
parser=l10n_ch_report_webkit_html)
|
|
@ -0,0 +1,162 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="ir_header_webkit_bvr_invoice0" model="ir.header_webkit">
|
||||
<field eval=""""Portrait"""" name="orientation"/>
|
||||
<field eval=""""A4"""" name="format"/>
|
||||
<field name="html"><![CDATA[<html>
|
||||
<head>
|
||||
<script>
|
||||
function subst() {
|
||||
var vars={};
|
||||
var x=document.location.search.substring(1).split('&');
|
||||
for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
|
||||
var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
|
||||
for(var i in x) {
|
||||
var y = document.getElementsByClassName(x[i]);
|
||||
for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
${css}
|
||||
</style>
|
||||
</head>
|
||||
<body style="border:0; margin: 0;" onload="subst()">
|
||||
<table class="header" style="border-bottom: 0px solid black; width: 100%;padding-left:20mm">
|
||||
<tr style="vertical-align:top" >
|
||||
<td>${helper.embed_logo_by_name('camptocamp_logo', width=64)}</td>
|
||||
<td style="text-align:right">
|
||||
<table style="border-top: 0px solid black; width: 100%;height:100%">
|
||||
<tr style="vertical-align:top">
|
||||
<td style="text-align:right;font-size:12" width="80%"><span class="page"/></td><td style="text-align:left;font-size:12;"> / <span class="topage"/></td>
|
||||
</tr>
|
||||
</table> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br/></td>
|
||||
<td style="text-align:right"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>${company.partner_id.name |entity}</td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td >${company.partner_id.address and company.partner_id.address[0].street or ''|entity}</td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Phone: ${company.partner_id.address and company.partner_id.address[0].phone or ''|entity} </td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mail: <a href="mailto:${company.partner_id.address and company.partner_id.address[0].email or ''|entity}">${company.partner_id.address and company.partner_id.address[0].email or ''|entity}</a><br/></td>
|
||||
</tr>
|
||||
</table> ${_debug or ''} <br/></body>
|
||||
</html>]]>
|
||||
</field>
|
||||
<field eval="45" name="margin_top"/>
|
||||
<field eval="0.01" name="margin_bottom"/>
|
||||
<field eval="0.01" name="margin_left"/>
|
||||
<field eval="0.01" name="margin_right"/>
|
||||
<field name="css" ><![CDATA[
|
||||
|
||||
body {
|
||||
font-family:helvetica;
|
||||
font-size:12;
|
||||
}
|
||||
|
||||
|
||||
.dest_address {
|
||||
margin-left:60%;
|
||||
font-size:12;
|
||||
}
|
||||
.header {
|
||||
margin-left:0;
|
||||
text-align:left;
|
||||
width:300px;
|
||||
font-size:12;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size:16;
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.basic_table{
|
||||
text-align:center;
|
||||
border:1px solid lightGrey;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
.basic_table td {
|
||||
border:1px solid lightGrey;
|
||||
font-size:12;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.list_table {
|
||||
border-color:black;
|
||||
text-align:center;
|
||||
border-collapse: collapse;
|
||||
|
||||
}
|
||||
.list_table td {
|
||||
border-color:gray;
|
||||
border-top:1px solid gray;
|
||||
text-align:left;
|
||||
font-size:12;
|
||||
padding-right:3px
|
||||
padding-left:3px
|
||||
padding-top:3px
|
||||
padding-bottom:3px
|
||||
}
|
||||
|
||||
.list_table th {
|
||||
border-bottom:2px solid black;
|
||||
text-align:left;
|
||||
font-size:12;
|
||||
font-weight:bold;
|
||||
padding-right:3px
|
||||
padding-left:3px
|
||||
}
|
||||
|
||||
.list_tabe thead {
|
||||
display:table-header-group;
|
||||
}
|
||||
|
||||
|
||||
.total {
|
||||
width:100%;
|
||||
}
|
||||
.lib {
|
||||
width:10.3%;
|
||||
}
|
||||
.tot {
|
||||
text-align:right;
|
||||
width:15%;
|
||||
}
|
||||
.lefttot {
|
||||
width:74%;
|
||||
}
|
||||
.tax {
|
||||
width:50%;
|
||||
}]]></field>
|
||||
<field eval=""""BVR header"""" name="name"/>
|
||||
</record>
|
||||
|
||||
<report auto="True"
|
||||
id="report_bvr_invoice_html"
|
||||
model="account.invoice"
|
||||
name="invoice_web_bvr"
|
||||
file="l10n_ch/report/report_webkit_html.mako"
|
||||
string="BVR invoice"
|
||||
report_type="webkit"
|
||||
/>
|
||||
<record id="l10n_ch.report_bvr_invoice_html" model="ir.actions.report.xml">
|
||||
<field name="webkit_header" ref="ir_header_webkit_bvr_invoice0" />
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openerp>
|
||||
<data noupdate="True">
|
||||
<!-- journal configuration of account -->
|
||||
|
||||
<record id="expenses_journal" model="account.journal">
|
||||
<field name="default_debit_account_id" model="account.account" search="[('code','=', '4200')]" />
|
||||
<field name="default_credit_account_id" model="account.account" search="[('code','=', '4200')]" />
|
||||
</record>
|
||||
|
||||
<record id="bank_journal" model="account.journal">
|
||||
<field name="default_debit_account_id" model="account.account" search="[('code','=', '1020')]"/>
|
||||
<field name="default_credit_account_id" model="account.account" search="[('code','=', '1020')]"/>
|
||||
</record>
|
||||
|
||||
<record id="bank_euro_journal" model="account.journal">
|
||||
<field name="default_debit_account_id" model="account.account" search="[('code','=', '1024')]"/>
|
||||
<field name="default_credit_account_id" model="account.account" search="[('code','=', '1024')]"/>
|
||||
</record>
|
||||
|
||||
<record id="petty_cash_journal" model="account.journal">
|
||||
<field name="default_debit_account_id" model="account.account" search="[('code','=', '1000')]"/>
|
||||
<field name="default_credit_account_id" model="account.account" search="[('code','=', '1000')]"/>
|
||||
</record>
|
||||
|
||||
<record id="misc_transaction_journal" model="account.journal">
|
||||
<field name="default_debit_account_id" eval="False"/>
|
||||
<field name="default_credit_account_id" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record model="account.journal" id="bilan_journal">
|
||||
<field name="default_debit_account_id" model="account.account" search="[('code','=', '2991')]"/>
|
||||
<field name="default_credit_account_id" model="account.account" search="[('code','=', '2991')]"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,118 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<!-- Fiscal Position Templates -->
|
||||
|
||||
<record id="fiscal_position_template_import" model="account.fiscal.position.template">
|
||||
<field name="name">Import/Export</field>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
</record>
|
||||
|
||||
<record id="fiscal_position_tax_template_1" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_24_purchase" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
<record id="fiscal_position_tax_template_2" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_24_invest" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
|
||||
|
||||
<record id="fiscal_position_tax_template_3" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_25_purchase" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
<record id="fiscal_position_tax_template_4" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_25_invest" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
|
||||
|
||||
<record id="fiscal_position_tax_template_5" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_36_purchase" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
<record id="fiscal_position_tax_template_6" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_36_invest" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
|
||||
|
||||
<record id="fiscal_position_tax_template_7" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_38_purchase" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
<record id="fiscal_position_tax_template_8" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_38_invest" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
|
||||
|
||||
<record id="fiscal_position_tax_template_9" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_76_purchase" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
<record id="fiscal_position_tax_template_10" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_76_invest" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
|
||||
|
||||
<record id="fiscal_position_tax_template_11" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_80_purchase" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
<record id="fiscal_position_tax_template_12" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_80_invest" />
|
||||
<field name="tax_dest_id" ref="vat_O_import" />
|
||||
</record>
|
||||
|
||||
|
||||
<record id="fiscal_position_tax_template_13" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_24" />
|
||||
<field name="tax_dest_id" ref="vat_XO" />
|
||||
</record>
|
||||
|
||||
<record id="fiscal_position_tax_template_14" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_25" />
|
||||
<field name="tax_dest_id" ref="vat_XO" />
|
||||
</record>
|
||||
|
||||
<record id="fiscal_position_tax_template_15" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_36" />
|
||||
<field name="tax_dest_id" ref="vat_XO" />
|
||||
</record>
|
||||
|
||||
<record id="fiscal_position_tax_template_16" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_38" />
|
||||
<field name="tax_dest_id" ref="vat_XO" />
|
||||
</record>
|
||||
|
||||
<record id="fiscal_position_tax_template_17" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_76" />
|
||||
<field name="tax_dest_id" ref="vat_XO" />
|
||||
</record>
|
||||
|
||||
<record id="fiscal_position_tax_template_18" model="account.fiscal.position.tax.template">
|
||||
<field name="position_id" ref="fiscal_position_template_import" />
|
||||
<field name="tax_src_id" ref="vat_80" />
|
||||
<field name="tax_dest_id" ref="vat_XO" />
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,324 @@
|
|||
<openerp>
|
||||
<data noupdate="1">
|
||||
<!-- SOME DATA IN THIS FILE ARE DUPLICATED ON VAT2011.XML IT WILL ALLOWS EASY FUTURE REMOVAL OF THIS FILE IN 2012 2013. -->
|
||||
<!-- SOME UNUSED TAX CODE ARE STILL KEPT IN ORDER TO ALLOW MORE EASY MIGRATION FORM V5 -->
|
||||
<record model="account.tax.code.template" id="vat_code_balance_net">
|
||||
<field name="name">Solde de TVA a payer a l'AFC</field>
|
||||
<field name="code">500</field>
|
||||
<field name="parent_id" ref="vat_code_chart_root"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_tva">
|
||||
<field name="name">TVA Due </field>
|
||||
<field name="code">399</field>
|
||||
<field name="parent_id" ref="vat_code_balance_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_tva76">
|
||||
<field name="name">TVA due a 7.6% (TN)</field>
|
||||
<field name="code">300b</field>
|
||||
<field name="parent_id" ref="vat_code_due_tva"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_tva24">
|
||||
<field name="name">TVA due a 2.4% (TR)</field>
|
||||
<field name="code">310b</field>
|
||||
<field name="parent_id" ref="vat_code_due_tva"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_tva36">
|
||||
<field name="name">TVA due a 3.6% (TS)</field>
|
||||
<field name="code">340b</field>
|
||||
<field name="parent_id" ref="vat_code_due_tva"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_payable">
|
||||
<field name="name">TVA préalable sur acquisitions (a récupérer)</field>
|
||||
<field name="code">479</field>
|
||||
<field name="parent_id" ref="vat_code_balance_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_payable_bs">
|
||||
<field name="name">TVA préalable sur biens et services</field>
|
||||
<field name="code">400</field>
|
||||
<field name="parent_id" ref="vat_code_payable"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_payable_invest">
|
||||
<field name="name">TVA préalable sur invest. et autres ch.</field>
|
||||
<field name="code">405</field>
|
||||
<field name="parent_id" ref="vat_code_payable"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_base_net">
|
||||
<field name="name">Base de calcul de TVA</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_chart_root"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_base_ca_total">
|
||||
<field name="name">Chiffre d'affaires - total</field>
|
||||
<field name="code">200</field>
|
||||
<field name="parent_id" ref="vat_code_base_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_base_due">
|
||||
<field name="name">Chiffre d'affaires imposable</field>
|
||||
<field name="code">299</field>
|
||||
<field name="parent_id" ref="vat_code_base_ca_total"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_76">
|
||||
<field name="name">Chiffre d'affaires imposable a 7.6% (TN)</field>
|
||||
<field name="code">300a</field>
|
||||
<field name="parent_id" ref="vat_code_base_due"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_24">
|
||||
<field name="name">Chiffre d'affaires imposable a 2.4% (TR)</field>
|
||||
<field name="code">310a</field>
|
||||
<field name="parent_id" ref="vat_code_base_due"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_36">
|
||||
<field name="name">Chiffre d'affaires imposable a 3.6% (TS)</field>
|
||||
<field name="code">340a</field>
|
||||
<field name="parent_id" ref="vat_code_base_due"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_0">
|
||||
<field name="name">Chiffre d'affaires imposable a 0% (export)</field>
|
||||
<field name="code">200-220</field>
|
||||
<field name="parent_id" ref="vat_code_base_ca_total"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_0_exclu">
|
||||
<field name="name">Chiffre d'affaires non-imposable a 0% (exclu)</field>
|
||||
<field name="code">200-230</field>
|
||||
<field name="parent_id" ref="vat_code_base_ca_total"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_net">
|
||||
<field name="name">Acquisition - total</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_base_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base">
|
||||
<field name="name">Acquisition de biens et services</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_0">
|
||||
<field name="name">Acquisition de biens et services a 0%</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_76">
|
||||
<field name="name">Acquisition de biens et services a 7.6% (TN)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_24">
|
||||
<field name="name">Acquisition de biens et services a 2.4% (TR)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_36">
|
||||
<field name="name">Acquisition de biens et services a 3.6% (TS)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_24_50%">
|
||||
<field name="name">Acquisition de biens et services a 2.4% récup. à 50% (TR)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_76_50%">
|
||||
<field name="name">Acquisition de biens et services a 7.6% récup. à 50% (TN)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_36_50%">
|
||||
<field name="name">Acquisition de biens et services a 3.6% récup. à 50% (TS)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_invest">
|
||||
<field name="name">Acquisition de biens d'invest. et autres charges</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_invest76">
|
||||
<field name="name">Acquisition de biens d'invest. et autres charges a 7.6% (TN)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base_invest"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_invest24">
|
||||
<field name="name">Acquisition de biens d'invest. et autres charges a 2.4% (TR)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base_invest"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_invest36">
|
||||
<field name="name">Acquisition de biens d'invest. et autres charges a 3.6% (TS)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base_invest"/>
|
||||
</record>
|
||||
<!--
|
||||
# TVA - Taxe sur la Valeur Ajoutée
|
||||
-->
|
||||
<record model="account.tax.template" id="vat_24">
|
||||
<field name="name">TVA due a 2.4% (TR)</field>
|
||||
<field name="amount" eval="0.024"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_due_24"/>
|
||||
<field name="tax_code_id" ref="vat_code_due_tva24"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_due_24"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_due_tva24"/>
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="account_collected_id" ref="ch_1170"/>
|
||||
<field name="account_paid_id" ref="ch_1170"/>
|
||||
<field name="type_tax_use">sale</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_24_purchase">
|
||||
<field name="name">TVA 2.4% sur achat B&S (TR)</field>
|
||||
<field name="amount" eval="0.024"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_24"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_24"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.024) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.024))) / 0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_24_invest">
|
||||
<field name="name">TVA 2.4% sur invest. et autres ch. (TR)</field>
|
||||
<field name="amount" eval="0.024"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_invest24"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_invest24"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.024) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.024))) / 0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
|
||||
<record model="account.tax.template" id="vat_36">
|
||||
<field name="name">TVA due a 3.6% (TS)</field>
|
||||
<field name="amount" eval="0.036"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_due_36"/>
|
||||
<field name="tax_code_id" ref="vat_code_due_tva36"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_due_36"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_due_tva36"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.036) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.036))) / 0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">sale</field>
|
||||
<field name="account_collected_id" ref="ch_1170"/>
|
||||
<field name="account_paid_id" ref="ch_1170"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_36_purchase">
|
||||
<field name="name">TVA 3.6% sur achat B&S (TS)</field>
|
||||
<field name="amount" eval="0.036"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_36"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_36"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.036) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.036))) / 0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_36_invest">
|
||||
<field name="name">TVA 3.6% sur invest. et autres ch. (TS)</field>
|
||||
<field name="amount" eval="0.036"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_invest36"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_invest36"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.036) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.036))) / 0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_76">
|
||||
<field name="name">TVA due a 7.6% (TN)</field>
|
||||
<field name="amount" eval="0.076"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_due_76"/>
|
||||
<field name="tax_code_id" ref="vat_code_due_tva76"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_due_76"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_due_tva76"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.076) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.076))) / 0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">sale</field>
|
||||
<field name="account_collected_id" ref="ch_1170"/>
|
||||
<field name="account_paid_id" ref="ch_1170"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_76_purchase">
|
||||
<field name="name">TVA 7.6% sur achat B&S</field>
|
||||
<field name="amount" eval="0.076"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_76"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_76"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.076) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.076))) / 0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_76_invest">
|
||||
<field name="name">TVA 7.6% sur invest. et autres ch. (TN)</field>
|
||||
<field name="amount" eval="0.076"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_invest76"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_invest76"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.076) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.076))) / 0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,371 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<record model="account.tax.code.template" id="vat_code_balance_net">
|
||||
<field name="name">Solde de TVA a payer a l'AFC</field>
|
||||
<field name="code">500</field>
|
||||
<field name="parent_id" ref="vat_code_chart_root"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_tva">
|
||||
<field name="name">TVA Due </field>
|
||||
<field name="code">399</field>
|
||||
<field name="parent_id" ref="vat_code_balance_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_tva80">
|
||||
<field name="name">TVA due a 8.0% (TN)</field>
|
||||
<field name="code">301b</field>
|
||||
<field name="parent_id" ref="vat_code_due_tva"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_tva25">
|
||||
<field name="name">TVA due a 2.5% (TR)</field>
|
||||
<field name="code">311b</field>
|
||||
<field name="parent_id" ref="vat_code_due_tva"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_tva38">
|
||||
<field name="name">TVA due a 3.8% (TS)</field>
|
||||
<field name="code">341b</field>
|
||||
<field name="parent_id" ref="vat_code_due_tva"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_payable">
|
||||
<field name="name">TVA préalable sur acquisitions (a récupérer)</field>
|
||||
<field name="code">479</field>
|
||||
<field name="parent_id" ref="vat_code_balance_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_payable_bs">
|
||||
<field name="name">TVA préalable sur biens et services</field>
|
||||
<field name="code">400</field>
|
||||
<field name="parent_id" ref="vat_code_payable"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_payable_invest">
|
||||
<field name="name">TVA préalable sur invest. et autres ch.</field>
|
||||
<field name="code">405</field>
|
||||
<field name="parent_id" ref="vat_code_payable"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_base_net">
|
||||
<field name="name">Base de calcul de TVA</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_chart_root"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_base_ca_total">
|
||||
<field name="name">Chiffre d'affaires - total</field>
|
||||
<field name="code">200</field>
|
||||
<field name="parent_id" ref="vat_code_base_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_base_due">
|
||||
<field name="name">Chiffre d'affaires imposable</field>
|
||||
<field name="code">299</field>
|
||||
<field name="parent_id" ref="vat_code_base_ca_total"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_80">
|
||||
<field name="name">Chiffre d'affaires imposable a 8.0% (TN)</field>
|
||||
<field name="code">301a</field>
|
||||
<field name="parent_id" ref="vat_code_base_due"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_25">
|
||||
<field name="name">Chiffre d'affaires imposable a 2.5% (TR)</field>
|
||||
<field name="code">311a</field>
|
||||
<field name="parent_id" ref="vat_code_base_due"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_38">
|
||||
<field name="name">Chiffre d'affaires imposable a 3.8% (TS)</field>
|
||||
<field name="code">341a</field>
|
||||
<field name="parent_id" ref="vat_code_base_due"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_0">
|
||||
<field name="name">Chiffre d'affaires imposable a 0% (export)</field>
|
||||
<field name="code">200-220</field>
|
||||
<field name="parent_id" ref="vat_code_base_ca_total"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_due_0_exclu">
|
||||
<field name="name">Chiffre d'affaires non-imposable a 0% (exclu)</field>
|
||||
<field name="code">200-230</field>
|
||||
<field name="parent_id" ref="vat_code_base_ca_total"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_net">
|
||||
<field name="name">Acquisition - total</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_base_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base">
|
||||
<field name="name">Acquisition de biens et services</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_0">
|
||||
<field name="name">Acquisition de biens et services a 0%</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_80">
|
||||
<field name="name">Acquisition de biens et services a 8.0% (TN)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_25">
|
||||
<field name="name">Acquisition de biens et services a 2.5% (TR)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_38">
|
||||
<field name="name">Acquisition de biens et services a 3.8% (TS)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_invest">
|
||||
<field name="name">Acquisition de biens d'invest. et autres charges</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_net"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_invest80">
|
||||
<field name="name">Acquisition de biens d'invest. et autres charges a 8.0% (TN)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base_invest"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_invest25">
|
||||
<field name="name">Acquisition de biens d'invest. et autres charges a 2.5% (TR)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base_invest"/>
|
||||
</record>
|
||||
<record model="account.tax.code.template" id="vat_code_receivable_base_invest38">
|
||||
<field name="name">Acquisition de biens d'invest. et autres charges a 3.8% (TS)</field>
|
||||
<field name="code"/>
|
||||
<field name="parent_id" ref="vat_code_receivable_base_invest"/>
|
||||
</record>
|
||||
<!--
|
||||
# TVA - Taxe sur la Valeur Ajoutée
|
||||
-->
|
||||
<record model="account.tax.template" id="vat_25">
|
||||
<field name="name">TVA due a 2.5% (TR)</field>
|
||||
<field name="amount" eval="0.025"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_due_25"/>
|
||||
<field name="tax_code_id" ref="vat_code_due_tva25"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_due_25"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_due_tva25"/>
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="account_collected_id" ref="ch_1170"/>
|
||||
<field name="account_paid_id" ref="ch_1170"/>
|
||||
<field name="type_tax_use">sale</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_25_purchase">
|
||||
<field name="name">TVA 2.5% sur achat B&S (TR)</field>
|
||||
<field name="amount" eval="0.025"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_25"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_25"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.025) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.025))) /0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_25_invest">
|
||||
<field name="name">TVA 2.5% sur invest. et autres ch. (TR)</field>
|
||||
<field name="amount" eval="0.025"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_invest25"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_invest25"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.025) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.025))) /0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
|
||||
<record model="account.tax.template" id="vat_38">
|
||||
<field name="name">TVA due a 3.8% (TS)</field>
|
||||
<field name="amount" eval="0.038"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_due_38"/>
|
||||
<field name="tax_code_id" ref="vat_code_due_tva38"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_due_38"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_due_tva38"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.038) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.038))) /0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">sale</field>
|
||||
<field name="account_collected_id" ref="ch_1170"/>
|
||||
<field name="account_paid_id" ref="ch_1170"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_38_purchase">
|
||||
<field name="name">TVA 3.8% sur achat B&S (TS)</field>
|
||||
<field name="amount" eval="0.038"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_38"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_38"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.038) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.038))) /0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_38_invest">
|
||||
<field name="name">TVA 3.8% sur invest. et autres ch. (TS)</field>
|
||||
<field name="amount" eval="0.038"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_invest38"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_invest38"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.038) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.038))) /0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_80">
|
||||
<field name="name">TVA due a 8.0% (TN)</field>
|
||||
<field name="amount" eval="0.080"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_due_80"/>
|
||||
<field name="tax_code_id" ref="vat_code_due_tva80"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_due_80"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_due_tva80"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.080) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.080))) /0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">sale</field>
|
||||
<field name="account_collected_id" ref="ch_1170"/>
|
||||
<field name="account_paid_id" ref="ch_1170"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_80_purchase">
|
||||
<field name="name">TVA 8.0% sur achat B&S (TN)</field>
|
||||
<field name="amount" eval="0.080"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_80"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_80"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.080) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.080))) /0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_80_invest">
|
||||
<field name="name">TVA 8.0% sur invest. et autres ch. (TN)</field>
|
||||
<field name="amount" eval="0.080"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_invest80"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_invest80"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_invest"/>
|
||||
<field name="python_compute">result = round((price_unit * 0.080) / 0.05) * 0.05</field>
|
||||
<field name="python_compute_inv">result = round((price_unit * ( 1 - (1 / 1.080))) /0.05) * 0.05</field>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_XO">
|
||||
<field name="name">TVA due a 0% (Exportations)</field>
|
||||
<field name="amount" eval="0.00"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_due_0"/>
|
||||
<!-- <field name="tax_code_id" ref="vat_code_due_tva0"/> -->
|
||||
<field name="ref_base_code_id" ref="vat_code_due_0"/>
|
||||
<!-- <field name="ref_tax_code_id" ref="vat_code_due_tva0"/> -->
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">sale</field>
|
||||
<field name="account_collected_id" ref="ch_1170"/>
|
||||
<field name="account_paid_id" ref="ch_1170"/>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_O_exclude">
|
||||
<field name="name">TVA 0% exclue</field>
|
||||
<field name="amount" eval="0.00"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_due_0_exclu"/>
|
||||
<!-- <field name="tax_code_id" ref="vat_code_due_tva0"/> -->
|
||||
<field name="ref_base_code_id" ref="vat_code_due_0_exclu"/>
|
||||
<!-- <field name="ref_tax_code_id" ref="vat_code_due_tva0"/> -->
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">sale</field>
|
||||
</record>
|
||||
<record model="account.tax.template" id="vat_O_import">
|
||||
<field name="name">TVA 0% Importations de biens et services</field>
|
||||
<field name="amount" eval="0.00"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_receivable_base_0"/>
|
||||
<field name="tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_receivable_base_0"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="base_sign" eval="-1.0"/>
|
||||
<field name="tax_sign" eval="-1.0"/>
|
||||
<field name="ref_base_sign" eval="1.0"/>
|
||||
<field name="ref_tax_sign" eval="1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
</record>
|
||||
<!--# 100% on import !! the tax percentage is 00-->
|
||||
<record model="account.tax.template" id="vat_100_import">
|
||||
<field name="name">100% sur import</field>
|
||||
<field name="amount" eval="0.0"/>
|
||||
<field name="type">percent</field>
|
||||
<field name="base_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="ref_base_code_id" ref="vat_code_payable_bs"/>
|
||||
<field name="base_sign" eval="1.0"/>
|
||||
<field name="tax_sign" eval="1.0"/>
|
||||
<field name="ref_base_sign" eval="-1.0"/>
|
||||
<field name="ref_tax_sign" eval="-1.0"/>
|
||||
<field name="chart_template_id" ref="l10nch_chart_template"/>
|
||||
<field name="type_tax_use">purchase</field>
|
||||
<field name="account_collected_id" ref="ch_1171"/>
|
||||
<field name="account_paid_id" ref="ch_1171"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
Loading…
Reference in New Issue