[MERGE] trunk

bzr revid: rco@openerp.com-20110902123626-1mr8bgob0hblthyd
This commit is contained in:
Raphael Collet 2011-09-02 14:36:26 +02:00
commit e5b9d6e65d
281 changed files with 31160 additions and 9261 deletions

View File

@ -25,6 +25,7 @@ import project
import partner
import invoice
import account_bank_statement
import account_bank
import account_cash_statement
import account_move_line
import account_analytic_line

View File

@ -122,10 +122,11 @@ module named account_voucher.
'company_view.xml',
'board_account_view.xml',
"wizard/account_report_profit_loss_view.xml",
"wizard/account_report_balance_sheet_view.xml"
"wizard/account_report_balance_sheet_view.xml",
"account_bank_view.xml"
],
'demo_xml': [
'account_demo.xml',
'demo/account_demo.xml',
'project/project_demo.xml',
'project/analytic_account_demo.xml',
'demo/account_minimal.xml',

View File

@ -102,7 +102,7 @@ class account_payment_term_line(osv.osv):
('fixed', 'Fixed Amount')], 'Valuation',
required=True, help="""Select here the kind of valuation related to this payment term line. Note that you should have your last line with the type 'Balance' to ensure that the whole amount will be threated."""),
'value_amount': fields.float('Value Amount', digits_compute=dp.get_precision('Payment Term'), help="For Value percent enter % ratio between 0-1."),
'value_amount': fields.float('Amount To Pay', digits_compute=dp.get_precision('Payment Term'), help="For percent enter a ratio between 0-1."),
'days': fields.integer('Number of Days', required=True, help="Number of days to add before computation of the day of month." \
"If Date=15/01, Number of Days=22, Day of Month=-1, then the due date is 28/02."),
'days2': fields.integer('Day of the Month', required=True, help="Day of the month, set -1 for the last day of the current month. If it's positive, it gives the day of the next month. Set 0 for net days (otherwise it's based on the beginning of the month)."),
@ -131,7 +131,7 @@ class account_account_type(osv.osv):
_name = "account.account.type"
_description = "Account Type"
_columns = {
'name': fields.char('Acc. Type Name', size=64, required=True),
'name': fields.char('Account Type', size=64, required=True),
'code': fields.char('Code', size=32, required=True),
'close_method': fields.selection([('none', 'None'), ('balance', 'Balance'), ('detail', 'Detail'), ('unreconciled', 'Unreconciled')], 'Deferral Method', required=True, help="""Set here the method that will be used to generate the end of year journal entries for all the accounts of this type.
@ -146,7 +146,7 @@ class account_account_type(osv.osv):
('expense','Profit & Loss (Expense Accounts)'),
('asset','Balance Sheet (Assets Accounts)'),
('liability','Balance Sheet (Liability Accounts)')
],'P&L / BS Category', select=True, readonly=False, help="According value related accounts will be display on respective reports (Balance Sheet Profit & Loss Account)", required=True),
],'P&L / BS Category', select=True, readonly=False, help="This field is used to generate legal reports: profit and loss, balance sheet.", required=True),
'note': fields.text('Description'),
}
_defaults = {
@ -358,13 +358,13 @@ class account_account(osv.osv):
('liquidity','Liquidity'),
('consolidation', 'Consolidation'),
('closed', 'Closed'),
], 'Internal Type', required=True, help="This type is used to differentiate types with "\
"special effects in OpenERP: view can not have entries, consolidation are accounts that "\
], 'Internal Type', required=True, help="The 'Internal Type' is used for features available on "\
"different types of accounts: view can not have journal items, consolidation are accounts that "\
"can have children accounts for multi-company consolidations, payable/receivable are for "\
"partners accounts (for debit/credit computations), closed for depreciated accounts."),
'user_type': fields.many2one('account.account.type', 'Account Type', required=True,
help="These types are defined according to your country. The type contains more information "\
"about the account and its specificities."),
help="Account Type is used for information purpose, to generate "
"country-specific legal reports, and set the rules to close a fiscal year and generate opening entries."),
'parent_id': fields.many2one('account.account', 'Parent', ondelete='cascade', domain=[('type','=','view')]),
'child_parent_ids': fields.one2many('account.account','parent_id','Children'),
'child_consol_ids': fields.many2many('account.account', 'account_account_consol_rel', 'child_id', 'parent_id', 'Consolidated Children'),
@ -602,13 +602,13 @@ class account_journal(osv.osv):
_description = "Journal"
_columns = {
'name': fields.char('Journal Name', size=64, required=True),
'code': fields.char('Code', size=5, required=True, help="The code will be used to generate the numbers of the journal entries of this journal."),
'code': fields.char('Code', size=5, required=True, help="The code will be displayed on reports."),
'type': fields.selection([('sale', 'Sale'),('sale_refund','Sale Refund'), ('purchase', 'Purchase'), ('purchase_refund','Purchase Refund'), ('cash', 'Cash'), ('bank', 'Bank and Cheques'), ('general', 'General'), ('situation', 'Opening/Closing Situation')], 'Type', size=32, required=True,
help="Select 'Sale' for Sale journal to be used at the time of making invoice."\
" Select 'Purchase' for Purchase Journal to be used at the time of approving purchase order."\
" Select 'Cash' to be used at the time of making payment."\
" Select 'General' for miscellaneous operations."\
" Select 'Opening/Closing Situation' to be used at the time of new fiscal year creation or end of year entries generation."),
help="Select 'Sale' for customer invoices journals."\
" Select 'Purchase' for supplier invoices journals."\
" Select 'Cash' or 'Bank' for journals that are used in customer or supplier payments."\
" Select 'General' for miscellaneous operations journals."\
" Select 'Opening/Closing Situation' for entries generated for new fiscal years."),
'type_control_ids': fields.many2many('account.account.type', 'account_journal_type_rel', 'journal_id','type_id', 'Type Controls', domain=[('code','<>','view'), ('code', '<>', 'closed')]),
'account_control_ids': fields.many2many('account.account', 'account_account_type_rel', 'journal_id','account_id', 'Account', domain=[('type','<>','view'), ('type', '<>', 'closed')]),
'view_id': fields.many2one('account.journal.view', 'Display Mode', required=True, help="Gives the view used when writing or browsing entries in this journal. The view tells OpenERP which fields should be visible, required or readonly and in which order. You can create your own view for a faster encoding in each journal."),
@ -660,11 +660,6 @@ class account_journal(osv.osv):
def create_sequence(self, cr, uid, vals, context=None):
"""
Create new entry sequence for every new Joural
@param cr: cursor to database
@param user: id of current user
@param ids: list of record ids to be process
@param context: context arguments, like lang, time zone
@return: return a result
"""
seq_pool = self.pool.get('ir.sequence')
seq_typ_pool = self.pool.get('ir.sequence.type')
@ -686,6 +681,8 @@ class account_journal(osv.osv):
'padding': 4,
'number_increment': 1
}
if 'company_id' in vals:
seq['company_id'] = vals['company_id']
return seq_pool.create(cr, uid, seq)
def create(self, cr, uid, vals, context=None):
@ -711,6 +708,8 @@ class account_journal(osv.osv):
name = rs.name
if rs.currency:
name = "%s (%s)" % (rs.name, rs.currency.name)
else:
name = "%s (%s)" % (rs.name, rs.company_id.currency_id.name)
res += [(rs.id, name)]
return res
@ -916,10 +915,17 @@ class account_period(osv.osv):
return False
def find(self, cr, uid, dt=None, context=None):
if context is None: context = {}
if not dt:
dt = time.strftime('%Y-%m-%d')
#CHECKME: shouldn't we check the state of the period?
ids = self.search(cr, uid, [('date_start','<=',dt),('date_stop','>=',dt)])
args = [('date_start', '<=' ,dt), ('date_stop', '>=', dt)]
if context.get('company_id', False):
args.append(('company_id', '=', context['company_id']))
else:
company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id
args.append(('company_id', '=', company_id))
ids = self.search(cr, uid, args, context=context)
if not ids:
raise osv.except_osv(_('Error !'), _('No period defined for this date: %s !\nPlease create one.')%dt)
return ids
@ -2675,9 +2681,10 @@ class wizard_multi_charts_accounts(osv.osv_memory):
return False
def _get_default_accounts(self, cr, uid, context=None):
return [{'acc_name': _('Current'),'account_type':'bank'},
{'acc_name': _('Deposit'),'account_type':'bank'},
{'acc_name': _('Cash'),'account_type':'cash'}]
return [
{'acc_name': _('Bank Account'),'account_type':'bank'},
{'acc_name': _('Cash'),'account_type':'cash'}
]
_defaults = {
'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, [uid], c)[0].company_id.id,

View File

@ -0,0 +1,103 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# 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/>.
#
##############################################################################
from tools.translate import _
from osv import fields, osv
class bank(osv.osv):
_inherit = "res.partner.bank"
_columns = {
'journal_id': fields.many2one('account.journal', 'Account Journal', help="This journal will be created automatically for this bank account when you save the record"),
}
def create(self, cr, uid, data, context={}):
result = super(bank, self).create(cr, uid, data, context=context)
self.post_write(cr, uid, [result], context=context)
return result
def write(self, cr, uid, ids, data, context={}):
result = super(bank, self).write(cr, uid, ids, data, context=context)
self.post_write(cr, uid, ids, context=context)
return result
def post_write(self, cr, uid, ids, context={}):
obj_acc = self.pool.get('account.account')
obj_data = self.pool.get('ir.model.data')
for bank in self.browse(cr, uid, ids, context):
if bank.company_id and not bank.journal_id:
# Find the code and parent of the bank account to create
dig = 6
current_num = 1
ids = obj_acc.search(cr, uid, [('type','=','liquidity')], context=context)
# No liquidity account exists, no template available
if not ids: continue
ref_acc_bank_temp = obj_acc.browse(cr, uid, ids[0], context=context)
ref_acc_bank = ref_acc_bank_temp.parent_id
while True:
new_code = str(ref_acc_bank.code.ljust(dig-len(str(current_num)), '0')) + str(current_num)
ids = obj_acc.search(cr, uid, [('code', '=', new_code), ('company_id', '=', bank.company_id.id)])
if not ids:
break
current_num += 1
acc = {
'name': (bank.bank_name or '')+' '+bank.acc_number,
'currency_id': bank.company_id.currency_id.id,
'code': new_code,
'type': 'liquidity',
'user_type': ref_acc_bank_temp.user_type.id,
'reconcile': False,
'parent_id': ref_acc_bank.id,
'company_id': bank.company_id.id,
}
acc_bank_id = obj_acc.create(cr,uid,acc,context=context)
# Get the journal view id
data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view')])
data = obj_data.browse(cr, uid, data_id[0], context=context)
view_id_cash = data.res_id
jour_obj = self.pool.get('account.journal')
new_code = 1
while True:
code = _('BNK')+str(new_code)
ids = jour_obj.search(cr, uid, [('code','=',code)], context=context)
if not ids:
break
new_code += 1
#create the bank journal
vals_journal = {
'name': (bank.bank_name or '')+' '+bank.acc_number,
'code': code,
'type': 'bank',
'company_id': bank.company_id.id,
'analytic_journal_id': False,
'currency_id': False,
'default_credit_account_id': acc_bank_id,
'default_debit_account_id': acc_bank_id,
'view_id': view_id_cash
}
journal_id = jour_obj.create(cr, uid, vals_journal, context=context)
self.write(cr, uid, [bank.id], {'journal_id': journal_id}, context=context)
return True

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!--
Bank Accounts
-->
<record id="view_partner_bank_form_inherit" model="ir.ui.view">
<field name="name">Partner Bank Accounts - Journal</field>
<field name="model">res.partner.bank</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="arch" type="xml">
<group name="bank" position="after">
<group name="accounting" col="2" colspan="2" attrs="{'invisible': [('company_id','=', False)]}">
<separator string="Accounting Information" colspan="2"/>
<field name="journal_id"/>
</group>
</group>
</field>
</record>
<record id="action_bank_tree" model="ir.actions.act_window">
<field name="name">Bank Accounts</field>
<field name="res_model">res.partner.bank</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_partner_id':ref('base.main_partner'), 'company_hide':False, 'default_company_id':ref('base.main_company'), 'search_default_my_bank':1}"/>
<field name="help">Configure your company's bank account and select those that must appear on the report footer. You can drag &amp; drop bank in the list view to reorder bank accounts. If you use the accounting application of OpenERP, journals and accounts will be created automatically based on these data.</field>
</record>
<menuitem
sequence="0"
parent="account.account_account_menu"
id="menu_action_bank_tree"
action="action_bank_tree"/>
<record id="account_configuration_bank_todo" model="ir.actions.todo">
<field name="action_id" ref="action_bank_tree"/>
<field name="category_id" ref="category_accounting_configuration"/>
<field name="sequence">4</field>
</record>
</data>
</openerp>

View File

@ -51,26 +51,22 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Invoice Line">
<notebook>
<page string="Line">
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/>
<field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/>
<field name="quantity"/>
<field name="price_unit"/>
<field name="discount" groups="base.group_extended"/>
<field colspan="4" name="name"/>
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view')]" name="account_id" on_change="onchange_account_id(parent.fiscal_position,account_id)"/>
<field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
<newline/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
<separator colspan="4" string="Taxes"/>
<field colspan="4" name="invoice_line_tax_id" context="{'type':parent.type}" domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]"
nolabel="1"/>
</page>
<page string="Notes">
<field colspan="4" name="note" nolabel="1"/>
</page>
</notebook>
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/>
<field colspan="2" name="name"/>
<label string="Quantity :" align="1.0"/>
<group colspan="1" col="2">
<field name="quantity" nolabel="1"/>
<field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)" nolabel="1"/>
</group>
<field name="price_unit"/>
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view')]" name="account_id" on_change="onchange_account_id(parent.fiscal_position,account_id)"/>
<field name="discount" groups="base.group_extended"/>
<field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
<separator string="Notes" colspan="4"/>
<field colspan="4" name="note" nolabel="1"/>
<separator colspan="4" string="Taxes"/>
<field colspan="4" name="invoice_line_tax_id" context="{'type':parent.type}" domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]" nolabel="1"/>
</form>
</field>
</record>
@ -238,6 +234,7 @@
<field name="payment_ids" colspan="4" nolabel="1" >
<tree string="Payments">
<field name="date" string="Payment Date"/>
<field name="move_id"/>
<field name="ref"/>
<field name="name" groups="base.group_extended"/>
<field name="journal_id"/>
@ -336,6 +333,7 @@
<field name="payment_ids" colspan="4" nolabel="1">
<tree string="Payments">
<field name="date"/>
<field name="move_id"/>
<field name="ref"/>
<field name="name"/>
<field name="journal_id" groups="base.group_user"/>

View File

@ -362,7 +362,7 @@
<field name="help">Here you can customize an existing journal view or create a new view. Journal views determine the way you can record entries in your journal. Select the fields you want to appear in a journal and determine the sequence in which they will appear. Then you can create a new journal and link your view to it.</field>
</record>
<menuitem action="action_account_journal_view" id="menu_action_account_journal_view" parent="account.menu_journals"/>
<menuitem action="action_account_journal_view" id="menu_action_account_journal_view" parent="account.menu_journals" sequence="20" groups="base.group_extended"/>
<!--
# Account Journal
@ -767,7 +767,7 @@
<field name="search_view_id" ref="view_account_type_search"/>
<field name="help">An account type is used to determine how an account is used in each journal. The deferral method of an account type determines the process for the annual closing. Reports such as the Balance Sheet and the Profit and Loss report use the category (profit/loss or balance sheet). For example, the account type could be linked to an asset account, expense account or payable account. From this view, you can create and manage the account types you need for your company.</field>
</record>
<menuitem action="action_account_type_form" sequence="6" id="menu_action_account_type_form" parent="account_account_menu"/>
<menuitem action="action_account_type_form" sequence="20" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_extended"/>
<!--
Entries
-->

View File

@ -36,12 +36,13 @@ class res_company(osv.osv):
}
_defaults = {
'overdue_msg': 'Please note that the following payments are now due. If your payment \
has been sent, kindly forward your payment details. If payment will be \
delayed further, please contact us to discuss. \
\nWould your payment have been carried out after this mail was sent, please consider the present one as void.'
'overdue_msg': '''Our records indicate that the following payments are still due. If the amount
has already been paid, please disregard this notice. However, if you have any
queries regarding your account, please contact us.
Thank you in advance.
'''
}
res_company()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -25,6 +25,40 @@
<field name="name">Payment Term</field>
<field name="digits">6</field>
</record>
<record id="account_payment_term_net" model="account.payment.term">
<field name="name">30 Net Days</field>
<field name="note">30 Net Days</field>
</record>
<record id="account_payment_term_line_net" model="account.payment.term.line">
<field name="name">30 Net Days</field>
<field name="value">balance</field>
<field eval="30" name="days"/>
<field eval="0" name="days2"/>
<field eval="account_payment_term_net" name="payment_id"/>
</record>
<record id="account_payment_term_advance" model="account.payment.term">
<field name="name">30% Advance End 30 Days</field>
<field name="note">30% Advance End 30 Days</field>
</record>
<record id="account_payment_term_line_advance1" model="account.payment.term.line">
<field name="name">30% Advance</field>
<field name="value">procent</field>
<field eval="3" name="sequence"/>
<field eval="0.300000" name="value_amount"/>
<field eval="0" name="days"/>
<field eval="0" name="days2"/>
<field eval="account_payment_term_advance" name="payment_id"/>
</record>
<record id="account_payment_term_line_advance2" model="account.payment.term.line">
<field name="name">Remaining Balance</field>
<field name="value">balance</field>
<field eval="30" name="days"/>
<field eval="-1" name="days2"/>
<field eval="account_payment_term_advance" name="payment_id"/>
</record>
<!--
Account Journal View
-->

View File

@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<openerp>
<data noupdate="1">
<record id="account_invoice_0" model="account.invoice">
<record id="demo_invoice_0" model="account.invoice">
<field name="date_due">2011-07-21</field>
<field name="payment_term" ref="account.account_payment_term"/>
<field name="journal_id" ref="account.refund_expenses_journal"/>
@ -16,795 +16,33 @@
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field name="date_invoice">2011-06-01</field>
<field eval="18.0" name="amount_untaxed"/>
<field eval="18.0" name="amount_total"/>
<field eval="14.0" name="amount_untaxed"/>
<field eval="14.0" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_maxtor"/>
</record>
<record id="account_invoice_line_rpanrearpanelshe0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<record id="demo_invoice_0_line_rpanrearpanelshe0" model="account.invoice.line">
<field name="invoice_id" ref="demo_invoice_0"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="10.0" name="price_unit"/>
<field eval="10.0" name="price_subtotal"/>
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="price_unit" eval="10.0" />
<field name="price_subtotal" eval="10.0" />
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="invoice_line_tax_id" eval="[(6,0,[])]"/>
<field name="product_id" ref="product.product_product_rearpanelarm0"/>
<field eval="1.0" name="quantity"/>
<field name="quantity" eval="1.0" />
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RPAN100] Rear Panel SHE100</field>
</record>
<record id="account_invoice_line_rckrackcm0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<record id="demo_invoice_0_line_rckrackcm0" model="account.invoice.line">
<field name="invoice_id" ref="demo_invoice_0"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="4.0" name="price_unit"/>
<field eval="4.0" name="price_subtotal"/>
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="price_unit" eval="4.0"/>
<field name="price_subtotal" eval="4.0"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="invoice_line_tax_id" eval="[(6,0,[])]"/>
<field name="product_id" ref="product.product_product_shelf1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RCK200] Rack 200cm</field>
</record>
<record id="account_invoice_line_rckrackcm1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="4.0" name="price_unit"/>
<field eval="4.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_shelf1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RCK200] Rack 200cm</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_1" model="account.invoice">
<field name="date_due">2011-05-30</field>
<field name="payment_term" ref="account.account_payment_term"/>
<field name="journal_id" ref="account.refund_expenses_journal"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_3000"/>
<field name="user_id" ref="base.user_demo"/>
<field name="address_contact_id" ref="base.res_partner_address_3000"/>
<field name="reference_type">none</field>
<field name="company_id" ref="base.main_company"/>
<field name="state">draft</field>
<field name="type">in_invoice</field>
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field name="date_invoice">2011-05-01</field>
<field eval="1400.0" name="amount_untaxed"/>
<field eval="1400.0" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
</record>
<record id="account_invoice_line_pccompletepcwithperipherals0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="500.0" name="price_unit"/>
<field eval="500.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_23"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field name="name">[PC0] Complete PC With Peripherals</field>
</record>
<record id="account_invoice_line_pcbasicpc0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="300.0" name="price_unit"/>
<field eval="300.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_pc1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field name="name">[PC1] Basic PC</field>
</record>
<record id="account_invoice_line_pcmediumpc0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="600.0" name="price_unit"/>
<field eval="600.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_pc3"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field name="name">[PC3] Medium PC</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_2" model="account.invoice">
<field name="date_due">2011-04-25</field>
<field eval="60.0" name="check_total"/>
<field name="number">exj/2011/0001</field>
<field name="journal_id" ref="account.refund_expenses_journal"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_tang"/>
<field name="user_id" ref="base.user_admin"/>
<field name="address_contact_id" ref="base.res_partner_address_tang"/>
<field name="reference_type">none</field>
<field name="company_id" ref="base.main_company"/>
<field name="state">open</field>
<field name="type">in_invoice</field>
<field name="internal_number">exj/2011/0001</field>
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field eval="60.0" name="residual"/>
<field name="move_name">/</field>
<field name="date_invoice">2011-04-01</field>
<field name="period_id" ref="account.period_4"/>
<field eval="60.0" name="amount_untaxed"/>
<field model="account.move" name="move_id" search="[('name', '=', u'exj/2011/0001')]"/>
<field eval="60.0" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_asus"/>
</record>
<record id="account_invoice_line_mbmainboardasustekanx0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="54.0" name="price_unit"/>
<field eval="54.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_mb1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_asus"/>
<field name="name">[MB1] Mainboard ASUStek A7N8X</field>
</record>
<record id="account_invoice_line_metcmetalcleats0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="1.0" name="price_unit"/>
<field eval="1.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_metalcleats0"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_asus"/>
<field name="name">[METC000] Metal Cleats</field>
</record>
<record id="account_invoice_line_moumouse0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="5.0" name="price_unit"/>
<field eval="5.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_25"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_asus"/>
<field name="name">[MOU] Mouse</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_3" model="account.invoice">
<field name="date_due">2011-03-30</field>
<field name="payment_term" ref="account.account_payment_term"/>
<field name="journal_id" ref="account.refund_expenses_journal"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_1"/>
<field name="user_id" ref="base.user_admin"/>
<field name="address_contact_id" ref="base.res_partner_address_1"/>
<field name="reference_type">none</field>
<field name="company_id" ref="base.main_company"/>
<field name="state">draft</field>
<field name="type">out_invoice</field>
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field name="date_invoice">2011-03-01</field>
<field eval="15.0" name="amount_untaxed"/>
<field eval="15.0" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_fabiendupont0"/>
</record>
<record id="account_invoice_line_hothotelexpenses0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="1.0" name="price_unit"/>
<field eval="1.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_hotelexpenses0"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_fabiendupont0"/>
<field name="name">[HOT] Hotel Expenses</field>
</record>
<record id="account_invoice_line_keyakeyboardazerty0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="7.0" name="price_unit"/>
<field eval="7.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_24"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_fabiendupont0"/>
<field name="name">[KEYA] Keyboard - AZERTY</field>
</record>
<record id="account_invoice_line_kitkitkeyboardmouse0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="7.0" name="price_unit"/>
<field eval="7.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_26"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_fabiendupont0"/>
<field name="name">[KIT0] Kit Keyboard + Mouse</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_4" model="account.invoice">
<field name="date_due">2011-03-31</field>
<field name="payment_term" ref="account.account_payment_term"/>
<field name="number">saj/2011/0003</field>
<field name="journal_id" ref="account.refund_expenses_journal"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_marcdubois0"/>
<field name="user_id" ref="base.user_admin"/>
<field name="address_contact_id" ref="base.res_partner_address_marcdubois0"/>
<field name="reference_type">none</field>
<field name="company_id" ref="base.main_company"/>
<field name="state">open</field>
<field name="type">out_invoice</field>
<field name="internal_number">saj/2011/0003</field>
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field eval="143.5" name="residual"/>
<field name="move_name">/</field>
<field name="date_invoice">2011-02-01</field>
<field name="period_id" ref="account.period_2"/>
<field eval="143.5" name="amount_untaxed"/>
<field model="account.move" name="move_id" search="[('name', '=', u'saj/2011/0003')]"/>
<field eval="143.5" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
</record>
<record id="account_invoice_line_fansilentfan0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="18.5" name="price_unit"/>
<field eval="18.5" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_fan2"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
<field name="name">[FAN2] Silent fan</field>
</record>
<record id="account_invoice_line_hddhddseagategb0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="50.0" name="price_unit"/>
<field eval="50.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_hdd1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
<field name="name">[HDD1] HDD Seagate 7200.8 80GB</field>
</record>
<record id="account_invoice_line_hddhddseagategb1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="75.0" name="price_unit"/>
<field eval="75.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_hdd2"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
<field name="name">[HDD2] HDD Seagate 7200.8 120GB</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_5" model="account.invoice">
<field name="date_due">2011-02-28</field>
<field name="payment_term" ref="account.account_payment_term"/>
<field name="number">saj/2011/0002</field>
<field name="journal_id" ref="account.refund_expenses_journal"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_zen"/>
<field name="user_id" ref="base.user_admin"/>
<field name="address_contact_id" ref="base.res_partner_address_zen"/>
<field name="reference_type">none</field>
<field name="company_id" ref="base.main_company"/>
<field name="state">open</field>
<field name="type">out_invoice</field>
<field name="internal_number">saj/2011/0002</field>
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field eval="508.0" name="residual"/>
<field name="move_name">/</field>
<field name="date_invoice">2011-01-16</field>
<field name="period_id" ref="account.period_1"/>
<field eval="508.0" name="amount_untaxed"/>
<field model="account.move" name="move_id" search="[('name', '=', u'saj/2011/0002')]"/>
<field eval="508.0" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_3"/>
</record>
<record id="account_invoice_line_cpugenregularprocessorconfig0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="300.0" name="price_unit"/>
<field eval="300.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_cpu_gen"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">[CPU_GEN] Regular processor config</field>
</record>
<record id="account_invoice_line_emplemployee0" model="account.invoice.line">
<field name="uos_id" ref="product.uom_hour"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="200.0" name="price_unit"/>
<field eval="200.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_employee0"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">[EMPL] Employee</field>
</record>
<record id="account_invoice_line_fanregularcasefanmm0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="8.0" name="price_unit"/>
<field eval="8.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_fan"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">[FAN] Regular case fan 80mm</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_6" model="account.invoice">
<field name="date_due">2011-01-31</field>
<field name="payment_term" ref="account.account_payment_term"/>
<field name="number">saj/2011/0001</field>
<field name="journal_id" ref="account.refund_expenses_journal"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_9"/>
<field name="user_id" ref="base.user_admin"/>
<field name="address_contact_id" ref="base.res_partner_address_9"/>
<field name="reference_type">none</field>
<field name="company_id" ref="base.main_company"/>
<field name="state">open</field>
<field name="type">out_invoice</field>
<field name="internal_number">saj/2011/0001</field>
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field eval="675.0" name="residual"/>
<field name="move_name">/</field>
<field name="date_invoice">2011-01-01</field>
<field name="period_id" ref="account.period_1"/>
<field eval="675.0" name="amount_untaxed"/>
<field model="account.move" name="move_id" search="[('name', '=', u'saj/2011/0001')]"/>
<field eval="675.0" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_2"/>
</record>
<record id="account_invoice_line_cpuprocessoramdathlonxp0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="75.0" name="price_unit"/>
<field eval="75.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_cpu1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field name="name">[CPU1] Processor AMD Athlon XP 1800+</field>
</record>
<record id="account_invoice_line_cpuhighspeedprocessorconfig0" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="450.0" name="price_unit"/>
<field eval="450.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_cpu2"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field name="name">[CPU2] High speed processor config</field>
</record>
<record id="account_invoice_line_cpuprocessoramdathlonxp1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', False)]"/>
<field eval="150.0" name="price_unit"/>
<field eval="150.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_cpu3"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field name="name">[CPU3] Processor AMD Athlon XP 2200+</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_po0" model="account.invoice">
<field name="origin">PO00002</field>
<field eval="900.0" name="check_total"/>
<field name="journal_id" ref="account.expenses_journal"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_zen"/>
<field name="user_id" ref="base.user_admin"/>
<field name="reference">PO00002</field>
<field name="address_contact_id" ref="base.res_partner_address_zen"/>
<field name="reference_type">none</field>
<field name="company_id" ref="base.main_company"/>
<field name="state">draft</field>
<field name="type">in_invoice</field>
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field eval="900.0" name="amount_untaxed"/>
<field eval="900.0" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">PO00002</field>
</record>
<record id="account_invoice_line_pcmediumpc1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field model="account.invoice" name="invoice_id" search="[('name', '=', u'PO00002')]"/>
<field eval="900.0" name="price_unit"/>
<field eval="900.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_pc3"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">[PC3] Medium PC</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_pcmediumpc2" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_po0"/>
<field eval="900.0" name="price_unit"/>
<field eval="900.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_pc3"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">[PC3] Medium PC</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_cpuprocessoramdathlonxp2" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_6"/>
<field eval="75.0" name="price_unit"/>
<field eval="75.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_cpu1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field name="name">[CPU1] Processor AMD Athlon XP 1800+</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_cpuhighspeedprocessorconfig1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_6"/>
<field eval="450.0" name="price_unit"/>
<field eval="450.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_cpu2"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field name="name">[CPU2] High speed processor config</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_cpuprocessoramdathlonxp3" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_6"/>
<field eval="150.0" name="price_unit"/>
<field eval="150.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_cpu3"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field name="name">[CPU3] Processor AMD Athlon XP 2200+</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_cpugenregularprocessorconfig1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_5"/>
<field eval="300.0" name="price_unit"/>
<field eval="300.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_cpu_gen"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">[CPU_GEN] Regular processor config</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_emplemployee1" model="account.invoice.line">
<field name="uos_id" ref="product.uom_hour"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_5"/>
<field eval="200.0" name="price_unit"/>
<field eval="200.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_employee0"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">[EMPL] Employee</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_fanregularcasefanmm1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_5"/>
<field eval="8.0" name="price_unit"/>
<field eval="8.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_fan"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="name">[FAN] Regular case fan 80mm</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_fansilentfan1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_4"/>
<field eval="18.5" name="price_unit"/>
<field eval="18.5" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_fan2"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
<field name="name">[FAN2] Silent fan</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_hddhddseagategb2" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_4"/>
<field eval="50.0" name="price_unit"/>
<field eval="50.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_hdd1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
<field name="name">[HDD1] HDD Seagate 7200.8 80GB</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_hddhddseagategb3" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_4"/>
<field eval="75.0" name="price_unit"/>
<field eval="75.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_hdd2"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
<field name="name">[HDD2] HDD Seagate 7200.8 120GB</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_hothotelexpenses1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_3"/>
<field eval="1.0" name="price_unit"/>
<field eval="1.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_hotelexpenses0"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_fabiendupont0"/>
<field name="name">[HOT] Hotel Expenses</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_keyakeyboardazerty1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_3"/>
<field eval="7.0" name="price_unit"/>
<field eval="7.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_24"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_fabiendupont0"/>
<field name="name">[KEYA] Keyboard - AZERTY</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_kitkitkeyboardmouse1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_3"/>
<field eval="7.0" name="price_unit"/>
<field eval="7.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_26"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_fabiendupont0"/>
<field name="name">[KIT0] Kit Keyboard + Mouse</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_mbmainboardasustekanx1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_2"/>
<field eval="54.0" name="price_unit"/>
<field eval="54.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_mb1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_asus"/>
<field name="name">[MB1] Mainboard ASUStek A7N8X</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_metcmetalcleats1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_2"/>
<field eval="1.0" name="price_unit"/>
<field eval="1.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_metalcleats0"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_asus"/>
<field name="name">[METC000] Metal Cleats</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_moumouse1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_2"/>
<field eval="5.0" name="price_unit"/>
<field eval="5.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_25"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_asus"/>
<field name="name">[MOU] Mouse</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_pccompletepcwithperipherals1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_1"/>
<field eval="500.0" name="price_unit"/>
<field eval="500.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_23"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field name="name">[PC0] Complete PC With Peripherals</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_pcbasicpc1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_1"/>
<field eval="300.0" name="price_unit"/>
<field eval="300.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_pc1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field name="name">[PC1] Basic PC</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_pcmediumpc3" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_1"/>
<field eval="600.0" name="price_unit"/>
<field eval="600.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_pc3"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field name="name">[PC3] Medium PC</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_rpanrearpanelshe1" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_0"/>
<field eval="10.0" name="price_unit"/>
<field eval="10.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_rearpanelarm0"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RPAN100] Rear Panel SHE100</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_rckrackcm2" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_0"/>
<field eval="4.0" name="price_unit"/>
<field eval="4.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_shelf1"/>
<field eval="1.0" name="quantity"/>
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RCK200] Rack 200cm</field>
</record>
</data>
<data noupdate="1">
<record id="account_invoice_line_rckrackcm3" model="account.invoice.line">
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="account_id" ref="account.a_expense"/>
<field name="invoice_id" ref="account_invoice_0"/>
<field eval="4.0" name="price_unit"/>
<field eval="4.0" name="price_subtotal"/>
<field name="company_id" ref="base.main_company"/>
<field eval="[(6,0,[])]" name="invoice_line_tax_id"/>
<field name="product_id" ref="product.product_product_shelf1"/>
<field eval="1.0" name="quantity"/>
<field name="quantity" eval="1.0" />
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RCK200] Rack 200cm</field>
</record>

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-07-15 02:11+0000\n"
"Last-Translator: Chronos <robie@centrum.cz>\n"
"PO-Revision-Date: 2011-08-13 17:32+0000\n"
"Last-Translator: Jan B. Krejčí <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-07-16 04:56+0000\n"
"X-Generator: Launchpad (build 13405)\n"
"X-Launchpad-Export-Date: 2011-08-14 04:44+0000\n"
"X-Generator: Launchpad (build 13674)\n"
"X-Poedit-Language: Czech\n"
#. module: account
@ -40,13 +40,12 @@ msgid ""
"You cannot remove/deactivate an account which is set as a property to any "
"Partner."
msgstr ""
"Nemůžete odstranit/deaktivovat účet, který je nastaven jako vlastnost "
"některého partnera"
"Nemůžete odstranit/deaktivovat účet, který je přiřazen některému partnerovi"
#. module: account
#: view:account.move.reconcile:0
msgid "Journal Entry Reconcile"
msgstr ""
msgstr "Likvidace záznamu v knize"
#. module: account
#: field:account.installer.modules,account_voucher:0
@ -71,12 +70,12 @@ msgstr "Zbytek"
#: code:addons/account/invoice.py:793
#, python-format
msgid "Please define sequence on invoice journal"
msgstr "Prosím nadefinujte sekvenci knihy faktur"
msgstr "Prosím nadefinujte číselnou řadu knihy faktur"
#. module: account
#: constraint:account.period:0
msgid "Error ! The duration of the Period(s) is/are invalid. "
msgstr "Chyba! Délku období (s) je / jsou neplatné. "
msgstr "Chyba! Neplatná délka období. "
#. module: account
#: field:account.analytic.line,currency_id:0
@ -91,12 +90,12 @@ msgstr "Definice potomků"
#. module: account
#: model:ir.model,name:account.model_report_aged_receivable
msgid "Aged Receivable Till Today"
msgstr "Splatné pohledávky do dnešního dne"
msgstr "Pohledávky splatné ke dnešku"
#. module: account
#: field:account.partner.ledger,reconcil:0
msgid "Include Reconciled Entries"
msgstr ""
msgstr "Zahrnout zlikvidované záznamy"
#. module: account
#: view:account.pl.report:0
@ -104,13 +103,13 @@ msgid ""
"The Profit and Loss report gives you an overview of your company profit and "
"loss in a single document"
msgstr ""
"Výkaz zisku a ztrát Vám dá přehled o zisku a ztrátě společnosti v jediném "
"Výkaz zisku a ztráty Vám dá přehled o zisku či ztrátě společnosti v jediném "
"dokumentu"
#. module: account
#: model:process.transition,name:account.process_transition_invoiceimport0
msgid "Import from invoice or payment"
msgstr "Importovat z faktur nebo plateb"
msgstr "Importovat z faktury nebo platby"
#. module: account
#: model:ir.model,name:account.model_wizard_multi_charts_accounts
@ -128,17 +127,19 @@ msgid ""
"If you unreconciliate transactions, you must also verify all the actions "
"that are linked to those transactions because they will not be disabled"
msgstr ""
"Pokud zrušíte likvidaci transakcí, musíte také zkontrolovat všechny akce, "
"které se k nim váží, protože tyto nebudou zrušeny"
#. module: account
#: report:account.tax.code.entries:0
msgid "Accounting Entries-"
msgstr "Účetní zápisy-"
msgstr "Účetní záznamy -"
#. module: account
#: code:addons/account/account.py:1305
#, python-format
msgid "You can not delete posted movement: \"%s\"!"
msgstr "Nemůžet smazat vložené pohyby: \"%s\"!"
msgstr "Nemůžet smazat zaúčtované pohyby: \"%s\"!"
#. module: account
#: report:account.invoice:0
@ -154,7 +155,7 @@ msgstr "Původ"
#: view:account.move.line.reconcile:0
#: view:account.move.line.reconcile.writeoff:0
msgid "Reconcile"
msgstr "Vyrovnání"
msgstr "Likvidace"
#. module: account
#: field:account.bank.statement.line,ref:0
@ -169,7 +170,7 @@ msgstr "Odkaz"
#. module: account
#: view:account.open.closed.fiscalyear:0
msgid "Choose Fiscal Year "
msgstr "Vyberte Daňový rok "
msgstr "VYberte fiskální rok "
#. module: account
#: help:account.payment.term,active:0
@ -178,7 +179,7 @@ msgid ""
"term without removing it."
msgstr ""
"Pokud je pole nastaveno na Nepravda, umožní vám to skrýt platební období bez "
"jeho odebrání."
"jeho odebrání."
#. module: account
#: code:addons/account/invoice.py:1436
@ -195,12 +196,12 @@ msgstr "Zdroj účtu"
#. module: account
#: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal
msgid "All Analytic Entries"
msgstr "Všechny analytické položky"
msgstr "Všechny analytické záznamy"
#. module: account
#: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard
msgid "Invoices Created Within Past 15 Days"
msgstr ""
msgstr "Faktury vytvořené v posledních 15 dnech"
#. module: account
#: selection:account.account.type,sign:0
@ -211,7 +212,7 @@ msgstr "Záporné"
#: code:addons/account/wizard/account_move_journal.py:95
#, python-format
msgid "Journal: %s"
msgstr "Deník: %s"
msgstr "Kniha: %s"
#. module: account
#: help:account.analytic.journal,type:0
@ -220,6 +221,9 @@ msgid ""
"invoice) to create analytic entries, OpenERP will look for a matching "
"journal of the same type."
msgstr ""
"Udává typ analytické knihy. Pokud mají být pro dokument (např. fakturu) "
"vytvořeny analytické položky, OpenERP bude hledet vyhovující knihu shodného "
"typu."
#. module: account
#: model:ir.actions.act_window,name:account.action_account_tax_template_form
@ -239,13 +243,13 @@ msgid ""
"No period defined for this date: %s !\n"
"Please create a fiscal year."
msgstr ""
"Není určena perioda pro tento datum: %s !\n"
"Prosíme vytvořte daňový rok."
"Pro toto datum: %s není definováno období.\n"
"Prosím vytvořte fiskální rok."
#. module: account
#: model:ir.model,name:account.model_account_move_line_reconcile_select
msgid "Move line reconcile select"
msgstr ""
msgstr "Výběr likvidace pohybu"
#. module: account
#: help:account.model.line,sequence:0
@ -253,6 +257,8 @@ msgid ""
"The sequence field is used to order the resources from lower sequences to "
"higher ones"
msgstr ""
"Pole \"sequence\" je použito pro řazení záznamů od nejnižšího čísla k "
"nejvyššímu"
#. module: account
#: help:account.tax.code,notprintable:0
@ -261,17 +267,19 @@ msgid ""
"Check this box if you don't want any VAT related to this Tax Code to appear "
"on invoices"
msgstr ""
"Zaškrtněte toto pole, pokud nechcete, aby se ve fakturách objevovalo k "
"tomuto daňovému kódu žádné DPH"
#. module: account
#: code:addons/account/invoice.py:1224
#, python-format
msgid "Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)"
msgstr "Faktura '%s' je částečně zaplacená: %s%s of %s%s (%s%s zbývá)"
msgstr "Faktura '%s' je zaplacená částečně: %s%s z %s%s (zbývá %s%s)"
#. module: account
#: model:process.transition,note:account.process_transition_supplierentriesreconcile0
msgid "Accounting entries are an input of the reconciliation."
msgstr "Účetní položky jsou vstupem vyrovnání."
msgstr "Účetní záznamy jsou vstupem likvidace"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_management_belgian_reports
@ -282,12 +290,12 @@ msgstr "Belgické výkazy"
#: code:addons/account/account_move_line.py:1182
#, python-format
msgid "You can not add/modify entries in a closed journal."
msgstr "Nemůžete přida/upravit položky v uzavřeném deníku."
msgstr "Nemůžete přidávat/upravovat položky v uzavřené knize."
#. module: account
#: view:account.bank.statement:0
msgid "Calculated Balance"
msgstr "Spočítat rozvahu"
msgstr "Vypočtený zůstatek"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_use_model_create_entry
@ -299,7 +307,7 @@ msgstr "Ruční opakování"
#. module: account
#: view:account.fiscalyear.close.state:0
msgid "Close Fiscalyear"
msgstr "Uzavřít finační rok"
msgstr "Uzávěrka fiskálního roku"
#. module: account
#: field:account.automatic.reconcile,allow_write_off:0
@ -314,13 +322,13 @@ msgstr "Vyberte období pro analýzu"
#. module: account
#: view:account.move.line:0
msgid "St."
msgstr ""
msgstr "Sv."
#. module: account
#: code:addons/account/invoice.py:532
#, python-format
msgid "Invoice line account company does not match with invoice company."
msgstr ""
msgstr "Firma řádku faktury nesouhlasí s firmou faktury"
#. module: account
#: field:account.journal.column,field:0
@ -333,6 +341,8 @@ msgid ""
"Installs localized accounting charts to match as closely as possible the "
"accounting needs of your company based on your country."
msgstr ""
"Nainstaluje lokalizované účtové rozvrhy, co nejlépe odpovídající účetním "
"potřebám vaší firmy a vaší země."
#. module: account
#: code:addons/account/wizard/account_move_journal.py:63
@ -343,11 +353,15 @@ msgid ""
"You can create one in the menu: \n"
"Configuration/Financial Accounting/Accounts/Journals."
msgstr ""
"Pro tuto firmu neexistuje účetní kniha typu %s.\n"
"\n"
"Můžete ji vytvořit v nabídce:\n"
"Konfigurace/Finanční účetnictví/Účty/Knihy"
#. module: account
#: model:ir.model,name:account.model_account_unreconcile
msgid "Account Unreconcile"
msgstr ""
msgstr "Zrušit likvidaci"
#. module: account
#: view:product.product:0
@ -377,6 +391,9 @@ msgid ""
"OpenERP. Journal items are created by OpenERP if you use Bank Statements, "
"Cash Registers, or Customer/Supplier payments."
msgstr ""
"Tento pohled je používán účetními pro hromadné vytváření záznamů. OpenERP "
"vytvoří záznamy, když použijete bankovní výpisy, pokladnu nebo platby "
"klientů či dodavatelům."
#. module: account
#: model:ir.model,name:account.model_account_tax_template
@ -397,12 +414,12 @@ msgstr "Datum vytvoření"
#. module: account
#: selection:account.journal,type:0
msgid "Purchase Refund"
msgstr ""
msgstr "Dobropis přijatý"
#. module: account
#: selection:account.journal,type:0
msgid "Opening/Closing Situation"
msgstr ""
msgstr "Počáteční/konečný stav"
#. module: account
#: help:account.journal,currency:0
@ -412,7 +429,7 @@ msgstr "Měna použitá k zadání příkazu"
#. module: account
#: field:account.open.closed.fiscalyear,fyear_id:0
msgid "Fiscal Year to Open"
msgstr "Finanční rok k otevření"
msgstr "Fiskální rok k otevření"
#. module: account
#: help:account.journal,sequence_id:0
@ -420,11 +437,12 @@ msgid ""
"This field contains the informatin related to the numbering of the journal "
"entries of this journal."
msgstr ""
"Toto pole obsahuje informace související s číslováním záznamů této knihy."
#. module: account
#: field:account.journal,default_debit_account_id:0
msgid "Default Debit Account"
msgstr "Výchozí dluhový účet"
msgstr "Výchozí debetní účet"
#. module: account
#: view:account.move:0
@ -439,7 +457,7 @@ msgstr "Kladný"
#. module: account
#: view:account.move.line.unreconcile.select:0
msgid "Open For Unreconciliation"
msgstr "Otevřít pro vyrovnání"
msgstr "Otevřít pro zrušení likvidace"
#. module: account
#: field:account.fiscal.position.template,chart_template_id:0
@ -460,6 +478,9 @@ msgid ""
"it comes to 'Printed' state. When all transactions are done, it comes in "
"'Done' state."
msgstr ""
"Když je vytvořen záznam v knize, jeho stav je \"Draft\". Když je vytištěn "
"report, stav se změní na \"Printed\". Když jsou hotovy všechny transakce, "
"záznam přejde do stavu \"Done\"."
#. module: account
#: model:ir.actions.act_window,help:account.action_account_tax_chart
@ -469,6 +490,10 @@ msgid ""
"amount of each area of the tax declaration for your country. Its presented "
"in a hierarchical structure, which can be modified to fit your needs."
msgstr ""
"Daňový přehled je strom reprezentující strukturu daňových kódů či případů, "
"který zobrazuje aktuální daňovou situaci. Přehled zobrazuje výši všech "
"oblastí daňového přiznání pro vaši zemi. Je strukturován hierarchicky a může "
"být podle potřeby upraven."
#. module: account
#: view:account.analytic.line:0
@ -502,7 +527,7 @@ msgstr ""
#: field:validate.account.move,journal_id:0
#, python-format
msgid "Journal"
msgstr "Deník"
msgstr "Kniha"
#. module: account
#: model:ir.model,name:account.model_account_invoice_confirm
@ -517,7 +542,7 @@ msgstr "Nadřazený cíl"
#. module: account
#: field:account.bank.statement,account_id:0
msgid "Account used in this journal"
msgstr "Účet použitý v tomto deníku"
msgstr "Účet použitý v této knize"
#. module: account
#: help:account.aged.trial.balance,chart_account_id:0
@ -536,17 +561,17 @@ msgstr "Účet použitý v tomto deníku"
#: help:account.report.general.ledger,chart_account_id:0
#: help:account.vat.declaration,chart_account_id:0
msgid "Select Charts of Accounts"
msgstr ""
msgstr "Vyberte účtový rozvrh"
#. module: account
#: view:product.product:0
msgid "Purchase Taxes"
msgstr "Daně nákupu"
msgstr "Nákupní daně"
#. module: account
#: model:ir.model,name:account.model_account_invoice_refund
msgid "Invoice Refund"
msgstr "Vrácení faktury"
msgstr "Dobropis vydaný"
#. module: account
#: report:account.overdue:0
@ -556,13 +581,13 @@ msgstr ""
#. module: account
#: field:account.automatic.reconcile,unreconciled:0
msgid "Not reconciled transactions"
msgstr "Žádné vyrovnané transakce"
msgstr "Nezlikvidované transakce"
#. module: account
#: code:addons/account/account_cash_statement.py:349
#, python-format
msgid "CashBox Balance is not matching with Calculated Balance !"
msgstr ""
msgstr "Stav pokladny neodpovídá vypočtenému zůstatku!"
#. module: account
#: view:account.fiscal.position:0
@ -575,12 +600,12 @@ msgstr "Mapování daně"
#: model:ir.actions.act_window,name:account.action_account_fiscalyear_close_state
#: model:ir.ui.menu,name:account.menu_wizard_fy_close_state
msgid "Close a Fiscal Year"
msgstr "Uzavřít finanční rok"
msgstr "Uzavřít fiskální rok"
#. module: account
#: model:process.transition,note:account.process_transition_confirmstatementfromdraft0
msgid "The accountant confirms the statement."
msgstr "Účetní potvrzuje příkaz"
msgstr "Účetní potvrzuje výpis."
#. module: account
#: selection:account.balance.report,display_account:0
@ -596,12 +621,12 @@ msgstr "Vše"
#. module: account
#: field:account.invoice.report,address_invoice_id:0
msgid "Invoice Address Name"
msgstr "Jméno adresy faktury"
msgstr "Název příjemce faktury"
#. module: account
#: selection:account.installer,period:0
msgid "3 Monthly"
msgstr "3 měsíce"
msgstr "Kvartální"
#. module: account
#: view:account.unreconcile.reconcile:0
@ -609,6 +634,8 @@ msgid ""
"If you unreconciliate transactions, you must also verify all the actions "
"that are linked to those transactions because they will not be disable"
msgstr ""
"Pokud zrušíte likvidaci transakcí, musíte také zkontrolovat všechny akce, "
"které s nimi souvisejí, protože tyto nebudou zrušeny"
#. module: account
#: view:analytic.entries.report:0
@ -618,7 +645,7 @@ msgstr " 30 dní "
#. module: account
#: field:ir.sequence,fiscal_ids:0
msgid "Sequences"
msgstr "Posloupnosti"
msgstr "Číselné řady"
#. module: account
#: view:account.fiscal.position.template:0
@ -628,12 +655,12 @@ msgstr "Mapování daní"
#. module: account
#: report:account.central.journal:0
msgid "Centralized Journal"
msgstr "Centralizovaný deník"
msgstr "Centralizovaná kniha"
#. module: account
#: sql_constraint:account.sequence.fiscalyear:0
msgid "Main Sequence must be different from current !"
msgstr "Hlavní posloupnost musí být odlišná od aktuální !"
msgstr "Hlavní číselná řada musí být odlišná od současné!"
#. module: account
#: field:account.invoice.tax,tax_amount:0
@ -645,18 +672,18 @@ msgstr "Částka kódu daně"
#: code:addons/account/installer.py:434
#, python-format
msgid "SAJ"
msgstr ""
msgstr "KFV"
#. module: account
#: help:account.bank.statement,balance_end_real:0
msgid "closing balance entered by the cashbox verifier"
msgstr ""
msgstr "konečný zůstatek zadaný ověřovatelem pokladny"
#. module: account
#: view:account.period:0
#: view:account.period.close:0
msgid "Close Period"
msgstr "Ukončit období"
msgstr "Uzavřít období"
#. module: account
#: model:ir.model,name:account.model_account_common_partner_report
@ -666,19 +693,19 @@ msgstr ""
#. module: account
#: field:account.fiscalyear.close,period_id:0
msgid "Opening Entries Period"
msgstr "Období otvíracích položek"
msgstr "Období počátečních zůstatků"
#. module: account
#: model:ir.model,name:account.model_account_journal_period
msgid "Journal Period"
msgstr "Období deníku"
msgstr "Období knihy"
#. module: account
#: code:addons/account/account_move_line.py:723
#: code:addons/account/account_move_line.py:767
#, python-format
msgid "To reconcile the entries company should be the same for all entries"
msgstr ""
msgstr "Při likvidaci záznamů by u všech měla být stejná firma"
#. module: account
#: view:account.account:0
@ -690,12 +717,12 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_aged_receivable
#, python-format
msgid "Receivable Accounts"
msgstr "Účety pohledávek"
msgstr "Pohledávky"
#. module: account
#: model:ir.model,name:account.model_account_report_general_ledger
msgid "General Ledger Report"
msgstr "ˇ"
msgstr "Hlavní kniha"
#. module: account
#: view:account.invoice:0
@ -705,17 +732,17 @@ msgstr "Znovu otevřít"
#. module: account
#: view:account.use.model:0
msgid "Are you sure you want to create entries?"
msgstr "Chcete opravdu vytvořit položky?"
msgstr "Opravdu chcete vytvořit záznamy?"
#. module: account
#: selection:account.bank.accounts.wizard,account_type:0
msgid "Check"
msgstr "Zkontrolovat"
msgstr "Šekový"
#. module: account
#: field:account.partner.reconcile.process,today_reconciled:0
msgid "Partners Reconciled Today"
msgstr ""
msgstr "Dnes likvidovaní partneři"
#. module: account
#: selection:account.payment.term.line,value:0
@ -864,6 +891,7 @@ msgstr "Vytvořit 3-měsíční období"
#. module: account
#: report:account.overdue:0
#: report:account.aged_trial_balance:0
msgid "Due"
msgstr "Do"
@ -916,7 +944,7 @@ msgstr ""
#. module: account
#: model:process.node,note:account.process_node_accountingstatemententries0
msgid "Bank statement"
msgstr "Bankovní příkaz"
msgstr "Bankovní výpis"
#. module: account
#: field:account.analytic.line,move_id:0
@ -955,6 +983,10 @@ msgstr "Položky modelu"
#: field:account.journal,code:0
#: report:account.partner.balance:0
#: field:account.period,code:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Code"
msgstr "Kód"
@ -1072,7 +1104,7 @@ msgstr "Začátek období"
#. module: account
#: model:process.transition,name:account.process_transition_confirmstatementfromdraft0
msgid "Confirm statement"
msgstr "Potvrdit příkaz"
msgstr "Potvrdit výpis"
#. module: account
#: field:account.fiscal.position.tax,tax_dest_id:0
@ -1276,6 +1308,7 @@ msgstr "Analýza položek deníku"
#. module: account
#: model:ir.ui.menu,name:account.next_id_22
#: report:account.aged_trial_balance:0
msgid "Partners"
msgstr "Partneři"
@ -1286,7 +1319,7 @@ msgstr "Partneři"
#: model:process.node,name:account.process_node_bankstatement0
#: model:process.node,name:account.process_node_supplierbankstatement0
msgid "Bank Statement"
msgstr "Bankovní příkaz"
msgstr "Bankovní výpis"
#. module: account
#: view:res.partner:0
@ -1373,6 +1406,9 @@ msgid ""
"entry per accounting document: invoice, refund, supplier payment, bank "
"statements, etc."
msgstr ""
"Záznam v knize se skládá z položek, kde každá je debetní nebo kreditní "
"transakcí. OpenERP automaticky vytvoří jeden záznam v knize pro každý účetní "
"dokument: fakturu, dobropis, platbu dodavateli, bankovní výpis atd."
#. module: account
#: view:account.entries.report:0
@ -1475,7 +1511,7 @@ msgstr "Jít na dalšího partnera"
#. module: account
#: view:account.bank.statement:0
msgid "Search Bank Statements"
msgstr "Hledat bankovní příkazy"
msgstr "Hledat v bankovních výpisech"
#. module: account
#: sql_constraint:account.model.line:0
@ -1499,7 +1535,7 @@ msgstr ""
#: view:account.bank.statement:0
#: field:account.bank.statement,line_ids:0
msgid "Statement lines"
msgstr "Řádky příkazů"
msgstr "Řádky výpisu"
#. module: account
#: model:ir.actions.act_window,help:account.action_bank_statement_tree
@ -1511,6 +1547,10 @@ msgid ""
"the Payment column of a line, you can press F1 to open the reconciliation "
"form."
msgstr ""
"Bankovní výpis je souhrn všech transakcí v daném období na bankovním účtu. "
"Počáteční zůstatek je vyplněn automaticky, konečný byste měli najít na "
"výpisu z banky. Když jste ve sloupci Platba v položce, stiskem F1 vyvoláte "
"likvidaci."
#. module: account
#: report:account.analytic.account.cost_ledger:0
@ -1704,7 +1744,7 @@ msgstr "Tyto období se mohou překrývat."
#. module: account
#: model:process.node,name:account.process_node_draftstatement0
msgid "Draft statement"
msgstr "Návrh příkazu"
msgstr "Rozpracovaný výpis"
#. module: account
#: view:account.tax:0
@ -1916,6 +1956,8 @@ msgid ""
"be with same name as statement name. This allows the statement entries to "
"have the same references than the statement itself"
msgstr ""
"Jestliže zadáte název jiný než \"/\", budou se stejně jmenovat i vytvořené "
"účetní záznamy."
#. module: account
#: model:ir.actions.act_window,name:account.action_account_unreconcile
@ -1948,7 +1990,7 @@ msgstr "Účty k vyrovnání"
#. module: account
#: model:process.transition,note:account.process_transition_filestatement0
msgid "Import of the statement in the system from an electronic file"
msgstr ""
msgstr "Import výpisu v elektronické podobě."
#. module: account
#: model:process.node,name:account.process_node_importinvoice0
@ -2125,8 +2167,13 @@ msgstr "Šablona výrobku"
#: report:account.third_party_ledger_other:0
#: report:account.vat.declaration:0
#: model:ir.model,name:account.model_account_fiscalyear
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
#: report:account.aged_trial_balance:0
msgid "Fiscal Year"
msgstr "Přestupný rok(Fiscal Year)"
msgstr "Účetní období"
#. module: account
#: help:account.aged.trial.balance,fiscalyear_id:0
@ -2145,17 +2192,17 @@ msgstr "Přestupný rok(Fiscal Year)"
#: help:account.report.general.ledger,fiscalyear_id:0
#: help:account.vat.declaration,fiscalyear_id:0
msgid "Keep empty for all open fiscal year"
msgstr "Nechat prázdné pro všechny otevřené finanční pozice"
msgstr "Pro vybrání všech účetních období nechte pole prázdné"
#. module: account
#: model:ir.model,name:account.model_account_move
msgid "Account Entry"
msgstr "Položka účtu"
msgstr "Účetní záznam"
#. module: account
#: field:account.sequence.fiscalyear,sequence_main_id:0
msgid "Main Sequence"
msgstr "Hlavní posloupnosti"
msgstr "Hlavní číselná řada"
#. module: account
#: field:account.invoice,payment_term:0
@ -2467,7 +2514,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_bank_statement_tree
#: model:ir.ui.menu,name:account.menu_bank_statement_tree
msgid "Bank Statements"
msgstr "Bankovní příkazy"
msgstr "Bankovní výpisy"
#. module: account
#: selection:account.tax.template,applicable_type:0
@ -2651,7 +2698,7 @@ msgstr ""
#: help:account.bank.statement,account_id:0
msgid ""
"used in statement reconciliation domain, but shouldn't be used elswhere."
msgstr ""
msgstr "použito v rámci likvidace výpisu, nemělo by se používat jinde"
#. module: account
#: field:account.invoice.tax,base_amount:0
@ -3822,6 +3869,8 @@ msgid ""
"the system on document validation (invoices, bank statements...) and will be "
"created in 'Posted' state."
msgstr ""
"Ručně vytvořené účetní záznamy jsou typicky založeny jako nezaúčtované. Toto "
"jde pro vybrané knihy přeskakovat, takže založené záznamy se rovnou zaúčtují."
#. module: account
#: code:addons/account/account_analytic_line.py:90
@ -3920,7 +3969,7 @@ msgstr "Režim zobrazení"
#. module: account
#: model:process.node,note:account.process_node_importinvoice0
msgid "Statement from invoice or payment"
msgstr ""
msgstr "Výpis z faktury nebo platby"
#. module: account
#: view:account.payment.term.line:0
@ -3952,7 +4001,7 @@ msgstr "Statistiky faktur"
#. module: account
#: model:process.transition,note:account.process_transition_paymentorderreconcilation0
msgid "Bank statements are entered in the system."
msgstr ""
msgstr "Bankovní výpisy jsou zadány do systému."
#. module: account
#: code:addons/account/wizard/account_reconcile.py:133
@ -4301,7 +4350,7 @@ msgstr "Jste si jisti?"
#. module: account
#: help:account.move.line,statement_id:0
msgid "The bank statement used for bank reconciliation"
msgstr ""
msgstr "Bankovní výpis použitý pro likvidaci banky"
#. module: account
#: model:process.transition,note:account.process_transition_suppliercustomerinvoice0
@ -4511,6 +4560,11 @@ msgstr ""
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,target_move:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
#: report:account.aged_trial_balance:0
msgid "Target Moves"
msgstr "Cílové pohyby"
@ -4627,6 +4681,8 @@ msgstr "Výsledek vyrovnání"
#: view:account.bs.report:0
#: model:ir.actions.act_window,name:account.action_account_bs_report
#: model:ir.ui.menu,name:account.menu_account_bs_report
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
msgid "Balance Sheet"
msgstr "Zůstatkový list"
@ -4663,7 +4719,7 @@ msgstr ""
#. module: account
#: view:account.tax.template:0
msgid "Compute Code (if type=code)"
msgstr ""
msgstr "Vypočítat kód (pokud typ = kód)"
#. module: account
#: selection:account.analytic.journal,type:0
@ -4854,7 +4910,7 @@ msgstr "Analytické účetnictví"
#: selection:account.invoice.report,type:0
#: selection:report.invoice.created,type:0
msgid "Customer Refund"
msgstr ""
msgstr "Dobropis vystavený"
#. module: account
#: view:account.account:0
@ -5555,7 +5611,7 @@ msgstr "Šablony účtů"
#. module: account
#: report:account.vat.declaration:0
msgid "Tax Statement"
msgstr "Daňový příkaz"
msgstr "Daňový kaz"
#. module: account
#: model:ir.model,name:account.model_res_company
@ -6018,6 +6074,8 @@ msgid ""
"corresponds with the entries (or records) of that account in your accounting "
"system."
msgstr ""
"Likvidace banky spočívá v kontrole, že bankovní výpis odpovídá záznamům v "
"účetnictví."
#. module: account
#: model:process.node,note:account.process_node_draftstatement0
@ -6301,6 +6359,8 @@ msgstr ""
#: report:account.general.journal:0
#: report:account.invoice:0
#: report:account.partner.balance:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Total:"
msgstr "Celkem:"
@ -6374,7 +6434,7 @@ msgstr "Dokončeno"
#. module: account
#: model:process.transition,note:account.process_transition_invoicemanually0
msgid "A statement with manual entries becomes a draft statement."
msgstr ""
msgstr "Výpis s ručně zadanými položkami je nastaven jako rozpracovaný."
#. module: account
#: view:account.aged.trial.balance:0
@ -6409,7 +6469,7 @@ msgstr ""
#. module: account
#: model:ir.ui.menu,name:account.menu_menu_Bank_process
msgid "Statements Reconciliation"
msgstr "Vyrovnání příkazů"
msgstr "Likvidace výpisů"
#. module: account
#: report:account.invoice:0
@ -6531,7 +6591,7 @@ msgstr "Nadřazená šablona účtu"
#: field:account.move.line,statement_id:0
#: model:process.process,name:account.process_process_statementprocess0
msgid "Statement"
msgstr "Příkaz"
msgstr "Výpis"
#. module: account
#: help:account.journal,default_debit_account_id:0
@ -6627,7 +6687,7 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_bank_statement_line
msgid "Bank Statement Line"
msgstr ""
msgstr "Řádek bankovního výpisu"
#. module: account
#: field:account.automatic.reconcile,date2:0
@ -7327,6 +7387,9 @@ msgid ""
"will see the taxes with codes related to your legal statement according to "
"your country."
msgstr ""
"Tento daňový přehled slouží k vytváření pravidelných daňových výkazů. "
"Uvidíte v něm daně a jejich kódy příslušející k daňovým přiznáním podle vaší "
"země."
#. module: account
#: view:account.installer.modules:0
@ -7492,6 +7555,11 @@ msgstr "Měna společnosti"
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
#: report:account.aged_trial_balance:0
msgid "Chart of Account"
msgstr ""
@ -7607,6 +7675,10 @@ msgstr "Deník vrácení peněz"
#: report:account.general.journal:0
#: report:account.general.ledger_landscape:0
#: report:account.partner.balance:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Filter By"
msgstr "Filtrovat podle"
@ -7663,7 +7735,7 @@ msgstr "Mezivýsledek"
#. module: account
#: view:account.vat.declaration:0
msgid "Print Tax Statement"
msgstr "Tisknout daňový příkaz"
msgstr "Tisk daňového výkazu"
#. module: account
#: view:account.model.line:0
@ -7810,7 +7882,7 @@ msgstr ""
msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line"
msgstr ""
msgstr "Částka na dokladu musí odpovídat částce v řádku výpisu"
#. module: account
#: code:addons/account/account_move_line.py:1137
@ -7869,7 +7941,7 @@ msgstr "Měna"
#: help:account.bank.statement.line,sequence:0
msgid ""
"Gives the sequence order when displaying a list of bank statement lines."
msgstr ""
msgstr "Určuje pořadí v zobrazení seznamu řádků výpisu"
#. module: account
#: model:process.transition,note:account.process_transition_validentries0
@ -8146,6 +8218,7 @@ msgstr ""
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
#: report:account.aged_trial_balance:0
msgid "Analysis Direction"
msgstr ""
@ -8262,6 +8335,10 @@ msgstr "Nechejte prázdné pro použití příjmového účtu"
#: report:account.third_party_ledger_other:0
#: field:report.account.receivable,balance:0
#: field:report.aged.receivable,balance:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Balance"
msgstr "Zůstatek"
@ -8273,6 +8350,10 @@ msgstr "Ručně nebo automaticky zadáno do systému"
#. module: account
#: report:account.account.balance:0
#: report:account.general.ledger_landscape:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Display Account"
msgstr "Zobrazit účet"
@ -8337,7 +8418,7 @@ msgstr ""
#: code:addons/account/account_bank_statement.py:391
#, python-format
msgid "Cannot delete bank statement(s) which are already confirmed !"
msgstr ""
msgstr "Nelze smazat bankovní výpis, který už byl potvrzen!"
#. module: account
#: code:addons/account/wizard/account_automatic_reconcile.py:152
@ -8408,7 +8489,7 @@ msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.act_account_journal_2_account_bank_statement
msgid "Bank statements"
msgstr "Bankovní příkazy"
msgstr "Bankovní výpisy"
#. module: account
#: help:account.addtmpl.wizard,cparent_id:0
@ -8575,6 +8656,7 @@ msgstr "Vstupní předplatné"
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,date_from:0
#: report:account.aged_trial_balance:0
msgid "Start Date"
msgstr "Počáteční datum"
@ -9045,6 +9127,7 @@ msgstr "Stavy"
#: field:report.account.sales,amount_total:0
#: field:report.account_type.sales,amount_total:0
#: field:report.invoice.created,amount_total:0
#: report:account.aged_trial_balance:0
msgid "Total"
msgstr "Celkem"
@ -9125,13 +9208,13 @@ msgstr "t"
#. module: account
#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree
msgid "Draft statements"
msgstr ""
msgstr "Rozpracované výpisy"
#. module: account
#: model:process.transition,note:account.process_transition_statemententries0
msgid ""
"Manual or automatic creation of payment entries according to the statements"
msgstr ""
msgstr "Manuální nebo automatické vytvoření záznamů o platbách podle výpisů"
#. module: account
#: view:account.invoice:0
@ -9363,7 +9446,7 @@ msgstr "Další volitelná měna, pokud je položka více-měnová."
#: model:process.transition,note:account.process_transition_invoiceimport0
msgid ""
"Import of the statement in the system from a supplier or customer invoice"
msgstr ""
msgstr "Import výpisu do systému z vydané nebo přijaté faktury"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_periodical_processing_billing
@ -9543,6 +9626,7 @@ msgstr "account.addtmpl.wizard"
#: field:account.partner.ledger,result_selection:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.aged_trial_balance:0
msgid "Partner's"
msgstr "Partneři"
@ -9867,10 +9951,6 @@ msgstr ""
#~ msgid "Taxed Amount"
#~ msgstr "Zdaněná částka"
#, python-format
#~ msgid "The statement balance is incorrect !\n"
#~ msgstr "Zůstatek příkaz není správný !\n"
#, python-format
#~ msgid "Invoice "
#~ msgstr "Faktura "
@ -9878,3 +9958,7 @@ msgstr ""
#, python-format
#~ msgid "is validated."
#~ msgstr "není platné."
#, python-format
#~ msgid "The statement balance is incorrect !\n"
#~ msgstr "Nesprávný zůstatek výpisu!\n"

9716
addons/account/i18n/en_GB.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -209,7 +209,7 @@ class account_invoice(osv.osv):
\n* The \'Open\' state is used when user create invoice,a invoice number is generated.Its in open state till user does not pay invoice. \
\n* The \'Paid\' state is set automatically when invoice is paid.\
\n* The \'Cancelled\' state is used when user cancel invoice.'),
'date_invoice': fields.date('Invoice Date', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]}, select=True, help="Keep empty to use the current date"),
'date_invoice': fields.date('Invoice Date', readonly=True, states={'draft':[('readonly',False)]}, select=True, help="Keep empty to use the current date"),
'date_due': fields.date('Due Date', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]}, select=True,
help="If you use payment terms, the due date will be computed automatically at the generation "\
"of accounting entries. If you keep the payment term and the due date empty, it means direct payment. The payment term may compute several due dates, for example 50% now, 50% in one month."),

View File

@ -97,27 +97,30 @@
<form string="Bank account">
<field name="state"/>
<newline/>
<field name="acc_number" attrs="{'invisible':[('state','!=','bank')]}"/>
<field name="acc_number"/>
<newline/>
<field name="bank"/>
<newline/>
<field name="sequence"/>
<field colspan="4" name="name"/>
<separator colspan="4" string="Bank account owner"/>
<field colspan="4" name="owner_name"/>
<field colspan="4" name="street"/>
<newline/>
<field name="zip"/>
<field name="city"/>
<newline/>
<field completion="1" name="country_id"/>
<field name="state_id"/>
<group name="owner" colspan="2" col="2">
<separator colspan="4" string="Bank Account Owner"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="owner_name"/>
<field name="street"/>
<field name="city"/>
<field name="zip"/>
<field name="state_id"/>
<field name="country_id"/>
</group>
<group name="bank" colspan="2" col="2">
<separator colspan="2" string="Information About the Bank"/>
<field name="bank" on_change="onchange_bank_id(bank)" groups="base.group_extended"/>
<field name="bank_name"/>
<field name="bank_bic"/>
</group>
</form>
<tree string="Bank Details">
<field name="state"/>
<field name="bank"/>
<field name="owner_name"/>
<field name="sequence" invisible="1"/>
<field name="acc_number"/>
<field name="bank_name"/>
<field name="owner_name"/>
</tree>
</field>
</page>

View File

@ -2,7 +2,7 @@
<openerp>
<data noupdate="1">
<record id="analytic_root" model="account.analytic.account">
<field name="name" model="res.company" use="name" search="[('id', '=', 1)]"/>
<field name="name" model="res.company" use="name" search="[]"/>
<field name="code">0</field>
</record>
<record id="analytic_absences" model="account.analytic.account">

View File

@ -87,6 +87,19 @@
<field name="journal_id" widget="selection"/>
<field name="period_id"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="fiscalyear_id"/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="partner_id"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="date_created"/>
<field name="date"/>
<field name="date_maturity"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>

View File

@ -97,6 +97,18 @@
<field name="categ_id" filter_domain="[('categ_id', 'child_of', self)]"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="product_id"/>
<separator orientation="vertical"/>
<field name="journal_id" widget="selection"/>
<field name="account_id"/>
<field name="account_line_id"/>
<separator orientation="vertical"/>
<field name="date_due"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/>
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>

View File

@ -0,0 +1,38 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-25 11:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:33+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: account_accountant
#: model:ir.module.module,description:account_accountant.module_meta_information
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"This module gives the admin user access to all accounting features such as "
"the journal\n"
"items and the chart of accounts.\n"
" "
#. module: account_accountant
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information
msgid "Accountant"
msgstr "Accountant"

View File

@ -8,21 +8,22 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-08-02 21:56+0000\n"
"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
"PO-Revision-Date: 2011-08-23 11:12+0000\n"
"Last-Translator: Rolv Råen (adEgo) <Unknown>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:20+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-24 04:37+0000\n"
"X-Generator: Launchpad (build 13697)\n"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
msgid ""
"Number of hours that can be invoiced plus those that already have been "
"invoiced."
msgstr "Antall timer som faktureres plus de som allerede har blitt fakturert"
msgstr ""
"Antall timer som kan faktureres pluss de som allerede har blitt fakturert"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0

View File

@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2009-09-08 15:46+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2011-09-01 12:50+0000\n"
"Last-Translator: Nauris Sedlers <Unknown>\n"
"Language-Team: Latvian <lv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:24+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-09-02 04:41+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: account_analytic_default
#: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
msgid "Account Analytic Default"
msgstr "Analītiskais Konts pēc Noklusējuma"
msgstr "Noklusētais Analītiskais Konts"
#. module: account_analytic_default
#: help:account.analytic.default,partner_id:0
@ -29,16 +29,16 @@ msgid ""
"default (eg. create new cutomer invoice or Sale order if we select this "
"partner, it will automatically take this as an analytical account)"
msgstr ""
"Izvēlieties partneri, kurš tiks izmantots analītiskajā kontā pēc "
"noklusējuma. Piemēram, veidojot jaunu klienta rēķinu, izvēloties klientu, "
"automātiski tiks izvēlēts attiecīgais analītiskais konts."
"Izvēlieties partneri, kurš tiks izmantots noklusētajā analītiskajā kontā. "
"Piemēram, veidojot jaunu klienta rēķinu, izvēloties klientu, automātiski "
"tiks izvēlēts attiecīgais analītiskais konts."
#. module: account_analytic_default
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_product
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_user
msgid "Analytic Rules"
msgstr "Noteikumi Analītiskajiem aprēķiniem"
msgstr "Noteikumi Analītiskajiem Aprēķiniem"
#. module: account_analytic_default
#: help:account.analytic.default,analytic_id:0
@ -48,7 +48,7 @@ msgstr "Analītiskais Konts"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Current"
msgstr "Pašreizējais"
msgstr "Tekošais"
#. module: account_analytic_default
#: view:account.analytic.default:0
@ -63,7 +63,7 @@ msgstr "Noklusētais beigu datums Analītiskajam Kontam"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_stock_picking
msgid "Picking List"
msgstr "Iepakošanas Saraksts"
msgstr "Izvades Saraksts"
#. module: account_analytic_default
#: view:account.analytic.default:0
@ -132,7 +132,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_list
#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_default_list
msgid "Analytic Defaults"
msgstr "Analītikas Noklusētie uzstādījumi"
msgstr "Analītikas Noklusētie Iestatījumi"
#. module: account_analytic_default
#: model:ir.module.module,description:account_analytic_default.module_meta_information
@ -153,7 +153,7 @@ msgstr ""
"* Partnera\n"
"* Lietotāja\n"
"* Uzņēmuma\n"
"* Datuma.\n"
"* Datuma\n"
" "
#. module: account_analytic_default

View File

@ -7,21 +7,21 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
"PO-Revision-Date: 2010-10-30 10:22+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n"
"PO-Revision-Date: 2011-08-17 20:37+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:20+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-23 05:05+0000\n"
"X-Generator: Launchpad (build 13697)\n"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid ""
"This distribution model has been saved.You will be able to reuse it later."
msgstr ""
"Aquest model de distribució s'ha desat. El podreu reutilitzar més tard."
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,plan_id:0
@ -31,7 +31,7 @@ msgstr "Id pla"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "From Date"
msgstr ""
msgstr "Des de la data"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -83,12 +83,12 @@ msgstr "Instància de pla analític"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid "Ok"
msgstr ""
msgstr "D'acord"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
msgstr ""
msgstr "No podeu crear una anotació en un compte tancat."
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,plan_id:0
@ -118,7 +118,7 @@ msgstr "Codi"
#. module: account_analytic_plans
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr ""
msgstr "Valor erroni al deure o a l'haver de l'assentament comptable!"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account6_ids:0
@ -128,12 +128,12 @@ msgstr "Id compte6"
#. module: account_analytic_plans
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_multi_plan_action
msgid "Multi Plans"
msgstr ""
msgstr "Multi plans"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement_line
msgid "Bank Statement Line"
msgstr ""
msgstr "Línia d'extracte bancari"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,analytic_account_id:0
@ -143,23 +143,24 @@ msgstr "Compte analític"
#. module: account_analytic_plans
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
msgstr ""
msgstr "El codi del diari ha de ser únic per companyia!"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,ref:0
msgid "Analytic Account Reference"
msgstr ""
msgstr "Referencia del compte analític"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
"No podeu crear una anotació en un compte a cobrar/a pagar sense una empresa."
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
msgstr "Línia de comanda de venda"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:47
@ -210,7 +211,7 @@ msgstr "Plans analítics"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Perc(%)"
msgstr ""
msgstr "Perc(%)"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,max_required:0
@ -220,7 +221,7 @@ msgstr "Màxim permès (%)"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Printing date"
msgstr ""
msgstr "Data d'impressió"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
@ -233,16 +234,18 @@ msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line"
msgstr ""
"L'import del rebut ha de ser del mateix import que el de la línia del "
"extracte"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_invoice_line
msgid "Invoice Line"
msgstr ""
msgstr "Línia de factura"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Currency"
msgstr ""
msgstr "Divises"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,date1:0
@ -252,7 +255,7 @@ msgstr "Data inicial"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Company"
msgstr ""
msgstr "Companyia"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account5_ids:0
@ -272,14 +275,14 @@ msgstr "Compte principal"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "To Date"
msgstr ""
msgstr "Fins la data"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:321
#: code:addons/account_analytic_plans/account_analytic_plans.py:462
#, python-format
msgid "You have to define an analytic journal on the '%s' journal!"
msgstr ""
msgstr "Heu de definir un diari analític al diari '%s'!"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,empty_line:0
@ -289,12 +292,12 @@ msgstr "No mostrar líneas buides"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.action_analytic_plan_create_model
msgid "analytic.plan.create.model.action"
msgstr ""
msgstr "analítica.pla.crea.model.acció"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account :"
msgstr ""
msgstr "Compte analític :"
#. module: account_analytic_plans
#: model:ir.module.module,description:account_analytic_plans.module_meta_information
@ -333,6 +336,38 @@ msgid ""
"of distribution models.\n"
" "
msgstr ""
"Aquest mòdul permet utilitzar diversos plans analítics, d'acord amb el diari "
"general,\n"
"per crear múltiples línies analítiques quan la factura o els assentaments\n"
"siguin confirmats.\n"
"\n"
"Per exemple, podeu definir la següent estructura analítica:\n"
"Projectes\n"
"Projecte 1\n"
"Subprojecte 1,1\n"
"Subprojecte 1,2\n"
"Projecte 2\n"
"Comercials\n"
"Eduard\n"
"Marta\n"
"\n"
"Aquí, tenim dos plans: Projectes i Comercials. Una línia de factura ha de\n"
"ser capaç d'escriure les entrades analítiques en els 2 plans: Subprojecte "
"1.1 i\n"
"Eduard. La quantitat també es pot dividir. El següent exemple és per a\n"
"una factura que implica als dos subprojectes i assignada a un comercial:\n"
"\n"
"Pla1:\n"
"Subprojecte 1.1: 50%\n"
"Subprojecte 1.2: 50%\n"
"Pla2:\n"
"Eduard: 100%\n"
"\n"
"Així, quan aquesta línia de la factura sigui confirmada, generarà 3 línies "
"analítiques per a un assentament comptable.\n"
"El pla analític valida el percentatge mínim i màxim en el moment de creació "
"dels models de distribució.\n"
" "
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -352,7 +387,7 @@ msgstr "Assentaments per defecte"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_move_line
msgid "Journal Items"
msgstr ""
msgstr "Anotacions comptables"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account1_ids:0
@ -362,7 +397,7 @@ msgstr "Id compte1"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
msgstr ""
msgstr "L'empresa ha de ser la mateixa per al compte i període relacionats."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,min_required:0
@ -385,7 +420,7 @@ msgstr "Error"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid "Save This Distribution as a Model"
msgstr ""
msgstr "Desa aquesta distribució com un model"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -401,19 +436,19 @@ msgstr "Introduïu un nom i un codi abans de desar el model!"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_crossovered_analytic
msgid "Print Crossovered Analytic"
msgstr ""
msgstr "Imprimeix analítica creuada"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:321
#: code:addons/account_analytic_plans/account_analytic_plans.py:462
#, python-format
msgid "No Analytic Journal !"
msgstr ""
msgstr "Sense diari analític!"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement
msgid "Bank Statement"
msgstr ""
msgstr "Extracte bancari"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account3_ids:0
@ -423,7 +458,7 @@ msgstr "Id compte3"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_invoice
msgid "Invoice"
msgstr ""
msgstr "Factura"
#. module: account_analytic_plans
#: view:account.crossovered.analytic:0
@ -470,7 +505,7 @@ msgstr "Codi de distribució"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "%"
msgstr ""
msgstr "%"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@ -491,12 +526,12 @@ msgstr "Distribució analítica"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_journal
msgid "Journal"
msgstr ""
msgstr "Diari"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model
msgid "analytic.plan.create.model"
msgstr ""
msgstr "analítica.pla.crea.model"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,date2:0
@ -516,7 +551,7 @@ msgstr "Seqüència"
#. module: account_analytic_plans
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
msgstr ""
msgstr "El nom del diari ha de ser únic per companyia!"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:214
@ -527,7 +562,7 @@ msgstr "Valor erroni"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
msgstr ""
msgstr "No podeu crear una anotació en un compte de tipus vista."
#~ msgid ""
#~ "The Object name must start with x_ and not contain any special character !"

View File

@ -0,0 +1,566 @@
# Latvian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
"PO-Revision-Date: 2011-09-01 12:44+0000\n"
"Last-Translator: Nauris Sedlers <Unknown>\n"
"Language-Team: Latvian <lv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-02 04:41+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid ""
"This distribution model has been saved.You will be able to reuse it later."
msgstr ""
"Šo sadalījuma modelis ir saglabāts. Jūs varēsiet to atkārtoti izmantot vēlāk."
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,plan_id:0
msgid "Plan Id"
msgstr "Plāna Id"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "From Date"
msgstr "No Datuma"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
#: view:account.crossovered.analytic:0
#: model:ir.actions.act_window,name:account_analytic_plans.action_account_crossovered_analytic
#: model:ir.actions.report.xml,name:account_analytic_plans.account_analytic_account_crossovered_analytic
msgid "Crossovered Analytic"
msgstr "Šķērsanalīze"
#. module: account_analytic_plans
#: view:account.analytic.plan:0
#: field:account.analytic.plan,name:0
#: field:account.analytic.plan.line,plan_id:0
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_form_action
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_action
msgid "Analytic Plan"
msgstr "Analītiskais Plāns"
#. module: account_analytic_plans
#: model:ir.module.module,shortdesc:account_analytic_plans.module_meta_information
msgid "Multiple-plans management in Analytic Accounting"
msgstr "Vairāku plānu apstrāde Analītiskajā Grāmatvedībā"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,journal_id:0
#: view:account.crossovered.analytic:0
#: field:account.crossovered.analytic,journal_ids:0
msgid "Analytic Journal"
msgstr "Analītskais Žurnāls"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line
msgid "Analytic Plan Line"
msgstr "Analītiskā Plāna Rinda"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:60
#, python-format
msgid "User Error"
msgstr "Lietotāja Kļūda"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance
msgid "Analytic Plan Instance"
msgstr "Analītiskākā Plāna Instance"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid "Ok"
msgstr "Labi"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
msgstr "Nav iespējams veikt grāmatojumus slēgtā kontā."
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,plan_id:0
msgid "Model's Plan"
msgstr "Modeļa Plāns"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account2_ids:0
msgid "Account2 Id"
msgstr "Konta2 Id"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account_ids:0
msgid "Account Id"
msgstr "Konta Id"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Amount"
msgstr "Summa"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Code"
msgstr "Kods"
#. module: account_analytic_plans
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr "Kļūdaina kredīta vai debeta vērtība grāmatojumā!"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account6_ids:0
msgid "Account6 Id"
msgstr "Konta6 Id"
#. module: account_analytic_plans
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_multi_plan_action
msgid "Multi Plans"
msgstr "Multi Plāni"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement_line
msgid "Bank Statement Line"
msgstr "Konta Izraksta Rinda"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,analytic_account_id:0
msgid "Analytic Account"
msgstr "Analītiskais Konts"
#. module: account_analytic_plans
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
msgstr "Žurnāla kodam ir jābūt unikālam katram uzņēmumam!"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,ref:0
msgid "Analytic Account Reference"
msgstr "Analītiskā Konta Reference"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
"Tu nevari izveidot grāmatojumu izejošam/ienākošam kontam bez partnera"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_sale_order_line
msgid "Sales Order Line"
msgstr "Pasūtījuma Rinda"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:47
#: view:analytic.plan.create.model:0
#, python-format
msgid "Distribution Model Saved"
msgstr "Sadalījuma Modelis Saglabāts"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_instance_action
msgid "Analytic Distribution's Models"
msgstr "Analītiskā Sadalījuma Modeļi"
#. module: account_analytic_plans
#: view:account.crossovered.analytic:0
msgid "Print"
msgstr "Drukāt"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Percentage"
msgstr "Procenti"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:201
#, python-format
msgid "A model having this name and code already exists !"
msgstr "Modelis ar šo vārdu un kodu jau eksistē!"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41
#, python-format
msgid "No analytic plan defined !"
msgstr "Nav nodefinēts analītiskais plāns!"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,rate:0
msgid "Rate (%)"
msgstr "Likme (%)"
#. module: account_analytic_plans
#: view:account.analytic.plan:0
#: field:account.analytic.plan,plan_ids:0
#: field:account.journal,plan_id:0
msgid "Analytic Plans"
msgstr "Analītiskie Plāni"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Perc(%)"
msgstr "Proc(%)"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,max_required:0
msgid "Maximum Allowed (%)"
msgstr "Maksimāli Pieļaujamie (%)"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Printing date"
msgstr "Izdrukas datums"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
msgid "Analytic Plan Lines"
msgstr "Analītiskā Plāna Rindas"
#. module: account_analytic_plans
#: constraint:account.bank.statement.line:0
msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line"
msgstr "Rēķina summai ir jāsakrīt ar konta izraksta rindā esošo"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_invoice_line
msgid "Invoice Line"
msgstr "Rēķina Rinda"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Currency"
msgstr "Valūta"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,date1:0
msgid "Start Date"
msgstr "Sākuma Datums"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Company"
msgstr "Uzņēmums"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account5_ids:0
msgid "Account5 Id"
msgstr "Konts5 Id"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line
msgid "Analytic Instance Line"
msgstr "Analītiskās Instances Rinda"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,root_analytic_id:0
msgid "Root Account"
msgstr "Pamata Konts"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "To Date"
msgstr "Līdz Datumam"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:321
#: code:addons/account_analytic_plans/account_analytic_plans.py:462
#, python-format
msgid "You have to define an analytic journal on the '%s' journal!"
msgstr "Žurnālam '%s' ir jādefinē atbilstošs analītiskais žurnāls!"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,empty_line:0
msgid "Dont show empty lines"
msgstr "Nerādīt tukšās rindas"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.action_analytic_plan_create_model
msgid "analytic.plan.create.model.action"
msgstr "analytic.plan.create.model.action"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account :"
msgstr "Analītiskais Konts:"
#. module: account_analytic_plans
#: model:ir.module.module,description:account_analytic_plans.module_meta_information
msgid ""
"This module allows to use several analytic plans, according to the general "
"journal,\n"
"so that multiple analytic lines are created when the invoice or the entries\n"
"are confirmed.\n"
"\n"
"For example, you can define the following analytic structure:\n"
" Projects\n"
" Project 1\n"
" SubProj 1.1\n"
" SubProj 1.2\n"
" Project 2\n"
" Salesman\n"
" Eric\n"
" Fabien\n"
"\n"
"Here, we have two plans: Projects and Salesman. An invoice line must\n"
"be able to write analytic entries in the 2 plans: SubProj 1.1 and\n"
"Fabien. The amount can also be split. The following example is for\n"
"an invoice that touches the two subproject and assigned to one salesman:\n"
"\n"
"Plan1:\n"
" SubProject 1.1 : 50%\n"
" SubProject 1.2 : 50%\n"
"Plan2:\n"
" Eric: 100%\n"
"\n"
"So when this line of invoice will be confirmed, it will generate 3 analytic "
"lines,\n"
"for one account entry.\n"
"The analytic plan validates the minimum and maximum percentage at the time "
"of creation\n"
"of distribution models.\n"
" "
msgstr ""
"Šis modulis ļauj izmantot vairākus analītiskos plānus, atbilstoši galvenajam "
"žurnālam,\n"
"tādejādi apstiprinot rēķinus vai ievades rindas, tiek izveidotas vairākas "
"analītisko\n"
"kontu rindas.\n"
"\n"
"Piemēram, jūs varat nodefinēt sekojošu analītisko struktūru:\n"
" Projekts\n"
" Projekts 1\n"
" Apakš Projekts 1.1\n"
" Apakš Projekts 1.2\n"
" Projekts 2\n"
" Pārdevēji\n"
" Ēriks\n"
" Gatis\n"
"\n"
"Šeit mums ir redzami divi plāni: Projekti un Pārdevēji. Rēķina rindā ir "
"jāievada\n"
"divas analītiskās pazīmes: Apakš Projekts 1.1 un Gatis.\n"
"Arī kopējo summu var sadalīt. Sekojošais piemērs ir rēķiniem\n"
"kas saistīti ar viena pārdevēja diviem apakš projektiem:\n"
"\n"
"Plāns1:\n"
" Apakš Projekts 1.1: 50%\n"
" Apakš Projekts 1.2: 50%\n"
"Plāns2:\n"
" Gatis: 100%\n"
"\n"
"Tādejādi grāmatojot šo rēķina rindiņu, tā izveidos 3 analītiskās rindiņas,\n"
"katram konta ierakstam.\n"
"Analītiskais plāns sadalījuma modeļa izveides brīdi pārbauda noteikto "
"minimālo\n"
"un maksimālo procentuālo sadalījumu.\n"
" "
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account Reference:"
msgstr "Analītiskā Konta Reference"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,name:0
msgid "Plan Name"
msgstr "Plāna Nosaukums"
#. module: account_analytic_plans
#: field:account.analytic.plan,default_instance_id:0
msgid "Default Entries"
msgstr "Noklusētās Vērtības"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_move_line
msgid "Journal Items"
msgstr "Žurnāla Vienumi"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account1_ids:0
msgid "Account1 Id"
msgstr "Konts1 Id"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
msgstr "Uzņēmumam ir jāsakrīt ar saistīto kontu un periodu."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,min_required:0
msgid "Minimum Allowed (%)"
msgstr "Minimāli Atļautie (%)"
#. module: account_analytic_plans
#: help:account.analytic.plan.line,root_analytic_id:0
msgid "Root account of this plan."
msgstr "Šā plāna pamata konts."
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:201
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:38
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41
#, python-format
msgid "Error"
msgstr "Kļūda"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid "Save This Distribution as a Model"
msgstr "Saglabāt šo Sadalījumu kā Modeli"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Quantity"
msgstr "Daudzums"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:38
#, python-format
msgid "Please put a name and a code before saving the model !"
msgstr "Lūdzu, norādiet nosaukumu un kodu, pirms saglabāt modeli!"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_crossovered_analytic
msgid "Print Crossovered Analytic"
msgstr "Izdrukāt Šķērssaistīto Analītiku"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:321
#: code:addons/account_analytic_plans/account_analytic_plans.py:462
#, python-format
msgid "No Analytic Journal !"
msgstr "Nav norādīts analītiskais žurnāls!"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement
msgid "Bank Statement"
msgstr "Bankas Konta Izraksts"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account3_ids:0
msgid "Account3 Id"
msgstr "Konts3 Id"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_invoice
msgid "Invoice"
msgstr "Rēķins"
#. module: account_analytic_plans
#: view:account.crossovered.analytic:0
#: view:analytic.plan.create.model:0
msgid "Cancel"
msgstr "Atcelt"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account4_ids:0
msgid "Account4 Id"
msgstr "Konts4 Id"
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
msgid "Analytic Distribution Lines"
msgstr "Analītiskā Sadaklījuma Rindas"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:214
#, python-format
msgid "The Total Should be Between %s and %s"
msgstr "Kopsummai ir jābūt starp %s un %s"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "at"
msgstr "uz"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Account Name"
msgstr "Konta Nosaukums"
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
msgid "Analytic Distribution Line"
msgstr "Analītiskā Sadaklījuma Rinda"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,code:0
msgid "Distribution Code"
msgstr "Sadalījuma Kods"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "%"
msgstr "%"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "100.00%"
msgstr "100.00%"
#. module: account_analytic_plans
#: field:account.analytic.default,analytics_id:0
#: view:account.analytic.plan.instance:0
#: field:account.analytic.plan.instance,name:0
#: field:account.bank.statement.line,analytics_id:0
#: field:account.invoice.line,analytics_id:0
#: field:account.move.line,analytics_id:0
#: model:ir.model,name:account_analytic_plans.model_account_analytic_default
msgid "Analytic Distribution"
msgstr "Analītiskais Sadalījums"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_journal
msgid "Journal"
msgstr "Žurnāls"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model
msgid "analytic.plan.create.model"
msgstr "analytic.plan.create.model"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,date2:0
msgid "End Date"
msgstr "Beigu Datums"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_instance_model_open
msgid "Distribution Models"
msgstr "Sadalījuma Modeļi"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,sequence:0
msgid "Sequence"
msgstr "Secība"
#. module: account_analytic_plans
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
msgstr "Žurnāla nosaukumam katrai kompānijai ir jābūt unikālam!"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:214
#, python-format
msgid "Value Error"
msgstr "Vērtības Kļūda"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
msgstr "Jūs nevarat izveidor grāmatojumu pārskata kontam."

View File

@ -0,0 +1,124 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-25 11:47+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:33+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: account_anglo_saxon
#: view:product.category:0
msgid " Accounting Property"
msgstr " Accounting Property"
#. module: account_anglo_saxon
#: sql_constraint:purchase.order:0
msgid "Order Reference must be unique !"
msgstr "Order Reference must be unique !"
#. module: account_anglo_saxon
#: constraint:product.category:0
msgid "Error ! You can not create recursive categories."
msgstr "Error ! You can not create recursive categories."
#. module: account_anglo_saxon
#: constraint:product.template:0
msgid ""
"Error: The default UOM and the purchase UOM must be in the same category."
msgstr ""
"Error: The default UOM and the purchase UOM must be in the same category."
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_account_invoice_line
msgid "Invoice Line"
msgstr "Invoice Line"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_purchase_order
msgid "Purchase Order"
msgstr "Purchase Order"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_product_template
msgid "Product Template"
msgstr "Product Template"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_product_category
msgid "Product Category"
msgstr "Product Category"
#. module: account_anglo_saxon
#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information
msgid "Stock Accounting for Anglo Saxon countries"
msgstr "Stock Accounting for Anglo Saxon countries"
#. module: account_anglo_saxon
#: field:product.category,property_account_creditor_price_difference_categ:0
#: field:product.template,property_account_creditor_price_difference:0
msgid "Price Difference Account"
msgstr "Price Difference Account"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_account_invoice
msgid "Invoice"
msgstr "Invoice"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_stock_picking
msgid "Picking List"
msgstr "Picking List"
#. module: account_anglo_saxon
#: model:ir.module.module,description:account_anglo_saxon.module_meta_information
msgid ""
"This module will support the Anglo-Saxons accounting methodology by\n"
" changing the accounting logic with stock transactions. The difference "
"between the Anglo-Saxon accounting countries\n"
" and the Rhine or also called Continental accounting countries is the "
"moment of taking the Cost of Goods Sold versus Cost of Sales.\n"
" Anglo-Saxons accounting does take the cost when sales invoice is "
"created, Continental accounting will take the cost at the moment the goods "
"are shipped.\n"
" This module will add this functionality by using a interim account, to "
"store the value of shipped goods and will contra book this interim account\n"
" when the invoice is created to transfer this amount to the debtor or "
"creditor account.\n"
" Secondly, price differences between actual purchase price and fixed "
"product standard price are booked on a separate account"
msgstr ""
"This module will support the Anglo-Saxons accounting methodology by\n"
" changing the accounting logic with stock transactions. The difference "
"between the Anglo-Saxon accounting countries\n"
" and the Rhine or also called Continental accounting countries is the "
"moment of taking the Cost of Goods Sold versus Cost of Sales.\n"
" Anglo-Saxons accounting takes the cost when sales invoice is created, "
"Continental accounting will take the cost at the moment the goods are "
"shipped.\n"
" This module adds this functionality by using a interim account, to store "
"the value of shipped goods and will contra book this interim account\n"
" When the invoice is created to transfer this amount to the debtor or "
"creditor account.\n"
" Secondly, price differences between actual purchase price and fixed "
"product standard price are booked on a separate account"
#. module: account_anglo_saxon
#: help:product.category,property_account_creditor_price_difference_categ:0
#: help:product.template,property_account_creditor_price_difference:0
msgid ""
"This account will be used to value price difference between purchase price "
"and cost price."
msgstr ""
"This account will be used to value price difference between purchase price "
"and cost price."

View File

@ -0,0 +1,124 @@
# Latvian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-01 19:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Latvian <lv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-02 04:41+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: account_anglo_saxon
#: view:product.category:0
msgid " Accounting Property"
msgstr " Grāmatvedības Veids"
#. module: account_anglo_saxon
#: sql_constraint:purchase.order:0
msgid "Order Reference must be unique !"
msgstr "Pasūtījuma referencei ir jābūt unikālai!"
#. module: account_anglo_saxon
#: constraint:product.category:0
msgid "Error ! You can not create recursive categories."
msgstr "Kļūda! Jūs nevarat veidot rekursīvas kategorijas."
#. module: account_anglo_saxon
#: constraint:product.template:0
msgid ""
"Error: The default UOM and the purchase UOM must be in the same category."
msgstr ""
"Kļūda: Noklusētajām vienībām ir jāsakrīt ar iepirktajām vienībām (UOM)."
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_account_invoice_line
msgid "Invoice Line"
msgstr "Rēķina Rinda"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_purchase_order
msgid "Purchase Order"
msgstr "Iepirkuma Rīkojums"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_product_template
msgid "Product Template"
msgstr "Produkta Veidne"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_product_category
msgid "Product Category"
msgstr "Produkta Kategorija"
#. module: account_anglo_saxon
#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information
msgid "Stock Accounting for Anglo Saxon countries"
msgstr "Krājumu Grāmatvedība Anglo Sakšu valstīm"
#. module: account_anglo_saxon
#: field:product.category,property_account_creditor_price_difference_categ:0
#: field:product.template,property_account_creditor_price_difference:0
msgid "Price Difference Account"
msgstr "Ceny Starpības Konts"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_account_invoice
msgid "Invoice"
msgstr "Rēķins"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_stock_picking
msgid "Picking List"
msgstr "Izvades Saraksts"
#. module: account_anglo_saxon
#: model:ir.module.module,description:account_anglo_saxon.module_meta_information
msgid ""
"This module will support the Anglo-Saxons accounting methodology by\n"
" changing the accounting logic with stock transactions. The difference "
"between the Anglo-Saxon accounting countries\n"
" and the Rhine or also called Continental accounting countries is the "
"moment of taking the Cost of Goods Sold versus Cost of Sales.\n"
" Anglo-Saxons accounting does take the cost when sales invoice is "
"created, Continental accounting will take the cost at the moment the goods "
"are shipped.\n"
" This module will add this functionality by using a interim account, to "
"store the value of shipped goods and will contra book this interim account\n"
" when the invoice is created to transfer this amount to the debtor or "
"creditor account.\n"
" Secondly, price differences between actual purchase price and fixed "
"product standard price are booked on a separate account"
msgstr ""
"Šis modulis atbalstīs Anglo-Sakšu grāmatvedības metodoloģiju\n"
" mainot uzskaites loģiku pie krājumu transakcijām. Starpība starp Anglo-"
"Sakšu grāmatvedības zemēm\n"
" un Kontinentālās grāmatvedības zemēm ir mirklī, kad Pārdoto Preču "
"Izmaksas tiek attiecinātas pret Pārdošanas Izmaksām.\n"
" Anglo-Sakšu grāmatvedība uzskaita izmaksas uz pārdošanas rēķina "
"izveidošanas brīdi, Kontinentālā grāmatvedība izmaksas attiecinās preču "
"nosūtīšanas brīdī.\n"
" Šis modulis pievienos šo funkcionalitāti ar starpkonta palīdzību "
"nosūtīto preču vērtības uzglabāšanai un reversi iegrāmatos šo kontu\n"
" kad tiks izveidots rēķins, lai šo summu pārvestu uz debitora vai "
"kreditora kontu.\n"
" Otrkārt, cenas starpība starp patieso iegādes cenu un fiksēto preces "
"pārdošanas cenu tiek iegrāmatota atsevišķā kontā."
#. module: account_anglo_saxon
#: help:product.category,property_account_creditor_price_difference_categ:0
#: help:product.template,property_account_creditor_price_difference:0
msgid ""
"This account will be used to value price difference between purchase price "
"and cost price."
msgstr ""
"Šis konts tiks izmantots cenu starpības uzskaitei starp iepirkuma cenu un "
"izmaksu cenu."

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:54+0000\n"
"PO-Revision-Date: 2011-07-12 12:04+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-08-17 21:30+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
"Language-Team: Catalan <ca@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-07-13 04:36+0000\n"
"X-Generator: Launchpad (build 13168)\n"
"X-Launchpad-Export-Date: 2011-08-23 05:05+0000\n"
"X-Generator: Launchpad (build 13697)\n"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
@ -65,7 +65,7 @@ msgstr "Canvi de durada"
#. module: account_asset
#: field:account.asset.asset,child_ids:0
msgid "Child assets"
msgstr ""
msgstr "Actius fills"
#. module: account_asset
#: field:account.asset.board,value_asset:0

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:54+0000\n"
"PO-Revision-Date: 2011-07-12 12:04+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-08-29 20:43+0000\n"
"Last-Translator: lholivier <olivier.lenoir@free.fr>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-07-13 04:36+0000\n"
"X-Generator: Launchpad (build 13168)\n"
"X-Launchpad-Export-Date: 2011-08-30 04:49+0000\n"
"X-Generator: Launchpad (build 13794)\n"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
@ -27,7 +27,7 @@ msgstr ""
#: field:account.asset.property,method_end:0
#: field:account.asset.property.history,method_end:0
msgid "Ending date"
msgstr ""
msgstr "Date de Fin"
#. module: account_asset
#: view:account.asset.asset:0
@ -50,17 +50,17 @@ msgstr ""
#. module: account_asset
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Nom de modèle invalide pour la définition de l'action."
#. module: account_asset
#: selection:account.asset.property,method:0
msgid "Linear"
msgstr ""
msgstr "Linéaire"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Change duration"
msgstr ""
msgstr "Changer la durée"
#. module: account_asset
#: field:account.asset.asset,child_ids:0
@ -75,19 +75,19 @@ msgstr ""
#. module: account_asset
#: wizard_field:account.asset.modify,init,name:0
msgid "Reason"
msgstr ""
msgstr "Motif"
#. module: account_asset
#: view:account.asset.asset:0
#: field:account.asset.asset,entry_ids:0
#: wizard_field:account.asset.compute,asset_compute,move_ids:0
msgid "Entries"
msgstr ""
msgstr "Ecritures"
#. module: account_asset
#: wizard_view:account.asset.compute,asset_compute:0
msgid "Generated entries"
msgstr ""
msgstr "Écritures générées"
#. module: account_asset
#: wizard_field:account.asset.modify,init,method_delay:0
@ -113,7 +113,7 @@ msgstr ""
#. module: account_asset
#: selection:account.asset.property,method:0
msgid "Progressive"
msgstr ""
msgstr "Progressif"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
@ -126,7 +126,7 @@ msgstr ""
#: wizard_field:account.asset.modify,init,note:0
#: view:account.asset.property.history:0
msgid "Notes"
msgstr ""
msgstr "Commentaires"
#. module: account_asset
#: view:account.asset.asset:0
@ -136,7 +136,7 @@ msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation entries"
msgstr ""
msgstr "Écritures d'amortissement"
#. module: account_asset
#: view:account.asset.asset:0
@ -151,7 +151,7 @@ msgstr ""
#. module: account_asset
#: field:account.asset.asset,partner_id:0
msgid "Partner"
msgstr ""
msgstr "Partenaire"
#. module: account_asset
#: wizard_field:account.asset.modify,init,method_period:0
@ -163,12 +163,12 @@ msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation duration"
msgstr ""
msgstr "Durée de l'amortissement"
#. module: account_asset
#: field:account.asset.property,account_analytic_id:0
msgid "Analytic account"
msgstr ""
msgstr "Compte Analytique"
#. module: account_asset
#: field:account.asset.property,state:0
@ -178,17 +178,17 @@ msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation methods"
msgstr ""
msgstr "Méthodes d'amortissement"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Other information"
msgstr ""
msgstr "Autre information"
#. module: account_asset
#: field:account.asset.board,value_asset_cumul:0
msgid "Cumul. value"
msgstr ""
msgstr "Valeur cumulée"
#. module: account_asset
#: view:account.asset.property:0
@ -203,7 +203,7 @@ msgstr ""
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_asset_property
msgid "Asset property"
msgstr ""
msgstr "Propriété de l'immobilisation"
#. module: account_asset
#: wizard_view:account.asset.compute,asset_compute:0
@ -212,30 +212,30 @@ msgstr ""
#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
msgid "Compute assets"
msgstr ""
msgstr "Calculer les immobilisations"
#. module: account_asset
#: wizard_view:account.asset.modify,init:0
#: wizard_button:account.asset.modify,init,asset_modify:0
#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
msgid "Modify asset"
msgstr ""
msgstr "Modifier l'immobilisation"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Confirm asset"
msgstr ""
msgstr "Confirmer l'immobilisation"
#. module: account_asset
#: view:account.asset.property.history:0
#: model:ir.model,name:account_asset.model_account_asset_property_history
msgid "Asset history"
msgstr ""
msgstr "Historique de l'immobilisation"
#. module: account_asset
#: field:account.asset.property,date:0
msgid "Date created"
msgstr ""
msgstr "Date de création"
#. module: account_asset
#: model:ir.module.module,description:account_asset.module_meta_information
@ -274,43 +274,43 @@ msgstr ""
#: field:account.asset.category,note:0
#: field:account.asset.property.history,note:0
msgid "Note"
msgstr ""
msgstr "Remarque"
#. module: account_asset
#: selection:account.asset.asset,state:0
#: selection:account.asset.property,state:0
msgid "Draft"
msgstr ""
msgstr "Brouilon"
#. module: account_asset
#: field:account.asset.property,type:0
msgid "Depr. method type"
msgstr ""
msgstr "Type de méthode d'immobilisation"
#. module: account_asset
#: field:account.asset.property,account_asset_id:0
msgid "Asset account"
msgstr ""
msgstr "Compte d'immobilisation"
#. module: account_asset
#: field:account.asset.property.history,asset_property_id:0
msgid "Method"
msgstr ""
msgstr "Méthode"
#. module: account_asset
#: selection:account.asset.asset,state:0
msgid "Normal"
msgstr ""
msgstr "Standard"
#. module: account_asset
#: field:account.asset.property,method_progress_factor:0
msgid "Progressif factor"
msgstr ""
msgstr "Facteur progressif"
#. module: account_asset
#: field:account.asset.asset,localisation:0
msgid "Localisation"
msgstr ""
msgstr "Emplacement"
#. module: account_asset
#: field:account.asset.property,method:0
@ -330,7 +330,7 @@ msgstr ""
#. module: account_asset
#: field:account.asset.property.history,user_id:0
msgid "User"
msgstr ""
msgstr "Utilisateur"
#. module: account_asset
#: field:account.asset.asset,property_ids:0
@ -346,7 +346,7 @@ msgstr ""
#. module: account_asset
#: field:account.asset.board,value_net:0
msgid "Net value"
msgstr ""
msgstr "Valeur nette"
#. module: account_asset
#: wizard_view:account.asset.close,init:0
@ -357,12 +357,12 @@ msgstr ""
#. module: account_asset
#: field:account.asset.property,history_ids:0
msgid "History"
msgstr ""
msgstr "Hstorique"
#. module: account_asset
#: field:account.asset.property,account_actif_id:0
msgid "Depreciation account"
msgstr ""
msgstr "Comte d'amortissement"
#. module: account_asset
#: field:account.asset.asset,period_id:0
@ -381,19 +381,19 @@ msgstr ""
#: wizard_button:account.asset.compute,init,end:0
#: wizard_button:account.asset.modify,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Annuler"
#. module: account_asset
#: selection:account.asset.asset,state:0
#: wizard_button:account.asset.compute,asset_compute,end:0
#: selection:account.asset.property,state:0
msgid "Close"
msgstr ""
msgstr "Fermer"
#. module: account_asset
#: selection:account.asset.property,state:0
msgid "Open"
msgstr ""
msgstr "Ouvrir"
#. module: account_asset
#: constraint:ir.model:0
@ -416,7 +416,7 @@ msgstr ""
#. module: account_asset
#: field:account.asset.asset,state:0
msgid "Global state"
msgstr ""
msgstr "État global"
#. module: account_asset
#: selection:account.asset.property,method_time:0
@ -431,7 +431,7 @@ msgstr ""
#. module: account_asset
#: field:account.asset.property,journal_analytic_id:0
msgid "Analytic journal"
msgstr ""
msgstr "Journal analytique"
#. module: account_asset
#: field:account.asset.property,name:0
@ -441,7 +441,7 @@ msgstr ""
#. module: account_asset
#: field:account.asset.property,journal_id:0
msgid "Journal"
msgstr ""
msgstr "Journal"
#. module: account_asset
#: field:account.asset.property.history,name:0
@ -464,12 +464,12 @@ msgstr ""
#: field:account.asset.category,name:0
#: model:ir.model,name:account_asset.model_account_asset_category
msgid "Asset category"
msgstr ""
msgstr "Catégorie d'immobilisation"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation"
msgstr ""
msgstr "Amortissement"
#. module: account_asset
#: field:account.asset.asset,code:0

View File

@ -65,6 +65,12 @@
<field name="depreciation_date"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="partner_id"/>
<field name="purchase_date"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Asset" name="asset" context="{'group_by':'asset_id'}"/>
<filter string="Asset Category" name="asset_category" icon="terp-stock_symbol-selection" context="{'group_by':'asset_category_id'}"/>

View File

@ -0,0 +1,36 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-25 11:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:33+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: account_cancel
#: model:ir.module.module,description:account_cancel.module_meta_information
msgid ""
"\n"
" Module adds 'Allow cancelling entries' field on form view of account "
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
msgstr ""
"\n"
" Module adds 'Allow cancelling entries' field on form view of account "
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
#. module: account_cancel
#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
msgid "Account Cancel"
msgstr "Account Cancel"

View File

@ -0,0 +1,37 @@
# Latvian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-30 20:56+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Latvian <lv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_cancel
#: model:ir.module.module,description:account_cancel.module_meta_information
msgid ""
"\n"
" Module adds 'Allow cancelling entries' field on form view of account "
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
msgstr ""
"\n"
" Modulis pievieno 'Atļaut anulējošus uzskaites žurnāla ierakstus' lauku "
"kontu plāna formas skatā. Ja tā ir aktivēta, tā ļauj lietotājam atcelt "
"ierakstus un rēķinus.\n"
" "
#. module: account_cancel
#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
msgid "Account Cancel"
msgstr "Atcelt Kontu"

View File

@ -0,0 +1,28 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-25 11:47+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:33+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: account_chart
#: model:ir.module.module,description:account_chart.module_meta_information
msgid "Remove minimal account chart"
msgstr "Remove minimal account chart"
#. module: account_chart
#: model:ir.module.module,shortdesc:account_chart.module_meta_information
msgid "Charts of Accounts"
msgstr "Charts of Accounts"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:34+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:34+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -14,66 +14,66 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:34+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
#: field:account.coda.import,journal_id:0
msgid "Bank Journal"
msgstr ""
msgstr "Diari bancari"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda.import,note:0
msgid "Log"
msgstr ""
msgstr "Registre"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda_import
msgid "Account Coda Import"
msgstr ""
msgstr "Importació comptabilitat Coda"
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
msgstr ""
msgstr "Fitxer Coda"
#. module: account_coda
#: view:account.coda:0
msgid "Group By..."
msgstr ""
msgstr "Agrupa per..."
#. module: account_coda
#: field:account.coda.import,awaiting_account:0
msgid "Default Account for Unrecognized Movement"
msgstr ""
msgstr "Compte per defecte per a moviments no reconeguts"
#. module: account_coda
#: help:account.coda,date:0
msgid "Import Date"
msgstr ""
msgstr "Data de l'importació"
#. module: account_coda
#: field:account.coda,note:0
msgid "Import log"
msgstr ""
msgstr "Registre de la importació"
#. module: account_coda
#: view:account.coda.import:0
msgid "Import"
msgstr ""
msgstr "Importa"
#. module: account_coda
#: view:account.coda:0
msgid "Coda import"
msgstr ""
msgstr "Importa Coda"
#. module: account_coda
#: code:addons/account_coda/account_coda.py:51
#, python-format
msgid "Coda file not found for bank statement !!"
msgstr ""
msgstr "No s'ha trobat el fitxer Coda per a l'extracte bancari!"
#. module: account_coda
#: help:account.coda.import,awaiting_account:0
@ -81,12 +81,14 @@ msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
"Indiqueu aquí el compte per defecte que s'utilitzarà, si es troba l'empresa "
"però no té el compte bancari, o si està domiciliat."
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,company_id:0
msgid "Company"
msgstr ""
msgstr "Companyia"
#. module: account_coda
#: help:account.coda.import,def_payable:0
@ -94,70 +96,72 @@ msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
"Indiqueu aquí el compte a pagar que s'utilitzarà per defecte, si no es troba "
"l'empresa."
#. module: account_coda
#: view:account.coda:0
msgid "Search Coda"
msgstr ""
msgstr "Cerca Coda"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,user_id:0
msgid "User"
msgstr ""
msgstr "Usuari"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,date:0
msgid "Date"
msgstr ""
msgstr "Data"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_statement
msgid "Coda Import Logs"
msgstr ""
msgstr "Històric de la importació Coda"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
msgid "coda for an Account"
msgstr ""
msgstr "Coda per a un compte"
#. module: account_coda
#: field:account.coda.import,def_payable:0
msgid "Default Payable Account"
msgstr ""
msgstr "Compte a pagar per defecte"
#. module: account_coda
#: help:account.coda,name:0
msgid "Store the detail of bank statements"
msgstr ""
msgstr "Desa el detall d'extractes bancaris."
#. module: account_coda
#: view:account.coda.import:0
msgid "Cancel"
msgstr ""
msgstr "Cancel·la"
#. module: account_coda
#: view:account.coda.import:0
msgid "Open Statements"
msgstr ""
msgstr "Obre extractes"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:167
#, python-format
msgid "The bank account %s is not defined for the partner %s.\n"
msgstr ""
msgstr "El compte bancari %s no està definit per a l'empresa %s.\n"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
msgid "Import Coda Statements"
msgstr ""
msgstr "Importa els extractes Coda"
#. module: account_coda
#: view:account.coda.import:0
#: model:ir.actions.act_window,name:account_coda.action_account_coda_import
msgid "Import Coda Statement"
msgstr ""
msgstr "Importa l'extracte Coda"
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
@ -167,26 +171,30 @@ msgid ""
" bank statements from coda files.\n"
" "
msgstr ""
"\n"
" El mòdul proporciona la funcionalitat per importar\n"
" extractes bancaris des de fitxers coda.\n"
" "
#. module: account_coda
#: view:account.coda:0
msgid "Statements"
msgstr ""
msgstr "Extractes"
#. module: account_coda
#: field:account.bank.statement,coda_id:0
msgid "Coda"
msgstr ""
msgstr "Coda"
#. module: account_coda
#: view:account.coda.import:0
msgid "Results :"
msgstr ""
msgstr "Resultats :"
#. module: account_coda
#: view:account.coda.import:0
msgid "Result of Imported Coda Statements"
msgstr ""
msgstr "Resultat dels extractes Coda importats"
#. module: account_coda
#: help:account.coda.import,def_receivable:0
@ -194,66 +202,68 @@ msgid ""
"Set here the receivable account that will be used, by default, if the "
"partner is not found"
msgstr ""
"Indiqueu aquí el compte a cobrar que s'utilitzarà per defecte, si no es "
"troba l'empresa."
#. module: account_coda
#: field:account.coda.import,coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
msgid "Coda File"
msgstr ""
msgstr "Fitxer Coda"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_bank_statement
msgid "Bank Statement"
msgstr ""
msgstr "Extracte bancari"
#. module: account_coda
#: model:ir.actions.act_window,name:account_coda.action_account_coda
msgid "Coda Logs"
msgstr ""
msgstr "Històric Coda"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:311
#, python-format
msgid "Result"
msgstr ""
msgstr "Resultat"
#. module: account_coda
#: view:account.coda.import:0
msgid "Click on 'New' to select your file :"
msgstr ""
msgstr "Feu clic en 'Nou' per seleccionar el fitxer :"
#. module: account_coda
#: field:account.coda.import,def_receivable:0
msgid "Default Receivable Account"
msgstr ""
msgstr "Compte a cobrar per defecte"
#. module: account_coda
#: view:account.coda.import:0
msgid "Close"
msgstr ""
msgstr "Tanca"
#. module: account_coda
#: field:account.coda,statement_ids:0
msgid "Generated Bank Statements"
msgstr ""
msgstr "Extractes bancaris generats"
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
msgid "Account CODA - import bank statements from coda file"
msgstr ""
msgstr "Comptabilitat CODA - importa extractes bancaris des de fitxer Coda"
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
msgstr ""
msgstr "Configureu el diari i compte :"
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
msgstr ""
msgstr "Importació Coda"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,journal_id:0
msgid "Journal"
msgstr ""
msgstr "Diari"

View File

@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-01-13 17:16+0000\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
"consulting.net>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -319,23 +319,3 @@ msgstr "Journal"
#~ msgid "Select your bank journal :"
#~ msgstr "Wähle Bank Journal :"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Fehler ! Sie können kein rekursives Menü erstellen."
#~ msgid "Rules are not supported for osv_memory objects !"
#~ msgstr "Regeln werden nur unterstützt für osv_memory Objekte !"
#~ msgid "The certificate ID of the module must be unique !"
#~ msgstr "Die Zertifikat ID des Moduls sollte eindeutig sein !"
#~ msgid "Rule must have at least one checked access right !"
#~ msgstr ""
#~ "Die Berechtigung für diese Regel sollte mindestens bei einem Benutzer "
#~ "vorhanden sein !"
#~ msgid "The name of the module must be unique !"
#~ msgstr "Die Modulbezeichnung sollte eindeutig sein !"
#~ msgid "Size of the field can never be less than 1 !"
#~ msgstr "Die Größe des Feldes sollte niemals kleiner als 1 sein !"

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-11-14 08:11+0000\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: Dimitris Andavoglou <dimitrisand@gmail.com>\n"
"Language-Team: Greek <el@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -311,6 +311,3 @@ msgstr "Ημερολόγιο"
#~ msgid "Select your bank journal :"
#~ msgstr "Επιλέξτε το ημερολόγιο τράπεζά σας :"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Λάθος ! Δεν μπορείς να δημιουργήσεις κενό Μενού"

View File

@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-12-26 07:57+0000\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -294,21 +294,3 @@ msgstr "Diario"
#~ msgid "Select your bank journal :"
#~ msgstr "Seleccione su diario bancario :"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "¡Error! No puede crear menús recursivos."
#~ msgid "Rules are not supported for osv_memory objects !"
#~ msgstr "¡Las reglas no son soportadas en objetos osv_memory!"
#~ msgid "The certificate ID of the module must be unique !"
#~ msgstr "¡El ID del certificado del módulo debe ser único!"
#~ msgid "Rule must have at least one checked access right !"
#~ msgstr "¡La regla debe tener por lo menos un derecho de acceso marcado!"
#~ msgid "The name of the module must be unique !"
#~ msgstr "¡El nombre del módulo debe ser único!"
#~ msgid "Size of the field can never be less than 1 !"
#~ msgstr "¡El tamaño del campo nunca puede ser menor que 1!"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -32,22 +32,22 @@ msgstr "Registro"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda_import
msgid "Account Coda Import"
msgstr ""
msgstr "Contabilidad Importación Coda"
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
msgstr ""
msgstr "Fichero Coda"
#. module: account_coda
#: view:account.coda:0
msgid "Group By..."
msgstr ""
msgstr "Agrupar por..."
#. module: account_coda
#: field:account.coda.import,awaiting_account:0
msgid "Default Account for Unrecognized Movement"
msgstr ""
msgstr "Cuenta por defecto para movimientos no reconocidos"
#. module: account_coda
#: help:account.coda,date:0
@ -62,18 +62,18 @@ msgstr "Registro de importación"
#. module: account_coda
#: view:account.coda.import:0
msgid "Import"
msgstr ""
msgstr "Importar"
#. module: account_coda
#: view:account.coda:0
msgid "Coda import"
msgstr ""
msgstr "Importar Coda"
#. module: account_coda
#: code:addons/account_coda/account_coda.py:51
#, python-format
msgid "Coda file not found for bank statement !!"
msgstr ""
msgstr "¡No se ha encontrado el archivo Coda para el extracto bancario!"
#. module: account_coda
#: help:account.coda.import,awaiting_account:0
@ -81,12 +81,14 @@ msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
"Indique aquí la cuenta por defecto que se utilizará, si se encuentra la "
"empresa pero no tiene la cuenta bancaria, o si está domiciliado."
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,company_id:0
msgid "Company"
msgstr ""
msgstr "Compañía"
#. module: account_coda
#: help:account.coda.import,def_payable:0
@ -94,6 +96,8 @@ msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
"Indique aquí la cuenta a pagar que se utilizará por defecto, si no se "
"encuentra la empresa."
#. module: account_coda
#: view:account.coda:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-06-29 04:43+0000\n"
"X-Generator: Launchpad (build 13168)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -81,6 +81,8 @@ msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
"Aseta tähän tili jota käytetään oletuksena, jos kumppani löytyy mutta "
"pankkitiliä ei ole määriteltynä"
#. module: account_coda
#: view:account.coda:0
@ -94,6 +96,7 @@ msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
"Aseta tähän maksutili jota käytetään oletuksena, jos kumppania ei löydy"
#. module: account_coda
#: view:account.coda:0
@ -146,7 +149,7 @@ msgstr "Avaa tiliotteet"
#: code:addons/account_coda/wizard/account_coda_import.py:167
#, python-format
msgid "The bank account %s is not defined for the partner %s.\n"
msgstr ""
msgstr "Pankkitiliä %s ei ole määritelty kumppanille %s.\n"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
@ -242,20 +245,20 @@ msgstr "Luodut tiliotteet"
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
msgid "Account CODA - import bank statements from coda file"
msgstr ""
msgstr "CODA tili - tuo pankkitiliotteet coda tiedostosta"
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
msgstr ""
msgstr "Konfiguroi päiväkirja ja tili :"
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
msgstr ""
msgstr "Coda tuonti"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,journal_id:0
msgid "Journal"
msgstr ""
msgstr "Päiväkirja"

View File

@ -9,13 +9,13 @@ msgstr ""
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-12-31 10:33+0000\n"
"Last-Translator: lolivier <olivier.lenoir@free.fr>\n"
"Last-Translator: lholivier <olivier.lenoir@free.fr>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-01-13 08:19+0000\n"
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Italian <it@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -303,18 +303,3 @@ msgstr ""
#~ msgid "Coda Statements"
#~ msgstr "Dichiarazione CODA"
#~ msgid "The certificate ID of the module must be unique !"
#~ msgstr "L'ID certificato del modulo deve essere unico!"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Errore! Non è possibile creare un menù ricorsivo."
#~ msgid "Rules are not supported for osv_memory objects !"
#~ msgstr "Le regole non sono supportate per gli oggetti: osv_memory!"
#~ msgid "Rule must have at least one checked access right !"
#~ msgstr "La regola deve avere almeno un diritto di accesso spuntato!"
#~ msgid "The name of the module must be unique !"
#~ msgstr "Il nome del modulo deve essere unico!"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-01-13 06:02+0000\n"
"Last-Translator: Douwe Wullink (Dypalio) <Unknown>\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -317,21 +317,3 @@ msgstr "Dagboek"
#~ msgid "Select your bank journal :"
#~ msgstr "Selecteer bank dagboek :"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Fout ! U kan geen herhalend Menu maken"
#~ msgid "Rules are not supported for osv_memory objects !"
#~ msgstr "Regels worden niet ondersteund bij osv_memory objecten !"
#~ msgid "The certificate ID of the module must be unique !"
#~ msgstr "Het kwaliteitscertificaat id van de module moet uniek zijn !"
#~ msgid "Rule must have at least one checked access right !"
#~ msgstr "Regel moet tenminste één toegangsrecht aangevinkt hebben !"
#~ msgid "The name of the module must be unique !"
#~ msgstr "De modulenaam moet uniek zijn !"
#~ msgid "Size of the field can never be less than 1 !"
#~ msgstr "De veldlengte kan nooit kleiner dan 1 zijn !"

View File

@ -0,0 +1,259 @@
# Polish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-25 12:34+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
#: field:account.coda.import,journal_id:0
msgid "Bank Journal"
msgstr "Dziennik bankowy"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda.import,note:0
msgid "Log"
msgstr "Dziennik"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda_import
msgid "Account Coda Import"
msgstr ""
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Group By..."
msgstr "Grupuj wg"
#. module: account_coda
#: field:account.coda.import,awaiting_account:0
msgid "Default Account for Unrecognized Movement"
msgstr ""
#. module: account_coda
#: help:account.coda,date:0
msgid "Import Date"
msgstr "Data importu"
#. module: account_coda
#: field:account.coda,note:0
msgid "Import log"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Import"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Coda import"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/account_coda.py:51
#, python-format
msgid "Coda file not found for bank statement !!"
msgstr ""
#. module: account_coda
#: help:account.coda.import,awaiting_account:0
msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,company_id:0
msgid "Company"
msgstr "Firma"
#. module: account_coda
#: help:account.coda.import,def_payable:0
msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Search Coda"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,user_id:0
msgid "User"
msgstr "Użytkownik"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,date:0
msgid "Date"
msgstr "Data"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_statement
msgid "Coda Import Logs"
msgstr ""
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
msgid "coda for an Account"
msgstr ""
#. module: account_coda
#: field:account.coda.import,def_payable:0
msgid "Default Payable Account"
msgstr ""
#. module: account_coda
#: help:account.coda,name:0
msgid "Store the detail of bank statements"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Cancel"
msgstr "Anuluj"
#. module: account_coda
#: view:account.coda.import:0
msgid "Open Statements"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:167
#, python-format
msgid "The bank account %s is not defined for the partner %s.\n"
msgstr ""
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
msgid "Import Coda Statements"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
#: model:ir.actions.act_window,name:account_coda.action_account_coda_import
msgid "Import Coda Statement"
msgstr ""
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
msgid ""
"\n"
" Module provides functionality to import\n"
" bank statements from coda files.\n"
" "
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Statements"
msgstr ""
#. module: account_coda
#: field:account.bank.statement,coda_id:0
msgid "Coda"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Results :"
msgstr "Wyniki"
#. module: account_coda
#: view:account.coda.import:0
msgid "Result of Imported Coda Statements"
msgstr ""
#. module: account_coda
#: help:account.coda.import,def_receivable:0
msgid ""
"Set here the receivable account that will be used, by default, if the "
"partner is not found"
msgstr ""
#. module: account_coda
#: field:account.coda.import,coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
msgid "Coda File"
msgstr ""
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_bank_statement
msgid "Bank Statement"
msgstr ""
#. module: account_coda
#: model:ir.actions.act_window,name:account_coda.action_account_coda
msgid "Coda Logs"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:311
#, python-format
msgid "Result"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Click on 'New' to select your file :"
msgstr ""
#. module: account_coda
#: field:account.coda.import,def_receivable:0
msgid "Default Receivable Account"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Close"
msgstr ""
#. module: account_coda
#: field:account.coda,statement_ids:0
msgid "Generated Bank Statements"
msgstr ""
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
msgid "Account CODA - import bank statements from coda file"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,journal_id:0
msgid "Journal"
msgstr ""

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -9,13 +9,13 @@ msgstr ""
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-01-20 20:13+0000\n"
"Last-Translator: Mihai Boiciuc <Unknown>\n"
"Last-Translator: Mihai Satmarean <Unknown>\n"
"Language-Team: Romanian <ro@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-11-29 07:47+0000\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -37,7 +37,7 @@ msgstr ""
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
msgstr ""
msgstr "Coda файл"
#. module: account_coda
#: view:account.coda:0
@ -67,13 +67,13 @@ msgstr "Импорт"
#. module: account_coda
#: view:account.coda:0
msgid "Coda import"
msgstr ""
msgstr "Импорт coda"
#. module: account_coda
#: code:addons/account_coda/account_coda.py:51
#, python-format
msgid "Coda file not found for bank statement !!"
msgstr ""
msgstr "Не найден coda файл для банковской выписки!"
#. module: account_coda
#: help:account.coda.import,awaiting_account:0
@ -81,6 +81,8 @@ msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
"Установите счет, который будет использоваться, если у партнера не имеется "
"банковского счета или он домицилирован"
#. module: account_coda
#: view:account.coda:0
@ -94,11 +96,13 @@ msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
"Установите расчетный счет для использования по-умолчанию, если партнер не "
"найден."
#. module: account_coda
#: view:account.coda:0
msgid "Search Coda"
msgstr ""
msgstr "Искать Coda файл"
#. module: account_coda
#: view:account.coda:0
@ -115,22 +119,22 @@ msgstr "Дата"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_statement
msgid "Coda Import Logs"
msgstr ""
msgstr "Журналы импорта Coda"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
msgid "coda for an Account"
msgstr ""
msgstr "coda для счета"
#. module: account_coda
#: field:account.coda.import,def_payable:0
msgid "Default Payable Account"
msgstr ""
msgstr "Расчетный счет по-умолчанию"
#. module: account_coda
#: help:account.coda,name:0
msgid "Store the detail of bank statements"
msgstr ""
msgstr "Сохранить детали банковской выписки"
#. module: account_coda
#: view:account.coda.import:0
@ -146,18 +150,18 @@ msgstr ""
#: code:addons/account_coda/wizard/account_coda_import.py:167
#, python-format
msgid "The bank account %s is not defined for the partner %s.\n"
msgstr ""
msgstr "Банковский счет %s не установлен для контрагента %s.\n"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
msgid "Import Coda Statements"
msgstr ""
msgstr "Импортировать Coda выписки"
#. module: account_coda
#: view:account.coda.import:0
#: model:ir.actions.act_window,name:account_coda.action_account_coda_import
msgid "Import Coda Statement"
msgstr ""
msgstr "Импортировать Coda выписку"
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
@ -167,6 +171,10 @@ msgid ""
" bank statements from coda files.\n"
" "
msgstr ""
"\n"
" Модуль предоставляет функции импорта\n"
" банковских выписок из Coda файлов.\n"
" "
#. module: account_coda
#: view:account.coda:0
@ -186,7 +194,7 @@ msgstr "Результаты:"
#. module: account_coda
#: view:account.coda.import:0
msgid "Result of Imported Coda Statements"
msgstr ""
msgstr "Результат импортированных из Coda выписок"
#. module: account_coda
#: help:account.coda.import,def_receivable:0
@ -199,7 +207,7 @@ msgstr ""
#: field:account.coda.import,coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
msgid "Coda File"
msgstr ""
msgstr "Coda файл"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_bank_statement
@ -245,12 +253,12 @@ msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
msgstr ""
msgstr "Настройте журнал и счет:"
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
msgstr ""
msgstr "Импорт Coda файла"
#. module: account_coda
#: view:account.coda:0
@ -275,21 +283,3 @@ msgstr "Журнал"
#~ msgid "_Ok"
#~ msgstr "_Далее"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Ошибка ! Нельзя создать зацикленные меню."
#~ msgid "The certificate ID of the module must be unique !"
#~ msgstr "Идентификатор сертификата модуля должен быть уникальным !"
#~ msgid "Rules are not supported for osv_memory objects !"
#~ msgstr "Правила не поддерживаются в объектах osv_memory !"
#~ msgid "Rule must have at least one checked access right !"
#~ msgstr "Правило должно иметь хотя бы одно проверенное право доступа !"
#~ msgid "The name of the module must be unique !"
#~ msgstr "Название модуля должно быть уникальным !"
#~ msgid "Size of the field can never be less than 1 !"
#~ msgstr "Размер поля никогда не может быть меньше 1 !"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:34+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-11-14 08:09+0000\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -313,9 +313,3 @@ msgstr "Dnevnik"
#~ msgid "Select your bank journal :"
#~ msgstr "Izaberi svoj bancin dnevnik"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Greska ! Ne mozes kreirati rekursivni meni."
#~ msgid "Rules are not supported for osv_memory objects !"
#~ msgstr "Pravila nisu podrzana od strane osv_memory objekta !"

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-12-23 15:47+0000\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Serbian latin <sr@latin@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -272,15 +272,9 @@ msgstr "Dnevnik"
#~ msgid "Invalid model name in the action definition."
#~ msgstr "Pogrešno ime modela u definiciji akcije."
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Greska ! Ne mozes kreirati rekursivni meni."
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Nevažeći XML za pregled arhitekture"
#~ msgid "Rules are not supported for osv_memory objects !"
#~ msgstr "Pravila nisu podrzana od strane osv_memory objekta !"
#~ msgid "Clic on 'New' to select your file :"
#~ msgstr "Klikni na 'Novi' da izaberes svoj fajl"

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-01-26 07:01+0000\n"
"Last-Translator: Magnus Brandt (mba), Aspirix AB <Unknown>\n"
"PO-Revision-Date: 2011-08-30 17:18+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -266,14 +266,5 @@ msgstr ""
#~ msgid "Invalid model name in the action definition."
#~ msgstr "Ogiltigt modellnamn i åtgärdsdefinitionen."
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Fel! Ni kan inte skapa recursiva menyer"
#~ msgid "The certificate ID of the module must be unique !"
#~ msgstr "Certifikat ID för modulen måste vara unik!"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Ogiltig XML för Vy-arkitektur!"
#~ msgid "The name of the module must be unique !"
#~ msgstr "Namnet på modulen måste vara unikt!"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-05-16 04:39+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@ -81,6 +81,8 @@ msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
"Eğer bir paydaş var ama banka hesabı yok ise ya da ikametgahlı ise burada "
"kullanılacak varsayılan hesabı ayarlayın"
#. module: account_coda
#: view:account.coda:0
@ -94,6 +96,8 @@ msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
"Eğer bir paydaş yok ise burada kullanılacak varsayılan alıcı hesabını "
"ayarlayın"
#. module: account_coda
#: view:account.coda:0
@ -104,60 +108,60 @@ msgstr "Coda Araştır"
#: view:account.coda:0
#: field:account.coda,user_id:0
msgid "User"
msgstr ""
msgstr "Kullanıcı"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,date:0
msgid "Date"
msgstr ""
msgstr "Tarih"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_statement
msgid "Coda Import Logs"
msgstr ""
msgstr "Coda içeaktarım günlüğü"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
msgid "coda for an Account"
msgstr ""
msgstr "Bir hesap için Coda"
#. module: account_coda
#: field:account.coda.import,def_payable:0
msgid "Default Payable Account"
msgstr ""
msgstr "Varsayılan Satıcılar Hesabı"
#. module: account_coda
#: help:account.coda,name:0
msgid "Store the detail of bank statements"
msgstr ""
msgstr "Banka ekstreleri ayrıntılarını saklayın"
#. module: account_coda
#: view:account.coda.import:0
msgid "Cancel"
msgstr ""
msgstr "Vazgeç"
#. module: account_coda
#: view:account.coda.import:0
msgid "Open Statements"
msgstr ""
msgstr "Ekstreleri Aç"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:167
#, python-format
msgid "The bank account %s is not defined for the partner %s.\n"
msgstr ""
msgstr "%s Paydaşı için %s banka hesabı tanımlanmamıştır.\n"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
msgid "Import Coda Statements"
msgstr ""
msgstr "Coda Ekstrelerini İçeaktar"
#. module: account_coda
#: view:account.coda.import:0
#: model:ir.actions.act_window,name:account_coda.action_account_coda_import
msgid "Import Coda Statement"
msgstr ""
msgstr "Coda Ekstresini İçeaktar"
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
@ -167,26 +171,30 @@ msgid ""
" bank statements from coda files.\n"
" "
msgstr ""
"\n"
" Modül banka ekstrelerinin coda\n"
" dosyalarından içeaktarımını sağlar.\n"
" "
#. module: account_coda
#: view:account.coda:0
msgid "Statements"
msgstr ""
msgstr "Ekstreler"
#. module: account_coda
#: field:account.bank.statement,coda_id:0
msgid "Coda"
msgstr ""
msgstr "Coda"
#. module: account_coda
#: view:account.coda.import:0
msgid "Results :"
msgstr ""
msgstr "Sonuçlar :"
#. module: account_coda
#: view:account.coda.import:0
msgid "Result of Imported Coda Statements"
msgstr ""
msgstr "İçeaktarılmış Coda Ekstreleri Sonucu"
#. module: account_coda
#: help:account.coda.import,def_receivable:0
@ -194,66 +202,68 @@ msgid ""
"Set here the receivable account that will be used, by default, if the "
"partner is not found"
msgstr ""
"Eğer bir paydaş yoksa, burada kullanılacak varsayılan alıcılar hesabını "
"ayarlayın"
#. module: account_coda
#: field:account.coda.import,coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
msgid "Coda File"
msgstr ""
msgstr "Coda Dosyası"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_bank_statement
msgid "Bank Statement"
msgstr ""
msgstr "Banka Ekstresi"
#. module: account_coda
#: model:ir.actions.act_window,name:account_coda.action_account_coda
msgid "Coda Logs"
msgstr ""
msgstr "Coda Günlükleri"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:311
#, python-format
msgid "Result"
msgstr ""
msgstr "Sonuç"
#. module: account_coda
#: view:account.coda.import:0
msgid "Click on 'New' to select your file :"
msgstr ""
msgstr "Dosyanızı seçmek için 'Yeni' ye tıklayın :"
#. module: account_coda
#: field:account.coda.import,def_receivable:0
msgid "Default Receivable Account"
msgstr ""
msgstr "Varsayılan Alıcı Hesabı"
#. module: account_coda
#: view:account.coda.import:0
msgid "Close"
msgstr ""
msgstr "Kapat"
#. module: account_coda
#: field:account.coda,statement_ids:0
msgid "Generated Bank Statements"
msgstr ""
msgstr "Oluşturulan Banka Ekstreleri"
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
msgid "Account CODA - import bank statements from coda file"
msgstr ""
msgstr "CODA Hesabı - coda dosyalarından banka ekstrelerini içe aktar"
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
msgstr ""
msgstr "Yevmiye ve Hesaplarınızı Yapılandırın"
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
msgstr ""
msgstr "Coda İçeaktar"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,journal_id:0
msgid "Journal"
msgstr ""
msgstr "Yevmiye"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-06-06 04:37+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0

View File

@ -14,14 +14,14 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:42+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-31 04:35+0000\n"
"X-Generator: Launchpad (build 13815)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
#: field:account.coda.import,journal_id:0
msgid "Bank Journal"
msgstr "银行记录集合"
msgstr "银行日记账"
#. module: account_coda
#: view:account.coda:0
@ -32,12 +32,12 @@ msgstr "日志"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda_import
msgid "Account Coda Import"
msgstr ""
msgstr "结帐科目录入"
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
msgstr "Coda 文件"
msgstr "归档结帐"
#. module: account_coda
#: view:account.coda:0
@ -47,7 +47,7 @@ msgstr "分组..."
#. module: account_coda
#: field:account.coda.import,awaiting_account:0
msgid "Default Account for Unrecognized Movement"
msgstr ""
msgstr "默认科目无法识别的记帐"
#. module: account_coda
#: help:account.coda,date:0
@ -67,38 +67,38 @@ msgstr "导入"
#. module: account_coda
#: view:account.coda:0
msgid "Coda import"
msgstr "Coda 导入"
msgstr "结帐录入"
#. module: account_coda
#: code:addons/account_coda/account_coda.py:51
#, python-format
msgid "Coda file not found for bank statement !!"
msgstr ""
msgstr "结账文件未找到银行对帐单"
#. module: account_coda
#: help:account.coda.import,awaiting_account:0
msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
msgstr "针对没有银行帐号或指定支付地点的业务伙伴,这里设置要使用的默认银行帐号。"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,company_id:0
msgid "Company"
msgstr ""
msgstr "公司"
#. module: account_coda
#: help:account.coda.import,def_payable:0
msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
msgstr "如果没有找到合作伙伴,那么在这里设置默认支付帐户."
#. module: account_coda
#: view:account.coda:0
msgid "Search Coda"
msgstr ""
msgstr "结账搜索"
#. module: account_coda
#: view:account.coda:0
@ -110,17 +110,17 @@ msgstr "用户"
#: view:account.coda:0
#: field:account.coda,date:0
msgid "Date"
msgstr ""
msgstr "日期"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_statement
msgid "Coda Import Logs"
msgstr ""
msgstr "导入结账日志"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
msgid "coda for an Account"
msgstr "帐号的CODA"
msgstr "科目结账"
#. module: account_coda
#: field:account.coda.import,def_payable:0
@ -130,34 +130,34 @@ msgstr "默认应付帐款科目"
#. module: account_coda
#: help:account.coda,name:0
msgid "Store the detail of bank statements"
msgstr ""
msgstr "银行对账单的详细"
#. module: account_coda
#: view:account.coda.import:0
msgid "Cancel"
msgstr ""
msgstr "取消"
#. module: account_coda
#: view:account.coda.import:0
msgid "Open Statements"
msgstr ""
msgstr "打开报表"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:167
#, python-format
msgid "The bank account %s is not defined for the partner %s.\n"
msgstr ""
msgstr "银行帐户%s没有定义合作伙伴%s\n"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
msgid "Import Coda Statements"
msgstr "导入CODA"
msgstr "导入结账"
#. module: account_coda
#: view:account.coda.import:0
#: model:ir.actions.act_window,name:account_coda.action_account_coda_import
msgid "Import Coda Statement"
msgstr "导入CODA"
msgstr "导入结账报表"
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
@ -167,11 +167,14 @@ msgid ""
" bank statements from coda files.\n"
" "
msgstr ""
"\n"
" 模块提供了导入结账报表功能\n"
" "
#. module: account_coda
#: view:account.coda:0
msgid "Statements"
msgstr ""
msgstr "报表"
#. module: account_coda
#: field:account.bank.statement,coda_id:0
@ -186,77 +189,77 @@ msgstr "结果:"
#. module: account_coda
#: view:account.coda.import:0
msgid "Result of Imported Coda Statements"
msgstr ""
msgstr "导入结账报表"
#. module: account_coda
#: help:account.coda.import,def_receivable:0
msgid ""
"Set here the receivable account that will be used, by default, if the "
"partner is not found"
msgstr ""
msgstr "如果没找到业务伙伴,在这里设置应收账款科目"
#. module: account_coda
#: field:account.coda.import,coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
msgid "Coda File"
msgstr "CODA文件"
msgstr "结账文件"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_bank_statement
msgid "Bank Statement"
msgstr ""
msgstr "银行对账单"
#. module: account_coda
#: model:ir.actions.act_window,name:account_coda.action_account_coda
msgid "Coda Logs"
msgstr ""
msgstr "结账日志"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:311
#, python-format
msgid "Result"
msgstr ""
msgstr "结果"
#. module: account_coda
#: view:account.coda.import:0
msgid "Click on 'New' to select your file :"
msgstr ""
msgstr "点击“新建”,选择您的文件"
#. module: account_coda
#: field:account.coda.import,def_receivable:0
msgid "Default Receivable Account"
msgstr ""
msgstr "默认的应收账款"
#. module: account_coda
#: view:account.coda.import:0
msgid "Close"
msgstr ""
msgstr "关闭"
#. module: account_coda
#: field:account.coda,statement_ids:0
msgid "Generated Bank Statements"
msgstr ""
msgstr "生成银行对账单"
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
msgid "Account CODA - import bank statements from coda file"
msgstr ""
msgstr "科目结账 - 导入结账的银行对账单"
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
msgstr ""
msgstr "设置你的账簿和科目"
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
msgstr ""
msgstr "导入结账"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,journal_id:0
msgid "Journal"
msgstr ""
msgstr "账簿"
#~ msgid "Clic on 'New' to select your file :"
#~ msgstr "点击\"新\"去选择你的文件:"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-07-29 13:34+0000\n"
"PO-Revision-Date: 2011-08-17 23:03+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-07-30 05:00+0000\n"
"X-Generator: Launchpad (build 13405)\n"
"X-Launchpad-Export-Date: 2011-08-23 05:04+0000\n"
"X-Generator: Launchpad (build 13697)\n"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:298
@ -337,6 +337,7 @@ msgstr "Envia correu en l'idioma de l'empresa"
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
"No podeu crear una anotació en un compte a cobrar/a pagar sense una empresa."
#. module: account_followup
#: view:account.followup.print.all:0
@ -541,6 +542,9 @@ msgid ""
"\n"
"%s"
msgstr ""
"Tots els correus electronics han estat enviats amb èxit a les empreses:.\n"
"\n"
"%s"
#. module: account_followup
#: constraint:res.company:0
@ -731,6 +735,10 @@ msgid ""
"\n"
"%s"
msgstr ""
"El correu electrònic no enviat a les empreses, no es disposa de correu "
"electrònic!\n"
"\n"
"%s"
#. module: account_followup
#: view:account.followup.print:0
@ -1000,13 +1008,6 @@ msgstr "No podeu crear un apunt en un compte de tipus \"Vista\"."
#~ "Tots els correus han estat enviats a les empreses correctament:.\n"
#~ "\n"
#~ msgid ""
#~ "Do not change message text, if you want to send email in partner language, "
#~ "or configre from company"
#~ msgstr ""
#~ "No canvieu el text del missatge si voleu enviar el correu en l'idioma de "
#~ "l'empresa o configurar-lo des de la companyia."
#, python-format
#~ msgid ""
#~ "\n"

View File

@ -7,15 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-10-30 13:03+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n"
"PO-Revision-Date: 2011-08-07 20:27+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:22+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-08 04:36+0000\n"
"X-Generator: Launchpad (build 13613)\n"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
@ -95,6 +94,21 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
" Aquest mòdul proporciona diverses funcionalitats per millorar la "
"presentació de les factures.\n"
"\n"
"Permet la possibilitat de:\n"
"* ordenar totes les línies d'una factura\n"
"* afegir títols, línies de comentari, línies amb subtotals\n"
"* dibuixar línies horitzontals i posar salts de pàgina\n"
"\n"
"A més existeix una opció que permet imprimir totes les factures "
"seleccionades amb un missatge especial en la part inferior. Aquesta "
"característica pot ser molt útil per imprimir les factures amb felicitacions "
"de finalització d'any, condicions especials puntuals, ...\n"
"\n"
" "
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -144,6 +158,7 @@ msgstr "Descripció"
#: help:account.invoice.line,sequence:0
msgid "Gives the sequence order when displaying a list of invoice lines."
msgstr ""
"Indica l'ordre de seqüència quan es mostra una llista de línies de factura."
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -192,7 +207,7 @@ msgstr "Missatge especial"
#. module: account_invoice_layout
#: help:account.invoice.special.msg,message:0
msgid "Message to Print at the bottom of report"
msgstr ""
msgstr "Missatge a imprimir en el peu de l'informe."
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -247,17 +262,17 @@ msgstr "Import"
#. module: account_invoice_layout
#: model:notify.message,msg:account_invoice_layout.demo_message1
msgid "ERP & CRM Solutions..."
msgstr ""
msgstr "Solucions ERP i CRM..."
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Net Total :"
msgstr ""
msgstr "Total net :"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Total :"
msgstr ""
msgstr "Total :"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -273,13 +288,13 @@ msgstr "Número de seqüència"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_special_msg
msgid "Account Invoice Special Message"
msgstr ""
msgstr "Missatge especial factura comptable"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Origin"
msgstr ""
msgstr "Origen"
#. module: account_invoice_layout
#: field:account.invoice.line,state:0
@ -295,12 +310,12 @@ msgstr "Línia de separació"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Your Reference"
msgstr ""
msgstr "La seva referència"
#. module: account_invoice_layout
#: model:ir.module.module,shortdesc:account_invoice_layout.module_meta_information
msgid "Invoices Layout Improvement"
msgstr ""
msgstr "Millora de la plantilla de les factures"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -322,7 +337,7 @@ msgstr "Impost"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_line
msgid "Invoice Line"
msgstr ""
msgstr "Línia de factura"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -360,19 +375,13 @@ msgstr "Missatge"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Taxes :"
msgstr ""
msgstr "Impostos :"
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_notify_mesage_tree_form
msgid "All Notification Messages"
msgstr "Tots els missatges de notificació"
#~ msgid "Document"
#~ msgstr "Document"
#~ msgid ":"
#~ msgstr ":"
#~ msgid "(incl. taxes):"
#~ msgstr "(amb impostos):"
@ -420,6 +429,3 @@ msgstr "Tots els missatges de notificació"
#~ msgid "Invalid model name in the action definition."
#~ msgstr "Nom de model no vàlid en la definició de l'acció."
#~ msgid "Partner Ref."
#~ msgstr "Ref. empresa"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-10-30 15:26+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2011-08-17 20:38+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:21+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-23 05:05+0000\n"
"X-Generator: Launchpad (build 13697)\n"
#. module: account_payment
#: field:payment.order,date_scheduled:0
@ -40,7 +40,7 @@ msgstr "Seleccioneu la forma de pagament a aplicar."
#: view:payment.mode:0
#: view:payment.order:0
msgid "Group By..."
msgstr ""
msgstr "Agrupa per..."
#. module: account_payment
#: model:ir.module.module,description:account_payment.module_meta_information
@ -51,6 +51,12 @@ msgid ""
"* a basic mechanism to easily plug various automated payment.\n"
" "
msgstr ""
"\n"
"Aquest mòdul proporciona:\n"
"* Una forma més eficient per gestionar el pagament de les factures.\n"
"* Un mecanisme bàsic per connectar fàcilment diversos pagaments "
"automatitzats.\n"
" "
#. module: account_payment
#: field:payment.order,line_ids:0
@ -71,6 +77,9 @@ msgid ""
" Once the bank is confirmed the state is set to 'Confirmed'.\n"
" Then the order is paid the state is 'Done'."
msgstr ""
"Quan es fa una ordre, l'estat és 'Esborrany'.\n"
" Una vegada es confirma el banc, l'estat és \"Confirmat\".\n"
" Quan l'ordre es paga, l'estat és 'Realitzat'."
#. module: account_payment
#: help:account.invoice,amount_to_pay:0
@ -84,7 +93,7 @@ msgstr ""
#. module: account_payment
#: field:payment.mode,company_id:0
msgid "Company"
msgstr ""
msgstr "Companyia"
#. module: account_payment
#: field:payment.order,date_prefered:0
@ -104,7 +113,7 @@ msgstr "Assentaments"
#. module: account_payment
#: report:payment.order:0
msgid "Used Account"
msgstr ""
msgstr "Compte utilitzat"
#. module: account_payment
#: field:payment.line,ml_maturity_date:0
@ -115,7 +124,7 @@ msgstr "Data venciment"
#. module: account_payment
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
msgstr ""
msgstr "No podeu crear una anotació en un compte tancat."
#. module: account_payment
#: view:account.move.line:0
@ -131,7 +140,7 @@ msgstr "_Afegeix a l'ordre de pagament"
#: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement
#: model:ir.actions.act_window,name:account_payment.action_account_populate_statement_confirm
msgid "Payment Populate statement"
msgstr ""
msgstr "Genera extracte de pagament"
#. module: account_payment
#: report:payment.order:0
@ -142,7 +151,7 @@ msgstr "Import"
#. module: account_payment
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr ""
msgstr "Valor del deure o haver erroni en l'assentament comptable!"
#. module: account_payment
#: view:payment.order:0
@ -168,7 +177,7 @@ msgstr "Referència"
#. module: account_payment
#: sql_constraint:payment.line:0
msgid "The payment line name must be unique!"
msgstr ""
msgstr "El nom de la línia de pagament ha de ser únic!"
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree
@ -208,7 +217,7 @@ msgstr "Data venciment factura"
#. module: account_payment
#: report:payment.order:0
msgid "Execution Type"
msgstr ""
msgstr "Tipus d'execució"
#. module: account_payment
#: selection:payment.line,state:0
@ -276,7 +285,7 @@ msgstr "Data execució"
#. module: account_payment
#: help:payment.mode,journal:0
msgid "Bank or Cash Journal for the Payment Mode"
msgstr ""
msgstr "Diari de banc o caixa per la forma de pagament."
#. module: account_payment
#: selection:payment.order,date_prefered:0
@ -297,13 +306,14 @@ msgstr "Compte de destí"
#. module: account_payment
#: view:payment.order:0
msgid "Search Payment Orders"
msgstr ""
msgstr "Cerca ordres de pagament"
#. module: account_payment
#: constraint:account.move.line:0
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
"No podeu crear una anotació en un compte a cobrar/a pagar sense una empresa."
#. module: account_payment
#: field:payment.line,create_date:0
@ -338,7 +348,7 @@ msgstr "Gestió de pagaments"
#. module: account_payment
#: field:payment.line,bank_statement_line_id:0
msgid "Bank statement line"
msgstr ""
msgstr "Línia de l'extracte bancari"
#. module: account_payment
#: selection:payment.order,date_prefered:0
@ -353,12 +363,12 @@ msgstr "Import a pagar"
#. module: account_payment
#: report:payment.order:0
msgid "Currency"
msgstr ""
msgstr "Divises"
#. module: account_payment
#: view:account.payment.make.payment:0
msgid "Yes"
msgstr ""
msgstr "Si"
#. module: account_payment
#: help:payment.line,info_owner:0
@ -377,7 +387,7 @@ msgstr ""
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_payment_populate_statement
msgid "Account Payment Populate Statement"
msgstr ""
msgstr "Genera extracte de pagamanet de comptes"
#. module: account_payment
#: help:payment.mode,name:0
@ -387,7 +397,7 @@ msgstr "Forma de pagament"
#. module: account_payment
#: report:payment.order:0
msgid "Value Date"
msgstr ""
msgstr "Data valor"
#. module: account_payment
#: report:payment.order:0
@ -424,7 +434,7 @@ msgstr "Direcció del client que ordena."
#. module: account_payment
#: view:account.payment.populate.statement:0
msgid "Populate Statement:"
msgstr ""
msgstr "Genera extracte:"
#. module: account_payment
#: view:account.move.line:0
@ -451,12 +461,13 @@ msgstr "Línies de pagament"
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_move_line
msgid "Journal Items"
msgstr ""
msgstr "Apunts comptables"
#. module: account_payment
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
msgstr ""
"La companyia ha de ser la mateixa per al compte i període relacionats."
#. module: account_payment
#: help:payment.line,move_line_id:0
@ -469,7 +480,7 @@ msgstr ""
#. module: account_payment
#: view:payment.order.create:0
msgid "Search"
msgstr ""
msgstr "Cerca"
#. module: account_payment
#: model:ir.actions.report.xml,name:account_payment.payment_order1
@ -485,7 +496,7 @@ msgstr "Data de pagament"
#. module: account_payment
#: report:payment.order:0
msgid "Total:"
msgstr ""
msgstr "Total:"
#. module: account_payment
#: field:payment.order,date_created:0
@ -495,7 +506,7 @@ msgstr "Data creació"
#. module: account_payment
#: view:account.payment.populate.statement:0
msgid "ADD"
msgstr ""
msgstr "Afegeix"
#. module: account_payment
#: view:account.bank.statement:0
@ -520,12 +531,12 @@ msgstr "El client que ordena"
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_payment_make_payment
msgid "Account make payment"
msgstr ""
msgstr "Compte del pagament a realitzar"
#. module: account_payment
#: report:payment.order:0
msgid "Invoice Ref"
msgstr ""
msgstr "Ref. factura"
#. module: account_payment
#: field:payment.line,name:0
@ -557,7 +568,7 @@ msgstr "Realitzat"
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_invoice
msgid "Invoice"
msgstr ""
msgstr "Factura"
#. module: account_payment
#: field:payment.line,communication:0
@ -586,6 +597,11 @@ msgid ""
"that should be done, keep track of all payment orders and mention the "
"invoice reference and the partner the payment should be done for."
msgstr ""
"Una ordre de pagament és una petició de pagament que realitza la seva "
"companyia per pagar una factura de proveïdor o una anotació de crèdit d'un "
"client. Aquí podeu registrar totes les ordres de pagament pendents i fer "
"seguiment de les ordres i indicar la referència de factura i l'entitat a la "
"qual pagar."
#. module: account_payment
#: help:payment.line,amount:0
@ -615,7 +631,7 @@ msgstr "Compte bancari destí"
#. module: account_payment
#: view:account.payment.make.payment:0
msgid "Are you sure you want to make payment?"
msgstr ""
msgstr "Esteu segur que voleu realitzar el pagament?"
#. module: account_payment
#: view:payment.mode:0
@ -649,7 +665,7 @@ msgstr "Pagaments/Cobraments"
#. module: account_payment
#: report:payment.order:0
msgid "Payment Order / Payment"
msgstr ""
msgstr "Ordre de pagament / Pagament"
#. module: account_payment
#: field:payment.line,move_line_id:0
@ -673,7 +689,7 @@ msgstr "Nom"
#. module: account_payment
#: report:payment.order:0
msgid "Bank Account"
msgstr ""
msgstr "Compte bancari"
#. module: account_payment
#: view:payment.line:0
@ -684,7 +700,7 @@ msgstr "Informació de l'assentament"
#. module: account_payment
#: model:ir.model,name:account_payment.model_payment_order_create
msgid "payment.order.create"
msgstr ""
msgstr "pagament.ordre.crea"
#. module: account_payment
#: field:payment.line,order_id:0
@ -700,7 +716,7 @@ msgstr "Total"
#: view:account.payment.make.payment:0
#: model:ir.actions.act_window,name:account_payment.action_account_payment_make_payment
msgid "Make Payment"
msgstr ""
msgstr "Realitza pagament"
#. module: account_payment
#: field:payment.line,partner_id:0
@ -711,7 +727,7 @@ msgstr "Empresa"
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_create_payment_order
msgid "Populate Payment"
msgstr ""
msgstr "Genera pagament"
#. module: account_payment
#: help:payment.mode,bank_id:0
@ -721,7 +737,7 @@ msgstr "Compte bancari per la forma de pagament"
#. module: account_payment
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
msgstr ""
msgstr "No podeu crear un apunt en un compte de tipus \"Vista\"."
#~ msgid "Execution date:"
#~ msgstr "Data d'execució:"

View File

@ -0,0 +1,714 @@
# Spanish (Chile) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-26 23:15+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish (Chile) <es_CL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-27 05:41+0000\n"
"X-Generator: Launchpad (build 13794)\n"
#. module: account_payment
#: field:payment.order,date_scheduled:0
msgid "Scheduled date if fixed"
msgstr ""
#. module: account_payment
#: field:payment.line,currency:0
msgid "Partner Currency"
msgstr ""
#. module: account_payment
#: view:payment.order:0
msgid "Set to draft"
msgstr ""
#. module: account_payment
#: help:payment.order,mode:0
msgid "Select the Payment Mode to be applied."
msgstr ""
#. module: account_payment
#: view:payment.mode:0
#: view:payment.order:0
msgid "Group By..."
msgstr ""
#. module: account_payment
#: model:ir.module.module,description:account_payment.module_meta_information
msgid ""
"\n"
"This module provides :\n"
"* a more efficient way to manage invoice payment.\n"
"* a basic mechanism to easily plug various automated payment.\n"
" "
msgstr ""
#. module: account_payment
#: field:payment.order,line_ids:0
msgid "Payment lines"
msgstr ""
#. module: account_payment
#: view:payment.line:0
#: field:payment.line,info_owner:0
#: view:payment.order:0
msgid "Owner Account"
msgstr ""
#. module: account_payment
#: help:payment.order,state:0
msgid ""
"When an order is placed the state is 'Draft'.\n"
" Once the bank is confirmed the state is set to 'Confirmed'.\n"
" Then the order is paid the state is 'Done'."
msgstr ""
#. module: account_payment
#: help:account.invoice,amount_to_pay:0
msgid ""
"The amount which should be paid at the current date\n"
"minus the amount which is already in payment order"
msgstr ""
#. module: account_payment
#: field:payment.mode,company_id:0
msgid "Company"
msgstr ""
#. module: account_payment
#: field:payment.order,date_prefered:0
msgid "Preferred date"
msgstr ""
#. module: account_payment
#: selection:payment.line,state:0
msgid "Free"
msgstr ""
#. module: account_payment
#: field:payment.order.create,entries:0
msgid "Entries"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Used Account"
msgstr ""
#. module: account_payment
#: field:payment.line,ml_maturity_date:0
#: field:payment.order.create,duedate:0
msgid "Due Date"
msgstr ""
#. module: account_payment
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
msgstr ""
#. module: account_payment
#: view:account.move.line:0
msgid "Account Entry Line"
msgstr ""
#. module: account_payment
#: view:payment.order.create:0
msgid "_Add to payment order"
msgstr ""
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement
#: model:ir.actions.act_window,name:account_payment.action_account_populate_statement_confirm
msgid "Payment Populate statement"
msgstr ""
#. module: account_payment
#: report:payment.order:0
#: view:payment.order:0
msgid "Amount"
msgstr ""
#. module: account_payment
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr ""
#. module: account_payment
#: view:payment.order:0
msgid "Total in Company Currency"
msgstr ""
#. module: account_payment
#: selection:payment.order,state:0
msgid "Cancelled"
msgstr ""
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree_new
msgid "New Payment Order"
msgstr ""
#. module: account_payment
#: report:payment.order:0
#: field:payment.order,reference:0
msgid "Reference"
msgstr ""
#. module: account_payment
#: sql_constraint:payment.line:0
msgid "The payment line name must be unique!"
msgstr ""
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree
#: model:ir.ui.menu,name:account_payment.menu_action_payment_order_form
msgid "Payment Orders"
msgstr ""
#. module: account_payment
#: selection:payment.order,date_prefered:0
msgid "Directly"
msgstr ""
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_line_form
#: model:ir.model,name:account_payment.model_payment_line
#: view:payment.line:0
#: view:payment.order:0
msgid "Payment Line"
msgstr ""
#. module: account_payment
#: view:payment.line:0
msgid "Amount Total"
msgstr ""
#. module: account_payment
#: view:payment.order:0
#: selection:payment.order,state:0
msgid "Confirmed"
msgstr ""
#. module: account_payment
#: help:payment.line,ml_date_created:0
msgid "Invoice Effective Date"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Execution Type"
msgstr ""
#. module: account_payment
#: selection:payment.line,state:0
msgid "Structured"
msgstr ""
#. module: account_payment
#: view:payment.order:0
#: field:payment.order,state:0
msgid "State"
msgstr ""
#. module: account_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "Transaction Information"
msgstr ""
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_mode_form
#: model:ir.model,name:account_payment.model_payment_mode
#: model:ir.ui.menu,name:account_payment.menu_action_payment_mode_form
#: view:payment.mode:0
#: view:payment.order:0
msgid "Payment Mode"
msgstr ""
#. module: account_payment
#: field:payment.line,ml_date_created:0
msgid "Effective Date"
msgstr ""
#. module: account_payment
#: field:payment.line,ml_inv_ref:0
msgid "Invoice Ref."
msgstr ""
#. module: account_payment
#: help:payment.order,date_prefered:0
msgid ""
"Choose an option for the Payment Order:'Fixed' stands for a date specified "
"by you.'Directly' stands for the direct execution.'Due date' stands for the "
"scheduled date of execution."
msgstr ""
#. module: account_payment
#: code:addons/account_payment/account_move_line.py:110
#, python-format
msgid "Error !"
msgstr ""
#. module: account_payment
#: view:account.move.line:0
msgid "Total debit"
msgstr ""
#. module: account_payment
#: field:payment.order,date_done:0
msgid "Execution date"
msgstr ""
#. module: account_payment
#: help:payment.mode,journal:0
msgid "Bank or Cash Journal for the Payment Mode"
msgstr ""
#. module: account_payment
#: selection:payment.order,date_prefered:0
msgid "Fixed date"
msgstr ""
#. module: account_payment
#: field:payment.line,info_partner:0
#: view:payment.order:0
msgid "Destination Account"
msgstr ""
#. module: account_payment
#: view:payment.line:0
msgid "Desitination Account"
msgstr ""
#. module: account_payment
#: view:payment.order:0
msgid "Search Payment Orders"
msgstr ""
#. module: account_payment
#: constraint:account.move.line:0
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
#. module: account_payment
#: field:payment.line,create_date:0
msgid "Created"
msgstr ""
#. module: account_payment
#: view:payment.order:0
msgid "Select Invoices to Pay"
msgstr ""
#. module: account_payment
#: view:payment.line:0
msgid "Currency Amount Total"
msgstr ""
#. module: account_payment
#: view:payment.order:0
msgid "Make Payments"
msgstr ""
#. module: account_payment
#: field:payment.line,state:0
msgid "Communication Type"
msgstr ""
#. module: account_payment
#: model:ir.module.module,shortdesc:account_payment.module_meta_information
msgid "Payment Management"
msgstr ""
#. module: account_payment
#: field:payment.line,bank_statement_line_id:0
msgid "Bank statement line"
msgstr ""
#. module: account_payment
#: selection:payment.order,date_prefered:0
msgid "Due date"
msgstr ""
#. module: account_payment
#: field:account.invoice,amount_to_pay:0
msgid "Amount to be paid"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Currency"
msgstr ""
#. module: account_payment
#: view:account.payment.make.payment:0
msgid "Yes"
msgstr ""
#. module: account_payment
#: help:payment.line,info_owner:0
msgid "Address of the Main Partner"
msgstr ""
#. module: account_payment
#: help:payment.line,date:0
msgid ""
"If no payment date is specified, the bank will treat this payment line "
"directly"
msgstr ""
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_payment_populate_statement
msgid "Account Payment Populate Statement"
msgstr ""
#. module: account_payment
#: help:payment.mode,name:0
msgid "Mode of Payment"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Value Date"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Payment Type"
msgstr ""
#. module: account_payment
#: help:payment.line,amount_currency:0
msgid "Payment amount in the partner currency"
msgstr ""
#. module: account_payment
#: view:payment.order:0
#: selection:payment.order,state:0
msgid "Draft"
msgstr ""
#. module: account_payment
#: help:payment.line,communication2:0
msgid "The successor message of Communication."
msgstr ""
#. module: account_payment
#: code:addons/account_payment/account_move_line.py:110
#, python-format
msgid "No partner defined on entry line"
msgstr ""
#. module: account_payment
#: help:payment.line,info_partner:0
msgid "Address of the Ordering Customer."
msgstr ""
#. module: account_payment
#: view:account.payment.populate.statement:0
msgid "Populate Statement:"
msgstr ""
#. module: account_payment
#: view:account.move.line:0
msgid "Total credit"
msgstr ""
#. module: account_payment
#: help:payment.order,date_scheduled:0
msgid "Select a date if you have chosen Preferred Date to be fixed."
msgstr ""
#. module: account_payment
#: field:payment.order,user_id:0
msgid "User"
msgstr ""
#. module: account_payment
#: field:account.payment.populate.statement,lines:0
#: model:ir.actions.act_window,name:account_payment.act_account_invoice_2_payment_line
msgid "Payment Lines"
msgstr ""
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_move_line
msgid "Journal Items"
msgstr ""
#. module: account_payment
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
msgstr ""
#. module: account_payment
#: help:payment.line,move_line_id:0
msgid ""
"This Entry Line will be referred for the information of the ordering "
"customer."
msgstr ""
#. module: account_payment
#: view:payment.order.create:0
msgid "Search"
msgstr ""
#. module: account_payment
#: model:ir.actions.report.xml,name:account_payment.payment_order1
#: model:ir.model,name:account_payment.model_payment_order
msgid "Payment Order"
msgstr ""
#. module: account_payment
#: field:payment.line,date:0
msgid "Payment Date"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Total:"
msgstr ""
#. module: account_payment
#: field:payment.order,date_created:0
msgid "Creation date"
msgstr ""
#. module: account_payment
#: view:account.payment.populate.statement:0
msgid "ADD"
msgstr ""
#. module: account_payment
#: view:account.bank.statement:0
msgid "Import payment lines"
msgstr ""
#. module: account_payment
#: field:account.move.line,amount_to_pay:0
msgid "Amount to pay"
msgstr ""
#. module: account_payment
#: field:payment.line,amount:0
msgid "Amount in Company Currency"
msgstr ""
#. module: account_payment
#: help:payment.line,partner_id:0
msgid "The Ordering Customer"
msgstr ""
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_payment_make_payment
msgid "Account make payment"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Invoice Ref"
msgstr ""
#. module: account_payment
#: field:payment.line,name:0
msgid "Your Reference"
msgstr ""
#. module: account_payment
#: field:payment.order,mode:0
msgid "Payment mode"
msgstr ""
#. module: account_payment
#: view:payment.order:0
msgid "Payment order"
msgstr ""
#. module: account_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "General Information"
msgstr ""
#. module: account_payment
#: view:payment.order:0
#: selection:payment.order,state:0
msgid "Done"
msgstr ""
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_invoice
msgid "Invoice"
msgstr ""
#. module: account_payment
#: field:payment.line,communication:0
msgid "Communication"
msgstr ""
#. module: account_payment
#: view:account.payment.make.payment:0
#: view:account.payment.populate.statement:0
#: view:payment.order:0
#: view:payment.order.create:0
msgid "Cancel"
msgstr ""
#. module: account_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "Information"
msgstr ""
#. module: account_payment
#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree
msgid ""
"A payment order is a payment request from your company to pay a supplier "
"invoice or a customer credit note. Here you can register all payment orders "
"that should be done, keep track of all payment orders and mention the "
"invoice reference and the partner the payment should be done for."
msgstr ""
#. module: account_payment
#: help:payment.line,amount:0
msgid "Payment amount in the company currency"
msgstr ""
#. module: account_payment
#: view:payment.order.create:0
msgid "Search Payment lines"
msgstr ""
#. module: account_payment
#: field:payment.line,amount_currency:0
msgid "Amount in Partner Currency"
msgstr ""
#. module: account_payment
#: field:payment.line,communication2:0
msgid "Communication 2"
msgstr ""
#. module: account_payment
#: field:payment.line,bank_id:0
msgid "Destination Bank account"
msgstr ""
#. module: account_payment
#: view:account.payment.make.payment:0
msgid "Are you sure you want to make payment?"
msgstr ""
#. module: account_payment
#: view:payment.mode:0
#: field:payment.mode,journal:0
msgid "Journal"
msgstr ""
#. module: account_payment
#: field:payment.mode,bank_id:0
msgid "Bank account"
msgstr ""
#. module: account_payment
#: view:payment.order:0
msgid "Confirm Payments"
msgstr ""
#. module: account_payment
#: field:payment.line,company_currency:0
#: report:payment.order:0
msgid "Company Currency"
msgstr ""
#. module: account_payment
#: model:ir.ui.menu,name:account_payment.menu_main_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "Payment"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Payment Order / Payment"
msgstr ""
#. module: account_payment
#: field:payment.line,move_line_id:0
msgid "Entry line"
msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid ""
"Used as the message between ordering customer and current company. Depicts "
"'What do you want to say to the recipient about this order ?'"
msgstr ""
#. module: account_payment
#: field:payment.mode,name:0
msgid "Name"
msgstr ""
#. module: account_payment
#: report:payment.order:0
msgid "Bank Account"
msgstr ""
#. module: account_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "Entry Information"
msgstr ""
#. module: account_payment
#: model:ir.model,name:account_payment.model_payment_order_create
msgid "payment.order.create"
msgstr ""
#. module: account_payment
#: field:payment.line,order_id:0
msgid "Order"
msgstr ""
#. module: account_payment
#: field:payment.order,total:0
msgid "Total"
msgstr ""
#. module: account_payment
#: view:account.payment.make.payment:0
#: model:ir.actions.act_window,name:account_payment.action_account_payment_make_payment
msgid "Make Payment"
msgstr ""
#. module: account_payment
#: field:payment.line,partner_id:0
#: report:payment.order:0
msgid "Partner"
msgstr ""
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_create_payment_order
msgid "Populate Payment"
msgstr ""
#. module: account_payment
#: help:payment.mode,bank_id:0
msgid "Bank Account for the Payment Mode"
msgstr ""
#. module: account_payment
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
msgstr ""

View File

@ -4,13 +4,11 @@
Creating a res.partner.bank record
-
!record {model: res.partner.bank, id: res_partner_bank_0}:
name: 'Test Bank Account'
acc_number: '0001'
acc_number: '126-2013269-08'
partner_id: base.res_partner_9
sequence: 0.0
state: bank
bank: base.res_bank_1
-
I created a new Payment Mode
-

View File

@ -8,47 +8,48 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-04-02 18:22+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-08-17 20:38+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
"Language-Team: Catalan <ca@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:55+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-23 05:05+0000\n"
"X-Generator: Launchpad (build 13697)\n"
#. module: account_sequence
#: view:account.sequence.installer:0
#: model:ir.actions.act_window,name:account_sequence.action_account_seq_installer
msgid "Account Sequence Application Configuration"
msgstr ""
msgstr "Configuració de la seqüència d'aplicació del compte"
#. module: account_sequence
#: constraint:account.move:0
msgid ""
"You cannot create entries on different periods/journals in the same move"
msgstr ""
"No podeu crear apunts en diferents períodes/diaris en el mateix assentament"
#. module: account_sequence
#: help:account.move,internal_sequence_number:0
#: help:account.move.line,internal_sequence_number:0
msgid "Internal Sequence Number"
msgstr ""
msgstr "Número intern de seqüència"
#. module: account_sequence
#: help:account.sequence.installer,number_next:0
msgid "Next number of this sequence"
msgstr ""
msgstr "Pròxim número d'aquesta seqüència"
#. module: account_sequence
#: field:account.sequence.installer,number_next:0
msgid "Next Number"
msgstr ""
msgstr "Pròxim número"
#. module: account_sequence
#: field:account.sequence.installer,number_increment:0
msgid "Increment Number"
msgstr ""
msgstr "Increment del número"
#. module: account_sequence
#: model:ir.module.module,description:account_sequence.module_meta_information
@ -57,36 +58,41 @@ msgid ""
" This module maintains internal sequence number for accounting entries.\n"
" "
msgstr ""
"\n"
" Aquest mòdul gestiona el número intern de seqüència per als assentaments "
"comptables\n"
" "
#. module: account_sequence
#: model:ir.module.module,shortdesc:account_sequence.module_meta_information
msgid "Entries Sequence Numbering"
msgstr ""
msgstr "Numeració de la seqüència dels assentaments"
#. module: account_sequence
#: help:account.sequence.installer,number_increment:0
msgid "The next number of the sequence will be incremented by this number"
msgstr ""
"El pròxim número d'aquesta seqüència serà incrementat per aquest número."
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "Configure Your Account Sequence Application"
msgstr ""
msgstr "Configura la seva seqüència d'aplicació del compte"
#. module: account_sequence
#: field:account.sequence.installer,progress:0
msgid "Configuration Progress"
msgstr ""
msgstr "Progrés de la configuració"
#. module: account_sequence
#: help:account.sequence.installer,suffix:0
msgid "Suffix value of the record for the sequence"
msgstr ""
msgstr "Valor del sufix del registre per a la seqüència."
#. module: account_sequence
#: field:account.sequence.installer,company_id:0
msgid "Company"
msgstr ""
msgstr "Companyia"
#. module: account_sequence
#: help:account.journal,internal_sequence_id:0
@ -94,27 +100,30 @@ msgid ""
"This sequence will be used to maintain the internal number for the journal "
"entries related to this journal."
msgstr ""
"Aquesta seqüència s'utilitzarà per gestionar el número intern dels "
"assentaments relacionats amb aquest diari."
#. module: account_sequence
#: field:account.sequence.installer,padding:0
msgid "Number padding"
msgstr ""
msgstr "Omplenat del número"
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_move_line
msgid "Journal Items"
msgstr ""
msgstr "Apunts comptables"
#. module: account_sequence
#: field:account.move,internal_sequence_number:0
#: field:account.move.line,internal_sequence_number:0
msgid "Internal Number"
msgstr ""
msgstr "Número intern"
#. module: account_sequence
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
msgstr ""
"La companyia ha de ser la mateixa per al compte i període relacionats."
#. module: account_sequence
#: help:account.sequence.installer,padding:0
@ -122,100 +131,106 @@ msgid ""
"OpenERP will automatically adds some '0' on the left of the 'Next Number' to "
"get the required padding size."
msgstr ""
"Automàticament, OpenERP, afegirà alguns '0 'a l'esquerra del 'Pròxim número' "
"per obtenir la mida necessària."
#. module: account_sequence
#: field:account.sequence.installer,name:0
msgid "Name"
msgstr ""
msgstr "Nom"
#. module: account_sequence
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
msgstr ""
msgstr "No podeu crear un apunt en un compte tancat."
#. module: account_sequence
#: constraint:account.move:0
msgid ""
"You cannot create more than one move per period on centralized journal"
msgstr ""
msgstr "No podeu crear més d'un apunt per període a un diari centralitzat."
#. module: account_sequence
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr ""
msgstr "Valor del deure o haver erroni en l'assentament comptable!"
#. module: account_sequence
#: field:account.journal,internal_sequence_id:0
msgid "Internal Sequence"
msgstr ""
msgstr "Seqüència interna"
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_sequence_installer
msgid "account.sequence.installer"
msgstr ""
msgstr "comptabilitat.seqüència.instal·lador"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "Configure"
msgstr ""
msgstr "Configura"
#. module: account_sequence
#: help:account.sequence.installer,prefix:0
msgid "Prefix value of the record for the sequence"
msgstr ""
msgstr "Valor del prefix del registre per a la seqüència."
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_move
msgid "Account Entry"
msgstr ""
msgstr "Assentament comptable"
#. module: account_sequence
#: field:account.sequence.installer,suffix:0
msgid "Suffix"
msgstr ""
msgstr "Sufix"
#. module: account_sequence
#: field:account.sequence.installer,config_logo:0
msgid "Image"
msgstr ""
msgstr "Imatge"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "title"
msgstr ""
msgstr "títol"
#. module: account_sequence
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
msgstr ""
msgstr "El nom del diari ha de ser únic per companyia!"
#. module: account_sequence
#: field:account.sequence.installer,prefix:0
msgid "Prefix"
msgstr ""
msgstr "Prefix"
#. module: account_sequence
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
msgstr ""
msgstr "El codi del diari ha de ser únic per companyia!"
#. module: account_sequence
#: constraint:account.move.line:0
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
"No podeu crear una línia de moviment en un compte a cobrar/a pagar sense una "
"empresa."
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_journal
msgid "Journal"
msgstr ""
msgstr "Diari"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "You can enhance the Account Sequence Application by installing ."
msgstr ""
"Podeu realitzar l'aplicació de la seqüència del compte mitjançant la "
"instal·lació ."
#. module: account_sequence
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
msgstr ""
msgstr "No podeu crear un apunt en un compte de tipus \"Vista\"."

View File

@ -20,8 +20,9 @@
##############################################################################
import account_voucher
import company
import invoice
import report
import wizard
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -25,15 +25,22 @@
"author" : 'OpenERP SA',
'complexity': "normal",
"description": """
Account Voucher module includes all the basic requirements of Voucher Entries for Bank, Cash, Sales, Purchase, Expanse, Contra, etc.
====================================================================================================================================
Account Voucher module offers an easy way to deal with all the basic requirements of Voucher Entries
====================================================================================================
* Voucher Entry
* Voucher Receipt
* Cheque Register
Its increased usabililty allows you to create easily sales/purchases documents but also to encode payments.
Doing so, you'll be able to see all the open transactions for the selected partner and that will help you
to reconcile your entry with its invoice.
Account Voucher module multi-currency support
=============================================
Thanks to the contribution of Camptocamp, the vouchers fully support the multi currency and compute the
currency rate difference besides the write off amount. Of course, the accounting entries are also created
accordingly.
""",
"category" : "Finance",
"website" : "http://tinyerp.com",
"website" : "http://www.openerp.com",
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
"depends" : ["account"],
"init_xml" : [],
@ -48,6 +55,7 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
"wizard/account_voucher_unreconcile_view.xml",
"wizard/account_statement_from_invoice_view.xml",
"account_voucher_view.xml",
"company_view.xml",
"voucher_payment_receipt_view.xml",
"voucher_sales_purchase_view.xml",
"account_voucher_wizard.xml",
@ -59,7 +67,12 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
"test/account_voucher.yml",
"test/sales_receipt.yml",
"test/sales_payment.yml",
"test/account_voucher_report.yml"
"test/account_voucher_report.yml",
"test/case1_usd_usd.yml",
"test/case2_usd_eur.yml",
"test/case2_suppl_usd_eur.yml",
"test/case3_eur_eur.yml",
"test/case4_cad_chf.yml",
],
'certificate': '0037580727101',
"active": False,

View File

@ -39,7 +39,10 @@ class account_voucher(osv.osv):
if context is None: context = {}
if context.get('period_id', False):
return context.get('period_id')
periods = self.pool.get('account.period').find(cr, uid)
if context.get('invoice_id', False):
company_id = self.pool.get('account.invoice').browse(cr, uid, context['invoice_id'], context=context).company_id.id
context.update({'company_id': company_id})
periods = self.pool.get('account.period').find(cr, uid, context=context)
return periods and periods[0] or False
def _get_journal(self, cr, uid, context=None):
@ -142,39 +145,92 @@ class account_voucher(osv.osv):
res['arch'] = etree.tostring(doc)
return res
def _compute_writeoff_amount(self, cr, uid, line_dr_ids, line_cr_ids, amount):
debit = credit = 0.0
def _compute_writeoff_amount(self, cr, uid, line_dr_ids, line_cr_ids, amount, voucher_date, context=None):
if context is None:
context = {}
currency_pool = self.pool.get('res.currency')
ctx = context.copy()
voucher_type = context.get('type', False)
counter_for_writeoff = counter_for_currency_diff = real_amount = 0.0
ctx.update({'date': voucher_date})
for l in line_dr_ids:
debit += l['amount']
#compute the amount in voucher currency and in company currency if there aren't set yet
if not l.get('amount_in_company_currency', False):
ctx.update({'date': l['date_original']})
amount_in_company_currency = currency_pool.compute(cr, uid, l['currency_id'], l['company_currency_id'], l['amount'], context=ctx)
ctx.update({'date': voucher_date})
else:
amount_in_company_currency = l.get('amount_in_company_currency', 0.0)
if not l.get('amount_in_voucher_currency'):
amount_in_voucher_currency = currency_pool.compute(cr, uid, l['currency_id'], l['voucher_currency_id'], l['amount'], context=ctx)
else:
amount_in_voucher_currency = l.get('amount_in_voucher_currency', 0.0)
real_amount -= amount_in_company_currency
counter_for_writeoff -= l.get('voucher_currency_id') == l.get('currency_id') and l['amount'] or amount_in_voucher_currency
counter_for_currency_diff -= currency_pool.compute(cr, uid, l['currency_id'], l['company_currency_id'], l['amount'], context=ctx)
for l in line_cr_ids:
credit += l['amount']
return abs(amount - abs(credit - debit))
#compute the amount in voucher currency and in company currency if there aren't set yet
if not l.get('amount_in_company_currency', False):
ctx.update({'date': l['date_original']})
amount_in_company_currency = currency_pool.compute(cr, uid, l['currency_id'], l['company_currency_id'], l['amount'], context=ctx)
ctx.update({'date': voucher_date})
else:
amount_in_company_currency = l.get('amount_in_company_currency', 0.0)
if not l.get('amount_in_voucher_currency'):
amount_in_voucher_currency = currency_pool.compute(cr, uid, l['currency_id'], l['voucher_currency_id'], l['amount'], context=ctx)
else:
amount_in_voucher_currency = l.get('amount_in_voucher_currency', 0.0)
real_amount += amount_in_company_currency
counter_for_writeoff += l.get('voucher_currency_id') == l.get('currency_id') and l['amount'] or amount_in_voucher_currency
counter_for_currency_diff += currency_pool.compute(cr, uid, l['currency_id'], l['company_currency_id'], l['amount'], context=ctx)
sign = voucher_type in ['sale','receipt'] and 1 or -1
writeoff_amount = (sign * amount) - counter_for_writeoff
currency_rate_difference = real_amount - counter_for_currency_diff
return writeoff_amount, currency_rate_difference
def onchange_line_ids(self, cr, uid, ids, line_dr_ids, line_cr_ids, amount, context=None):
context = context or {}
def onchange_line_ids(self, cr, uid, ids, line_dr_ids, line_cr_ids, amount, voucher_date, context=None):
if not line_dr_ids and not line_cr_ids:
return {'value':{}}
line_osv = self.pool.get("account.voucher.line")
line_dr_ids = resolve_o2m_operations(cr, uid, line_osv, line_dr_ids, ['amount'], context)
line_cr_ids = resolve_o2m_operations(cr, uid, line_osv, line_cr_ids, ['amount'], context)
return {'value': {'writeoff_amount': self._compute_writeoff_amount(cr, uid, line_dr_ids, line_cr_ids, amount)}}
writeoff_amount, currency_rate_diff = self._compute_writeoff_amount(cr, uid, line_dr_ids, line_cr_ids, amount, voucher_date, context=context)
return {'value': {'writeoff_amount': writeoff_amount, 'currency_rate_difference': currency_rate_diff}}
def _get_writeoff_amount(self, cr, uid, ids, name, args, context=None):
if not ids: return {}
res = {}
debit = credit = 0.0
if context is None:
context = {}
res = {}.fromkeys(ids,{})
counter_for_writeoff = counter_for_currency_diff = real_amount = 0.0
currency_pool = self.pool.get('res.currency')
for voucher in self.browse(cr, uid, ids, context=context):
ctx = context.copy()
ctx.update({'date': voucher.date})
for l in voucher.line_dr_ids:
debit += l.amount
real_amount -= l.amount_in_company_currency
counter_for_writeoff -= (l.voucher_currency_id.id == l.currency_id.id) and l.amount or l.amount_in_voucher_currency
counter_for_currency_diff -= currency_pool.compute(cr, uid, l.currency_id.id, voucher.company_id.currency_id.id, l.amount, context=ctx)
for l in voucher.line_cr_ids:
credit += l.amount
res[voucher.id] = abs(voucher.amount - abs(credit - debit))
real_amount += l.amount_in_company_currency
counter_for_writeoff += (l.voucher_currency_id.id == l.currency_id.id) and l.amount or l.amount_in_voucher_currency
counter_for_currency_diff += currency_pool.compute(cr, uid, l.currency_id.id, voucher.company_id.currency_id.id, l.amount, context=ctx)
sign = voucher.type in ['sale','receipt'] and 1 or -1
writeoff_amount = (sign * voucher.amount) - counter_for_writeoff
res[voucher.id]['writeoff_amount'] = writeoff_amount
res[voucher.id]['currency_rate_difference'] = real_amount - counter_for_currency_diff
return res
def _currency_id(self, cr, uid, ids, name, args, context=None):
res = {}
for voucher in self.browse(cr, uid, ids, context=context):
currency = voucher.journal_id.currency and voucher.journal_id.currency.id or voucher.company_id.currency_id.id
res[voucher.id] = {'currency_id': currency, 'currency_id2': currency}
return res
_name = 'account.voucher'
_description = 'Accounting Voucher'
_order = "date desc, id desc"
# _rec_name = 'number'
_columns = {
'type':fields.selection([
('sale','Sale'),
@ -184,7 +240,7 @@ class account_voucher(osv.osv):
],'Default Type', readonly=True, states={'draft':[('readonly',False)]}),
'name':fields.char('Memo', size=256, readonly=True, states={'draft':[('readonly',False)]}),
'date':fields.date('Date', readonly=True, select=True, states={'draft':[('readonly',False)]}, help="Effective date for accounting entries"),
'journal_id':fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'journal_id':fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}, change_default=1),
'account_id':fields.many2one('account.account', 'Account', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'line_ids':fields.one2many('account.voucher.line','voucher_id','Voucher Lines', readonly=True, states={'draft':[('readonly',False)]}),
'line_cr_ids':fields.one2many('account.voucher.line','voucher_id','Credits',
@ -193,9 +249,11 @@ class account_voucher(osv.osv):
domain=[('type','=','dr')], context={'default_type':'dr'}, readonly=True, states={'draft':[('readonly',False)]}),
'period_id': fields.many2one('account.period', 'Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'narration':fields.text('Notes', readonly=True, states={'draft':[('readonly',False)]}),
'currency_id':fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
# 'currency_id': fields.related('journal_id','currency', type='many2one', relation='res.currency', string='Currency', store=True, readonly=True, states={'draft':[('readonly',False)]}),
'company_id': fields.many2one('res.company', 'Company', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'currency_id': fields.function(_currency_id, type='many2one', relation='res.currency', string='Currency', store=True, readonly=True, multi="currency"),
#duplicated field for display purposes
'currency_id2': fields.function(_currency_id, type='many2one', relation='res.currency', string='Currency', store=True, readonly=True, multi="currency"),
'company_id': fields.related('journal_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
'company_currency': fields.related('company_id','currency_id', type='many2one', relation='res.currency', string='Currency', readonly=True),
'state':fields.selection(
[('draft','Draft'),
('proforma','Pro-forma'),
@ -223,12 +281,13 @@ class account_voucher(osv.osv):
'date_due': fields.date('Due Date', readonly=True, select=True, states={'draft':[('readonly',False)]}),
'payment_option':fields.selection([
('without_writeoff', 'Keep Open'),
('with_writeoff', 'Reconcile with Write-Off'),
('with_writeoff', 'Reconcile'),
], 'Payment Difference', required=True, readonly=True, states={'draft': [('readonly', False)]}),
'writeoff_acc_id': fields.many2one('account.account', 'Write-Off account', readonly=True, states={'draft': [('readonly', False)]}),
'comment': fields.char('Write-Off Comment', size=64, required=True, readonly=True, states={'draft': [('readonly', False)]}),
'analytic_id': fields.many2one('account.analytic.account','Write-Off Analytic Account', readonly=True, states={'draft': [('readonly', False)]}),
'writeoff_amount': fields.function(_get_writeoff_amount, string='Write-Off Amount', type='float', readonly=True),
'writeoff_amount': fields.function(_get_writeoff_amount, string='Write-Off Amount', type='float', readonly=True, multi="writeoff"),
'currency_rate_difference': fields.function(_get_writeoff_amount, string="Currency Rate Difference", type='float', multi="writeoff"),
}
_defaults = {
'period_id': _get_period,
@ -253,7 +312,7 @@ class account_voucher(osv.osv):
tax_pool = self.pool.get('account.tax')
partner_pool = self.pool.get('res.partner')
position_pool = self.pool.get('account.fiscal.position')
voucher_line_pool = self.pool.get('account.voucher.line')
voucher_voucher_line_obj = self.pool.get('account.voucher.line')
voucher_pool = self.pool.get('account.voucher')
if context is None: context = {}
@ -262,7 +321,7 @@ class account_voucher(osv.osv):
for line in voucher.line_ids:
voucher_amount += line.untax_amount or line.amount
line.amount = line.untax_amount or line.amount
voucher_line_pool.write(cr, uid, [line.id], {'amount':line.amount, 'untax_amount':line.untax_amount})
voucher_voucher_line_obj.write(cr, uid, [line.id], {'amount':line.amount, 'untax_amount':line.untax_amount})
if not voucher.tax_id:
self.write(cr, uid, [voucher.id], {'amount':voucher_amount, 'tax_amount':0.0})
@ -290,7 +349,7 @@ class account_voucher(osv.osv):
line_total += tax_line.get('price_unit')
total_tax += line_tax
untax_amount = line.untax_amount or line.amount
voucher_line_pool.write(cr, uid, [line.id], {'amount':line_total, 'untax_amount':untax_amount})
voucher_voucher_line_obj.write(cr, uid, [line.id], {'amount':line_total, 'untax_amount':untax_amount})
self.write(cr, uid, [voucher.id], {'amount':total, 'tax_amount':total_tax})
return True
@ -300,14 +359,14 @@ class account_voucher(osv.osv):
tax_pool = self.pool.get('account.tax')
partner_pool = self.pool.get('res.partner')
position_pool = self.pool.get('account.fiscal.position')
line_pool = self.pool.get('account.voucher.line')
voucher_line_obj = self.pool.get('account.voucher.line')
res = {
'tax_amount': False,
'amount': False,
}
voucher_total = 0.0
line_ids = resolve_o2m_operations(cr, uid, line_pool, line_ids, ["amount"], context)
line_ids = resolve_o2m_operations(cr, uid, voucher_line_obj, line_ids, ["amount"], context)
total = 0.0
total_tax = 0.0
@ -396,7 +455,7 @@ class account_voucher(osv.osv):
return default
def onchange_partner_id(self, cr, uid, ids, partner_id, journal_id, price, currency_id, ttype, date, context=None):
def onchange_partner_id(self, cr, uid, ids, partner_id, journal_id, price, voucher_currency_id, ttype, date, context=None):
"""price
Returns a dict that contains new values and context
@ -406,38 +465,33 @@ class account_voucher(osv.osv):
@return: Returns a dict which contains new values, and context
"""
if context is None:
context = {}
if not journal_id:
return {}
if context is None:
context = {}
context_multi_currency = context.copy()
if date:
context_multi_currency.update({'date': date})
line_pool = self.pool.get('account.voucher.line')
line_ids = ids and line_pool.search(cr, uid, [('voucher_id', '=', ids[0])]) or False
if line_ids:
line_pool.unlink(cr, uid, line_ids)
currency_pool = self.pool.get('res.currency')
move_line_pool = self.pool.get('account.move.line')
move_line_obj = self.pool.get('account.move.line')
partner_pool = self.pool.get('res.partner')
journal_pool = self.pool.get('account.journal')
vals = self.onchange_journal(cr, uid, ids, journal_id, [], False, partner_id, context)
vals = vals.get('value')
currency_id = vals.get('currency_id', currency_id)
voucher_line_obj = self.pool.get('account.voucher.line')
#get default values
vals = self.onchange_journal(cr, uid, ids, journal_id, [], False, partner_id, context=context)
vals = vals.get('value',{})
voucher_currency_id = vals.get('currency_id', voucher_currency_id)
default = {
'value':{'line_ids':[], 'line_dr_ids':[], 'line_cr_ids':[], 'pre_line': False, 'currency_id':currency_id},
'value':{'line_ids':[], 'line_dr_ids':[], 'line_cr_ids':[], 'pre_line': False, 'currency_id': voucher_currency_id},
}
if not partner_id:
return default
#drop existing lines
line_ids = ids and voucher_line_obj.search(cr, uid, [('voucher_id', 'in', ids)]) or []
if line_ids:
voucher_line_obj.unlink(cr, uid, line_ids, context=context)
if not partner_id and ids:
line_ids = line_pool.search(cr, uid, [('voucher_id', '=', ids[0])])
if line_ids:
line_pool.unlink(cr, uid, line_ids)
if not partner_id:
return default
journal = journal_pool.browse(cr, uid, journal_id, context=context)
@ -455,63 +509,98 @@ class account_voucher(osv.osv):
if journal.type not in ('cash', 'bank'):
return default
total_credit = 0.0
total_debit = 0.0
account_type = 'receivable'
if ttype == 'payment':
account_type = 'payable'
total_debit = price or 0.0
else:
total_credit = price or 0.0
account_type = 'receivable'
if not context.get('move_line_ids', False):
ids = move_line_pool.search(cr, uid, [('state','=','valid'), ('account_id.type', '=', account_type), ('reconcile_id', '=', False), ('partner_id', '=', partner_id)], context=context)
ids = move_line_obj.search(cr, uid, [('state','=','valid'), ('account_id.type', '=', account_type), ('reconcile_id', '=', False), ('partner_id', '=', partner_id)], context=context)
else:
ids = context['move_line_ids']
ids.reverse()
moves = move_line_pool.browse(cr, uid, ids, context=context)
#computation of the assignation of voucher amount on voucher lines
total_credit = account_type == 'receivable' and price or 0.0
total_debit = account_type == 'payable' and price or 0.0
moves = move_line_obj.browse(cr, uid, ids, context=context)
company_currency = journal.company_id.currency_id.id
if company_currency != currency_id and ttype == 'payment':
total_debit = currency_pool.compute(cr, uid, currency_id, company_currency, total_debit, context=context_multi_currency)
elif company_currency != currency_id and ttype == 'receipt':
total_credit = currency_pool.compute(cr, uid, currency_id, company_currency, total_credit, context=context_multi_currency)
invoice_id = context.get('invoice_id', False)
move_line_found = False
#order the lines by most old first
ids.reverse()
for line in moves:
if line.credit and line.reconcile_partial_id and ttype == 'receipt':
continue
if line.debit and line.reconcile_partial_id and ttype == 'payment':
continue
total_credit += line.credit or 0.0
total_debit += line.debit or 0.0
if invoice_id:
if line.invoice.id == invoice_id:
#if the invoice linked to the voucher line is equal to the invoice_id in context
#then we assign the amount on that line, whatever the other voucher lines
move_line_found = line.id
break
elif voucher_currency_id == company_currency:
#otherwise treatments is the same but with other field names
if line.amount_residual == price:
#if the amount residual is equal the amount voucher, we assign it to that voucher
#line, whatever the other voucher lines
move_line_found = line.id
break
#otherwise we will split the voucher amount on each line (by most old first)
total_credit += line.credit or 0.0
total_debit += line.debit or 0.0
elif voucher_currency_id == line.currency_id.id:
if line.amount_residual_currency == price:
move_line_found = line.id
break
total_credit += line.credit and line.amount_currency or 0.0
total_debit += line.debit and line.amount_currency or 0.0
#voucher line creation
for line in moves:
if line.credit and line.reconcile_partial_id and ttype == 'receipt':
continue
if line.debit and line.reconcile_partial_id and ttype == 'payment':
continue
original_amount = line.credit or line.debit or 0.0
amount_unreconciled = currency_pool.compute(cr, uid, line.currency_id and line.currency_id.id or company_currency, currency_id, abs(line.amount_residual_currency), context=context_multi_currency)
amount_original, amount_unreconciled = voucher_line_obj._get_amounts(cr, uid, line, context=context)
currency_id = line.currency_id and line.currency_id.id or line.company_id.currency_id.id
rs = {
'name':line.move_id.name,
'type': line.credit and 'dr' or 'cr',
'move_line_id':line.id,
'account_id':line.account_id.id,
'amount_original': currency_pool.compute(cr, uid, line.currency_id and line.currency_id.id or company_currency, currency_id, line.currency_id and abs(line.amount_currency) or original_amount, context=context_multi_currency),
'amount_original': amount_original,
'amount': (move_line_found == line.id) and min(price, amount_unreconciled) or 0.0,
'currency_id': currency_id,
'voucher_currency_id': voucher_currency_id,
'date_original':line.date,
'company_currency_id': line.company_id.currency_id.id,
'date_due':line.date_maturity,
'amount_unreconciled': amount_unreconciled,
}
if line.credit:
amount = min(amount_unreconciled, currency_pool.compute(cr, uid, company_currency, currency_id, abs(total_debit), context=context_multi_currency))
rs['amount'] = amount
total_debit -= amount
else:
amount = min(amount_unreconciled, currency_pool.compute(cr, uid, company_currency, currency_id, abs(total_credit), context=context_multi_currency))
rs['amount'] = amount
total_credit -= amount
#split voucher amount by most old first
if not move_line_found:
if company_currency == voucher_currency_id:
if line.credit:
amount = min(amount_unreconciled, abs(total_debit))
rs['amount'] = amount
total_debit -= amount
else:
amount = min(amount_unreconciled, abs(total_credit))
rs['amount'] = amount
total_credit -= amount
elif voucher_currency_id == line.currency_id.id:
if line.credit:
amount = min(amount_unreconciled, abs(total_debit))
rs['amount'] = amount
total_debit -= amount
else:
amount = min(amount_unreconciled, abs(total_credit))
rs['amount'] = amount
total_credit -= amount
default['value']['line_ids'].append(rs)
if rs['type'] == 'cr':
@ -523,7 +612,7 @@ class account_voucher(osv.osv):
default['value']['pre_line'] = 1
elif ttype == 'receipt' and len(default['value']['line_dr_ids']) > 0:
default['value']['pre_line'] = 1
default['value']['writeoff_amount'] = self._compute_writeoff_amount(cr, uid, default['value']['line_dr_ids'], default['value']['line_cr_ids'], price)
default['value']['writeoff_amount'], default['value']['currency_rate_difference'] = self._compute_writeoff_amount(cr, uid, default['value']['line_dr_ids'], default['value']['line_cr_ids'], price, date, context=context)
return default
def onchange_date(self, cr, uid, ids, partner_id, journal_id, price, currency_id, ttype, date, context=None):
@ -533,9 +622,13 @@ class account_voucher(osv.osv):
@param context: context arguments, like lang, time zone
@return: Returns a dict which contains new values, and context
"""
if context is None: context = {}
period_pool = self.pool.get('account.period')
res = self.onchange_partner_id(cr, uid, ids, partner_id, journal_id, price, currency_id, ttype, date, context=context)
pids = period_pool.search(cr, uid, [('date_start', '<=', date), ('date_stop', '>=', date)])
if context.get('invoice_id', False):
company_id = self.pool.get('account.invoice').browse(cr, uid, context['invoice_id'], context=context).company_id.id
context.update({'company_id': company_id})
pids = period_pool.find(cr, uid, date, context=context)
if pids:
if not 'value' in res:
res['value'] = {}
@ -543,8 +636,9 @@ class account_voucher(osv.osv):
return res
def onchange_journal(self, cr, uid, ids, journal_id, line_ids, tax_id, partner_id, context=None):
if context is None: context = {}
if not journal_id:
return False
return {}
journal_pool = self.pool.get('account.journal')
journal = journal_pool.browse(cr, uid, journal_id, context=context)
account_id = journal.default_credit_account_id or journal.default_debit_account_id
@ -558,6 +652,10 @@ class account_voucher(osv.osv):
if journal.currency:
currency_id = journal.currency.id
vals['value'].update({'currency_id':currency_id})
context.update({'company_id': journal.company_id.id})
periods = self.pool.get('account.period').find(cr, uid, context=context)
if periods:
vals['value'].update({'period_id':periods[0]})
return vals
def proforma_voucher(self, cr, uid, ids, context=None):
@ -601,7 +699,6 @@ class account_voucher(osv.osv):
raise osv.except_osv(_('Invalid action !'), _('Cannot delete Voucher(s) which are already opened or paid !'))
return super(account_voucher, self).unlink(cr, uid, ids, context=context)
# TODO: may be we can remove this method if not used anyware
def onchange_payment(self, cr, uid, ids, pay_now, journal_id, partner_id, ttype='sale'):
res = {}
if not partner_id:
@ -632,48 +729,44 @@ class account_voucher(osv.osv):
if context is None:
context = {}
move_pool = self.pool.get('account.move')
move_line_pool = self.pool.get('account.move.line')
move_line_obj = self.pool.get('account.move.line')
currency_pool = self.pool.get('res.currency')
tax_obj = self.pool.get('account.tax')
seq_obj = self.pool.get('ir.sequence')
for inv in self.browse(cr, uid, ids, context=context):
if inv.move_id:
for voucher in self.browse(cr, uid, ids, context=context):
if voucher.move_id:
continue
context_multi_currency = context.copy()
context_multi_currency.update({'date': inv.date})
context_multi_currency.update({'date': voucher.date})
if inv.number:
name = inv.number
elif inv.journal_id.sequence_id:
name = seq_obj.get_id(cr, uid, inv.journal_id.sequence_id.id)
if voucher.number:
name = voucher.number
else:
raise osv.except_osv(_('Error !'), _('Please define a sequence on the journal !'))
if not inv.reference:
name = seq_obj.get_id(cr, uid, voucher.journal_id.sequence_id.id)
if not voucher.reference:
ref = name.replace('/','')
else:
ref = inv.reference
ref = voucher.reference
move = {
'name': name,
'journal_id': inv.journal_id.id,
'narration': inv.narration,
'date': inv.date,
'journal_id': voucher.journal_id.id,
'narration': voucher.narration,
'date': voucher.date,
'ref': ref,
'period_id': inv.period_id and inv.period_id.id or False
'period_id': voucher.period_id and voucher.period_id.id or False
}
move_id = move_pool.create(cr, uid, move)
#create the first line manually
company_currency = inv.journal_id.company_id.currency_id.id
current_currency = inv.currency_id.id
company_currency = voucher.journal_id.company_id.currency_id.id
voucher_currency = voucher.currency_id.id
debit = 0.0
credit = 0.0
# TODO: is there any other alternative then the voucher type ??
# -for sale, purchase we have but for the payment and receipt we do not have as based on the bank/cash journal we can not know its payment or receipt
if inv.type in ('purchase', 'payment'):
credit = currency_pool.compute(cr, uid, current_currency, company_currency, inv.amount, context=context_multi_currency)
elif inv.type in ('sale', 'receipt'):
debit = currency_pool.compute(cr, uid, current_currency, company_currency, inv.amount, context=context_multi_currency)
if voucher.type in ('purchase', 'payment'):
credit = currency_pool.compute(cr, uid, voucher_currency, company_currency, voucher.amount, context=context_multi_currency)
elif voucher.type in ('sale', 'receipt'):
debit = currency_pool.compute(cr, uid, voucher_currency, company_currency, voucher.amount, context=context_multi_currency)
if debit < 0:
credit = -debit
debit = 0.0
@ -683,28 +776,48 @@ class account_voucher(osv.osv):
sign = debit - credit < 0 and -1 or 1
#create the first line of the voucher
move_line = {
'name': inv.name or '/',
'name': voucher.name or '/',
'debit': debit,
'credit': credit,
'account_id': inv.account_id.id,
'account_id': voucher.account_id.id,
'move_id': move_id,
'journal_id': inv.journal_id.id,
'period_id': inv.period_id.id,
'partner_id': inv.partner_id.id,
'currency_id': company_currency <> current_currency and current_currency or False,
'amount_currency': company_currency <> current_currency and sign * inv.amount or 0.0,
'date': inv.date,
'date_maturity': inv.date_due
'journal_id': voucher.journal_id.id,
'period_id': voucher.period_id.id,
'partner_id': voucher.partner_id.id,
'currency_id': company_currency <> voucher_currency and voucher_currency or False,
'amount_currency': company_currency <> voucher_currency and sign * voucher.amount or 0.0,
'date': voucher.date,
'date_maturity': voucher.date_due
}
move_line_pool.create(cr, uid, move_line)
rec_list_ids = []
line_total = debit - credit
if inv.type == 'sale':
line_total = line_total - currency_pool.compute(cr, uid, inv.currency_id.id, company_currency, inv.tax_amount, context=context_multi_currency)
elif inv.type == 'purchase':
line_total = line_total + currency_pool.compute(cr, uid, inv.currency_id.id, company_currency, inv.tax_amount, context=context_multi_currency)
move_line_obj.create(cr, uid, move_line)
for line in inv.line_ids:
#create the move line for the currency difference
if voucher.currency_rate_difference:
if voucher.currency_rate_difference > 0:
account_id = voucher.company_id.property_expense_currency_exchange
if not account_id:
raise osv.except_osv(_('Warning'),_("Unable to create accounting entry for currency rate difference. You have to configure the field 'Income Currency Rate' on the company! "))
else:
account_id = voucher.company_id.property_income_currency_exchange
if not account_id:
raise osv.except_osv(_('Warning'),_("Unable to create accounting entry for currency rate difference. You have to configure the field 'Expense Currency Rate' on the company! "))
currency_diff_line = {
'name': _('Currency Difference'),
'debit': voucher.currency_rate_difference > 0 and voucher.currency_rate_difference or 0.0,
'credit': voucher.currency_rate_difference < 0 and -voucher.currency_rate_difference or 0.0,
'account_id': account_id.id,
'move_id': move_id,
'journal_id': voucher.journal_id.id,
'period_id': voucher.period_id.id,
'partner_id': voucher.partner_id.id,
'date': voucher.date,
'date_maturity': voucher.date_due
}
move_line_obj.create(cr, uid, currency_diff_line, context=context)
rec_list_ids = []
for line in voucher.line_ids:
#create one move line per voucher line where amount is not 0.0
if not line.amount:
continue
@ -712,20 +825,20 @@ class account_voucher(osv.osv):
if line.amount == line.amount_unreconciled:
amount = line.move_line_id.amount_residual #residual amount in company currency
else:
amount = currency_pool.compute(cr, uid, current_currency, company_currency, line.untax_amount or line.amount, context=context_multi_currency)
amount = line.amount_in_company_currency
move_line = {
'journal_id': inv.journal_id.id,
'period_id': inv.period_id.id,
'journal_id': voucher.journal_id.id,
'period_id': voucher.period_id.id,
'name': line.name or '/',
'account_id': line.account_id.id,
'move_id': move_id,
'partner_id': inv.partner_id.id,
'currency_id': company_currency <> current_currency and current_currency or False,
'partner_id': voucher.partner_id.id,
'currency_id': company_currency <> line.currency_id.id and line.currency_id.id or False,
'analytic_account_id': line.account_analytic_id and line.account_analytic_id.id or False,
'quantity': 1,
'credit': 0.0,
'debit': 0.0,
'date': inv.date
'date': voucher.date
}
if amount < 0:
amount = -amount
@ -734,60 +847,59 @@ class account_voucher(osv.osv):
else:
line.type = 'dr'
if (line.type=='dr'):
line_total += amount
move_line['debit'] = amount
else:
line_total -= amount
move_line['credit'] = amount
if inv.tax_id and inv.type in ('sale', 'purchase'):
if voucher.tax_id and voucher.type in ('sale', 'purchase'):
move_line.update({
'account_tax_id': inv.tax_id.id,
'account_tax_id': voucher.tax_id.id,
})
if move_line.get('account_tax_id', False):
tax_data = tax_obj.browse(cr, uid, [move_line['account_tax_id']], context=context)[0]
if not (tax_data.base_code_id and tax_data.tax_code_id):
raise osv.except_osv(_('No Account Base Code and Account Tax Code!'),_("You have to configure account base code and account tax code on the '%s' tax!") % (tax_data.name))
sign = (move_line['debit'] - move_line['credit']) < 0 and -1 or 1
move_line['amount_currency'] = company_currency <> current_currency and sign * line.amount or 0.0
voucher_line = move_line_pool.create(cr, uid, move_line)
move_line['amount_currency'] = company_currency <> line.currency_id.id and sign * line.amount or 0.0
voucher_line = move_line_obj.create(cr, uid, move_line)
if line.move_line_id.id:
rec_ids = [voucher_line, line.move_line_id.id]
rec_list_ids.append(rec_ids)
if not currency_pool.is_zero(cr, uid, inv.currency_id, line_total):
diff = line_total
if not currency_pool.is_zero(cr, uid, voucher.currency_id, voucher.writeoff_amount):
#create one line for the write off if needed
diff = currency_pool.compute(cr, uid, voucher_currency, company_currency, voucher.writeoff_amount, context=context_multi_currency)
account_id = False
write_off_name = ''
if inv.payment_option == 'with_writeoff':
account_id = inv.writeoff_acc_id.id
write_off_name = inv.comment
elif inv.type in ('sale', 'receipt'):
account_id = inv.partner_id.property_account_receivable.id
if voucher.payment_option == 'with_writeoff':
account_id = voucher.writeoff_acc_id.id
write_off_name = voucher.comment
elif voucher.type in ('sale', 'receipt'):
account_id = voucher.partner_id.property_account_receivable.id
else:
account_id = inv.partner_id.property_account_payable.id
account_id = voucher.partner_id.property_account_payable.id
move_line = {
'name': write_off_name or name,
'account_id': account_id,
'move_id': move_id,
'partner_id': inv.partner_id.id,
'date': inv.date,
'credit': diff > 0 and diff or 0.0,
'partner_id': voucher.partner_id.id,
'date': voucher.date,
'debit': diff < 0 and -diff or 0.0,
#'amount_currency': company_currency <> current_currency and currency_pool.compute(cr, uid, company_currency, current_currency, diff * -1, context=context_multi_currency) or 0.0,
#'currency_id': company_currency <> current_currency and current_currency or False,
'credit': diff > 0 and diff or 0.0,
'amount_currency': company_currency <> voucher_currency and -voucher.writeoff_amount or 0.0,
'currency_id': company_currency <> voucher_currency and voucher_currency or False,
}
move_line_pool.create(cr, uid, move_line)
self.write(cr, uid, [inv.id], {
move_line_obj.create(cr, uid, move_line)
self.write(cr, uid, [voucher.id], {
'move_id': move_id,
'state': 'posted',
'number': name,
})
if inv.journal_id.entry_posted:
if voucher.journal_id.entry_posted:
move_pool.post(cr, uid, [move_id], context={})
for rec_ids in rec_list_ids:
if len(rec_ids) >= 2:
move_line_pool.reconcile_partial(cr, uid, rec_ids)
move_line_obj.reconcile_partial(cr, uid, rec_ids)
return True
def copy(self, cr, uid, id, default={}, context=None):
@ -810,43 +922,86 @@ class account_voucher_line(osv.osv):
_description = 'Voucher Lines'
_order = "move_line_id"
def _currency_id(self, cr, uid, ids, name, args, context=None):
res = {}
for line in self.browse(cr, uid, ids, context=context):
move_line = line.move_line_id
if move_line:
res[line.id] = move_line.currency_id and move_line.currency_id.id or move_line.company_id.currency_id.id
else:
res[line.id] = line.voucher_id.currency_id.id
return res
def _get_amounts(self, cr, uid, line_browse_rec, context=None):
if line_browse_rec.currency_id:
amount_original = line_browse_rec.amount_currency or 0.0
amount_unreconciled = line_browse_rec.amount_residual_currency
elif line_browse_rec.credit > 0:
amount_original = line_browse_rec.credit or 0.0
amount_unreconciled = line_browse_rec.amount_residual
else:
amount_original = line_browse_rec.debit or 0.0
amount_unreconciled = line_browse_rec.amount_residual
return amount_original, amount_unreconciled
def _compute_balance(self, cr, uid, ids, name, args, context=None):
currency_pool = self.pool.get('res.currency')
rs_data = {}
res = {}
for line in self.browse(cr, uid, ids, context=context):
ctx = context.copy()
ctx.update({'date': line.voucher_id.date})
res = {}
company_currency = line.voucher_id.journal_id.company_id.currency_id.id
voucher_currency = line.voucher_id.currency_id.id
move_line = line.move_line_id or False
amount_original, amount_unreconciled = self._get_amounts(cr, uid, line.move_line_id, context)
res[line.id] = {
'amount_original': amount_original,
'amount_unreconciled': amount_unreconciled,
}
if not move_line:
res['amount_original'] = 0.0
res['amount_unreconciled'] = 0.0
return res
elif move_line.currency_id:
res['amount_original'] = currency_pool.compute(cr, uid, move_line.currency_id.id, voucher_currency, move_line.amount_currency, context=ctx)
elif move_line and move_line.credit > 0:
res['amount_original'] = currency_pool.compute(cr, uid, company_currency, voucher_currency, move_line.credit, context=ctx)
else:
res['amount_original'] = currency_pool.compute(cr, uid, company_currency, voucher_currency, move_line.debit, context=ctx)
def __company_currency_amount(self, cr, uid, line, amount, context=None):
if context is None:
context = {}
ctx = context.copy()
ctx.update({'date': line.date_original})
currency_pool = self.pool.get('res.currency')
amount_company_cur = currency_pool.compute(cr, uid, line.currency_id.id, line.company_currency_id.id, amount, context=ctx)
ctx.update({'date': line.voucher_id.date})
amount_voucher_cur = currency_pool.compute(cr, uid, line.currency_id.id, line.voucher_currency_id.id, amount, context=ctx)
return amount_company_cur, amount_voucher_cur
if move_line:
res['amount_unreconciled'] = currency_pool.compute(cr, uid, move_line.currency_id and move_line.currency_id.id or company_currency, voucher_currency, abs(move_line.amount_residual_currency), context=ctx)
rs_data[line.id] = res
return rs_data
def onchange_amount(self, cr, uid, ids, amount, context=None):
if not amount or not ids:
return {'value':{'amount_in_company_currency': 0.0, 'amount_in_voucher_currency': 0.0}}
for line in self.browse(cr, uid, ids, context=context):
amount_company_cur, amount_voucher_cur = self.__company_currency_amount(cr, uid, line, amount, context=context)
return {'value': {'amount_in_company_currency': amount_company_cur, 'amount_in_voucher_currency': amount_voucher_cur}}
def _get_amount_in_company_currency(self, cr, uid, ids, name, args, context=None):
res = {}
for line in self.browse(cr, uid, ids, context=context):
amount_in_company_currency, amount_in_voucher_currency = self.__company_currency_amount(cr, uid, line, line.amount, context=context)
res[line.id] = {
'amount_in_company_currency': amount_in_company_currency,
'amount_in_voucher_currency': amount_in_voucher_currency,
}
return res
_columns = {
'voucher_id':fields.many2one('account.voucher', 'Voucher', required=1, ondelete='cascade'),
'move_line_id': fields.many2one('account.move.line', 'Journal Item'),
'type':fields.selection([('dr','Debit'),('cr','Credit')], 'Dr/Cr'),
'name':fields.char('Description', size=256),
'account_id':fields.many2one('account.account','Account', required=True),
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'),
'partner_id':fields.related('voucher_id', 'partner_id', type='many2one', relation='res.partner', string='Partner'),
'untax_amount':fields.float('Untax Amount'),
'currency_id': fields.function(_currency_id, string='Currency', type='many2one', relation='res.currency'),
'company_currency_id': fields.related('move_line_id','company_id','currency_id', type='many2one', relation='res.currency', string="Company Currency"),
'voucher_currency_id': fields.related('voucher_id', 'currency_id', type='many2one', relation='res.currency', string="Voucher Currency"),
'amount':fields.float('Amount', digits_compute=dp.get_precision('Account')),
'type':fields.selection([('dr','Debit'),('cr','Credit')], 'Dr/Cr'),
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'),
'move_line_id': fields.many2one('account.move.line', 'Journal Item'),
'amount_in_company_currency': fields.function(_get_amount_in_company_currency, string='Amount in Company Currency', type='float', digits_compute=dp.get_precision('Account'), multi="voucher_line_amount"),
'amount_in_voucher_currency': fields.function(_get_amount_in_company_currency, string='Amount in Voucher Currency', type='float', digits_compute=dp.get_precision('Account'), multi="voucher_line_amount"),
'date_original': fields.related('move_line_id','date', type='date', relation='account.move.line', string='Date', readonly=1),
'date_due': fields.related('move_line_id','date_maturity', type='date', relation='account.move.line', string='Due Date', readonly=1),
'amount_original': fields.function(_compute_balance, multi='dc', type='float', string='Original Amount', store=True),
@ -868,9 +1023,9 @@ class account_voucher_line(osv.osv):
@return: Returns a dict which contains new values, and context
"""
res = {}
move_line_pool = self.pool.get('account.move.line')
move_line_obj = self.pool.get('account.move.line')
if move_line_id:
move_line = move_line_pool.browse(cr, user, move_line_id, context=context)
move_line = move_line_obj.browse(cr, user, move_line_id, context=context)
if move_line.credit:
ttype = 'dr'
else:
@ -945,7 +1100,7 @@ class account_bank_statement(osv.osv):
bank_st_line_obj = self.pool.get('account.bank.statement.line')
st_line = bank_st_line_obj.browse(cr, uid, st_line_id, context=context)
if st_line.voucher_id:
voucher_obj.write(cr, uid, [st_line.voucher_id.id], {'number': next_number}, context=context)
voucher_obj.write(cr, uid, [st_line.voucher_id.id], {'number': next_number, 'date': st_line.date}, context=context)
if st_line.voucher_id.state == 'cancel':
voucher_obj.action_cancel_draft(cr, uid, [st_line.voucher_id.id], context=context)
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
@ -955,7 +1110,7 @@ class account_bank_statement(osv.osv):
'move_ids': [(4, v.move_id.id, False)]
})
return move_line_obj.write(cr, uid, [x.id for x in v.move_ids], {'statement_id': st_line.statement_id.id}, context=context)
return move_line_obj.write(cr, uid, [x.id for x in v.move_ids], {'statement_id': st_line.statement_id.id, 'date': st_line.date}, update_check=False, context=context)
return super(account_bank_statement, self).create_move_from_st_line(cr, uid, st_line.id, company_currency_id, next_number, context=context)
account_bank_statement()

View File

@ -43,7 +43,7 @@
<form string="Accounting Voucher">
<group col="6" colspan="4">
<field name="partner_id" required="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
<field name="date" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="date" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date, context)"/>
<field name="journal_id" widget="selection" select="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
<field name="type" required="1"/>
<field name="name" colspan="2"/>

View File

@ -20,30 +20,26 @@
##############################################################################
from osv import fields, osv
import os
import tools
from tools.translate import _
class res_company_logo(osv.osv_memory):
_name = 'res.company.logo'
_inherit = 'res.config'
class res_company(osv.osv):
_inherit = "res.company"
_columns = {
'logo' : fields.binary('Logo'),
'property_income_currency_exchange': fields.property(
'account.account',
type='many2one',
relation='account.account',
string="Income Currency Rate",
view_load=True,
domain="[('type', '=', 'other')]",),
'property_expense_currency_exchange': fields.property(
'account.account',
type='many2one',
relation='account.account',
string="Expense Currency Rate",
view_load=True,
domain="[('type', '=', 'other')]",),
}
_defaults={
'logo':lambda self,cr,uid,c: self.pool.get('res.company').browse(cr, uid, uid,c).logo,
}
def execute(self, cr, uid, ids, context=None):
if context is None:
context = {}
user_comp = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
get_val = self.browse(cr, uid, ids)[0]
user_comp.write({'logo': get_val.logo}, context=context)
return {'type': 'ir.actions.act_window_close'}
res_company_logo()
res_company()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="view_company_inherit_currency_xchange_form">
<field name="name">res.company.form.inherit</field>
<field name="inherit_id" ref="base.view_company_form"/>
<field name="model">res.company</field>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="currency_id" position="after">
<field name="property_income_currency_exchange" colspan="2"/>
<field name="property_expense_currency_exchange" colspan="2"/>
</field>
</field>
</record>
</data>
</openerp>

View File

@ -45,10 +45,11 @@ class invoice(osv.osv):
'close_after_process': True,
'invoice_type':inv.type,
'invoice_id':inv.id,
'default_type': inv.type in ('out_invoice','out_refund') and 'receipt' or 'payment'
'default_type': inv.type in ('out_invoice','out_refund') and 'receipt' or 'payment',
'type': inv.type in ('out_invoice','out_refund') and 'receipt' or 'payment'
}
}
invoice()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -67,6 +67,16 @@
<field name="date" string="Voucher Date"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="journal_id" widget="selection"/>
<field name="pay_now"/>
<field name="account_id"/>
<separator orientation="vertical"/>
<field name="date_due"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>

View File

@ -0,0 +1,355 @@
-
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in USD and make 2 Payments in USD based on the currency rating on that particular date
-
I create currency USD in OpenERP for January of 1.333333 Rate
-
!python {model: res.currency.rate}: |
from datetime import datetime
curr_id = self.pool.get('res.currency').search(cr, uid, [('name', '=', 'USD')])
date = '%s-01-01' %(datetime.now().year)
ids = self.search(cr, uid, [('currency_id','=',curr_id), ('name', '=', date)])
self.write(cr, uid, ids, {'rate': 1.333333})
-
I create currency USD in OpenERP for February of 1.250000 Rate
-
!record {model: res.currency.rate, id: feb_usd}:
currency_id: base.USD
name: !eval "'%s-02-01' %(datetime.now().year)"
rate: 1.250000
-
I create currency USD in OpenERP for March of 1.111111 Rate
-
!record {model: res.currency.rate, id: mar_usd}:
currency_id: base.USD
name: !eval "'%s-03-01' %(datetime.now().year)"
rate: 1.111111
-
I create currency USD in OpenERP for April of 1.052632 Rate
-
!record {model: res.currency.rate, id: apr_usd}:
currency_id: base.USD
name: !eval "'%s-04-01' %(datetime.now().year)"
rate: 1.052632
-
I create a bank journal with USD as currency
-
!record {model: account.journal, id: bank_journal_USD}:
name: Bank Journal(USD)
code: BUSD
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.USD
company_id: base.main_company
view_id: account.account_journal_bank_view
-
I set up some accounts for currency rate expense/income in my company
-
!record {model: res.company, id: base.main_company}:
property_expense_currency_exchange: account.o_expense
property_income_currency_exchange: account.o_income
-
I create new partner Mark Strauss.
-
!record {model: res.partner, id: res_partner_strauss0}:
address:
- city: paris
country_id: base.fr
name: Mark Strauss
street: 1 rue Rockfeller
type: invoice
zip: '75016'
name: Mr. Mark Strauss
-
I create the first invoice on 1st January for 200 USD
-
!record {model: account.invoice, id: account_invoice_jan}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.USD
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
period_id: account.period_1
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 200.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_strauss0
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_jan}
-
I check that first invoice move is correct for debtor account (debit - credit == 150.0)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_jan"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 150.0), "Invoice move is not correct for debtors account"
-
I create the second invoice on 1st February for 100 USD
-
!record {model: account.invoice, id: account_invoice_feb}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.USD
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
period_id: account.period_2
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 100.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_strauss0
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_feb}
-
I check that second invoice move is correct for debtor account (debit - credit == 80)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_feb"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 80), "Invoice move is not correct for debtors account"
-
I create the first voucher of payment
<create with values 240 USD, journal USD, and fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_strauss0"), ref('bank_journal_USD'), 240.00, 2, ttype='receipt', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 240.00,
'company_id': ref('base.main_company'),
'currency_id': ref('base.USD'),
'journal_id': ref('bank_journal_USD'),
'partner_id': ref('res_partner_strauss0'),
'period_id': ref('account.period_3'),
'type': 'receipt',
'date': time.strftime("%Y-03-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'First payment',
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
for item in res['value']['line_cr_ids']:
if item['amount_unreconciled'] == 200.00:
item['amount'] = 180.00
else:
item['amount'] = 70.00
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is -10.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == -10.0), "Writeoff amount is not -10.0"
-
I check that currency rate difference is -34.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.currency_rate_difference == -34.0), "Currency rate difference is not -34.0"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that the move of my first voucher is valid
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
-
I check that my debtor account is correct
-
I check that the debtor account has 2 new lines with -180 and -70 as amount_currency columns and that their credit columns are respectively 135 and 56
-
I check that my currency rate difference is correct. 34 in credit with no amount_currency
-
I check that my write-off is correct. 9 debit and 10 amount_currency
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == -180.00:
assert move_line.credit == 135.00, "Debtor account has wrong entry."
elif move_line.amount_currency == -70.00:
assert move_line.credit == 56.00, "Debtor account has wrong entry."
elif move_line.credit == 34.00:
assert move_line.amount_currency == 0.00, "Incorrect currency rate difference."
elif move_line.amount_currency == 10.00:
assert move_line.debit == 9.00, "Writeoff amount is wrong."
-
I check the residual amount of Invoice1, should be 20 in amount_currency and 15 in company currency
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_jan"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 20.0 and move_line.amount_residual == 15.0) , "Residual amount is not correct for first Invoice"
-
I check the residual amuont of Invoice2, should be 30 in residual currency and 24 in amount_residual
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_feb"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 30.0 and move_line.amount_residual == 24.0) , "Residual amount is not correct for first Invoice"
-
I create the second voucher of payment
<create with values 45 USD, journal USD, and fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_strauss0"), ref('bank_journal_USD'), 45.00, 2, ttype='receipt', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 45.00,
'company_id': ref('base.main_company'),
'currency_id': ref('base.USD'),
'journal_id': ref('bank_journal_USD'),
'partner_id': ref('res_partner_strauss0'),
'period_id': ref('account.period_3'),
'type': 'receipt',
'date': time.strftime("%Y-04-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'Second payment',
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
for item in res['value']['line_cr_ids']:
if item['amount_unreconciled'] == 20.00:
item['amount'] = 20.00
else:
item['amount'] = 30.00
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is -5.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == -5.0), "Writeoff amount is not -5.0"
-
I check that currency rate difference is -8.50
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.currency_rate_difference == -8.50), "Currency rate difference is not -8.50"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that the move of my second voucher is valid
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
-
I check that my debtor account is correct
-
I check that the debtor account has 2 new lines with -20 and -30 as amount_currency columns and their credit columns are respectively 15 and 24.
-
I check that my currency rate difference is correct. 8.5 in credit with no amount_currency
-
I check that my writeoff is correct. 4.75 debit and 5 amount_currency
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_strauss0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == -20.00:
assert move_line.credit == 15.00, "Debtor account has wrong entry."
elif move_line.amount_currency == -30.00:
assert move_line.credit == 24.00, "Debtor account has wrong entry."
elif move_line.credit == 8.50:
assert move_line.amount_currency == 0.00, "Incorrect Currency Difference."
elif move_line.amount_currency == 5.00:
assert move_line.debit == 4.75, "Writeoff amount is wrong."
-
I check the residual amount of Invoice1, should be 0 in residual currency and 0 in amount_residual and paid
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_jan"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0.0 and move_line.amount_residual == 0.0 and invoice_id.state == 'paid') , "Residual amount is not correct for first Invoice"
-
I check the residual amuont of Invoice2, should be 0 in residual currency and 0 in amount_residual and paid
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_invoice_feb"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0.0 and move_line.amount_residual == 0.0 and invoice_id.state == 'paid') , "Residual amount is not correct for second Invoice"

View File

@ -0,0 +1,328 @@
-
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in USD and make 2 Payments one in USD and another in EUR, based on the currency rating on that particular date
-
I create a bank journal with EUR as currency
-
!record {model: account.journal, id: bank_journal_EUR}:
name: Bank Journal(EUR)
code: BEUR
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.EUR
company_id: base.main_company
view_id: account.account_journal_bank_view
-
I create a bank journal with USD as currency
-
!record {model: account.journal, id: bank_journal_USD}:
name: Bank Journal(USD)
code: BUSD
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.USD
company_id: base.main_company
view_id: account.account_journal_bank_view
-
I create a new partner Robert Clements
-
!record {model: res.partner, id: res_partner_clements0}:
address:
- city: marseille
country_id: base.fr
name: Robert
street: 1 rue Rockfeller
type: invoice
zip: '13016'
name: Mr.Robert Clements
-
I create the first invoice on 1st January for 200 USD
-
!record {model: account.invoice, id: account_first_invoice_jan_suppl}:
account_id: account.a_pay
type : in_invoice
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.USD
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
period_id: account.period_1
invoice_line:
- account_id: account.a_expense
name: '[PC1] Basic PC'
price_unit: 200.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_clements0
reference_type: none
check_total : 200
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_first_invoice_jan_suppl}
-
I check that first invoice move is correct for debtor account(debit - credit == -150)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan_suppl"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == -150.00), "Invoice move is incorrect for debtors account"
-
I create the second invoice on 1st February for 100 USD
-
!record {model: account.invoice, id: account_second_invoice_feb_suppl}:
account_id: account.a_pay
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.USD
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
period_id: account.period_2
type : in_invoice
invoice_line:
- account_id: account.a_expense
name: '[PC1] Basic PC'
price_unit: 100.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_clements0
reference_type: none
check_total : 100.0
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_second_invoice_feb_suppl}
-
I check that second invoice move is correct for debtor account (debit - credit == -80)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb_suppl"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == -80), "Invoice move is incorrect for debtors account"
-
I create the first voucher of payment
<create with values 240 EUR, journal EUR, and fills amount 180 for the invoice of 200$ and 70 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_clements0"), ref('bank_journal_EUR'), 240.0, 2, ttype='payment', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 240.0,
'company_id': ref('base.main_company'),
'currency_id': ref('base.EUR'),
'journal_id': ref('bank_journal_EUR'),
'partner_id': ref('res_partner_clements0'),
'period_id': ref('account.period_3'),
'type': 'payment',
'date': time.strftime("%Y-03-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'First payment',
}
if not res['value']['line_dr_ids']:
res['value']['line_dr_ids'] = [{'type': 'dr', 'account_id': ref('account.a_pay'),}]
for item in res['value']['line_dr_ids']:
if item['amount_unreconciled'] == 200.00:
item['amount'] = 180.00
else:
item['amount'] = 70.00
vals['line_dr_ids'] = [(0,0,i) for i in res['value']['line_dr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is -15.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_clements0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == -15.0), "Writeoff amount is not -15.0"
-
I check that currency rate difference is 34.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_clements0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.currency_rate_difference == 34.0), "Currency rate difference is not 34.0"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_clements0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that the move of my voucher is valid
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_clements0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
-
I check that my creditor account is correct
-
I check that the creditor account has 2 new lines with 180 and 70 in amount_currency columns and their debit columns are respectively 135 and 56 and currency is USD($).
-
I check that my currency rate difference is correct. -34 in credit with no amount_currency
-
I check that my writeoff is correct. -15 in credit with no amount_currency
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_clements0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == 180.00:
assert move_line.debit == 135.00, "Creditor account has wrong entry."
elif move_line.amount_currency == 70.00:
assert move_line.debit == 56.00, "Debtor account has wrong entry."
elif move_line.debit == 34.00:
assert move_line.amount_currency == 0.00, "Incorrect Currency Difference."
elif move_line.debit == 15.00:
assert move_line.amount_currency == 0.00, "Writeoff amount is wrong."
-
I check the residual amount of Invoice1, should be 20 in residual currency and 15 in amount_residual
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan_suppl"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 20.0 and move_line.amount_residual == 15) , "Residual amount is not correct for first Invoice"
-
I check the residual amuont of Invoice2, should be 30 in residual currency and 24 in amount_residual
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb_suppl"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 30 and move_line.amount_residual == 24) , "Residual amount is not correct for second Invoice"
-
I create the second voucher of payment
<create with values 45 USD, journal USD, and fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_clements0"), ref('bank_journal_EUR'), 45.0, 2, ttype='payment', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 45.0,
'company_id': ref('base.main_company'),
'currency_id': ref('base.USD'),
'journal_id': ref('bank_journal_USD'),
'partner_id': ref('res_partner_clements0'),
'period_id': ref('account.period_3'),
'type': 'payment',
'date': time.strftime("%Y-04-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'Second payment',
}
if not res['value']['line_dr_ids']:
res['value']['line_dr_ids'] = [{'type': 'dr', 'account_id': ref('account.a_pay'),}]
for item in res['value']['line_dr_ids']:
if item['amount_unreconciled'] == 20.00:
item['amount'] = 20.00
else:
item['amount'] = 30.00
vals['line_dr_ids'] = [(0,0,i) for i in res['value']['line_dr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is -5.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_clements0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == 5.0), "Writeoff amount is not 5.0"
-
I check that currency rate difference is 8.50
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_clements0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.currency_rate_difference == 8.50), "Currency rate difference is not 8.50"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_clements0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that my voucher state is posted
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_clements0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert voucher_id.state == 'posted', "Voucher state is not posted"
-
I check that my creditor account is correct
-
I check that the creditor account has 2 new lines with 20 and 30 in amount_currency columns and their debit columns are respectively 15 and 24 and currency is USD($).
-
I check that my currency rate difference is correct. 8.50 in debit with no amount_currency
-
I check that my writeoff is correct. 4.75 in credit and 5 in amount_currency
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_clements0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == 20.00:
assert move_line.debit == 15.00, "Debtor account has wrong entry."
elif move_line.amount_currency == 30.00:
assert move_line.debit == 24.00, "Debtor account has wrong entry."
elif move_line.debit == 8.50:
assert move_line.amount_currency == 0.00, "Incorrect Currency Difference."
elif move_line.amount_currency == -5.00:
assert move_line.credit == 4.75, "Writeoff amount is wrong."
-
I check the residual amount of invoice 1, should be 0 in residual currency and 0 in amount_residual and paid
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan_suppl"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0.0 and move_line.amount_residual == 0.0 and invoice_id.state == 'paid') , "Residual amount is not correct for first Invoice"
-
I check the residual amount of invoice 2, should be 0 in residual currency and 0 in amount_residual and paid
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb_suppl"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0.0 and move_line.amount_residual == 0.0 and invoice_id.state == 'paid') , "Residual amount is not correct for second Invoice"

View File

@ -0,0 +1,360 @@
-
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in USD and make 2 Payments one in USD and another in EUR, based on the currency rating on that particular date
-
I create currency USD in OpenERP for January of 1.333333 Rate
-
!python {model: res.currency.rate}: |
from datetime import datetime
curr_id = self.pool.get('res.currency').search(cr, uid, [('name', '=', 'USD')])
date = '%s-01-01' %(datetime.now().year)
ids = self.search(cr, uid, [('currency_id', '=', curr_id), ('name', '=', date)])
self.write(cr, uid, ids, {'rate': 1.333333})
-
I create currency USD in OpenERP for February of 1.250000 Rate
-
!record {model: res.currency.rate, id: febr_usd}:
currency_id: base.USD
name: !eval "'%s-02-01' %(datetime.now().year)"
rate: 1.250000
-
I create currency USD in OpenERP for March of 1.111111 Rate
-
!record {model: res.currency.rate, id: marc_usd}:
currency_id: base.USD
name: !eval "'%s-03-01' %(datetime.now().year)"
rate: 1.111111
-
I create currency USD in OpenERP for April of 1.052632 Rate
-
!record {model: res.currency.rate, id: apri_usd}:
currency_id: base.USD
name: !eval "'%s-04-01' %(datetime.now().year)"
rate: 1.052632
-
I create a bank journal with EUR as currency
-
!record {model: account.journal, id: bank_journal_EUR}:
name: Bank Journal(EUR)
code: BEUR
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.EUR
company_id: base.main_company
view_id: account.account_journal_bank_view
-
I create a bank journal with USD as currency
-
!record {model: account.journal, id: bank_journal_USD}:
name: Bank Journal(USD)
code: BUSD
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.USD
company_id: base.main_company
view_id: account.account_journal_bank_view
-
I set up some accounts for currency rate expense/income in my company
-
!record {model: res.company, id: base.main_company}:
property_expense_currency_exchange: account.o_expense
property_income_currency_exchange: account.o_income
-
I create a new partner Michael Geller
-
!record {model: res.partner, id: res_partner_michael0}:
address:
- city: paris
country_id: base.fr
name: Michael
street: 1 rue Rockfeller
type: invoice
zip: '75016'
name: Mr.Michael Geller
-
I create the first invoice on 1st January for 200 USD
-
!record {model: account.invoice, id: account_first_invoice_jan}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.USD
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
period_id: account.period_1
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 200.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_michael0
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_first_invoice_jan}
-
I check that first invoice move is correct for debtor account(debit - credit == 150)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 150.00), "Invoice move is incorrect for debtors account"
-
I create the second invoice on 1st February for 100 USD
-
!record {model: account.invoice, id: account_second_invoice_feb}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.USD
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
period_id: account.period_2
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 100.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_michael0
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_second_invoice_feb}
-
I check that second invoice move is correct for debtor account (debit - credit == 80)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 80), "Invoice move is incorrect for debtors account"
-
I create the first voucher of payment
<create with values 240 EUR, journal EUR, and fills amount 180 for the invoice of 200$ and 70 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_michael0"), ref('bank_journal_EUR'), 240.0, 2, ttype='receipt', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 240.0,
'company_id': ref('base.main_company'),
'currency_id': ref('base.EUR'),
'journal_id': ref('bank_journal_EUR'),
'partner_id': ref('res_partner_michael0'),
'period_id': ref('account.period_3'),
'type': 'receipt',
'date': time.strftime("%Y-03-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'First payment',
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
for item in res['value']['line_cr_ids']:
if item['amount_unreconciled'] == 200.00:
item['amount'] = 180.00
else:
item['amount'] = 70.00
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 15.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_michael0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == 15.0), "Writeoff amount is not 15.0"
-
I check that currency rate difference is -34.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_michael0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.currency_rate_difference == -34.0), "Currency rate difference is not -34.0"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_michael0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that the move of my voucher is valid
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_michael0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
-
I check that my debtor account is correct
-
I check that the debtor account has 2 new lines with -180 and -70 in amount_currency columns and their credit columns are respectively 135 and 56 and currency is USD($).
-
I check that my currency rate difference is correct. 34 in credit with no amount_currency
-
I check that my writeoff is correct. 15 in credit with no amount_currency
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_michael0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == -180.00:
assert move_line.credit == 135.00, "Debtor account has wrong entry."
elif move_line.amount_currency == -70.00:
assert move_line.credit == 56.00, "Debtor account has wrong entry."
elif move_line.credit == 34.00:
assert move_line.amount_currency == 0.00, "Incorrect Currency Difference."
elif move_line.credit == 15.00:
assert move_line.amount_currency == 0.00, "Writeoff amount is wrong."
-
I check the residual amount of Invoice1, should be 20 in residual currency and 15 in amount_residual
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 20.0 and move_line.amount_residual == 15) , "Residual amount is not correct for first Invoice"
-
I check the residual amuont of Invoice2, should be 30 in residual currency and 24 in amount_residual
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 30 and move_line.amount_residual == 24) , "Residual amount is not correct for second Invoice"
-
I create the second voucher of payment
<create with values 45 USD, journal USD, and fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_michael0"), ref('bank_journal_EUR'), 45.0, 2, ttype='receipt', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 45.0,
'company_id': ref('base.main_company'),
'currency_id': ref('base.USD'),
'journal_id': ref('bank_journal_USD'),
'partner_id': ref('res_partner_michael0'),
'period_id': ref('account.period_3'),
'type': 'receipt',
'date': time.strftime("%Y-04-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'Second payment',
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
for item in res['value']['line_cr_ids']:
if item['amount_unreconciled'] == 20.00:
item['amount'] = 20.00
else:
item['amount'] = 30.00
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is -5.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_michael0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == -5.0), "Writeoff amount is not -5.0"
-
I check that currency rate difference is -8.50
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_michael0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.currency_rate_difference == -8.50), "Currency rate difference is not -8.50"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_michael0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that my voucher state is posted
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_michael0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert voucher_id.state == 'posted', "Voucher state is not posted"
-
I check that my debtor account is correct
-
I check that the debtor account has 2 new lines with -20 and -30 in amount_currency columns and their credit columns are respectively 15 and 24 and currency is USD($).
-
I check that my currency rate difference is correct. 8.50 in credit with no amount_currency
-
I check that my writeoff is correct. 4.75 in debit and 5 in amount_currency
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_michael0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == -20.00:
assert move_line.credit == 15.00, "Debtor account has wrong entry."
elif move_line.amount_currency == -30.00:
assert move_line.credit == 24.00, "Debtor account has wrong entry."
elif move_line.credit == 8.50:
assert move_line.amount_currency == 0.00, "Incorrect Currency Difference."
elif move_line.amount_currency == 5.00:
assert move_line.debit == 4.75, "Writeoff amount is wrong."
-
I check the residual amount of invoice 1, should be 0 in residual currency and 0 in amount_residual and paid
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0.0 and move_line.amount_residual == 0.0 and invoice_id.state == 'paid') , "Residual amount is not correct for first Invoice"
-
I check the residual amuont of invoice 2, should be 0 in residual currency and 0 in amount_residual and paid
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0.0 and move_line.amount_residual == 0.0 and invoice_id.state == 'paid') , "Residual amount is not correct for second Invoice"

View File

@ -0,0 +1,331 @@
-
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in EUR and make 2 Payments in EUR based on the currency rating on that particular date.
-
I create currency EUR in OpenERP for January of 1.000000 Rate
-
!record {model: res.currency.rate, id: jan_eur}:
currency_id: base.EUR
name: !eval "'%s-01-01' %(datetime.now().year)"
rate: 1.000000
-
I create currency EUR in OpenERP for February of 1.000000 Rate
-
!record {model: res.currency.rate, id: feb_eur}:
currency_id: base.EUR
name: !eval "'%s-02-01' %(datetime.now().year)"
rate: 1.000000
-
I create currency EUR in OpenERP for March of 1.000000 Rate
-
!record {model: res.currency.rate, id: mar_eur}:
currency_id: base.EUR
name: !eval "'%s-03-01' %(datetime.now().year)"
rate: 1.000000
-
I create currency EUR in OpenERP for April of 1.000000 Rate
-
!record {model: res.currency.rate, id: apr_eur}:
currency_id: base.EUR
name: !eval "'%s-04-01' %(datetime.now().year)"
rate: 1.000000
-
I create a bank journal with EUR as currency
-
!record {model: account.journal, id: bank_journal_EUR}:
name: Bank Journal(EUR)
code: BEUR
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.EUR
company_id: base.main_company
view_id: account.account_journal_bank_view
-
I set up some accounts for currency rate expense/income in my company
-
!record {model: res.company, id: base.main_company}:
property_expense_currency_exchange: account.o_expense
property_income_currency_exchange: account.o_income
-
I create a new partner Peter Lawson.
-
!record {model: res.partner, id: res_partner_peter0}:
address:
- city: paris
country_id: base.fr
name: Peter
street: 1 rue Rockfeller
type: invoice
zip: '75016'
name: Mr.Peter Lawson
-
I create the first invoice on 1st January for 150 EUR
-
!record {model: account.invoice, id: account_first_invoice_jan_eur}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.EUR
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
period_id: account.period_1
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 150.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_peter0
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_first_invoice_jan_eur}
-
I check that first invoice move is correct for debtor account(debit - credit == 150)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan_eur"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 150.00), "Invoice move is incorrect for debtors account"
-
I create the second invoice on 1st February for 80 EUR
-
!record {model: account.invoice, id: account_second_invoice_feb_eur}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.EUR
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
period_id: account.period_1
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 80.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_peter0
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_second_invoice_feb_eur}
-
I check that second invoice move is correct for debtor account (debit - credit == 80)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb_eur"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 80.00), "Invoice move is incorrect for debtors account"
-
I create the first voucher of payment
<create with values 120 EUR, journal EUR, and fill amounts 100 for the invoice of 150 EUR and 20 for the invoice of 80 EUR>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_peter0"), ref('bank_journal_EUR'), 120.00, 2, ttype='receipt', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 120.00,
'company_id': ref('base.main_company'),
'currency_id': ref('base.EUR'),
'journal_id': ref('bank_journal_EUR'),
'partner_id': ref('res_partner_peter0'),
'period_id': ref('account.period_3'),
'type': 'receipt',
'date': time.strftime("%Y-03-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'First payment',
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
for item in res['value']['line_cr_ids']:
if item['amount_unreconciled'] == 150.00:
item['amount'] = 100.00
else:
item['amount'] = 20.00
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 0.00
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'),('partner_id', '=', ref('res_partner_peter0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == 0.00), "Writeoff amount is not 0.00"
-
I check that currency rate difference is 0.00
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'),('partner_id', '=', ref('res_partner_peter0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.currency_rate_difference == 0.00), "Currency rate difference is not 0.00"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment'),('partner_id', '=', ref('res_partner_peter0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that the move of my first voucher is valid
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'),('partner_id', '=', ref('res_partner_peter0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
-
I check that my debtor account is correct
-
I check that the debtor account has 2 new lines with 0.00 and 0.00 in amount_currency columns and their credit are 20 and 100 respectively
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'),('partner_id', '=', ref('res_partner_peter0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.credit == 20.00:
assert move_line.amount_currency == 0.00, "Debtor account has wrong entry."
elif move_line.credit == 100.00:
assert move_line.amount_currency == 0.00, "Debtor account has wrong entry."
-
I check the residual amount of Invoice1 is 50
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan_eur"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 50.0 and move_line.amount_residual == 50.0) , "Residual amount is not correct for first Invoice"
-
I check the residual amuont of Invoice2 is 60
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb_eur"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 60.0 and move_line.amount_residual == 60.0) , "Residual amount is not correct for second Invoice"
-
I create the second voucher of payment and check to let open the debtor overpaid amount.
<create with values 120 EUR, journal EUR, and fill amounts 50 for the invoice of 150 EUR and 70 for the invoice of 80 EUR>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_peter0"), ref('bank_journal_EUR'), 120.00, 2, ttype='receipt', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 120.00,
'company_id': ref('base.main_company'),
'currency_id': ref('base.EUR'),
'journal_id': ref('bank_journal_EUR'),
'partner_id': ref('res_partner_peter0'),
'period_id': ref('account.period_3'),
'type': 'receipt',
'date': time.strftime("%Y-04-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'Second payment',
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
for item in res['value']['line_cr_ids']:
if item['amount_unreconciled'] == 50.00:
item['amount'] = 50.00
elif item['amount_unreconciled'] == 60.00:
item['amount'] = 70.00
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 0.00
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'),('partner_id', '=', ref('res_partner_peter0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == 0.00), "Writeoff amount is not 0"
-
I check that currency rate difference is 0.00
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_peter0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.currency_rate_difference == 0.00), "Currency rate difference is not 0"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_peter0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that the move of my second voucher is valid
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_peter0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
-
I check that my debtor account is correct
-
I check that the debtor account has 2 new lines with 0.00 and 0.00 in amount_currency columns and their credit are 70 and 50
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'Second payment'), ('partner_id', '=', ref('res_partner_peter0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.credit == 70.00:
assert move_line.amount_currency == 0.00, "Debtor account has wrong entry."
elif move_line.credit == 50.00:
assert move_line.amount_currency == 0.00, "Debtor account has wrong entry."
-
I check the residual amount of Invoice1 is 0
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan_eur"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0 and move_line.amount_residual == 0) , "Residual amount is not correct for first Invoice"
-
I check the residual amuont of Invoice2 is -10
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb_eur"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == -10.0 and move_line.amount_residual == -10.0) , "Residual amount is not correct for second Invoice"

View File

@ -0,0 +1,194 @@
-
In order to check the Account_voucher module with multi-currency in OpenERP,
I create an invoice in CAD and make its Payment in CHF based on the currency rating on that particular date.
-
I create currency CAD in OpenERP for January of 1.338800 Rate
-
!record {model: res.currency.rate, id: jan_cad}:
currency_id: base.CAD
name: !eval "'%s-01-01' %(datetime.now().year)"
rate: 1.338800
-
I create currency CAD in OpenERP for March of 2.000000 Rate
-
!record {model: res.currency.rate, id: mar_cad}:
currency_id: base.CAD
name: !eval "'%s-03-01' %(datetime.now().year)"
rate: 2.000000
-
I create currency CHF in OpenERP for January of 1.308600 Rate
-
!record {model: res.currency.rate, id: jan_chf}:
currency_id: base.CHF
name: !eval "'%s-01-01' %(datetime.now().year)"
rate: 1.308600
-
I create currency CHF in OpenERP for March of 1.250000 Rate
-
!record {model: res.currency.rate, id: mar_chf}:
currency_id: base.CHF
name: !eval "'%s-03-01' %(datetime.now().year)"
rate: 1.250000
-
I create a bank journal with CHF as currency
-
!record {model: account.journal, id: bank_journal_CHF}:
name: Bank Journal(CHF)
code: BCHF
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.CHF
company_id: base.main_company
view_id: account.account_journal_bank_view
-
I set up some accounts for currency rate expense/income in my company
-
!record {model: res.company, id: base.main_company}:
property_expense_currency_exchange: account.o_expense
property_income_currency_exchange: account.o_income
-
I create a new partner John Armani.
-
!record {model: res.partner, id: res_partner_john0}:
address:
- city: paris
country_id: base.fr
name: John
street: 1 rue Rockfeller
type: invoice
zip: '75016'
name: Mr.John Armani
-
I create the first invoice on 1st January for 200 CAD
-
!record {model: account.invoice, id: account_first_invoice_jan_cad}:
account_id: account.a_recv
address_contact_id: base.res_partner_address_3000
address_invoice_id: base.res_partner_address_3000
company_id: base.main_company
currency_id: base.CAD
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
period_id: account.period_1
invoice_line:
- account_id: account.a_sale
name: '[PC1] Basic PC'
price_unit: 200.0
quantity: 1.0
product_id: product.product_product_pc1
uos_id: product.product_uom_unit
journal_id: account.sales_journal
partner_id: res_partner_john0
reference_type: none
-
I Validate invoice by clicking on Validate button
-
!workflow {model: account.invoice, action: invoice_open, ref: account_first_invoice_jan_cad}
-
I check that first invoice move is correct for debtor account (debit - credit == 149.39)
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan_cad"))
assert invoice_id.move_id, "Move not created for open invoice"
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 149.39), "Invoice move is incorrect for debtors account"
-
I create the first voucher of payment
<create with values 300 CHF, journal CHF, and fill amounts 200 for the invoice of 200 CAD>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
res = self.onchange_partner_id(cr, uid, [], ref("res_partner_john0"), ref('bank_journal_CHF'), 300.00, 2, ttype='receipt', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 300.00,
'company_id': ref('base.main_company'),
'currency_id': ref('base.CHF'),
'journal_id': ref('bank_journal_CHF'),
'partner_id': ref('res_partner_john0'),
'period_id': ref('account.period_3'),
'type': 'receipt',
'date': time.strftime("%Y-03-01"),
'payment_option': 'with_writeoff',
'writeoff_acc_id': ref('account.a_expense'),
'comment': 'Write Off',
'name': 'First payment',
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
for item in res['value']['line_cr_ids']:
if item['amount_unreconciled'] == 200.00:
item['amount'] = 200.00
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 175.0
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_john0'))])
voucher_id = self.browse(cr, uid, voucher[0])
assert (voucher_id.writeoff_amount == 175.0), "Writeoff amount is not 175.0"
-
I check that currency rate difference is 49.39
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_john0'))])
voucher_id = self.browse(cr, uid, voucher[0])
curr_diff = float(str(voucher_id.currency_rate_difference))
assert (curr_diff == 49.39), "Currency rate difference is not 49.39"
-
I confirm the voucher
-
!python {model: account.voucher}: |
import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_john0'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
-
I check that the move of my voucher is valid
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_john0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
assert voucher_id.state == 'posted', "Voucher state is not posted"
-
I check that my debtor account is correct
-
I check that the debtor account has 1 new line with -200 as amount_currency columns and 149.39 of credit and currency is CAD($).
-
I check that my currency rate difference is correct. 49.39 in debit with no amount_currency
-
I check that my writeoff is correct. 140 credit and -175 amount_currency
-
!python {model: account.voucher}: |
voucher = self.search(cr, uid, [('name', '=', 'First payment'), ('partner_id', '=', ref('res_partner_john0'))])
voucher_id = self.browse(cr, uid, voucher[0])
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == -200:
assert move_line.credit == 149.39, "Debtor account has wrong entry."
elif move_line.debit == 49.39:
assert move_line.amount_currency == 0.00, "Incorrect Currency Difference."
elif move_line.credit == 140.00:
assert move_line.amount_currency == -175.00, "Writeoff amount is wrong."
-
I check the residual amount of Invoice1, should be 0 in residual currency and 0 in amount_residual and paid
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_first_invoice_jan_cad"))
move_line_obj = self.pool.get('account.move.line')
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0.0 and move_line.amount_residual == 0.0 and invoice_id.state == 'paid') , "Residual amount is not correct for first Invoice"

View File

@ -74,14 +74,24 @@
<field name="arch" type="xml">
<form string="Bill Payment">
<group col="6" colspan="4">
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)" context="{'invoice_currency':currency_id}" string="Supplier"/>
<field name="amount" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="partner_id"
required="1"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"
string="Supplier"/>
<field name="journal_id"
domain="[('type','in',['bank', 'cash'])]"
widget="selection" select="1"
on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"
string="Payment Method"/>
<field name="date" select="1" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="amount"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"/>
<field name="date"
select="1"
on_change="onchange_date(partner_id, journal_id, amount,
currency_id, type, date, context)"/>
<field name="reference" select="1" string="Payment Ref"/>
<field name="name" colspan="2"/>
<field name="account_id"
@ -94,25 +104,37 @@
<page string="Payment Information">
<field name="line_dr_ids" attrs="{'invisible': [('type', '=', 'receipt')]}" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount)">
<tree string="Open Supplier Journal Entries" editable="bottom">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
<field name="move_line_id" required="1" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','payable')]"/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','payable')]" invisible="1"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="amount_original" readonly="1"/>
<field name="amount_unreconciled" sum="Open Balance" readonly="1"/>
<field name="amount" sum="Payment"/>
<field name="currency_id" readonly="1"/>
<field name="amount_original" readonly="1" invisible="1"/>
<field name="amount_unreconciled" readonly="1"/>
<field name="amount" on_change="onchange_amount(amount)"/>
<field name="amount_in_voucher_currency" readonly="1" groups="base.group_no_one"/>
<field name="voucher_currency_id" readonly="1" groups="base.group_no_one"/>
<field name="amount_in_company_currency" readonly="1" invisible="1"/>
<field name="company_currency_id" readonly="1" invisible="1"/>
</tree>
</field>
<field name="line_cr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('type', '=', 'payment')]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount)">
<tree string="Open Customer Journal Entries" editable="bottom">
<field name="move_line_id"/>
<field name="move_line_id" required="1"/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
<field name="date_original"/>
<field name="amount_original"/>
<field name="amount" sum="Payment"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="currency_id" readonly="1"/>
<field name="amount_original" readonly="1" invisible="1"/>
<field name="amount_unreconciled" readonly="1"/>
<field name="amount" on_change="onchange_amount(amount)"/>
<field name="amount_in_voucher_currency" readonly="1" groups="base.group_no_one"/>
<field name="voucher_currency_id" readonly="1" groups="base.group_no_one"/>
<field name="amount_in_company_currency" readonly="1" invisible="1"/>
<field name="company_currency_id" readonly="1" invisible="1"/>
</tree>
</field>
<group col="2" colspan="3">
@ -137,15 +159,28 @@
<field name="arch" type="xml">
<form string="Bill Payment">
<group col="6" colspan="4">
<field name="partner_id" domain="[('supplier','=',True)]" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)" context="{'invoice_currency':currency_id}" string="Supplier"/>
<field name="amount" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="partner_id"
domain="[('supplier','=',True)]"
required="1"
invisible="context.get('line_type', False)"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"
string="Supplier"/>
<field name="journal_id"
domain="[('type','in',['bank', 'cash'])]"
invisible="context.get('line_type', False)"
widget="selection" select="1"
on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"
string="Payment Method"/>
<field name="date" select="1" invisible="context.get('line_type', False)" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="amount"
invisible="context.get('line_type', False)"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"/>
<field name="date"
invisible="context.get('line_type', False)"
on_change="onchange_date(partner_id, journal_id, amount,
currency_id, type, date, context)"/>
<field name="reference" select="1" invisible="context.get('line_type', False)" string="Payment Ref"/>
<field name="name" colspan="2" invisible="context.get('line_type', False)"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
@ -159,25 +194,37 @@
<page string="Payment Information">
<field name="line_dr_ids" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140">
<tree string="Supplier Invoices and Outstanding transactions" editable="bottom">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
<field name="move_line_id" required="1" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','payable')]"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="amount_original" readonly="1"/>
<field name="amount_unreconciled" sum="Open Balance" readonly="1"/>
<field name="amount" sum="Payment"/>
<field name="currency_id" readonly="1"/>
<field name="amount_original" readonly="1" invisible="1"/>
<field name="amount_unreconciled" readonly="1"/>
<field name="amount" on_change="onchange_amount(amount)"/>
<field name="amount_in_voucher_currency" readonly="1" groups="base.group_no_one"/>
<field name="voucher_currency_id" readonly="1" groups="base.group_no_one"/>
<field name="amount_in_company_currency" readonly="1" invisible="1"/>
<field name="company_currency_id" readonly="1" invisible="1"/>
</tree>
</field>
<field name="line_cr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}">
<tree string="Credits" editable="bottom">
<field name="move_line_id"/>
<field name="move_line_id" required="1"/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
<field name="date_original"/>
<field name="amount_original"/>
<field name="amount" sum="Payment"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="currency_id" readonly="1"/>
<field name="amount_original" readonly="1" invisible="1"/>
<field name="amount_unreconciled" readonly="1"/>
<field name="amount" on_change="onchange_amount(amount)"/>
<field name="amount_in_voucher_currency" readonly="1" groups="base.group_no_one"/>
<field name="voucher_currency_id" readonly="1" groups="base.group_no_one"/>
<field name="amount_in_company_currency" readonly="1" invisible="1"/>
<field name="company_currency_id" readonly="1" invisible="1"/>
</tree>
</field>
<group col="2" colspan="3">
@ -185,24 +232,26 @@
<field name="narration" colspan="2" nolabel="1"/>
</group>
<group col="2" colspan="1">
<group col="2" colspan="1">
<separator string="Payment Options" colspan="2"/>
<field name="payment_option" required="1"/>
<group col="4" colspan="1">
<separator string="Payment Options" colspan="4"/>
<field name="payment_option" required="1" colspan="4"/>
<field name="currency_rate_difference" attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/>
<field name="company_currency" attrs="{'invisible':[('payment_option','!=','with_writeoff')]}" nolabel="1"/><newline/>
<field name="writeoff_amount"
attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/>
<field name="currency_id2" nolabel="1" attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/><newline/>
<field name="writeoff_acc_id"
attrs="{'invisible':[('payment_option','!=','with_writeoff')], 'required':[('payment_option','=','with_writeoff')]}"
domain="[('type','=','other')]"/>
domain="[('type','=','other')]" colspan="4"/>
<field name="comment"
attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/>
attrs="{'invisible':[('payment_option','!=','with_writeoff')]}" colspan="4"/>
<field name="analytic_id"
attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"
groups="analytic.group_analytic_accounting"/>
groups="analytic.group_analytic_accounting" colspan="4"/>
</group>
<separator string="Other Information" colspan="2"/>
<group col="4" colspan="1">
<field name="currency_id"/>
<field name="number"/>
<field name="number"/>
</group>
</group>
</page>
@ -269,56 +318,88 @@
id="menu_action_vendor_payment" parent="account.menu_finance_payables"/>
<record model="ir.ui.view" id="view_vendor_receipt_form">
<field name="name">account.voucher.receipt.form</field>
<field name="name">voucher.form.customer.payment</field>
<field name="model">account.voucher</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Customer Payment">
<group col="6" colspan="4">
<field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)" string="Customer"/>
<field name="amount"
invisible="context.get('line_type', False)"
string="Paid Amount"
on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)"/>
<group col="12" colspan="4">
<field name="partner_id"
colspan="4"
required="1"
invisible="context.get('line_type', False)"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"
string="Customer"/>
<field name="journal_id"
domain="[('type','in',['bank', 'cash'])]"
invisible="context.get('line_type', False)"
widget="selection" select="1"
on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)"
string="Payment Method"/>
<field name="date" select="1" invisible="context.get('line_type', False)" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="reference" select="1" invisible="context.get('line_type', False)" string="Payment Ref"/>
<field name="name" colspan="2" invisible="context.get('line_type', False)"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="account_id"
widget="selection"
select="1"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"
string="Payment Method"
colspan="4"/>
<field name="amount"
colspan="1"
invisible="context.get('line_type', False)"
string="Paid Amount"
on_change="onchange_partner_id(partner_id, journal_id, amount,
currency_id, type, date, context)"/>
<field name="currency_id" nolabel="1" invisible="1"/>
<field name="date"
colspan="4"
select="1"
invisible="context.get('line_type', False)"
on_change="onchange_date(partner_id, journal_id, amount,
currency_id, type, date, context)"/>
<field name="reference" colspan="4" select="1" invisible="context.get('line_type', False)" string="Payment Ref"/>
<field name="name" colspan="4" invisible="context.get('line_type', False)"/>
<field name="company_id" colspan="4" widget="selection" groups="base.group_multi_company"/>
<field name="account_id" colspan="4"
widget="selection"
invisible="True"/>
<field name="pre_line" invisible="1"/>
<field name="type" invisible="True"/>
<field name="pre_line" colspan="4" invisible="1"/>
<field name="type" colspan="4" invisible="True"/>
</group>
<notebook colspan="4">
<page string="Payment Information">
<field name="line_cr_ids" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount)">
<field name="line_cr_ids" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, date, context)">
<tree string="Invoices and outstanding transactions" editable="bottom">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
<field name="move_line_id" required="1" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','in',('receivable','payable')), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]" invisible="1"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="amount_original" readonly="1"/>
<field name="amount_unreconciled" sum="Open Balance" readonly="1"/>
<field name="amount" sum="Payment"/>
<field name="currency_id" readonly="1"/>
<field name="amount_original" readonly="1" invisible="1"/>
<field name="amount_unreconciled" readonly="1"/>
<field name="amount" on_change="onchange_amount(amount)"/>
<field name="amount_in_voucher_currency" readonly="1" groups="base.group_no_one"/>
<field name="voucher_currency_id" readonly="1" groups="base.group_no_one"/>
<field name="amount_in_company_currency" readonly="1" invisible="1"/>
<field name="company_currency_id" readonly="1" invisible="1"/>
</tree>
</field>
<field name="line_dr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount)">
<field name="line_dr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, date, context)">
<tree string="Credits" editable="bottom">
<field name="move_line_id"/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
<field name="date_original"/>
<field name="amount_original"/>
<field name="amount" sum="Payment"/>
<field name="move_line_id" required="1" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','in',('receivable','payable')), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]" invisible="1"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="currency_id" readonly="1"/>
<field name="amount_original" readonly="1" invisible="1"/>
<field name="amount_unreconciled" readonly="1"/>
<field name="amount" on_change="onchange_amount(amount)"/>
<field name="amount_in_voucher_currency" readonly="1" groups="base.group_no_one"/>
<field name="voucher_currency_id" readonly="1" groups="base.group_no_one"/>
<field name="amount_in_company_currency" readonly="1" invisible="1"/>
<field name="company_currency_id" readonly="1" invisible="1"/>
</tree>
</field>
<group col="2" colspan="3">
@ -326,23 +407,25 @@
<field name="narration" colspan="2" nolabel="1"/>
</group>
<group col="2" colspan="1">
<group col="2" colspan="1">
<separator string="Payment Options" colspan="2"/>
<field name="payment_option" required="1"/>
<group col="4" colspan="1">
<separator string="Payment Options" colspan="4"/>
<field name="payment_option" required="1" colspan="4"/>
<field name="currency_rate_difference" attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/>
<field name="company_currency" attrs="{'invisible':[('payment_option','!=','with_writeoff')]}" nolabel="1"/><newline/>
<field name="writeoff_amount"
attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/>
<field name="currency_id2" nolabel="1" attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/><newline/>
<field name="writeoff_acc_id"
attrs="{'invisible':[('payment_option','!=','with_writeoff')], 'required':[('payment_option','=','with_writeoff')]}"
domain="[('type','=','other')]"/>
domain="[('type','=','other')]" colspan="4"/>
<field name="comment"
attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/>
attrs="{'invisible':[('payment_option','!=','with_writeoff')]}" colspan="4"/>
<field name="analytic_id"
attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"
groups="analytic.group_analytic_accounting"/>
groups="analytic.group_analytic_accounting" colspan="4"/>
</group>
<separator string="Other Information" colspan="2"/>
<group col="4" colspan="1">
<field name="currency_id"/>
<field name="number"/>
</group>
</group>

View File

@ -83,7 +83,7 @@
<form string="Sales Receipt">
<group col="6" colspan="4">
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)" string="Customer"/>
<field name="date" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="date" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date, context)"/>
<field name="journal_id" domain="[('type','in',['sale','sale_refund'])]" widget="selection" on_change="onchange_journal(journal_id, line_cr_ids, tax_id, partner_id)"/>
<field name="number"/>
<field name="name" colspan="2"/>
@ -209,7 +209,7 @@
<form string="Supplier Voucher">
<group col="6" colspan="4">
<field name="partner_id" domain="[('supplier','=',True)]" required="1" string="Supplier" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="date" string="Bill Date" select="1" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date)"/>
<field name="date" string="Bill Date" select="1" on_change="onchange_date(partner_id, journal_id, amount, currency_id, type, date, context)"/>
<field name="journal_id" domain="[('type','in',['purchase','purchase_refund'])]" widget="selection" select="1" on_change="onchange_journal(journal_id, line_dr_ids, tax_id, partner_id)"/>
<field name="number"/>
<field name="name" colspan="2"/>

View File

@ -75,7 +75,7 @@ class account_statement_from_invoice_lines(osv.osv_memory):
statement.currency.id, amount, context=ctx)
context.update({'move_line_ids': [line.id]})
result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, price=abs(amount), currency_id= statement.currency.id, ttype=(amount < 0 and 'payment' or 'receipt'), date=line_date, context=context)
result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, price=abs(amount), voucher_currency_id= statement.currency.id, ttype=(amount < 0 and 'payment' or 'receipt'), date=line_date, context=context)
voucher_res = { 'type':(amount < 0 and 'payment' or 'receipt'),
'name': line.name,
'partner_id': line.partner_id.id,

View File

@ -0,0 +1,110 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
"PO-Revision-Date: 2011-08-25 11:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:33+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,description:analytic_journal_billing_rate.module_meta_information
msgid ""
"\n"
"\n"
" This module allows you to define what is the default invoicing rate for "
"a specific journal on a given account. This is mostly used when a user "
"encodes his timesheet: the values are retrieved and the fields are auto-"
"filled... but the possibility to change these values is still available.\n"
"\n"
" Obviously if no data has been recorded for the current account, the "
"default value is given as usual by the account data so that this module is "
"perfectly compatible with older configurations.\n"
"\n"
" "
msgstr ""
"\n"
"\n"
" This module allows you to define the default invoicing rate for a "
"specific journal on a given account. This is mostly used when a user encodes "
"their timesheet: the values are retrieved and the fields are auto-filled... "
"but the possibility to change these values is still available.\n"
"\n"
" Obviously if no data has been recorded for the current account, the "
"default value is given by the account data so that this module is perfectly "
"compatible with older configurations.\n"
"\n"
" "
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
msgstr "Analytic Journal"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
msgid "Invoice"
msgstr "Invoice"
#. module: analytic_journal_billing_rate
#: view:analytic_journal_rate_grid:0
msgid "Billing Rate per Journal for this Analytic Account"
msgstr "Billing Rate per Journal for this Analytic Account"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,account_id:0
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analytic Account"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
msgid "Relation table between journals and billing rates"
msgstr "Relation table between journals and billing rates"
#. module: analytic_journal_billing_rate
#: field:account.analytic.account,journal_rate_ids:0
msgid "Invoicing Rate per Journal"
msgstr "Invoicing Rate per Journal"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
msgid ""
"Analytic Journal Billing Rate, Define the default invoicing rate for a "
"specific journal"
msgstr ""
"Analytic Journal Billing Rate, Define the default invoicing rate for a "
"specific journal"
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr ""
"Error! The currency has to be the same as that of the selected company"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,rate_id:0
msgid "Invoicing Rate"
msgstr "Invoicing Rate"
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr "Error! You can not create recursive analytic accounts."
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
msgid "Timesheet Line"
msgstr "Timesheet Line"

View File

@ -0,0 +1,97 @@
# Finnish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
"PO-Revision-Date: 2011-08-08 07:40+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Finnish <fi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-09 04:50+0000\n"
"X-Generator: Launchpad (build 13628)\n"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,description:analytic_journal_billing_rate.module_meta_information
msgid ""
"\n"
"\n"
" This module allows you to define what is the default invoicing rate for "
"a specific journal on a given account. This is mostly used when a user "
"encodes his timesheet: the values are retrieved and the fields are auto-"
"filled... but the possibility to change these values is still available.\n"
"\n"
" Obviously if no data has been recorded for the current account, the "
"default value is given as usual by the account data so that this module is "
"perfectly compatible with older configurations.\n"
"\n"
" "
msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
msgstr "Analyyttinen päiväkirja"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
msgid "Invoice"
msgstr "Lasku"
#. module: analytic_journal_billing_rate
#: view:analytic_journal_rate_grid:0
msgid "Billing Rate per Journal for this Analytic Account"
msgstr "Veloitushinta päiväkirjoittain tälle analyyttiselle tilille"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,account_id:0
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analyyttinen tili"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
msgid "Relation table between journals and billing rates"
msgstr "Suhdetaulu päiväkirjojen ja veloituhintojen välillä"
#. module: analytic_journal_billing_rate
#: field:account.analytic.account,journal_rate_ids:0
msgid "Invoicing Rate per Journal"
msgstr "Veloitushinta päiväkirjoittain"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
msgid ""
"Analytic Journal Billing Rate, Define the default invoicing rate for a "
"specific journal"
msgstr ""
"Analyyttisen päiväkirjan veloitushinta, määrittele oletushinta tietylle "
"päiväkirjalle"
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr "Virhe! Valuutan tulee olla sama kun valitun yrityksen valutta."
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,rate_id:0
msgid "Invoicing Rate"
msgstr "Laskutushinta"
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr "Virhe! Et voi luoda sisäkkäisiä analyyttisiä tilejä."
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
msgid "Timesheet Line"
msgstr "Tuntilistan rivi"

View File

@ -0,0 +1,116 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
"PO-Revision-Date: 2011-08-25 17:43+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:33+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,product_id:0
msgid "Product"
msgstr "Product"
#. module: analytic_user_function
#: code:addons/analytic_user_function/analytic_user_function.py:96
#: code:addons/analytic_user_function/analytic_user_function.py:131
#, python-format
msgid "Error !"
msgstr "Error !"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_hr_analytic_timesheet
msgid "Timesheet Line"
msgstr "Timesheet Line"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,account_id:0
#: model:ir.model,name:analytic_user_function.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analytic Account"
#. module: analytic_user_function
#: view:account.analytic.account:0
#: field:account.analytic.account,user_product_ids:0
msgid "Users/Products Rel."
msgstr "Users/Products Rel."
#. module: analytic_user_function
#: field:analytic_user_funct_grid,user_id:0
msgid "User"
msgstr "User"
#. module: analytic_user_function
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr ""
"Error! The currency has to be the same as that of the selected company"
#. module: analytic_user_function
#: code:addons/analytic_user_function/analytic_user_function.py:97
#: code:addons/analytic_user_function/analytic_user_function.py:132
#, python-format
msgid "There is no expense account define for this product: \"%s\" (id:%d)"
msgstr "There is no expense account define for this product: \"%s\" (id:%d)"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
msgid "Relation table between users and products on a analytic account"
msgstr "Relation table between users and products on a analytic account"
#. module: analytic_user_function
#: model:ir.module.module,description:analytic_user_function.module_meta_information
msgid ""
"\n"
"\n"
" This module allows you to define what is the default function of a "
"specific user on a given account. This is mostly used when a user encodes "
"his timesheet: the values are retrieved and the fields are auto-filled... "
"but the possibility to change these values is still available.\n"
"\n"
" Obviously if no data has been recorded for the current account, the "
"default value is given as usual by the employee data so that this module is "
"perfectly compatible with older configurations.\n"
"\n"
" "
msgstr ""
"\n"
"\n"
" This module allows you to define the default function of a specific user "
"on a given account. This is mostly used when a user encodes his timesheet: "
"the values are retrieved and the fields are auto-filled... but the "
"possibility to change these values is still available.\n"
"\n"
" Obviously if no data has been recorded for the current account, the "
"default value is given as usual by the employee data so that this module is "
"perfectly compatible with older configurations.\n"
"\n"
" "
#. module: analytic_user_function
#: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information
msgid "Analytic User Function"
msgstr "Analytic User Function"
#. module: analytic_user_function
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr "Error! You can not create recursive analytic accounts."
#. module: analytic_user_function
#: view:analytic_user_funct_grid:0
msgid "User's Product for this Analytic Account"
msgstr "User's Product for this Analytic Account"

View File

@ -37,3 +37,18 @@ anonymization_field_account_invoice_tax_base,account.invoice.tax,base
anonymization_field_product_name,product.template,name
anonymization_field_res_users_name,res.users,name
anonymization_field_res_users_signature,res.users,signature
anonymization_field_res_partner_contact_name,res.partner.contact,name
anonymization_field_res_partner_contact_first_name,res.partner.contact,first_name
anonymization_field_res_partner_contact_maiden_name,res.partner.contact,maiden_name
anonymization_field_res_partner_contact_mobile,res.partner.contact,mobile
anonymization_field_res_partner_contact_email,res.partner.contact,email
anonymization_field_res_partner_job_email,res.partner.job,email
anonymization_field_res_partner_job_phone,res.partner.job,phone
anonymization_field_res_partner_job_fax,res.partner.job,fax
anonymization_field_res_partner_job_other,res.partner.job,other
anonymization_field_crm_phonecall_partner_phone,crm.phonecall,partner_phone
anonymization_field_training_participation_stakeholder_request_email,training.participation.stakeholder.request,email
anonymization_field_training_participation_contact_firstname,training.participation,contact_firstname
anonymization_field_training_participation_contact_lastname,training.participation,contact_lastname
anonymization_field_training_subscription_partner_rh_email,training.subscription,partner_rh_email
anonymization_field_training_subscription_line_job_email,training.subscription.line,job_email

1 id model_name field_name
37 anonymization_field_product_name product.template name
38 anonymization_field_res_users_name res.users name
39 anonymization_field_res_users_signature res.users signature
40 anonymization_field_res_partner_contact_name res.partner.contact name
41 anonymization_field_res_partner_contact_first_name res.partner.contact first_name
42 anonymization_field_res_partner_contact_maiden_name res.partner.contact maiden_name
43 anonymization_field_res_partner_contact_mobile res.partner.contact mobile
44 anonymization_field_res_partner_contact_email res.partner.contact email
45 anonymization_field_res_partner_job_email res.partner.job email
46 anonymization_field_res_partner_job_phone res.partner.job phone
47 anonymization_field_res_partner_job_fax res.partner.job fax
48 anonymization_field_res_partner_job_other res.partner.job other
49 anonymization_field_crm_phonecall_partner_phone crm.phonecall partner_phone
50 anonymization_field_training_participation_stakeholder_request_email training.participation.stakeholder.request email
51 anonymization_field_training_participation_contact_firstname training.participation contact_firstname
52 anonymization_field_training_participation_contact_lastname training.participation contact_lastname
53 anonymization_field_training_subscription_partner_rh_email training.subscription partner_rh_email
54 anonymization_field_training_subscription_line_job_email training.subscription.line job_email

View File

@ -0,0 +1,145 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-25 17:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:33+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: association
#: field:profile.association.config.install_modules_wizard,wiki:0
msgid "Wiki"
msgstr "Wiki"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Event Management"
msgstr "Event Management"
#. module: association
#: field:profile.association.config.install_modules_wizard,project_gtd:0
msgid "Getting Things Done"
msgstr "Getting Things Done"
#. module: association
#: model:ir.module.module,description:association.module_meta_information
msgid "This module is to create Profile for Associates"
msgstr "This module is to create Profile for Associates"
#. module: association
#: field:profile.association.config.install_modules_wizard,progress:0
msgid "Configuration Progress"
msgstr "Configuration Progress"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid ""
"Here are specific applications related to the Association Profile you "
"selected."
msgstr ""
"Here are specific applications related to the Association Profile you "
"selected."
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "title"
msgstr "title"
#. module: association
#: help:profile.association.config.install_modules_wizard,event_project:0
msgid "Helps you to manage and organize your events."
msgstr "Helps you to manage and organise your events."
#. module: association
#: field:profile.association.config.install_modules_wizard,config_logo:0
msgid "Image"
msgstr "Image"
#. module: association
#: help:profile.association.config.install_modules_wizard,hr_expense:0
msgid ""
"Tracks and manages employee expenses, and can automatically re-invoice "
"clients if the expenses are project-related."
msgstr ""
"Tracks and manages employee expenses, and can automatically re-invoice "
"clients if the expenses are project-related."
#. module: association
#: help:profile.association.config.install_modules_wizard,project_gtd:0
msgid ""
"GTD is a methodology to efficiently organise yourself and your tasks. This "
"module fully integrates GTD principle with OpenERP's project management."
msgstr ""
"GTD is a methodology to efficiently organise yourself and your tasks. This "
"module fully integrates GTD principle with OpenERP's project management."
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Resources Management"
msgstr "Resources Management"
#. module: association
#: model:ir.module.module,shortdesc:association.module_meta_information
msgid "Association profile"
msgstr "Association profile"
#. module: association
#: field:profile.association.config.install_modules_wizard,hr_expense:0
msgid "Expenses Tracking"
msgstr "Expenses Tracking"
#. module: association
#: model:ir.actions.act_window,name:association.action_config_install_module
#: view:profile.association.config.install_modules_wizard:0
msgid "Association Application Configuration"
msgstr "Association Application Configuration"
#. module: association
#: help:profile.association.config.install_modules_wizard,wiki:0
msgid ""
"Lets you create wiki pages and page groups in order to keep track of "
"business knowledge and share it with and between your employees."
msgstr ""
"Lets you create wiki pages and page groups to keep track of business "
"knowledge and share it with and between your employees."
#. module: association
#: help:profile.association.config.install_modules_wizard,project:0
msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
#. module: association
#: model:ir.model,name:association.model_profile_association_config_install_modules_wizard
msgid "profile.association.config.install_modules_wizard"
msgstr "profile.association.config.install_modules_wizard"
#. module: association
#: field:profile.association.config.install_modules_wizard,event_project:0
msgid "Events"
msgstr "Events"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
#: field:profile.association.config.install_modules_wizard,project:0
msgid "Project Management"
msgstr "Project Management"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Configure"
msgstr "Configure"

File diff suppressed because it is too large Load Diff

View File

@ -30,8 +30,7 @@
Replaces cleartext passwords in the database with a secure hash
===============================================================
For your existing user base, the removal of the cleartext
passwords occurs the first time a user logs into the database,
after installing base_crypt.
passwords occurs immediately when you instal base_crypt.
All passwords will be replaced by a secure, salted, cryptographic
hash, preventing anyone from reading the original password in
@ -45,7 +44,7 @@ Security Warning
++++++++++++++++
Installing this module does not mean you can ignore other security measures,
as the password is still transmitted unencrypted on the network, unless you
are using a secure protocol such as XML-RPCS.
are using a secure protocol such as XML-RPCS or HTTPS.
It also does not protect the rest of the content of the database, which may
contain critical data. Appropriate security measures need to be implemented
by the system administrator in all areas, such as: protection of database

View File

@ -0,0 +1,86 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-25 11:52+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:33+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: base_crypt
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
msgstr "You can not have two users with the same login !"
#. module: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "res.users"
msgstr "res.users"
#. module: base_crypt
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
msgstr "The chosen company is not in the allowed companies for this user"
#. module: base_crypt
#: code:addons/base_crypt/crypt.py:132
#, python-format
msgid "Please specify the password !"
msgstr "Please specify the password !"
#. module: base_crypt
#: model:ir.module.module,shortdesc:base_crypt.module_meta_information
msgid "Base - Password Encryption"
msgstr "Base - Password Encryption"
#. module: base_crypt
#: code:addons/base_crypt/crypt.py:132
#, python-format
msgid "Error"
msgstr "Error"
#. module: base_crypt
#: model:ir.module.module,description:base_crypt.module_meta_information
msgid ""
"This module replaces the cleartext password in the database with a password "
"hash,\n"
"preventing anyone from reading the original password.\n"
"For your existing user base, the removal of the cleartext passwords occurs "
"the first time\n"
"a user logs into the database, after installing base_crypt.\n"
"After installing this module it won't be possible to recover a forgotten "
"password for your\n"
"users, the only solution is for an admin to set a new password.\n"
"\n"
"Note: installing this module does not mean you can ignore basic security "
"measures,\n"
"as the password is still transmitted unencrypted on the network (by the "
"client),\n"
"unless you are using a secure protocol such as XML-RPCS.\n"
" "
msgstr ""
"This module replaces the cleartext password in the database with a password "
"hash,\n"
"preventing anyone from reading the original password.\n"
"For your existing user base, the removal of the cleartext passwords occurs "
"the first time\n"
"a user logs into the database, after installing base_crypt.\n"
"After installing this module it is impossible to recover a forgotten user\n"
"password, the only solution is for an admin to set a new password.\n"
"\n"
"Note: installing this module does not mean you can ignore basic security "
"measures,\n"
"as the password is still transmitted unencrypted on the network (by the "
"client),\n"
"unless you are using a secure protocol such as XML-RPCS.\n"
" "

View File

@ -31,7 +31,7 @@ The ability to extract the correctly represented local accounts from IBAN accoun
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['account'],
'depends': ['base'],
'init_xml': ['base_iban_data.xml'],
'update_xml': ['base_iban_view.xml'],
'installable': True,

View File

@ -83,14 +83,14 @@ class res_partner_bank(osv.osv):
def create(self, cr, uid, vals, context=None):
#overwrite to format the iban number correctly
if 'iban' in vals and vals['iban']:
vals['iban'] = _format_iban(vals['iban'])
if (vals.get('state',False)=='iban') and vals.get('acc_number', False):
vals['acc_number'] = _format_iban(vals['acc_number'])
return super(res_partner_bank, self).create(cr, uid, vals, context)
def write(self, cr, uid, ids, vals, context=None):
#overwrite to format the iban number correctly
if 'iban' in vals and vals['iban']:
vals['iban'] = _format_iban(vals['iban'])
if (vals.get('state',False)=='iban') and vals.get('acc_number', False):
vals['acc_number'] = _format_iban(vals['acc_number'])
return super(res_partner_bank, self).write(cr, uid, ids, vals, context)
def check_iban(self, cr, uid, ids, context=None):
@ -98,9 +98,9 @@ class res_partner_bank(osv.osv):
Check the IBAN number
'''
for bank_acc in self.browse(cr, uid, ids, context=context):
if not bank_acc.iban:
if bank_acc.state<>'iban':
continue
iban = _format_iban(bank_acc.iban).lower()
iban = _format_iban(bank_acc.acc_number).lower()
if iban[:2] in _iban_len and len(iban) != _iban_len[iban[:2]]:
return False
#the four first digits have to be shifted to the end
@ -122,39 +122,11 @@ class res_partner_bank(osv.osv):
def default_iban_check(iban_cn):
return iban_cn[0] in string.ascii_lowercase and iban_cn[1] in string.ascii_lowercase
iban_country = self.browse(cr, uid, ids)[0].iban[:2]
iban_country = self.browse(cr, uid, ids)[0].acc_number[:2].lower()
if default_iban_check(iban_country):
iban_example = iban_country in _ref_iban and _ref_iban[iban_country] + ' \nWhere A = Account number, B = National bank code, S = Branch code, C = account No, N = branch No, K = National check digits....' or ''
return _('The IBAN does not seem to be correct. You should have entered something like this %s'), (iban_example)
return _('The IBAN is invalid, It should begin with the country code'), ()
def name_get(self, cr, uid, ids, context=None):
res = []
to_check_ids = []
for val in self.browse(cr, uid, ids, context=context):
if val.state=='iban':
iban = _pretty_iban(val.iban or '')
bic = val.bank.bic or ''
res.append((val.id, _('IBAN: %s / BIC: %s') % (iban, bic)))
else:
to_check_ids.append(val.id)
res += super(res_partner_bank, self).name_get(cr, uid, to_check_ids, context=context)
return res
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
#overwrite the search method in order to search not only on bank type == basic account number but also on type == iban
res = super(res_partner_bank,self).search(cr, uid, args, offset, limit, order, context=context, count=count)
if filter(lambda x:x[0]=='acc_number' ,args):
#get the value of the search
iban_value = filter(lambda x:x[0]=='acc_number' ,args)[0][2]
#get the other arguments of the search
args1 = filter(lambda x:x[0]!='acc_number' ,args)
#add the new criterion
args1 += [('iban','ilike',iban_value)]
#append the results to the older search
res += super(res_partner_bank,self).search(cr, uid, args1, offset, limit,
order, context=context, count=count)
return res
return _('The IBAN is invalid, it should begin with the country code'), ()
def get_bban_from_iban(self, cr, uid, ids, context=None):
'''
@ -169,21 +141,23 @@ class res_partner_bank(osv.osv):
'gb': lambda x: x[14:],
}
for record in self.browse(cr, uid, ids, context=context):
if not record.iban:
if not record.acc_number:
res[record.id] = False
continue
res[record.id] = False
for code, function in mapping_list.items():
if record.iban.lower().startswith(code):
res[record.id] = function(record.iban)
if record.acc_number.lower().startswith(code):
res[record.id] = function(record.acc_number)
break
return res
_columns = {
'iban': fields.char('IBAN', size=34, readonly=True, help="International Bank Account Number"),
# Deprecated: we keep it for backward compatibility, to be removed in v7
# We use acc_number instead of IBAN since v6.1, but we keep this field
# to not break community modules.
'iban': fields.related('acc_number', string='IBAN', size=34, readonly=True, help="International Bank Account Number", type="char"),
}
_constraints = [(check_iban, _construct_constraint_msg, ["iban"])]
_constraints = [(check_iban, _construct_constraint_msg, ["acc_number"])]
res_partner_bank()

View File

@ -8,15 +8,10 @@
<record id="bank_iban" model="res.partner.bank.type">
<field name="name">IBAN Account</field>
<field name="code">iban</field>
</record>
<record id="bank_iban_field" model="res.partner.bank.type.field">
<field name="name">iban</field>
<field name="bank_type_id" ref="bank_iban"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
<field name="format_layout">%(bank_name)s: IBAN %(acc_number)s - BIC %(bank_bic)s</field>
</record>
<record id="bank_swift_field" model="res.partner.bank.type.field">
<field name="name">bic</field>
<field name="name">bank_bic</field>
<field name="bank_type_id" ref="bank_iban"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
@ -33,11 +28,5 @@
<field eval="False" name="required"/>
<field eval="False" name="readonly"/>
</record>
<record id="bank_acc_number_field" model="res.partner.bank.type.field">
<field name="name">acc_number</field>
<field name="bank_type_id" ref="bank_iban"/>
<field eval="False" name="required"/>
<field eval="True" name="readonly"/>
</record>
</data>
</openerp>

View File

@ -2,57 +2,5 @@
<openerp>
<data>
<record id="view_partner_bank_iban_form" model="ir.ui.view">
<field name="name">res.partner.bank.form.iban.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<newline/>
<field name="iban"/>
<newline/>
</field>
</field>
</record>
<record id="view_partner_abnk_iban_tree" model="ir.ui.view">
<field name="name">res.partner.bank.tree.iban.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_tree"/>
<field name="type">tree</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<field name="iban"/>
</field>
</field>
</record>
<!-- view for res.partner -->
<record id="view_partner_iban_form" model="ir.ui.view">
<field name="name">res.partner.form.iban.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<newline/>
<field name="iban" attrs="{'invisible':[('state','!=','iban')]}"/>
<newline/>
</field>
</field>
</record>
<record id="view_partner_iban_list" model="ir.ui.view">
<field name="name">res.partner.form.iban.inherit.list</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='bank_ids']/tree/field[@name='acc_number']" position="after">
<field name="iban"/>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,99 @@
# English (United Kingdom) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-08-25 17:41+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-08-26 04:32+0000\n"
"X-Generator: Launchpad (build 13779)\n"
#. module: base_iban
#: model:ir.module.module,shortdesc:base_iban.module_meta_information
msgid "Create IBAN bank accounts"
msgstr "Create IBAN bank accounts"
#. module: base_iban
#: code:addons/base_iban/base_iban.py:120
#, python-format
msgid ""
"The IBAN does not seems to be correct. You should have entered something "
"like this %s"
msgstr ""
"The IBAN appears to be incorrect. You should have entered something like "
"this %s"
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_zip_field
msgid "zip"
msgstr "zip"
#. module: base_iban
#: help:res.partner.bank,iban:0
msgid "International Bank Account Number"
msgstr "International Bank Account Number"
#. module: base_iban
#: model:ir.model,name:base_iban.model_res_partner_bank
msgid "Bank Accounts"
msgstr "Bank Accounts"
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_country_field
msgid "country_id"
msgstr "country_id"
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_swift_field
msgid "bic"
msgstr "bic"
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_iban_field
msgid "iban"
msgstr "iban"
#. module: base_iban
#: code:addons/base_iban/base_iban.py:121
#, python-format
msgid "The IBAN is invalid, It should begin with the country code"
msgstr "The IBAN is invalid, It should begin with the country code"
#. module: base_iban
#: field:res.partner.bank,iban:0
msgid "IBAN"
msgstr "IBAN"
#. module: base_iban
#: model:res.partner.bank.type,name:base_iban.bank_iban
msgid "IBAN Account"
msgstr "IBAN Account"
#. module: base_iban
#: model:ir.module.module,description:base_iban.module_meta_information
msgid ""
"\n"
"This module installs the base for IBAN (International Bank Account Number) "
"bank accounts and checks for its validity.\n"
"\n"
" "
msgstr ""
"\n"
"This module installs the base for IBAN (International Bank Account Number) "
"bank accounts and checks for its validity.\n"
"\n"
" "
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_acc_number_field
msgid "acc_number"
msgstr "acc_number"

View File

@ -8,15 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-09-29 09:27+0000\n"
"Last-Translator: Raimon Esteve (www.zikzakmedia.com) "
"<resteve@zikzakmedia.com>\n"
"PO-Revision-Date: 2011-08-17 21:31+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
"Language-Team: Catalan <ca@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-04-29 05:39+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-23 05:05+0000\n"
"X-Generator: Launchpad (build 13697)\n"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:187
@ -24,24 +23,24 @@ msgstr ""
#: code:addons/base_module_quality/pep8_test/pep8_test.py:274
#, python-format
msgid "Suggestion"
msgstr ""
msgstr "Suggeriment"
#. module: base_module_quality
#: code:addons/base_module_quality/base_module_quality.py:100
#, python-format
msgid "Programming Error"
msgstr ""
msgstr "Error de programació"
#. module: base_module_quality
#: code:addons/base_module_quality/method_test/method_test.py:31
#, python-format
msgid "Method Test"
msgstr ""
msgstr "Test del mètode"
#. module: base_module_quality
#: model:ir.module.module,shortdesc:base_module_quality.module_meta_information
msgid "Base module quality - To check the quality of other modules"
msgstr ""
msgstr "Mòdul base de qualitat - Per comprovar la qualitat d'altres mòduls"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:34
@ -50,35 +49,38 @@ msgid ""
"\n"
"Test checks for fields, views, security rules, dependancy level\n"
msgstr ""
"\n"
"Test per comprovar els camps, vistes, regles de seguretat i nivells de "
"dependència\n"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:127
#, python-format
msgid "O(n) or worst"
msgstr ""
msgstr "O(n) o pitjor"
#. module: base_module_quality
#: selection:module.quality.detail,state:0
msgid "Skipped"
msgstr ""
msgstr "Omès"
#. module: base_module_quality
#: code:addons/base_module_quality/method_test/method_test.py:46
#, python-format
msgid "Module has no objects"
msgstr ""
msgstr "El mòdul no té objectes"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:49
#, python-format
msgid "Speed Test"
msgstr ""
msgstr "Test de velocitat"
#. module: base_module_quality
#: code:addons/base_module_quality/terp_test/terp_test.py:54
#, python-format
msgid "The module does not contain the __openerp__.py file"
msgstr ""
msgstr "El mòdul no conté l'arxiu __openerp__.py"
#. module: base_module_quality
#: code:addons/base_module_quality/method_test/method_test.py:82
@ -91,7 +93,7 @@ msgstr ""
#: code:addons/base_module_quality/workflow_test/workflow_test.py:143
#, python-format
msgid "Object Name"
msgstr ""
msgstr "Nom de l'objecte"
#. module: base_module_quality
#: code:addons/base_module_quality/method_test/method_test.py:54
@ -99,7 +101,7 @@ msgstr ""
#: code:addons/base_module_quality/method_test/method_test.py:68
#, python-format
msgid "Ok"
msgstr ""
msgstr "D'acord"
#. module: base_module_quality
#: code:addons/base_module_quality/terp_test/terp_test.py:34
@ -108,18 +110,20 @@ msgid ""
"This test checks if the module satisfies the current coding standard used by "
"OpenERP."
msgstr ""
"Aquest test comprova si el mòdul satisfà els estàndards de codi actuals "
"d'OpenERP."
#. module: base_module_quality
#: code:addons/base_module_quality/wizard/quality_save_report.py:46
#, python-format
msgid "No report to save!"
msgstr ""
msgstr "No hi ha informe a desar!"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:177
#, python-format
msgid "Result of dependancy in %"
msgstr ""
msgstr "Resultat de la dependència en %"
#. module: base_module_quality
#: help:module.quality.detail,state:0
@ -127,88 +131,90 @@ msgid ""
"The test will be completed only if the module is installed or if the test "
"may be processed on uninstalled module."
msgstr ""
"El test només es podrà completar si el mòdul està instal·lat o si es pot "
"provar amb el mòdul desinstal·lat."
#. module: base_module_quality
#: code:addons/base_module_quality/pylint_test/pylint_test.py:99
#, python-format
msgid "Result (/10)"
msgstr ""
msgstr "Resultat (/10)"
#. module: base_module_quality
#: code:addons/base_module_quality/terp_test/terp_test.py:33
#, python-format
msgid "Terp Test"
msgstr ""
msgstr "Test terp"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:33
#, python-format
msgid "Object Test"
msgstr ""
msgstr "Test objete"
#. module: base_module_quality
#: view:module.quality.detail:0
msgid "Save Report"
msgstr ""
msgstr "Desa l'informe"
#. module: base_module_quality
#: code:addons/base_module_quality/wizard/module_quality_check.py:46
#: model:ir.actions.wizard,name:base_module_quality.create_quality_check_id
#, python-format
msgid "Quality Check"
msgstr ""
msgstr "Comprovar la qualitat"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:128
#, python-format
msgid "Not Efficient"
msgstr ""
msgstr "No és eficient"
#. module: base_module_quality
#: code:addons/base_module_quality/wizard/quality_save_report.py:46
#, python-format
msgid "Warning"
msgstr ""
msgstr "Avís"
#. module: base_module_quality
#: code:addons/base_module_quality/unit_test/unit_test.py:35
#, python-format
msgid "Unit Test"
msgstr ""
msgstr "Test unitari"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:151
#, python-format
msgid "Reading Complexity"
msgstr ""
msgstr "Complexitat de lectura"
#. module: base_module_quality
#: code:addons/base_module_quality/pep8_test/pep8_test.py:267
#, python-format
msgid "Result of pep8_test in %"
msgstr ""
msgstr "Resultat del pep8_test en %"
#. module: base_module_quality
#: field:module.quality.detail,state:0
msgid "State"
msgstr ""
msgstr "Estat"
#. module: base_module_quality
#: code:addons/base_module_quality/unit_test/unit_test.py:50
#, python-format
msgid "Module does not have 'unit_test/test.py' file"
msgstr ""
msgstr "El mòdul no té un fitxer 'unit_test/test.py'"
#. module: base_module_quality
#: field:module.quality.detail,ponderation:0
msgid "Ponderation"
msgstr ""
msgstr "Ponderació"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:177
#, python-format
msgid "Result of Security in %"
msgstr ""
msgstr "Resultat de seguretat en %"
#. module: base_module_quality
#: help:module.quality.detail,ponderation:0
@ -216,40 +222,42 @@ msgid ""
"Some tests are more critical than others, so they have a bigger weight in "
"the computation of final rating"
msgstr ""
"Algunes proves són més crítiques que unes altres, per la qual cosa tenen un "
"major pes en el càlcul de la valoració final."
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:120
#, python-format
msgid "No enough data"
msgstr ""
msgstr "No hi ha dades suficients"
#. module: base_module_quality
#: code:addons/base_module_quality/terp_test/terp_test.py:132
#, python-format
msgid "Result (/1)"
msgstr ""
msgstr "Resultat (/1)"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:151
#, python-format
msgid "N (Number of Records)"
msgstr ""
msgstr "N (Número de registres)"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:133
#, python-format
msgid "No data"
msgstr ""
msgstr "No hi ha dades"
#. module: base_module_quality
#: model:ir.model,name:base_module_quality.model_module_quality_detail
msgid "module.quality.detail"
msgstr ""
msgstr "mòdul.qualitat.detall"
#. module: base_module_quality
#: wizard_field:quality_detail_save,init,module_file:0
msgid "Save report"
msgstr ""
msgstr "Desa informe"
#. module: base_module_quality
#: code:addons/base_module_quality/workflow_test/workflow_test.py:34
@ -258,24 +266,27 @@ msgid ""
"This test checks where object has workflow or not on it if there is a state "
"field and several buttons on it and also checks validity of workflow xml file"
msgstr ""
"Aquest test comprova si l'objecte té un flux de treball, si hi ha un camp "
"d'estat i diversos botons i també comprova la validesa del fitxer xml del "
"flux de treball"
#. module: base_module_quality
#: code:addons/base_module_quality/structure_test/structure_test.py:151
#, python-format
msgid "Result in %"
msgstr ""
msgstr "Resultat en %"
#. module: base_module_quality
#: wizard_view:quality_detail_save,init:0
msgid "Standard entries"
msgstr ""
msgstr "Entrades estàndard"
#. module: base_module_quality
#: code:addons/base_module_quality/pep8_test/pep8_test.py:58
#: code:addons/base_module_quality/pylint_test/pylint_test.py:88
#, python-format
msgid "No python file found"
msgstr ""
msgstr "No s'ha trobat un fitxer Python"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:144
@ -288,7 +299,7 @@ msgstr "Resultat"
#. module: base_module_quality
#: field:module.quality.detail,message:0
msgid "Message"
msgstr ""
msgstr "Missatge"
#. module: base_module_quality
#: view:module.quality.detail:0
@ -298,7 +309,7 @@ msgstr "Detall"
#. module: base_module_quality
#: field:module.quality.detail,note:0
msgid "Note"
msgstr ""
msgstr "Nota"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:85
@ -309,24 +320,28 @@ msgid ""
"wished.\n"
"</html>"
msgstr ""
"<html>O(1) significa que el número de peticions SQL per llegir l'objecte no "
"depèn del número d'objectes que esteu llegint. Aquesta característica seria "
"la més desitjable.\n"
"<html>"
#. module: base_module_quality
#: code:addons/base_module_quality/terp_test/terp_test.py:120
#, python-format
msgid "__openerp__.py file"
msgstr ""
msgstr "fitxer __openerp__.py"
#. module: base_module_quality
#: code:addons/base_module_quality/unit_test/unit_test.py:70
#, python-format
msgid "Status"
msgstr ""
msgstr "Estat"
#. module: base_module_quality
#: view:module.quality.check:0
#: field:module.quality.check,check_detail_ids:0
msgid "Tests"
msgstr ""
msgstr "Tests"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:50
@ -337,12 +352,16 @@ msgid ""
"needed in order to run it.\n"
"\n"
msgstr ""
"\n"
"Aquest test comprova la velocitat del mòdul. Observeu que es necessiten "
"almenys 5 dades de demostració per poder executar-l'ho.\n"
"\n"
#. module: base_module_quality
#: code:addons/base_module_quality/pylint_test/pylint_test.py:71
#, python-format
msgid "Unable to parse the result. Check the details."
msgstr ""
msgstr "No es pot analitzar el resultat. Reviseu els detalls."
#. module: base_module_quality
#: code:addons/base_module_quality/structure_test/structure_test.py:33
@ -351,37 +370,39 @@ msgid ""
"\n"
"This test checks if the module satisfy tiny structure\n"
msgstr ""
"\n"
"Aquest test comprova si el mòdul satisfà l'estructura de tiny.\n"
#. module: base_module_quality
#: code:addons/base_module_quality/structure_test/structure_test.py:151
#: code:addons/base_module_quality/workflow_test/workflow_test.py:136
#, python-format
msgid "Module Name"
msgstr ""
msgstr "Nom del mòdul"
#. module: base_module_quality
#: code:addons/base_module_quality/unit_test/unit_test.py:56
#, python-format
msgid "Error! Module is not properly loaded/installed"
msgstr ""
msgstr "Error! El mòdul no està carregat/instal·lat correctament"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:116
#, python-format
msgid "Error in Read method: %s"
msgstr ""
msgstr "Error en el mètode de lectura:% s"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:138
#, python-format
msgid "Score is below than minimal score(%s%%)"
msgstr ""
msgstr "La puntuació està per sota de la mínima(%s%%)"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:151
#, python-format
msgid "N/2"
msgstr ""
msgstr "N/2"
#. module: base_module_quality
#: code:addons/base_module_quality/method_test/method_test.py:57
@ -389,30 +410,30 @@ msgstr ""
#: code:addons/base_module_quality/method_test/method_test.py:71
#, python-format
msgid "Exception"
msgstr ""
msgstr "Excepció"
#. module: base_module_quality
#: code:addons/base_module_quality/base_module_quality.py:100
#, python-format
msgid "Test Is Not Implemented"
msgstr ""
msgstr "El test no està implementat"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:151
#, python-format
msgid "N"
msgstr ""
msgstr "N"
#. module: base_module_quality
#: model:ir.actions.wizard,name:base_module_quality.quality_detail_save
msgid "Report Save"
msgstr ""
msgstr "Desa informe"
#. module: base_module_quality
#: code:addons/base_module_quality/structure_test/structure_test.py:172
#, python-format
msgid "Feedback about structure of module"
msgstr ""
msgstr "Informació sobre l'estructura del mòdul"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:73
@ -421,6 +442,8 @@ msgid ""
"Given module has no objects.Speed test can work only when new objects are "
"created in the module along with demo data"
msgstr ""
"El mòdul no té objectes. El test de velocitat només pot executar-se quan es "
"creen nous objectes en el mòdul juntament amb dades de demostració"
#. module: base_module_quality
#: code:addons/base_module_quality/pylint_test/pylint_test.py:32
@ -430,28 +453,32 @@ msgid ""
"of Python. See http://www.logilab.org/project/name/pylint for further info.\n"
" "
msgstr ""
"Aquest test utilitza Pylint i comprova si el mòdul satisfà els estàndards de "
"codi Python. Consulteu http://www.logilab.org/project/name/pylint per a més "
"informació.\n"
" "
#. module: base_module_quality
#: code:addons/base_module_quality/workflow_test/workflow_test.py:143
#, python-format
msgid "Feed back About Workflow of Module"
msgstr ""
msgstr "Informació sobre el flux de treball del mòdul"
#. module: base_module_quality
#: code:addons/base_module_quality/workflow_test/workflow_test.py:129
#, python-format
msgid "No Workflow define"
msgstr ""
msgstr "No s'ha definit flux de treball"
#. module: base_module_quality
#: selection:module.quality.detail,state:0
msgid "Done"
msgstr ""
msgstr "Fet"
#. module: base_module_quality
#: wizard_button:quality_detail_save,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Canceŀla"
#. module: base_module_quality
#: code:addons/base_module_quality/pep8_test/pep8_test.py:32
@ -460,11 +487,14 @@ msgid ""
"\n"
"PEP-8 Test , copyright of py files check, method can not call from loops\n"
msgstr ""
"\n"
"Test PEP-8, comprovació del copyright dels fitxers .py i que els mètodes no "
"siguin cridats des de bucles\n"
#. module: base_module_quality
#: field:module.quality.check,final_score:0
msgid "Final Score (%)"
msgstr ""
msgstr "Puntuació final (%)"
#. module: base_module_quality
#: code:addons/base_module_quality/pylint_test/pylint_test.py:61
@ -472,23 +502,25 @@ msgstr ""
msgid ""
"Error. Is pylint correctly installed? (http://pypi.python.org/pypi/pylint)"
msgstr ""
"Error. Està pylint correctament instal·lat? "
"(http://pypi.python.org/pypi/pylint)"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:125
#, python-format
msgid "Efficient"
msgstr ""
msgstr "Eficient"
#. module: base_module_quality
#: field:module.quality.check,name:0
msgid "Rated Module"
msgstr ""
msgstr "Mòdul avaluat"
#. module: base_module_quality
#: code:addons/base_module_quality/workflow_test/workflow_test.py:33
#, python-format
msgid "Workflow Test"
msgstr ""
msgstr "Test del flux de treball"
#. module: base_module_quality
#: code:addons/base_module_quality/unit_test/unit_test.py:36
@ -499,6 +531,10 @@ msgid ""
"'unit_test/test.py' is needed in module.\n"
"\n"
msgstr ""
"\n"
"Aquest test comprova els casos del test unitari (PyUnit) del mòdul. Observeu "
"que és necessari definir 'unit_test/test.py' en el mòdul.\n"
"\n"
#. module: base_module_quality
#: code:addons/base_module_quality/method_test/method_test.py:32
@ -508,58 +544,61 @@ msgid ""
"This test checks if the module classes are raising exception when calling "
"basic methods or not.\n"
msgstr ""
"\n"
"Aquest test comprova si les classes del mòdul estan llançant una excepció o "
"no, quan es crida als mètodes bàsics.\n"
#. module: base_module_quality
#: field:module.quality.detail,detail:0
msgid "Details"
msgstr ""
msgstr "Detalls"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:119
#, python-format
msgid "Warning! Not enough demo data"
msgstr ""
msgstr "Avís! No hi ha suficients dades de demostració."
#. module: base_module_quality
#: code:addons/base_module_quality/pylint_test/pylint_test.py:31
#, python-format
msgid "Pylint Test"
msgstr ""
msgstr "Test Pylint"
#. module: base_module_quality
#: code:addons/base_module_quality/pep8_test/pep8_test.py:31
#, python-format
msgid "PEP-8 Test"
msgstr ""
msgstr "Test PEP-8"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:187
#, python-format
msgid "Field name"
msgstr ""
msgstr "Nom del camp"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:151
#, python-format
msgid "1"
msgstr ""
msgstr "1"
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:132
#, python-format
msgid "Warning! Object has no demo data"
msgstr ""
msgstr "Avís! L'objecte no té dades de demostració"
#. module: base_module_quality
#: code:addons/base_module_quality/terp_test/terp_test.py:140
#, python-format
msgid "Tag Name"
msgstr ""
msgstr "Nom de l'etiqueta"
#. module: base_module_quality
#: wizard_field:quality_detail_save,init,name:0
msgid "File name"
msgstr ""
msgstr "Nom del fitxer"
#. module: base_module_quality
#: model:ir.module.module,description:base_module_quality.module_meta_information
@ -580,51 +619,68 @@ msgid ""
"using it, otherwise it may crash.\n"
" "
msgstr ""
"\n"
"El propòsit d'aquest mòdul és el de comprovar la qualitat d'altres mòduls.\n"
"\n"
"Proporciona un assistent en la llista de mòduls d'OpenERP, el qual li "
"permetrà\n"
"avaluar-los baix diferents criteris com: la conformitat als estàndards\n"
"de codi d'OpenERP, l'eficiència en velocitat, ...\n"
"\n"
"El mòdul també proporciona una plataforma genèrica per definir els seus "
"propis tests de qualitat.\n"
"Per a més informació, els programadors poden mirar "
"base_modul_qualityREADME.txt\n"
"\n"
"AVÍS: Aquest mòdul no pot treballar com a fitxer ZIP, heu de descomprimir-"
"l'ho abans\n"
"d'utilitzar-l'ho, en cas contrari pot fallar.\n"
" "
#. module: base_module_quality
#: model:ir.model,name:base_module_quality.model_module_quality_check
msgid "module.quality.check"
msgstr ""
msgstr "mòdul.qualitat.comprovació"
#. module: base_module_quality
#: field:module.quality.detail,name:0
msgid "Name"
msgstr ""
msgstr "Nom"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:177
#: code:addons/base_module_quality/workflow_test/workflow_test.py:136
#, python-format
msgid "Result of views in %"
msgstr ""
msgstr "Resultat de les vistes en %"
#. module: base_module_quality
#: field:module.quality.detail,score:0
msgid "Score (%)"
msgstr ""
msgstr "Puntuació (%)"
#. module: base_module_quality
#: help:quality_detail_save,init,name:0
msgid "Save report as .html format"
msgstr ""
msgstr "Desa l'informe com a fitxer en format .html"
#. module: base_module_quality
#: code:addons/base_module_quality/base_module_quality.py:269
#, python-format
msgid "The module has to be installed before running this test."
msgstr ""
msgstr "El mòdul ha d'estar instal·lat abans d'executar aquest test."
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:123
#, python-format
msgid "O(1)"
msgstr ""
msgstr "O(1)"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:177
#, python-format
msgid "Result of fields in %"
msgstr ""
msgstr "Resultat dels camps en %"
#. module: base_module_quality
#: code:addons/base_module_quality/unit_test/unit_test.py:70
@ -639,19 +695,19 @@ msgstr "Resum"
#: code:addons/base_module_quality/structure_test/structure_test.py:172
#, python-format
msgid "File Name"
msgstr ""
msgstr "Nom del fitxer"
#. module: base_module_quality
#: code:addons/base_module_quality/pep8_test/pep8_test.py:274
#, python-format
msgid "Line number"
msgstr ""
msgstr "Número de línia"
#. module: base_module_quality
#: code:addons/base_module_quality/structure_test/structure_test.py:32
#, python-format
msgid "Structure Test"
msgstr ""
msgstr "Test d'estructura"
#. module: base_module_quality
#: field:module.quality.detail,quality_check_id:0
@ -662,13 +718,7 @@ msgstr "Qualitat"
#: code:addons/base_module_quality/terp_test/terp_test.py:140
#, python-format
msgid "Feed back About terp file of Module"
msgstr ""
#~ msgid "wizard.quality.check"
#~ msgstr "assistent.qualitat.comprovar"
#~ msgid "Verbose detail"
#~ msgstr "Detall exhaustiu"
msgstr "Informació sobre el fitxer terp del mòdul"
#~ msgid ""
#~ "The Object name must start with x_ and not contain any special character !"
@ -676,14 +726,9 @@ msgstr ""
#~ "El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter "
#~ "especial!"
#~ msgid "General Info"
#~ msgstr "Informació general"
#~ msgid "quality.check.detail"
#~ msgstr "qualitat.comprovar.detall"
#~ msgid "Verbose Detail"
#~ msgstr "Detall exhaustiu"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "XML invàlid per a la definició de la vista!"
#, python-format
#~ msgid "Error in Read method"
#~ msgstr "Error en el mètode de lectura"

View File

@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
# Copyright (C) 2004-2011 OpenERP SA (<http://openerp.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@ -19,84 +19,6 @@
#
##############################################################################
import installer
import wizard
import os
import base64
import random
import tools
from osv import fields, osv
import netsvc
from tools.translate import _
class base_setup_config_choice(osv.osv_memory):
"""
"""
_name = 'base.setup.config'
logger = netsvc.Logger()
def _get_image(self, cr, uid, context=None):
file_no = str(random.randint(1,3))
path = os.path.join('base','res','config_pixmaps/%s.png'%file_no)
file_data = tools.file_open(path,'rb').read()
return base64.encodestring(file_data)
def get_users(self, cr, uid, context=None):
user_obj = self.pool.get('res.users')
user_ids = user_obj.search(cr, uid, [])
user_list = []
user_tmpl_nopass = _(' - %s :\n\t\tLogin : %s')
user_tmpl_pass = _(' - %s :\n\t\tLogin : %s \n\t\tPassword : %s')
for user in user_obj.browse(cr, uid, user_ids, context=context):
if user.password and not user.password.startswith('$'):
user_list.append(user_tmpl_pass % (user.name, user.login, user.password))
else:
user_list.append(user_tmpl_nopass % (user.name, user.login))
return _('The following users have been installed : \n')+ '\n'.join(user_list)
_columns = {
'installed_users':fields.text('Installed Users', readonly=True),
'config_logo' : fields.binary('Image', readonly=True),
}
_defaults = {
'installed_users':get_users,
'config_logo' : _get_image
}
def reset_menu(self, cr, uid, context=None):
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
menu_id = user._get_menu()
user.write({'action_id': False,
'menu_id': menu_id})
return self.pool.get('ir.actions.act_window').browse(cr, uid, menu_id, context=context)
def menu(self, cr, uid, ids, context=None):
menu = self.reset_menu(cr, uid, context=context)
if menu.view_id.id:
view_id = (menu.view_id.id, menu.view_id.name)
else:
view_id = False
return {
'name': menu.name,
'type': menu.type,
'view_id': view_id,
'domain': menu.domain,
'res_model': menu.res_model,
'src_model': menu.src_model,
'view_type': menu.view_type,
'view_mode': menu.view_mode,
'views': menu.views,
}
def config(self, cr, uid, ids, context=None):
self.reset_menu(cr, uid, context=context)
return self.pool.get('res.config').next(cr, uid, [], context=context)
base_setup_config_choice()
import base_setup
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -29,19 +29,15 @@
This module helps to configure the system at the installation of a new database.
================================================================================
It allows you to choose the type of interface and select from a list of applications to install.
Shows you a list of applications features to install from.
It also helps to easily configure your company.
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['base'],
'init_xml': ['base_setup_data.xml'],
'update_xml': ['security/ir.model.access.csv',
'wizard/res_company_logo_view.xml',
'base_setup_installer.xml',
],
'demo_xml': ['base_setup_demo.xml'],
'init_xml': [],
'update_xml': ['security/ir.model.access.csv', 'base_setup_views.xml' ],
'demo_xml': [],
'installable': True,
'active': True,
'certificate': '0086711085869',

Some files were not shown because too many files have changed in this diff Show More