[MERGE] branch merged with lp:openobject-addons

bzr revid: mtr@tinyerp.com-20110916054138-93b3caomaij5dyp4
This commit is contained in:
Meera Trambadia (OpenERP) 2011-09-16 11:11:38 +05:30
commit d979aad3de
5787 changed files with 198606 additions and 187479 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."),
@ -623,7 +623,7 @@ class account_journal(osv.osv):
'currency': fields.many2one('res.currency', 'Currency', help='The currency used to enter statement'),
'entry_posted': fields.boolean('Skip \'Draft\' State for Manual Entries', help='Check this box if you don\'t want new journal entries to pass through the \'draft\' state and instead goes directly to the \'posted state\' without any manual validation. \nNote that journal entries that are automatically created by the system are always skipping that state.'),
'company_id': fields.many2one('res.company', 'Company', required=True, select=1, help="Company related to this journal"),
'allow_date':fields.boolean('Check Date not in the Period', help= 'If set to True then do not accept the entry if the entry date is not into the period dates'),
'allow_date':fields.boolean('Check Date in Period', help= 'If set to True then do not accept the entry if the entry date is not into the period dates'),
}
_defaults = {
@ -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)
}
@ -590,10 +588,18 @@ class account_move_line(osv.osv):
return False
return True
def _check_date(self, cr, uid, ids, context=None):
for l in self.browse(cr, uid, ids, context=context):
if l.journal_id.allow_date:
if not time.strptime(l.date[:10],'%Y-%m-%d') >= time.strptime(l.period_id.date_start, '%Y-%m-%d') or not time.strptime(l.date[:10], '%Y-%m-%d') <= time.strptime(l.period_id.date_stop, '%Y-%m-%d'):
return False
return True
_constraints = [
(_check_no_view, 'You can not create move line on view account.', ['account_id']),
(_check_no_closed, 'You can not create move line on closed account.', ['account_id']),
(_check_company_id, 'Company must be same for its related account and period.',['company_id'] ),
(_check_date, 'The date of your Journal Entry is not in the defined period!',['date'] ),
]
#TODO: ONCHANGE_ACCOUNT_ID: set account_tax_id
@ -1100,35 +1106,6 @@ class account_move_line(osv.osv):
move_obj.validate(cr, uid, move_ids, context=context)
return result
def _check_date(self, cr, uid, vals, context=None, check=True):
if context is None:
context = {}
move_obj = self.pool.get('account.move')
journal_obj = self.pool.get('account.journal')
period_obj = self.pool.get('account.period')
journal_id = False
if 'date' in vals.keys():
if 'journal_id' in vals and 'journal_id' not in context:
journal_id = vals['journal_id']
if 'period_id' in vals and 'period_id' not in context:
period_id = vals['period_id']
elif 'journal_id' not in context and 'move_id' in vals:
if vals.get('move_id', False):
m = move_obj.browse(cr, uid, vals['move_id'])
journal_id = m.journal_id.id
period_id = m.period_id.id
else:
journal_id = context.get('journal_id', False)
period_id = context.get('period_id', False)
if journal_id:
journal = journal_obj.browse(cr, uid, journal_id, context=context)
if journal.allow_date and period_id:
period = period_obj.browse(cr, uid, period_id, context=context)
if not time.strptime(vals['date'][:10],'%Y-%m-%d') >= time.strptime(period.date_start, '%Y-%m-%d') or not time.strptime(vals['date'][:10], '%Y-%m-%d') <= time.strptime(period.date_stop, '%Y-%m-%d'):
raise osv.except_osv(_('Error'),_('The date of your Journal Entry is not in the defined period!'))
else:
return True
def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
if context is None:
context={}
@ -1139,7 +1116,6 @@ class account_move_line(osv.osv):
ids = [ids]
if vals.get('account_tax_id', False):
raise osv.except_osv(_('Unable to change tax !'), _('You can not change the tax, you should remove and recreate lines !'))
self._check_date(cr, uid, vals, context, check)
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
if update_check:
@ -1223,7 +1199,6 @@ class account_move_line(osv.osv):
company_id = self.pool.get('account.move').read(cr, uid, vals['move_id'], ['company_id']).get('company_id', False)
if company_id:
vals['company_id'] = company_id[0]
self._check_date(cr, uid, vals, context, check)
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
if 'journal_id' in vals:
@ -1234,7 +1209,6 @@ class account_move_line(osv.osv):
m = move_obj.browse(cr, uid, vals['move_id'])
context['journal_id'] = m.journal_id.id
context['period_id'] = m.period_id.id
self._update_journal_check(cr, uid, context['journal_id'], context['period_id'], context)
move_id = vals.get('move_id', False)
journal = journal_obj.browse(cr, uid, context['journal_id'], context=context)

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>

View File

@ -451,8 +451,6 @@ msgstr ""
#: field:account.move.bank.reconcile,journal_id:0
#: view:account.move.line:0
#: field:account.move.line,journal_id:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: code:addons/account/account_move_line.py:983
#: view:analytic.entries.report:0
#: field:analytic.entries.report,journal_id:0
@ -1071,6 +1069,7 @@ msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.tax.code.entries:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
@ -1258,6 +1257,16 @@ msgstr ""
#: selection:account.partner.balance,display_partner:0
#: selection:account.pl.report,display_account:0
#: selection:account.report.general.ledger,display_account:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "With balance is not equal to 0"
msgstr ""
@ -1980,6 +1989,9 @@ msgstr ""
#. module: account
#: report:account.journal.period.print:0
#: field:account.print.journal,sort_selection:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
msgid "Entries Sorted By"
msgstr ""
@ -2001,11 +2013,16 @@ msgstr ""
#. module: account
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: view:account.entries.report:0
#: field:account.entries.report,fiscalyear_id:0
#: field:account.fiscalyear,name:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: field:account.journal.period,fiscalyear_id:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
@ -2305,6 +2322,7 @@ msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: report:account.overdue:0
#: report:account.third_party_ledger:0
@ -2537,6 +2555,8 @@ msgstr ""
#. module: account
#: view:account.pl.report:0
#: model:ir.ui.menu,name:account.menu_account_pl_report
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Profit And Loss"
msgstr ""
@ -2786,7 +2806,6 @@ msgstr ""
#: report:account.general.journal:0
#: field:account.general.journal,journal_ids:0
#: view:account.journal.period:0
#: report:account.partner.balance:0
#: field:account.partner.balance,journal_ids:0
#: field:account.partner.ledger,journal_ids:0
#: field:account.pl.report,journal_ids:0
@ -2800,6 +2819,17 @@ msgstr ""
#: model:ir.ui.menu,name:account.menu_action_account_journal_form
#: model:ir.ui.menu,name:account.menu_journals
#: model:ir.ui.menu,name:account.menu_journals_report
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.central.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Journals"
msgstr ""
@ -3001,6 +3031,7 @@ msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
msgid "Counterpart"
msgstr ""
@ -3477,11 +3508,10 @@ msgid "Analytic Balance"
msgstr ""
#. module: account
#: code:addons/account/report/account_balance_sheet.py:76
#: code:addons/account/report/account_balance_sheet.py:122
#: code:addons/account/report/account_profit_loss.py:76
#: code:addons/account/report/account_profit_loss.py:124
#, python-format
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Net Loss"
msgstr ""
@ -4267,7 +4297,6 @@ msgid "Analytic Balance -"
msgstr ""
#. module: account
#: report:account.account.balance:0
#: field:account.aged.trial.balance,target_move:0
#: field:account.balance.report,target_move:0
#: field:account.bs.report,target_move:0
@ -4280,10 +4309,8 @@ msgstr ""
#: field:account.common.report,target_move:0
#: report:account.general.journal:0
#: field:account.general.journal,target_move:0
#: report:account.general.ledger:0
#: report:account.journal.period.print:0
#: field:account.move.journal,target_move:0
#: report:account.partner.balance:0
#: field:account.partner.balance,target_move:0
#: field:account.partner.ledger,target_move:0
#: field:account.pl.report,target_move:0
@ -4293,6 +4320,16 @@ msgstr ""
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,target_move:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Target Moves"
msgstr ""
@ -4408,6 +4445,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:0
#: report:account.balancesheet.horizontal:0
msgid "Balance Sheet"
msgstr ""
@ -5081,6 +5120,19 @@ msgstr ""
#. module: account
#: code:addons/account/report/common_report_header.py:100
#, python-format
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
msgid "No Filter"
msgstr ""
@ -5938,6 +5990,7 @@ msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: view:account.report.general.ledger:0
#: model:ir.actions.act_window,name:account.action_account_general_ledger_menu
#: model:ir.actions.report.xml,name:account.account_general_ledger
@ -6756,6 +6809,7 @@ msgstr ""
#: view:account.entries.report:0
#: field:account.entries.report,partner_id:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: view:account.invoice:0
#: field:account.invoice,partner_id:0
#: field:account.invoice.line,partner_id:0
@ -6997,6 +7051,19 @@ msgstr ""
#: field:account.tax.chart,period_id:0
#: code:addons/account/account_move_line.py:982
#: field:validate.account.move,period_id:0
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
#, python-format
msgid "Period"
msgstr ""
@ -7068,11 +7135,17 @@ msgid "Company Currency"
msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
msgid "Chart of Account"
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Chart of Accounts"
msgstr ""
#. module: account
@ -7181,6 +7254,12 @@ msgstr ""
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.partner.balance:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Filter By"
msgstr ""
@ -7405,6 +7484,7 @@ msgstr ""
#: field:account.entries.report,currency_id:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: field:account.invoice,currency_id:0
#: field:account.invoice.report,currency_id:0
#: field:account.journal,currency:0
@ -7658,12 +7738,17 @@ msgstr ""
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.vat.declaration:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Start Period"
msgstr ""
@ -7775,7 +7860,12 @@ msgstr ""
#: report:account.central.journal:0
#: field:account.entries.report,balance:0
#: report:account.general.journal:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: field:account.move.line,balance:0
#: report:account.partner.balance:0
#: selection:account.payment.term.line,value:0
@ -7794,6 +7884,15 @@ msgstr ""
#. module: account
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Display Account"
msgstr ""
@ -7991,12 +8090,17 @@ msgstr ""
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.vat.declaration:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "End Period"
msgstr ""
@ -8186,6 +8290,7 @@ msgstr ""
#: field:account.entries.report,credit:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: field:account.model.line,credit:0
#: field:account.move.line,credit:0
@ -8262,6 +8367,18 @@ msgstr ""
#: selection:account.pl.report,filter:0
#: selection:account.print.journal,filter:0
#: selection:account.report.general.ledger,filter:0
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
#: view:account.vat.declaration:0
#: selection:account.vat.declaration,filter:0
@ -8463,13 +8580,10 @@ msgid "Tax Source"
msgstr ""
#. module: account
#: code:addons/account/report/account_balance_sheet.py:71
#: code:addons/account/report/account_balance_sheet.py:116
#: code:addons/account/report/account_balance_sheet.py:119
#: code:addons/account/report/account_balance_sheet.py:120
#: code:addons/account/report/account_profit_loss.py:71
#: code:addons/account/report/account_profit_loss.py:127
#, python-format
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Net Profit"
msgstr ""
@ -8493,7 +8607,7 @@ msgstr ""
#: report:account.general.ledger:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
msgid "JNRL"
msgid "JRNL"
msgstr ""
#. module: account
@ -8695,6 +8809,7 @@ msgstr ""
#: field:account.entries.report,debit:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: field:account.model.line,debit:0
#: field:account.move.line,debit:0
@ -8764,6 +8879,16 @@ msgstr ""
#: selection:account.common.account.report,display_account:0
#: selection:account.pl.report,display_account:0
#: selection:account.report.general.ledger,display_account:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "With movements"
msgstr ""
@ -9115,3 +9240,14 @@ msgstr ""
msgid "The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."
msgstr ""
#. module: account
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
msgid "Assets"
msgstr ""
#. module: account
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
msgid "Liabilities"
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

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

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

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

@ -112,7 +112,7 @@
<blockTable colWidths="110.0,110.0,110.0,110.0,128.0,93.0,110.0" style="Table8">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Chart of Account</para>
<para style="terp_tblheader_General_Centre">Chart of Accounts</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>

View File

@ -88,10 +88,10 @@ class account_balance(report_sxw.rml_parse, common_report_header):
}
self.sum_debit += account_rec['debit']
self.sum_credit += account_rec['credit']
if disp_acc == 'bal_movement':
if disp_acc == 'movement':
if not currency_obj.is_zero(self.cr, self.uid, currency, res['credit']) or not currency_obj.is_zero(self.cr, self.uid, currency, res['debit']) or not currency_obj.is_zero(self.cr, self.uid, currency, res['balance']):
self.result_acc.append(res)
elif disp_acc == 'bal_solde':
elif disp_acc == 'not_zero':
if not currency_obj.is_zero(self.cr, self.uid, currency, res['balance']):
self.result_acc.append(res)
else:

View File

@ -212,7 +212,7 @@
<blockTable colWidths="130.0,80.0,100.0,140.0,90.0" style="Table8">
<tr>
<td><para style="terp_tblheader_General_Centre">[[ data['model']=='account.account' and 'Company'or removeParentNode('para') ]]</para>
<para style="terp_tblheader_General_Centre"> [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]]</para></td>
<para style="terp_tblheader_General_Centre"> [[ data['model']=='ir.ui.menu' and 'Chart of Accounts' or removeParentNode('para') ]]</para></td>
<td>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>
</td>
@ -233,7 +233,7 @@
<td>
<para style="terp_default_Centre_8">[[ get_fiscalyear(data) or '' ]]</para>
</td>
<td><para style="terp_default_Centre_8">[[ (data['form']['display_account']=='bal_all' and 'All') or (data['form']['display_account']=='bal_movement' and 'With movements') or 'With balance is not equal to 0']]</para></td>
<td><para style="terp_default_Centre_8">[[ (data['form']['display_account']=='all' and 'All') or (data['form']['display_account']=='movement' and 'With movements') or 'With balance is not equal to 0']]</para></td>
<td> <para style="terp_default_Centre_8">[[ get_filter(data)=='No Filter' and get_filter(data) or removeParentNode('para') ]] </para>
<blockTable colWidths="60.0,60.0" style="Table5">[[ get_filter(data)=='Date' or removeParentNode('blockTable') ]]
<tr>

View File

@ -137,16 +137,17 @@ class report_balancesheet_horizontal(report_sxw.rml_parse, common_report_header)
'name': account.name,
'level': account.level,
'balance':account.balance,
'type': account.type,
}
currency = account.currency_id and account.currency_id or account.company_id.currency_id
if typ == 'liability' and account.type <> 'view' and (account.debit <> account.credit):
self.result_sum_dr += account.balance
if typ == 'asset' and account.type <> 'view' and (account.debit <> account.credit):
self.result_sum_cr += account.balance
if data['form']['display_account'] == 'bal_movement':
if data['form']['display_account'] == 'movement':
if not currency_pool.is_zero(self.cr, self.uid, currency, account.credit) or not currency_pool.is_zero(self.cr, self.uid, currency, account.debit) or not currency_pool.is_zero(self.cr, self.uid, currency, account.balance):
accounts_temp.append(account_dict)
elif data['form']['display_account'] == 'bal_solde':
elif data['form']['display_account'] == 'not_zero':
if not currency_pool.is_zero(self.cr, self.uid, currency, account.balance):
accounts_temp.append(account_dict)
else:
@ -163,10 +164,12 @@ class report_balancesheet_horizontal(report_sxw.rml_parse, common_report_header)
for i in range(0,max(len(cal_list['liability']),len(cal_list['asset']))):
if i < len(cal_list['liability']) and i < len(cal_list['asset']):
temp={
'type': cal_list['liability'][i]['type'],
'code': cal_list['liability'][i]['code'],
'name': cal_list['liability'][i]['name'],
'level': cal_list['liability'][i]['level'],
'balance':cal_list['liability'][i]['balance'],
'type1': cal_list['asset'][i]['type'],
'code1': cal_list['asset'][i]['code'],
'name1': cal_list['asset'][i]['name'],
'level1': cal_list['asset'][i]['level'],
@ -176,10 +179,12 @@ class report_balancesheet_horizontal(report_sxw.rml_parse, common_report_header)
else:
if i < len(cal_list['asset']):
temp={
'type': '',
'code': '',
'name': '',
'level': False,
'balance':False,
'type1': cal_list['asset'][i]['type'],
'code1': cal_list['asset'][i]['code'],
'name1': cal_list['asset'][i]['name'],
'level1': cal_list['asset'][i]['level'],
@ -188,10 +193,12 @@ class report_balancesheet_horizontal(report_sxw.rml_parse, common_report_header)
self.result_temp.append(temp)
if i < len(cal_list['liability']):
temp={
'type': cal_list['liability'][i]['type'],
'code': cal_list['liability'][i]['code'],
'name': cal_list['liability'][i]['name'],
'level': cal_list['liability'][i]['level'],
'balance':cal_list['liability'][i]['balance'],
'type1': '',
'code1': '',
'name1': '',
'level1': False,

View File

@ -26,7 +26,6 @@
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,1" stop="-1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table5">
<blockAlignment value="LEFT"/>
@ -115,7 +114,7 @@
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_header_Left" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
@ -124,6 +123,36 @@
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_1_code" fontName="Helvetica-Bold" fontSize="9.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_1_name" fontName="Helvetica-Bold" fontSize="9.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_1_balance" fontName="Helvetica-Bold" fontSize="9.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_2_code" fontName="Helvetica-Bold" fontSize="8.0" leftIndent="0.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_2_name" fontName="Helvetica-Bold" fontSize="8.0" leftIndent="10.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_2_balance" fontName="Helvetica-Bold" fontSize="8.0" leftIndent=".0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_3_code" fontName="Helvetica" fontSize="8.0" leftIndent="0.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_3_code_bold" fontName="Helvetica-Bold" fontSize="8.0" leftIndent="0.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_3_name" fontName="Helvetica" fontSize="8.0" leftIndent="20.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_3_name_bold" fontName="Helvetica-Bold" fontSize="8.0" leftIndent="20.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_3_balance" fontName="Helvetica" fontSize="8.0" leftIndent="0.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_3_balance_bold" fontName="Helvetica-Bold" fontSize="8.0" leftIndent="0.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_4_name" fontName="Helvetica" fontSize="8.0" leftIndent="30.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_level_4_name_bold" fontName="Helvetica-Bold" fontSize="8.0" leftIndent="30.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<blockTableStyle id="Table1">
<blockTopPadding start="0,0" stop="-1,0" length="15"/>
<blockFont name="Helvetica-Bold" size="10.0" />
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,1" thickness="1"/>
</blockTableStyle>
<blockTableStyle id="Table2">
<blockTopPadding start="0,0" stop="-1,0" length="10"/>
<blockAlignment value="LEFT"/>
<lineStyle kind="LINEBELOW" colorName="#666666" start="1,1" stop="1,1"/>
</blockTableStyle>
<blockTableStyle id="Table3">
<blockValign value="TOP"/>
</blockTableStyle>
</stylesheet>
<images/>
<story>
@ -143,9 +172,9 @@
</para>
<blockTable colWidths="120.0,100.0,140.0,90.0,90.0" style="Table2_header" >
<tr>
<td><para style="terp_tblheader_General_Centre">Chart of Account </para></td>
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Filter By <font>[[ get_filter(data)!='No Filter' and '' or removeParentNode('font') ]]</font></para></td>
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para></td>
<td><para style="terp_tblheader_General_Centre">Display Account</para></td>
<td><para style="terp_tblheader_General_Centre">Target Moves</para></td>
</tr>
@ -174,7 +203,7 @@
</tr>
</blockTable>
</td>
<td><para style="terp_default_Centre_8">[[ (data['form']['display_account']=='bal_all' and 'All') or (data['form']['display_account']=='bal_movement' and 'With movements') or 'With balance is not equal to 0']]</para></td>
<td><para style="terp_default_Centre_8">[[ (data['form']['display_account']=='all' and 'All') or (data['form']['display_account']=='movement' and 'With movements') or 'With balance is not equal to 0']]</para></td>
<td><para style="terp_default_Centre_8">[[ get_target_move(data) ]] </para></td>
</tr>
</blockTable>
@ -187,35 +216,32 @@
<blockTable colWidths="539.0" style="Table_Company_Name">
<tr>
<td>
<para style="terp_header_Centre">Assets</para>
<para style="terp_header_Left">Assets</para>
</td>
</tr>
</blockTable>
<para style="terp_default_9">
<font color="white"> </font>
</para>
<blockTable colWidths="100.0,326.0,113.0" style="Table1" repeatRows="1">
<blockTable colWidths="100.0,326.0,113.0" style="Table_Account_Line_Title" repeatRows="1">
<tr>
<td>
<para style="terp_default_Bold_9">Code</para>
</td>
<td>
<para style="terp_default_Bold_9">Assets</para>
<para style="terp_default_Bold_9">Account</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Balance</para>
</td>
</tr>
<tr>
<td>
<para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines_another('asset'), 'a') ]]</font>[[ a['code'] ]]<font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]]</font></para>
</td>
<td>
<para style="terp_default_9"><font color="white">[[ '. '*(a['level']-1) ]]</font><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]][[ a['name'] ]]</font></para>
</td>
<td>
<para style="terp_default_Right_9"><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font') ]]</font><font>[[ formatLang(a['balance']) ]] [[ company.currency_id.symbol ]]</font></para>
</td>
<tr style="Table3">
[[ repeatIn(get_lines_another('asset'),'a' ) ]]
[[ setTag('tr','tr',{'style': 'Table'+str(min(3,a['level']))}) ]]
<td><para style="terp_level_3_code">[[ (a['type'] =='view' and a['level'] &gt;= 3) and setTag('para','para',{'style': 'terp_level_3_code_bold'}) or setTag('para','para',{'style': 'terp_level_'+str(min(3,a['level']))+'_code'}) ]]<i>[[ a['code'] ]]</i></para></td>
<td><para style="terp_level_3_name">[[ (a['type'] =='view' and a['level'] &gt;= 3) and setTag('para','para',{'style': 'terp_level_'+str(min(3,a['level']))+'_name_bold'}) or setTag('para','para',{'style': 'terp_level_'+str(min(4,a['level']))+'_name'}) ]][[ a['name'] ]]</para></td>
<td>[[ (a['level'] &lt;&gt;2) or removeParentNode('td') ]]<para style="terp_level_3_balance">[[ (a['type'] =='view' and a['level'] &gt;= 3) and setTag('para','para',{'style': 'terp_level_3_balance_bold'}) or setTag('para','para',{'style': 'terp_level_'+str(min(3,a['level']))+'_balance'}) ]][[ formatLang(a['balance']) ]] [[company.currency_id.symbol ]]</para></td>
<td>[[ a['level'] == 2 or removeParentNode('td') ]]<para style="terp_level_2_balance"><u>[[ formatLang(a['balance']) ]] [[company.currency_id.symbol ]]</u></para></td>
</tr>
</blockTable>
<blockTable colWidths="426.0,113.0" style="Table_Net_Profit_Loss">
@ -235,7 +261,7 @@
<blockTable colWidths="539.0" style="Table_Company_Name">
<tr>
<td>
<para style="terp_header_Centre">Liabilities</para>
<para style="terp_header_Left">Liabilities</para>
</td>
</tr>
</blockTable>
@ -245,22 +271,19 @@
<para style="terp_default_Bold_9">Code</para>
</td>
<td>
<para style="terp_default_Bold_9">Liabilities</para>
<para style="terp_default_Bold_9">Account</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Balance</para>
</td>
</tr>
<tr>
<td>
<para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines_another('liability'), 'a') ]]</font>[[ a['code'] ]]<font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]] </font><font>[[ a['name']=='Net Profit' and setTag('para','para',{'style':'terp_default_Bold_9'}) or removeParentNode('font') ]]</font></para>
</td>
<td>
<para style="terp_default_9"><font color="white">[[ '. '*(a['level']-1) ]]</font><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]][[ a['name'] ]]</font><font>[[ a['name']=='Net Profit' and setTag('para','para',{'style':'terp_default_Bold_9'}) or removeParentNode('font') ]]</font></para>
</td>
<td>
<para style="terp_default_Right_9"><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font') ]]</font><font>[[ formatLang(a['balance']) ]] [[ company.currency_id.symbol ]]</font><font>[[ a['name']=='Net Profit' and setTag('para','para',{'style':'terp_default_Right_9_Bold'}) or removeParentNode('font') ]]</font></para>
</td>
<tr style="Table3">
[[ repeatIn(get_lines_another('liability'),'a' ) ]]
[[ setTag('tr','tr',{'style': 'Table'+str(min(3,a['level']))}) ]]
<td><para style="terp_level_3_code">[[ (a['type'] =='view' and a['level'] &gt;= 3) and setTag('para','para',{'style': 'terp_level_3_code_bold'}) or setTag('para','para',{'style': 'terp_level_'+str(min(3,a['level']))+'_code'}) ]]<i>[[ a['code'] ]]</i></para></td>
<td><para style="terp_level_3_name">[[ (a['type'] =='view' and a['level'] &gt;= 3) and setTag('para','para',{'style': 'terp_level_'+str(min(3,a['level']))+'_name_bold'}) or setTag('para','para',{'style': 'terp_level_'+str(min(4,a['level']))+'_name'}) ]][[ a['name'] ]]</para></td>
<td>[[ (a['level'] &lt;&gt;2) or removeParentNode('td') ]]<para style="terp_level_3_balance">[[ (a['type'] =='view' and a['level'] &gt;= 3) and setTag('para','para',{'style': 'terp_level_3_balance_bold'}) or setTag('para','para',{'style': 'terp_level_'+str(min(3,a['level']))+'_balance'}) ]][[ formatLang(a['balance']) ]] [[company.currency_id.symbol ]]</para></td>
<td>[[ a['level'] == 2 or removeParentNode('td') ]]<para style="terp_level_2_balance"><u>[[ formatLang(a['balance']) ]] [[company.currency_id.symbol ]]</u></para></td>
</tr>
</blockTable>
<blockTable colWidths="426.0,113.0" style="Table_Net_Profit_Loss">

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