Merge remote-tracking branch 'odoo/master' into master-inline-searchview-ged

This commit is contained in:
Géry Debongnie 2014-06-10 11:43:17 +02:00
commit 8202561511
200 changed files with 15525 additions and 47742 deletions

4
.gitignore vendored
View File

@ -3,6 +3,7 @@ _build/
# dotfiles
.*
!.gitignore
# compiled python files
*.py[co]
# setup.py egg_info
@ -12,7 +13,8 @@ _build/
# hg stuff
*.orig
status
# odoo filestore
openerp/filestore
# generated for windows installer?
install/win32/*.bat
install/win32/meta.py

View File

@ -6,7 +6,7 @@ Odoo is a suite of web based open source business apps. More info at http://www
The easiest way to play with it is the <a href="https://www.odoo.com/page/start">Odoo free trial</a>, email registration is NOT required, use the "skip this step" link on the registration page to skip it.
Getting started with Odoo developement
Getting started with Odoo development
--------------------------------------
If you are a developer type the following command at your terminal [1]:

View File

@ -65,6 +65,7 @@ for a particular financial year and for preparation of vouchers there is a modul
'wizard/account_period_close_view.xml',
'wizard/account_reconcile_view.xml',
'wizard/account_unreconcile_view.xml',
'wizard/account_statement_from_invoice_view.xml',
'account_view.xml',
'account_report.xml',
'account_financial_report_data.xml',
@ -144,6 +145,7 @@ for a particular financial year and for preparation of vouchers there is a modul
'qweb' : [
"static/src/xml/account_move_reconciliation.xml",
"static/src/xml/account_move_line_quickadd.xml",
"static/src/xml/account_bank_statement_reconciliation.xml",
],
'demo': [
'demo/account_demo.xml',
@ -151,6 +153,7 @@ for a particular financial year and for preparation of vouchers there is a modul
'project/analytic_account_demo.xml',
'demo/account_minimal.xml',
'demo/account_invoice_demo.xml',
'demo/account_bank_statement.xml',
'account_unit_test.xml',
],
'test': [

View File

@ -2075,6 +2075,11 @@ class account_tax(osv.osv):
cur_price_unit+=amount2
return res
def compute_for_bank_reconciliation(self, cr, uid, tax_id, amount, context=None):
""" Called by RPC by the bank statement reconciliation widget """
tax = self.browse(cr, uid, tax_id, context=context)
return self.compute_all(cr, uid, [tax], amount, 1) # TOCHECK may use force_exclude parameter
def compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False):
"""
:param force_excluded: boolean used to say that we don't want to consider the value of field price_include of

View File

@ -19,11 +19,10 @@
#
##############################################################################
import time
from openerp.osv import fields, osv
from openerp.tools.translate import _
import openerp.addons.decimal_precision as dp
from openerp.report import report_sxw
class account_bank_statement(osv.osv):
def create(self, cr, uid, vals, context=None):
@ -66,6 +65,18 @@ class account_bank_statement(osv.osv):
return periods[0]
return False
def _compute_default_statement_name(self, cr, uid, context=None):
if context is None:
context = {}
obj_seq = self.pool.get('ir.sequence')
default_journal_id = self._default_journal_id(cr, uid, context=context)
if default_journal_id != False:
period = self.pool.get('account.period').browse(cr, uid, self._get_period(cr, uid, context=context), context=context)
context['fiscalyear_id'] = period.fiscalyear_id.id
journal = self.pool.get('account.journal').browse(cr, uid, default_journal_id, None)
return obj_seq.next_by_id(cr, uid, journal.sequence_id.id, context=context)
return obj_seq.next_by_code(cr, uid, 'account.bank.statement', context=context)
def _currency(self, cursor, user, ids, name, args, context=None):
res = {}
res_currency_obj = self.pool.get('res.currency')
@ -92,12 +103,18 @@ class account_bank_statement(osv.osv):
result[line.statement_id.id] = True
return result.keys()
def _all_lines_reconciled(self, cr, uid, ids, name, args, context=None):
res = {}
for statement in self.browse(cr, uid, ids, context=context):
res[statement.id] = all([line.journal_entry_id.id for line in statement.line_ids])
return res
_order = "date desc, id desc"
_name = "account.bank.statement"
_description = "Bank Statement"
_inherit = ['mail.thread']
_columns = {
'name': fields.char('Reference', 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'), # readonly for account_cash_statement
'name': fields.char('Reference', size=64, 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'), # readonly for account_cash_statement
'date': fields.date('Date', required=True, states={'confirm': [('readonly', True)]}, select=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True,
readonly=True, states={'draft':[('readonly',False)]}),
@ -129,10 +146,11 @@ class account_bank_statement(osv.osv):
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.'),
'cash_control': fields.related('journal_id', 'cash_control' , type='boolean', relation='account.journal',string='Cash control'),
'all_lines_reconciled': fields.function(_all_lines_reconciled, string='All lines reconciled', type='boolean'),
}
_defaults = {
'name': "/",
'name': _compute_default_statement_name,
'date': fields.date.context_today,
'state': 'draft',
'journal_id': _default_journal_id,
@ -193,37 +211,6 @@ class account_bank_statement(osv.osv):
'ref': st_line.ref,
}
def _prepare_bank_move_line(self, cr, uid, st_line, move_id, amount, company_currency_id,
context=None):
"""Compute the args to build the dict of values to create the bank move line from a
statement line by calling the _prepare_move_line_vals. This method may be
overridden to implement custom move generation (making sure to call super() to
establish a clean extension chain).
:param browse_record st_line: account.bank.statement.line record to
create the move from.
:param int/long move_id: ID of the account.move to link the move line
:param float amount: amount of the move line
:param int/long company_currency_id: ID of currency of the concerned company
:return: dict of value to create() the bank account.move.line
"""
anl_id = st_line.analytic_account_id and st_line.analytic_account_id.id or False
debit = ((amount<0) and -amount) or 0.0
credit = ((amount>0) and amount) or 0.0
cur_id = False
amt_cur = False
if st_line.statement_id.currency.id <> company_currency_id:
cur_id = st_line.statement_id.currency.id
if st_line.account_id and st_line.account_id.currency_id and st_line.account_id.currency_id.id <> company_currency_id:
cur_id = st_line.account_id.currency_id.id
if cur_id:
res_currency_obj = self.pool.get('res.currency')
amt_cur = -res_currency_obj.compute(cr, uid, company_currency_id, cur_id, amount, context=context)
res = self._prepare_move_line_vals(cr, uid, st_line, move_id, debit, credit,
amount_currency=amt_cur, currency_id=cur_id, analytic_id=anl_id, context=context)
return res
def _get_counter_part_account(sefl, cr, uid, st_line, context=None):
"""Retrieve the account to use in the counterpart move.
This method may be overridden to implement custom move generation (making sure to
@ -248,8 +235,7 @@ class account_bank_statement(osv.osv):
"""
return st_line.partner_id and st_line.partner_id.id or False
def _prepare_counterpart_move_line(self, cr, uid, st_line, move_id, amount, company_currency_id,
context=None):
def _prepare_bank_move_line(self, cr, uid, st_line, move_id, amount, company_currency_id, context=None):
"""Compute the args to build the dict of values to create the counter part move line from a
statement line by calling the _prepare_move_line_vals. This method may be
overridden to implement custom move generation (making sure to call super() to
@ -266,19 +252,22 @@ class account_bank_statement(osv.osv):
account_id = self._get_counter_part_account(cr, uid, st_line, context=context)
partner_id = self._get_counter_part_partner(cr, uid, st_line, context=context)
debit = ((amount > 0) and amount) or 0.0
credit = ((amount < 0) and -amount) or 0.0
credit = ((amount < 0) and -amount) or 0.0
cur_id = False
amt_cur = False
if st_line.statement_id.currency.id <> company_currency_id:
if st_line.statement_id.currency.id != company_currency_id:
amt_cur = st_line.amount
cur_id = st_line.statement_id.currency.id
cur_id = st_line.currency_id or st_line.statement_id.currency.id
# TODO : FIXME the amount should be in the journal currency
if st_line.currency_id and st_line.amount_currency:
amt_cur = st_line.amount_currency
cur_id = st_line.currency_id.id
return self._prepare_move_line_vals(cr, uid, st_line, move_id, debit, credit,
amount_currency = amt_cur, currency_id = cur_id, account_id = account_id,
partner_id = partner_id, context=context)
amount_currency=amt_cur, currency_id=cur_id, account_id=account_id,
partner_id=partner_id, context=context)
def _prepare_move_line_vals(self, cr, uid, st_line, move_id, debit, credit, currency_id = False,
amount_currency= False, account_id = False, analytic_id = False,
partner_id = False, context=None):
def _prepare_move_line_vals(self, cr, uid, st_line, move_id, debit, credit, currency_id=False,
amount_currency=False, account_id=False, partner_id=False, context=None):
"""Prepare the dict of values to create the move line from a
statement line. All non-mandatory args will replace the default computed one.
This method may be overridden to implement custom move generation (making sure to
@ -293,7 +282,6 @@ class account_bank_statement(osv.osv):
:param float amount_currency: amount of the debit/credit expressed in the currency_id
:param int/long account_id: ID of the account to use in the move line if different
from the statement line account ID
:param int/long analytic_id: ID of analytic account to put on the move line
:param int/long partner_id: ID of the partner to put on the move line
:return: dict of value to create() the account.move.line
"""
@ -314,67 +302,8 @@ class account_bank_statement(osv.osv):
'period_id': st_line.statement_id.period_id.id,
'currency_id': amount_currency and cur_id,
'amount_currency': amount_currency,
'analytic_account_id': analytic_id,
}
def create_move_from_st_line(self, cr, uid, st_line_id, company_currency_id, st_line_number, context=None):
"""Create the account move from the statement line.
:param int/long st_line_id: ID of the account.bank.statement.line to create the move from.
:param int/long company_currency_id: ID of the res.currency of the company
:param char st_line_number: will be used as the name of the generated account move
:return: ID of the account.move created
"""
if context is None:
context = {}
res_currency_obj = self.pool.get('res.currency')
account_move_obj = self.pool.get('account.move')
account_move_line_obj = self.pool.get('account.move.line')
account_bank_statement_line_obj = self.pool.get('account.bank.statement.line')
st_line = account_bank_statement_line_obj.browse(cr, uid, st_line_id, context=context)
st = st_line.statement_id
context.update({'date': st_line.date})
move_vals = self._prepare_move(cr, uid, st_line, st_line_number, context=context)
move_id = account_move_obj.create(cr, uid, move_vals, context=context)
account_bank_statement_line_obj.write(cr, uid, [st_line.id], {
'move_ids': [(4, move_id, False)]
})
torec = []
acc_cur = ((st_line.amount<=0) and st.journal_id.default_debit_account_id) or st_line.account_id
context.update({
'res.currency.compute.account': acc_cur,
})
amount = res_currency_obj.compute(cr, uid, st.currency.id,
company_currency_id, st_line.amount, context=context)
bank_move_vals = self._prepare_bank_move_line(cr, uid, st_line, move_id, amount,
company_currency_id, context=context)
move_line_id = account_move_line_obj.create(cr, uid, bank_move_vals, context=context)
torec.append(move_line_id)
counterpart_move_vals = self._prepare_counterpart_move_line(cr, uid, st_line, move_id,
amount, company_currency_id, context=context)
account_move_line_obj.create(cr, uid, counterpart_move_vals, context=context)
for line in account_move_line_obj.browse(cr, uid, [x.id for x in
account_move_obj.browse(cr, uid, move_id,
context=context).line_id],
context=context):
if line.state <> 'valid':
raise osv.except_osv(_('Error!'),
_('Journal item "%s" is not valid.') % line.name)
# Bank statements will not consider boolean on journal entry_posted
account_move_obj.post(cr, uid, [move_id], context=context)
return move_id
def get_next_st_line_number(self, cr, uid, st_number, st_line, context=None):
return st_number + '/' + str(st_line.sequence)
def balance_check(self, cr, uid, st_id, journal_type='bank', context=None):
st = self.browse(cr, uid, st_id, context=context)
if not ((abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001) or (abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001)):
@ -389,49 +318,30 @@ class account_bank_statement(osv.osv):
return state in ('draft','open')
def button_confirm_bank(self, cr, uid, ids, context=None):
obj_seq = self.pool.get('ir.sequence')
if context is None:
context = {}
for st in self.browse(cr, uid, ids, context=context):
j_type = st.journal_id.type
company_currency_id = st.journal_id.company_id.currency_id.id
if not self.check_status_condition(cr, uid, st.state, journal_type=j_type):
continue
self.balance_check(cr, uid, st.id, journal_type=j_type, context=context)
if (not st.journal_id.default_credit_account_id) \
or (not st.journal_id.default_debit_account_id):
raise osv.except_osv(_('Configuration Error!'),
_('Please verify that an account is defined in the journal.'))
if not st.name == '/':
st_number = st.name
else:
c = {'fiscalyear_id': st.period_id.fiscalyear_id.id}
if st.journal_id.sequence_id:
st_number = obj_seq.next_by_id(cr, uid, st.journal_id.sequence_id.id, context=c)
else:
st_number = obj_seq.next_by_code(cr, uid, 'account.bank.statement', context=c)
raise osv.except_osv(_('Configuration Error!'), _('Please verify that an account is defined in the journal.'))
for line in st.move_line_ids:
if line.state <> 'valid':
raise osv.except_osv(_('Error!'),
_('The account entries lines are not in valid state.'))
raise osv.except_osv(_('Error!'), _('The account entries lines are not in valid state.'))
move_ids = []
for st_line in st.line_ids:
if st_line.analytic_account_id:
if not st.journal_id.analytic_journal_id:
raise osv.except_osv(_('No Analytic Journal!'),_("You have to assign an analytic journal on the '%s' journal!") % (st.journal_id.name,))
if not st_line.amount:
continue
st_line_number = self.get_next_st_line_number(cr, uid, st_number, st_line, context)
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
self.write(cr, uid, [st.id], {
'name': st_number,
'balance_end_real': st.balance_end
}, context=context)
self.message_post(cr, uid, [st.id], body=_('Statement %s confirmed, journal items were created.') % (st_number,), context=context)
if not st_line.journal_entry_id.id:
raise osv.except_osv(_('Error!'), _('All the account entries lines must be processed in order to close the statement.'))
move_ids.append(st_line.journal_entry_id.id)
self.pool.get('account.move').post(cr, uid, move_ids, context=context)
self.message_post(cr, uid, [st.id], body=_('Statement %s confirmed, journal items were created.') % (st.name,), context=context)
return self.write(cr, uid, ids, {'state':'confirm'}, context=context)
def button_cancel(self, cr, uid, ids, context=None):
@ -492,93 +402,356 @@ class account_bank_statement(osv.osv):
return super(account_bank_statement, self).copy(cr, uid, id, default, context=context)
def button_journal_entries(self, cr, uid, ids, context=None):
ctx = (context or {}).copy()
ctx['journal_id'] = self.browse(cr, uid, ids[0], context=context).journal_id.id
return {
'name': _('Journal Items'),
'view_type':'form',
'view_mode':'tree',
'res_model':'account.move.line',
'view_id':False,
'type':'ir.actions.act_window',
'domain':[('statement_id','in',ids)],
'context':ctx,
}
ctx = (context or {}).copy()
ctx['journal_id'] = self.browse(cr, uid, ids[0], context=context).journal_id.id
return {
'name': _('Journal Items'),
'view_type':'form',
'view_mode':'tree',
'res_model':'account.move.line',
'view_id':False,
'type':'ir.actions.act_window',
'domain':[('statement_id','in',ids)],
'context':ctx,
}
def number_of_lines_reconciled(self, cr, uid, id, context=None):
bsl_obj = self.pool.get('account.bank.statement.line')
return bsl_obj.search_count(cr, uid, [('statement_id','=',id), ('journal_entry_id','!=',False)], context=context)
def get_format_currency_js_function(self, cr, uid, id, context=None):
""" Returns a string that can be used to instanciate a javascript function.
That function formats a number according to the statement's journal currency """
company_currency = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id
currency_obj = id and self.browse(cr, uid, id, context=context).journal_id.currency or company_currency
digits = 2 # TODO : from currency_obj
if currency_obj.position == 'after':
return "return amount.toFixed("+str(digits)+") + ' "+currency_obj.symbol+"';"
elif currency_obj.position == 'before':
return "return '"+currency_obj.symbol+" ' + amount.toFixed("+str(digits)+");"
class account_bank_statement_line(osv.osv):
def onchange_partner_id(self, cr, uid, ids, partner_id, context=None):
obj_partner = self.pool.get('res.partner')
if context is None:
context = {}
if not partner_id:
return {}
part = obj_partner.browse(cr, uid, partner_id, context=context)
if not part.supplier and not part.customer:
type = 'general'
elif part.supplier and part.customer:
type = 'general'
else:
if part.supplier == True:
type = 'supplier'
if part.customer == True:
type = 'customer'
res_type = self.onchange_type(cr, uid, ids, partner_id=partner_id, type=type, context=context)
if res_type['value'] and res_type['value'].get('account_id', False):
return {'value': {'type': type, 'account_id': res_type['value']['account_id']}}
return {'value': {'type': type}}
def get_data_for_reconciliations(self, cr, uid, ids, context=None):
""" Used to instanciate a batch of reconciliations in a single request """
# Build a list of reconciliations data
ret = []
mv_line_ids_selected = []
for st_line_id in ids:
reconciliation_data = {
'st_line': self.get_statement_line_for_reconciliation(cr, uid, st_line_id, context),
'reconciliation_proposition': self.get_reconciliation_proposition(cr, uid, st_line_id, mv_line_ids_selected, context)
}
for mv_line in reconciliation_data['reconciliation_proposition']:
mv_line_ids_selected.append(mv_line['id'])
ret.append(reconciliation_data);
# Check if, now that 'candidate' move lines were selected, there are moves left for statement lines
for reconciliation_data in ret:
if not reconciliation_data['st_line']['has_no_partner']:
if self.get_move_lines_counterparts(cr, uid, reconciliation_data['st_line']['id'], excluded_ids=mv_line_ids_selected, count=True, context=context) == 0:
reconciliation_data['st_line']['no_match'] = True
return ret
def onchange_type(self, cr, uid, line_id, partner_id, type, context=None):
res = {'value': {}}
obj_partner = self.pool.get('res.partner')
def get_statement_line_for_reconciliation(self, cr, uid, id, context=None):
""" Returns the data required by the bank statement reconciliation use case """
line = self.browse(cr, uid, id, context=context)
statement_currency = line.journal_id.currency or line.journal_id.company_id.currency_id
rml_parser = report_sxw.rml_parse(cr, uid, 'statement_line_widget', context=context)
amount_str = line.amount > 0 and line.amount or -line.amount
amount_str = rml_parser.formatLang(amount_str, currency_obj=statement_currency)
amount_currency_str = ""
if line.amount_currency and line.currency_id:
amount_currency_str = rml_parser.formatLang(line.amount_currency, currency_obj=line.currency_id)
dict = {
'id': line.id,
'ref': line.ref,
'note': line.note or "",
'name': line.name,
'date': line.date,
'amount': line.amount,
'amount_str': amount_str,
'no_match': self.get_move_lines_counterparts(cr, uid, id, count=True, context=context) == 0 and line.partner_id.id,
'partner_id': line.partner_id.id,
'statement_id': line.statement_id.id,
'account_code': line.journal_id.default_debit_account_id.code,
'account_name': line.journal_id.default_debit_account_id.name,
'partner_name': line.partner_id.name,
'amount_currency_str': amount_currency_str,
'has_no_partner': not line.partner_id.id,
}
if line.partner_id.id:
if line.amount > 0:
dict['open_balance_account_id'] = line.partner_id.property_account_receivable.id
else:
dict['open_balance_account_id'] = line.partner_id.property_account_payable.id
return dict
def get_reconciliation_proposition(self, cr, uid, id, excluded_ids=[], context=None):
""" Returns move lines that constitute the best guess to reconcile a statement line. """
st_line = self.browse(cr, uid, id, context=context)
company_currency = st_line.journal_id.company_id.currency_id.id
statement_currency = st_line.journal_id.currency.id or company_currency
# either use the unsigned debit/credit fields or the signed amount_currency field
sign = 1
if statement_currency == company_currency:
if st_line.amount > 0:
amount_field = 'debit'
else:
amount_field = 'credit'
else:
amount_field = 'amount_currency'
if st_line.amount < 0:
sign = -1
# look for exact match
exact_match_id = self.get_move_lines_counterparts(cr, uid, id, excluded_ids=excluded_ids, limit=1, additional_domain=[(amount_field,'=',(sign*st_line.amount))])
if exact_match_id:
return exact_match_id
# select oldest move lines
if sign == -1:
mv_lines = self.get_move_lines_counterparts(cr, uid, id, excluded_ids=excluded_ids, limit=50, additional_domain=[(amount_field,'<',0)])
else:
mv_lines = self.get_move_lines_counterparts(cr, uid, id, excluded_ids=excluded_ids, limit=50, additional_domain=[(amount_field,'>',0)])
ret = []
total = 0
# get_move_lines_counterparts inverts debit and credit
amount_field = 'debit' if amount_field == 'credit' else 'credit'
for line in mv_lines:
if total + line[amount_field] <= st_line.amount:
ret.append(line)
total += line[amount_field]
else:
break
return ret
def get_move_lines_counterparts(self, cr, uid, id, excluded_ids=[], str="", offset=0, limit=None, count=False, additional_domain=[], context=None):
""" Find the move lines that could be used to reconcile a statement line and returns the counterpart that could be created to reconcile them
If count is true, only returns the count.
:param integer id: the id of the statement line
:param integers list excluded_ids: ids of move lines that should not be fetched
:param string str: string to filter lines
:param integer offset: offset of the request
:param integer limit: number of lines to fetch
:param boolean count: just return the number of records
:param tuples list domain: additional domain restrictions
"""
if context is None:
context = {}
if not partner_id:
return res
account_id = False
line = self.browse(cr, uid, line_id, context=context)
if not line or (line and not line[0].account_id):
part = obj_partner.browse(cr, uid, partner_id, context=context)
if type == 'supplier':
account_id = part.property_account_payable.id
else:
account_id = part.property_account_receivable.id
res['value']['account_id'] = account_id
return res
rml_parser = report_sxw.rml_parse(cr, uid, 'statement_line_counterpart_widget', context=context)
st_line = self.browse(cr, uid, id, context=context)
company_currency = st_line.journal_id.company_id.currency_id
statement_currency = st_line.journal_id.currency or company_currency
mv_line_pool = self.pool.get('account.move.line')
currency_obj = self.pool.get('res.currency')
domain = additional_domain + [
('partner_id', '=', st_line.partner_id.id),
('reconcile_id', '=', False),
('state','=','valid'),
'|',('account_id.type', '=', 'receivable'),
('account_id.type', '=', 'payable'), #Let the front-end warn the user if he tries to mix payable and receivable in the same reconciliation
]
if excluded_ids:
domain.append(('id', 'not in', excluded_ids))
if str:
domain += ['|', ('move_id.name', 'ilike', str), ('move_id.ref', 'ilike', str)]
#partially reconciled lines can be displayed only once
reconcile_partial_ids = []
ids = mv_line_pool.search(cr, uid, domain, offset=offset, limit=limit, order="date_maturity asc, id asc", context=context)
if count:
nb_lines = 0
for line in mv_line_pool.browse(cr, uid, ids, context=context):
if line.reconcile_partial_id and line.reconcile_partial_id.id in reconcile_partial_ids:
continue
nb_lines += 1
if line.reconcile_partial_id:
reconcile_partial_ids.append(line.reconcile_partial_id.id)
return nb_lines
else:
ret = []
for line in mv_line_pool.browse(cr, uid, ids, context=context):
if line.reconcile_partial_id and line.reconcile_partial_id.id in reconcile_partial_ids:
continue
amount_currency_str = ""
if line.currency_id and line.amount_currency:
amount_currency_str = rml_parser.formatLang(line.amount_currency, currency_obj=line.currency_id)
ret_line = {
'id': line.id,
'name': line.move_id.name,
'ref': line.move_id.ref,
'account_code': line.account_id.code,
'account_name': line.account_id.name,
'account_type': line.account_id.type,
'date_maturity': line.date_maturity,
'date': line.date,
'period_name': line.period_id.name,
'journal_name': line.journal_id.name,
'amount_currency_str': amount_currency_str,
}
if statement_currency.id != company_currency.id and line.currency_id and line.currency_id.id == statement_currency.id:
if line.amount_residual_currency < 0:
ret_line['debit'] = 0
ret_line['credit'] = -line.amount_residual_currency
else:
ret_line['debit'] = line.amount_residual_currency if line.credit != 0 else 0
ret_line['credit'] = line.amount_residual_currency if line.debit != 0 else 0
ret_line['amount_currency_str'] = rml_parser.formatLang(line.amount_residual, currency_obj=company_currency)
else:
if line.amount_residual < 0:
ret_line['debit'] = 0
ret_line['credit'] = -line.amount_residual
else:
ret_line['debit'] = line.amount_residual if line.credit != 0 else 0
ret_line['credit'] = line.amount_residual if line.debit != 0 else 0
ctx = context.copy()
ctx.update({'date': st_line.date})
ret_line['debit'] = currency_obj.compute(cr, uid, statement_currency.id, company_currency.id, ret_line['debit'], context=ctx)
ret_line['credit'] = currency_obj.compute(cr, uid, statement_currency.id, company_currency.id, ret_line['credit'], context=ctx)
ret_line['debit_str'] = rml_parser.formatLang(ret_line['debit'], currency_obj=statement_currency)
ret_line['credit_str'] = rml_parser.formatLang(ret_line['credit'], currency_obj=statement_currency)
ret.append(ret_line)
if line.reconcile_partial_id:
reconcile_partial_ids.append(line.reconcile_partial_id.id)
return ret
def process_reconciliation(self, cr, uid, id, mv_line_dicts, context=None):
""" Creates a move line for each item of mv_line_dicts and for the statement line. Reconcile a new move line with its counterpart_move_line_id if specified. Finally, mark the statement line as reconciled by putting the newly created move id in the column journal_entry_id.
:param int id: id of the bank statement line
:param list of dicts mv_line_dicts: move lines to create. If counterpart_move_line_id is specified, reconcile with it
"""
st_line = self.browse(cr, uid, id, context=context)
company_currency = st_line.journal_id.company_id.currency_id
statement_currency = st_line.journal_id.currency or company_currency
bs_obj = self.pool.get('account.bank.statement')
am_obj = self.pool.get('account.move')
aml_obj = self.pool.get('account.move.line')
currency_obj = self.pool.get('res.currency')
# Checks
if st_line.journal_entry_id.id != False:
raise osv.except_osv(_('Error!'), _('The bank statement line was already reconciled.'))
for mv_line_dict in mv_line_dicts:
for field in ['debit', 'credit', 'amount_currency']:
if field not in mv_line_dict:
mv_line_dict[field] = 0.0
if mv_line_dict.get('counterpart_move_line_id'):
mv_line = aml_obj.browse(cr, uid, mv_line_dict.get('counterpart_move_line_id'), context=context)
if mv_line.reconcile_id:
raise osv.except_osv(_('Error!'), _('A selected move line was already reconciled.'))
# Create the move
move_name = st_line.statement_id.name + "/" + str(st_line.sequence)
move_vals = bs_obj._prepare_move(cr, uid, st_line, move_name, context=context)
move_id = am_obj.create(cr, uid, move_vals, context=context)
# Create the move line for the statement line
amount = currency_obj.compute(cr, uid, st_line.statement_id.currency.id, company_currency.id, st_line.amount, context=context)
bank_st_move_vals = bs_obj._prepare_bank_move_line(cr, uid, st_line, move_id, amount, company_currency.id, context=context)
aml_obj.create(cr, uid, bank_st_move_vals, context=context)
st_line_currency_rate = bank_st_move_vals['amount_currency'] and statement_currency.id == company_currency.id and (bank_st_move_vals['amount_currency'] / st_line.amount) or False
st_line_currency = bank_st_move_vals['currency_id']
# Complete the dicts
st_line_statement_id = st_line.statement_id.id
st_line_journal_id = st_line.journal_id.id
st_line_partner_id = st_line.partner_id.id
st_line_company_id = st_line.company_id.id
st_line_period_id = st_line.statement_id.period_id.id
for mv_line_dict in mv_line_dicts:
mv_line_dict['ref'] = move_name
mv_line_dict['move_id'] = move_id
mv_line_dict['period_id'] = st_line_period_id
mv_line_dict['journal_id'] = st_line_journal_id
mv_line_dict['partner_id'] = st_line_partner_id
mv_line_dict['company_id'] = st_line_company_id
mv_line_dict['statement_id'] = st_line_statement_id
if mv_line_dict.get('counterpart_move_line_id'):
mv_line = aml_obj.browse(cr, uid, mv_line_dict['counterpart_move_line_id'], context=context)
mv_line_dict['account_id'] = mv_line.account_id.id
if statement_currency.id != company_currency.id:
mv_line_dict['amount_currency'] = mv_line_dict['debit'] - mv_line_dict['credit']
mv_line_dict['currency_id'] = statement_currency.id
mv_line_dict['debit'] = currency_obj.compute(cr, uid, statement_currency.id, company_currency.id, mv_line_dict['debit'])
mv_line_dict['credit'] = currency_obj.compute(cr, uid, statement_currency.id, company_currency.id, mv_line_dict['credit'])
elif st_line_currency and st_line_currency_rate:
mv_line_dict['amount_currency'] = self.pool.get('res.currency').round(cr, uid, st_line.currency_id, (mv_line_dict['debit'] - mv_line_dict['credit']) * st_line_currency_rate)
mv_line_dict['currency_id'] = st_line_currency
# Create move lines
move_line_pairs_to_reconcile = []
for mv_line_dict in mv_line_dicts:
counterpart_move_line_id = None # NB : this attribute is irrelevant for aml_obj.create() and needs to be removed from the dict
if mv_line_dict.get('counterpart_move_line_id'):
counterpart_move_line_id = mv_line_dict['counterpart_move_line_id']
del mv_line_dict['counterpart_move_line_id']
new_aml_id = aml_obj.create(cr, uid, mv_line_dict, context=context)
if counterpart_move_line_id != None:
move_line_pairs_to_reconcile.append([new_aml_id, counterpart_move_line_id])
# Reconcile
for pair in move_line_pairs_to_reconcile:
# TODO : too slow
aml_obj.reconcile_partial(cr, uid, pair, context=context)
# Mark the statement line as reconciled
self.write(cr, uid, id, {'journal_entry_id': move_id}, context=context)
# FIXME : if it wasn't for the multicompany security settings in account_security.xml, the method would just
# return [('journal_entry_id', '=', False)]
# Unfortunately, that spawns a "no access rights" error ; it shouldn't.
def _needaction_domain_get(self, cr, uid, context=None):
user = self.pool.get("res.users").browse(cr, uid, uid)
return ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('journal_entry_id', '=', False)]
_order = "statement_id desc, sequence"
_name = "account.bank.statement.line"
_description = "Bank Statement Line"
_inherit = ['ir.needaction_mixin']
_columns = {
'name': fields.char('Description', required=True),
'date': fields.date('Date', required=True),
'amount': fields.float('Amount', digits_compute=dp.get_precision('Account')),
'type': fields.selection([
('supplier','Supplier'),
('customer','Customer'),
('general','General')
], 'Type', required=True),
'partner_id': fields.many2one('res.partner', 'Partner'),
'account_id': fields.many2one('account.account','Account',
required=True),
'statement_id': fields.many2one('account.bank.statement', 'Statement',
select=True, required=True, ondelete='cascade'),
'bank_account_id': fields.many2one('res.partner.bank','Bank Account'),
'statement_id': fields.many2one('account.bank.statement', 'Statement', select=True, required=True, ondelete='cascade'),
'journal_id': fields.related('statement_id', 'journal_id', type='many2one', relation='account.journal', string='Journal', store=True, readonly=True),
'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'),
'move_ids': fields.many2many('account.move',
'account_bank_statement_line_move_rel', 'statement_line_id','move_id',
'Moves'),
'ref': fields.char('Reference', size=32),
'note': fields.text('Notes'),
'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of bank statement lines."),
'company_id': fields.related('statement_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
'journal_entry_id': fields.many2one('account.move', 'Journal Entry'),
'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')),
'currency_id': fields.many2one('res.currency', 'Currency', help="The optional other currency if it is a multi-currency entry."),
}
_defaults = {
'name': lambda self,cr,uid,context={}: self.pool.get('ir.sequence').get(cr, uid, 'account.bank.statement.line'),
'date': lambda self,cr,uid,context={}: context.get('date', fields.date.context_today(self,cr,uid,context=context)),
'type': 'general',
}
class account_statement_operation_template(osv.osv):
_name = "account.statement.operation.template"
_description = "Preset for the lines that can be created in a bank statement reconciliation"
_columns = {
'name': fields.char('Button Label', required=True),
'account_id': fields.many2one('account.account', 'Account', ondelete='cascade', domain=[('type','!=','view')]),
'label': fields.char('Label'),
'amount_type': fields.selection([('fixed', 'Fixed'),('percentage_of_total','Percentage of total amount'),('percentage_of_balance', 'Percentage of open balance')],
'Amount type', required=True),
'amount': fields.float('Amount', digits_compute=dp.get_precision('Account'), help="Leave to 0 to ignore."),
'tax_id': fields.many2one('account.tax', 'Tax', ondelete='cascade'),
'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account', ondelete='cascade'),
}
_defaults = {
'amount_type': 'fixed',
'amount': 0.0
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -216,7 +216,7 @@ class account_invoice(osv.osv):
_name = "account.invoice"
_inherit = ['mail.thread']
_description = 'Invoice'
_order = "id desc"
_order = "number desc, id desc"
_track = {
'type': {
},

View File

@ -430,7 +430,7 @@ class account_move_line(osv.osv):
elif line.reconcile_partial_id:
res[line.id] = str(line.reconcile_partial_id.name)
return res
def _get_move_from_reconcile(self, cr, uid, ids, context=None):
move = {}
for r in self.pool.get('account.move.reconcile').browse(cr, uid, ids, context=context):
@ -491,7 +491,7 @@ class account_move_line(osv.osv):
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'),
'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company',
'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company',
string='Company', store=True, readonly=True)
}
@ -765,7 +765,7 @@ class account_move_line(osv.osv):
WHERE debit > 0 AND credit > 0 AND (last_reconciliation_date IS NULL OR max_date > last_reconciliation_date)
ORDER BY last_reconciliation_date""")
ids = [x[0] for x in cr.fetchall()]
if not ids:
if not ids:
return []
# To apply the ir_rules
@ -793,9 +793,11 @@ class account_move_line(osv.osv):
else:
currency_id = line.company_id.currency_id
if line.reconcile_id:
raise osv.except_osv(_('Warning'), _("Journal Item '%s' (id: %s), Move '%s' is already reconciled!") % (line.name, line.id, line.move_id.name))
raise osv.except_osv(_('Warning'), _("Journal Item '%s' (id: %s), Move '%s' is already reconciled!") % (line.name, line.id, line.move_id.name))
if line.reconcile_partial_id:
for line2 in line.reconcile_partial_id.line_partial_ids:
if line2.state != 'valid':
raise osv.except_osv(_('Warning'), _("Journal Item '%s' (id: %s) cannot be used in a reconciliation as it is not balanced!") % (line2.name, line2.id))
if not line2.reconcile_id:
if line2.id not in merges:
merges.append(line2.id)
@ -1119,7 +1121,7 @@ class account_move_line(osv.osv):
period = period_obj.browse(cr, uid, period_id, context=context)
for (state,) in result:
if state == 'done':
raise osv.except_osv(_('Error!'), _('You can not add/modify entries in a closed period %s of journal %s.' % (period.name,journal.name)))
raise osv.except_osv(_('Error!'), _('You can not add/modify entries in a closed period %s of journal %s.' % (period.name,journal.name)))
if not result:
jour_period_obj.create(cr, uid, {
'name': (journal.code or journal.name)+':'+(period.name or ''),

View File

@ -6,10 +6,10 @@
<field name="currency_id" ref="base.EUR"/>
<field name="company_id" ref="base.main_company"/>
<field name="partner_id" ref="base.res_partner_1"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="journal_id" ref="account.expenses_journal"/>
<field name="state">draft</field>
<field name="type">in_invoice</field>
<field name="account_id" ref="account.a_recv"/>
<field name="account_id" ref="account.a_pay"/>
<field name="name">Test invoice 1</field>
</record>
<record id="test_tax_line" model="account.invoice.tax">

View File

@ -489,6 +489,13 @@
src_model="account.journal"/>
<!-- Bank statement -->
<record id="action_bank_reconcile_bank_statements" model="ir.actions.client">
<field name="name">Reconciliation on Bank Statements</field>
<field name="tag">bank_statement_reconciliation_view</field>
<field name="context">{'statement_id': active_id}</field>
</record>
<record id="view_account_bank_statement_filter" model="ir.ui.view">
<field name="name">account.cash.statement.select</field>
<field name="model">account.bank.statement</field>
@ -525,6 +532,7 @@
</tree>
</field>
</record>
<record id="view_bank_statement_search" model="ir.ui.view">
<field name="name">account.bank.statement.search</field>
<field name="model">account.bank.statement</field>
@ -544,6 +552,7 @@
</search>
</field>
</record>
<record id="view_bank_statement_form" model="ir.ui.view">
<field name="name">account.bank.statement.form</field>
<field name="model">account.bank.statement</field>
@ -551,14 +560,21 @@
<field name="arch" type="xml">
<form string="Bank Statement" version="7.0">
<header>
<button name="button_confirm_bank" states="draft" string="Confirm" type="object" class="oe_highlight"/>
<button name="button_dummy" states="draft" string="Compute" type="object" class="oe_highlight"/>
<field name="all_lines_reconciled" invisible="1" />
<span attrs="{'invisible':['|',('all_lines_reconciled','=',True),('line_ids','=',[])]}">
<button name="%(action_bank_reconcile_bank_statements)d" states="draft" string="Reconcile" type="action" class="oe_highlight"/>
</span>
<span attrs="{'invisible':[('all_lines_reconciled','=',False)]}">
<button name="button_confirm_bank" states="draft" string="Close" type="object" class="oe_highlight"/>
</span>
<button name="button_cancel" states="confirm" string="Cancel Statement" type="object"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
</header>
<sheet>
<div class="oe_right oe_button_box" name="import_buttons">
<!-- Put here related buttons -->
<button class="oe_inline oe_stat_button" name="%(action_view_account_statement_from_invoice_lines)d"
string="Import Invoice" type="action"
attrs="{'invisible':[('state','=','confirm')]}" widget="statinfo" icon="fa-pencil-square-o"/>
</div>
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
@ -581,41 +597,30 @@
<notebook>
<page string="Transactions" name="statement_line_ids">
<field name="line_ids" context="{'date':date}">
<tree editable="bottom" string="Statement lines">
<tree editable="bottom" string="Statement lines" colors="grey:journal_entry_id!=False">
<field name="sequence" readonly="1" invisible="1"/>
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[
<field name="journal_entry_id" invisible="1"/>
<field name="date" attrs="{'readonly' : [('journal_entry_id', '!=', False)] }"/>
<field name="name" attrs="{'readonly' : [('journal_entry_id', '!=', False)] }"/>
<field name="ref" attrs="{'readonly' : [('journal_entry_id', '!=', False)] }"/>
<field name="partner_id" domain="[
'&amp;',
'|',('parent_id','=',False),('is_company','=',True),
'|',('customer','=',True),('supplier','=',True)]" context="{'default_supplier': 1}"/>
<field name="type" on_change="onchange_type(partner_id, type)"/>
<field name="account_id" options='{"no_open":True}' domain="[('journal_id','=',parent.journal_id), ('company_id', '=', parent.company_id)]"/>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('company_id', '=', parent.company_id), ('type', '&lt;&gt;', 'view')]"/>
<field name="amount"/>
'|',('customer','=',True),('supplier','=',True)]"
context="{'default_supplier': 1}"
attrs="{'readonly' : [('journal_entry_id', '!=', False)] }"/>
<field name="amount" attrs="{'readonly' : [('journal_entry_id', '!=', False)] }"/>
<field name="amount_currency" groups="base.group_multi_currency" attrs="{'readonly' : [('journal_entry_id', '!=', False)] }"/>
<field name="currency_id" groups="base.group_multi_currency" attrs="{'readonly' : [('journal_entry_id', '!=', False)] }"/>
<field name="bank_account_id" groups="base.group_no_one"/>
</tree>
<form string="Statement lines" version="7.0">
<group col="4">
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="type" on_change="onchange_type(partner_id, type)"/>
<field name="account_id" domain="[('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view'), ('company_id', '=', parent.company_id)]"/>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('company_id', '=', parent.company_id), ('type', '&lt;&gt;', 'view')]"/>
<field name="amount"/>
<field name="sequence" readonly="0"/>
</group>
<separator string="Notes"/>
<field name="note"/>
</form>
</field>
</page>
</notebook>
<group class="oe_subtotal_footer oe_right" colspan="2" name="sale_total">
<div class="oe_subtotal_footer_separator oe_inline">
<label for="balance_end" />
<button name="button_dummy" states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
</div>
<field name="balance_end" nolabel="1" class="oe_subtotal_footer_separator" widget='monetary' options="{'currency_field': 'currency_id'}"/>
</group>
@ -682,6 +687,85 @@
<field name="domain">[('state','=','draft')]</field>
<field name="filter" eval="True"/>
</record>
<record id="action_bank_reconcile" model="ir.actions.client">
<field name="name">Reconciliation on Bank Statements</field>
<field name="res_model">account.bank.statement.line</field>
<field name="tag">bank_statement_reconciliation_view</field>
</record>
<!-- because of the needaction badge, groups needs to be specified -->
<menuitem id="menu_bank_reconcile_bank_statements" name="Reconciliation on Bank Statements" parent="account.periodical_processing_reconciliation" groups="group_account_user" action="action_bank_reconcile" sequence="20"/>
<record id="view_account_statement_operation_template_form" model="ir.ui.view">
<field name="name">account.statement.operation.template.form</field>
<field name="model">account.statement.operation.template</field>
<field name="arch" type="xml">
<form string="Statement Operation Templates" version="7.0">
<sheet>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name"/>
</h1>
</div>
<group>
<group>
<field name="account_id"/>
<field name="amount_type"/>
<field name="tax_id"/>
</group>
<group>
<field name="label"/>
<label for="amount"/>
<div>
<field name="amount" class="oe_inline" />
<label string="%" class="oe_inline" attrs="{'invisible':[('amount_type','not in',('percentage_of_total', 'percentage_of_balance'))]}" />
</div>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_account_statement_operation_template_tree" model="ir.ui.view">
<field name="name">account.statement.operation.template.tree</field>
<field name="model">account.statement.operation.template</field>
<field name="arch" type="xml">
<tree string="Bank Reconciliation Move Presets">
<field name="name"/>
<field name="account_id"/>
<field name="amount_type"/>
</tree>
</field>
</record>
<record id="view_account_statement_operation_template_search" model="ir.ui.view">
<field name="name">account.statement.operation.template.search</field>
<field name="model">account.statement.operation.template</field>
<field name="arch" type="xml">
<search string="Bank Reconciliation Move preset">
<filter string="With tax" domain="[('tax_id','!=',False)]"/>
<field name="amount_type"/>
</search>
</field>
</record>
<record id="action_account_statement_operation_template" model="ir.actions.act_window">
<field name="name">Statement Operation Templates</field>
<field name="res_model">account.statement.operation.template</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_statement_operation_template_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a statement operation template.
</p><p>
Those can be used to quickly create a move line when reconciling
your bank statements.
</p>
</field>
</record>
<menuitem action="action_account_statement_operation_template" id="menu_action_account_statement_operation_template" parent="menu_configuration_misc" name="Statement Operation Templates" sequence="22"/>
<!-- Account Types -->
<record id="view_account_type_search" model="ir.ui.view">
@ -1602,11 +1686,11 @@
<form string="Payment Term" version="7.0">
<group>
<group string="Amount Computation">
<field name="value"/>
<label for="value_amount" string="Amount To Pay" attrs="{'invisible':[('value','=','balance')]}"/>
<div attrs="{'invisible':[('value','=','balance')]}">
<field name="value_amount" class="oe_inline"/>
</div>
<field name="value"/>
<label for="value_amount" string="Amount To Pay" attrs="{'invisible':[('value','=','balance')]}"/>
<div attrs="{'invisible':[('value','=','balance')]}">
<field name="value_amount" class="oe_inline"/>
</div>
</group>
<group string="Due Date Computation">
<field name="days"/>
@ -2258,7 +2342,13 @@
<field name="arch" type="xml">
<form string="Statement" version="7.0">
<header>
<button name="button_confirm_cash" states="open" string="Close CashBox" type="object" class="oe_highlight"/>
<field name="all_lines_reconciled" invisible="1" />
<span attrs="{'invisible':['|',('all_lines_reconciled','=',True),('line_ids','=',[])]}">
<button name="%(action_bank_reconcile_bank_statements)d" states="open" string="Reconcile" type="action" class="oe_highlight"/>
</span>
<span attrs="{'invisible':[('all_lines_reconciled','=',False)]}">
<button name="button_confirm_cash" states="open" string="Close CashBox" type="object" class="oe_highlight"/>
</span>
<button name="button_open" states="draft" string="Open CashBox" type="object" class="oe_highlight"/>
<button name="button_cancel" states="confirm,open" string="Cancel CashBox" type="object"/>
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm"/>
@ -2288,10 +2378,7 @@
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="type" on_change="onchange_type(partner_id, type)"/>
<field domain="[('journal_id','=',parent.journal_id), ('company_id', '=', parent.company_id)]" name="account_id"/>
<field name="analytic_account_id" domain="[('company_id', '=', parent.company_id), ('type', '&lt;&gt;', 'view')]" groups="analytic.group_analytic_accounting" />
<field name="partner_id"/>
<field name="amount"/>
</tree>
<form string="Statement lines" version="7.0">
@ -2299,10 +2386,7 @@
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="type" on_change="onchange_type(partner_id, type)"/>
<field domain="[('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view'), ('company_id', '=', parent.company_id)]" name="account_id"/>
<field name="analytic_account_id" domain="[('company_id', '=', parent.company_id), ('type', '&lt;&gt;', 'view')]" groups="analytic.group_analytic_accounting" />
<field name="partner_id"/>
<field name="amount"/>
<field name="sequence"/>
</group>

View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- A bank statement -->
<record id="demo_bank_statement_1" model="account.bank.statement">
<field name="journal_id" ref="account.bank_journal"/>
<field name="period_id" ref="account.period_5"/>
<field name="date" eval="time.strftime('%Y')+'-01-01'"/>
<field name="user_id" ref="base.user_demo"/>
<field name="reference_type">none</field>
<field name="name">BNK/2014/001</field>
<field name="balance_end" eval="2040.0"/>
<field name="company_id" ref="base.main_company"/>
<field name="state">draft</field>
<field name="balance_start" eval="0.0"/>
<field name="balance_end_real" eval="3707.58"/>
</record>
<record id="demo_bank_statement_line_1" model="account.bank.statement.line">
<field name="ref">001</field>
<field name="statement_id" ref="demo_bank_statement_1"/>
<field name="sequence" eval="1"/>
<field name="company_id" ref="base.main_company"/>
<field name="name">First 2000 € of SAJ/2014/001</field>
<field name="journal_id" ref="account.bank_journal"/>
<field name="amount" eval="2000.0"/>
<field name="date" eval="time.strftime('%Y')+'-01-01'"/>
<field name="partner_id" ref="base.res_partner_9"/>
</record>
<record id="demo_bank_statement_line_2" model="account.bank.statement.line">
<field name="ref">002</field>
<field name="statement_id" ref="demo_bank_statement_1"/>
<field name="sequence" eval="2"/>
<field name="company_id" ref="base.main_company"/>
<field name="name">SAJ/2014/002</field>
<field name="journal_id" ref="account.bank_journal"/>
<field name="amount" eval="650.0"/>
<field name="date" eval="time.strftime('%Y')+'-01-01'"/>
<field name="partner_id" ref="base.res_partner_9"/>
</record>
<record id="demo_bank_statement_line_3" model="account.bank.statement.line">
<field name="ref">003</field>
<field name="statement_id" ref="demo_bank_statement_1"/>
<field name="sequence" eval="3"/>
<field name="company_id" ref="base.main_company"/>
<field name="name">Bank fees</field>
<field name="journal_id" ref="account.bank_journal"/>
<field name="amount" eval="32.58"/>
<field name="date" eval="time.strftime('%Y')+'-01-01'"/>
</record>
<record id="demo_bank_statement_line_4" model="account.bank.statement.line">
<field name="ref">004</field>
<field name="statement_id" ref="demo_bank_statement_1"/>
<field name="sequence" eval="4"/>
<field name="company_id" ref="base.main_company"/>
<field name="name">SAJ/2014/003 and SAJ/2014/004</field>
<field name="journal_id" ref="account.bank_journal"/>
<field name="amount" eval="1025.0"/>
<field name="date" eval="time.strftime('%Y')+'-01-01'"/>
<field name="partner_id" ref="base.res_partner_2"/>
</record>
<!-- Statement operation templates -->
<record id="statement_operation_template_1" model="account.statement.operation.template">
<field name="name">Discount For Early Payment</field>
<field name="account_id" ref="a_expense"></field>
<field name="label">Discount</field>
<field name="amount_type">percentage_of_total</field>
<field name="amount">-7</field>
</record>
<record id="statement_operation_template_2" model="account.statement.operation.template">
<field name="name">Bank Fees</field>
<field name="account_id" ref="a_expense"></field>
<field name="label">Bank Fees</field>
<field name="amount_type">fixed</field>
<field name="amount"></field>
</record>
<record id="statement_operation_template_3" model="account.statement.operation.template">
<field name="name">Profit / Loss</field>
<field name="account_id" ref="a_sale"></field>
<field name="label">Profit / Loss</field>
<field name="amount_type">fixed</field>
<field name="amount"></field>
</record>
</data>
</openerp>

View File

@ -44,5 +44,135 @@
<field name="partner_id" ref="base.res_partner_17"/>
<field name="name">Zed+ Antivirus</field>
</record>
<!-- Some customer invoices used to show the reconciliation process on the bank statement -->
<record id="invoice_1" model="account.invoice">
<field name="currency_id" ref="base.EUR"/>
<field name="company_id" ref="base.main_company"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">draft</field>
<field name="type">out_invoice</field>
<field name="account_id" ref="a_recv"/>
<field name="partner_id" ref="base.res_partner_9"/>
</record>
<record id="invoice_1_line_1" model="account.invoice.line">
<field name="name">Otpez Laptop without OS</field>
<field name="invoice_id" ref="invoice_1"/>
<field name="price_unit">642</field>
<field name="quantity">5</field>
<field name="account_id" ref="a_sale"/>
</record>
<record id="invoice_1_line_2" model="account.invoice.line">
<field name="name">Linutop</field>
<field name="invoice_id" ref="invoice_1"/>
<field name="price_unit">280</field>
<field name="quantity">5</field>
<field name="account_id" ref="a_sale"/>
</record>
<workflow action="invoice_open" model="account.invoice" ref="invoice_1"/>
<record id="invoice_2" model="account.invoice">
<field name="currency_id" ref="base.EUR"/>
<field name="company_id" ref="base.main_company"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">draft</field>
<field name="type">out_invoice</field>
<field name="account_id" ref="a_recv"/>
<field name="partner_id" ref="base.res_partner_9"/>
<field eval="time.strftime('%Y-%m') + '-01'" name="date_invoice"/>
</record>
<record id="invoice_2_line_1" model="account.invoice.line">
<field name="name">8-port Switch</field>
<field name="invoice_id" ref="invoice_2"/>
<field name="price_unit">50</field>
<field name="quantity">3</field>
<field name="account_id" ref="a_sale"/>
</record>
<record id="invoice_2_line_2" model="account.invoice.line">
<field name="name">30m RJ45 wire</field>
<field name="invoice_id" ref="invoice_2"/>
<field name="price_unit">25</field>
<field name="quantity">20</field>
<field name="account_id" ref="a_sale"/>
</record>
<workflow action="invoice_open" model="account.invoice" ref="invoice_2"/>
<record id="invoice_3" model="account.invoice">
<field name="currency_id" ref="base.EUR"/>
<field name="company_id" ref="base.main_company"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">draft</field>
<field name="type">out_invoice</field>
<field name="account_id" ref="a_recv"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field eval="time.strftime('%Y-%m') + '-08'" name="date_invoice"/>
</record>
<record id="invoice_3_line_1" model="account.invoice.line">
<field name="name">TypeMatrix Dvorak Keyboard</field>
<field name="invoice_id" ref="invoice_3"/>
<field name="price_unit">90</field>
<field name="quantity">5</field>
<field name="account_id" ref="a_sale"/>
</record>
<record id="invoice_3_line_2" model="account.invoice.line">
<field name="name">Ergonomic Mouse</field>
<field name="invoice_id" ref="invoice_3"/>
<field name="price_unit">15</field>
<field name="quantity">5</field>
<field name="account_id" ref="a_sale"/>
</record>
<workflow action="invoice_open" model="account.invoice" ref="invoice_3"/>
<record id="invoice_4" model="account.invoice">
<field name="currency_id" ref="base.EUR"/>
<field name="company_id" ref="base.main_company"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">draft</field>
<field name="type">out_invoice</field>
<field name="account_id" ref="a_recv"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field eval="time.strftime('%Y-%m') + '-15'" name="date_invoice"/>
</record>
<record id="invoice_4_line_1" model="account.invoice.line">
<field name="name">Desktop Computer Table</field>
<field name="invoice_id" ref="invoice_4"/>
<field name="price_unit">80</field>
<field name="quantity">5</field>
<field name="account_id" ref="a_sale"/>
</record>
<record id="invoice_4_line_2" model="account.invoice.line">
<field name="name">Desktop Lamp</field>
<field name="invoice_id" ref="invoice_4"/>
<field name="price_unit">20</field>
<field name="quantity">5</field>
<field name="account_id" ref="a_sale"/>
</record>
<workflow action="invoice_open" model="account.invoice" ref="invoice_4"/>
<record id="invoice_5" model="account.invoice">
<field name="currency_id" ref="base.EUR"/>
<field name="company_id" ref="base.main_company"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">draft</field>
<field name="type">out_invoice</field>
<field name="account_id" ref="a_recv"/>
<field name="partner_id" ref="base.res_partner_9"/>
<field eval="time.strftime('%Y-%m') + '-08'" name="date_invoice"/>
</record>
<record id="invoice_5_line_1" model="account.invoice.line">
<field name="name">TypeMatrix Dvorak Keyboard</field>
<field name="invoice_id" ref="invoice_5"/>
<field name="price_unit">90</field>
<field name="quantity">5</field>
<field name="account_id" ref="a_sale"/>
</record>
<record id="invoice_5_line_2" model="account.invoice.line">
<field name="name">Ergonomic Mouse</field>
<field name="invoice_id" ref="invoice_5"/>
<field name="price_unit">15</field>
<field name="quantity">5</field>
<field name="account_id" ref="a_sale"/>
</record>
<workflow action="invoice_open" model="account.invoice" ref="invoice_5"/>
</data>
</openerp>

View File

@ -1,100 +1,101 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_product_product_account_user,product.product.account.user,product.model_product_product,group_account_user,1,0,0,0
access_account_payment_term,account.payment.term,model_account_payment_term,account.group_account_user,1,0,0,0
access_account_payment_term_line,account.payment.term.line,model_account_payment_term_line,account.group_account_user,1,0,0,0
access_account_account_type,account.account.type,model_account_account_type,account.group_account_user,1,0,0,0
access_account_tax_internal_user,account.tax internal user,model_account_tax,base.group_user,1,0,0,0
access_account_account,account.account,model_account_account,account.group_account_user,1,0,0,0
access_account_account_user,account.account user,model_account_account,base.group_user,1,0,0,0
access_account_account_partner_manager,account.account partner manager,model_account_account,base.group_partner_manager,1,0,0,0
access_account_journal_period_manager,account.journal.period manager,model_account_journal_period,account.group_account_manager,1,0,0,0
access_account_tax_code,account.tax.code,model_account_tax_code,account.group_account_invoice,1,0,0,0
access_account_tax,account.tax,model_account_tax,account.group_account_invoice,1,0,0,0
access_account_model,account.model,model_account_model,account.group_account_user,1,1,1,1
access_account_model_line,account.model.line,model_account_model_line,account.group_account_user,1,1,1,1
access_account_subscription,account.subscription,model_account_subscription,account.group_account_user,1,1,1,1
access_account_subscription_line,account.subscription.line,model_account_subscription_line,account.group_account_user,1,1,1,1
access_account_subscription_manager,account.subscription manager,model_account_subscription,account.group_account_manager,1,0,0,0
access_account_subscription_line_manager,account.subscription.line manager,model_account_subscription_line,account.group_account_manager,1,0,0,0
access_account_account_template,account.account.template,model_account_account_template,account.group_account_manager,1,1,1,1
access_account_tax_code_template,account.tax.code.template,model_account_tax_code_template,account.group_account_manager,1,1,1,1
access_account_chart_template,account.chart.template,model_account_chart_template,account.group_account_manager,1,1,1,1
access_account_tax_template,account.tax.template,model_account_tax_template,account.group_account_manager,1,1,1,1
access_account_bank_statement,account.bank.statement,model_account_bank_statement,account.group_account_user,1,1,1,1
access_account_bank_statement_line,account.bank.statement.line,model_account_bank_statement_line,account.group_account_user,1,1,1,1
access_account_analytic_line_manager,account.analytic.line manager,model_account_analytic_line,account.group_account_manager,1,0,0,0
access_account_analytic_account,account.analytic.account,analytic.model_account_analytic_account,base.group_user,1,0,0,0
access_account_analytic_journal,account.analytic.journal,model_account_analytic_journal,account.group_account_user,1,0,0,0
access_account_analytic_journal_user,account.analytic.journal,model_account_analytic_journal,base.group_user,1,1,1,0
access_account_invoice_uinvoice,account.invoice,model_account_invoice,account.group_account_invoice,1,1,1,1
access_account_invoice_line_uinvoice,account.invoice.line,model_account_invoice_line,account.group_account_invoice,1,1,1,1
access_account_invoice_tax_uinvoice,account.invoice.tax,model_account_invoice_tax,account.group_account_invoice,1,1,1,1
access_account_move_uinvoice,account.move,model_account_move,account.group_account_invoice,1,1,1,1
access_account_move_line_uinvoice,account.move.line invoice,model_account_move_line,account.group_account_invoice,1,1,1,1
access_account_move_reconcile_uinvoice,account.move.reconcile,model_account_move_reconcile,account.group_account_invoice,1,1,1,1
access_account_journal_period_uinvoice,account.journal.period,model_account_journal_period,account.group_account_invoice,1,1,1,1
access_account_payment_term_manager,account.payment.term,model_account_payment_term,account.group_account_manager,1,1,1,1
access_account_payment_term_line_manager,account.payment.term.line,model_account_payment_term_line,account.group_account_manager,1,1,1,1
access_account_tax_manager,account.tax,model_account_tax,account.group_account_manager,1,1,1,1
access_account_journal_manager,account.journal,model_account_journal,account.group_account_manager,1,1,1,1
access_account_journal_invoice,account.journal invoice,model_account_journal,account.group_account_invoice,1,0,0,0
access_account_period_manager,account.period,model_account_period,account.group_account_manager,1,1,1,1
access_account_period_invoice,account.period invoice,model_account_period,account.group_account_invoice,1,0,0,0
access_account_invoice_group_invoice,account.invoice group invoice,model_account_invoice,account.group_account_invoice,1,1,1,1
access_account_analytic_journal_manager,account.analytic.journal,model_account_analytic_journal,account.group_account_manager,1,1,1,1
access_account_fiscalyear,account.fiscalyear,model_account_fiscalyear,account.group_account_manager,1,1,1,1
access_account_fiscalyear_invoice,account.fiscalyear.invoice,model_account_fiscalyear,account.group_account_invoice,1,0,0,0
access_account_fiscalyear_partner_manager,account.fiscalyear.partnermanager,model_account_fiscalyear,base.group_partner_manager,1,0,0,0
access_account_fiscalyear_employee,account.fiscalyear employee,model_account_fiscalyear,base.group_user,1,0,0,0
access_res_currency_account_manager,res.currency account manager,base.model_res_currency,group_account_manager,1,1,1,1
access_res_currency_rate_account_manager,res.currency.rate account manager,base.model_res_currency_rate,group_account_manager,1,1,1,1
access_res_currency_rate_type_account_manager,res.currency.rate.type account manager,base.model_res_currency_rate_type,group_account_manager,1,1,1,1
access_account_invoice_user,account.invoice user,model_account_invoice,base.group_user,1,0,0,0
access_account_invoice_user,account.invoice.line user,model_account_invoice_line,base.group_user,1,0,0,0
access_account_payment_term_partner_manager,account.payment.term partner manager,model_account_payment_term,base.group_user,1,0,0,0
access_account_payment_term_line_partner_manager,account.payment.term.line partner manager,model_account_payment_term_line,base.group_user,1,0,0,0
access_account_account_sale_manager,account.account sale manager,model_account_account,base.group_sale_manager,1,0,0,0
access_account_fiscal_position_product_manager,account.fiscal.position account.manager,model_account_fiscal_position,account.group_account_manager,1,1,1,1
access_account_fiscal_position_tax_product_manager,account.fiscal.position.tax account.manager,model_account_fiscal_position_tax,account.group_account_manager,1,1,1,1
access_account_fiscal_position_account_product_manager,account.fiscal.position account.manager,model_account_fiscal_position_account,account.group_account_manager,1,1,1,1
access_account_fiscal_position,account.fiscal.position all,model_account_fiscal_position,base.group_user,1,0,0,0
access_account_fiscal_position_tax,account.fiscal.position.tax all,model_account_fiscal_position_tax,base.group_user,1,0,0,0
access_account_fiscal_position_account,account.fiscal.position all,model_account_fiscal_position_account,base.group_user,1,0,0,0
access_account_fiscal_position_template,account.fiscal.position.template,model_account_fiscal_position_template,account.group_account_manager,1,1,1,1
access_account_fiscal_position_tax_template,account.fiscal.position.tax.template,model_account_fiscal_position_tax_template,account.group_account_manager,1,1,1,1
access_account_fiscal_position_account_template,account.fiscal.position.account.template,model_account_fiscal_position_account_template,account.group_account_manager,1,1,1,1
access_account_sequence_fiscal_year_user,account.sequence.fiscalyear user,model_account_sequence_fiscalyear,base.group_user,1,0,0,0
access_temp_range,temp.range,model_temp_range,account.group_account_manager,1,0,0,0
access_report_aged_receivable,report.aged.receivable,model_report_aged_receivable,account.group_account_manager,1,1,1,1
access_report_invoice_created,report.invoice.created,model_report_invoice_created,account.group_account_manager,1,1,1,1
access_report_account_type_sales,report.account_type.sales,model_report_account_type_sales,account.group_account_manager,1,1,1,1
access_report_account_sales,report.account.sales,model_report_account_sales,account.group_account_manager,1,1,1,1
access_account_invoice_report,account.invoice.report,model_account_invoice_report,account.group_account_manager,1,1,1,1
access_res_partner_group_account_manager,res_partner group_account_manager,model_res_partner,account.group_account_manager,1,0,0,0
access_account_invoice_accountant,account.invoice accountant,model_account_invoice,account.group_account_user,1,0,0,0
access_account_tax_code_accountant,account.tax.code accountant,model_account_tax_code,account.group_account_user,1,1,1,1
access_account_move_line_manager,account.move.line manager,model_account_move_line,account.group_account_manager,1,0,0,0
access_account_move_manager,account.move manager,model_account_move,account.group_account_manager,1,0,0,0
access_account_entries_report_manager,account.entries.report,model_account_entries_report,account.group_account_manager,1,1,1,1
access_account_entries_report_invoice,account.entries.report,model_account_entries_report,account.group_account_invoice,1,0,0,0
access_account_entries_report_employee,account.entries.report employee,model_account_entries_report,base.group_user,1,0,0,0
access_analytic_entries_report_manager,analytic.entries.report,model_analytic_entries_report,account.group_account_manager,1,0,0,0
access_account_cashbox_line,account.cashbox.line,model_account_cashbox_line,account.group_account_user,1,1,1,1
access_account_journal_cashbox_line,account.journal.cashbox.line,model_account_journal_cashbox_line,account.group_account_user,1,1,1,0
access_account_invoice_tax_accountant,account.invoice.tax accountant,model_account_invoice_tax,account.group_account_user,1,0,0,0
access_account_move_reconcile_manager,account.move.reconcile manager,model_account_move_reconcile,account.group_account_manager,1,0,0,0
access_account_analytic_line_invoice,account.analytic.line invoice,model_account_analytic_line,account.group_account_invoice,1,1,1,1
access_account_invoice_line_accountant,account.invoice.line accountant,model_account_invoice_line,account.group_account_user,1,0,0,0
access_account_account_invoice,account.account invoice,model_account_account,account.group_account_invoice,1,1,1,1
access_account_analytic_accountant,account.analytic.account accountant,analytic.model_account_analytic_account,account.group_account_user,1,1,1,1
access_account_account_type_invoice,account.account.type invoice,model_account_account_type,account.group_account_invoice,1,1,1,1
access_report_account_receivable_invoice,report.account.receivable.invoice,model_report_account_receivable,account.group_account_invoice,1,1,1,1
access_account_sequence_fiscal_year_invoice,account.sequence.fiscalyear invoice,model_account_sequence_fiscalyear,account.group_account_invoice,1,1,1,1
access_account_tax_sale_manager,account.tax sale manager,model_account_tax,base.group_sale_salesman,1,0,0,0
access_account_journal_sale_manager,account.journal sale manager,model_account_journal,base.group_sale_salesman,1,0,0,0
access_account_invoice_tax_sale_manager,account.invoice.tax sale manager,model_account_invoice_tax,base.group_sale_salesman,1,0,0,0
access_account_sequence_fiscal_year_sale_user,account.sequence.fiscalyear.sale.user,model_account_sequence_fiscalyear,base.group_sale_salesman,1,1,1,0
access_account_sequence_fiscal_year_sale_manager,account.sequence.fiscalyear.sale.manager,model_account_sequence_fiscalyear,base.group_sale_manager,1,1,1,1
access_account_treasury_report_manager,account.treasury.report.manager,model_account_treasury_report,account.group_account_manager,1,0,0,0
access_account_financial_report,account.financial.report,model_account_financial_report,account.group_account_user,1,1,1,1
access_account_financial_report_invoice,account.financial.report invoice,model_account_financial_report,account.group_account_invoice,1,0,0,0
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_product_product_account_user,product.product.account.user,product.model_product_product,group_account_user,1,0,0,0
access_account_payment_term,account.payment.term,model_account_payment_term,account.group_account_user,1,0,0,0
access_account_payment_term_line,account.payment.term.line,model_account_payment_term_line,account.group_account_user,1,0,0,0
access_account_account_type,account.account.type,model_account_account_type,account.group_account_user,1,0,0,0
access_account_tax_internal_user,account.tax internal user,model_account_tax,base.group_user,1,0,0,0
access_account_account,account.account,model_account_account,account.group_account_user,1,0,0,0
access_account_account_user,account.account user,model_account_account,base.group_user,1,0,0,0
access_account_account_partner_manager,account.account partner manager,model_account_account,base.group_partner_manager,1,0,0,0
access_account_journal_period_manager,account.journal.period manager,model_account_journal_period,account.group_account_manager,1,0,0,0
access_account_tax_code,account.tax.code,model_account_tax_code,account.group_account_invoice,1,0,0,0
access_account_tax,account.tax,model_account_tax,account.group_account_invoice,1,0,0,0
access_account_model,account.model,model_account_model,account.group_account_user,1,1,1,1
access_account_model_line,account.model.line,model_account_model_line,account.group_account_user,1,1,1,1
access_account_subscription,account.subscription,model_account_subscription,account.group_account_user,1,1,1,1
access_account_subscription_line,account.subscription.line,model_account_subscription_line,account.group_account_user,1,1,1,1
access_account_subscription_manager,account.subscription manager,model_account_subscription,account.group_account_manager,1,0,0,0
access_account_subscription_line_manager,account.subscription.line manager,model_account_subscription_line,account.group_account_manager,1,0,0,0
access_account_account_template,account.account.template,model_account_account_template,account.group_account_manager,1,1,1,1
access_account_tax_code_template,account.tax.code.template,model_account_tax_code_template,account.group_account_manager,1,1,1,1
access_account_chart_template,account.chart.template,model_account_chart_template,account.group_account_manager,1,1,1,1
access_account_tax_template,account.tax.template,model_account_tax_template,account.group_account_manager,1,1,1,1
access_account_bank_statement,account.bank.statement,model_account_bank_statement,account.group_account_user,1,1,1,1
access_account_bank_statement_line,account.bank.statement.line,model_account_bank_statement_line,account.group_account_user,1,1,1,1
access_account_analytic_line_manager,account.analytic.line manager,model_account_analytic_line,account.group_account_manager,1,0,0,0
access_account_analytic_account,account.analytic.account,analytic.model_account_analytic_account,base.group_user,1,0,0,0
access_account_analytic_journal,account.analytic.journal,model_account_analytic_journal,account.group_account_user,1,0,0,0
access_account_analytic_journal_user,account.analytic.journal,model_account_analytic_journal,base.group_user,1,1,1,0
access_account_invoice_uinvoice,account.invoice,model_account_invoice,account.group_account_invoice,1,1,1,1
access_account_invoice_line_uinvoice,account.invoice.line,model_account_invoice_line,account.group_account_invoice,1,1,1,1
access_account_invoice_tax_uinvoice,account.invoice.tax,model_account_invoice_tax,account.group_account_invoice,1,1,1,1
access_account_move_uinvoice,account.move,model_account_move,account.group_account_invoice,1,1,1,1
access_account_move_line_uinvoice,account.move.line invoice,model_account_move_line,account.group_account_invoice,1,1,1,1
access_account_move_reconcile_uinvoice,account.move.reconcile,model_account_move_reconcile,account.group_account_invoice,1,1,1,1
access_account_journal_period_uinvoice,account.journal.period,model_account_journal_period,account.group_account_invoice,1,1,1,1
access_account_payment_term_manager,account.payment.term,model_account_payment_term,account.group_account_manager,1,1,1,1
access_account_payment_term_line_manager,account.payment.term.line,model_account_payment_term_line,account.group_account_manager,1,1,1,1
access_account_tax_manager,account.tax,model_account_tax,account.group_account_manager,1,1,1,1
access_account_journal_manager,account.journal,model_account_journal,account.group_account_manager,1,1,1,1
access_account_journal_invoice,account.journal invoice,model_account_journal,account.group_account_invoice,1,0,0,0
access_account_period_manager,account.period,model_account_period,account.group_account_manager,1,1,1,1
access_account_period_invoice,account.period invoice,model_account_period,account.group_account_invoice,1,0,0,0
access_account_invoice_group_invoice,account.invoice group invoice,model_account_invoice,account.group_account_invoice,1,1,1,1
access_account_analytic_journal_manager,account.analytic.journal,model_account_analytic_journal,account.group_account_manager,1,1,1,1
access_account_fiscalyear,account.fiscalyear,model_account_fiscalyear,account.group_account_manager,1,1,1,1
access_account_fiscalyear_invoice,account.fiscalyear.invoice,model_account_fiscalyear,account.group_account_invoice,1,0,0,0
access_account_fiscalyear_partner_manager,account.fiscalyear.partnermanager,model_account_fiscalyear,base.group_partner_manager,1,0,0,0
access_account_fiscalyear_employee,account.fiscalyear employee,model_account_fiscalyear,base.group_user,1,0,0,0
access_res_currency_account_manager,res.currency account manager,base.model_res_currency,group_account_manager,1,1,1,1
access_res_currency_rate_account_manager,res.currency.rate account manager,base.model_res_currency_rate,group_account_manager,1,1,1,1
access_res_currency_rate_type_account_manager,res.currency.rate.type account manager,base.model_res_currency_rate_type,group_account_manager,1,1,1,1
access_account_invoice_user,account.invoice user,model_account_invoice,base.group_user,1,0,0,0
access_account_invoice_user,account.invoice.line user,model_account_invoice_line,base.group_user,1,0,0,0
access_account_payment_term_partner_manager,account.payment.term partner manager,model_account_payment_term,base.group_user,1,0,0,0
access_account_payment_term_line_partner_manager,account.payment.term.line partner manager,model_account_payment_term_line,base.group_user,1,0,0,0
access_account_account_sale_manager,account.account sale manager,model_account_account,base.group_sale_manager,1,0,0,0
access_account_fiscal_position_product_manager,account.fiscal.position account.manager,model_account_fiscal_position,account.group_account_manager,1,1,1,1
access_account_fiscal_position_tax_product_manager,account.fiscal.position.tax account.manager,model_account_fiscal_position_tax,account.group_account_manager,1,1,1,1
access_account_fiscal_position_account_product_manager,account.fiscal.position account.manager,model_account_fiscal_position_account,account.group_account_manager,1,1,1,1
access_account_fiscal_position,account.fiscal.position all,model_account_fiscal_position,base.group_user,1,0,0,0
access_account_fiscal_position_tax,account.fiscal.position.tax all,model_account_fiscal_position_tax,base.group_user,1,0,0,0
access_account_fiscal_position_account,account.fiscal.position all,model_account_fiscal_position_account,base.group_user,1,0,0,0
access_account_fiscal_position_template,account.fiscal.position.template,model_account_fiscal_position_template,account.group_account_manager,1,1,1,1
access_account_fiscal_position_tax_template,account.fiscal.position.tax.template,model_account_fiscal_position_tax_template,account.group_account_manager,1,1,1,1
access_account_fiscal_position_account_template,account.fiscal.position.account.template,model_account_fiscal_position_account_template,account.group_account_manager,1,1,1,1
access_account_sequence_fiscal_year_user,account.sequence.fiscalyear user,model_account_sequence_fiscalyear,base.group_user,1,0,0,0
access_temp_range,temp.range,model_temp_range,account.group_account_manager,1,0,0,0
access_report_aged_receivable,report.aged.receivable,model_report_aged_receivable,account.group_account_manager,1,1,1,1
access_report_invoice_created,report.invoice.created,model_report_invoice_created,account.group_account_manager,1,1,1,1
access_report_account_type_sales,report.account_type.sales,model_report_account_type_sales,account.group_account_manager,1,1,1,1
access_report_account_sales,report.account.sales,model_report_account_sales,account.group_account_manager,1,1,1,1
access_account_invoice_report,account.invoice.report,model_account_invoice_report,account.group_account_manager,1,1,1,1
access_res_partner_group_account_manager,res_partner group_account_manager,model_res_partner,account.group_account_manager,1,0,0,0
access_account_invoice_accountant,account.invoice accountant,model_account_invoice,account.group_account_user,1,0,0,0
access_account_tax_code_accountant,account.tax.code accountant,model_account_tax_code,account.group_account_user,1,1,1,1
access_account_move_line_manager,account.move.line manager,model_account_move_line,account.group_account_manager,1,0,0,0
access_account_move_manager,account.move manager,model_account_move,account.group_account_manager,1,0,0,0
access_account_entries_report_manager,account.entries.report,model_account_entries_report,account.group_account_manager,1,1,1,1
access_account_entries_report_invoice,account.entries.report,model_account_entries_report,account.group_account_invoice,1,0,0,0
access_account_entries_report_employee,account.entries.report employee,model_account_entries_report,base.group_user,1,0,0,0
access_analytic_entries_report_manager,analytic.entries.report,model_analytic_entries_report,account.group_account_manager,1,0,0,0
access_account_cashbox_line,account.cashbox.line,model_account_cashbox_line,account.group_account_user,1,1,1,1
access_account_journal_cashbox_line,account.journal.cashbox.line,model_account_journal_cashbox_line,account.group_account_user,1,1,1,0
access_account_invoice_tax_accountant,account.invoice.tax accountant,model_account_invoice_tax,account.group_account_user,1,0,0,0
access_account_move_reconcile_manager,account.move.reconcile manager,model_account_move_reconcile,account.group_account_manager,1,0,0,0
access_account_analytic_line_invoice,account.analytic.line invoice,model_account_analytic_line,account.group_account_invoice,1,1,1,1
access_account_invoice_line_accountant,account.invoice.line accountant,model_account_invoice_line,account.group_account_user,1,0,0,0
access_account_account_invoice,account.account invoice,model_account_account,account.group_account_invoice,1,1,1,1
access_account_analytic_accountant,account.analytic.account accountant,analytic.model_account_analytic_account,account.group_account_user,1,1,1,1
access_account_account_type_invoice,account.account.type invoice,model_account_account_type,account.group_account_invoice,1,1,1,1
access_report_account_receivable_invoice,report.account.receivable.invoice,model_report_account_receivable,account.group_account_invoice,1,1,1,1
access_account_sequence_fiscal_year_invoice,account.sequence.fiscalyear invoice,model_account_sequence_fiscalyear,account.group_account_invoice,1,1,1,1
access_account_tax_sale_manager,account.tax sale manager,model_account_tax,base.group_sale_salesman,1,0,0,0
access_account_journal_sale_manager,account.journal sale manager,model_account_journal,base.group_sale_salesman,1,0,0,0
access_account_invoice_tax_sale_manager,account.invoice.tax sale manager,model_account_invoice_tax,base.group_sale_salesman,1,0,0,0
access_account_sequence_fiscal_year_sale_user,account.sequence.fiscalyear.sale.user,model_account_sequence_fiscalyear,base.group_sale_salesman,1,1,1,0
access_account_sequence_fiscal_year_sale_manager,account.sequence.fiscalyear.sale.manager,model_account_sequence_fiscalyear,base.group_sale_manager,1,1,1,1
access_account_treasury_report_manager,account.treasury.report.manager,model_account_treasury_report,account.group_account_manager,1,0,0,0
access_account_financial_report,account.financial.report,model_account_financial_report,account.group_account_user,1,1,1,1
access_account_financial_report_invoice,account.financial.report invoice,model_account_financial_report,account.group_account_invoice,1,0,0,0
access_account_statement_operation_template,account.statement.operation.template,model_account_statement_operation_template,account.group_account_user,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_product_product_account_user product.product.account.user product.model_product_product group_account_user 1 0 0 0
3 access_account_payment_term account.payment.term model_account_payment_term account.group_account_user 1 0 0 0
4 access_account_payment_term_line account.payment.term.line model_account_payment_term_line account.group_account_user 1 0 0 0
5 access_account_account_type account.account.type model_account_account_type account.group_account_user 1 0 0 0
6 access_account_tax_internal_user account.tax internal user model_account_tax base.group_user 1 0 0 0
7 access_account_account account.account model_account_account account.group_account_user 1 0 0 0
8 access_account_account_user account.account user model_account_account base.group_user 1 0 0 0
9 access_account_account_partner_manager account.account partner manager model_account_account base.group_partner_manager 1 0 0 0
10 access_account_journal_period_manager account.journal.period manager model_account_journal_period account.group_account_manager 1 0 0 0
11 access_account_tax_code account.tax.code model_account_tax_code account.group_account_invoice 1 0 0 0
12 access_account_tax account.tax model_account_tax account.group_account_invoice 1 0 0 0
13 access_account_model account.model model_account_model account.group_account_user 1 1 1 1
14 access_account_model_line account.model.line model_account_model_line account.group_account_user 1 1 1 1
15 access_account_subscription account.subscription model_account_subscription account.group_account_user 1 1 1 1
16 access_account_subscription_line account.subscription.line model_account_subscription_line account.group_account_user 1 1 1 1
17 access_account_subscription_manager account.subscription manager model_account_subscription account.group_account_manager 1 0 0 0
18 access_account_subscription_line_manager account.subscription.line manager model_account_subscription_line account.group_account_manager 1 0 0 0
19 access_account_account_template account.account.template model_account_account_template account.group_account_manager 1 1 1 1
20 access_account_tax_code_template account.tax.code.template model_account_tax_code_template account.group_account_manager 1 1 1 1
21 access_account_chart_template account.chart.template model_account_chart_template account.group_account_manager 1 1 1 1
22 access_account_tax_template account.tax.template model_account_tax_template account.group_account_manager 1 1 1 1
23 access_account_bank_statement account.bank.statement model_account_bank_statement account.group_account_user 1 1 1 1
24 access_account_bank_statement_line account.bank.statement.line model_account_bank_statement_line account.group_account_user 1 1 1 1
25 access_account_analytic_line_manager account.analytic.line manager model_account_analytic_line account.group_account_manager 1 0 0 0
26 access_account_analytic_account account.analytic.account analytic.model_account_analytic_account base.group_user 1 0 0 0
27 access_account_analytic_journal account.analytic.journal model_account_analytic_journal account.group_account_user 1 0 0 0
28 access_account_analytic_journal_user account.analytic.journal model_account_analytic_journal base.group_user 1 1 1 0
29 access_account_invoice_uinvoice account.invoice model_account_invoice account.group_account_invoice 1 1 1 1
30 access_account_invoice_line_uinvoice account.invoice.line model_account_invoice_line account.group_account_invoice 1 1 1 1
31 access_account_invoice_tax_uinvoice account.invoice.tax model_account_invoice_tax account.group_account_invoice 1 1 1 1
32 access_account_move_uinvoice account.move model_account_move account.group_account_invoice 1 1 1 1
33 access_account_move_line_uinvoice account.move.line invoice model_account_move_line account.group_account_invoice 1 1 1 1
34 access_account_move_reconcile_uinvoice account.move.reconcile model_account_move_reconcile account.group_account_invoice 1 1 1 1
35 access_account_journal_period_uinvoice account.journal.period model_account_journal_period account.group_account_invoice 1 1 1 1
36 access_account_payment_term_manager account.payment.term model_account_payment_term account.group_account_manager 1 1 1 1
37 access_account_payment_term_line_manager account.payment.term.line model_account_payment_term_line account.group_account_manager 1 1 1 1
38 access_account_tax_manager account.tax model_account_tax account.group_account_manager 1 1 1 1
39 access_account_journal_manager account.journal model_account_journal account.group_account_manager 1 1 1 1
40 access_account_journal_invoice account.journal invoice model_account_journal account.group_account_invoice 1 0 0 0
41 access_account_period_manager account.period model_account_period account.group_account_manager 1 1 1 1
42 access_account_period_invoice account.period invoice model_account_period account.group_account_invoice 1 0 0 0
43 access_account_invoice_group_invoice account.invoice group invoice model_account_invoice account.group_account_invoice 1 1 1 1
44 access_account_analytic_journal_manager account.analytic.journal model_account_analytic_journal account.group_account_manager 1 1 1 1
45 access_account_fiscalyear account.fiscalyear model_account_fiscalyear account.group_account_manager 1 1 1 1
46 access_account_fiscalyear_invoice account.fiscalyear.invoice model_account_fiscalyear account.group_account_invoice 1 0 0 0
47 access_account_fiscalyear_partner_manager account.fiscalyear.partnermanager model_account_fiscalyear base.group_partner_manager 1 0 0 0
48 access_account_fiscalyear_employee account.fiscalyear employee model_account_fiscalyear base.group_user 1 0 0 0
49 access_res_currency_account_manager res.currency account manager base.model_res_currency group_account_manager 1 1 1 1
50 access_res_currency_rate_account_manager res.currency.rate account manager base.model_res_currency_rate group_account_manager 1 1 1 1
51 access_res_currency_rate_type_account_manager res.currency.rate.type account manager base.model_res_currency_rate_type group_account_manager 1 1 1 1
52 access_account_invoice_user account.invoice user model_account_invoice base.group_user 1 0 0 0
53 access_account_invoice_user account.invoice.line user model_account_invoice_line base.group_user 1 0 0 0
54 access_account_payment_term_partner_manager account.payment.term partner manager model_account_payment_term base.group_user 1 0 0 0
55 access_account_payment_term_line_partner_manager account.payment.term.line partner manager model_account_payment_term_line base.group_user 1 0 0 0
56 access_account_account_sale_manager account.account sale manager model_account_account base.group_sale_manager 1 0 0 0
57 access_account_fiscal_position_product_manager account.fiscal.position account.manager model_account_fiscal_position account.group_account_manager 1 1 1 1
58 access_account_fiscal_position_tax_product_manager account.fiscal.position.tax account.manager model_account_fiscal_position_tax account.group_account_manager 1 1 1 1
59 access_account_fiscal_position_account_product_manager account.fiscal.position account.manager model_account_fiscal_position_account account.group_account_manager 1 1 1 1
60 access_account_fiscal_position account.fiscal.position all model_account_fiscal_position base.group_user 1 0 0 0
61 access_account_fiscal_position_tax account.fiscal.position.tax all model_account_fiscal_position_tax base.group_user 1 0 0 0
62 access_account_fiscal_position_account account.fiscal.position all model_account_fiscal_position_account base.group_user 1 0 0 0
63 access_account_fiscal_position_template account.fiscal.position.template model_account_fiscal_position_template account.group_account_manager 1 1 1 1
64 access_account_fiscal_position_tax_template account.fiscal.position.tax.template model_account_fiscal_position_tax_template account.group_account_manager 1 1 1 1
65 access_account_fiscal_position_account_template account.fiscal.position.account.template model_account_fiscal_position_account_template account.group_account_manager 1 1 1 1
66 access_account_sequence_fiscal_year_user account.sequence.fiscalyear user model_account_sequence_fiscalyear base.group_user 1 0 0 0
67 access_temp_range temp.range model_temp_range account.group_account_manager 1 0 0 0
68 access_report_aged_receivable report.aged.receivable model_report_aged_receivable account.group_account_manager 1 1 1 1
69 access_report_invoice_created report.invoice.created model_report_invoice_created account.group_account_manager 1 1 1 1
70 access_report_account_type_sales report.account_type.sales model_report_account_type_sales account.group_account_manager 1 1 1 1
71 access_report_account_sales report.account.sales model_report_account_sales account.group_account_manager 1 1 1 1
72 access_account_invoice_report account.invoice.report model_account_invoice_report account.group_account_manager 1 1 1 1
73 access_res_partner_group_account_manager res_partner group_account_manager model_res_partner account.group_account_manager 1 0 0 0
74 access_account_invoice_accountant account.invoice accountant model_account_invoice account.group_account_user 1 0 0 0
75 access_account_tax_code_accountant account.tax.code accountant model_account_tax_code account.group_account_user 1 1 1 1
76 access_account_move_line_manager account.move.line manager model_account_move_line account.group_account_manager 1 0 0 0
77 access_account_move_manager account.move manager model_account_move account.group_account_manager 1 0 0 0
78 access_account_entries_report_manager account.entries.report model_account_entries_report account.group_account_manager 1 1 1 1
79 access_account_entries_report_invoice account.entries.report model_account_entries_report account.group_account_invoice 1 0 0 0
80 access_account_entries_report_employee account.entries.report employee model_account_entries_report base.group_user 1 0 0 0
81 access_analytic_entries_report_manager analytic.entries.report model_analytic_entries_report account.group_account_manager 1 0 0 0
82 access_account_cashbox_line account.cashbox.line model_account_cashbox_line account.group_account_user 1 1 1 1
83 access_account_journal_cashbox_line account.journal.cashbox.line model_account_journal_cashbox_line account.group_account_user 1 1 1 0
84 access_account_invoice_tax_accountant account.invoice.tax accountant model_account_invoice_tax account.group_account_user 1 0 0 0
85 access_account_move_reconcile_manager account.move.reconcile manager model_account_move_reconcile account.group_account_manager 1 0 0 0
86 access_account_analytic_line_invoice account.analytic.line invoice model_account_analytic_line account.group_account_invoice 1 1 1 1
87 access_account_invoice_line_accountant account.invoice.line accountant model_account_invoice_line account.group_account_user 1 0 0 0
88 access_account_account_invoice account.account invoice model_account_account account.group_account_invoice 1 1 1 1
89 access_account_analytic_accountant account.analytic.account accountant analytic.model_account_analytic_account account.group_account_user 1 1 1 1
90 access_account_account_type_invoice account.account.type invoice model_account_account_type account.group_account_invoice 1 1 1 1
91 access_report_account_receivable_invoice report.account.receivable.invoice model_report_account_receivable account.group_account_invoice 1 1 1 1
92 access_account_sequence_fiscal_year_invoice account.sequence.fiscalyear invoice model_account_sequence_fiscalyear account.group_account_invoice 1 1 1 1
93 access_account_tax_sale_manager account.tax sale manager model_account_tax base.group_sale_salesman 1 0 0 0
94 access_account_journal_sale_manager account.journal sale manager model_account_journal base.group_sale_salesman 1 0 0 0
95 access_account_invoice_tax_sale_manager account.invoice.tax sale manager model_account_invoice_tax base.group_sale_salesman 1 0 0 0
96 access_account_sequence_fiscal_year_sale_user account.sequence.fiscalyear.sale.user model_account_sequence_fiscalyear base.group_sale_salesman 1 1 1 0
97 access_account_sequence_fiscal_year_sale_manager account.sequence.fiscalyear.sale.manager model_account_sequence_fiscalyear base.group_sale_manager 1 1 1 1
98 access_account_treasury_report_manager account.treasury.report.manager model_account_treasury_report account.group_account_manager 1 0 0 0
99 access_account_financial_report account.financial.report model_account_financial_report account.group_account_user 1 1 1 1
100 access_account_financial_report_invoice account.financial.report invoice model_account_financial_report account.group_account_invoice 1 0 0 0
101 access_account_statement_operation_template account.statement.operation.template model_account_statement_operation_template account.group_account_user 1 1 1 1

View File

@ -0,0 +1,264 @@
.openerp .oe_bank_statement_reconciliation {
font-size: 12px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
cursor: default;
/* icons */ }
.openerp .oe_bank_statement_reconciliation h1 {
width: 48%;
padding: 0 0 0 15px;
margin: 0 0 35px 0;
float: left;
font-size: 2.3em; }
.openerp .oe_bank_statement_reconciliation h2 {
font-size: 1.8em; }
.openerp .oe_bank_statement_reconciliation .progress {
width: 49%;
margin: 6px 15px 0 0;
float: right;
position: relative;
display: inline-block; }
.openerp .oe_bank_statement_reconciliation .progress .progress-text {
text-align: center;
position: absolute;
width: 100%;
left: 0;
top: 2px;
z-index: 10;
text-shadow: -1px -1px 0 #f5f5f5, 1px -1px 0 #f5f5f5, -1px 1px 0 #f5f5f5, 1px 1px 0 #f5f5f5; }
.openerp .oe_bank_statement_reconciliation .oe_form_sheet {
position: relative;
padding-bottom: 30px; }
.openerp .oe_bank_statement_reconciliation .protip {
margin: 0;
position: absolute;
bottom: 7px;
right: 15px;
text-align: right;
color: #bbb; }
.openerp .oe_bank_statement_reconciliation .done_message {
width: 100%;
padding: 0 20%;
margin-top: 50px;
margin-bottom: 50px; }
.openerp .oe_bank_statement_reconciliation .done_message h2 {
margin-bottom: 30px; }
.openerp .oe_bank_statement_reconciliation .done_message h2 .congrats_icon {
float: right;
font-size: 2em;
position: relative;
top: -0.25em; }
.openerp .oe_bank_statement_reconciliation .done_message .achievements {
margin-top: 30px;
text-align: center;
position: relative; }
.openerp .oe_bank_statement_reconciliation .done_message .achievements .achievement {
font-size: 4em;
margin: 0 0.3em;
position: relative;
vertical-align: middle;
text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.2); }
.openerp .oe_bank_statement_reconciliation .done_message .achievements .achievement i {
font-size: 0.5em;
color: white;
position: absolute;
top: 50%;
margin-top: -0.55em;
left: 0;
width: 100%;
text-align: center; }
.openerp .oe_bank_statement_reconciliation .done_message .action_buttons {
text-align: center; }
.openerp .oe_bank_statement_reconciliation .glyphicon {
font-size: 12px !important; }
.openerp .oe_bank_statement_reconciliation .glyphicon.line_info_button {
color: #ccc !important; }
.openerp .oe_bank_statement_reconciliation .accounting_view .glyphicon-add-remove:before {
content: "\2212"; }
.openerp .oe_bank_statement_reconciliation .match .glyphicon-add-remove:before {
content: "\2b"; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line {
margin-bottom: 30px;
/* gap between accounting_view and action view */
/* popover */
/* arrays of move lines */
/* Partie infos */
/* Match view */
/* Action create */ }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line table {
width: 100%; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .toggle_match, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .toggle_create {
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
-ms-transition-property: -ms-transform;
-o-transition-property: -o-transform;
transition-property: transform;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg); }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .visible_toggle, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line[data-mode="match"] .toggle_match, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line[data-mode="create"] .toggle_create {
visibility: visible !important;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg); }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .change_partner_container {
width: 200px;
display: none;
position: relative !important; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line[data-mode="inactive"] .initial_line > td {
background-color: #f8f8f8 !important; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line.no_match:not(.no_partner) .initial_line {
cursor: default !important; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line.no_match:not(.no_partner) .initial_line .line_info_button {
cursor: pointer; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line.no_match:not(.no_partner) .toggle_match {
visibility: hidden !important; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line.no_partner .partner_name, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line.no_partner .line_open_balance {
display: none !important; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line > table > tbody > tr:nth-child(1) > td table {
margin-bottom: 10px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line table.details td:first-child {
padding-right: 10px;
font-weight: bold; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table {
width: 100%; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr {
cursor: pointer; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr.created_line, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr.created_line {
cursor: default !important; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr.created_line .line_remove_button, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr.created_line .line_remove_button {
cursor: pointer; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td {
padding: 1px 8px;
vertical-align: middle; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(1), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(7), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td:nth-child(1), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td:nth-child(7) {
width: 15px;
padding: 0; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(1), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td:nth-child(1) {
text-align: left; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(2), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td:nth-child(2) {
width: 80px;
padding-left: 3px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(3), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td:nth-child(3) {
width: 100px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(5), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td:nth-child(5) {
text-align: right;
width: 15%; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(6), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td:nth-child(6) {
width: 15%;
text-align: right;
padding-right: 3px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(7), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table td:nth-child(7) {
text-align: right; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr.line_open_balance, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr.line_open_balance {
color: #bbb; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr .glyphicon:not(.line_info_button), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr .glyphicon:not(.line_info_button) {
visibility: hidden;
color: #555; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr:hover .glyphicon, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr.active .glyphicon, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr:hover .glyphicon, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr.active .glyphicon {
visibility: visible; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr .do_partial_reconcile_button, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr .do_partial_reconcile_button {
color: #f0ad4e;
padding-right: 5px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr .undo_partial_reconcile_button, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match table tr .undo_partial_reconcile_button {
color: #555;
padding-right: 5px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view .initial_line > td {
border-top: 1px solid #bbbbbb;
padding-top: 4px;
padding-bottom: 5px;
background-color: #f0f0f0;
-webkit-transition-property: background-color;
-moz-transition-property: background-color;
-ms-transition-property: background-color;
transition-property: background-color; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view .initial_line > td:nth-child(1), .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view .initial_line > td:nth-child(7) {
border-top: none;
background: white !important;
padding-top: 6px;
padding-bottom: 3px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view caption {
text-align: left;
font-size: 1.1em;
font-weight: bold;
height: 26px;
margin: 0 15px 4px 15px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view caption .button_ok {
float: right; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view caption .button_ok:disabled {
opacity: 0.5; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view caption > span, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view caption > input {
position: relative;
top: 7px;
/* meh */
font-weight: bold;
cursor: pointer; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view td:nth-child(6) {
border-left: 1px solid black; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr.initial_line > td:nth-child(5) {
border-top: 1px solid black; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .accounting_view tr.initial_line > td:nth-child(6) {
border-top: 1px solid black; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match .match_controls {
padding: 0 0 5px 18px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match .match_controls .filter {
width: 240px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match .match_controls .pager_control_left, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match .match_controls .pager_control_right {
display: inline-block;
cursor: pointer; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match .match_controls .pager_control_left {
margin-right: 10px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match .match_controls .pager_control_left.disabled, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match .match_controls .pager_control_right.disabled {
color: #ddd;
cursor: default; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .match .show_more {
display: inline-block;
margin-left: 18px;
margin-top: 5px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create {
margin: 0 15px;
border: 1px solid #d5d5d5;
border-radius: 5px;
padding: 10px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .quick_add {
margin-bottom: 10px;
clear: both; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .quick_add:empty {
display: none; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .quick_add:empty {
display: none; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table {
width: 49%;
height: 26px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table:nth-child(2n+1) {
float: left; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table:nth-child(2n) {
float: right; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table th {
font-weight: bold;
line-height: 26px;
padding-right: 8px;
min-width: 100px;
border-right: 1px solid #ddd;
white-space: nowrap;
width: 1%; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table td {
width: 99%;
padding-left: 8px; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table input, .openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table select {
width: 100%; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table.add_line_container:nth-child(2n+1) {
width: 98%;
float: none;
margin: auto; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table.add_line_container td {
text-align: center; }
.openerp .oe_bank_statement_reconciliation .oe_bank_statement_reconciliation_line .create .oe_form > table.add_line_container .add_line {
line-height: 26px; }

View File

@ -0,0 +1,447 @@
$actionColWidth: 15px;
$mainTableBordersPadding: 3px;
$lightBorder: 1px solid #bbb;
$accountingBorder: 1px solid #000;
$initialLineBackground: #f0f0f0;
.openerp .oe_bank_statement_reconciliation {
font-size: 12px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
cursor: default;
h1 {
width: 48%;
padding: 0 0 0 $actionColWidth;
margin: 0 0 35px 0;
float: left;
font-size: 2.3em;
}
h2 {
font-size: 1.8em;
}
.progress {
width: 49%;
margin: 6px $actionColWidth 0 0;
float: right;
position: relative;
display: inline-block;
.progress-text {
text-align: center;
position: absolute;
width: 100%;
left: 0;
top: 2px;
z-index: 10;
text-shadow:
-1px -1px 0 #f5f5f5,
1px -1px 0 #f5f5f5,
-1px 1px 0 #f5f5f5,
1px 1px 0 #f5f5f5;
}
}
.oe_form_sheet {
position: relative;
padding-bottom: 30px;
}
.protip {
margin: 0;
position: absolute;
bottom: 7px;
right: 15px;
text-align: right;
color: #bbb;
}
.done_message {
width: 100%;
padding: 0 20%;
margin-top: 50px;
margin-bottom: 50px;
h2 {
margin-bottom: 30px;
.congrats_icon {
float: right;
font-size: 2em;
position: relative;
top: -0.25em;
}
}
.achievements {
margin-top: 30px;
text-align: center;
position: relative;
.achievement {
font-size: 4em;
margin: 0 0.3em;
position: relative;
vertical-align: middle;
text-shadow: 2px 2px 0px rgba(0,0,0,0.2);
i {
font-size: 0.5em;
color: white;
position: absolute;
top: 50%;
margin-top: -0.55em;
left: 0;
width: 100%;
text-align: center;
//text-shadow: 1px 1px 0 black;
}
}
}
.action_buttons {
text-align: center;
}
}
/* icons */
.glyphicon {
font-size: 12px !important;
&.line_info_button {
color: #ccc !important;
}
}
.accounting_view .glyphicon-add-remove:before {
content: "\2212";
}
.match .glyphicon-add-remove:before {
content: "\2b";
}
// bankStatementReconciliationLine widget
.oe_bank_statement_reconciliation_line {
margin-bottom: 30px;
table {
width: 100%;
}
// modes : default
.toggle_match, .toggle_create {
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
-ms-transition-property: -ms-transform;
-o-transition-property: -o-transform;
transition-property: transform;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
.visible_toggle {
visibility: visible !important;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
.change_partner_container {
width: 200px;
display: none;
position: relative !important;
}
// modes : specific
&[data-mode="match"] {
.toggle_match {
@extend .visible_toggle;
}
}
&[data-mode="create"] {
.toggle_create {
@extend .visible_toggle;
}
}
&[data-mode="inactive"] {
.initial_line > td {
background-color: ($initialLineBackground + #080808) !important;
}
}
&.no_match:not(.no_partner) {
.initial_line {
cursor: default !important;
.line_info_button {
cursor: pointer;
}
}
.toggle_match {
visibility: hidden !important;
}
}
&.no_partner {
.partner_name, .line_open_balance {
display: none !important;
}
}
/* gap between accounting_view and action view */
> table > tbody > tr:nth-child(1) > td table {
margin-bottom: 10px;
}
/* popover */
table.details {
td:first-child {
padding-right: 10px;
font-weight: bold;
}
}
/* arrays of move lines */
.accounting_view, .match table {
width: 100%;
tr {
cursor: pointer;
&.created_line {
cursor: default !important;
.line_remove_button {
cursor: pointer;
}
}
}
td {
padding: 1px 8px;
vertical-align: middle;
}
td:nth-child(1), td:nth-child(7) {
width: $actionColWidth;
padding: 0;
}
td:nth-child(1) {
text-align: left;
}
td:nth-child(2) {
width: 80px;
padding-left: $mainTableBordersPadding;
}
td:nth-child(3) {
width: 100px;
}
td:nth-child(4) {
}
td:nth-child(5) {
text-align: right;
width: 15%;
}
td:nth-child(6) {
width: 15%;
text-align: right;
padding-right: $mainTableBordersPadding;
}
td:nth-child(7) {
text-align: right;
}
tr.line_open_balance {
color: #bbb;
}
tr .glyphicon:not(.line_info_button) {
visibility: hidden;
color: #555;
}
tr:hover .glyphicon, tr.active .glyphicon {
visibility: visible;
}
tr .do_partial_reconcile_button {
color: #f0ad4e;
padding-right: 5px;
}
tr .undo_partial_reconcile_button {
color: #555;
padding-right: 5px;
}
}
/* Partie infos */
.accounting_view {
.initial_line > td {
border-top: $lightBorder;
padding-top: 4px;
padding-bottom: 5px;
background-color: $initialLineBackground;
-webkit-transition-property: background-color;
-moz-transition-property: background-color;
-ms-transition-property: background-color;
transition-property: background-color;
&:nth-child(1), &:nth-child(7) {
border-top: none;
background: white !important;
// Hack pour l'alignement au px près
padding-top: 6px;
padding-bottom: 3px;
}
}
caption {
text-align: left;
font-size: 1.1em;
font-weight: bold;
height: 26px;
margin: 0 $actionColWidth 4px $actionColWidth;
.button_ok {
float: right;
&:disabled {
opacity: 0.5;
}
}
> span, > input {
position: relative; top: 7px; /* meh */
font-weight: bold;
cursor: pointer;
}
}
// accounting "T"
td:nth-child(6) { border-left: $accountingBorder; }
tr.initial_line > td {
&:nth-child(5) { border-top: $accountingBorder; }
&:nth-child(6) { border-top: $accountingBorder; }
}
}
/* Match view */
.match {
.match_controls {
padding: 0 0 5px ($actionColWidth+$mainTableBordersPadding);
.filter {
width: 240px;
}
.pager_control_left, .pager_control_right {
display: inline-block;
cursor: pointer;
}
.pager_control_left {
margin-right: 10px;
}
.pager_control_left.disabled, .pager_control_right.disabled {
color: #ddd;
cursor: default;
}
}
.show_more {
display: inline-block;
margin-left: ($actionColWidth+$mainTableBordersPadding);
margin-top: 5px;
}
}
/* Action create */
.create {
margin: 0 $actionColWidth;
border: 1px solid #d5d5d5;
border-radius: 5px;
padding: 10px;
.quick_add {
margin-bottom: 10px;
clear: both;
&:empty {
display: none;
}
}
.quick_add:empty {
display: none;
}
.oe_form > table {
width: 49%;
height: 26px;
&:nth-child(2n+1) { float: left; }
&:nth-child(2n) { float: right; }
th {
font-weight: bold;
line-height: 26px;
padding-right: 8px;
min-width: 100px;
border-right: 1px solid #ddd;
white-space: nowrap;
width: 1%;
}
td {
width: 99%;
padding-left: 8px;
}
input, select {
width: 100%;
}
&.add_line_container {
&:nth-child(2n+1) {
width: 98%;
float: none;
margin: auto;
}
td {
text-align: center;
}
.add_line {
line-height: 26px;
}
}
}
}
}
}

View File

@ -1,130 +0,0 @@
openerp.account = function (instance) {
openerp.account.quickadd(instance);
var _t = instance.web._t,
_lt = instance.web._lt;
var QWeb = instance.web.qweb;
instance.web.account = instance.web.account || {};
instance.web.views.add('tree_account_reconciliation', 'instance.web.account.ReconciliationListView');
instance.web.account.ReconciliationListView = instance.web.ListView.extend({
init: function() {
this._super.apply(this, arguments);
var self = this;
this.current_partner = null;
this.on('record_selected', this, function() {
if (self.get_selected_ids().length === 0) {
self.$(".oe_account_recon_reconcile").attr("disabled", "");
} else {
self.$(".oe_account_recon_reconcile").removeAttr("disabled");
}
});
},
load_list: function() {
var self = this;
var tmp = this._super.apply(this, arguments);
if (this.partners) {
this.$el.prepend(QWeb.render("AccountReconciliation", {widget: this}));
this.$(".oe_account_recon_previous").click(function() {
self.current_partner = (((self.current_partner - 1) % self.partners.length) + self.partners.length) % self.partners.length;
self.search_by_partner();
});
this.$(".oe_account_recon_next").click(function() {
self.current_partner = (self.current_partner + 1) % self.partners.length;
self.search_by_partner();
});
this.$(".oe_account_recon_reconcile").click(function() {
self.reconcile();
});
this.$(".oe_account_recom_mark_as_reconciled").click(function() {
self.mark_as_reconciled();
});
}
return tmp;
},
do_search: function(domain, context, group_by) {
var self = this;
this.last_domain = domain;
this.last_context = context;
this.last_group_by = group_by;
this.old_search = _.bind(this._super, this);
var mod = new instance.web.Model("account.move.line", context, domain);
return mod.call("list_partners_to_reconcile", []).then(function(result) {
var current = self.current_partner !== null ? self.partners[self.current_partner][0] : null;
self.partners = result;
var index = _.find(_.range(self.partners.length), function(el) {
if (current === self.partners[el][0])
return true;
});
if (index !== undefined)
self.current_partner = index;
else
self.current_partner = self.partners.length == 0 ? null : 0;
self.search_by_partner();
});
},
search_by_partner: function() {
var self = this;
var fct = function() {
return self.old_search(new instance.web.CompoundDomain(self.last_domain,
[["partner_id", "in", self.current_partner === null ? [] :
[self.partners[self.current_partner][0]] ]]), self.last_context, self.last_group_by);
};
if (self.current_partner === null) {
self.last_reconciliation_date = _t("Never");
return fct();
} else {
return new instance.web.Model("res.partner").call("read",
[self.partners[self.current_partner][0], ["last_reconciliation_date"]]).then(function(res) {
self.last_reconciliation_date =
instance.web.format_value(res.last_reconciliation_date, {"type": "datetime"}, _t("Never"));
return fct();
});
}
},
reconcile: function() {
var self = this;
var ids = this.get_selected_ids();
if (ids.length === 0) {
new instance.web.Dialog(this, {
title: _t("Warning"),
size: 'medium',
}, $("<div />").text(_t("You must choose at least one record."))).open();
return false;
}
new instance.web.Model("ir.model.data").call("get_object_reference", ["account", "action_view_account_move_line_reconcile"]).then(function(result) {
var additional_context = _.extend({
active_id: ids[0],
active_ids: ids,
active_model: self.model
});
return self.rpc("/web/action/load", {
action_id: result[1],
context: additional_context
}).done(function (result) {
result.context = instance.web.pyeval.eval('contexts', [result.context, additional_context]);
result.flags = result.flags || {};
result.flags.new_window = true;
return self.do_action(result, {
on_close: function () {
self.do_search(self.last_domain, self.last_context, self.last_group_by);
}
});
});
});
},
mark_as_reconciled: function() {
var self = this;
var id = self.partners[self.current_partner][0];
new instance.web.Model("res.partner").call("mark_as_reconciled", [[id]]).then(function() {
self.do_search(self.last_domain, self.last_context, self.last_group_by);
});
},
do_select: function (ids, records) {
this.trigger('record_selected')
this._super.apply(this, arguments);
},
});
};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-name="bank_statement_nothing_to_reconcile">
<div class="oe_form_sheetbg"><div class="oe_form_sheet oe_form_sheet_width">
<div class="oe_view_nocontent"><p>
<b>Good Job!</b> Bank statements are fully reconciled.</p>
<p>This page displays all the bank transactions that are to be reconciled and provides with a neat interface to do so.</p>
</div>
</div></div>
</t>
<t t-name="bank_statement_reconciliation">
<div class="oe_form_sheetbg"><div class="oe_form_sheet oe_form_sheet_width">
<h1><t t-esc="title"/></h1>
<div class="progress progress-striped">
<div class="progress-text"><span class="valuenow">0</span> / <span class="valuemax"><t t-esc="total_lines"/></span></div>
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" t-att-aria-valuemax="total_lines" style="width: 0%;">
</div>
</div>
<div class="oe_clear"></div>
<div class="reconciliation_lines_container"></div>
<p class='protip'>Tip : Hit ctrl-enter to validate the whole sheet.</p>
</div></div>
</t>
<t t-name="bank_statement_reconciliation_done_message">
<div class='done_message'>
<h2><t t-raw="title" /></h2>
<p>It took you <strong><t t-esc="time_taken" /></strong> to reconcile <strong><t t-esc="transactions_done" /> transactions.<br/></strong> That's on average <t t-esc="sec_per_item" /> seconds per transaction.</p>
<t t-if="done_with_ctrl_enter !== 0">
<p>You validated <t t-esc="done_with_ctrl_enter" /> reconciliations with the ctrl-enter shortcut.</p>
</t>
<p class='achievements'>
<t t-foreach="achievements" t-as="achievement">
<i class='fa fa-certificate achievement' t-att-data-title='achievement.title' t-att-data-content='achievement.desc'><i t-att-class="'fa '+achievement.icon"></i></i>
</t>
</p>
<p class="action_buttons">
<t t-if="has_statement_id">
<button class="button_back_to_statement">Back to statement</button>
<button class="button_close_statement">Close the statement</button>
</t>
</p>
</div>
</t>
<t t-name="bank_statement_reconciliation_line">
<table t-att-data-mode="mode">
<tr>
<td>
<table class="accounting_view">
<caption>
<button class="button_ok"></button>
<span class="partner_name"><t t-esc="line.partner_name"/></span>
<div class="change_partner_container oe_form"></div>
</caption>
<tbody class="tbody_initial_line">
<tr class="initial_line">
<td><span class="toggle_match glyphicon glyphicon-cog"></span></td>
<td><t t-esc="line.account_code"/></td>
<td><t t-esc="line.date"/></td>
<td><t t-esc="line.name"/>
<t t-if="line.amount_currency_str"> (<t t-esc="line.amount_currency_str"/>)</t></td>
<td><t t-if="line.amount &gt; 0">
<t t-esc="line.amount_str"/></t></td>
<td><t t-if="line.amount &lt; 0">
<t t-esc="line.amount_str"/></t></td>
<td><span class="line_info_button glyphicon glyphicon-info-sign" t-att-data-content="line.q_popover"></span></td>
</tr>
</tbody>
<tbody class="tbody_matched_lines"></tbody>
<tbody class="tbody_created_lines"></tbody>
<tbody class="tbody_open_balance"></tbody>
</table>
</td>
</tr>
<tr>
<td>
<div class="action_pane match">
<div class="match_controls">
<input type="text" class="filter" placeholder="Filter" value="" />
<span class="pager_control_right pull-right glyphicon glyphicon-chevron-right"></span>
<span class="pager_control_left pull-right glyphicon glyphicon-chevron-left"></span>
</div>
<table></table>
</div>
<div class="action_pane create">
<!-- NB : I use a .quick_add:empty selector. whitespace characters being a node, there shall be none -->
<div class="quick_add btn-group btn-group-sm"><t t-foreach="presets" t-as="preset"><button type='button' class='btn btn-default preset' t-att-data-presetid="preset.id"><t t-esc="preset.name"/></button></t></div>
<div class="oe_form create_form">
<!-- here come some form_create_field -->
<table class="create_field add_line_container"><tr><td><a href="javascript:void(0)" class="add_line">New</a></td></tr></table>
</div>
</div>
</td>
</tr>
</table>
</t>
<t t-name="filter_no_match">
<tr><td style='text-align: center;'>No result matching '<t t-esc="filter_str" />'</td></tr>
</t>
<t t-name="form_create_field">
<table t-att-class='"create_field create_"+id'><tr>
<th><t t-esc="label"/></th>
<td class="create_account_container" t-att-class='"create_"+id+"_container"'></td>
</tr></table>
</t>
<t t-name="bank_statement_reconciliation_line_details">
<table class='details'>
<tr><td>Date</td><td><t t-esc="line.date"/></td></tr>
<tr><td>Partner</td><td><t t-esc="line.partner_name"/></td></tr>
<tr t-if="line.ref"><td>Transaction</td><td><t t-esc="line.ref"/></td></tr>
<tr><td>Description</td><td><t t-esc="line.name"/></td></tr>
<tr><td>Amount</td><td><t t-esc="line.amount_str"/><t t-if="line.amount_currency_str"> (<t t-esc="line.amount_currency_str"/>)</t></td></tr>
<tr><td>Account</td><td><t t-esc="line.account_code"/> <t t-esc="line.account_name"/></td></tr>
</table>
</t>
<t t-name="bank_statement_reconciliation_move_line">
<tr class="mv_line" t-att-data-lineid="line.id" t-att-data-selected="selected">
<td><span class="glyphicon glyphicon-add-remove"></span></td>
<td><t t-esc="line.account_code"/></td>
<td><t t-esc="line.q_due_date"/></td>
<td><t t-esc="line.q_label"/></td>
<td><t t-if="line.debit !== 0">
<t t-if="line.propose_partial_reconcile" t-call="icon_do_partial_reconciliation"></t>
<t t-if="line.partial_reconcile" t-call="icon_undo_partial_reconciliation"></t>
<t t-esc="line.debit_str"/>
</t></td>
<td><t t-if="line.credit !== 0">
<t t-if="line.propose_partial_reconcile"><t t-call="icon_do_partial_reconciliation" /></t>
<t t-if="line.partial_reconcile"><t t-call="icon_undo_partial_reconciliation" /></t>
<t t-esc="line.credit_str"/>
</t></td>
<td><span class="line_info_button glyphicon glyphicon-info-sign" t-att-data-content="line.q_popover"></span></td>
</tr>
</t>
<t t-name="icon_do_partial_reconciliation">
<i class="do_partial_reconcile_button fa fa-exclamation-triangle" data-content="This move's amount is higher than the transaction's amount. Click to do a partial reconciliation"></i>
</t>
<t t-name="icon_undo_partial_reconciliation">
<i class="undo_partial_reconcile_button fa fa-exclamation-triangle" data-content="Undo the partial reconciliation."></i>
</t>
<t t-name="bank_statement_reconciliation_move_line_details">
<table class='details'>
<tr><td>ID</td><td><t t-esc="line.id"/></td></tr>
<tr><td>Account</td><td><t t-esc="line.account_code"/> <t t-esc="line.account_name"/></td></tr>
<tr><td>Journal</td><td><t t-esc="line.journal_name"/></td></tr>
<tr><td>Period</td><td><t t-esc="line.period_name"/></td></tr>
<tr><td>Date</td><td><t t-esc="line.date"/></td></tr>
<tr><td>Due Date</td><td><t t-esc="line.q_due_date"/></td></tr>
<tr><td>Amount</td>
<td><t t-if="line.debit !== 0" t-esc="line.debit_str"/><t t-if="line.credit !== 0" t-esc="line.credit_str"/>
<t t-if="line.amount_currency_str"> (<t t-esc="line.amount_currency_str"/>)</t>
</td></tr>
</table>
</t>
<t t-name="bank_statement_reconciliation_created_line">
<tr class="created_line" t-att-data-lineid="line.id">
<td><t t-if="! line.no_remove_action"><span class="line_remove_button glyphicon glyphicon-remove"></span></t></td>
<td><t t-esc="line.account_num"/></td>
<td></td>
<td><t t-esc="line.label"/></td>
<td><t t-if="line.amount &lt; 0"><t t-esc="line.amount_str"/></t></td>
<td><t t-if="line.amount &gt; 0"><t t-esc="line.amount_str"/></t></td>
<td></td>
</tr>
</t>
<t t-name="bank_statement_reconciliation_line_open_balance">
<tr class="line_open_balance">
<td><span class="toggle_create glyphicon glyphicon-play"></span></td>
<td><t t-esc="account_code"/></td>
<td></td>
<td>Open balance</td>
<td><t t-esc="debit"/></td>
<td><t t-esc="credit"/></td>
<td></td>
</tr>
</t>
</templates>

View File

@ -76,4 +76,4 @@
I check that the past accounts are taken into account in partner credit
-
!assert {model: res.partner, id: base.res_partner_2, string: Total Receivable does not takes unreconciled moves of previous years}:
- credit == 15.0
- credit == 1040.0

View File

@ -8,7 +8,8 @@
<link rel="stylesheet" href="/account/static/src/css/account_move_reconciliation.css"/>
<link rel="stylesheet" href="/account/static/src/css/account_move_line_quickadd.css"/>
<link rel="stylesheet" href="/account/static/src/css/account_bank_and_cash.css"/>
<script type="text/javascript" src="/account/static/src/js/account_move_reconciliation.js"></script>
<link rel="stylesheet" href="/account/static/src/css/account_bank_statement_reconciliation.css"/>
<script type="text/javascript" src="/account/static/src/js/account_widgets.js"></script>
<script type="text/javascript" src="/account/static/src/js/account_move_line_quickadd.js"></script>
</xpath>
</template>

View File

@ -63,8 +63,6 @@ import account_report_account_balance
import account_change_currency
import pos_box;
import pos_box
import account_statement_from_invoice
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -22,7 +22,6 @@
import time
from openerp.osv import fields, osv
from openerp.tools.translate import _
class account_statement_from_invoice_lines(osv.osv_memory):
"""
@ -40,7 +39,7 @@ class account_statement_from_invoice_lines(osv.osv_memory):
statement_id = context.get('statement_id', False)
if not statement_id:
return {'type': 'ir.actions.act_window_close'}
data = self.read(cr, uid, ids, context=context)[0]
data = self.read(cr, uid, ids, context=context)[0]
line_ids = data['line_ids']
if not line_ids:
return {'type': 'ir.actions.act_window_close'}
@ -49,14 +48,11 @@ class account_statement_from_invoice_lines(osv.osv_memory):
statement_obj = self.pool.get('account.bank.statement')
statement_line_obj = self.pool.get('account.bank.statement.line')
currency_obj = self.pool.get('res.currency')
voucher_obj = self.pool.get('account.voucher')
voucher_line_obj = self.pool.get('account.voucher.line')
line_date = time.strftime('%Y-%m-%d')
statement = statement_obj.browse(cr, uid, statement_id, context=context)
# for each selected move lines
for line in line_obj.browse(cr, uid, line_ids, context=context):
voucher_res = {}
ctx = context.copy()
# take the date for computation of currency => use payment date
ctx['date'] = line_date
@ -70,55 +66,19 @@ class account_statement_from_invoice_lines(osv.osv_memory):
if line.amount_currency:
amount = currency_obj.compute(cr, uid, line.currency_id.id,
statement.currency.id, line.amount_currency, context=ctx)
elif (line.invoice and line.invoice.currency_id.id <> statement.currency.id):
elif (line.invoice and line.invoice.currency_id.id != statement.currency.id):
amount = currency_obj.compute(cr, uid, line.invoice.currency_id.id,
statement.currency.id, amount, context=ctx)
context.update({'move_line_ids': [line.id],
'invoice_id': line.invoice.id})
type = 'general'
ttype = amount < 0 and 'payment' or 'receipt'
sign = 1
if line.journal_id.type in ('sale', 'sale_refund'):
type = 'customer'
ttype = 'receipt'
elif line.journal_id.type in ('purchase', 'purhcase_refund'):
type = 'supplier'
ttype = 'payment'
sign = -1
result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, amount=sign*amount, currency_id= statement.currency.id, ttype=ttype, date=line_date, context=context)
voucher_res = { 'type': ttype,
'name': line.name,
'partner_id': line.partner_id.id,
'journal_id': statement.journal_id.id,
'account_id': result['value'].get('account_id', statement.journal_id.default_credit_account_id.id),
'company_id': statement.company_id.id,
'currency_id': statement.currency.id,
'date': statement.date,
'amount': sign*amount,
'payment_rate': result['value']['payment_rate'],
'payment_rate_currency_id': result['value']['payment_rate_currency_id'],
'period_id':statement.period_id.id}
voucher_id = voucher_obj.create(cr, uid, voucher_res, context=context)
voucher_line_dict = {}
for line_dict in result['value']['line_cr_ids'] + result['value']['line_dr_ids']:
move_line = line_obj.browse(cr, uid, line_dict['move_line_id'], context)
if line.move_id.id == move_line.move_id.id:
voucher_line_dict = line_dict
if voucher_line_dict:
voucher_line_dict.update({'voucher_id': voucher_id})
voucher_line_obj.create(cr, uid, voucher_line_dict, context=context)
statement_line_obj.create(cr, uid, {
'name': line.name or '?',
'amount': amount,
'type': type,
'partner_id': line.partner_id.id,
'account_id': line.account_id.id,
'statement_id': statement_id,
'ref': line.ref,
'voucher_id': voucher_id,
'date': statement.date,
}, context=context)
return {'type': 'ir.actions.act_window_close'}

View File

@ -56,7 +56,6 @@ class CashBoxIn(CashBox):
return {
'statement_id' : record.id,
'journal_id' : record.journal_id.id,
'account_id' : record.journal_id.internal_account_id.id,
'amount' : box.amount or 0.0,
'ref' : '%s' % (box.ref or ''),
'name' : box.name,
@ -73,7 +72,6 @@ class CashBoxOut(CashBox):
return {
'statement_id' : record.id,
'journal_id' : record.journal_id.id,
'account_id' : record.journal_id.internal_account_id.id,
'amount' : -amount if amount > 0.0 else amount,
'name' : box.name,
}

View File

@ -74,6 +74,7 @@ The analytic plan validates the minimum and maximum percentage at the time of cr
'wizard/analytic_plan_create_model_view.xml',
'wizard/account_crossovered_analytic_view.xml',
'views/report_crossoveredanalyticplans.xml',
'views/account_analytic_plans.xml',
],
'demo': [],
'test': ['test/acount_analytic_plans_report.yml'],

View File

@ -233,57 +233,25 @@
<!-- add property field on default analytic account-->
<record model="ir.ui.view" id="view_default_inherit_form">
<field name="name">account.analytic.default.form.plans</field>
<field name="model">account.analytic.default</field>
<field name="inherit_id" ref="account_analytic_default.view_account_analytic_default_form"/>
<field name="arch" type="xml">
<field name="analytic_id" required="1" position="replace">
<field name="analytics_id" required="1"/>
</field>
<record model="ir.ui.view" id="view_default_inherit_form">
<field name="name">account.analytic.default.form.plans</field>
<field name="model">account.analytic.default</field>
<field name="inherit_id" ref="account_analytic_default.view_account_analytic_default_form"/>
<field name="arch" type="xml">
<field name="analytic_id" required="1" position="replace">
<field name="analytics_id" required="1"/>
</field>
</record>
<record model="ir.ui.view" id="view_default_inherit_tree">
<field name="name">account.analytic.default.tree.plans</field>
<field name="model">account.analytic.default</field>
<field name="inherit_id" ref="account_analytic_default.view_account_analytic_default_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='analytic_id']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath expr="//field[@name='analytic_id']" position="after">
<field name="analytics_id" required="1"/>
</xpath>
</field>
</record>
<record id="view_bank_statement_inherit_form" model="ir.ui.view">
<field name="name">account.bank.statement.form.inherit</field>
<field name="model">account.bank.statement</field>
<field name="inherit_id" ref="account.view_bank_statement_form"/>
<field name="arch" type="xml">
<xpath expr="/form/sheet/notebook/page/field[@name='line_ids']/tree/field[@name='analytic_account_id']" position="replace">
<field name="analytics_id" groups="analytic.group_analytic_accounting"/>
</xpath>
<xpath expr="/form/sheet/notebook/page/field[@name='line_ids']/form/group/field[@name='analytic_account_id']" position="replace">
<field name="analytics_id" groups="analytic.group_analytic_accounting"/>
</xpath>
</field>
</record>
<record id="view_bank_statement_inherit_form2" model="ir.ui.view">
<field name="name">account.bank.statement.form.inherit</field>
<field name="model">account.bank.statement</field>
<field name="inherit_id" ref="account.view_bank_statement_form2"/>
<field name="arch" type="xml">
<xpath expr="/form/sheet/notebook/page/field[@name='line_ids']/tree/field[@name='analytic_account_id']" position="replace">
<field name="analytics_id" groups="analytic.group_analytic_accounting"/>
</xpath>
<xpath expr="/form/sheet/notebook/page/field[@name='line_ids']/form/group/field[@name='analytic_account_id']" position="replace">
<field name="analytics_id" groups="analytic.group_analytic_accounting"/>
</xpath>
</field>
</record>
</field>
</record>
<record model="ir.ui.view" id="view_default_inherit_tree">
<field name="name">account.analytic.default.tree.plans</field>
<field name="model">account.analytic.default</field>
<field name="inherit_id" ref="account_analytic_default.view_account_analytic_default_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='analytic_id']" position="replace">
<field name="analytics_id" required="1"/>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,35 @@
openerp.account_analytic_plans = function(instance) {
var _t = instance.web._t,
_lt = instance.web._lt;
var QWeb = instance.web.qweb;
instance.web.account.bankStatementReconciliation.include({
init: function(parent, context) {
this._super(parent, context);
delete this.create_form_fields.analytic_account_id;
this.create_form_fields["analytic_plan"] = {
id: "analytic_plan",
index: 4,
corresponding_property: "analytics_id",
label: _t("Analytic Distribution"),
required: false,
tabindex: 14,
group: "analytic.group_analytic_accounting",
constructor: instance.web.form.FieldMany2One,
field_properties: {
relation: "account.analytic.plan.instance",
string: _t("Analytic Distribution"),
type: "many2one",
}
};
},
start: function() {
return this._super().then(function() {
});
},
});
};

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- vim:fdn=3:
-->
<openerp>
<data>
<template id="assets_backend" name="account analytic plans assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/account_analytic_plans/static/src/js/account_bank_reconciliation.js"></script>
</xpath>
</template>
</data>
</openerp>

View File

@ -42,20 +42,11 @@
<field name="inherit_id" ref="account.view_bank_statement_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='date']" position="after">
<field name="val_date" invisible="1"/>
</xpath>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after">
<field name="val_date" invisible="1"/>
<field name="globalisation_id" string="Glob. Id" invisible="1"/>
<field name="state" invisible="1"/>
</xpath>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/group/field[@name='date']" position="after">
<field name="val_date"/>
</xpath>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/group/field[@name='amount']" position="after">
<field name="globalisation_id"/>
<field name="state" invisible="1"/>
</xpath>
</data>
</field>
</record>
@ -74,10 +65,7 @@
<field name="name"/>
<field name="statement_id"/>
<field name="ref" readonly="1"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="type" on_change="onchange_type(partner_id, type)"/>
<field name="account_id"/>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('type', '&lt;&gt;', 'view')]"/>
<field name="partner_id"/>
<field name="amount" readonly="1" sum="Total Amount"/>
<field name="globalisation_id" string="Glob. Id"/>
<field name="globalisation_amount" string="Glob. Am."/>
@ -98,10 +86,7 @@
<field name="val_date"/>
<field name="name"/>
<field name="ref" readonly="0"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="type" on_change="onchange_type(partner_id, type)"/>
<field domain="[('type', '&lt;&gt;', 'view')]" name="account_id"/>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('type', '&lt;&gt;', 'view')]"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="globalisation_id"/>
<field name="sequence" readonly="0"/>
@ -129,7 +114,6 @@
<field name="statement_id"/>
<field name="globalisation_id" string="Glob. Id"/>
<group string="Extended Filters..." expand="0">
<field name="account_id"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="globalisation_amount" string="Glob. Amount"/>
@ -138,7 +122,6 @@
<group string="Group By" expand="1">
<filter string="Journal" context="{'group_by':'journal_id'}" icon="terp-folder-green"/>
<filter string="Statement" context="{'group_by':'statement_id'}" icon="terp-folder-orange"/>
<filter string="Fin.Account" context="{'group_by':'account_id'}" icon="terp-folder-yellow"/>
</group>
</search>
</field>

View File

@ -107,12 +107,9 @@ class account_payment_populate_statement(osv.osv_memory):
st_line_id = statement_line_obj.create(cr, uid, {
'name': line.order_id.reference or '?',
'amount': - amount,
'type': 'supplier',
'partner_id': line.partner_id.id,
'account_id': line.move_line_id.account_id.id,
'statement_id': statement.id,
'ref': line.communication,
'voucher_id': voucher_id,
}, context=context)
line_obj.write(cr, uid, [line.id], {'bank_statement_line_id': st_line_id})

View File

@ -22,6 +22,5 @@
import account_voucher
import invoice
import report
import wizard
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -49,7 +49,6 @@ This module manages:
'security/ir.model.access.csv',
'account_voucher_sequence.xml',
'account_voucher_workflow.xml',
'wizard/account_statement_from_invoice_view.xml',
'account_voucher_view.xml',
'voucher_payment_receipt_view.xml',
'voucher_sales_purchase_view.xml',

View File

@ -327,7 +327,6 @@ class account_voucher(osv.osv):
}
_columns = {
'active': fields.boolean('Active', help="By default, reconciliation vouchers made on draft bank statements are set as inactive, which allow to hide the customer/supplier payment while the bank statement isn't confirmed."),
'type':fields.selection([
('sale','Sale'),
('purchase','Purchase'),
@ -389,7 +388,6 @@ class account_voucher(osv.osv):
'currency_help_label': fields.function(_fnct_currency_help_label, type='text', string="Helping Sentence", help="This sentence helps you to know how to specify the payment rate by giving you the direct effect it has"),
}
_defaults = {
'active': True,
'period_id': _get_period,
'partner_id': _get_partner,
'journal_id':_get_journal,
@ -1583,114 +1581,6 @@ class account_voucher_line(osv.osv):
})
return values
class account_bank_statement(osv.osv):
_inherit = 'account.bank.statement'
def button_confirm_bank(self, cr, uid, ids, context=None):
voucher_obj = self.pool.get('account.voucher')
voucher_ids = []
for statement in self.browse(cr, uid, ids, context=context):
voucher_ids += [line.voucher_id.id for line in statement.line_ids if line.voucher_id]
if voucher_ids:
voucher_obj.write(cr, uid, voucher_ids, {'active': True}, context=context)
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
def button_cancel(self, cr, uid, ids, context=None):
voucher_obj = self.pool.get('account.voucher')
for st in self.browse(cr, uid, ids, context=context):
voucher_ids = []
for line in st.line_ids:
if line.voucher_id:
voucher_ids.append(line.voucher_id.id)
voucher_obj.cancel_voucher(cr, uid, voucher_ids, context)
return super(account_bank_statement, self).button_cancel(cr, uid, ids, context=context)
def create_move_from_st_line(self, cr, uid, st_line_id, company_currency_id, next_number, context=None):
voucher_obj = self.pool.get('account.voucher')
move_line_obj = self.pool.get('account.move.line')
bank_st_line_obj = self.pool.get('account.bank.statement.line')
st_line = bank_st_line_obj.browse(cr, uid, st_line_id, context=context)
if st_line.voucher_id:
voucher_obj.write(cr, uid, [st_line.voucher_id.id],
{'number': next_number,
'date': st_line.date,
'period_id': st_line.statement_id.period_id.id},
context=context)
if st_line.voucher_id.state == 'cancel':
voucher_obj.action_cancel_draft(cr, uid, [st_line.voucher_id.id], context=context)
voucher_obj.signal_proforma_voucher(cr, uid, [st_line.voucher_id.id])
v = voucher_obj.browse(cr, uid, st_line.voucher_id.id, context=context)
bank_st_line_obj.write(cr, uid, [st_line_id], {
'move_ids': [(4, v.move_id.id, False)]
})
return move_line_obj.write(cr, uid, [x.id for x in v.move_ids], {'statement_id': st_line.statement_id.id}, context=context)
return super(account_bank_statement, self).create_move_from_st_line(cr, uid, st_line.id, company_currency_id, next_number, context=context)
def write(self, cr, uid, ids, vals, context=None):
# Restrict to modify the journal if we already have some voucher of reconciliation created/generated.
# Because the voucher keeps in memory the journal it was created with.
for bk_st in self.browse(cr, uid, ids, context=context):
if vals.get('journal_id') and bk_st.line_ids:
if any([x.voucher_id and True or False for x in bk_st.line_ids]):
raise osv.except_osv(_('Unable to Change Journal!'), _('You can not change the journal as you already reconciled some statement lines!'))
return super(account_bank_statement, self).write(cr, uid, ids, vals, context=context)
class account_bank_statement_line(osv.osv):
_inherit = 'account.bank.statement.line'
def onchange_partner_id(self, cr, uid, ids, partner_id, context=None):
res = super(account_bank_statement_line, self).onchange_partner_id(cr, uid, ids, partner_id, context=context)
if 'value' not in res:
res['value'] = {}
res['value'].update({'voucher_id' : False})
return res
def onchange_amount(self, cr, uid, ids, amount, context=None):
return {'value' : {'voucher_id' : False}}
def _amount_reconciled(self, cursor, user, ids, name, args, context=None):
if not ids:
return {}
res = {}
for line in self.browse(cursor, user, ids, context=context):
if line.voucher_id:
res[line.id] = line.voucher_id.amount#
else:
res[line.id] = 0.0
return res
def _check_amount(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
if obj.voucher_id:
diff = abs(obj.amount) - abs(obj.voucher_id.amount)
if not self.pool.get('res.currency').is_zero(cr, uid, obj.statement_id.currency, diff):
return False
return True
_constraints = [
(_check_amount, 'The amount of the voucher must be the same amount as the one on the statement line.', ['amount']),
]
_columns = {
'amount_reconciled': fields.function(_amount_reconciled,
string='Amount reconciled', type='float'),
'voucher_id': fields.many2one('account.voucher', 'Reconciliation'),
}
def unlink(self, cr, uid, ids, context=None):
voucher_obj = self.pool.get('account.voucher')
statement_line = self.browse(cr, uid, ids, context=context)
unlink_ids = []
for st_line in statement_line:
if st_line.voucher_id:
unlink_ids.append(st_line.voucher_id.id)
voucher_obj.unlink(cr, uid, unlink_ids, context=context)
return super(account_bank_statement_line, self).unlink(cr, uid, ids, context=context)
def resolve_o2m_operations(cr, uid, target_osv, operations, fields, context):
results = []
for operation in operations:

View File

@ -193,59 +193,7 @@
<field name="context">{'state':'posted'}</field>
<field name="search_view_id" ref="view_voucher_filter"/>
</record>
<record id="view_bank_statement_form_invoice" model="ir.ui.view">
<field name="name">account.bank.statement.invoice.form.inherit</field>
<field name="model">account.bank.statement</field>
<field name="inherit_id" ref="account.view_bank_statement_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='import_buttons']" position="inside">
<button class="oe_inline oe_stat_button" name="%(action_view_account_statement_from_invoice_lines)d"
string="Import Invoice" type="action"
attrs="{'invisible':[('state','=','confirm')]}" widget="statinfo" icon="fa-pencil-square-o"/>
</xpath>
</field>
</record>
<record id="view_bank_statement_form_voucher" model="ir.ui.view">
<field name="name">account.bank.statement.voucher.tree.inherit</field>
<field name="model">account.bank.statement</field>
<field name="inherit_id" ref="account.view_bank_statement_form"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after">
<field name="voucher_id" string="" widget="many2onebutton" options="{'label':{'create':'Reconcile','edit':'Edit Reconciliation'}}" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name, 'default_active': False, 'account_id': account_id}"/>
</xpath>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/group/field[@name='sequence']" position="before">
<field name="voucher_id" widget="many2onebutton" options="{'label':{'create':'Reconcile','edit':'Edit Reconciliation'}}" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name, 'default_active': False, 'account_id': account_id}"/>
</xpath>
<field name="amount" position="attributes">
<attribute name="on_change">onchange_amount(amount)</attribute>
</field>
</field>
</record>
<record id="view_cash_statement_tree_voucher" model="ir.ui.view">
<field name="name">account.cash.statement.voucher.tree.inherit</field>
<field name="model">account.bank.statement</field>
<field name="inherit_id" ref="account.view_bank_statement_form2"/>
<field name="arch" type="xml">
<xpath expr="//page/field[@name='line_ids']/tree/field[@name='amount']" position="after">
<field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name, 'account_id': account_id}"/>
</xpath>
</field>
</record>
<record id="view_cash_statement_form_voucher" model="ir.ui.view">
<field name="name">account.cash.statement.voucher.form.inherit</field>
<field name="model">account.bank.statement</field>
<field name="inherit_id" ref="account.view_bank_statement_form2"/>
<field name="arch" type="xml">
<xpath expr="//page/field[@name='line_ids']/form/group/field[@name='amount']" position="after">
<field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name, 'account_id': account_id}"/>
</xpath>
</field>
</record>
<!-- res.config form view -->
<record model="ir.ui.view" id="view_account_settings_currency_xchange_form">
<field name="name">account.config.settings.inherit</field>

View File

@ -1,24 +0,0 @@
# -*- 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/>.
#
##############################################################################
import account_statement_from_invoice
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -11,6 +11,7 @@ from openerp import SUPERUSER_ID
from openerp import http
from openerp.http import request
from openerp.addons.web.controllers.main import db_monodb, ensure_db, set_cookie_and_redirect, login_and_redirect
from openerp.addons.auth_signup.controllers.main import AuthSignupHome as Home
from openerp.modules.registry import RegistryManager
from openerp.tools.translate import _
@ -44,7 +45,7 @@ def fragment_to_query_string(func):
#----------------------------------------------------------
# Controller
#----------------------------------------------------------
class OAuthLogin(openerp.addons.web.controllers.main.Home):
class OAuthLogin(Home):
def list_providers(self):
try:
provider_obj = request.registry.get('auth.oauth.provider')
@ -67,10 +68,13 @@ class OAuthLogin(openerp.addons.web.controllers.main.Home):
return providers
def get_state(self, provider):
redirect = request.params.get('redirect', 'web')
if not redirect.startswith(('//', 'http://', 'https://')):
redirect = '%s%s' % (request.httprequest.url_root, redirect)
state = dict(
d=request.session.db,
p=provider['id'],
r=request.httprequest.full_path
r=redirect,
)
token = request.params.get('token')
if token:
@ -141,8 +145,7 @@ class OAuthController(http.Controller):
menu = state.get('m')
redirect = state.get('r')
url = '/web'
if redirect and not redirect.startswith('/auth_oauth/signin') and \
(not redirect.startswith('/web/login') or 'redirect' in urlparse.urlsplit(redirect).query):
if redirect:
url = redirect
elif action:
url = '/web#action=%s' % action

View File

@ -6,6 +6,7 @@ import urllib2
import simplejson
import openerp
from openerp.addons.auth_signup.res_users import SignupError
from openerp.osv import osv, fields
from openerp import SUPERUSER_ID
@ -55,14 +56,37 @@ class res_users(osv.Model):
This method can be overridden to add alternative signin methods.
"""
oauth_uid = validation['user_id']
user_ids = self.search(cr, uid, [("oauth_uid", "=", oauth_uid), ('oauth_provider_id', '=', provider)])
if not user_ids:
raise openerp.exceptions.AccessDenied()
assert len(user_ids) == 1
user = self.browse(cr, uid, user_ids[0], context=context)
user.write({'oauth_access_token': params['access_token']})
return user.login
try:
oauth_uid = validation['user_id']
user_ids = self.search(cr, uid, [("oauth_uid", "=", oauth_uid), ('oauth_provider_id', '=', provider)])
if not user_ids:
raise openerp.exceptions.AccessDenied()
assert len(user_ids) == 1
user = self.browse(cr, uid, user_ids[0], context=context)
user.write({'oauth_access_token': params['access_token']})
return user.login
except openerp.exceptions.AccessDenied, access_denied_exception:
if context and context.get('no_user_creation'):
return None
state = simplejson.loads(params['state'])
token = state.get('t')
oauth_uid = validation['user_id']
email = validation.get('email', 'provider_%s_user_%s' % (provider, oauth_uid))
name = validation.get('name', email)
values = {
'name': name,
'login': email,
'email': email,
'oauth_provider_id': provider,
'oauth_uid': oauth_uid,
'oauth_access_token': params['access_token'],
'active': True,
}
try:
_, login, _ = self.signup(cr, uid, values, token, context=context)
return login
except SignupError:
raise access_denied_exception
def auth_oauth(self, cr, uid, provider, params, context=None):
# Advice by Google (to avoid Confused Deputy Problem)

View File

@ -87,6 +87,7 @@
<field name="sequence"/>
<field name="name"/>
<field name="kind"/>
<field name="model_id"/>
<field name="filter_id"/>
</tree>
</field>

View File

@ -73,7 +73,8 @@
<div class="oe_import_error_report"></div>
<table class="oe_import_grid" />
</div>
<div class="oe_padding">
<h2>Frequently Asked Questions</h2>
<dl>

View File

@ -1,86 +0,0 @@
#!/usr/bin/env python
import argparse
import os
import sys
import tempfile
import zipfile
try:
import requests
except ImportError:
# no multipart encoding in stdlib and this script is temporary
sys.exit("This script requires the 'requests' module. ( pip install requests )")
session = requests.session()
def deploy_module(module_path, url, login, password, db=''):
url = url.rstrip('/')
authenticate(url, login, password, db)
module_file = zip_module(module_path)
try:
return upload_module(url, module_file)
finally:
os.remove(module_file)
def upload_module(server, module_file):
print("Uploading module file...")
url = server + '/base_import_module/upload'
files = dict(mod_file=open(module_file, 'rb'))
res = session.post(url, files=files)
if res.status_code != 200:
raise Exception("Could not authenticate on server '%s'" % server)
return res.text
def authenticate(server, login, password, db=''):
print("Authenticating on server '%s' ..." % server)
# Fixate session with a given db if any
session.get(server + '/web/login', params=dict(db=db))
args = dict(login=login, password=password, db=db)
res = session.post(server + '/base_import_module/login', args)
if res.status_code == 404:
raise Exception("The server '%s' does not have the 'base_import_module' installed." % server)
elif res.status_code != 200:
raise Exception(res.text)
def zip_module(path):
path = os.path.abspath(path)
if not os.path.isdir(path):
raise Exception("Could not find module directory '%s'" % path)
container, module_name = os.path.split(path)
temp = tempfile.mktemp(suffix='.zip')
try:
print("Zipping module directory...")
with zipfile.ZipFile(temp, 'w') as zfile:
for root, dirs, files in os.walk(path):
for file in files:
file_path = os.path.join(root, file)
zfile.write(file_path, file_path.split(container).pop())
return temp
except Exception:
os.remove(temp)
raise
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Deploy a module on an OpenERP server.')
parser.add_argument('path', help="Path of the module to deploy")
parser.add_argument('--url', dest='url', help='Url of the server (default=http://localhost:8069)', default="http://localhost:8069")
parser.add_argument('--db', dest='db', help='Database to use if server does not use db-filter.')
parser.add_argument('--login', dest='login', default="admin", help='Login (default=admin)')
parser.add_argument('--password', dest='password', default="admin", help='Password (default=admin)')
parser.add_argument('--no-ssl-check', dest='no_ssl_check', action='store_true', help='Do not check ssl cert')
if len(sys.argv) == 1:
sys.exit(parser.print_help())
args = parser.parse_args()
if args.no_ssl_check:
session.verify = False
try:
result = deploy_module(args.path, args.url, args.login, args.password, args.db)
print(result)
except Exception, e:
sys.exit("ERROR: %s" % e)

View File

@ -1273,7 +1273,7 @@ class calendar_event(osv.Model):
if data.get('count'):
data['end_type'] = 'count'
else:
data['end_type'] = 'final_date'
data['end_type'] = 'end_date'
return data
def message_get_subscription_data(self, cr, uid, ids, user_pid=None, context=None):

View File

@ -126,10 +126,10 @@
<field name="use_leads"/><label for="use_leads" string="Leads"/>
<field name="use_opportunities" class="oe_inline"/><label for="use_opportunities"/>
</xpath>
<xpath expr="//group/field[@name='active']" position="inside">
<xpath expr="//group[@name='left']" position="after">
<group>
<label for="alias_name" string="Email Alias"
attrs="p'invisible': [('alias_domain', '=', False)]}"/>
attrs="{'invisible': [('alias_domain', '=', False)]}"/>
<div name="alias_def"
attrs="{'invisible': [('alias_domain', '=', False)]}">
<field name="alias_id" class="oe_read_only oe_inline"

View File

@ -74,7 +74,7 @@ class sale_order(osv.Model):
if not grid_id:
raise osv.except_osv(_('No Grid Available!'), _('No grid matching for this carrier!'))
if order.state != 'draft':
if order.state not in ('draft', 'sent'):
raise osv.except_osv(_('Order not in Draft State!'), _('The order state have to be draft to add delivery lines.'))
grid = grid_obj.browse(cr, uid, grid_id, context=context)

View File

@ -39,16 +39,15 @@ instance.edi.EdiImport = instance.web.Widget.extend({
});
}
else {
$('<div>').dialog({
modal: true,
title: 'Import Successful!',
buttons: {
Ok: function() {
$(this).dialog("close");
window.location = "/";
new instance.web.Dialog(this,{
title: 'Import Successful!',
buttons: {
Ok: function() {
this.parents('.modal').modal('hide');
window.location = "/";
}
}
}
}).html(_t('The document has been successfully imported!'));
},$('<div>').html(_t('The document has been successfully imported!'))).open();
}
},
on_imported_error: function(response){
@ -58,13 +57,12 @@ instance.edi.EdiImport = instance.web.Widget.extend({
msg += "\n " + _t("Reason:") + response.data.message;
}
var params = {error: response, message: msg};
$(instance.web.qweb.render("CrashManager.warning", params)).dialog({
title: _t("Document Import Notification"),
modal: true,
buttons: {
Ok: function() { $(this).dialog("close"); }
}
});
new instance.web.Dialog(this,{
title: _t("Document Import Notification"),
buttons: {
Ok: function() { this.parents('.modal').modal('hide');}
}
},$(instance.web.qweb.render("CrashManager.warning", params))).open();
}
});

View File

@ -417,7 +417,7 @@ class email_template(osv.osv):
partner_to = values.pop('partner_to', '')
if partner_to:
# placeholders could generate '', 3, 2 due to some empty field values
tpl_partner_ids = [pid for pid in partner_to.split(',') if pid]
tpl_partner_ids = [int(pid) for pid in partner_to.split(',') if pid]
partner_ids += self.pool['res.partner'].exists(cr, SUPERUSER_ID, tpl_partner_ids, context=context)
results[res_id]['partner_ids'] = partner_ids
return results

View File

@ -42,6 +42,8 @@ this event.
'data': [
'event_sale_view.xml',
'event_sale_data.xml',
'event_sale_report.xml',
'views/report_registrationbadge.xml',
'security/ir.model.access.csv',
],
'demo': ['event_demo.xml'],

View File

@ -123,5 +123,102 @@
<field name="seats_max">5</field>
</record>
<record id="event.event_1" model="event.event">
<field name="badge_back"><![CDATA[
<h2>Program</h2>
<div><strong>Registrations</strong><small> are from 8:30 am, except on Friday from 9:00 am</small></div>
<div>
<strong>Lunch</strong><small> is served between 1:00 pm and 2:00 pm.</small>
</div>
<h2>Special Events</h2>
<table style="border: 1px solid black;">
<tr style="border: 1px solid black;">
<td class="text-center" width="15%"><strong>4/6</strong></td>
<td class="text-center" width="25%"><strong>19h00</strong></td>
<td><small>Barbecue Beer Event</small></td>
</tr>
<tr>
<td class="text-center"><strong>5/6</strong></td>
<td class="text-center"><strong>18h30</strong></td>
<td><small>Odoo Awards Ceremony</small></td>
</tr>
</table>
<br/>
<div class="row">
<div class="col-xs-5">
<p>
<i class="fa fa-twitter"/> #OpenDays
</p>
</div>
<div class="col-xs-6">
<div class="small">Wifi network: opendays</div>
<div class="small">Wifi password: odoo2014</div>
</div>
</div>
<div class="row">
<small class="col-xs-3" style="float: left; padding-right: 0px; padding-left: 0px;">sponsored by</small>
<div class="col-xs-2" style="padding-right: 0px; padding-left: 0px;">
<span>
<img class="img img-responsive" src="https://www.odoo.com/openerp_website/static/src/img/logo_white.png"/>
</span>
</div>
</div>
]]></field>
<field name="badge_innerleft"><![CDATA[
<h2>Premium Tickets</h2>
<table class="text-center">
<tr>
<td width="10%"></td>
<td width="10%" style="height:45px; width:110px; border-radius: 90px 90px 0 0; -moz-border-radius: 90px 90px 0 0; -webkit-border-radius: 90px 90px 0 0; background:lightgrey; text-align: -webkit-center; padding-top: 10px;"><div>Full</div><div> Catering</div></td>
<td width="5%"></td>
<td width="10%" style="height:45px; width:110px; border-radius: 90px 90px 0 0; -moz-border-radius: 90px 90px 0 0; -webkit-border-radius: 90px 90px 0 0; background:lightgrey; text-align: -webkit-center; padding-top: 10px;"><div>BBQ &amp;</div><div>Beer Event</div></td>
<td width="5%"></td>
<td width="10%" style="height:45px; width:110px; border-radius: 90px 90px 0 0; -moz-border-radius: 90px 90px 0 0; -webkit-border-radius: 90px 90px 0 0; background:lightgrey; text-align: -webkit-center; padding-top: 10px;"><div>Awards &amp;</div> <div>Walking</div><div> Dinner</div></td>
<td width="10%"></td>
</tr>
<tr style="background:lightgrey; height: 15px;">
<td colspan="7"></td>
</tr>
<tr style="background:lightgrey; height: 35px;">
<td></td>
<td>Every Day</td>
<td colspan="3">June 4th</td>
<td>June 5th</td>
<td></td>
</tr>
</table>
<br/><br/>
<h2>Free Tickets</h2>
<table class="text-center">
<tr>
<td width="10%"></td>
<td width="10%" style="height:45px; width:110px; border-radius: 90px 90px 0 0; -moz-border-radius: 90px 90px 0 0; -webkit-border-radius: 90px 90px 0 0; background:lightgrey; text-align: -webkit-center; padding-top: 10px;"><div>Drinks</div></td>
<td width="5%"></td>
<td width="10%" style="height:45px; width:110px; border-radius: 90px 90px 0 0; -moz-border-radius: 90px 90px 0 0; -webkit-border-radius: 90px 90px 0 0; background:lightgrey; text-align: -webkit-center; padding-top: 10px;"><div>Premium</div><div>Ticket</div><div>onsite</div></td>
<td width="25%"></td>
</tr>
<tr style="background:lightgrey; height: 15px;">
<td colspan="5"></td>
</tr>
<tr style="background:lightgrey; height: 35px;">
<td></td>
<td>Every Day</td>
<td></td>
<td>60 €/day<div>30 €/Friday</div></td>
<td></td>
</tr>
</table>
]]></field>
<field name="badge_innerright"><![CDATA[
<div>
<h2>Exhibition Hall</h2>
</div>
<div>
Picture of the exhibition hall
</div>
]]></field>
</record>
</data>
</openerp>

View File

@ -159,7 +159,11 @@ class event_event(osv.osv):
help="The maximum registration level is equal to the sum of the maximum registration of event ticket." +
"If you have too much registrations you are not able to confirm your event. (0 to ignore this rule )",
type='integer',
readonly=True),
readonly=True,
store={
'event.event': (lambda self, cr, uid, ids, c = {}: ids, ['event_ticket_ids'], 20),
'event.event.ticket': (_get_ticket_events, ['seats_max'], 10),
}),
'seats_available': fields.function(Event._get_seats, oldname='register_avail', string='Available Seats',
type='integer', multi='seats_reserved',
store={
@ -168,6 +172,9 @@ class event_event(osv.osv):
['seats_max', 'registration_ids'], 20),
'event.event.ticket': (_get_ticket_events, ['seats_max'], 10),
}),
'badge_back': fields.html('Badge Back', readonly=False, translate=True, states={'done': [('readonly', True)]}),
'badge_innerleft': fields.html('Badge Innner Left', readonly=False, translate=True, states={'done': [('readonly', True)]}),
'badge_innerright': fields.html('Badge Inner Right', readonly=False, translate=True, states={'done': [('readonly', True)]}),
}
_defaults = {
'event_ticket_ids': _get_tickets

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="paperformat_euro_lowmargin" model="report.paperformat">
<field name="name">European A4 low margin</field>
<field name="default" eval="True" />
<field name="format">A4</field>
<field name="page_height">0</field>
<field name="page_width">0</field>
<field name="orientation">Portrait</field>
<field name="margin_top">5</field>
<field name="margin_bottom">5</field>
<field name="margin_left">5</field>
<field name="margin_right">5</field>
<field name="header_line" eval="False" />
<field name="header_spacing">0</field>
<field name="dpi">80</field>
</record>
<report
id="action_report_registrationbadge"
model="event.registration"
string="Badge"
report_type="qweb-html"
name="event_sale.report_registrationbadge"
file="event_sale.report_registrationbadge"
/>
<record id="action_report_registrationbadge" model="ir.actions.report.xml">
<field name="paperformat_id" ref="event_sale.paperformat_euro_lowmargin"/>
</record>
</data>
</openerp>

View File

@ -99,5 +99,45 @@
</field>
</record>
<!-- Edit badge report form -->
<record id="view_event_form" model="ir.ui.view">
<field name="name">view_event_form</field>
<field name="model">event.event</field>
<field name="inherit_id" ref="event.view_event_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="//notebook" position="inside">
<page string="Ticket Types">
<field name="event_ticket_ids" context="{'default_name': name}">
<tree string="Payments" editable="bottom">
<field name="name"/>
<field name="product_id" on_change='onchange_product_id(product_id)'/>
<field name="deadline"/>
<field name="price"/>
<field name="seats_max"/>
<field name="seats_reserved"/>
<field name="seats_unconfirmed"/>
</tree>
</field>
</page>
</xpath>
<field name="nb_register" position="after">
<field name="event_ticket_id" domain="[('event_id', '=', context.get('event_id'))]"/>
</field>
<xpath expr="//notebook" position="inside">
<page string="Badge">
<label for="badge_back" class="oe_edit_only">Badge (Back)</label>
<field name="badge_back" nolabel="1" placeholder="Event badge_back..."/>
<hr/>
<label for="badge_innerleft" class="oe_edit_only">Badge (Inner Left)</label>
<field name="badge_innerleft" nolabel="1" placeholder="Event badge_innerleft..."/>
<hr/>
<label for="badge_innerright" class="oe_edit_only">Badge (Inner Right)</label>
<field name="badge_innerright" nolabel="1" placeholder="Event badge_innerright..."/>
</page>
</xpath>
</data>
</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="report_registrationbadge">
<t t-call="report.html_container">
<t t-foreach="docs" t-as="o">
<div class="page">
<div class="row">
<!-- Inner right -->
<div class="col-xs-6 text-center" style="padding-left:7mm; border-left:1px dashed black; height: 149mm; -webkit-transform:rotate(180deg); padding-top: 7mm">
<div>
<div class="row">
<div class="col-xs-12">
<div>
<span t-if="o.event_id.organizer_id.company_id.logo_web and o.event_id.organizer_id.is_company">
<img t-att-src="'data:image/png;base64,%s' % o.event_id.organizer_id.company_id.logo_web" style="max-height:1cm; max-width:4cm;"/>
</span>
<div>
<h5 t-field="o.event_id.name"/>
</div>
<div>
<h5>June 4th - 6th , 2014</h5>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 text-center">
<t t-if="o.event_ticket_id">
<div>
<strong><span t-field="o.event_ticket_id"/></strong>
</div>
</t>
<div>
<t t-if="o.partner_id.is_company == True">
<small>
<h3 t-field="o.partner_id.name"/>
<h5 t-field="o.name"/>
</small>
</t>
</div>
</div>
</div>
<br/>
<div class="row">
<div class="col-xs-12 mt32 text-center" style="background: lightgrey;">
<h3>Status</h3>
</div>
</div>
</div>
</div>
<!-- Inner left -->
<div class="col-xs-6" style="padding-right:7mm; height: 149mm; -webkit-transform:rotate(180deg); padding-top: 2mm;">
<span t-field="o.event_id.badge_back"/>
</div>
</div>
<div class="row">
<!-- Back -->
<div class="col-xs-6 text-center" style="padding-right:7mm; border-top:1px dashed black; height: 148mm;">
<span t-field="o.event_id.badge_innerleft"/>
</div>
<!-- Front -->
<div class="col-xs-6 text-center" style="border-left:1px dashed black; border-top:1px dashed black; height: 148mm; text-center">
<span t-field="o.event_id.badge_innerright"/>
</div>
</div>
</div>
</t>
</t>
</template>
</data>
</openerp>

View File

@ -129,9 +129,9 @@
<field name="name">Lancia</field>
<field name="image" type="base64" file="fleet/static/img/brand_lancia-image.png"/>
</record>
<record id="brand_lander rover" model="fleet.vehicle.model.brand">
<field name="name">Lander Rover</field>
<field name="image" type="base64" file="fleet/static/img/brand_lander rover-image.png"/>
<record id="brand_land rover" model="fleet.vehicle.model.brand">
<field name="name">Land Rover</field>
<field name="image" type="base64" file="fleet/static/img/brand_land rover-image.png"/>
</record>
<record id="brand_lexus" model="fleet.vehicle.model.brand">
<field name="name">Lexus</field>

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -380,10 +380,6 @@ class gamification_challenge(osv.Model):
##### Automatic actions #####
def generate_goals_from_challenge(self, cr, uid, ids, context=None):
_logger.warning("Deprecated, use private method _generate_goals_from_challenge(...) instead.")
return self._generate_goals_from_challenge(cr, uid, ids, context=context)
def _generate_goals_from_challenge(self, cr, uid, ids, context=None):
"""Generate the goals for each line and user.

View File

@ -333,7 +333,8 @@ class gamification_goal(osv.Model):
if definition.computation_mode == 'sum':
field_name = definition.field_id.name
res = obj.read_group(cr, uid, domain, [field_name], [field_name], context=context)
# TODO for master: group on user field in batch mode
res = obj.read_group(cr, uid, domain, [field_name], [], context=context)
new_value = res and res[0][field_name] or 0.0
else: # computation mode = count

View File

@ -141,7 +141,7 @@ class hr_timesheet_sheet(osv.osv):
return {
sheet_id: {
'timesheet_activity_count': Timesheet.search_count(cr,uid, [('sheet_id','=', sheet_id)], context=context),
'attendance_count': Attendance.search_count(cr,uid, [('sheed_id', '=', sheet_id)], context=context)
'attendance_count': Attendance.search_count(cr,uid, [('sheet_id', '=', sheet_id)], context=context)
}
for sheet_id in ids
}

View File

@ -2,9 +2,9 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
#
#
# Copyright (c) 2011 Noviat nv/sa (www.noviat.be). All rights reserved.
#
#
# 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
@ -34,64 +34,64 @@ Supported are CODA flat files in V2 format from Belgian bank accounts.
* CODA v2.2 support.
* Foreign Currency support.
* Support for all data record types (0, 1, 2, 3, 4, 8, 9).
* Parsing & logging of all Transaction Codes and Structured Format
* Parsing & logging of all Transaction Codes and Structured Format
Communications.
* Automatic Financial Journal assignment via CODA configuration parameters.
* Support for multiple Journals per Bank Account Number.
* Support for multiple statements from different bank accounts in a single
* Support for multiple statements from different bank accounts in a single
CODA file.
* Support for 'parsing only' CODA Bank Accounts (defined as type='info' in
* Support for 'parsing only' CODA Bank Accounts (defined as type='info' in
the CODA Bank Account configuration records).
* Multi-language CODA parsing, parsing configuration data provided for EN,
* Multi-language CODA parsing, parsing configuration data provided for EN,
NL, FR.
The machine readable CODA Files are parsed and stored in human readable format in
CODA Bank Statements. Also Bank Statements are generated containing a subset of
the CODA information (only those transaction lines that are required for the
creation of the Financial Accounting records). The CODA Bank Statement is a
The machine readable CODA Files are parsed and stored in human readable format in
CODA Bank Statements. Also Bank Statements are generated containing a subset of
the CODA information (only those transaction lines that are required for the
creation of the Financial Accounting records). The CODA Bank Statement is a
'read-only' object, hence remaining a reliable representation of the original
CODA file whereas the Bank Statement will get modified as required by accounting
CODA file whereas the Bank Statement will get modified as required by accounting
business processes.
CODA Bank Accounts configured as type 'Info' will only generate CODA Bank Statements.
A removal of one object in the CODA processing results in the removal of the
associated objects. The removal of a CODA File containing multiple Bank
A removal of one object in the CODA processing results in the removal of the
associated objects. The removal of a CODA File containing multiple Bank
Statements will also remove those associated statements.
The following reconciliation logic has been implemented in the CODA processing:
-------------------------------------------------------------------------------
1) The Company's Bank Account Number of the CODA statement is compared against
the Bank Account Number field of the Company's CODA Bank Account
configuration records (whereby bank accounts defined in type='info'
1) The Company's Bank Account Number of the CODA statement is compared against
the Bank Account Number field of the Company's CODA Bank Account
configuration records (whereby bank accounts defined in type='info'
configuration records are ignored). If this is the case an 'internal transfer'
transaction is generated using the 'Internal Transfer Account' field of the
transaction is generated using the 'Internal Transfer Account' field of the
CODA File Import wizard.
2) As a second step the 'Structured Communication' field of the CODA transaction
line is matched against the reference field of in- and outgoing invoices
line is matched against the reference field of in- and outgoing invoices
(supported : Belgian Structured Communication Type).
3) When the previous step doesn't find a match, the transaction counterparty is
located via the Bank Account Number configured on the OpenERP Customer and
3) When the previous step doesn't find a match, the transaction counterparty is
located via the Bank Account Number configured on the OpenERP Customer and
Supplier records.
4) In case the previous steps are not successful, the transaction is generated
by using the 'Default Account for Unrecognized Movement' field of the CODA
4) In case the previous steps are not successful, the transaction is generated
by using the 'Default Account for Unrecognized Movement' field of the CODA
File Import wizard in order to allow further manual processing.
In stead of a manual adjustment of the generated Bank Statements, you can also
re-import the CODA after updating the OpenERP database with the information that
In stead of a manual adjustment of the generated Bank Statements, you can also
re-import the CODA after updating the OpenERP database with the information that
was missing to allow automatic reconciliation.
Remark on CODA V1 support:
~~~~~~~~~~~~~~~~~~~~~~~~~~
In some cases a transaction code, transaction category or structured
In some cases a transaction code, transaction category or structured
communication code has been given a new or clearer description in CODA V2.The
description provided by the CODA configuration tables is based upon the CODA
description provided by the CODA configuration tables is based upon the CODA
V2.2 specifications.
If required, you can manually adjust the descriptions via the CODA configuration menu.
''',
'images' : ['images/coda_logs.jpeg','images/import_coda_logs.jpeg'],
'depends': ['account_voucher','base_iban', 'l10n_be_invoice_bba',],
'demo': [],
'images': ['images/coda_logs.jpeg', 'images/import_coda_logs.jpeg'],
'depends': ['account_voucher', 'base_iban', 'l10n_be_invoice_bba'],
'demo': ['l10n_be_coda_demo.xml'],
'data': [
'l10n_be_coda_wizard.xml',
'l10n_be_coda_view.xml',

View File

@ -0,0 +1,36 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record id="demo_bank_account" model="res.partner.bank">
<field name="state">bank</field>
<field name="acc_number">BE33737018595246</field>
<field name="bank_bic">KREDBEBB</field>
<field name="journal_id" ref="account.bank_journal"/>
<field name="partner_id" ref="base.main_partner"/>
</record>
<!--
Fiscal year
-->
<record id="data_fiscalyear_2011" model="account.fiscalyear">
<field eval="'Fiscal Year X 2011'" name="name"/>
<field eval="'FY2011'" name="code"/>
<field eval="'2011-01-01'" name="date_start"/>
<field eval="'2011-12-31'" name="date_stop"/>
<field name="company_id" ref="base.main_company"/>
</record>
<!--
Fiscal Periods
-->
<record id="period_1_2011" model="account.period">
<field eval="'01/2011'" name="code"/>
<field eval="'X 01/2011'" name="name"/>
<field name="fiscalyear_id" ref="data_fiscalyear_2011"/>
<field eval="'2011-01-01'" name="date_start"/>
<field eval="'2011-01-31'" name="date_stop"/>
<field name="company_id" ref="base.main_company"/>
</record>
</data>
</openerp>

View File

@ -25,8 +25,6 @@
<field name="name"/>
<field name="ref" readonly="0"/>
<field name="partner_id"/>
<field name="type" />
<field domain="[('type', '&lt;&gt;', 'view')]" name="account_id"/>
<field name="amount"/>
<field name="sequence" readonly="0"/>
</group>
@ -46,10 +44,7 @@
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="type" on_change="onchange_type(partner_id, type)"/>
<field name="account_id" options='{"no_open":True}' domain="[('type', '&lt;&gt;', 'view')]"/>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('type', '&lt;&gt;', 'view')]"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="note"/>
</tree>
@ -66,17 +61,14 @@
<filter name="credit" string="Credit" domain="[('amount','&lt;',0)]" icon="terp-folder-orange" help="Credit Transactions."/>
<field name="statement_id"/>
<group expand="0" string="Extended Filters...">
<field name="account_id"/>
<field name="partner_id"/>
<field name="amount"/>
<field name="type"/>
<field name="note"/>
</group>
<newline/>
<group string="Group By" expand="0">
<filter string="Partner" context="{'group_by':'partner_id'}" icon="terp-folder-green"/>
<filter string="Statement" context="{'group_by':'statement_id'}" icon="terp-folder-orange"/>
<filter string="Fin.Account" context="{'group_by':'account_id'}" icon="terp-folder-yellow"/>
</group>
</search>
</field>

View File

@ -10,7 +10,6 @@
<form string="Import CODA File" version="7.0">
<group col="2">
<field name="coda_data" filename="coda_fname"/>
<field name="temporary_account_id" />
</group>
<footer>
<button name="coda_parsing" string="_Import" type="object" class="oe_highlight"/>

View File

@ -37,20 +37,10 @@ class account_coda_import(osv.osv_memory):
'coda_data': fields.binary('CODA File', required=True),
'coda_fname': fields.char('CODA Filename', size=128, required=True),
'note': fields.text('Log'),
'temporary_account_id': fields.many2one('account.account', 'Temporary Account', domain="[('type','!=','view')]", help="It acts as a temporary account for general amount", required=True),
}
def _get_default_tmp_account(self, cr, uid, context):
tmp_accounts = self.pool.get('account.account').search(cr, uid, [('code', '=', '490000')])
if tmp_accounts and len(tmp_accounts) > 0:
tmp_account_id = tmp_accounts[0]
else:
tmp_account_id = False
return tmp_account_id
_defaults = {
'coda_fname': lambda *a: '',
'temporary_account_id': _get_default_tmp_account,
}
def coda_parsing(self, cr, uid, ids, context=None, batch=False, codafile=None, codafilename=None):
@ -64,7 +54,6 @@ class account_coda_import(osv.osv_memory):
try:
codafile = data.coda_data
codafilename = data.coda_fname
temporaryaccount = data.temporary_account_id.id
except:
raise osv.except_osv(_('Error'), _('Wizard in incorrect state. Please hit the Cancel button'))
return {}
@ -149,7 +138,6 @@ class account_coda_import(osv.osv_memory):
statementLine['amount'] = float(rmspaces(line[32:47])) / 1000
if statementLine['debit'] == '1':
statementLine['amount'] = - statementLine['amount']
statementLine['transaction_type'] = line[53]
statementLine['transactionDate'] = time.strftime(tools.DEFAULT_SERVER_DATE_FORMAT, time.strptime(rmspaces(line[47:53]), '%d%m%y'))
statementLine['transaction_family'] = rmspaces(line[54:56])
statementLine['transaction_code'] = rmspaces(line[56:58])
@ -211,7 +199,6 @@ class account_coda_import(osv.osv_memory):
infoLine['sequence'] = len(statement['lines']) + 1
infoLine['ref'] = rmspaces(line[2:10])
infoLine['transactionRef'] = rmspaces(line[10:31])
infoLine['transaction_type'] = line[31]
infoLine['transaction_family'] = rmspaces(line[32:34])
infoLine['transaction_code'] = rmspaces(line[34:36])
infoLine['transaction_category'] = rmspaces(line[36:39])
@ -304,91 +291,78 @@ class account_coda_import(osv.osv_memory):
if 'counterpartyAddress' in line and line['counterpartyAddress'] != '':
note.append(_('Counter Party Address') + ': ' + line['counterpartyAddress'])
line['name'] = "\n".join(filter(None, [line['counterpartyName'], line['communication']]))
line['transaction_type'] = 'general'
partner = None
partner_id = None
invoice = False
if line['communication_struct'] and 'communication_type' in line and line['communication_type'] == '101':
ids = self.pool.get('account.invoice').search(cr, uid, [('reference', '=', line['communication']), ('reference_type', '=', 'bba')])
if ids:
invoice = self.pool.get('account.invoice').browse(cr, uid, ids[0])
partner = invoice.partner_id
partner_id = partner.id
if invoice.type in ['in_invoice', 'in_refund'] and line['debit'] == '1':
line['transaction_type'] = 'supplier'
elif invoice.type in ['out_invoice', 'out_refund'] and line['debit'] == '0':
line['transaction_type'] = 'customer'
line['account'] = invoice.account_id.id
line['reconcile'] = False
if invoice.type in ['in_invoice', 'out_invoice']:
iml_ids = self.pool.get('account.move.line').search(cr, uid, [('move_id', '=', invoice.move_id.id), ('reconcile_id', '=', False), ('account_id.reconcile', '=', True)])
if iml_ids:
line['reconcile'] = iml_ids[0]
if line['reconcile']:
voucher_vals = {
'type': line['transaction_type'] == 'supplier' and 'payment' or 'receipt',
'name': line['name'],
'partner_id': partner_id,
'journal_id': statement['journal_id'].id,
'account_id': statement['journal_id'].default_credit_account_id.id,
'company_id': statement['journal_id'].company_id.id,
'currency_id': statement['journal_id'].company_id.currency_id.id,
'date': line['entryDate'],
'amount': abs(line['amount']),
'period_id': statement['period_id'],
'invoice_id': invoice.id,
}
context['invoice_id'] = invoice.id
voucher_vals.update(self.pool.get('account.voucher').onchange_partner_id(cr, uid, [],
partner_id=partner_id,
journal_id=statement['journal_id'].id,
amount=abs(line['amount']),
currency_id=statement['journal_id'].company_id.currency_id.id,
ttype=line['transaction_type'] == 'supplier' and 'payment' or 'receipt',
date=line['transactionDate'],
context=context
)['value'])
line_drs = []
for line_dr in voucher_vals['line_dr_ids']:
line_drs.append((0, 0, line_dr))
voucher_vals['line_dr_ids'] = line_drs
line_crs = []
for line_cr in voucher_vals['line_cr_ids']:
line_crs.append((0, 0, line_cr))
voucher_vals['line_cr_ids'] = line_crs
line['voucher_id'] = self.pool.get('account.voucher').create(cr, uid, voucher_vals, context=context)
# Gère les communications structurées
# TODO : à faire primer sur resolution_proposition : si la communication indique une facture, on la sélectionne
# if ids:
# invoice = self.pool.get('account.invoice').browse(cr, uid, ids[0])
# partner = invoice.partner_id
# partner_id = partner.id
# if invoice.type in ['in_invoice', 'in_refund'] and line['debit'] == '1':
# line['transaction_type'] = 'supplier'
# elif invoice.type in ['out_invoice', 'out_refund'] and line['debit'] == '0':
# line['transaction_type'] = 'customer'
# line['account'] = invoice.account_id.id
# line['reconcile'] = False
# if invoice.type in ['in_invoice', 'out_invoice']:
# iml_ids = self.pool.get('account.move.line').search(cr, uid, [('move_id', '=', invoice.move_id.id), ('reconcile_id', '=', False), ('account_id.reconcile', '=', True)])
# if iml_ids:
# line['reconcile'] = iml_ids[0]
# if line['reconcile']:
# voucher_vals = {
# 'type': line['transaction_type'] == 'supplier' and 'payment' or 'receipt',
# 'name': line['name'],
# 'partner_id': partner_id,
# 'journal_id': statement['journal_id'].id,
# 'account_id': statement['journal_id'].default_credit_account_id.id,
# 'company_id': statement['journal_id'].company_id.id,
# 'currency_id': statement['journal_id'].company_id.currency_id.id,
# 'date': line['entryDate'],
# 'amount': abs(line['amount']),
# 'period_id': statement['period_id'],
# 'invoice_id': invoice.id,
# }
# context['invoice_id'] = invoice.id
# voucher_vals.update(self.pool.get('account.voucher').onchange_partner_id(cr, uid, [],
# partner_id=partner_id,
# journal_id=statement['journal_id'].id,
# amount=abs(line['amount']),
# currency_id=statement['journal_id'].company_id.currency_id.id,
# ttype=line['transaction_type'] == 'supplier' and 'payment' or 'receipt',
# date=line['transactionDate'],
# context=context
# )['value'])
# line_drs = []
# for line_dr in voucher_vals['line_dr_ids']:
# line_drs.append((0, 0, line_dr))
# voucher_vals['line_dr_ids'] = line_drs
# line_crs = []
# for line_cr in voucher_vals['line_cr_ids']:
# line_crs.append((0, 0, line_cr))
# voucher_vals['line_cr_ids'] = line_crs
# line['voucher_id'] = self.pool.get('account.voucher').create(cr, uid, voucher_vals, context=context)
if 'counterpartyNumber' in line and line['counterpartyNumber']:
ids = self.pool.get('res.partner.bank').search(cr, uid, [('acc_number', '=', str(line['counterpartyNumber']))])
if ids and len(ids) > 0:
partner = self.pool.get('res.partner.bank').browse(cr, uid, ids[0], context=context).partner_id
partner_id = partner.id
if not invoice:
if line['debit'] == '0':
line['account'] = partner.property_account_receivable.id
if partner.customer:
line['transaction_type'] = 'customer'
elif line['debit'] == '1':
line['account'] = partner.property_account_payable.id
if partner.supplier:
line['transaction_type'] = 'supplier'
if not partner and not invoice:
line['account'] = temporaryaccount
if 'communication' in line and line['communication'] != '':
note.append(_('Communication') + ': ' + line['communication'])
if 'voucher_id' not in line:
line['voucher_id'] = None
data = {
'name': line['name'],
'note': "\n".join(note),
'date': line['entryDate'],
'amount': line['amount'],
'type': line['transaction_type'],
'partner_id': partner_id,
'account_id': line['account'],
'statement_id': statement['id'],
'ref': line['ref'],
'sequence': line['sequence'],
'voucher_id': line['voucher_id'],
'coda_account_number': line['counterpartyNumber'],
}
self.pool.get('account.bank.statement.line').create(cr, uid, data, context=context)

View File

@ -2,27 +2,20 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (c) 2007 ACYSOS S.L. (http://acysos.com) All Rights Reserved.
# Pedro Tarrafeta (pedro@acysos.com)
# Copyright (c) 2008-2010 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
# Jordi Esteve <jesteve@zikzakmedia.com>
# $Id$
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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 General Public License for more details.
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# 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/>.
#
##############################################################################
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -8,7 +8,6 @@
# Dpto. Consultoría <consultoria@opentia.es>
# Copyright (c) 2013 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com)
# Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>
# $Id$
#
# 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
@ -27,37 +26,39 @@
{
"name" : "Spanish Charts of Accounts (PGCE 2008)",
"version" : "3.0",
"version" : "4.0",
"author" : "Spanish Localization Team",
'website' : 'https://launchpad.net/openerp-spain',
"category" : "Localization/Account Charts",
"description": """
Spanish Charts of Accounts (PGCE 2008).
=======================================
Spanish charts of accounts (PGCE 2008).
========================================
* Defines the following chart of account templates:
* Spanish General Chart of Accounts 2008
* Spanish General Chart of Accounts 2008 for small and medium companies
* Spanish General Chart of Accounts 2008 for associations
* Spanish general chart of accounts 2008
* Spanish general chart of accounts 2008 for small and medium companies
* Spanish general chart of accounts 2008 for associations
* Defines templates for sale and purchase VAT
* Defines tax code templates
* Defines fiscal positions for spanish fiscal legislation
""",
"license" : "AGPL-3",
"depends" : ["account", "base_vat", "base_iban"],
"data" : [
"account_chart.xml",
"taxes_data.xml",
"fiscal_templates.xml",
"account_chart_pymes.xml",
"taxes_data_pymes.xml",
"fiscal_templates_pymes.xml",
"account_chart_assoc.xml",
"taxes_data_assoc.xml",
"fiscal_templates_assoc.xml",
"account_type.xml",
"account_chart_template.xml",
"account_account_common.xml",
"account_account_full.xml",
"account_account_pymes.xml",
"account_account_assoc.xml",
"tax_codes_common.xml",
"taxes_common.xml",
"fiscal_templates_common.xml",
"account_chart_template_post.xml",
"l10n_es_wizard.xml",
],
"demo" : [],
'auto_install': False,
"installable": True,
'images': ['images/config_chart_l10n_es.jpeg','images/l10n_es_chart.jpeg'],
'images': ['images/config_chart_l10n_es.png', 'images/l10n_es_chart.png'],
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,695 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<!--
Cuentas que sólo están en el PGC PYMEs:
(2935), (296);
(5935), (596);
(663);
(7962), (7963);
Cuentas que tienen un nombre distinto en el plan de asociaciones:
(100), (103), (104), (1040), (1044), (12), (130);
(240), (249);
(490);
(65), (671), (691), (694);
(791), (794);
(2013-10-07)
Pedro M. Baeza - pedro.baeza@serviciosbaeza.com
Serv. Tecnol. Avanzados - http://www.serviciosbaeza.com
Refactorización general
-->
<data noupdate="0">
<record id="pgc_pymes_100" model="account.account.template">
<field name="code">100</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_10"/>
<field name="type">view</field>
<field name="name">Capital social</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_100_child" model="account.account.template">
<field name="code">100</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_100"/>
<field name="type">other</field>
<field name="name">Capital social</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_103" model="account.account.template">
<field name="code">103</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_10"/>
<field name="type">view</field>
<field name="name">Socios por desembolsos no exigidos</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_1030" model="account.account.template">
<field name="code">1030</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_103"/>
<field name="type">view</field>
<field name="name">Socios por desembolsos no exigidos, capital social</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_1030_child" model="account.account.template">
<field name="code">1030</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_1030"/>
<field name="type">other</field>
<field name="name">Socios por desembolsos no exigidos, capital social</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_1034" model="account.account.template">
<field name="code">1034</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_103"/>
<field name="type">view</field>
<field name="name">Socios por desembolsos no exigidos, capital pendiente de inscripción</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_1034_child" model="account.account.template">
<field name="code">1034</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_1034"/>
<field name="type">other</field>
<field name="name">Socios por desembolsos no exigidos, capital pendiente de inscripción</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_104" model="account.account.template">
<field name="code">104</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_10"/>
<field name="type">view</field>
<field name="name">Socios por aportaciones no dinerarias pendientes</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_1040" model="account.account.template">
<field name="code">1040</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_104"/>
<field name="type">view</field>
<field name="name">Socios por aportaciones no dinerarias pendientes, capital social</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_1040_child" model="account.account.template">
<field name="code">1040</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_1040"/>
<field name="type">other</field>
<field name="name">Socios por aportaciones no dinerarias pendientes, capital social</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_1044" model="account.account.template">
<field name="code">1044</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_104"/>
<field name="type">view</field>
<field name="name">Socios por aportaciones no dinerarias pendientes, capital pendiente de inscripción</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_1044_child" model="account.account.template">
<field name="code">1044</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_1044"/>
<field name="type">other</field>
<field name="name">Socios por aportaciones no dinerarias pendientes, capital pendiente de inscripción</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_12" model="account.account.template">
<field name="code">12</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_1"/>
<field name="type">view</field>
<field name="name">Resultados pendientes de aplicación</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_120" model="account.account.template">
<field name="code">120</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_12"/>
<field name="type">view</field>
<field name="name">Remanente</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_120_child" model="account.account.template">
<field name="code">120</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_120"/>
<field name="type">other</field>
<field name="name">Remanente</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_121" model="account.account.template">
<field name="code">121</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_12"/>
<field name="type">view</field>
<field name="name">Resultados negativos de ejercicios anteriores</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_121_child" model="account.account.template">
<field name="code">121</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_121"/>
<field name="type">other</field>
<field name="name">Resultados negativos de ejercicios anteriores</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_129" model="account.account.template">
<field name="code">129</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_12"/>
<field name="type">view</field>
<field name="name">Resultado del ejercicio</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_129_child" model="account.account.template">
<field name="code">129</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_129"/>
<field name="type">other</field>
<field name="name">Resultado del ejercicio</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_130_child" model="account.account.template">
<field name="code">130</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_130"/>
<field name="type">other</field>
<field name="name">Subvenciones oficiales de capital</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_132_child" model="account.account.template">
<field name="code">132</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_132"/>
<field name="type">other</field>
<field name="name">Otras subvenciones, donaciones y legados</field>
<field name="user_type" ref="l10n_es.account_type_capital"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_240" model="account.account.template">
<field name="code">240</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_24"/>
<field name="type">view</field>
<field name="name">Participaciones en partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2403" model="account.account.template">
<field name="code">2403</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_240"/>
<field name="type">view</field>
<field name="name">Participaciones en empresas del grupo</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2403_child" model="account.account.template">
<field name="code">2403</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_2403"/>
<field name="type">other</field>
<field name="name">Participaciones en empresas del grupo</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2404" model="account.account.template">
<field name="code">2404</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_240"/>
<field name="type">view</field>
<field name="name">Participaciones en empresas asociadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2404_child" model="account.account.template">
<field name="code">2404</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_2404"/>
<field name="type">other</field>
<field name="name">Participaciones en empresas asociadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2405" model="account.account.template">
<field name="code">2405</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_240"/>
<field name="type">view</field>
<field name="name">Participaciones en otras partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2405_child" model="account.account.template">
<field name="code">2405</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_2405"/>
<field name="type">other</field>
<field name="name">Participaciones en otras partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_249" model="account.account.template">
<field name="code">249</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_24"/>
<field name="type">view</field>
<field name="name">Desembolsos pendientes sobre participaciones en partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2493" model="account.account.template">
<field name="code">2493</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_249"/>
<field name="type">view</field>
<field name="name">Desembolsos pendientes sobre participaciones en empresas del grupo</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2493_child" model="account.account.template">
<field name="code">2493</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_2493"/>
<field name="type">other</field>
<field name="name">Desembolsos pendientes sobre participaciones en empresas del grupo</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2494" model="account.account.template">
<field name="code">2494</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_249"/>
<field name="type">view</field>
<field name="name">Desembolsos pendientes sobre participaciones en empresas asociadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2494_child" model="account.account.template">
<field name="code">2494</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_2494"/>
<field name="type">other</field>
<field name="name">Desembolsos pendientes sobre participaciones en empresas asociadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2495" model="account.account.template">
<field name="code">2495</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_249"/>
<field name="type">view</field>
<field name="name">Desembolsos pendientes sobre participaciones en otras partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2495_child" model="account.account.template">
<field name="code">2495</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_2495"/>
<field name="type">other</field>
<field name="name">Desembolsos pendientes sobre participaciones en otras partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_255_child" model="account.account.template">
<field name="code">255</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_255"/>
<field name="type">other</field>
<field name="name">Activos por derivados financieros</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2935" model="account.account.template">
<field name="code">2935</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_293"/>
<field name="type">view</field>
<field name="name">Deterioro de valor de participaciones a largo plazo en otras partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_2935_child" model="account.account.template">
<field name="code">2935</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_2935"/>
<field name="type">other</field>
<field name="name">Deterioro de valor de participaciones a largo plazo en otras partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_296" model="account.account.template">
<field name="code">296</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_29"/>
<field name="type">view</field>
<field name="name">Deterioro de valor de participaciones en el patrimonio neto a largo plazo</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_296_child" model="account.account.template">
<field name="code">296</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_296"/>
<field name="type">other</field>
<field name="name">Deterioro de valor de participaciones en el patrimonio neto a largo plazo</field>
<field name="user_type" ref="l10n_es.account_type_inmo"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pyme_490" model="account.account.template">
<field name="code">490</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_49"/>
<field name="type">view</field>
<field name="name">Deterioro de valor de créditos por operaciones comerciales</field>
<field name="user_type" ref="l10n_es.account_type_terceros"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pyme_490_child" model="account.account.template">
<field name="code">490</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pyme_490"/>
<field name="type">other</field>
<field name="name">Deterioro de valor de créditos por operaciones comerciales</field>
<field name="user_type" ref="l10n_es.account_type_terceros"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pyme_551" model="account.account.template">
<field name="code">551</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_55"/>
<field name="type">view</field>
<field name="name">Cuenta corriente con socios y administradores</field>
<field name="user_type" ref="l10n_es.account_type_financieras"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pyme_551_child" model="account.account.template">
<field name="code">551</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pyme_551"/>
<field name="type">other</field>
<field name="name">Cuenta corriente con socios y administradores</field>
<field name="user_type" ref="l10n_es.account_type_financieras"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_5935" model="account.account.template">
<field name="code">5935</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_593"/>
<field name="type">view</field>
<field name="name">Deterioro de valor de participaciones a corto plazo en otras partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_financieras"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_5935_child" model="account.account.template">
<field name="code">5935</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_5935"/>
<field name="type">other</field>
<field name="name">Deterioro de valor de participaciones a corto plazo en otras partes vinculadas</field>
<field name="user_type" ref="l10n_es.account_type_financieras"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_596" model="account.account.template">
<field name="code">596</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_59"/>
<field name="type">view</field>
<field name="name">Deterioro de valor de participaciones a corto plazo</field>
<field name="user_type" ref="l10n_es.account_type_financieras"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_596_child" model="account.account.template">
<field name="code">596</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_596"/>
<field name="type">other</field>
<field name="name">Deterioro de valor de participaciones a corto plazo</field>
<field name="user_type" ref="l10n_es.account_type_financieras"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_65" model="account.account.template">
<field name="code">65</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_6"/>
<field name="type">view</field>
<field name="name">Otros gastos de gestión</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_650" model="account.account.template">
<field name="code">650</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_65"/>
<field name="type">view</field>
<field name="name">Pérdidas de créditos comerciales incobrables</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_650_child" model="account.account.template">
<field name="code">650</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_650"/>
<field name="type">other</field>
<field name="name">Pérdidas de créditos comerciales incobrables</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_651" model="account.account.template">
<field name="code">651</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_65"/>
<field name="type">view</field>
<field name="name">Resultados de operaciones en común</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_6510" model="account.account.template">
<field name="code">6510</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_651"/>
<field name="type">view</field>
<field name="name">Beneficio transferido (gestor)</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_6510_child" model="account.account.template">
<field name="code">6510</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_6510"/>
<field name="type">other</field>
<field name="name">Beneficio transferido (gestor)</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_6511" model="account.account.template">
<field name="code">6511</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_651"/>
<field name="type">view</field>
<field name="name">Pérdida soportada (partícipe o asociado no gestor)</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_6511_child" model="account.account.template">
<field name="code">6511</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_6511"/>
<field name="type">other</field>
<field name="name">Pérdida soportada (partícipe o asociado no gestor)</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_659" model="account.account.template">
<field name="code">659</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_65"/>
<field name="type">view</field>
<field name="name">Otras pérdidas en gestión corriente</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_659_child" model="account.account.template">
<field name="code">659</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_659"/>
<field name="type">other</field>
<field name="name">Otras pérdidas en gestión corriente</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_663_child" model="account.account.template">
<field name="code">663</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_663"/>
<field name="type">other</field>
<field name="name">Pérdidas por valoración de instrumentos financieros por su valor razonable</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_671" model="account.account.template">
<field name="code">671</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_67"/>
<field name="type">view</field>
<field name="name">Pérdidas procedentes del inmovilizado material</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_671_child" model="account.account.template">
<field name="code">671</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_671"/>
<field name="type">other</field>
<field name="name">Pérdidas procedentes del inmovilizado material</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_691" model="account.account.template">
<field name="code">691</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_69"/>
<field name="type">view</field>
<field name="name">Pérdidas por deterioro del inmovilizado material</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_691_child" model="account.account.template">
<field name="code">691</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_691"/>
<field name="type">other</field>
<field name="name">Pérdidas por deterioro del inmovilizado material</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_694" model="account.account.template">
<field name="code">694</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_69"/>
<field name="type">view</field>
<field name="name">Pérdidas por deterioro de créditos por operaciones comerciales</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_694_child" model="account.account.template">
<field name="code">694</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_694"/>
<field name="type">other</field>
<field name="name">Pérdidas por deterioro de créditos por operaciones comerciales</field>
<field name="user_type" ref="account.data_account_type_expense"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_763_child" model="account.account.template">
<field name="code">763</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_763"/>
<field name="type">other</field>
<field name="name">Beneficios por valoración de instrumentos financieros por su valor razonable</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_791" model="account.account.template">
<field name="code">791</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_79"/>
<field name="type">view</field>
<field name="name">Reversión del deterioro del inmovilizado material</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_791_child" model="account.account.template">
<field name="code">791</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_791"/>
<field name="type">other</field>
<field name="name">Reversión del deterioro del inmovilizado material</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_794" model="account.account.template">
<field name="code">794</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_79"/>
<field name="type">view</field>
<field name="name">Reversión del deterioro de créditos por operaciones comerciales</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_794_child" model="account.account.template">
<field name="code">794</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_794"/>
<field name="type">other</field>
<field name="name">Reversión del deterioro de créditos por operaciones comerciales</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_7962" model="account.account.template">
<field name="code">7962</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_796"/>
<field name="type">view</field>
<field name="name">Reversión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo, otras partes vinculadas</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_7962_child" model="account.account.template">
<field name="code">7962</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_7962"/>
<field name="type">other</field>
<field name="name">Reversión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo, otras partes vinculadas</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_7963" model="account.account.template">
<field name="code">7963</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_796"/>
<field name="type">view</field>
<field name="name">Reversión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo, otras empresas</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
<record id="pgc_pymes_7963_child" model="account.account.template">
<field name="code">7963</field>
<field name="reconcile" eval="False"/>
<field name="parent_id" ref="pgc_pymes_7963"/>
<field name="type">other</field>
<field name="name">Reversión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo, otras empresas</field>
<field name="user_type" ref="account.data_account_type_income"/>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
</record>
</data>
</openerp>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<!-- Plantillas de los planes contables -->
<record id="account_chart_template_common" model="account.chart.template">
<field name="name">PGCE común</field>
<field name="visible" eval="False"/>
<field name="complete_tax_set" eval="False"/>
</record>
<record id="account_chart_template_assoc" model="account.chart.template">
<field name="name">PGCE entidades sin ánimo de lucro 2008</field>
<field name="complete_tax_set" eval="True"/>
<field name="parent_id" ref="account_chart_template_common"/>
</record>
<record id="account_chart_template_assoc_value" model="ir.values">
<field name="name">PGCE entidades sin ánimo de lucro 2008</field>
<field name="model">account.chart.template</field>
<field name="key">default</field>
<field name="res_id" ref="account_chart_template_assoc"/>
<field name="value" ref="base.EUR"/>
</record>
<record id="account_chart_template_pymes" model="account.chart.template">
<field name="name">PGCE PYMEs 2008</field>
<field name="complete_tax_set" eval="True"/>
<field name="parent_id" ref="account_chart_template_common"/>
</record>
<record id="account_chart_template_pymes_value" model="ir.values">
<field name="name">PGCE PYMEs 2008</field>
<field name="model">account.chart.template</field>
<field name="key">default</field>
<field name="res_id" ref="account_chart_template_pymes"/>
<field name="value" ref="base.EUR"/>
</record>
<record id="account_chart_template_full" model="account.chart.template">
<field name="name">PGCE completo 2008</field>
<field name="complete_tax_set" eval="True"/>
<field name="parent_id" ref="account_chart_template_common"/>
</record>
<record id="account_chart_template_full_value" model="ir.values">
<field name="name">PGCE completo 2008</field>
<field name="model">account.chart.template</field>
<field name="key">default</field>
<field name="res_id" ref="account_chart_template_full"/>
<field name="value" ref="base.EUR"/>
</record>
</data>
</openerp>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<!-- Plantillas de los planes contables - Asignación del resto de valores -->
<record id="account_chart_template_common" model="account.chart.template">
<field name="tax_code_root_id" ref="vat_code_chart_root"/>
<field name="account_root_id" ref="pgc_0"/>
<field name="property_account_receivable" ref="pgc_4300_child"/>
<field name="property_account_payable" ref="pgc_4100_child"/>
<field name="property_account_expense_categ" ref="pgc_600_child"/>
<field name="property_account_income_categ" ref="pgc_7000_child"/>
</record>
<record id="account_chart_template_full" model="account.chart.template">
<field name="tax_code_root_id" ref="vat_code_chart_root"/>
<field name="bank_account_view_id" ref="pgc_572"/>
</record>
<record id="account_chart_template_pymes" model="account.chart.template">
<field name="tax_code_root_id" ref="vat_code_chart_root"/>
<field name="bank_account_view_id" ref="pgc_572"/>
</record>
<record id="account_chart_template_assoc" model="account.chart.template">
<field name="tax_code_root_id" ref="vat_code_chart_root"/>
<field name="bank_account_view_id" ref="pgc_572"/>
</record>
</data>
</openerp>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<!-- Actualizar método de cierre de tipos de cuenta estándar -->
<data noupdate="1">
<record id="account.data_account_type_income"
model="account.account.type">
<field name="name">Income</field>
<field name="close_method">balance</field>
</record>
<record id="account.data_account_type_expense"
model="account.account.type">
<field name="name">Expense</field>
<field name="close_method">balance</field>
</record>
</data>
<!-- Tipos de cuenta nuevos -->
<data noupdate="0">
<record id="account_type_capital" model="account.account.type">
<field name="name">Capital</field>
<field name="code">capital</field>
<field name="report_type">asset</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_inmo" model="account.account.type">
<field name="name">Inmovilizado</field>
<field name="code">inmo</field>
<field name="report_type">asset</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_stock" model="account.account.type">
<field name="name">Existencias</field>
<field name="code">stock</field>
<field name="report_type">asset</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_terceros" model="account.account.type">
<field name="name">Terceros</field>
<field name="code">terceros</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_financieras" model="account.account.type">
<field name="name">Financieras</field>
<field name="code">financieras</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_gastos_neto" model="account.account.type">
<field name="name">Gastos patrimonio neto</field>
<field name="code">gastos_neto</field>
<field name="report_type">expense</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_ingresos_neto" model="account.account.type">
<field name="name">Ingresos patrimonio neto</field>
<field name="code">ingresos_neto</field>
<field name="report_type">income</field>
<field name="close_method">balance</field>
</record>
</data>
</openerp>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,970 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<!-- Definición de posiciones fiscales Régimen Nacional, Recargo de Equivalencia,
Extracomunitario, Intracomunitario y Retención de IRPFs
Añadidas posiciones fiscales Retención de IRPF 18%, 15%, 7%, 1% :
Jordi Esteve (Zikzakmedia) - jesteve@zikzakmedia.com 2009-11-21
Añadidas posiciones fiscales Retención de IRPF 19%, 2% :
Jordi Esteve (Zikzakmedia) - jesteve@zikzakmedia.com 2010-02-18
Añadido mapeo de cuentas del regimen de equivalencia para compras :
Ignacio Ibeas (Acysos) - ignacio@acysos.com 2011-02-22
Añadidas posiciones fiscales Retención de IRPF 18%, 15%, 7%, 1% :
Jordi Esteve (Zikzakmedia) - jesteve@zikzakmedia.com (2009-11-21)
Añadidas posiciones fiscales Retención de IRPF 19%, 2% :
Jordi Esteve (Zikzakmedia) - jesteve@zikzakmedia.com 2010-02-18
Añadido mapeo de cuentas del regimen de equivalencia para compras y ventas separados:
Ignacio Ibeas (Acysos) - ignacio@acysos.com 2011-05-06
Eliminación IVAs obsoletos 7%, 8%, 16% y 18%
Eliminación IRPFs obsoletos 18% y 19%
Eliminación recargos de equivalencia obsoletos 1% y 4%
Pedro M. Baeza <pedro.baeza@serviciosbaeza.com> (Serv. Tecnol. Avanzados) (2014-03-20)
-->
<!-- ************************************************************* -->
<!-- Fiscal Position Templates -->
<!-- ************************************************************* -->
<record id="fp_nacional" model="account.fiscal.position.template">
<field name="name">Régimen Nacional</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_recargo" model="account.fiscal.position.template">
<field name="name">Recargo de Equivalencia</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_extra" model="account.fiscal.position.template">
<field name="name">Régimen Extracomunitario</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_intra" model="account.fiscal.position.template">
<field name="name">Régimen Intracomunitario</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_irpf21" model="account.fiscal.position.template">
<field name="name">Retención IRPF 21%</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_irpf20" model="account.fiscal.position.template">
<field name="name">Retención IRPF 20%</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_irpf15" model="account.fiscal.position.template">
<field name="name">Retención IRPF 15%</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_irpf9" model="account.fiscal.position.template">
<field name="name">Retención IRPF 9%</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_irpf7" model="account.fiscal.position.template">
<field name="name">Retención IRPF 7%</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_irpf2" model="account.fiscal.position.template">
<field name="name">Retención IRPF 2%</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<record id="fp_irpf1" model="account.fiscal.position.template">
<field name="name">Retención IRPF 1%</field>
<field name="chart_template_id" ref="account_chart_template_common"/>
</record>
<!-- ************************************************************* -->
<!-- Fiscal Position Tax Templates -->
<!-- ************************************************************* -->
<!-- Extracomunitarios -->
<record id="fptt_extra_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_X4_compras_bc"/>
</record>
<record id="fptt_extra_4_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_sop_4_inv"/>
<field name="tax_dest_id" ref="iva_X4_compras_bi"/>
</record>
<record id="fptt_extra_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_X10_compras_bc"/>
</record>
<record id="fptt_extra_10_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_sop_10_inv"/>
<field name="tax_dest_id" ref="iva_X10_compras_bi"/>
</record>
<record id="fptt_extra_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_X21_compras_bc"/>
</record>
<record id="fptt_extra_21_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_sop_21_inv"/>
<field name="tax_dest_id" ref="iva_X21_compras_bi"/>
</record>
<record id="fptt_extra_ventas_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_X0"/>
</record>
<record id="fptt_extra_ventas_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_X0"/>
</record>
<record id="fptt_extra_ventas_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_extra"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_X0"/>
</record>
<!-- Intracomunitarios -->
<record id="fptt_intra_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_IC_compras_4_bc"/>
</record>
<record id="fptt_intra_4_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_sop_4_inv"/>
<field name="tax_dest_id" ref="iva_IC_compras_4_bi"/>
</record>
<record id="fptt_intra_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_IC_compras_10_bc"/>
</record>
<record id="fptt_intra_10_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_sop_10_inv"/>
<field name="tax_dest_id" ref="iva_IC_compras_10_bi"/>
</record>
<record id="fptt_intra_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_IC_compras_21_bc"/>
</record>
<record id="fptt_intra_21_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_sop_21_inv"/>
<field name="tax_dest_id" ref="iva_IC_compras_21_bi"/>
</record>
<record id="fptt_intra_ventas_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_IO"/>
</record>
<record id="fptt_intra_ventas_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_IO"/>
</record>
<record id="fptt_intra_ventas_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_intra"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_IO"/>
</record>
<!-- Recargo de equivalencia -->
<record id="fptt_recargo_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_rep_4"/>
</record>
<record id="fptt_recargo_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="re_05"/>
</record>
<record id="fptt_recargo_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_rep_10"/>
</record>
<record id="fptt_recargo_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="re_14"/>
</record>
<record id="fptt_recargo_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_rep_21"/>
</record>
<record id="fptt_recargo_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="re_52"/>
</record>
<record id="fptt_recargo_buy_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_sop_4"/>
</record>
<record id="fptt_recargo_buy_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="re_buy_05"/>
</record>
<record id="fptt_recargo_buy_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_sop_10"/>
</record>
<record id="fptt_recargo_buy_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="re_buy_14"/>
</record>
<record id="fptt_recargo_buy_4_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_4_inv"/>
<field name="tax_dest_id" ref="iva_sop_4_inv"/>
</record>
<record id="fptt_recargo_buy_4_2_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_4_inv"/>
<field name="tax_dest_id" ref="re_buy_05"/>
</record>
<record id="fptt_recargo_buy_10_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_10_inv"/>
<field name="tax_dest_id" ref="iva_sop_10_inv"/>
</record>
<record id="fptt_recargo_buy_10_2_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_10_inv"/>
<field name="tax_dest_id" ref="re_buy_14"/>
</record>
<record id="fptt_recargo_buy_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_sop_21"/>
</record>
<record id="fptt_recargo_buy_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="re_buy_52"/>
</record>
<record id="fptt_recargo_buy_21_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_21_inv"/>
<field name="tax_dest_id" ref="iva_sop_21_inv"/>
</record>
<record id="fptt_recargo_buy_21_2_inv"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_recargo"/>
<field name="tax_src_id" ref="iva_sop_21_inv"/>
<field name="tax_dest_id" ref="re_buy_52"/>
</record>
<!-- Retenciones IRPF 21% -->
<record id="fptt_irpf21sale_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_rep_21"/>
</record>
<record id="fptt_irpf21sale_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="irpf_sale_21"/>
</record>
<record id="fptt_irpf21sale_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_rep_10"/>
</record>
<record id="fptt_irpf21sale_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="irpf_sale_21"/>
</record>
<record id="fptt_irpf21sale_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_rep_4"/>
</record>
<record id="fptt_irpf21sale_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="irpf_sale_21"/>
</record>
<record id="fptt_irpf21_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_sop_21"/>
</record>
<record id="fptt_irpf21_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="irpf_21"/>
</record>
<record id="fptt_irpf21_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_sop_10"/>
</record>
<record id="fptt_irpf21_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="irpf_21"/>
</record>
<record id="fptt_irpf21_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_sop_4"/>
</record>
<record id="fptt_irpf21_4_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="irpf_21"/>
</record>
<record id="fptt_irpf21sale_ex"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_rep_ex"/>
<field name="tax_dest_id" ref="iva_rep_ex"/>
</record>
<record id="fptt_irpf21sale_ex_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_rep_ex"/>
<field name="tax_dest_id" ref="irpf_sale_21"/>
</record>
<record id="fptt_irpf21_0" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_sop_ex"/>
<field name="tax_dest_id" ref="iva_sop_ex"/>
</record>
<record id="fptt_irpf21_0_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf21"/>
<field name="tax_src_id" ref="iva_sop_ex"/>
<field name="tax_dest_id" ref="irpf_21"/>
</record>
<!-- Retenciones IRPF 20% -->
<record id="fptt_irpf20sale_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_rep_21"/>
</record>
<record id="fptt_irpf20sale_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="irpf_sale_20"/>
</record>
<record id="fptt_irpf20sale_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_rep_10"/>
</record>
<record id="fptt_irpf20sale_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="irpf_sale_20"/>
</record>
<record id="fptt_irpf20sale_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_rep_4"/>
</record>
<record id="fptt_irpf20sale_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="irpf_sale_20"/>
</record>
<record id="fptt_irpf20_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_sop_21"/>
</record>
<record id="fptt_irpf20_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="irpf_20"/>
</record>
<record id="fptt_irpf20_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_sop_10"/>
</record>
<record id="fptt_irpf20_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="irpf_20"/>
</record>
<record id="fptt_irpf20_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_sop_4"/>
</record>
<record id="fptt_irpf20_4_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf20"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="irpf_20"/>
</record>
<!-- Retenciones IRPF 15% -->
<record id="fptt_irpf15sale_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_rep_21"/>
</record>
<record id="fptt_irpf15sale_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="irpf_sale_15"/>
</record>
<record id="fptt_irpf15sale_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_rep_10"/>
</record>
<record id="fptt_irpf15sale_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="irpf_sale_15"/>
</record>
<record id="fptt_irpf15sale_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_rep_4"/>
</record>
<record id="fptt_irpf15sale_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="irpf_sale_15"/>
</record>
<record id="fptt_irpf15_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_sop_21"/>
</record>
<record id="fptt_irpf15_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="irpf_15"/>
</record>
<record id="fptt_irpf15_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_sop_10"/>
</record>
<record id="fptt_irpf15_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="irpf_15"/>
</record>
<record id="fptt_irpf15_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_sop_4"/>
</record>
<record id="fptt_irpf15_4_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf15"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="irpf_15"/>
</record>
<!-- Retenciones IRPF 9% -->
<record id="fptt_irpf9sale_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_rep_21"/>
</record>
<record id="fptt_irpf9sale_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="irpf_sale_9"/>
</record>
<record id="fptt_irpf9sale_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_rep_10"/>
</record>
<record id="fptt_irpf9sale_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="irpf_sale_9"/>
</record>
<record id="fptt_irpf9sale_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_rep_4"/>
</record>
<record id="fptt_irpf9sale_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="irpf_sale_9"/>
</record>
<record id="fptt_irpf9_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_sop_21"/>
</record>
<record id="fptt_irpf9_21_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="irpf_9"/>
</record>
<record id="fptt_irpf9_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_sop_10"/>
</record>
<record id="fptt_irpf9_10_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="irpf_9"/>
</record>
<record id="fptt_irpf9_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_sop_4"/>
</record>
<record id="fptt_irpf9_4_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="irpf_9"/>
</record>
<record id="fptt_irpf9sale_ex"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_rep_ex"/>
<field name="tax_dest_id" ref="iva_rep_ex"/>
</record>
<record id="fptt_irpf9sale_ex_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_rep_ex"/>
<field name="tax_dest_id" ref="irpf_sale_9"/>
</record>
<record id="fptt_irpf9_0" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_sop_ex"/>
<field name="tax_dest_id" ref="iva_sop_ex"/>
</record>
<record id="fptt_irpf9_0_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf9"/>
<field name="tax_src_id" ref="iva_sop_ex"/>
<field name="tax_dest_id" ref="irpf_9"/>
</record>
<!-- Retenciones IRPF 7% -->
<record id="fptt_irpf7sale_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_rep_21"/>
</record>
<record id="fptt_irpf7sale_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="irpf_sale_7"/>
</record>
<record id="fptt_irpf7sale_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_rep_10"/>
</record>
<record id="fptt_irpf7sale_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="irpf_sale_7"/>
</record>
<record id="fptt_irpf7sale_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_rep_4"/>
</record>
<record id="fptt_irpf7sale_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="irpf_sale_7"/>
</record>
<record id="fptt_irpf7_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_sop_21"/>
</record>
<record id="fptt_irpf7_21_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="irpf_7"/>
</record>
<record id="fptt_irpf7_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_sop_10"/>
</record>
<record id="fptt_irpf7_10_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="irpf_7"/>
</record>
<record id="fptt_irpf7_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_sop_4"/>
</record>
<record id="fptt_irpf7_4_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf7"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="irpf_7"/>
</record>
<!-- Retenciones IRPF 2% -->
<record id="fptt_irpf2sale_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_rep_21"/>
</record>
<record id="fptt_irpf2sale_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="irpf_sale_2"/>
</record>
<record id="fptt_irpf2sale_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_rep_10"/>
</record>
<record id="fptt_irpf2sale_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="irpf_sale_2"/>
</record>
<record id="fptt_irpf2sale_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_rep_4"/>
</record>
<record id="fptt_irpf2sale_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="irpf_sale_2"/>
</record>
<record id="fptt_irpf2_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_sop_21"/>
</record>
<record id="fptt_irpf2_21_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="irpf_2"/>
</record>
<record id="fptt_irpf2_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_sop_10"/>
</record>
<record id="fptt_irpf2_10_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="irpf_2"/>
</record>
<record id="fptt_irpf2_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_sop_4"/>
</record>
<record id="fptt_irpf2_4_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="irpf_2"/>
</record>
<record id="fptt_irpf2sale_ex"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_rep_ex"/>
<field name="tax_dest_id" ref="iva_rep_ex"/>
</record>
<record id="fptt_irpf2sale_ex_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_rep_ex"/>
<field name="tax_dest_id" ref="irpf_sale_2"/>
</record>
<record id="fptt_irpf2_0" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_sop_ex"/>
<field name="tax_dest_id" ref="iva_sop_ex"/>
</record>
<record id="fptt_irpf2_0_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf2"/>
<field name="tax_src_id" ref="iva_sop_ex"/>
<field name="tax_dest_id" ref="irpf_2"/>
</record>
<!-- Retenciones IRPF 1% -->
<record id="fptt_irpf1sale_21"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="iva_rep_21"/>
</record>
<record id="fptt_irpf1sale_21_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_rep_21"/>
<field name="tax_dest_id" ref="irpf_sale_1"/>
</record>
<record id="fptt_irpf1sale_10"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="iva_rep_10"/>
</record>
<record id="fptt_irpf1sale_10_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_rep_10"/>
<field name="tax_dest_id" ref="irpf_sale_1"/>
</record>
<record id="fptt_irpf1sale_4"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="iva_rep_4"/>
</record>
<record id="fptt_irpf1sale_4_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_rep_4"/>
<field name="tax_dest_id" ref="irpf_sale_1"/>
</record>
<record id="fptt_irpf1_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="iva_sop_21"/>
</record>
<record id="fptt_irpf1_21_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_sop_21"/>
<field name="tax_dest_id" ref="irpf_1"/>
</record>
<record id="fptt_irpf1_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="iva_sop_10"/>
</record>
<record id="fptt_irpf1_10_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_sop_10"/>
<field name="tax_dest_id" ref="irpf_1"/>
</record>
<record id="fptt_irpf1_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="iva_sop_4"/>
</record>
<record id="fptt_irpf1_4_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_sop_4"/>
<field name="tax_dest_id" ref="irpf_1"/>
</record>
<record id="fptt_irpf1sale_ex"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_rep_ex"/>
<field name="tax_dest_id" ref="iva_rep_ex"/>
</record>
<record id="fptt_irpf1sale_ex_2"
model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_rep_ex"/>
<field name="tax_dest_id" ref="irpf_sale_1"/>
</record>
<record id="fptt_irpf1_0" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_sop_ex"/>
<field name="tax_dest_id" ref="iva_sop_ex"/>
</record>
<record id="fptt_irpf1_0_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fp_irpf1"/>
<field name="tax_src_id" ref="iva_sop_ex"/>
<field name="tax_dest_id" ref="irpf_1"/>
</record>
<!-- ************************************************************* -->
<!-- Fiscal Position Account Templates -->
<!-- ************************************************************* -->
<!-- Extracomunitarios -->
<record id="fpat_extra_acc_1"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_extra"/>
<field name="account_src_id" ref="pgc_7000_child"/>
<field name="account_dest_id" ref="pgc_7002_child"/>
</record>
<record id="fpat_extra_acc_2"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_extra"/>
<field name="account_src_id" ref="pgc_7010_child"/>
<field name="account_dest_id" ref="pgc_7012_child"/>
</record>
<record id="fpat_extra_acc_3"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_extra"/>
<field name="account_src_id" ref="pgc_7020_child"/>
<field name="account_dest_id" ref="pgc_7022_child"/>
</record>
<record id="fpat_extra_acc_4"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_extra"/>
<field name="account_src_id" ref="pgc_7030_child"/>
<field name="account_dest_id" ref="pgc_7032_child"/>
</record>
<record id="fpat_extra_acc_5"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_extra"/>
<field name="account_src_id" ref="pgc_7040_child"/>
<field name="account_dest_id" ref="pgc_7042_child"/>
</record>
<record id="fpat_extra_acc_6"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_extra"/>
<field name="account_src_id" ref="pgc_7050_child"/>
<field name="account_dest_id" ref="pgc_7052_child"/>
</record>
<!-- Intracomunitarios -->
<record id="fpat_intra_acc_1"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_intra"/>
<field name="account_src_id" ref="pgc_7000_child"/>
<field name="account_dest_id" ref="pgc_7001_child"/>
</record>
<record id="fpat_intra_acc_2"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_intra"/>
<field name="account_src_id" ref="pgc_7010_child"/>
<field name="account_dest_id" ref="pgc_7011_child"/>
</record>
<record id="fpat_intra_acc_3"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_intra"/>
<field name="account_src_id" ref="pgc_7020_child"/>
<field name="account_dest_id" ref="pgc_7021_child"/>
</record>
<record id="fpat_intra_acc_4"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_intra"/>
<field name="account_src_id" ref="pgc_7030_child"/>
<field name="account_dest_id" ref="pgc_7031_child"/>
</record>
<record id="fpat_intra_acc_5"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_intra"/>
<field name="account_src_id" ref="pgc_7040_child"/>
<field name="account_dest_id" ref="pgc_7041_child"/>
</record>
<record id="fpat_intra_acc_6"
model="account.fiscal.position.account.template">
<field name="position_id" ref="fp_intra"/>
<field name="account_src_id" ref="pgc_7050_child"/>
<field name="account_dest_id" ref="pgc_7051_child"/>
</record>
</data>
</openerp>

File diff suppressed because it is too large Load Diff

View File

@ -7,77 +7,47 @@ msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2012-01-17 10:53+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:40+0000\n"
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
"Language-Team: Arabic <ar@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: 2012-11-25 06:30+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr "عرض"

View File

@ -4,83 +4,55 @@
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2010-11-15 12:17+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:17+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:30+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Pla comptable espanyol (PGCE 2008)"
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
@ -106,6 +78,3 @@ msgstr ""
#~ "\n"
#~ "Nota: Hauríeu d'instal·lar el mòdul l10n_ES_account_balance_report\n"
#~ "per a reports de comptes anuals (balanç, perdudes i guanys).\n"
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Pla comptable espanyol (PGCE 2008)"

View File

@ -7,77 +7,47 @@ msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2012-01-27 09:00+0000\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:40+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Danish <da@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: 2012-11-25 06:30+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""

View File

@ -1,112 +1,52 @@
# German translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-01-12 20:18+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: German <de@li.org>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:17+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:30+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
#~ "\n"
#~ "* Defines the following chart of account templates:\n"
#~ " * Spanish General Chart of Accounts 2008.\n"
#~ " * Spanish General Chart of Accounts 2008 for small and medium "
#~ "companies.\n"
#~ "* Defines templates for sale and purchase VAT.\n"
#~ "* Defines tax code templates.\n"
#~ "\n"
#~ "Note: You should install the l10n_ES_account_balance_report module\n"
#~ "for yearly account reporting (balance, profit & losses).\n"
#~ msgstr ""
#~ "Spanischer Kontenrahmen (PGCE 2008)\n"
#~ "\n"
#~ "* Stellt die folgenden Kontenrahmen bereit:\n"
#~ " * Allgemeiner spanischer Kontenrahmen 2008\n"
#~ " * Allgemeiner spanischer Kontenrahmen 2008 für kleine und "
#~ "mittelständische Unternehmen.\n"
#~ "* Definiert Vorlagen für die Umsatzsteuer für Verkauf und Einkauf\n"
#~ "* Definiert Vorlagen für Steuersätze\n"
#~ "\n"
#~ "Hinweis: Für jährliche Berichte zur Buchhaltung (Bilanz, Überschüsse & "
#~ "Verluste) sollten Sie das Modul l10n_ES_account_balance_report "
#~ "installieren.\n"
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Spanischer Kontenrahmen (PGCE 2008)"

View File

@ -6,81 +6,51 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2010-12-28 07:52+0000\n"
"Last-Translator: Borja López Soilán (NeoPolus) <borjalopezsoilan@gmail.com>\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:43+0000\n"
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr "Inmovilizado"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr "Existencias"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr "Terceros - A pagar"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr "Ingresos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr "Gastos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr "Financieras"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr "Impuestos"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr "Ingresos"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr "Terceros - A cobrar"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr "Capital"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
msgstr "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr "Existencias"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr "Financieras"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr "Gastos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr "Ingresos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr "Inmovilizado"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr "Terceros"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr "Vista"
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan Contable Español (PGCE 2008)"

View File

@ -1,111 +1,53 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
# Spanish (Costa Rica) translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2012-02-17 17:44+0000\n"
"Last-Translator: Freddy Gonzalez <freddy.gonzalez.contreras@gmail.com>\n"
"Language-Team: \n"
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:43+0000\n"
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
"Language-Team: Spanish (Costa Rica) <es_CR@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: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"Language: \n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr "Inmobilizado"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr "Existencias"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr "Terceros - A Pagar"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr "Ingresos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr "Gastos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr "Financieras"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr "Impuestos"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr "Ingresos"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr "Terceros - A Cobrar"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr "Capital"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
msgstr "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr "Existencias"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr "Financieras"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr "Gastos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr "Ingresos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr "Terceros"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr "Vista"
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan Contable Español (PGCE 2008)"
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
#~ "\n"
#~ "* Defines the following chart of account templates:\n"
#~ " * Spanish General Chart of Accounts 2008.\n"
#~ " * Spanish General Chart of Accounts 2008 for small and medium "
#~ "companies.\n"
#~ "* Defines templates for sale and purchase VAT.\n"
#~ "* Defines tax code templates.\n"
#~ "\n"
#~ "Note: You should install the l10n_ES_account_balance_report module\n"
#~ "for yearly account reporting (balance, profit & losses).\n"
#~ msgstr ""
#~ "Plan General Contable Español (PGCE 2008)\n"
#~ "\n"
#~ "* Define las siguientes plantillas de planes de cuentas:\n"
#~ " * Plan General Contable Español 2008.\n"
#~ " * Plan General Contable Español 2008 para pequeñas y medianas "
#~ "empresas (PYMES).\n"
#~ "* Define plantillas de impuestos de ventas y compras.\n"
#~ "* Define plantillas de códigos de impuesto.\n"
#~ "\n"
#~ "Note: Debería instalar el módulo l10n_ES_account_balance_report\n"
#~ "para reportes de cuentas anuales (balance, perdidas y ganancias).\n"

View File

@ -6,44 +6,75 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2010-12-28 07:52+0000\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:42+0000\n"
"Last-Translator: Borja López Soilán (NeoPolus) <borjalopezsoilan@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-05 05:58+0000\n"
"X-Generator: Launchpad (build 13830)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:ir.module.module,shortdesc:l10n_es.module_meta_information
msgid "Spanish Charts of Accounts (PGCE 2008)"
msgstr "Plan Contable Español (PGCE 2008)"
#. module: l10n_es
#: model:ir.module.module,description:l10n_es.module_meta_information
msgid ""
"Spanish Charts of Accounts (PGCE 2008)\n"
"\n"
"* Defines the following chart of account templates:\n"
" * Spanish General Chart of Accounts 2008.\n"
" * Spanish General Chart of Accounts 2008 for small and medium "
"companies.\n"
"* Defines templates for sale and purchase VAT.\n"
"* Defines tax code templates.\n"
"\n"
"Note: You should install the l10n_ES_account_balance_report module\n"
"for yearly account reporting (balance, profit & losses).\n"
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
"Plan General Contable Español (PGCE 2008)\n"
"\n"
"* Define las siguientes plantillas de planes de cuentas:\n"
" * Plan General Contable Español 2008.\n"
" * Plan General Contable Español 2008 para pequeñas y medianas "
"empresas (PYMES).\n"
"* Define plantillas de impuestos de ventas y compras.\n"
"* Define plantillas de códigos de impuesto.\n"
"\n"
"Note: Debería instalar el módulo l10n_ES_account_balance_report\n"
"para reportes de cuentas anuales (balance, perdidas y ganancias).\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan Contable Español (PGCE 2008)"
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
#~ "\n"
#~ "* Defines the following chart of account templates:\n"
#~ " * Spanish General Chart of Accounts 2008.\n"
#~ " * Spanish General Chart of Accounts 2008 for small and medium "
#~ "companies.\n"
#~ "* Defines templates for sale and purchase VAT.\n"
#~ "* Defines tax code templates.\n"
#~ "\n"
#~ "Note: You should install the l10n_ES_account_balance_report module\n"
#~ "for yearly account reporting (balance, profit & losses).\n"
#~ msgstr ""
#~ "Plan General Contable Español (PGCE 2008)\n"
#~ "\n"
#~ "* Define las siguientes plantillas de planes de cuentas:\n"
#~ " * Plan General Contable Español 2008.\n"
#~ " * Plan General Contable Español 2008 para pequeñas y medianas "
#~ "empresas (PYMES).\n"
#~ "* Define plantillas de impuestos de ventas y compras.\n"
#~ "* Define plantillas de códigos de impuesto.\n"
#~ "\n"
#~ "Note: Debería instalar el módulo l10n_ES_account_balance_report\n"
#~ "para reportes de cuentas anuales (balance, perdidas y ganancias).\n"

View File

@ -1,86 +1,58 @@
# Spanish (Paraguay) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-03-21 16:21+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish (Paraguay) <es_PY@li.org>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan Contable Español (PGCE 2008)"
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
@ -106,6 +78,3 @@ msgstr ""
#~ "\n"
#~ "Note: Debería instalar el módulo l10n_ES_account_balance_report\n"
#~ "para reportes de cuentas anuales (balance, perdidas y ganancias).\n"
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan Contable Español (PGCE 2008)"

View File

@ -6,44 +6,75 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2010-12-28 07:52+0000\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:38+0000\n"
"Last-Translator: Borja López Soilán (NeoPolus) <borjalopezsoilan@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-05 05:58+0000\n"
"X-Generator: Launchpad (build 13830)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:ir.module.module,shortdesc:l10n_es.module_meta_information
msgid "Spanish Charts of Accounts (PGCE 2008)"
msgstr "Plan Contable Español (PGCE 2008)"
#. module: l10n_es
#: model:ir.module.module,description:l10n_es.module_meta_information
msgid ""
"Spanish Charts of Accounts (PGCE 2008)\n"
"\n"
"* Defines the following chart of account templates:\n"
" * Spanish General Chart of Accounts 2008.\n"
" * Spanish General Chart of Accounts 2008 for small and medium "
"companies.\n"
"* Defines templates for sale and purchase VAT.\n"
"* Defines tax code templates.\n"
"\n"
"Note: You should install the l10n_ES_account_balance_report module\n"
"for yearly account reporting (balance, profit & losses).\n"
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
"Plan General Contable Español (PGCE 2008)\n"
"\n"
"* Define las siguientes plantillas de planes de cuentas:\n"
" * Plan General Contable Español 2008.\n"
" * Plan General Contable Español 2008 para pequeñas y medianas "
"empresas (PYMES).\n"
"* Define plantillas de impuestos de ventas y compras.\n"
"* Define plantillas de códigos de impuesto.\n"
"\n"
"Note: Debería instalar el módulo l10n_ES_account_balance_report\n"
"para reportes de cuentas anuales (balance, perdidas y ganancias).\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan Contable Español (PGCE 2008)"
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
#~ "\n"
#~ "* Defines the following chart of account templates:\n"
#~ " * Spanish General Chart of Accounts 2008.\n"
#~ " * Spanish General Chart of Accounts 2008 for small and medium "
#~ "companies.\n"
#~ "* Defines templates for sale and purchase VAT.\n"
#~ "* Defines tax code templates.\n"
#~ "\n"
#~ "Note: You should install the l10n_ES_account_balance_report module\n"
#~ "for yearly account reporting (balance, profit & losses).\n"
#~ msgstr ""
#~ "Plan General Contable Español (PGCE 2008)\n"
#~ "\n"
#~ "* Define las siguientes plantillas de planes de cuentas:\n"
#~ " * Plan General Contable Español 2008.\n"
#~ " * Plan General Contable Español 2008 para pequeñas y medianas "
#~ "empresas (PYMES).\n"
#~ "* Define plantillas de impuestos de ventas y compras.\n"
#~ "* Define plantillas de códigos de impuesto.\n"
#~ "\n"
#~ "Note: Debería instalar el módulo l10n_ES_account_balance_report\n"
#~ "para reportes de cuentas anuales (balance, perdidas y ganancias).\n"

View File

@ -1,88 +1,56 @@
# French translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-01-14 00:16+0000\n"
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
"<maxime.chambreuil@savoirfairelinux.com>\n"
"Language-Team: French <fr@li.org>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:29+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:30+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan comptable espagnol (PGCE 2008)"

View File

@ -1,86 +1,58 @@
# Galician translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-02-14 11:06+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@li.org>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:29+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:30+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan Contable Español (PGCE 2008)"
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
@ -105,6 +77,3 @@ msgstr ""
#~ "\n"
#~ "Nota: Debería instalá-lo módulo \"l10n_ES_account_balance_report\"\n"
#~ "para os informes financieros anuales (balance, pérdidas e ganancias).\n"
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan Contable Español (PGCE 2008)"

View File

@ -1,83 +1,52 @@
# Hungarian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-01-10 10:43+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hungarian <hu@li.org>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:38+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:30+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""

View File

@ -1,86 +1,55 @@
# Italian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-01-13 22:58+0000\n"
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
"Language-Team: Italian <it@li.org>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:39+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Piano dei conti della Spagna (PGCE 2008)"

View File

@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0alpha\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2012-11-24 02:53+0000\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:03+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -16,67 +16,37 @@ msgstr ""
"Plural-Forms: \n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""

53
addons/l10n_es/i18n/nl.po Normal file
View File

@ -0,0 +1,53 @@
# Dutch translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:43+0000\n"
"Last-Translator: Jan Jurkus (GCE CAD-Service) <ict@gcecad-service.nl>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr "Kapitaal"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""

View File

@ -1,86 +1,53 @@
# Occitan (post 1500) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-11-20 09:22+0000\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:39+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Occitan (post 1500) <oc@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: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Plan comptable espanhòl (PGCE 2008)"

View File

@ -1,86 +1,55 @@
# Portuguese translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2010-12-20 20:33+0000\n"
"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
"Language-Team: Portuguese <pt@li.org>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:39+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Esquema de contas espanhol (PGCE 2008)"

View File

@ -7,80 +7,54 @@ msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-03-09 22:32+0000\n"
"Last-Translator: Emerson <Unknown>\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:40+0000\n"
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
"<webmaster@zupy.com.br>\n"
"Language-Team: Brazilian Portuguese <pt_BR@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: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr "Capital"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr "Estoques"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr "Financeiras"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr "Despesas Líquidas"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr "Resultado de equivalência patrimonial"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
msgstr "Terceiros"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Spanish Charts of Accounts (PGCE 2008)"
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
@ -106,6 +80,3 @@ msgstr ""
#~ "\n"
#~ "Note: You should install the l10n_ES_account_balance_report module\n"
#~ "for yearly account reporting (balance, profit & losses).\n"
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Spanish Charts of Accounts (PGCE 2008)"

53
addons/l10n_es/i18n/sl.po Normal file
View File

@ -0,0 +1,53 @@
# Slovenian translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:39+0000\n"
"Last-Translator: Dušan Laznik (Mentis) <laznik@mentis.si>\n"
"Language-Team: Slovenian <sl@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: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr "Capital"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr "Existencias"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr "Financieras"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr "Gastos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr "Ingresos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr "Terceros"

View File

@ -1,110 +1,52 @@
# Serbian latin translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_es
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-10-13 15:18+0000\n"
"Last-Translator: Milan Milosevic <Unknown>\n"
"Language-Team: Serbian latin <sr@latin@li.org>\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2013-10-10 16:40+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid ""
#~ "Spanish Charts of Accounts (PGCE 2008)\n"
#~ "\n"
#~ "* Defines the following chart of account templates:\n"
#~ " * Spanish General Chart of Accounts 2008.\n"
#~ " * Spanish General Chart of Accounts 2008 for small and medium "
#~ "companies.\n"
#~ "* Defines templates for sale and purchase VAT.\n"
#~ "* Defines tax code templates.\n"
#~ "\n"
#~ "Note: You should install the l10n_ES_account_balance_report module\n"
#~ "for yearly account reporting (balance, profit & losses).\n"
#~ msgstr ""
#~ "Računske tabele za Španiju (PGCE 2008)\n"
#~ "\n"
#~ "*Definiše sledeće modele za računske tabele:\n"
#~ " *Opšte računske tabele za Španiju 2008.\n"
#~ " *OPšte računske tabele za Španiju za mala i srednja preduzeća.\n"
#~ "*Definiše modele za prodaju i nabavku VAT-a.\n"
#~ "*Definiše model za takseni kod.\n"
#~ "\n"
#~ "Beleška: Trebalo bi da instalirate modul ''l10n_ES_account_balance_report''\n"
#~ "za godišnje izveštaje o računu (balans, prihod i rashod).\n"
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "Računske tabele za Španiju (PGCE 2008)"

View File

@ -1,86 +1,53 @@
# Turkish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-11-24 02:53+0000\n"
"PO-Revision-Date: 2011-06-08 10:18+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2014-05-29 22:03+0000\n"
"PO-Revision-Date: 2014-05-29 22:43+0000\n"
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
"Language-Team: Turkish <tr@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: 2012-11-25 06:31+0000\n"
"X-Generator: Launchpad (build 16293)\n"
"X-Launchpad-Export-Date: 2014-05-30 05:56+0000\n"
"X-Generator: Launchpad (build 17023)\n"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.inmo
msgid "Inmobilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.stock
msgid "Existencias"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_pay
msgid "Terceros - A Pagar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos_neto
msgid "Gastos patrimonio neto"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.financieras
msgid "Financieras"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.tax
msgid "Impuestos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.ingresos
msgid "Ingresos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros_-_rec
msgid "Terceros - A Cobrar"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.capital
#: model:account.account.type,name:l10n_es.account_type_capital
msgid "Capital"
msgstr "Capital"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_stock
msgid "Existencias"
msgstr "Existencias"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_financieras
msgid "Financieras"
msgstr "Financieras"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_gastos_neto
msgid "Gastos patrimonio neto"
msgstr "Gastos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_ingresos_neto
msgid "Ingresos patrimonio neto"
msgstr "Ingresos patrimonio neto"
#. module: l10n_es
#: model:account.account.type,name:l10n_es.account_type_inmo
msgid "Inmovilizado"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.gastos
msgid "Gastos"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.terceros
#: model:account.account.type,name:l10n_es.account_type_terceros
msgid "Terceros"
msgstr ""
#. module: l10n_es
#: model:account.account.type,name:l10n_es.view
msgid "View"
msgstr ""
#~ msgid "Spanish Charts of Accounts (PGCE 2008)"
#~ msgstr "İspanya Hesap tabloları (PGCE 2008)"
msgstr "Terceros"

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

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