[MERGE]: Merged with trunk-addons.

bzr revid: uco@tinyerp.com-20110915102206-v2ukybagx5jesask
This commit is contained in:
Ujjvala Collins (OpenERP) 2011-09-15 15:52:06 +05:30
commit d40e971a93
5756 changed files with 195927 additions and 187032 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

@ -23,6 +23,7 @@
"version" : "1.1",
"author" : "OpenERP SA",
"category": 'Finance',
'complexity': "normal",
"description": """
Accounting and Financial Management.
====================================
@ -52,7 +53,7 @@ module named account_voucher.
'website': 'http://www.openerp.com',
'images' : ['images/accounts.jpeg','images/bank_statement.jpeg','images/cash_register.jpeg','images/chart_of_accounts.jpeg','images/customer_invoice.jpeg','images/journal_entries.jpeg'],
'init_xml': [],
"depends" : ["product", "analytic", "process","board"],
"depends" : ["base_setup", "product", "analytic", "process","board"],
'update_xml': [
'security/account_security.xml',
'security/ir.model.access.csv',
@ -121,13 +122,15 @@ 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',
'demo/account_invoice_demo.xml',
# 'account_unit_test.xml',
],
'test': [

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,26 +358,26 @@ 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'),
'child_id': fields.function(_get_child_ids, method=True, type='many2many', relation="account.account", string="Child Accounts"),
'balance': fields.function(__compute, digits_compute=dp.get_precision('Account'), method=True, string='Balance', multi='balance'),
'credit': fields.function(__compute, digits_compute=dp.get_precision('Account'), method=True, string='Credit', multi='balance'),
'debit': fields.function(__compute, digits_compute=dp.get_precision('Account'), method=True, string='Debit', multi='balance'),
'child_id': fields.function(_get_child_ids, type='many2many', relation="account.account", string="Child Accounts"),
'balance': fields.function(__compute, digits_compute=dp.get_precision('Account'), string='Balance', multi='balance'),
'credit': fields.function(__compute, digits_compute=dp.get_precision('Account'), string='Credit', multi='balance'),
'debit': fields.function(__compute, digits_compute=dp.get_precision('Account'), string='Debit', multi='balance'),
'reconcile': fields.boolean('Reconcile', help="Check this if the user is allowed to reconcile entries in this account."),
'shortcut': fields.char('Shortcut', size=12),
'tax_ids': fields.many2many('account.tax', 'account_account_tax_default_rel',
'account_id', 'tax_id', 'Default Taxes'),
'note': fields.text('Note'),
'company_currency_id': fields.function(_get_company_currency, method=True, type='many2one', relation='res.currency', string='Company Currency'),
'company_currency_id': fields.function(_get_company_currency, type='many2one', relation='res.currency', string='Company Currency'),
'company_id': fields.many2one('res.company', 'Company', required=True),
'active': fields.boolean('Active', select=2, help="If the active field is set to False, it will allow you to hide the account without removing it."),
@ -390,7 +390,7 @@ class account_account(osv.osv):
'manage this. So if you import from another software system you may have to use the rate at date. ' \
'Incoming transactions always use the rate at date.', \
required=True),
'level': fields.function(_get_level, string='Level', method=True, store=True, type='integer'),
'level': fields.function(_get_level, string='Level', store=True, type='integer'),
}
_defaults = {
@ -587,7 +587,7 @@ class account_journal_column(osv.osv):
_description = "Journal Column"
_columns = {
'name': fields.char('Column Name', size=64, required=True),
'field': fields.selection(_col_get, 'Field Name', method=True, required=True, size=32),
'field': fields.selection(_col_get, 'Field Name', required=True, size=32),
'view_id': fields.many2one('account.journal.view', 'Journal View', select=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order to journal column.", readonly=True),
'required': fields.boolean('Required'),
@ -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,12 +915,19 @@ 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 a fiscal year.')%dt)
raise osv.except_osv(_('Error !'), _('No period defined for this date: %s !\nPlease create one.')%dt)
return ids
def action_draft(self, cr, uid, ids, *args):
@ -985,7 +991,7 @@ class account_journal_period(osv.osv):
'name': fields.char('Journal-Period Name', size=64, required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True, ondelete="cascade"),
'period_id': fields.many2one('account.period', 'Period', required=True, ondelete="cascade"),
'icon': fields.function(_icon_get, method=True, string='Icon', type='char', size=32),
'icon': fields.function(_icon_get, string='Icon', type='char', size=32),
'active': fields.boolean('Active', required=True, help="If the active field is set to False, it will allow you to hide the journal period without removing it."),
'state': fields.selection([('draft','Draft'), ('printed','Printed'), ('done','Done')], 'State', required=True, readonly=True,
help='When journal period is created. The state is \'Draft\'. If a report is printed it comes to \'Printed\' state. When all transactions are done, it comes in \'Done\' state.'),
@ -1139,9 +1145,9 @@ class account_move(osv.osv):
'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}),
'to_check': fields.boolean('To Review', help='Check this box if you are unsure of that journal entry and if you want to note it as \'to be reviewed\' by an accounting expert.'),
'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", store=True),
'amount': fields.function(_amount_compute, method=True, string='Amount', digits_compute=dp.get_precision('Account'), type='float', fnct_search=_search_amount),
'amount': fields.function(_amount_compute, string='Amount', digits_compute=dp.get_precision('Account'), type='float', fnct_search=_search_amount),
'date': fields.date('Date', required=True, states={'posted':[('readonly',True)]}, select=True),
'narration':fields.text('Narration'),
'narration':fields.text('Internal Note'),
'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company', store=True, readonly=True),
}
_defaults = {
@ -1331,6 +1337,7 @@ class account_move(osv.osv):
def _centralise(self, cr, uid, move, mode, context=None):
assert mode in ('debit', 'credit'), 'Invalid Mode' #to prevent sql injection
currency_obj = self.pool.get('res.currency')
if context is None:
context = {}
@ -1381,6 +1388,34 @@ class account_move(osv.osv):
cr.execute('SELECT SUM(%s) FROM account_move_line WHERE move_id=%%s AND id!=%%s' % (mode,), (move.id, line_id2))
result = cr.fetchone()[0] or 0.0
cr.execute('update account_move_line set '+mode2+'=%s where id=%s', (result, line_id))
#adjust also the amount in currency if needed
cr.execute("select currency_id, sum(amount_currency) as amount_currency from account_move_line where move_id = %s and currency_id is not null group by currency_id", (move.id,))
for row in cr.dictfetchall():
currency_id = currency_obj.browse(cr, uid, row['currency_id'], context=context)
if not currency_obj.is_zero(cr, uid, currency_id, row['amount_currency']):
amount_currency = row['amount_currency'] * -1
account_id = amount_currency > 0 and move.journal_id.default_debit_account_id.id or move.journal_id.default_credit_account_id.id
cr.execute('select id from account_move_line where move_id=%s and centralisation=\'currency\' and currency_id = %slimit 1', (move.id, row['currency_id']))
res = cr.fetchone()
if res:
cr.execute('update account_move_line set amount_currency=%s , account_id=%s where id=%s', (amount_currency, account_id, res[0]))
else:
context.update({'journal_id': move.journal_id.id, 'period_id': move.period_id.id})
line_id = self.pool.get('account.move.line').create(cr, uid, {
'name': _('Currency Adjustment'),
'centralisation': 'currency',
'account_id': account_id,
'move_id': move.id,
'journal_id': move.journal_id.id,
'period_id': move.period_id.id,
'date': move.period_id.date_stop,
'debit': 0.0,
'credit': 0.0,
'currency_id': row['currency_id'],
'amount_currency': amount_currency,
}, context)
return True
#
@ -1617,8 +1652,8 @@ class account_tax_code(osv.osv):
'name': fields.char('Tax Case Name', size=64, required=True, translate=True),
'code': fields.char('Case Code', size=64),
'info': fields.text('Description'),
'sum': fields.function(_sum_year, method=True, string="Year Sum"),
'sum_period': fields.function(_sum_period, method=True, string="Period Sum"),
'sum': fields.function(_sum_year, string="Year Sum"),
'sum_period': fields.function(_sum_period, string="Period Sum"),
'parent_id': fields.many2one('account.tax.code', 'Parent Code', select=True),
'child_ids': fields.one2many('account.tax.code', 'parent_id', 'Child Codes'),
'line_ids': fields.one2many('account.move.line', 'tax_code_id', 'Lines'),
@ -2473,7 +2508,7 @@ class account_tax_template(osv.osv):
'name': fields.char('Tax Name', size=64, required=True),
'sequence': fields.integer('Sequence', required=True, help="The sequence field is used to order the taxes lines from lower sequences to higher ones. The order is important if you have a tax that has several tax children. In this case, the evaluation order is important."),
'amount': fields.float('Amount', required=True, digits=(14,4), help="For Tax Type percent enter % ratio between 0-1."),
'type': fields.selection( [('percent','Percent'), ('fixed','Fixed'), ('none','None'), ('code','Python Code')], 'Tax Type', required=True),
'type': fields.selection( [('percent','Percent'), ('fixed','Fixed'), ('none','None'), ('code','Python Code'), ('balance','Balance')], 'Tax Type', required=True),
'applicable_type': fields.selection( [('true','True'), ('code','Python Code')], 'Applicable Type', required=True, help="If not applicable (computed through a Python code), the tax won't appear on the invoice."),
'domain':fields.char('Domain', size=32, help="This field is only used if you develop your own module allowing developers to create specific taxes in a custom domain."),
'account_collected_id':fields.many2one('account.account.template', 'Invoice Tax Account'),
@ -2646,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

@ -137,7 +137,7 @@ class account_bank_statement(osv.osv):
states={'confirm':[('readonly',True)]}),
'balance_end_real': fields.float('Ending Balance', digits_compute=dp.get_precision('Account'),
states={'confirm':[('readonly', True)]}),
'balance_end': fields.function(_end_balance, method=True, string='Balance'),
'balance_end': fields.function(_end_balance, string='Balance'),
'company_id': fields.related('journal_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
'line_ids': fields.one2many('account.bank.statement.line',
'statement_id', 'Statement lines',
@ -149,7 +149,7 @@ class account_bank_statement(osv.osv):
states={'confirm': [('readonly', True)]}, readonly="1",
help='When new statement is created the state will be \'Draft\'. \
\n* And after getting confirmation from the bank it will be in \'Confirmed\' state.'),
'currency': fields.function(_currency, method=True, string='Currency',
'currency': fields.function(_currency, string='Currency',
type='many2one', relation='res.currency'),
'account_id': fields.related('journal_id', 'default_debit_account_id', type='many2one', relation='account.account', string='Account used in this journal', readonly=True, help='used in statement reconciliation domain, but shouldn\'t be used elswhere.'),
}

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

@ -58,7 +58,7 @@ class account_cashbox_line(osv.osv):
_columns = {
'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')),
'number': fields.integer('Number'),
'subtotal': fields.function(_sub_total, method=True, string='Sub Total', type='float', digits_compute=dp.get_precision('Account')),
'subtotal': fields.function(_sub_total, string='Sub Total', type='float', digits_compute=dp.get_precision('Account')),
'starting_id': fields.many2one('account.bank.statement', ondelete='cascade'),
'ending_id': fields.many2one('account.bank.statement', ondelete='cascade'),
}
@ -223,10 +223,10 @@ class account_cash_statement(osv.osv):
[('draft', 'Draft'),
('confirm', 'Closed'),
('open','Open')], 'State', required=True, states={'confirm': [('readonly', True)]}, readonly="1"),
'total_entry_encoding': fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"),
'total_entry_encoding': fields.function(_get_sum_entry_encoding, store=True, string="Cash Transaction", help="Total cash transactions"),
'closing_date': fields.datetime("Closed On"),
'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on Starting Balance and Cash Transactions"),
'balance_end_cash': fields.function(_balance_end_cash, method=True, store=True, string='Balance', help="Closing balance based on cashBox"),
'balance_end': fields.function(_end_balance, store=True, string='Balance', help="Closing balance based on Starting Balance and Cash Transactions"),
'balance_end_cash': fields.function(_balance_end_cash, store=True, string='Balance', help="Closing balance based on cashBox"),
'starting_details_ids': fields.one2many('account.cashbox.line', 'starting_id', string='Opening Cashbox'),
'ending_details_ids': fields.one2many('account.cashbox.line', 'ending_id', string='Closing Cashbox'),
'name': fields.char('Name', size=64, required=True, states={'draft': [('readonly', False)]}, readonly=True, help='if you give the Name other then /, its created Accounting Entries Move will be with same name as statement name. This allows the statement entries to have the same references than the statement itself'),

View File

@ -19,9 +19,9 @@
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>23</attribute>
<attribute name='string'></attribute>
<xpath expr="//separator[@string=&quot;vsep&quot;]" position="attributes">
<attribute name="rowspan">23</attribute>
<attribute name="string"/>
</xpath>
<group colspan="8">
<group colspan="4" width="600">
@ -45,35 +45,20 @@
<record id="view_account_modules_installer" model="ir.ui.view">
<field name="name">account.installer.modules.form</field>
<field name="model">account.installer.modules</field>
<field name="model">base.setup.installer</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_installer"/>
<field name="inherit_id" ref="base_setup.view_base_setup_installer"/>
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Accounting Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Configure Your Accounting Application</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Add extra Accounting functionalities to the ones already installed.</attribute>
<xpath expr="//group[@name='account_accountant']" position="replace">
<newline/>
<separator string="Accounting &amp; Finance Features" colspan="4"/>
<field name="account_followup"/>
<field name="account_payment"/>
<field name="account_analytic_plans"/>
<field name="account_anglo_saxon"/>
<field name="account_asset"/>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<group colspan="8">
<field name="account_voucher"/>
<field name="account_followup"/>
<field name="account_payment"/>
<field name="account_analytic_plans"/>
<field name="account_anglo_saxon"/>
<!-- <field name="account_voucher_payment"/>-->
</group>
</data>
</field>
</record>
@ -88,27 +73,16 @@
<field name="target">new</field>
</record>
<record id="action_account_installer" model="ir.actions.act_window">
<field name="name">Accounting Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.installer.modules</field>
<field name="view_id" ref="view_account_modules_installer"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record id="category_accounting_configuration" model="ir.actions.todo.category">
<field name="name">Accounting</field>
<field name="sequence">5</field>
</record>
<record id="account_configuration_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_account_configuration_installer"/>
<field name="category_id" ref="category_accounting_configuration"/>
<field name="sequence">3</field>
<field name="restart">onskip</field>
</record>
<record id="account_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_account_installer"/>
<field name="sequence">5</field>
<field name="restart">always</field>
<field eval="[(6,0,[ref('base.group_extended')])]" name="groups_id"/>
<field name="type">automatic</field>
</record>
</data>

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, {'company_id': 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, {'company_id': 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>
@ -119,7 +115,7 @@
<field name="model">account.invoice</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');black:state in ('proforma','proforma2','open');gray:state in ('cancel')" string="Invoice">
<tree colors="blue:state == 'draft';black:state in ('proforma','proforma2','open');gray:state == 'cancel'" string="Invoice">
<field name="date_invoice"/>
<field name="number"/>
<field name="partner_id" groups="base.group_user"/>
@ -175,7 +171,7 @@
<field name="check_total" required="2"/>
<field colspan="4" default_get="{'check_total': check_total, 'invoice_line': invoice_line, 'address_invoice_id': address_invoice_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False}" name="invoice_line" context="{'type': type}" nolabel="1">
<tree string="Invoice lines">
<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, {'company_id': parent.company_id})"/>
<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 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="invoice_line_tax_id" view_mode="2" context="{'type':parent.type}" domain="[('parent_id','=',False)]"/>
<field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
@ -203,7 +199,7 @@
</field>
</group>
<group col="4" colspan="2">
<button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" icon="terp-stock_format-scientific"/>
<button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" icon="terp-stock_format-scientific" help="This action will erase taxes"/>
<field name="amount_untaxed"/>
<label string="" colspan="2"/>
<field name="amount_tax"/>
@ -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"/>
@ -297,7 +294,7 @@
</field>
</group>
<group col="4" colspan="2">
<button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" groups="base.group_user" icon="terp-stock_format-scientific"/>
<button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" groups="base.group_user" icon="terp-stock_format-scientific" help="This action will erase taxes"/>
<field name="amount_untaxed"/>
<label string="" colspan="2"/>
<field name="amount_tax"/>
@ -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"/>
@ -378,10 +376,6 @@
<field name="period_id" select='1' string="Period"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." name = "extended filter" >
<field name="reference" select="1" string="Invoice Reference"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>

View File

@ -16,7 +16,7 @@
<menuitem id="periodical_processing_journal_entries_validation" name="Draft Entries" parent="menu_finance_periodical_processing"/>
<menuitem id="periodical_processing_reconciliation" name="Reconciliation" parent="menu_finance_periodical_processing"/>
<menuitem id="periodical_processing_invoicing" name="Invoicing" parent="menu_finance_periodical_processing"/>
<menuitem id="menu_finance_charts" name="Charts" parent="menu_finance" sequence="6"/>
<menuitem id="menu_finance_charts" name="Charts" parent="menu_finance" groups="account.group_account_user" sequence="6"/>
<menuitem id="menu_finance_reporting" name="Reporting" parent="account.menu_finance" sequence="13"/>
<menuitem id="menu_finance_reporting_budgets" name="Budgets" parent="menu_finance_reporting" groups="group_account_user"/>
<menuitem id="menu_finance_legal_statement" name="Legal Reports" parent="menu_finance_reporting"/>

View File

@ -483,14 +483,14 @@ class account_move_line(osv.osv):
'credit': fields.float('Credit', digits_compute=dp.get_precision('Account')),
'account_id': fields.many2one('account.account', 'Account', required=True, ondelete="cascade", domain=[('type','<>','view'), ('type', '<>', 'closed')], select=2),
'move_id': fields.many2one('account.move', 'Move', ondelete="cascade", help="The move of this entry line.", select=2, required=True),
'narration': fields.related('move_id','narration', type='text', relation='account.move', string='Narration'),
'narration': fields.related('move_id','narration', type='text', relation='account.move', string='Internal Note'),
'ref': fields.related('move_id', 'ref', string='Reference', type='char', size=64, store=True),
'statement_id': fields.many2one('account.bank.statement', 'Statement', help="The bank statement used for bank reconciliation", select=1),
'reconcile_id': fields.many2one('account.move.reconcile', 'Reconcile', readonly=True, ondelete='set null', select=2),
'reconcile_partial_id': fields.many2one('account.move.reconcile', 'Partial Reconcile', readonly=True, ondelete='set null', select=2),
'amount_currency': fields.float('Amount Currency', help="The amount expressed in an optional other currency if it is a multi-currency entry.", digits_compute=dp.get_precision('Account')),
'amount_residual_currency': fields.function(_amount_residual, method=True, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."),
'amount_residual': fields.function(_amount_residual, method=True, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."),
'amount_residual_currency': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."),
'amount_residual': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."),
'currency_id': fields.many2one('res.currency', 'Currency', help="The optional other currency if it is a multi-currency entry."),
'period_id': fields.many2one('account.period', 'Period', required=True, select=2),
'journal_id': fields.many2one('account.journal', 'Journal', required=True, select=1),
@ -503,19 +503,17 @@ class account_move_line(osv.osv):
}),
'date_created': fields.date('Creation date', select=True),
'analytic_lines': fields.one2many('account.analytic.line', 'move_id', 'Analytic lines'),
'centralisation': fields.selection([('normal','Normal'),('credit','Credit Centralisation'),('debit','Debit Centralisation')], 'Centralisation', size=6),
'balance': fields.function(_balance, fnct_search=_balance_search, method=True, string='Balance'),
'centralisation': fields.selection([('normal','Normal'),('credit','Credit Centralisation'),('debit','Debit Centralisation'),('currency','Currency Adjustment')], 'Centralisation', size=8),
'balance': fields.function(_balance, fnct_search=_balance_search, string='Balance'),
'state': fields.selection([('draft','Unbalanced'), ('valid','Valid')], 'State', readonly=True,
help='When new move line is created the state will be \'Draft\'.\n* When all the payments are done it will be in \'Valid\' state.'),
'tax_code_id': fields.many2one('account.tax.code', 'Tax Account', help="The Account can either be a base tax code or a tax code account."),
'tax_amount': fields.float('Tax/Base Amount', digits_compute=dp.get_precision('Account'), select=True, help="If the Tax account is a tax code account, this field will contain the taxed amount.If the tax account is base tax code, "\
"this field will contain the basic amount(without tax)."),
'invoice': fields.function(_invoice, method=True, string='Invoice',
'invoice': fields.function(_invoice, string='Invoice',
type='many2one', relation='account.invoice', fnct_search=_invoice_search),
'account_tax_id':fields.many2one('account.tax', 'Tax'),
'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'),
#TODO: remove this
#'amount_taxed':fields.float("Taxed Amount", digits_compute=dp.get_precision('Account')),
'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True)
}

View File

@ -19,7 +19,6 @@
rml="account/report/account_print_invoice.rml"
string="Invoices"
attachment="(object.state in ('open','paid')) and ('INV'+(object.number or '').replace('/',''))"
attachment_use="1"
multi="True"/>
<report id="account_transfers" model="account.transfer" name="account.transfer" string="Transfers" xml="account/report/transfer.xml" xsl="account/report/transfer.xsl"/>
<report auto="False" id="account_intracom" menu="False" model="account.move.line" name="account.intracom" string="IntraCom"/>

View File

@ -44,7 +44,7 @@
<field name="model">account.fiscalyear</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');gray:state in ('done') " string="Fiscalyear">
<tree colors="blue:state == 'draft';gray:state == 'done' " string="Fiscalyear">
<field name="code"/>
<field name="name"/>
<field name="company_id" groups="base.group_multi_company"/>
@ -111,7 +111,7 @@
<field name="model">account.period</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');gray:state in ('done') " string="Period">
<tree colors="blue:state == 'draft';gray:state == 'done' " string="Period">
<field name="name"/>
<field name="code"/>
<field name="date_start"/>
@ -228,7 +228,7 @@
<field name="type">tree</field>
<field name="field_parent">child_id</field>
<field name="arch" type="xml">
<tree colors="blue:type in ('view');black:type in ('other','receivable','payable','consolidation');gray:type in ('closed')" string="Chart of accounts" toolbar="1" >
<tree colors="blue:type == 'view';black:type in ('other','receivable','payable','consolidation');gray:type == 'closed'" string="Chart of accounts" toolbar="1" >
<field name="code"/>
<field name="name"/>
<field name="parent_id" invisible="1"/>
@ -271,7 +271,7 @@
<field name="type">tree</field>
<field name="field_parent">child_id</field>
<field name="arch" type="xml">
<tree colors="blue:type in ('view');black:type in ('other','receivable','payable','consolidation');gray:type in ('closed')" string="Chart of accounts" toolbar="1" >
<tree colors="blue:type == 'view';black:type in ('other','receivable','payable','consolidation');gray:type == 'closed'" string="Chart of accounts" toolbar="1" >
<field name="code"/>
<field name="name"/>
<field name="debit"/>
@ -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
-->
@ -776,7 +776,7 @@
<field name="model">account.move</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');black:state in ('posted')" string="Journal Entries">
<tree colors="blue:state == 'draft';black:state == 'posted'" string="Journal Entries">
<field name="name"/>
<field name="ref"/>
<field name="date"/>
@ -897,6 +897,7 @@
<field name="name"/>
<field name="price_include" groups="base.group_extended"/>
<field name="description"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</tree>
</field>
</record>
@ -909,6 +910,7 @@
<group col="10" colspan="4">
<field name="name"/>
<field name="description"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
</search>
</field>
@ -1005,7 +1007,7 @@
<field name="type">tree</field>
<field eval="4" name="priority"/>
<field name="arch" type="xml">
<tree colors="red:state in ('draft');black:state in ('valid')" string="Journal Items" editable="top" on_write="on_create_write">
<tree colors="red:state == 'draft';black:state == 'valid'" string="Journal Items" editable="top" on_write="on_create_write">
<field name="date"/>
<field name="period_id"/>
<field name="move_id"/>
@ -1097,7 +1099,7 @@
<separator colspan="2" string="Analytic"/>
<field name="analytic_account_id" domain="[('parent_id','!=',False)]" groups="analytic.group_analytic_accounting"/>
</group>
<separator string="Narration" colspan="4"/>
<separator string="Internal Note" colspan="4"/>
<field name="narration" colspan="4" nolabel="1"/>
</page>
<page string="Analytic Lines" groups="base.group_analytic_accounting">
@ -1199,13 +1201,6 @@
<field name="period_id" context="{'period_id':self, 'search_default_period_id':self}"/>
</group>
<newline/>
<group expand="0" string="Extended Filters...">
<field name="ref" select="1" string="Reference"/>
<field name="name" select="1"/>
<field name="narration" select="1"/>
<field name="balance" string="Debit/Credit" select='1'/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="12" col="10">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
@ -1224,7 +1219,7 @@
<field name="res_model">account.move.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_posted': 1}</field>
<field name="context">{}</field>
<field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="help">This view can be used by accountants in order to quickly record entries in OpenERP. If you want to record a supplier invoice, start by recording the line of the expense account. OpenERP will propose to you automatically the Tax related to this account and the counterpart "Account Payable".</field>
</record>
@ -1264,8 +1259,8 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="domain">[('account_id', 'child_of', active_id)]</field>
<field name="context">{'account_id':active_id}</field>
<field name="domain">[]</field>
<field name="context">{'search_default_account_id': [active_id]}</field>
</record>
<record id="ir_account_move_line_select" model="ir.values">
@ -1295,7 +1290,7 @@
<field name="model">account.move</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');black:state in ('posted')" string="Journal Entries">
<tree colors="blue:state == 'draft';black:state == 'posted'" string="Journal Entries">
<field name="name"/>
<field name="ref"/>
<field name="date"/>
@ -1392,7 +1387,7 @@
<separator colspan="2" string="Analytic"/>
<field name="analytic_account_id" domain="[('parent_id','!=',False)]" groups="analytic.group_analytic_accounting"/>
</group>
<separator string="Narration" colspan="4"/>
<separator string="Internal Note" colspan="4"/>
<field name="narration" colspan="4" nolabel="1"/>
</page>
<page string="Analytic Lines" groups="base.group_analytic_accounting">
@ -1400,7 +1395,7 @@
</page>
</notebook>
</form>
<tree colors="blue:state in ('draft');black:state in ('posted')" editable="top" string="Journal Items">
<tree colors="blue:state == 'draft';black:state == 'posted'" editable="top" string="Journal Items">
<field name="ref"/>
<field name="invoice"/>
<field name="name"/>
@ -1419,12 +1414,12 @@
<field name="reconcile_partial_id" groups="base.group_extended"/>
</tree>
</field>
<separator colspan="4" string="Narration"/>
<separator colspan="4" string="Internal Note"/>
<field name="narration" colspan="4" nolabel="1" height="50"/>
<group col="4" colspan="4">
<field name="state" select="1"/>
<button name="button_cancel" states="posted" string="Cancel" type="object" icon="gtk-cancel"/>
<button name="button_validate" states="draft" string="Approve" type="object" icon="terp-camera_test"/>
<button name="button_validate" states="draft" string="Post" type="object" icon="terp-camera_test"/>
</group>
</page>
</notebook>
@ -1565,7 +1560,7 @@
<field name="model">account.journal.period</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');gray:state in ('done');black:state in ('printed')" string="Journals">
<tree colors="blue:state == 'draft';gray:state == 'done';black:state == 'printed'" string="Journals">
<field icon="icon" name="fiscalyear_id"/>
<field name="period_id"/>
<field name="journal_id"/>
@ -1821,7 +1816,7 @@
<field name="model">account.subscription</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');gray:state in ('done');black:state in ('running')" string="Entry Subscription">
<tree colors="blue:state == 'draft';gray:state == 'done';black:state == 'running'" string="Entry Subscription">
<field name="name"/>
<field name="model_id"/>
<field name="ref"/>
@ -1951,7 +1946,7 @@
<field name="type">tree</field>
<field eval="4" name="priority"/>
<field name="arch" type="xml">
<tree colors="red:state in ('draft');black:state in ('valid')" string="Journal Items">
<tree colors="red:state == 'draft';black:state == 'valid'" string="Journal Items">
<field name="date"/>
<field name="move_id"/>
<field name="statement_id" string="St."/>
@ -2431,10 +2426,10 @@
<field name="model_id" ref="base.model_ir_actions_todo"/>
<field eval="5" name="sequence"/>
<field name="code">
act_window_ids = self.pool.get('ir.actions.act_window').search(cr, uid,[('name', 'in', ('Accounting Chart Configuration', 'Generate Chart of Accounts from a Chart Template'))], context=context)
todo_ids = self.pool.get('ir.actions.todo').search(cr, uid, [('action_id', 'in', act_window_ids)], context=context)
self.pool.get('ir.actions.todo').write(cr, uid, todo_ids, {'state':'open'}, context=context)
action = self.pool.get('res.config').next(cr, uid, [], context)
act_window_ids = pool.get('ir.actions.act_window').search(cr, uid,[('name', 'in', ('Accounting Chart Configuration', 'Generate Chart of Accounts from a Chart Template'))], context=context)
todo_ids = pool.get('ir.actions.todo').search(cr, uid, [('action_id', 'in', act_window_ids)], context=context)
pool.get('ir.actions.todo').write(cr, uid, todo_ids, {'state':'open'}, context=context)
action = pool.get('res.config').next(cr, uid, [], context)
</field>
<field name="name">New Company Financial Setting</field>
</record>
@ -2535,7 +2530,7 @@ action = self.pool.get('res.config').next(cr, uid, [], context)
<field name="model">account.bank.statement</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="red:balance_end_real!=balance_end;blue:state=='draft' and (balance_end_real==balance_end);black:state in ('open')" string="Statement">
<tree colors="red:balance_end_real!=balance_end;blue:state=='draft' and (balance_end_real==balance_end);black:state == 'open'" string="Statement">
<field name="name"/>
<field name="date"/>
<field name="period_id"/>

View File

@ -1,11 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="note_account_type" model="board.note.type">
<field name="name">Accountants</field>
</record>
<record id="action_aged_receivable" model="ir.actions.act_window">
<field name="name">Receivable Accounts</field>
<field name="res_model">report.account.receivable</field>

View File

@ -30,19 +30,19 @@ class res_company(osv.osv):
type='many2one',
relation='account.account',
string="Reserve and Profit/Loss Account",
method=True,
view_load=True,
domain="[('type', '=', 'other')]",
help="This Account is used for transferring Profit/Loss(If It is Profit: Amount will be added, Loss : Amount will be deducted.), Which is calculated from Profit & Loss Report"),
}
_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

@ -22,12 +22,9 @@
<field name="model">res.company</field>
<field name="type">form</field>
<field name="arch" type="xml">
<page string="Configuration" position="inside">
<group col="2" colspan="2">
<separator string="Reserve And Profit/Loss Account" colspan="2"/>
<field name="currency_id" position="after">
<field name="property_reserve_and_surplus_account" colspan="2"/>
</group>
</page>
</field>
</field>
</record>

View File

@ -1,15 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Types -->
<record model="account.account.type" id="conf_account_type_receivable" >
<record model="account.account.type" id="conf_account_type_receivable">
<field name="name">Receivable</field>
<field name="code">receivable</field>
<field name="report_type">income</field>
<field name="close_method">unreconciled</field>
</record>
<record model="account.account.type" id="conf_account_type_payable" >
<record model="account.account.type" id="conf_account_type_payable">
<field name="name">Payable</field>
<field name="code">payable</field>
<field name="report_type">expense</field>
@ -43,7 +42,7 @@
<field name="report_type">liability</field>
</record>
<record model="account.account.type" id="conf_account_type_income" >
<record model="account.account.type" id="conf_account_type_income">
<field name="name">Income</field>
<field name="code">income</field>
<field name="report_type">income</field>
@ -591,15 +590,15 @@
<record id="fiscal_position_normal_taxes" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_normal_taxes_template1" />
<field name="tax_src_id" ref="itaxs" />
<field name="tax_dest_id" ref="otaxs" />
<field name="position_id" ref="fiscal_position_normal_taxes_template1"/>
<field name="tax_src_id" ref="itaxs"/>
<field name="tax_dest_id" ref="otaxs"/>
</record>
<record id="fiscal_position_tax_exempt" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_tax_exempt_template2" />
<field name="tax_src_id" ref="itaxx" />
<field name="tax_dest_id" ref="otaxx" />
<field name="position_id" ref="fiscal_position_tax_exempt_template2"/>
<field name="tax_src_id" ref="itaxx"/>
<field name="tax_dest_id" ref="otaxx"/>
</record>
@ -612,12 +611,12 @@
<record id="conf_a_expense" model="account.account.template">
<field name="tax_ids" eval="[(6,0,[ref('otaxs')])]"/>
</record>
<record id="action_wizard_multi_chart_todo" model="ir.actions.todo">
<field name="name">Generate Chart of Accounts from a Chart Template</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
<field name="state">open</field>
<field name="restart">onskip</field>
<field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>

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

@ -0,0 +1,50 @@
<?xml version="1.0" ?>
<openerp>
<data noupdate="1">
<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"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_wong"/>
<field name="user_id" ref="base.user_demo"/>
<field name="address_contact_id" ref="base.res_partner_address_wong"/>
<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-06-01</field>
<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="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 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 name="invoice_line_tax_id" eval="[(6,0,[])]"/>
<field name="product_id" ref="product.product_product_rearpanelarm0"/>
<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="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 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 name="invoice_line_tax_id" eval="[(6,0,[])]"/>
<field name="product_id" ref="product.product_product_shelf1"/>
<field name="quantity" eval="1.0" />
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RCK200] Rack 200cm</field>
</record>
</data>
</openerp>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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-07 04:35+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Launchpad-Export-Date: 2011-09-05 05:19+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@ -859,6 +859,7 @@ msgstr ""
#. module: account
#: report:account.overdue:0
#: report:account.aged_trial_balance:0
msgid "Due"
msgstr ""
@ -950,6 +951,10 @@ msgstr ""
#: 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 ""
@ -1269,6 +1274,7 @@ msgstr ""
#. module: account
#: model:ir.ui.menu,name:account.next_id_22
#: report:account.aged_trial_balance:0
msgid "Partners"
msgstr ""
@ -2112,6 +2118,11 @@ msgstr ""
#: 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 ""
@ -4492,6 +4503,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 ""
@ -4608,6 +4624,8 @@ msgstr ""
#: 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 ""
@ -6280,6 +6298,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 ""
@ -7468,6 +7488,11 @@ msgstr ""
#: 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 ""
@ -7583,6 +7608,10 @@ msgstr ""
#: 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 ""
@ -8120,6 +8149,7 @@ msgstr ""
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
#: report:account.aged_trial_balance:0
msgid "Analysis Direction"
msgstr ""
@ -8236,6 +8266,10 @@ msgstr ""
#: 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 ""
@ -8247,6 +8281,10 @@ msgstr ""
#. 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 ""
@ -8547,6 +8585,7 @@ msgstr ""
#: 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 ""
@ -9017,6 +9056,7 @@ msgstr ""
#: 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 ""
@ -9515,6 +9555,7 @@ msgstr ""
#: 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 ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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-05-17 07:59+0000\n"
"Last-Translator: Frederic Clementi - Camptocamp.com <Unknown>\n"
"PO-Revision-Date: 2011-07-23 19:29+0000\n"
"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ <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-05-18 04:37+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Launchpad-Export-Date: 2011-09-05 05:13+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: account
#: code:addons/account/account.py:1305
@ -61,9 +61,6 @@ msgstr ""
"Vous devez définir le compte bancaire\n"
"dans la définition du journal pour le rapprochement."
#~ msgid "All account entries"
#~ msgstr "Toutes les écritures de compte"
#, python-format
#~ msgid "The opening journal must not have any entry in the new fiscal year !"
#~ msgstr ""
@ -367,7 +364,7 @@ msgstr "Solde théorique"
#: model:ir.actions.act_window,name:account.action_view_account_use_model
#: model:ir.ui.menu,name:account.menu_action_manual_recurring
msgid "Manual Recurring"
msgstr "Entrée récurrente"
msgstr "Écritures récurrentes manuelles"
#. module: account
#: view:account.fiscalyear.close.state:0
@ -971,6 +968,7 @@ msgstr "Créer des périodes trimestrielles"
#. module: account
#: report:account.overdue:0
#: report:account.aged_trial_balance:0
msgid "Due"
msgstr "Due"
@ -1065,6 +1063,10 @@ msgstr "Modèle d'écritures"
#: 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 "Code"
@ -1392,6 +1394,7 @@ msgstr "Analyse des écritures comptables"
#. module: account
#: model:ir.ui.menu,name:account.next_id_22
#: report:account.aged_trial_balance:0
msgid "Partners"
msgstr "Partenaires"
@ -2284,6 +2287,11 @@ msgstr "Modèle de produit"
#: 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 "Exercice fiscal"
@ -2764,7 +2772,7 @@ msgstr "Clients"
#: report:account.analytic.account.journal:0
#: report:account.analytic.account.quantity_cost_ledger:0
msgid "Period to"
msgstr "Depuis"
msgstr "Période jusqu'au"
#. module: account
#: selection:account.entries.report,month:0
@ -3033,7 +3041,7 @@ msgstr "Vue"
#: code:addons/account/account.py:2951
#, python-format
msgid "BNK%s"
msgstr ""
msgstr "BNK%s"
#. module: account
#: code:addons/account/account.py:2950
@ -4706,7 +4714,7 @@ msgstr "Grouper les lignes de facture"
#: view:account.invoice.cancel:0
#: view:account.invoice.confirm:0
msgid "Close"
msgstr "Clôturé"
msgstr "Fermer"
#. module: account
#: field:account.bank.statement.line,move_ids:0
@ -4755,7 +4763,7 @@ msgstr "Comptes de taxe enfant"
#: code:addons/account/account.py:954
#, python-format
msgid "Start period should be smaller then End period"
msgstr "La date de début de la période doit être avant la date de fin"
msgstr "La période de début doit précéder la période de fin"
#. module: account
#: selection:account.automatic.reconcile,power:0
@ -4795,6 +4803,11 @@ msgstr "Balance Analytique -"
#: 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 "Mouvements Cibles"
@ -4911,6 +4924,8 @@ msgstr "Résultat du lettrage"
#: 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 "Bilan"
@ -6685,6 +6700,8 @@ msgstr "Plan de taxes comptables"
#: 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 "Total :"
@ -8008,6 +8025,11 @@ msgstr "Devise société"
#: 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 "Plan comptable"
@ -8129,6 +8151,10 @@ msgstr "Journal d'avoirs"
#: 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 "Filtré par"
@ -8687,7 +8713,7 @@ msgstr ""
#: field:account.period,date_stop:0
#: model:ir.ui.menu,name:account.menu_account_end_year_treatments
msgid "End of Period"
msgstr "Fin de Période"
msgstr "Fin de période"
#. module: account
#: field:account.installer.modules,account_followup:0
@ -8716,6 +8742,7 @@ msgstr "Impossible de trouver le code parent pour le compte modèle !"
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
#: report:account.aged_trial_balance:0
msgid "Analysis Direction"
msgstr "Direction d'Analyse"
@ -8842,6 +8869,10 @@ msgstr "Laisser vide pour utiliser le compte de revenu"
#: 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 "Solde de la balance"
@ -8853,6 +8884,10 @@ msgstr "Saisi manuellement ou automatiquement dans le système"
#. 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 "Afficher le compte"
@ -9168,6 +9203,7 @@ msgstr "Écriture d'abonnement"
#: 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 "Date de début"
@ -9591,7 +9627,7 @@ msgstr "Validé"
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,date_to:0
msgid "End Date"
msgstr "Date de Fin"
msgstr "Date de fin"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_open_closed_fiscalyear
@ -9669,6 +9705,7 @@ msgstr "États"
#: 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 "Total"
@ -9937,7 +9974,7 @@ msgstr ""
#: selection:account.pl.report,display_account:0
#: selection:account.report.general.ledger,display_account:0
msgid "With movements"
msgstr "avec mouvements"
msgstr "Avec mouvements"
#. module: account
#: view:account.analytic.account:0
@ -10188,6 +10225,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 "Du partenaire"
@ -10327,12 +10365,6 @@ msgstr ""
"exprimée dans la devise du journal (si elle est différente de la devise de "
"la société)"
#~ msgid "Keep empty to use the period of the validation date."
#~ msgstr "Laissez vide pour utiliser la période de la date de validation"
#~ msgid "Error! You can not create recursive account."
#~ msgstr "Erreur! Vous ne pouvez pas créer de comptes récursifs"
#~ msgid "Aged Trial Balance"
#~ msgstr "Balance Agée"
@ -10364,16 +10396,6 @@ msgstr ""
#~ msgid "Invoice Movement"
#~ msgstr "Écriture de facturation"
#~ msgid ""
#~ "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."
#~ msgstr ""
#~ "Si vous utilisez les termes de paiement, la date de livraison sera calculée "
#~ "automatiquement lors de la génération des entrées comptables. Si vous "
#~ "laissez les termes de paiement et la date de livraison vides, cela indique "
#~ "un paiement direct."
#~ msgid "Credit Trans."
#~ msgstr "Crédit trans."
@ -10444,18 +10466,6 @@ msgstr ""
#~ msgid "Payment Reconcilation"
#~ msgstr "Lettrage lié au règlement"
#~ msgid "Disc. (%)"
#~ msgstr "Rem. (%)"
#~ msgid ""
#~ "Would your payment have been carried out after this mail was sent, please "
#~ "consider the present one as void. Do not hesitate to contact our accounting "
#~ "departement at +32 81 81 37 00."
#~ msgstr ""
#~ "Dans le cas où votre paiement aurait été effectué après l'envoi de ce mail, "
#~ "veuillez considérer la présente comme nulle et non avenue. N'hésitez pas à "
#~ "contacter notre département comptabilité ou répondez à l'email."
#~ msgid "Contra"
#~ msgstr "Contrat"
@ -10488,9 +10498,6 @@ msgstr ""
#~ msgid "Journal Voucher"
#~ msgstr "Pièce justificative"
#~ msgid "account.move.line"
#~ msgstr "Ligne de mouvement de compte"
#~ msgid "Analytic Invoice"
#~ msgstr "Facturation analytique"
@ -10596,9 +10603,6 @@ msgstr ""
#~ msgid "Close states"
#~ msgstr "Clôturer l'état"
#~ msgid "Crédit"
#~ msgstr "Crédit"
#~ msgid "Income"
#~ msgstr "Produits"
@ -10717,10 +10721,6 @@ msgstr ""
#~ msgid "Draft Supplier Invoices"
#~ msgstr "Facture fournisseur brouillon"
#, python-format
#~ msgid "Configration Error !"
#~ msgstr "Erreur de configuration !"
#~ msgid ""
#~ "Exception made of a mistake of our side, it seems that the following bills "
#~ "stay unpaid. Please, take appropriate measures in order to carry out this "
@ -10730,9 +10730,6 @@ msgstr ""
#~ "impayées. Nous vous prions de prendre les mesures nécessaires afin de "
#~ "procéder au règlement sous huitaine."
#~ msgid "Débit"
#~ msgstr "Débit"
#~ msgid "x Checks Journal"
#~ msgstr "x Journal de contrôle"
@ -10804,9 +10801,6 @@ msgstr ""
#~ msgid "_Go"
#~ msgstr "_Commencer"
#~ msgid "Partner ID"
#~ msgstr "Code partenaire"
#~ msgid "New Customer Invoice"
#~ msgstr "Nouvelle facture client"
@ -10848,9 +10842,6 @@ msgstr ""
#~ msgid "Draft Customer Refunds"
#~ msgstr "Avoirs client brouillon"
#~ msgid "Move name"
#~ msgstr "Nom du mouvement"
#~ msgid "Cancel selected invoices"
#~ msgstr "Annuler les factures sélectionnées"
@ -10860,9 +10851,6 @@ msgstr ""
#~ msgid "Proposed invoice to be checked, validated and printed"
#~ msgstr "Facture à contrôler, valider et imprimer"
#~ msgid "account.move.line.select"
#~ msgstr "account.move.line.select"
#~ msgid "By Date and Period"
#~ msgstr "Par date et période"
@ -10878,10 +10866,6 @@ msgstr ""
#~ msgid "Financial Management"
#~ msgstr "Finance & Comptabilité"
#, python-format
#~ msgid "The account is not defined to be reconcile !"
#~ msgstr "Le compte n'est pas définit pour être lettrable !"
#~ msgid "Additionnal Information"
#~ msgstr "Commentaire"
@ -10918,9 +10902,6 @@ msgstr ""
#~ msgid "Pay and reconcile"
#~ msgstr "Payer et lettrer"
#~ msgid "Balance brought forward"
#~ msgstr "Balance cumulée"
#~ msgid "New Supplier Refund"
#~ msgstr "Nouvel avoir fournisseur"
@ -10939,9 +10920,6 @@ msgstr ""
#~ msgid "Credit Note"
#~ msgstr "Avoir"
#~ msgid "Write-Off Period"
#~ msgstr "Période d'ajustement"
#~ msgid "3 Months"
#~ msgstr "3 mois"
@ -11055,9 +11033,6 @@ msgstr ""
#~ msgid "Unpaid Customer Invoices"
#~ msgstr "Factures client en attente de règlement"
#~ msgid "Partner name"
#~ msgstr "Nom du partenaire"
#~ msgid "Journal/Payment Mode"
#~ msgstr "Journal/Mode de règlement"
@ -11109,10 +11084,6 @@ msgstr ""
#~ msgid "Entries Encoding by Move"
#~ msgstr "Écritures par mouvement"
#, python-format
#~ msgid "You can not deactivate an account that contains account moves."
#~ msgstr "Vous ne pouvez pas désactiver un compte qui contient des écritures."
#~ msgid "Filter on Partners"
#~ msgstr "Filtre sur les partenaires"
@ -11389,10 +11360,6 @@ msgstr ""
#~ msgid "Entries by Statements"
#~ msgstr "Écritures par état"
#, python-format
#~ msgid "You can not validate a non-balanced entry !"
#~ msgstr "Vous ne pouvez pas valider une écriture non équilibrée !"
#~ msgid "Standard entry"
#~ msgstr "Écriture standard"
@ -11604,10 +11571,6 @@ msgstr ""
#~ msgstr ""
#~ "Laissez ce champ vide si l'exercice fiscal appartient à plusieurs sociétés."
#, python-format
#~ msgid "The old fiscal year does not have any entry to reconcile!"
#~ msgstr "L'ancien exercice fiscal n'a pas d'écriture à rapprocher !"
#~ msgid "Fiscal Position Template Tax Mapping"
#~ msgstr "Affectation des taxes dans le modèle de régime fiscal"
@ -11627,13 +11590,6 @@ msgstr ""
#~ msgid "Define Fiscal Years and Select Charts of Account"
#~ msgstr "Définir l'exercice fiscal et choisir le plan comptable"
#~ msgid ""
#~ "The partner bank account to pay\n"
#~ "Keep empty to use the default"
#~ msgstr ""
#~ "Le compte bancaire du partenaire pour le paiement\n"
#~ "Laissez vide pour utiliser celui par défaut"
#~ msgid ""
#~ "Check this box if you don't want new account moves to pass through the "
#~ "'draft' state and instead goes directly to the 'posted state' without any "
@ -11682,206 +11638,6 @@ msgstr ""
#~ msgid "asgfas"
#~ msgstr "asgfas"
#~ msgid "Analytic accounts to close"
#~ msgstr "Comptes analytiques à cloturer"
#~ msgid "Draft invoices"
#~ msgstr "Factures brouillons"
#~ msgid "Accounts to invoice"
#~ msgstr "Comptes à facturer"
#~ msgid "Costs to invoice"
#~ msgstr "Coûts à facturer"
#~ msgid "Aged receivables"
#~ msgstr "Creances âgés"
#~ msgid "Board for accountant"
#~ msgstr "Tableau de bord du comptable"
#~ msgid "My indicators"
#~ msgstr "Mes indicateurs"
#~ msgid "Aged income"
#~ msgstr "Revenus âgés"
#~ msgid "Show Debit/Credit Information"
#~ msgstr "Afficher les informations de Débit/Crédit"
#~ msgid "All accounts"
#~ msgstr "Tous les comptes"
#~ msgid "Entries Selection Based on"
#~ msgstr "Sélection basée sur les écritures"
#~ msgid "Notification"
#~ msgstr "Notification"
#~ msgid "Financial Period"
#~ msgstr "Période Fiscale"
#~ msgid "Select Period(s)"
#~ msgstr "Sélectioner la(les) Période(s)"
#~ msgid "Compare Selected Years In Terms Of"
#~ msgstr "Comparer l'année sélectionnée en terme de"
#~ msgid "Select Fiscal Year(s)(Maximum Three Years)"
#~ msgstr "Sélectionner la ou les Années Fiscales (Maximum Trois Ans)"
#~ msgid "Select Reference Account(for % comparision)"
#~ msgstr "Sélectionner le COmpte Référence (pour la comparaison en %)"
#~ msgid "You have to select 'Landscape' option. Please Check it."
#~ msgstr "Vous avez choisi l'option 'Paysage'. Merci de vérifier."
#~ msgid "Show Report in Landscape Form"
#~ msgstr "Afficher le Rapport au Format Paysage"
#~ msgid "Show Comparision in %"
#~ msgstr "Afficher la Comparaison en %"
#~ msgid "Don't Compare"
#~ msgstr "Ne pas comparer"
#~ msgid "Show Accounts"
#~ msgstr "Afficher les Comptes"
#~ msgid "1. You have selected more than 3 years in any case."
#~ msgstr "1. Vous avez sélectionner plus de 3 années dans tous les cas."
#~ msgid "You can select maximum 3 years. Please check again."
#~ msgstr ""
#~ "Vous pouvez sélectionner un maximum de 3 années. Merci de vérifier encore."
#~ msgid ""
#~ "3. You have selected 'Percentage' option with more than 2 years, but you "
#~ "have not selected landscape format."
#~ msgstr ""
#~ "Vous avez sélectionné l'option 'Pourcentage' avec plus de 2 années, mais "
#~ "vous n'avez pas sélcetionné le format 'paysage'."
#~ msgid ""
#~ "You might have done following mistakes. Please correct them and try again."
#~ msgstr ""
#~ "Vous avez peut être terminer en oubliant des erreurs. Merci de les corrigés "
#~ "et d'essayer encore."
#~ msgid "Keep empty for comparision to its parent"
#~ msgstr "Laisser vide pour comparer avec le parent"
#~ msgid "Creation Date"
#~ msgstr "Date de création"
#~ msgid ""
#~ "2. You have not selected 'Percentage' option, but you have selected more "
#~ "than 2 years."
#~ msgstr ""
#~ "Vous n'avez pas sélectionné l'option 'Pourcentage', mais vous avez "
#~ "sélectionné plus de 2 années."
#~ msgid "You have to select at least 1 Fiscal Year. Try again."
#~ msgstr "Vous devez au moins sélectionner 1 année fiscale. Essayer encore."
#~ msgid "Customize Report"
#~ msgstr "Personnaliser le Rapport"
#~ msgid "Accounting and financial management-Compare Accounts"
#~ msgstr "Gestion financière et comptable - Comparez les comptes"
#~ msgid ""
#~ "Account Balance Module is an added functionality to the Financial Management "
#~ "module.\n"
#~ "\n"
#~ " This module gives you the various options for printing balance sheet.\n"
#~ "\n"
#~ " 1. You can compare the balance sheet for different years.\n"
#~ "\n"
#~ " 2. You can set the cash or percentage comparison between two years.\n"
#~ "\n"
#~ " 3. You can set the referential account for the percentage comparison for "
#~ "particular years.\n"
#~ "\n"
#~ " 4. You can select periods as an actual date or periods as creation "
#~ "date.\n"
#~ "\n"
#~ " 5. You have an option to print the desired report in Landscape format.\n"
#~ " "
#~ msgstr ""
#~ "Le module de Balance des Comptes est une fonctionnalité additionnelle du "
#~ "module de Gestion Financière.\n"
#~ "\n"
#~ " Ce module vous offre plusieurs options d'impression du bilan.\n"
#~ "\n"
#~ " 1. Comparaison des bilans de différentes années.\n"
#~ "\n"
#~ " 2. Affichage des écarts entre deux années en pourcentage ou en valeur.\n"
#~ "\n"
#~ " 3. Définition d'une valeur de référence à comparer à une seule année.\n"
#~ "\n"
#~ " 4. Affichage jusqu'à la date actuelle ou depuis la date de création.\n"
#~ "\n"
#~ " 5. Impression au format portrait ou paysage.\n"
#~ " "
#~ msgid "Account balance-Compare Years"
#~ msgstr "Balance des Comptes - Comparer les Années"
#~ msgid ""
#~ "You may have selected the compare options with more than 1 year with "
#~ "credit/debit columns and % option.This can lead contents to be printed out "
#~ "of the paper.Please try again."
#~ msgstr ""
#~ "Vous avez choisi de comparer avec loption supérieure à 1 an sur les "
#~ "colonnes de crédit/ débit et des %.\r\n"
#~ "Cela peut conduire le contenu à être imprimé en dehors de la plage du format "
#~ "de papier. Veuillez essayer à nouveau."
#~ msgid "A module that adds new reports based on the account module."
#~ msgstr ""
#~ "Un module qui ajoute de nouveaux rapports basé sur le module account."
#~ msgid "Account Reporting - Reporting"
#~ msgstr "Rapports financiers et de comptabilité - Rapports"
#~ msgid "Accounts Fiscal Mapping"
#~ msgstr "Correspondance fiscale des comptes"
#~ msgid "Taxes Fiscal Mapping"
#~ msgstr "Correspondance fiscale des taxes"
#~ msgid "Fiscal Mapping Templates"
#~ msgstr "Modèles de correspondance fiscale"
#~ msgid "Template for Fiscal Mapping"
#~ msgstr "Modèle pour la correspondance fiscale"
#~ msgid "Fiscal Mapping Template"
#~ msgstr "Modèle de correspondance fiscale"
#~ msgid "Fiscal Mappings"
#~ msgstr "Correspondances fiscales"
#~ msgid "Fiscal Mapping Remark :"
#~ msgstr "Remarque sur la correspondance fiscale :"
#~ msgid ""
#~ "The fiscal mapping will determine taxes and the accounts used for the "
#~ "partner."
#~ msgstr ""
#~ "La correspondance fiscale déterminera les taxes et les comptes utilisés pour "
#~ "le partenaire."
#~ msgid "Template Tax Fiscal Mapping"
#~ msgstr "Modèle de correspondance fiscale de taxe"
#~ msgid "supplier"
#~ msgstr "fournisseur"
#~ msgid "Expenses Credit Notes Journal - (test)"
#~ msgstr "Journal des avoir de frais - (test)"
#, python-format
#~ msgid "UnknownError"
#~ msgstr "Erreur inconnue"
@ -11892,108 +11648,14 @@ msgstr ""
#~ "Aucun journal n'a été défini pour l'écriture finale pour cet exercice "
#~ "comptable"
#~ msgid "Low Level"
#~ msgstr "Bas niveau"
#~ msgid ""
#~ "Supplier Invoices allows you to enter and manage invoices issued by your "
#~ "suppliers. OpenERP generates draft of supplier invoices automatically so "
#~ "that you can control what you received from your supplier according to what "
#~ "you purchased or received."
#~ msgstr ""
#~ "Les factures fournisseurs permettent de saisir et de gérer les factures "
#~ "émises par les fournisseurs. OpenERP génère les factures fournisseurs "
#~ "brouillon automatiquement pour que vous puissiez contrôler si ce que vous "
#~ "recevez des fournisseurs correspond à ce que vous avez commandé ou reçu."
#~ msgid "Bilanzkonten - Passiva - Kapitalkonten"
#~ msgstr "Compte de bilan - passif - compte de capital"
#~ msgid "End of Year"
#~ msgstr "Fin d'exercice"
#~ msgid "Ansicht"
#~ msgstr "Vue"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Erreur ! Vous ne pouvez pas créer de menu récursif."
#, python-format
#~ msgid "Invoice "
#~ msgstr "Facture "
#~ msgid ""
#~ "This account will be used for invoices instead of the default one to value "
#~ "expenses for the current product"
#~ msgstr ""
#~ "Ce compte sera utilisé pour les factures à la place du compte par défaut "
#~ "pour valoriser les charges liées au produit actuel"
#, python-format
#~ msgid "is validated."
#~ msgstr "est validé."
#~ msgid "Cash Journal - (test)"
#~ msgstr "Journal de liquidités - (test)"
#~ msgid "Sales Credit Note Journal - (test)"
#~ msgstr "Journal des avoirs de vente - (test)"
#~ msgid "Bank Journal - (test)"
#~ msgstr "Journal de banque - (test)"
#~ msgid "Default UoM"
#~ msgstr "UdM par défaut"
#~ msgid ""
#~ "Cash Register allows you to manage cash entries in your cash journals."
#~ msgstr ""
#~ "Les registres de liquidités permettent de gérer les écritures dans les "
#~ "journaux de liquidités."
#~ msgid "Expenses Journal - (test)"
#~ msgstr "Journal des frais - (test)"
#~ msgid "Size of the field can never be less than 1 !"
#~ msgstr "La taille du champ ne doit jamais être inférieure à 1 !"
#~ msgid "Sales Journal - (test)"
#~ msgstr "Journal des ventes - (test)"
#~ msgid "The name of the group must be unique !"
#~ msgstr "Le nom du groupe doit être unique !"
#~ msgid ""
#~ "A journal entry consists of several journal items, each of which is either a "
#~ "debit or a credit. OpenERP creates automatically one journal entry per "
#~ "accounting document: invoices, refund, supplier payment, bank statements, "
#~ "etc."
#~ msgstr ""
#~ "Une écriture se compose de plusieurs lignes en crédit ou en débit. OpenERP "
#~ "génère automatiquement une écriture dans le journal pour chaque document "
#~ "comptable : facture, remboursement, paiement de fournisseur, relevé "
#~ "bancaire, etc."
#~ msgid "Error: UOS must be in a different category than the UOM"
#~ msgstr "Erreur : l'UdV doit appartenir à une autre catégorie que l'UdM"
#~ msgid ""
#~ "Customer Invoices allows you create and manage invoices issued to your "
#~ "customers. OpenERP generates draft of invoices automatically so that you "
#~ "only have to confirm them before sending them to your customers."
#~ msgstr ""
#~ "La facturation client permet de générer et de gérer les factures envoyées à "
#~ "vos clients. OpenERP génère automatiquement des factures brouillon qu'il "
#~ "suffit de valider et d'expédier aux clients."
#~ msgid ""
#~ "A vendor refund is a credit note from your supplier indicating that he "
#~ "refunds part or totality of the invoice sent to you."
#~ msgstr ""
#~ "Un remboursement fournisseur est un avoir émis par votre fournisseur "
#~ "indiquant qu'il rembourse une partie ou la totalité de la facture qu'il vous "
#~ "a adressée."
#, python-format
#~ msgid "The statement balance is incorrect !\n"
#~ msgstr "Le solde du relevé est incorrect.\n"
@ -12003,159 +11665,5 @@ msgstr ""
#~ "The expected balance (%.2f) is different than the computed one. (%.2f)"
#~ msgstr "Le solde affiché (%.2f) est différent du solde calculé. (%.2f)"
#~ msgid ""
#~ "Customer Refunds helps you manage the credit notes issued/to be issued for "
#~ "your customers. A refund invoice is a document that cancels an invoice or a "
#~ "part of it. You can easily generate refunds and reconcile them from the "
#~ "invoice form."
#~ msgstr ""
#~ "Les avoirs clients vous permettent de gérer les avoirs générés ou à générer "
#~ "pour vos clients. Une facture d'avoir est un document qui annule la facture "
#~ "pour tout ou partie. Vous pouvez facilement générer des avoirs et les "
#~ "rapprocher avec la facture."
#~ msgid "Erfolgskonten - Erlöse"
#~ msgstr "Compte de résultat - Chiffre d'affaires"
#~ msgid "Erfolgskonten - Aufwendungen"
#~ msgstr "Comptes de résultats - Dépenses"
#~ msgid "Bilanzkonten - Aktiva - Vermögenskonten"
#~ msgstr "Bilanzkonten - Aktiva - Vermögenskonten"
#~ msgid ""
#~ "given a period and a journal, the sum of debit will always be equal to the "
#~ "sum of credit, so there is no point to display it"
#~ msgstr ""
#~ "pour une période et un journal, la somme des débits sera toujours égale à la "
#~ "somme des crédits, il n'y a donc aucun intérêt à l'afficher"
#~ msgid ""
#~ "A recurring entry is a payment related entry that occurs on a recurrent "
#~ "basis from a specific date corresponding to the signature of a contract or "
#~ "an agreement with a customer or a supplier. With Define Recurring Entries, "
#~ "you can create them in the system in order to automate their entries in the "
#~ "system."
#~ msgstr ""
#~ "Une entrée récurrente est un paiement connexe qui se produit sur une "
#~ "certaine périodicité à partir de la date anniversaire d'un contrat ou d'un "
#~ "accord avec un client ou un fournisseur. \"Définir des écritures "
#~ "périodiques\" permet d'automatiser la création de ces écritures dans le "
#~ "système."
#~ msgid ""
#~ "Define your company's fiscal year depending on the period you have chosen to "
#~ "follow. A fiscal year is a 1 year period over which a company budgets its "
#~ "spending. It may run over any period of 12 months. The fiscal year is "
#~ "referred to by the date in which it ends. For example, if a company's fiscal "
#~ "year ends November 30, 2011, then everything between December 1, 2010 and "
#~ "November 30, 2011 would be referred to as FY 2011. Not using the actual "
#~ "calendar year gives many companies an advantage, allowing them to close "
#~ "their books at a time which is most convenient for them."
#~ msgstr ""
#~ "Définissez l'exercice comptable de votre société selon la période que vous "
#~ "avez choisie. Un exercice comptable est une période d'1 an pendant laquelle "
#~ "une société programme ses dépenses. Un exercice financier est référencé par "
#~ "sa date de fin. Par exemple, si l'exercice d'une entreprise se termine le 30 "
#~ "Novembre 2011, la période du 1er Décembre 2010 au 30 Novembre 2011 sera "
#~ "nommée \"exercice 2011\". Ne pas coïncider avec l'année civile est "
#~ "avantageux pour beaucoup d'entreprises, cela leur permet de fermer leurs "
#~ "livres au moment qui leur convient le mieux."
#~ msgid ""
#~ "A bank statement is a summary of all financial transactions occurring over a "
#~ "given period of time on a deposit account, a credit card, or any other type "
#~ "of account. Start by encoding the starting and closing balance, then record "
#~ "all lines of your statement. When you are in the Payment column of the a "
#~ "line, you can press F1 to open the reconciliation form."
#~ msgstr ""
#~ "Un relevé bancaire est un résumé de toutes les transactions financières qui "
#~ "ont été émises durant une période donnée sur un compte de dépôt, une carte "
#~ "de crédit, ou tout autre type de compte. Commencez par remplir les balances "
#~ "d'ouverture et de fermeture, puis enregistrer toutes les lignes de votre "
#~ "relevé. Quand vous êtes dans la colonne paiement de la ligne, vous pouvez "
#~ "appuyer sur F1 pour ouvrir le formulaire de rapprochement."
#~ msgid ""
#~ "o.journal_id.currency and formatLang((sum_debit(o.period_id.id, "
#~ "o.journal_id.id) - sum_credit(o.period_id.id, o.journal_id.id))) ]] [[ "
#~ "o.journal_id.currency and o.journal_id.currency.symbol"
#~ msgstr ""
#~ "o.journal_id.currency and formatLang((sum_debit(o.period_id.id, "
#~ "o.journal_id.id) - sum_credit(o.period_id.id, o.journal_id.id))) ]] [[ "
#~ "o.journal_id.currency and o.journal_id.currency.symbol"
#~ msgid ""
#~ "Here you can personalize and create each view of your financial journals by "
#~ "selecting the fields you want to appear and the sequence they will appear."
#~ msgstr ""
#~ "Ici, vous pouvez personnaliser et créer chaque vue de vos journaux "
#~ "financiers en sélectionnant les champs que vous voulez afficher et l'ordre "
#~ "dans lequel ils vont s'afficher."
#~ msgid ""
#~ "This account will be used for invoices instead of the default one to value "
#~ "sales for the current product"
#~ msgstr ""
#~ "Ce compte sera utilisé pour les factures à la place du compte par défaut "
#~ "pour valoriser les ventes du produit actuel"
#~ msgid ""
#~ "A supplier refund is a credit note from your supplier indicating that he "
#~ "refunds part or totality of the invoice sent to you."
#~ msgstr ""
#~ "Un avoir fournisseur est une note de crédit reçue de votre fournisseur qui "
#~ "vous indique vous faire un avoir sur tout ou partie de sa facture."
#~ msgid ""
#~ "Here, you can define a period, an interval of time between successive "
#~ "closings of the books of your company. An accounting period typically is a "
#~ "month or a quarter, corresponding to the tax year used by the business. "
#~ "Create and manage them from here and decide whether a period should be left "
#~ "open or closed depending on your company's activities over a specific period."
#~ msgstr ""
#~ "Ici, vous pouvez définir une période, un intervalle de temps entre les "
#~ "fermetures successives des livres de votre société. Une période comptable, "
#~ "généralement un mois ou un trimestre, correspondant à l'année d'imposition "
#~ "utilisée par l'entreprise. Les créer et les gérer à partir d'ici et décider "
#~ "si un délai doit être laissé ouvert ou fermé selon les activités de votre "
#~ "entreprise pour une période donnée."
#~ msgid "Must be after setLang()"
#~ msgstr "Doit être après setlang ()"
#~ msgid ""
#~ "This account will be used for invoices to value sales for the current "
#~ "product category"
#~ msgstr ""
#~ "Ce compte sera utilisé pour les factures pour valoriser les ventes de "
#~ "produits de la catégorie courante"
#~ msgid ""
#~ "A tax code is a reference of a tax that will be taken out of a gross income "
#~ "depending on the country and sometimes industry sector. OpenERP allows you "
#~ "to define and manage them from this menu."
#~ msgstr ""
#~ "Un code de taxe est une référence à une taxe qui sera prise sur un revenu "
#~ "brut selon les pays voire un secteur industriel. OpenERP permet de les "
#~ "définir et les gérer depuis ce menu."
#~ msgid ""
#~ "The chart of taxes is used to generate your periodic tax statement. You will "
#~ "see here the taxes with codes related to your legal statement according to "
#~ "your country."
#~ msgstr ""
#~ "Le plan de taxes est utilisé pour générer vos relevés de taxe périodiques. "
#~ "Vous verrez ici les taxes avec les codes associés à votre déclaration selon "
#~ "votre pays."
#~ msgid ""
#~ "This menu helps you manage the credit notes issued/to be issued for your "
#~ "customers. A refund invoice is a document that cancels an invoice or a part "
#~ "of it. You can easily generate refunds and reconcile them from the invoice "
#~ "form."
#~ msgstr ""
#~ "Menu destiné à gérer les avoirs \"émis\" ou \"à émettre\" vers vos clients. "
#~ "Une facture de remboursement est un document qui annule une facture ou une "
#~ "partie de celle-ci. Vous pouvez facilement générer des remboursements et les "
#~ "réconcilier à partir de la vue formulaire de factures."
#~ msgid "Balance:"
#~ msgstr "Solde de la balance:"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

9679
addons/account/i18n/kk.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-06-06 09:30+0000\n"
"Last-Translator: Phong Nguyen-Thanh <Unknown>\n"
"PO-Revision-Date: 2011-07-20 09:45+0000\n"
"Last-Translator: lam nhut tien <Unknown>\n"
"Language-Team: Vietnamese <vi@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-06-07 04:35+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Launchpad-Export-Date: 2011-09-05 05:18+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@ -142,7 +142,7 @@ msgstr "Các bút toán Kế toán-"
#: code:addons/account/account.py:1305
#, python-format
msgid "You can not delete posted movement: \"%s\"!"
msgstr "Bạn không thể xóa bút toán \"%s\" đã được ghi nhận trước đó!"
msgstr "Bạn không thể xóa bút toán \"%s\" đã được ghi nhận trước đó!"
#. module: account
#: report:account.invoice:0
@ -901,6 +901,7 @@ msgstr "Tạo các chu kỳ 3 tháng"
#. module: account
#: report:account.overdue:0
#: report:account.aged_trial_balance:0
msgid "Due"
msgstr "Đến hạn"
@ -995,6 +996,10 @@ msgstr "Model Entries"
#: 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 "Mã"
@ -1320,6 +1325,7 @@ msgstr "Journal Items Analysis"
#. module: account
#: model:ir.ui.menu,name:account.next_id_22
#: report:account.aged_trial_balance:0
msgid "Partners"
msgstr "Các đối tác"
@ -2056,6 +2062,8 @@ msgid ""
"Invalid period ! Some periods overlap or the date period is not in the scope "
"of the fiscal year. "
msgstr ""
"Thời gian không hợp lệ! Một số thời gian chồng lên nhau hoặc kỳ ngày không "
"có trong phạm vi của năm tài chính "
#. module: account
#: selection:account.invoice,state:0
@ -2202,6 +2210,11 @@ msgstr "Product Template"
#: 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 "Năm tài chính"
@ -2340,6 +2353,12 @@ msgid ""
"useful because it enables you to preview at any time the tax that you owe at "
"the start and end of the month or quarter."
msgstr ""
"Menu này in một tờ khai thuế GTGT theo hoá đơn hoặc thanh toán. Chọn một "
"hoặc nhiều thời gian của năm tài chính. Các thông tin cần thiết cho một tờ "
"khai thuế được tự động tạo ra bởi OpenERP từ hoá đơn (hoặc thanh toán, ở một "
"số nước). Thông tin này được cập nhật trong thời gian thực. Đó là rất hữu "
"ích vì nó cho phép bạn xem trước bất cứ lúc nào các bạn nợ thuế khi bắt đầu "
"và kết thúc của tháng hoặc quý"
#. module: account
#: selection:account.move.line,centralisation:0
@ -3363,6 +3382,8 @@ msgstr "Hoạch đồ Kế toán"
#: view:account.tax.chart:0
msgid "(If you do not select period it will take all open periods)"
msgstr ""
"Bản dịch từ Tiếng Anh sang Tiếng Việt (Nếu bạn không chọn thời gian nó sẽ "
"mất tất cả các giai đoạn mở)"
#. module: account
#: field:account.journal,centralisation:0
@ -4690,6 +4711,11 @@ msgstr "Analytic Balance -"
#: 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 "Target Moves"
@ -4807,6 +4833,8 @@ msgstr "Kết quả đối soát"
#: 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 "Bảng cân đối kế toán"
@ -6573,6 +6601,8 @@ msgstr "Account tax chart"
#: 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 "Tổng cộng:"
@ -7001,7 +7031,7 @@ msgstr ""
#: code:addons/account/account.py:952
#, python-format
msgid "You should have chosen periods that belongs to the same company"
msgstr ""
msgstr "Bạn cần phải có thời gian lựa chọn thuộc về cùng một công ty"
#. module: account
#: field:account.fiscalyear.close,report_name:0
@ -7507,7 +7537,7 @@ msgstr "Account move line reconcile"
#: view:account.subscription.generate:0
#: model:ir.model,name:account.model_account_subscription_generate
msgid "Subscription Compute"
msgstr "Subscription Compute"
msgstr ""
#. module: account
#: report:account.move.voucher:0
@ -7861,6 +7891,12 @@ msgid ""
"useful because it enables you to preview at any time the tax that you owe at "
"the start and end of the month or quarter."
msgstr ""
"Menu này in một tờ khai thuế GTGT theo hoá đơn hoặc thanh toán. Bạn có thể "
"chọn một hoặc một số thời gian của năm tài chính. Thông tin cần thiết cho "
"một tờ khai thuế được tự động tạo ra bởi OpenERP từ hoá đơn (hoặc thanh "
"toán, ở một số nước). Thông tin này được cập nhật trong thời gian thực. Đó "
"là rất hữu ích vì nó cho phép bạn xem trước bất cứ lúc nào các bạn nợ thuế "
"khi bắt đầu và kết thúc của tháng hoặc quý."
#. module: account
#: report:account.invoice:0
@ -7877,6 +7913,11 @@ msgstr "Loại tiền của Công ty"
#: 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 "Hệ thống tài khoản"
@ -7996,6 +8037,10 @@ msgstr "Sổ nhật ký Hoàn tiền"
#: 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 "Lọc bởi"
@ -8474,7 +8519,7 @@ msgstr "Registered payment"
#. module: account
#: view:account.fiscalyear.close.state:0
msgid "Close states of Fiscal year and periods"
msgstr ""
msgstr "Đóng trạng thái của năm tài chính và thời gian"
#. module: account
#: view:account.analytic.line:0
@ -8578,6 +8623,7 @@ msgstr "Cannot locate parent code for template account!"
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
#: report:account.aged_trial_balance:0
msgid "Analysis Direction"
msgstr "Analysis Direction"
@ -8701,6 +8747,10 @@ msgstr "Để trống để sử dụng tài khoản thu nhập"
#: 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 "Cân đối"
@ -8712,6 +8762,10 @@ msgstr "Manually or automatically entered in the system"
#. 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 "Hiển thị tài khoản"
@ -9032,6 +9086,7 @@ msgstr "Entry Subscription"
#: 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 "Ngày bắt đầu"
@ -9069,6 +9124,13 @@ msgid ""
"open period. Close a period when you do not want to record new entries and "
"want to lock this period for tax related calculation."
msgstr ""
"Thời gian là một thời kỳ tài chính của thời gian mà ghi sổ kế toán phải được "
"ghi lại để hạch toán các hoạt động liên quan. Kỳ hàng tháng là mức nhưng tùy "
"thuộc vào nhu cầu nước của bạn hoặc công ty, bạn cũng có thể có thời kỳ hàng "
"quý. Kết thúc một thời gian sẽ làm cho nó không thể ghi ghi sổ kế toán mới, "
"tất cả các mục mới sau đó phải được thực hiện vào thời kỳ mở cửa sau. Đóng "
"một thời gian khi bạn không muốn ghi lại các mục mới và muốn khóa thời gian "
"này để tính thuế liên quan."
#. module: account
#: view:account.analytic.account:0
@ -9522,6 +9584,7 @@ msgstr "States"
#: 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 "Tổng"
@ -10037,6 +10100,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 "Của Đối tác"
@ -10200,18 +10264,6 @@ msgstr ""
#~ msgid "Total entries"
#~ msgstr "tổng đầu vào"
#~ msgid ""
#~ "Would your payment have been carried out after this mail was sent, please "
#~ "consider the present one as void. Do not hesitate to contact our accounting "
#~ "departement at +32 81 81 37 00."
#~ msgstr ""
#~ "bạn sẽ trả tiền sau khi email này được gửi, hãy liên hệ với chúng tôi khi "
#~ "bạn không nhận được mail.đừng ngại ngùng hãy liên hệ với chúng tôi, : + 84 "
#~ "909 89 1986"
#~ msgid "Disc. (%)"
#~ msgstr "phân vùng (%)"
#~ msgid "Journal de frais"
#~ msgstr "quy trình de frais"
@ -10236,9 +10288,6 @@ msgstr ""
#~ msgid "Mvt"
#~ msgstr "Mvt"
#~ msgid "Error! You can not create recursive account."
#~ msgstr "Lỗi! Bạn không thể tạo tài khoản nhiều lần lăp đi lặp lại"
#~ msgid "Contact"
#~ msgstr "Liên hệ"
@ -10276,80 +10325,6 @@ msgstr ""
#~ msgid "Account Num."
#~ msgstr "Sỗ tài khoản"
#~ msgid "Expenses Credit Notes Journal - (test)"
#~ msgstr "Expenses Credit Notes Journal - (test)"
#~ msgid ""
#~ "A journal entry consists of several journal items, each of which is either a "
#~ "debit or a credit. OpenERP creates automatically one journal entry per "
#~ "accounting document: invoices, refund, supplier payment, bank statements, "
#~ "etc."
#~ msgstr ""
#~ "A journal entry consists of several journal items, each of which is either a "
#~ "debit or a credit. OpenERP creates automatically one journal entry per "
#~ "accounting document: invoices, refund, supplier payment, bank statements, "
#~ "etc."
#~ msgid ""
#~ "Can't find any account journal of %s type for this company.\n"
#~ "\n"
#~ "You can create one in the menu: \n"
#~ "Configuration/Financial Accounting/Accounts/Journals.' % "
#~ "(context.get('journal_type"
#~ msgstr ""
#~ "Can't find any account journal of %s type for this company.\n"
#~ "\n"
#~ "You can create one in the menu: \n"
#~ "Configuration/Financial Accounting/Accounts/Journals.' % "
#~ "(context.get('journal_type"
#~ msgid ""
#~ "Maturity date of entry line generated by model line '%s' of model '%s' is "
#~ "based on partner payment term! \\n \n"
#~ "Please define partner on it!\"%(line.name, model.name)))\n"
#~ " if line.partner_id.property_payment_term:\n"
#~ " payment_term_id = "
#~ "line.partner_id.property_payment_term.id\n"
#~ " pterm_list = pt_obj.compute(cr, uid, "
#~ "payment_term_id, value=1, date_ref=date_maturity)\n"
#~ " if pterm_list:\n"
#~ " pterm_list = [l[0] for l in pterm_list]\n"
#~ " pterm_list.sort()\n"
#~ " date_maturity = pterm_list[-1]\n"
#~ "\n"
#~ " val.update({\n"
#~ " 'name': line.name,\n"
#~ " 'quantity': line.quantity,\n"
#~ " 'debit': line.debit,\n"
#~ " 'credit': line.credit,\n"
#~ " 'account_id': line.account_id.id,\n"
#~ " 'move_id': move_id,\n"
#~ " 'partner_id': line.partner_id.id,\n"
#~ " 'date': context.get('date',time.strftime('%Y-%m-%d"
#~ msgstr ""
#~ "Maturity date of entry line generated by model line '%s' of model '%s' is "
#~ "based on partner payment term! \\n \n"
#~ "Please define partner on it!\"%(line.name, model.name)))\n"
#~ " if line.partner_id.property_payment_term:\n"
#~ " payment_term_id = "
#~ "line.partner_id.property_payment_term.id\n"
#~ " pterm_list = pt_obj.compute(cr, uid, "
#~ "payment_term_id, value=1, date_ref=date_maturity)\n"
#~ " if pterm_list:\n"
#~ " pterm_list = [l[0] for l in pterm_list]\n"
#~ " pterm_list.sort()\n"
#~ " date_maturity = pterm_list[-1]\n"
#~ "\n"
#~ " val.update({\n"
#~ " 'name': line.name,\n"
#~ " 'quantity': line.quantity,\n"
#~ " 'debit': line.debit,\n"
#~ " 'credit': line.credit,\n"
#~ " 'account_id': line.account_id.id,\n"
#~ " 'move_id': move_id,\n"
#~ " 'partner_id': line.partner_id.id,\n"
#~ " 'date': context.get('date',time.strftime('%Y-%m-%d"
#~ msgid ""
#~ "Exception made of a mistake of our side, it seems that the following bills "
#~ "stay unpaid. Please, take appropriate measures in order to carry out this "
@ -10366,15 +10341,6 @@ msgstr ""
#~ msgid "UnknownError"
#~ msgstr "UnknownError"
#~ msgid ""
#~ "Customer Invoices allows you create and manage invoices issued to your "
#~ "customers. OpenERP generates draft of invoices automatically so that you "
#~ "only have to confirm them before sending them to your customers."
#~ msgstr ""
#~ "Customer Invoices allows you create and manage invoices issued to your "
#~ "customers. OpenERP generates draft of invoices automatically so that you "
#~ "only have to confirm them before sending them to your customers."
#~ msgid ""
#~ "The Object name must start with x_ and not contain any special character !"
#~ msgstr ""
@ -10383,90 +10349,6 @@ msgstr ""
#~ msgid "A/c No."
#~ msgstr "A/c No."
#~ msgid ""
#~ "A vendor refund is a credit note from your supplier indicating that he "
#~ "refunds part or totality of the invoice sent to you."
#~ msgstr ""
#~ "A vendor refund is a credit note from your supplier indicating that he "
#~ "refunds part or totality of the invoice sent to you."
#~ msgid "Select recurring to create a manualy recurring accounting entries"
#~ msgstr "Select recurring to create a manualy recurring accounting entries"
#~ msgid ""
#~ "\"\"Couldn't create move with currency different from the secondary currency "
#~ "of the account \"%s - %s\". Clear the secondary currency field of the "
#~ "account definition if you want to accept all currencies.\"\"\" % "
#~ "(line.account_id.code, line.account_id.name)))\n"
#~ "\n"
#~ " if abs(amount) < 10 ** -4:\n"
#~ " # If the move is balanced\n"
#~ " # Add to the list of valid moves\n"
#~ " # (analytic lines will be created later for valid moves)\n"
#~ " valid_moves.append(move)\n"
#~ "\n"
#~ " # Check whether the move lines are confirmed\n"
#~ "\n"
#~ " if not line_draft_ids:\n"
#~ " continue\n"
#~ " # Update the move lines (set them as valid)\n"
#~ "\n"
#~ " obj_move_line.write(cr, uid, line_draft_ids, {\n"
#~ " 'journal_id': move.journal_id.id,\n"
#~ " 'period_id': move.period_id.id,\n"
#~ " 'state': 'valid'\n"
#~ " }, context, check=False)\n"
#~ "\n"
#~ " account = {}\n"
#~ " account2 = {}\n"
#~ "\n"
#~ " if journal.type in ('purchase','sale"
#~ msgstr ""
#~ "\"\"Couldn't create move with currency different from the secondary currency "
#~ "of the account \"%s - %s\". Clear the secondary currency field of the "
#~ "account definition if you want to accept all currencies.\"\"\" % "
#~ "(line.account_id.code, line.account_id.name)))\n"
#~ "\n"
#~ " if abs(amount) < 10 ** -4:\n"
#~ " # If the move is balanced\n"
#~ " # Add to the list of valid moves\n"
#~ " # (analytic lines will be created later for valid moves)\n"
#~ " valid_moves.append(move)\n"
#~ "\n"
#~ " # Check whether the move lines are confirmed\n"
#~ "\n"
#~ " if not line_draft_ids:\n"
#~ " continue\n"
#~ " # Update the move lines (set them as valid)\n"
#~ "\n"
#~ " obj_move_line.write(cr, uid, line_draft_ids, {\n"
#~ " 'journal_id': move.journal_id.id,\n"
#~ " 'period_id': move.period_id.id,\n"
#~ " 'state': 'valid'\n"
#~ " }, context, check=False)\n"
#~ "\n"
#~ " account = {}\n"
#~ " account2 = {}\n"
#~ "\n"
#~ " if journal.type in ('purchase','sale"
#~ msgid ""
#~ "To get detailed information about a partner you can ask for the Partner "
#~ "Ledgers."
#~ msgstr ""
#~ "To get detailed information about a partner you can ask for the Partner "
#~ "Ledgers."
#~ msgid ""
#~ "There is no income account defined ' \\n 'for "
#~ "this product: \"%s\" (id:%d)"
#~ msgstr ""
#~ "There is no income account defined ' \\n 'for "
#~ "this product: \"%s\" (id:%d)"
#~ msgid "The certificate ID of the module must be unique !"
#~ msgstr "Mã chứng nhận của mô đun này phải là duy nhất !"
#, python-format
#~ msgid ""
#~ "The expected balance (%.2f) is different than the computed one. (%.2f)"
@ -10476,100 +10358,9 @@ msgstr ""
#~ msgid "Options"
#~ msgstr "Options"
#~ msgid ""
#~ "Supplier Invoices allows you to enter and manage invoices issued by your "
#~ "suppliers. OpenERP generates draft of supplier invoices automatically so "
#~ "that you can control what you received from your supplier according to what "
#~ "you purchased or received."
#~ msgstr ""
#~ "Supplier Invoices allows you to enter and manage invoices issued by your "
#~ "suppliers. OpenERP generates draft of supplier invoices automatically so "
#~ "that you can control what you received from your supplier according to what "
#~ "you purchased or received."
#~ msgid "Move/Entry label"
#~ msgstr "Move/Entry label"
#~ msgid ""
#~ "Customer Refunds helps you manage the credit notes issued/to be issued for "
#~ "your customers. A refund invoice is a document that cancels an invoice or a "
#~ "part of it. You can easily generate refunds and reconcile them from the "
#~ "invoice form."
#~ msgstr ""
#~ "Customer Refunds helps you manage the credit notes issued/to be issued for "
#~ "your customers. A refund invoice is a document that cancels an invoice or a "
#~ "part of it. You can easily generate refunds and reconcile them from the "
#~ "invoice form."
#~ msgid "Entry No"
#~ msgstr "Entry No"
#~ msgid "Aged receivables"
#~ msgstr "Aged receivables"
#~ msgid ""
#~ "A recurring entry is a payment related entry that occurs on a recurrent "
#~ "basis from a specific date corresponding to the signature of a contract or "
#~ "an agreement with a customer or a supplier. With Define Recurring Entries, "
#~ "you can create them in the system in order to automate their entries in the "
#~ "system."
#~ msgstr ""
#~ "A recurring entry is a payment related entry that occurs on a recurrent "
#~ "basis from a specific date corresponding to the signature of a contract or "
#~ "an agreement with a customer or a supplier. With Define Recurring Entries, "
#~ "you can create them in the system in order to automate their entries in the "
#~ "system."
#~ msgid ""
#~ "If the active field is set to true, it will allow you to hide the payment "
#~ "term without removing it."
#~ msgstr ""
#~ "If the active field is set to true, it will allow you to hide the payment "
#~ "term without removing it."
#~ msgid ""
#~ "Define your company's fiscal year depending on the period you have chosen to "
#~ "follow. A fiscal year is a 1 year period over which a company budgets its "
#~ "spending. It may run over any period of 12 months. The fiscal year is "
#~ "referred to by the date in which it ends. For example, if a company's fiscal "
#~ "year ends November 30, 2011, then everything between December 1, 2010 and "
#~ "November 30, 2011 would be referred to as FY 2011. Not using the actual "
#~ "calendar year gives many companies an advantage, allowing them to close "
#~ "their books at a time which is most convenient for them."
#~ msgstr ""
#~ "Define your company's fiscal year depending on the period you have chosen to "
#~ "follow. A fiscal year is a 1 year period over which a company budgets its "
#~ "spending. It may run over any period of 12 months. The fiscal year is "
#~ "referred to by the date in which it ends. For example, if a company's fiscal "
#~ "year ends November 30, 2011, then everything between December 1, 2010 and "
#~ "November 30, 2011 would be referred to as FY 2011. Not using the actual "
#~ "calendar year gives many companies an advantage, allowing them to close "
#~ "their books at a time which is most convenient for them."
#~ msgid "Rule must have at least one checked access right !"
#~ msgstr "Rule must have at least one checked access right !"
#~ msgid ""
#~ "This account will be used for invoices instead of the default one to value "
#~ "expenses for the current product"
#~ msgstr ""
#~ "This account will be used for invoices instead of the default one to value "
#~ "expenses for the current product"
#~ msgid "Generate entries before:"
#~ msgstr "Generate entries before:"
#~ msgid ""
#~ "If no additional entries should be recorded on a fiscal year, you can close "
#~ "it from here. It will close all opened periods in this year that will make "
#~ "impossible any new entry record. Close a fiscal year when you need to "
#~ "finalize your end of year results definitive."
#~ msgstr ""
#~ "If no additional entries should be recorded on a fiscal year, you can close "
#~ "it from here. It will close all opened periods in this year that will make "
#~ "impossible any new entry record. Close a fiscal year when you need to "
#~ "finalize your end of year results definitive."
#~ msgid "Income"
#~ msgstr "Income"
@ -10577,288 +10368,30 @@ msgstr ""
#~ msgid "The statement balance is incorrect !\n"
#~ msgstr "The statement balance is incorrect !\n"
#~ msgid ""
#~ "If the active field is set to true, it will allow you to hide the tax "
#~ "without removing it."
#~ msgstr ""
#~ "If the active field is set to true, it will allow you to hide the tax "
#~ "without removing it."
#~ msgid ""
#~ "A bank statement is a summary of all financial transactions occurring over a "
#~ "given period of time on a deposit account, a credit card, or any other type "
#~ "of account. Start by encoding the starting and closing balance, then record "
#~ "all lines of your statement. When you are in the Payment column of the a "
#~ "line, you can press F1 to open the reconciliation form."
#~ msgstr ""
#~ "A bank statement is a summary of all financial transactions occurring over a "
#~ "given period of time on a deposit account, a credit card, or any other type "
#~ "of account. Start by encoding the starting and closing balance, then record "
#~ "all lines of your statement. When you are in the Payment column of the a "
#~ "line, you can press F1 to open the reconciliation form."
#~ msgid "Statements reconciliation"
#~ msgstr "Statements reconciliation"
#~ msgid "Equity"
#~ msgstr "Vốn chủ sở hữu"
#~ msgid ""
#~ "If the active field is set to true, it will allow you to hide the journal "
#~ "period without removing it."
#~ msgstr ""
#~ "If the active field is set to true, it will allow you to hide the journal "
#~ "period without removing it."
#~ msgid "Select entries"
#~ msgstr "Select entries"
#~ msgid "Sales Credit Note Journal - (test)"
#~ msgstr "Sales Credit Note Journal - (test)"
#~ msgid "Cash Journal - (test)"
#~ msgstr "Cash Journal - (test)"
#~ msgid ""
#~ "Here you can personalize and create each view of your financial journals by "
#~ "selecting the fields you want to appear and the sequence they will appear."
#~ msgstr ""
#~ "Here you can personalize and create each view of your financial journals by "
#~ "selecting the fields you want to appear and the sequence they will appear."
#~ msgid ""
#~ "Here, you can define a period, an interval of time between successive "
#~ "closings of the books of your company. An accounting period typically is a "
#~ "month or a quarter, corresponding to the tax year used by the business. "
#~ "Create and manage them from here and decide whether a period should be left "
#~ "open or closed depending on your company's activities over a specific period."
#~ msgstr ""
#~ "Here, you can define a period, an interval of time between successive "
#~ "closings of the books of your company. An accounting period typically is a "
#~ "month or a quarter, corresponding to the tax year used by the business. "
#~ "Create and manage them from here and decide whether a period should be left "
#~ "open or closed depending on your company's activities over a specific period."
#~ msgid "Bank Journal - (test)"
#~ msgstr "Bank Journal - (test)"
#~ msgid "Central Journals"
#~ msgstr "Central Journals"
#~ msgid ""
#~ "Cash Register allows you to manage cash entries in your cash journals."
#~ msgstr ""
#~ "Cash Register allows you to manage cash entries in your cash journals."
#~ msgid "Expenses Journal - (test)"
#~ msgstr "Expenses Journal - (test)"
#~ msgid "Size of the field can never be less than 1 !"
#~ msgstr "Độ dài trường dữ liệu không thể nhỏ hơn 1 !"
#~ msgid "Sales Journal - (test)"
#~ msgstr "Sales Journal - (test)"
#~ msgid "Error! You can not create recursive analytic accounts."
#~ msgstr "Error! You can not create recursive analytic accounts."
#~ msgid ""
#~ "For an invoice to be considered as paid, the invoice entries must be "
#~ "reconciled with counterparts, usually payments. With the automatic "
#~ "reconciliation functionality, OpenERP make its own search for entries to "
#~ "reconcile in a series of accounts. It tries to find entries for each partner "
#~ "where the amounts correspond."
#~ msgstr ""
#~ "For an invoice to be considered as paid, the invoice entries must be "
#~ "reconciled with counterparts, usually payments. With the automatic "
#~ "reconciliation functionality, OpenERP make its own search for entries to "
#~ "reconcile in a series of accounts. It tries to find entries for each partner "
#~ "where the amounts correspond."
#~ msgid ""
#~ "Create and manage your company's financial journals from this menu. A "
#~ "journal is a business diary in which all financial data related to the day "
#~ "to day business transactions of your company is recorded using double-entry "
#~ "book keeping system. Depending on the nature of its activities and number of "
#~ "daily transactions, a company may keep several types of specialized "
#~ "journals such as a cash journal, purchases journal, and sales journal."
#~ msgstr ""
#~ "Create and manage your company's financial journals from this menu. A "
#~ "journal is a business diary in which all financial data related to the day "
#~ "to day business transactions of your company is recorded using double-entry "
#~ "book keeping system. Depending on the nature of its activities and number of "
#~ "daily transactions, a company may keep several types of specialized "
#~ "journals such as a cash journal, purchases journal, and sales journal."
#~ msgid ""
#~ "This account will be used for invoices instead of the default one to value "
#~ "sales for the current product"
#~ msgstr ""
#~ "This account will be used for invoices instead of the default one to value "
#~ "sales for the current product"
#~ msgid ""
#~ "This wizard will definitelly close a fiscal year and its related periods. "
#~ "That means that no one will be able to create or modify journal entries in "
#~ "it."
#~ msgstr ""
#~ "This wizard will definitelly close a fiscal year and its related periods. "
#~ "That means that no one will be able to create or modify journal entries in "
#~ "it."
#~ msgid "The name of the group must be unique !"
#~ msgstr "Tên nhóm phải duy nhất !"
#~ msgid ""
#~ "Maturity date of entry line generated by model line '%s' is based on partner "
#~ "payment term! \\n \n"
#~ "Please define partner on it!\"%(line.name)))\n"
#~ " pass\n"
#~ "\n"
#~ " def create_entries(self, cr, uid, ids, context=None):\n"
#~ " account_model_obj = self.pool.get('account.model"
#~ msgstr ""
#~ "Maturity date of entry line generated by model line '%s' is based on partner "
#~ "payment term! \\n \n"
#~ "Please define partner on it!\"%(line.name)))\n"
#~ " pass\n"
#~ "\n"
#~ " def create_entries(self, cr, uid, ids, context=None):\n"
#~ " account_model_obj = self.pool.get('account.model"
#~ msgid ""
#~ "You can look up individual account entries by searching for useful "
#~ "information. To search for account entries, open a journal, then select a "
#~ "record line."
#~ msgstr ""
#~ "You can look up individual account entries by searching for useful "
#~ "information. To search for account entries, open a journal, then select a "
#~ "record line."
#~ msgid ""
#~ "This account will be used for invoices to value sales for the current "
#~ "product category"
#~ msgstr ""
#~ "This account will be used for invoices to value sales for the current "
#~ "product category"
#~ msgid "Partner Ref."
#~ msgstr "Partner Ref."
#~ msgid ""
#~ "An account type is a name or code given to an account that indicates its "
#~ "purpose. 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 to be used for your company management."
#~ msgstr ""
#~ "An account type is a name or code given to an account that indicates its "
#~ "purpose. 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 to be used for your company management."
#~ msgid "Expense"
#~ msgstr "Chi phí"
#~ msgid ""
#~ "This Account is used for trasfering Profit/Loss(If It is Profit: Amount will "
#~ "be added, Loss : Amount will be duducted.), Which is calculated from Profilt "
#~ "& Loss Report"
#~ msgstr ""
#~ "This Account is used for trasfering Profit/Loss(If It is Profit: Amount will "
#~ "be added, Loss : Amount will be duducted.), Which is calculated from Profilt "
#~ "& Loss Report"
#~ msgid ""
#~ "A tax code is a reference of a tax that will be taken out of a gross income "
#~ "depending on the country and sometimes industry sector. OpenERP allows you "
#~ "to define and manage them from this menu."
#~ msgstr ""
#~ "A tax code is a reference of a tax that will be taken out of a gross income "
#~ "depending on the country and sometimes industry sector. OpenERP allows you "
#~ "to define and manage them from this menu."
#~ msgid ""
#~ "Create and manage accounts you will need to record financial entries in. "
#~ "Accounts are financial records of your company that register all financial "
#~ "transactions. Companies present their annual accounts in two main parts: the "
#~ "balance sheet and the income statement (profit and loss account). The annual "
#~ "accounts of a company are required by law to disclose a certain amount of "
#~ "information. They have to be certified by an external auditor yearly."
#~ msgstr ""
#~ "Create and manage accounts you will need to record financial entries in. "
#~ "Accounts are financial records of your company that register all financial "
#~ "transactions. Companies present their annual accounts in two main parts: the "
#~ "balance sheet and the income statement (profit and loss account). The annual "
#~ "accounts of a company are required by law to disclose a certain amount of "
#~ "information. They have to be certified by an external auditor yearly."
#~ msgid "Rules are not supported for osv_memory objects !"
#~ msgstr "Rules are not supported for osv_memory objects !"
#~ msgid ""
#~ "The chart of taxes is used to generate your periodic tax statement. You will "
#~ "see here the taxes with codes related to your legal statement according to "
#~ "your country."
#~ msgstr ""
#~ "The chart of taxes is used to generate your periodic tax statement. You will "
#~ "see here the taxes with codes related to your legal statement according to "
#~ "your country."
#~ msgid ""
#~ "You have to define \\nthe bank account\n"
#~ "in the journal definition for reconciliation."
#~ msgstr ""
#~ "You have to define \\nthe bank account\n"
#~ "in the journal definition for reconciliation."
#~ msgid "The name of the module must be unique !"
#~ msgstr "Tên của mô đun phải duy nhất !"
#~ msgid ""
#~ "If the active field is set to true, it will allow you to hide the analytic "
#~ "journal without removing it."
#~ msgstr ""
#~ "If the active field is set to true, it will allow you to hide the analytic "
#~ "journal without removing it."
#~ msgid "Partner Other Ledger"
#~ msgstr "Partner Other Ledger"
#~ msgid ""
#~ "If the active field is set to true, it will allow you to hide the account "
#~ "without removing it."
#~ msgstr ""
#~ "If the active field is set to true, it will allow you to hide the account "
#~ "without removing it."
#~ msgid ""
#~ "The best practice here is to use a journal dedicated to contain the opening "
#~ "entries of all fiscal years. Note that you should define it with default "
#~ "debit/credit accounts and with a centralized counterpart."
#~ msgstr ""
#~ "The best practice here is to use a journal dedicated to contain the opening "
#~ "entries of all fiscal years. Note that you should define it with default "
#~ "debit/credit accounts and with a centralized counterpart."
#~ msgid "account.analytic.journal"
#~ msgstr "account.analytic.journal"
#~ msgid ""
#~ "This account will be used for invoices to value expenses for the current "
#~ "product category"
#~ msgstr ""
#~ "This account will be used for invoices to value expenses for the current "
#~ "product category"
#~ msgid "Checks Journal - (test)"
#~ msgstr "Checks Journal - (test)"
#~ msgid "Low Level"
#~ msgstr "Low Level"
#~ msgid "account.move.line"
#~ msgstr "account.move.line"
#~ msgid "Print Taxes Report"
#~ msgstr "In báo cáo thuế"
@ -10880,9 +10413,6 @@ msgstr ""
#~ msgid "Fiscal Position Accounts Mapping"
#~ msgstr "Sơ đồ tài chính liên kết các tài khoản"
#~ msgid "Accounts Fiscal Mapping"
#~ msgstr "Sơ đồ liên kết các tài khoản tài chính"
#~ msgid "Status"
#~ msgstr "Trạng thái"
@ -10931,50 +10461,22 @@ msgstr ""
#~ msgid "Date Filter"
#~ msgstr "Lọc theo ngày"
#~ msgid "supplier"
#~ msgstr "nhà cung cấp"
#~ msgid "End of Year"
#~ msgstr "Kết thúc năm"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "XML không hợp lệ cho Kiến trúc Xem!"
#~ msgid "Error ! You can not create recursive Menu."
#~ msgstr "Lỗi ! Bạn không thể tạo trình đơn đệ quy."
#~ msgid "Invalid model name in the action definition."
#~ msgstr "Tên mô hình không hợp lệ khi định nghĩa hành động"
#~ msgid "OK"
#~ msgstr "Đồng ý"
#~ msgid ""
#~ "A supplier refund is a credit note from your supplier indicating that he "
#~ "refunds part or totality of the invoice sent to you."
#~ msgstr ""
#~ "A supplier refund is a credit note from your supplier indicating that he "
#~ "refunds part or totality of the invoice sent to you."
#, python-format
#~ msgid "Invoice "
#~ msgstr "Hóa đơn "
#~ msgid "Default UoM"
#~ msgstr "Đơn vị đo mặc định"
#~ msgid "Document"
#~ msgstr "Tài liệu"
#~ msgid ""
#~ "This Account is used for transferring Profit/Loss(If It is Profit: Amount "
#~ "will be added, Loss : Amount will be duducted.), Which is calculated from "
#~ "Profilt & Loss Report"
#~ msgstr ""
#~ "This Account is used for transferring Profit/Loss(If It is Profit: Amount "
#~ "will be added, Loss : Amount will be duducted.), Which is calculated from "
#~ "Profilt & Loss Report"
#~ msgid "Recurrent Entries"
#~ msgstr "Các bút toán thường xuyên"
@ -10984,3 +10486,6 @@ msgstr ""
#, python-format
#~ msgid "is validated."
#~ msgstr "đã được kiểm tra."
#~ msgid "Balance:"
#~ msgstr "Số dư:"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@
#
##############################################################################
import logging
import time
import datetime
from dateutil.relativedelta import relativedelta
@ -33,6 +34,7 @@ import tools
class account_installer(osv.osv_memory):
_name = 'account.installer'
_inherit = 'res.config.installer'
__logger = logging.getLogger(_name)
def _get_charts(self, cr, uid, context=None):
modules = self.pool.get('ir.module.module')
@ -232,16 +234,13 @@ class account_installer(osv.osv_memory):
cr, uid, ids, context=context)
chart = self.read(cr, uid, ids, ['charts'],
context=context)[0]['charts']
self.logger.notifyChannel(
'installer', netsvc.LOG_DEBUG,
'Installing chart of accounts %s'%chart)
self.__logger.debug('Installing chart of accounts %s', chart)
return modules | set([chart])
account_installer()
class account_installer_modules(osv.osv_memory):
_name = 'account.installer.modules'
_inherit = 'res.config.installer'
_inherit = 'base.setup.installer'
_columns = {
'account_analytic_plans': fields.boolean('Multiple Analytic Plans',
help="Allows invoice lines to impact multiple analytic accounts "
@ -253,16 +252,11 @@ class account_installer_modules(osv.osv_memory):
help="Helps you generate reminder letters for unpaid invoices, "
"including multiple levels of reminding and customized "
"per-partner policies."),
'account_voucher': fields.boolean('Voucher Management',
help="Account Voucher module includes all the basic requirements of "
"Voucher Entries for Bank, Cash, Sales, Purchase, Expenses, Contra, etc... "),
'account_anglo_saxon': fields.boolean('Anglo-Saxon Accounting',
help="This module will support the Anglo-Saxons accounting methodology by "
"changing the accounting logic with stock transactions."),
}
_defaults = {
'account_voucher': True,
'account_asset': fields.boolean('Assets Management',
help="Helps you to manage your assets and their depreciation entries."),
}
account_installer_modules()

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."),
@ -227,21 +227,21 @@ class account_invoice(osv.osv):
'tax_line': fields.one2many('account.invoice.tax', 'invoice_id', 'Tax Lines', readonly=True, states={'draft':[('readonly',False)]}),
'move_id': fields.many2one('account.move', 'Journal Entry', readonly=True, select=1, ondelete='restrict', help="Link to the automatically generated Journal Items."),
'amount_untaxed': fields.function(_amount_all, method=True, digits_compute=dp.get_precision('Account'), string='Untaxed',
'amount_untaxed': fields.function(_amount_all, digits_compute=dp.get_precision('Account'), string='Untaxed',
store={
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20),
'account.invoice.tax': (_get_invoice_tax, None, 20),
'account.invoice.line': (_get_invoice_line, ['price_unit','invoice_line_tax_id','quantity','discount','invoice_id'], 20),
},
multi='all'),
'amount_tax': fields.function(_amount_all, method=True, digits_compute=dp.get_precision('Account'), string='Tax',
'amount_tax': fields.function(_amount_all, digits_compute=dp.get_precision('Account'), string='Tax',
store={
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20),
'account.invoice.tax': (_get_invoice_tax, None, 20),
'account.invoice.line': (_get_invoice_line, ['price_unit','invoice_line_tax_id','quantity','discount','invoice_id'], 20),
},
multi='all'),
'amount_total': fields.function(_amount_all, method=True, digits_compute=dp.get_precision('Account'), string='Total',
'amount_total': fields.function(_amount_all, digits_compute=dp.get_precision('Account'), string='Total',
store={
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20),
'account.invoice.tax': (_get_invoice_tax, None, 20),
@ -252,7 +252,7 @@ class account_invoice(osv.osv):
'journal_id': fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}),
'check_total': fields.float('Total', digits_compute=dp.get_precision('Account'), states={'open':[('readonly',True)],'close':[('readonly',True)]}),
'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean',
'reconciled': fields.function(_reconciled, string='Paid/Reconciled', type='boolean',
store={
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, None, 50), # Check if we can remove ?
'account.move.line': (_get_invoice_from_line, None, 50),
@ -260,17 +260,17 @@ class account_invoice(osv.osv):
}, help="The Journal Entry of the invoice have been totally reconciled with one or several Journal Entries of payment."),
'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',
help='Bank Account Number, Company bank account if Invoice is customer or supplier refund, otherwise Partner bank account number.', readonly=True, states={'draft':[('readonly',False)]}),
'move_lines':fields.function(_get_lines, method=True, type='many2many', relation='account.move.line', string='Entry Lines'),
'residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual',
'move_lines':fields.function(_get_lines, type='many2many', relation='account.move.line', string='Entry Lines'),
'residual': fields.function(_amount_residual, digits_compute=dp.get_precision('Account'), string='Residual',
store={
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 50),
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line','move_id'], 50),
'account.invoice.tax': (_get_invoice_tax, None, 50),
'account.invoice.line': (_get_invoice_line, ['price_unit','invoice_line_tax_id','quantity','discount','invoice_id'], 50),
'account.move.line': (_get_invoice_from_line, None, 50),
'account.move.reconcile': (_get_invoice_from_reconcile, None, 50),
},
help="Remaining amount due."),
'payment_ids': fields.function(_compute_lines, method=True, relation='account.move.line', type="many2many", string='Payments'),
'payment_ids': fields.function(_compute_lines, relation='account.move.line', type="many2many", string='Payments'),
'move_name': fields.char('Journal Entry', size=64, readonly=True, states={'draft':[('readonly',False)]}),
'user_id': fields.many2one('res.users', 'Salesman', readonly=True, states={'draft':[('readonly',False)]}),
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position', readonly=True, states={'draft':[('readonly',False)]})
@ -1282,7 +1282,7 @@ class account_invoice_line(osv.osv):
'product_id': fields.many2one('product.product', 'Product', ondelete='set null'),
'account_id': fields.many2one('account.account', 'Account', required=True, domain=[('type','<>','view'), ('type', '<>', 'closed')], help="The income or expense account related to the selected product."),
'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Account')),
'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', type="float",
'price_subtotal': fields.function(_amount_line, string='Subtotal', type="float",
digits_compute= dp.get_precision('Account'), store=True),
'quantity': fields.float('Quantity', required=True),
'discount': fields.float('Discount (%)', digits_compute= dp.get_precision('Account')),
@ -1312,10 +1312,12 @@ class account_invoice_line(osv.osv):
res['arch'] = etree.tostring(doc)
return res
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None):
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None):
if context is None:
context = {}
company_id = context.get('company_id',False)
company_id = company_id if company_id != None else context.get('company_id',False)
context = dict(context)
context.update({'company_id': company_id})
if not partner_id:
raise osv.except_osv(_('No Partner Defined !'),_("You must first select a partner !") )
if not product:
@ -1386,7 +1388,12 @@ class account_invoice_line(osv.osv):
res_final['value']['price_unit'] = new_price
return res_final
def uos_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None):
def uos_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None):
if context is None:
context = {}
company_id = company_id if company_id != None else context.get('company_id',False)
context = dict(context)
context.update({'company_id': company_id})
warning = {}
res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context=context)
if 'uos_id' in res['value']:
@ -1505,8 +1512,8 @@ class account_invoice_tax(osv.osv):
'tax_code_id': fields.many2one('account.tax.code', 'Tax Code', help="The tax basis of the tax declaration."),
'tax_amount': fields.float('Tax Code Amount', digits_compute=dp.get_precision('Account')),
'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
'factor_base': fields.function(_count_factor, method=True, string='Multipication factor for Base code', type='float', multi="all"),
'factor_tax': fields.function(_count_factor, method=True, string='Multipication factor Tax code', type='float', multi="all")
'factor_base': fields.function(_count_factor, string='Multipication factor for Base code', type='float', multi="all"),
'factor_tax': fields.function(_count_factor, string='Multipication factor Tax code', type='float', multi="all")
}
def base_change(self, cr, uid, ids, base, currency_id=False, company_id=False, date_invoice=False):

View File

@ -142,15 +142,14 @@ class res_partner(osv.osv):
_columns = {
'credit': fields.function(_credit_debit_get,
fnct_search=_credit_search, method=True, string='Total Receivable', multi='dc', help="Total amount this customer owes you."),
'debit': fields.function(_credit_debit_get, fnct_search=_debit_search, method=True, string='Total Payable', multi='dc', help="Total amount you have to pay to this supplier."),
fnct_search=_credit_search, string='Total Receivable', multi='dc', help="Total amount this customer owes you."),
'debit': fields.function(_credit_debit_get, fnct_search=_debit_search, string='Total Payable', multi='dc', help="Total amount you have to pay to this supplier."),
'debit_limit': fields.float('Payable Limit'),
'property_account_payable': fields.property(
'account.account',
type='many2one',
relation='account.account',
string="Account Payable",
method=True,
view_load=True,
domain="[('type', '=', 'payable')]",
help="This account will be used instead of the default one as the payable account for the current partner",
@ -160,7 +159,6 @@ class res_partner(osv.osv):
type='many2one',
relation='account.account',
string="Account Receivable",
method=True,
view_load=True,
domain="[('type', '=', 'receivable')]",
help="This account will be used instead of the default one as the receivable account for the current partner",
@ -170,7 +168,6 @@ class res_partner(osv.osv):
type='many2one',
relation='account.fiscal.position',
string="Fiscal Position",
method=True,
view_load=True,
help="The fiscal position will determine taxes and the accounts used for the partner.",
),
@ -179,7 +176,6 @@ class res_partner(osv.osv):
type='many2one',
relation='account.payment.term',
string ='Payment Term',
method=True,
view_load=True,
help="This payment term will be used instead of the default one for the current partner"),
'ref_companies': fields.one2many('res.company', 'partner_id',

View File

@ -97,27 +97,30 @@
<form string="Bank account">
<field name="state"/>
<newline/>
<field name="acc_number" select="1"/>
<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>
@ -129,7 +132,7 @@
<act_window
id="action_analytic_open"
name="Analytic Accounts"
name="Contracts/Analytic Accounts"
res_model="account.analytic.account"
context="{'search_default_partner_id':[active_id], 'default_partner_id': active_id}"
src_model="res.partner"

View File

@ -29,7 +29,6 @@ class product_category(osv.osv):
type='many2one',
relation='account.account',
string="Income Account",
method=True,
view_load=True,
help="This account will be used for invoices to value sales for the current product category"),
'property_account_expense_categ': fields.property(
@ -37,7 +36,6 @@ class product_category(osv.osv):
type='many2one',
relation='account.account',
string="Expense Account",
method=True,
view_load=True,
help="This account will be used for invoices to value expenses for the current product category"),
}
@ -61,7 +59,6 @@ class product_template(osv.osv):
type='many2one',
relation='account.account',
string="Income Account",
method=True,
view_load=True,
help="This account will be used for invoices instead of the default one to value sales for the current product"),
'property_account_expense': fields.property(
@ -69,7 +66,6 @@ class product_template(osv.osv):
type='many2one',
relation='account.account',
string="Expense Account",
method=True,
view_load=True,
help="This account will be used for invoices instead of the default one to value expenses for the current product"),
}

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

@ -57,7 +57,7 @@
<field name="type">tree</field>
<field name="field_parent">child_complete_ids</field>
<field name="arch" type="xml">
<tree colors="blue:type in ('view');red:(date&lt;current_date);black:(date&gt;=current_date);black:(date==False)" string="Analytic account" toolbar="1">
<tree colors="blue:type == 'view';red:(date&lt;current_date);black:(date&gt;=current_date);black:(date==False)" string="Analytic account" toolbar="1">
<field name="name"/>
<field name="code"/>
<field name="quantity"/>
@ -215,12 +215,6 @@
<field name="user_id">
<filter string="My Entries" domain="[('user_id','=',uid)]" icon="terp-personal"/>
</field>
</group>
<newline/>
<group expand="0" string="Extended Filters...">
<field name="journal_id" widget="selection"/>
<field name="product_id" widget="selection"/>
<field name="amount" select="1"/>
</group>
<newline/>
<group string="Group By..." expand="0">

View File

@ -6,7 +6,7 @@
<field name="model">account.entries.report</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:move_state in ('draft');black:move_state in ('posted')" string="Entries Analysis">
<tree colors="blue:move_state == 'draft';black:move_state == 'posted'" string="Entries Analysis">
<field name="date" invisible="1"/>
<field name="date_created" invisible="1"/>
<field name="date_maturity" invisible="1"/>

View File

@ -6,7 +6,7 @@
<field name="model">account.invoice.report</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');gray:state in ('cancel','paid');black:state in ('proforma','proforma2')" string="Invoices Analysis">
<tree colors="blue:state == 'draft';gray:state in ('cancel','paid');black:state in ('proforma','proforma2')" string="Invoices Analysis">
<field name="date" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="year" invisible="1"/>

View File

@ -101,6 +101,7 @@ class report_pl_account_horizontal(report_sxw.rml_parse, common_report_header):
cal_list = {}
account_id = data['form'].get('chart_account_id', False)
company_currency = account_pool.browse(self.cr, self.uid, account_id).company_id.currency_id
account_ids = account_pool._get_children_and_consol(cr, uid, account_id, context=ctx)
accounts = account_pool.browse(cr, uid, account_ids, context=ctx)
@ -121,7 +122,10 @@ class report_pl_account_horizontal(report_sxw.rml_parse, common_report_header):
accounts_temp.append(account)
else:
accounts_temp.append(account)
if self.result_sum_dr > self.result_sum_cr:
if currency_pool.is_zero(self.cr, self.uid, company_currency, (self.result_sum_dr-self.result_sum_cr)):
self.res_pl['type'] = None
self.res_pl['balance'] = 0.0
elif self.result_sum_dr > self.result_sum_cr:
self.res_pl['type'] = _('Net Loss')
self.res_pl['balance'] = (self.result_sum_dr - self.result_sum_cr)
else:

View File

@ -114,7 +114,7 @@ class report_aged_receivable(osv.osv):
_columns = {
'name': fields.char('Month Range', size=7, readonly=True),
'balance': fields.function(_calc_bal, method=True, string='Balance', readonly=True),
'balance': fields.function(_calc_bal, string='Balance', readonly=True),
}
def init(self, cr, uid=1):

View File

@ -88,7 +88,7 @@
<field name="model">report.invoice.created</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');black:state in ('proforma','proforma2','open');gray:state in('paid','cancel') " string="Invoices">
<tree colors="blue:state == 'draft';black:state in ('proforma','proforma2','open');gray:state in('paid','cancel') " string="Invoices">
<field name="create_date" select="1"/>
<field name="name" select="1"/>
<field name="type"/>

View File

@ -31,12 +31,13 @@ class account_treasury_report(osv.osv):
def _compute_balances(self, cr, uid, ids, field_names, arg=None, context=None,
query='', query_params=()):
all_treasury_lines = self.search(cr, uid, [], context=context)
current_sum = 0
all_companies = self.pool.get('res.company').search(cr, uid, [], context=context)
current_sum = dict((company, 0.0) for company in all_companies)
res = dict((id, dict((fn, 0.0) for fn in field_names)) for id in all_treasury_lines)
for record in self.browse(cr, uid, all_treasury_lines, context=context):
res[record.id]['starting_balance'] = current_sum
current_sum += record.balance
res[record.id]['ending_balance'] = current_sum
res[record.id]['starting_balance'] = current_sum[record.company_id.id]
current_sum[record.company_id.id] += record.balance
res[record.id]['ending_balance'] = current_sum[record.company_id.id]
return res
_columns = {
@ -46,8 +47,8 @@ class account_treasury_report(osv.osv):
'credit': fields.float('Credit', readonly=True),
'balance': fields.float('Balance', readonly=True),
'date': fields.date('Beginning of Period Date', readonly=True),
'starting_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), method=True, string='Starting Balance', multi='balance'),
'ending_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), method=True, string='Ending Balance', multi='balance'),
'starting_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), string='Starting Balance', multi='balance'),
'ending_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), string='Ending Balance', multi='balance'),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
}

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