[tryton-debian-vcs] tryton-modules-analytic-account branch upstream created. 55ceeacfedbab60cf9810983511fef061ed9909e

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Nov 27 16:57:50 UTC 2013


The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-analytic-account.git;a=commitdiff;h=55ceeacfedbab60cf9810983511fef061ed9909e
commit 55ceeacfedbab60cf9810983511fef061ed9909e
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Nov 24 17:26:29 2013 +0100

    Adding upstream version 3.0.0.

diff --git a/CHANGELOG b/CHANGELOG
index 307388e..8921297 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.0.0 - 2013-10-21
+* Bug fixes (see mercurial logs for details)
+
 Version 2.8.0 - 2013-04-22
 * Bug fixes (see mercurial logs for details)
 
diff --git a/INSTALL b/INSTALL
index 80b3192..cbfa29a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -5,6 +5,7 @@ Prerequisites
 -------------
 
  * Python 2.6 or later (http://www.python.org/)
+ * python-sql (http://code.google.com/p/python-sql/)
  * trytond (http://www.tryton.org/)
  * trytond_company (http://www.tryton.org/)
  * trytond_party (http://www.tryton.org/)
diff --git a/PKG-INFO b/PKG-INFO
index 950839e..b804a2b 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_analytic_account
-Version: 2.8.0
+Version: 3.0.0
 Summary: Tryton module for analytic accounting
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.8/
+Download-URL: http://downloads.tryton.org/3.0/
 Description: trytond_analytic_account
         ========================
         
@@ -59,6 +59,7 @@ Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Russian
+Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.6
diff --git a/account.py b/account.py
index a1e0afb..05c388f 100644
--- a/account.py
+++ b/account.py
@@ -2,6 +2,10 @@
 #this repository contains the full copyright notices and license terms.
 from decimal import Decimal
 import copy
+from sql import Column
+from sql.aggregate import Sum
+from sql.conditionals import Coalesce
+
 from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard, StateView, StateAction, Button
 from trytond.pyson import Eval, PYSONEncoder
@@ -115,9 +119,18 @@ class Account(ModelSQL, ModelView):
     @classmethod
     def get_balance(cls, accounts, name):
         res = {}
-        Line = Pool().get('analytic_account.line')
-        Currency = Pool().get('currency.currency')
+        pool = Pool()
+        Line = pool.get('analytic_account.line')
+        MoveLine = pool.get('account.move.line')
+        Account = pool.get('account.account')
+        Company = pool.get('company.company')
+        Currency = pool.get('currency.currency')
         cursor = Transaction().cursor
+        table = cls.__table__()
+        line = Line.__table__()
+        move_line = MoveLine.__table__()
+        a_account = Account.__table__()
+        company = Company.__table__()
 
         ids = [a.id for a in accounts]
         childs = cls.search([('parent', 'child_of', ids)])
@@ -128,25 +141,22 @@ class Account(ModelSQL, ModelView):
         for account in all_accounts:
             id2account[account.id] = account
 
-        line_query = Line.query_get()
-        cursor.execute('SELECT a.id, '
-                'SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))), '
-                    'c.currency '
-            'FROM analytic_account_account a '
-                'LEFT JOIN analytic_account_line l '
-                'ON (a.id = l.account) '
-                'LEFT JOIN account_move_line ml '
-                'ON (ml.id = l.move_line) '
-                'LEFT JOIN account_account aa '
-                'ON (aa.id = ml.account) '
-                'LEFT JOIN company_company c '
-                'ON (c.id = aa.company) '
-            'WHERE a.type != \'view\' '
-                'AND a.id IN (' +
-                    ','.join(('%s',) * len(all_ids)) + ') '
-                'AND ' + line_query + ' '
-                'AND a.active '
-            'GROUP BY a.id, c.currency', all_ids)
+        line_query = Line.query_get(line)
+        cursor.execute(*table.join(line, 'LEFT',
+                condition=table.id == line.account
+                ).join(move_line, 'LEFT',
+                condition=move_line.id == line.move_line
+                ).join(a_account, 'LEFT',
+                condition=a_account.id == move_line.account
+                ).join(company, 'LEFT',
+                condition=company.id == a_account.company
+                ).select(table.id,
+                Sum(Coalesce(line.debit, 0) - Coalesce(line.credit, 0)),
+                company.currency,
+                where=(table.type != 'view')
+                & table.id.in_(all_ids)
+                & table.active & line_query,
+                group_by=(table.id, company.currency)))
         account_sum = {}
         id2currency = {}
         for account_id, sum, currency_id in cursor.fetchall():
@@ -185,8 +195,16 @@ class Account(ModelSQL, ModelView):
         res = {}
         pool = Pool()
         Line = pool.get('analytic_account.line')
+        MoveLine = pool.get('account.move.line')
+        Account = pool.get('account.account')
+        Company = pool.get('company.company')
         Currency = pool.get('currency.currency')
         cursor = Transaction().cursor
+        table = cls.__table__()
+        line = Line.__table__()
+        move_line = MoveLine.__table__()
+        a_account = Account.__table__()
+        company = Company.__table__()
 
         if name not in ('credit', 'debit'):
             raise Exception('Bad argument')
@@ -197,25 +215,22 @@ class Account(ModelSQL, ModelView):
             res[account.id] = Decimal('0.0')
             id2account[account.id] = account
 
-        line_query = Line.query_get()
-        cursor.execute('SELECT a.id, '
-                'SUM(COALESCE(l.' + name + ', 0)), '
-                'c.currency '
-            'FROM analytic_account_account a '
-                'LEFT JOIN analytic_account_line l '
-                'ON (a.id = l.account) '
-                'LEFT JOIN account_move_line ml '
-                'ON (ml.id = l.move_line) '
-                'LEFT JOIN account_account aa '
-                'ON (aa.id = ml.account) '
-                'LEFT JOIN company_company c '
-                'ON (c.id = aa.company) '
-            'WHERE a.type != \'view\' '
-                'AND a.id IN (' +
-                    ','.join(('%s',) * len(ids)) + ') '
-                'AND ' + line_query + ' '
-                'AND a.active '
-            'GROUP BY a.id, c.currency', ids)
+        line_query = Line.query_get(line)
+        cursor.execute(*table.join(line, 'LEFT',
+                condition=table.id == line.account
+                ).join(move_line, 'LEFT',
+                condition=move_line.id == line.move_line
+                ).join(a_account, 'LEFT',
+                condition=a_account.id == move_line.account
+                ).join(company, 'LEFT',
+                condition=company.id == a_account.company
+                ).select(table.id,
+                Sum(Coalesce(Column(line, name), 0)),
+                company.currency,
+                where=(table.type != 'view')
+                & table.id.in_(ids)
+                & table.active & line_query,
+                group_by=(table.id, company.currency)))
 
         id2currency = {}
         for account_id, sum, currency_id in cursor.fetchall():
@@ -240,11 +255,11 @@ class Account(ModelSQL, ModelView):
 
     @classmethod
     def search_rec_name(cls, name, clause):
-        accounts = cls.search([('code',) + clause[1:]], limit=1)
+        accounts = cls.search([('code',) + tuple(clause[1:])], limit=1)
         if accounts:
-            return [('code',) + clause[1:]]
+            return [('code',) + tuple(clause[1:])]
         else:
-            return [(cls._rec_name,) + clause[1:]]
+            return [(cls._rec_name,) + tuple(clause[1:])]
 
     @classmethod
     def convert_view(cls, tree):
@@ -272,10 +287,15 @@ class Account(ModelSQL, ModelView):
         parent.remove(element_accounts)
 
     @classmethod
-    def analytic_accounts_fields_get(cls, field, fields_names=None):
+    def analytic_accounts_fields_get(cls, field, fields_names=None,
+            states=None, required_states=None):
         res = {}
         if fields_names is None:
             fields_names = []
+        if states is None:
+            states = {}
+
+        encoder = PYSONEncoder()
 
         root_accounts = cls.search([
                 ('parent', '=', None),
@@ -284,7 +304,13 @@ class Account(ModelSQL, ModelView):
             name = 'analytic_account_' + str(account.id)
             if name in fields_names or not fields_names:
                 res[name] = field.copy()
-                res[name]['required'] = account.mandatory
+                field_states = states.copy()
+                if account.mandatory:
+                    if required_states:
+                        field_states['required'] = required_states
+                    else:
+                        field_states['required'] = True
+                res[name]['states'] = encoder.encode(field_states)
                 res[name]['string'] = account.name
                 res[name]['relation'] = cls.__name__
                 res[name]['domain'] = PYSONEncoder().encode([
diff --git a/account.xml b/account.xml
index 04c21bf..ac0bc07 100644
--- a/account.xml
+++ b/account.xml
@@ -26,7 +26,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.action.act_window" id="act_account_tree">
             <field name="name">Analytic Accounts</field>
             <field name="res_model">analytic_account.account</field>
-            <field name="domain">[('parent', '=', False)]</field>
+            <field name="domain">[('parent', '=', None), ('type', '=', 'root')]</field>
         </record>
         <record model="ir.action.act_window.view" id="act_account_tree_view1">
             <field name="sequence" eval="10"/>
@@ -69,7 +69,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.action.act_window" id="act_account_tree2">
             <field name="name">Analytic Accounts</field>
             <field name="res_model">analytic_account.account</field>
-            <field name="domain">[('parent', '=', False)]</field>
+            <field name="domain">[('parent', '=', None)]</field>
         </record>
         <record model="ir.action.act_window.view" id="act_account_tree2_view1">
             <field name="sequence" eval="10"/>
diff --git a/line.py b/line.py
index 123500c..16b05d7 100644
--- a/line.py
+++ b/line.py
@@ -1,10 +1,9 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
-import time
 from decimal import Decimal
 from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard, StateAction
-from trytond.backend import TableHandler
+from trytond import backend
 from trytond.pyson import Eval, PYSONEncoder
 from trytond.transaction import Transaction
 from trytond.pool import Pool
@@ -44,7 +43,8 @@ class Line(ModelSQL, ModelView):
                 'Wrong credit/debit values.'),
             ]
         cls._error_messages.update({
-                'line_on_view_account': ('You can not create a move line using '
+                'line_on_view_account': (
+                    'You can not create a move line using '
                     'view account "%s".'),
                 'line_on_inactive_account': ('You can not create a move line '
                     'using inactive account "%s".'),
@@ -53,6 +53,7 @@ class Line(ModelSQL, ModelView):
 
     @classmethod
     def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
         super(Line, cls).__register__(module_name)
         cursor = Transaction().cursor
         table = TableHandler(cursor, cls, module_name)
@@ -87,23 +88,17 @@ class Line(ModelSQL, ModelView):
         return 2
 
     @staticmethod
-    def query_get(obj='l'):
+    def query_get(table):
         '''
         Return SQL clause for analytic line depending of the context.
-        obj is the SQL alias of the analytic_account_line in the query.
+        table is the SQL instance of the analytic_account_line table.
         '''
-        res = obj + '.active'
+        clause = table.active
         if Transaction().context.get('start_date'):
-            # Check start_date
-            time.strptime(str(Transaction().context['start_date']), '%Y-%m-%d')
-            res += (' AND ' + obj + '.date >= date(\''
-                + str(Transaction().context['start_date']) + '\')')
+            clause &= table.date >= Transaction().context['start_date']
         if Transaction().context.get('end_date'):
-            # Check end_date
-            time.strptime(str(Transaction().context['end_date']), '%Y-%m-%d')
-            res += (' AND ' + obj + '.date <= date(\''
-                + str(Transaction().context['end_date']) + '\')')
-        return res
+            clause &= table.date <= Transaction().context['end_date']
+        return clause
 
     @classmethod
     def validate(cls, lines):
diff --git a/locale/de_DE.po b/locale/de_DE.po
index bc486a9..482bf2f 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -46,10 +46,6 @@ msgctxt "field:account.statement,lines:"
 msgid "Transactions"
 msgstr "Transaktionen"
 
-msgctxt "field:account.statement,move_lines:"
-msgid "Move Lines"
-msgstr "Buchungsposten"
-
 msgctxt "field:account.statement,rec_name:"
 msgid "Name"
 msgstr "Name"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index e7d60de..45caffb 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -61,11 +61,11 @@ msgstr "Haber"
 
 msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
-msgstr "Divisa"
+msgstr "Moneda"
 
 msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr "Dígitos de divisa"
+msgstr "Dígitos de moneda"
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
@@ -212,11 +212,11 @@ msgstr "Haber"
 
 msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
-msgstr "Divisa"
+msgstr "Moneda"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Dígitos de divisa"
+msgstr "Dígitos de moneda"
 
 msgctxt "field:analytic_account.line,date:"
 msgid "Date"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 1cf0188..b5d187a 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account on \"%s\"."
 msgstr ""
-"No se puede tener muchos cuentas con la misma raíz o sin una cuenta raíz "
+"No se puede tener muchas cuentas con la misma raíz o falta una cuenta raíz "
 "obligatoria en \"%s\"."
 
 msgctxt "error:analytic_account.line:"
@@ -20,7 +20,7 @@ msgstr "No puede crear una línea de movimiento usando una cuenta inactiva \"%s\
 
 msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
-msgstr "No puede crear un apunte utilizando la cuenta de vista \"%s\"."
+msgstr "No puede crear un apunte utilizando la cuenta tipo vista \"%s\"."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 8ee875d..c0d7f42 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -347,14 +347,6 @@ msgid "Credit - Debit"
 msgstr "Crédit - Débit"
 
 msgctxt "selection:analytic_account.account,display_balance:"
-msgid "Credit - Debit"
-msgstr "Crédit - Débit"
-
-msgctxt "selection:analytic_account.account,display_balance:"
-msgid "Debit - Credit"
-msgstr "Débit - Crédit"
-
-msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr "Débit - Crédit"
 
@@ -363,14 +355,6 @@ msgid "Closed"
 msgstr "Fermé"
 
 msgctxt "selection:analytic_account.account,state:"
-msgid "Closed"
-msgstr "Fermé"
-
-msgctxt "selection:analytic_account.account,state:"
-msgid "Draft"
-msgstr "Brouillon"
-
-msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Brouillon"
 
@@ -378,14 +362,6 @@ msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr "Ouvert"
 
-msgctxt "selection:analytic_account.account,state:"
-msgid "Opened"
-msgstr "Ouvert"
-
-msgctxt "selection:analytic_account.account,type:"
-msgid "Normal"
-msgstr "Normal"
-
 msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr "Normal"
@@ -395,14 +371,6 @@ msgid "Root"
 msgstr "Racine"
 
 msgctxt "selection:analytic_account.account,type:"
-msgid "Root"
-msgstr "Racine"
-
-msgctxt "selection:analytic_account.account,type:"
-msgid "View"
-msgstr "Vue"
-
-msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Vue"
 
@@ -410,10 +378,6 @@ msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Analytique"
 
-msgctxt "view:account.move.line:"
-msgid "Analytic"
-msgstr "Analytique"
-
 msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr "Analytique"
@@ -423,22 +387,10 @@ msgid "Analytic Account"
 msgstr "Compte analytique"
 
 msgctxt "view:analytic_account.account:"
-msgid "Analytic Account"
-msgstr "Compte analytique"
-
-msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr "Comptes analytiques"
 
 msgctxt "view:analytic_account.account:"
-msgid "Analytic Accounts"
-msgstr "Comptes analytiques"
-
-msgctxt "view:analytic_account.account:"
-msgid "General Information"
-msgstr "Information générale"
-
-msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr "Information générale"
 
@@ -446,14 +398,6 @@ msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Notes"
 
-msgctxt "view:analytic_account.account:"
-msgid "Notes"
-msgstr "Notes"
-
-msgctxt "view:analytic_account.line:"
-msgid "Analytic Line"
-msgstr "Ligne analytique"
-
 msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr "Ligne analytique"
@@ -463,14 +407,6 @@ msgid "Analytic Lines"
 msgstr "Lignes analytiques"
 
 msgctxt "view:analytic_account.line:"
-msgid "Analytic Lines"
-msgstr "Lignes analytiques"
-
-msgctxt "view:analytic_account.line:"
-msgid "General Information"
-msgstr "Information générale"
-
-msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr "Information générale"
 
diff --git a/locale/es_ES.po b/locale/sl_SI.po
similarity index 75%
copy from locale/es_ES.po
copy to locale/sl_SI.po
index 1cf0188..6fe9c6f 100644
--- a/locale/es_ES.po
+++ b/locale/sl_SI.po
@@ -7,72 +7,72 @@ msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account on \"%s\"."
 msgstr ""
-"No se puede tener muchos cuentas con la misma raíz o sin una cuenta raíz "
-"obligatoria en \"%s\"."
+"Pri \"%s\" ni možno imeti več kontov z istim korenskim kontom ali z "
+"manjkajočim obveznim korenskim kontom."
 
 msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values."
-msgstr "Valores de haber/debe erróneos."
+msgstr "Napačne vrednosti za debet/kredit."
 
 msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using inactive account \"%s\"."
-msgstr "No puede crear una línea de movimiento usando una cuenta inactiva \"%s\"."
+msgstr "Knjiženje postavke ni možno izvesti z neaktivnim kontom \"%s\"."
 
 msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
-msgstr "No puede crear un apunte utilizando la cuenta de vista \"%s\"."
+msgstr "Knjiženje postavke ni možno izvesti z vpoglednim kontom \"%s\"."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
-msgstr "Líneas analíticas"
+msgstr "Analitične postavke"
 
 msgctxt "field:analytic_account.account,active:"
 msgid "Active"
-msgstr "Activa"
+msgstr "Aktivno"
 
 msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
-msgstr "Saldo"
+msgstr "Bilanca"
 
 msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
-msgstr "Hijos"
+msgstr "Podkonti"
 
 msgctxt "field:analytic_account.account,code:"
 msgid "Code"
-msgstr "Código"
+msgstr "Šifra"
 
 msgctxt "field:analytic_account.account,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr "Podjetje"
 
 msgctxt "field:analytic_account.account,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:analytic_account.account,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Kredit"
 
 msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
-msgstr "Moneda"
+msgstr "Valuta"
 
 msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr "Decimales de la moneda"
+msgstr "Decimalke"
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Debet"
 
 msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
-msgstr "Mostrar saldo"
+msgstr "Prikaz bilance"
 
 msgctxt "field:analytic_account.account,id:"
 msgid "ID"
@@ -80,60 +80,60 @@ msgstr "ID"
 
 msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
-msgstr "Obligatorio"
+msgstr "Obvezno"
 
 msgctxt "field:analytic_account.account,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Naziv"
 
 msgctxt "field:analytic_account.account,note:"
 msgid "Note"
-msgstr "Nota"
+msgstr "Opomba"
 
 msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
-msgstr "Padre"
+msgstr "Matični konto"
 
 msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:analytic_account.account,root:"
 msgid "Root"
-msgstr "Raíz"
+msgstr "Koren"
 
 msgctxt "field:analytic_account.account,state:"
 msgid "State"
-msgstr "Estado"
+msgstr "Stanje"
 
 msgctxt "field:analytic_account.account,type:"
 msgid "Type"
-msgstr "Tipo"
+msgstr "Tip"
 
 msgctxt "field:analytic_account.account,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:analytic_account.account,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
-msgstr "Cuenta"
+msgstr "Konto"
 
 msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,id:"
@@ -143,35 +143,35 @@ msgstr "ID"
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
-msgstr "Selección"
+msgstr "Izbor"
 
 msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
-msgstr "Cuentas"
+msgstr "Konti"
 
 msgctxt "field:analytic_account.account.selection,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:analytic_account.account.selection,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:analytic_account.account.selection,id:"
 msgid "ID"
@@ -179,51 +179,51 @@ msgstr "ID"
 
 msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:analytic_account.account.selection,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:analytic_account.account.selection,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:analytic_account.line,account:"
 msgid "Account"
-msgstr "Cuenta"
+msgstr "Konto"
 
 msgctxt "field:analytic_account.line,active:"
 msgid "Active"
-msgstr "Activa"
+msgstr "Aktivno"
 
 msgctxt "field:analytic_account.line,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:analytic_account.line,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Kredit"
 
 msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
-msgstr "Moneda"
+msgstr "Valuta"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Decimales de la moneda"
+msgstr "Decimalke"
 
 msgctxt "field:analytic_account.line,date:"
 msgid "Date"
-msgstr "Fecha"
+msgstr "Datum"
 
 msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Debet"
 
 msgctxt "field:analytic_account.line,id:"
 msgid "ID"
@@ -231,39 +231,39 @@ msgstr "ID"
 
 msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
-msgstr "Diario"
+msgstr "Dnevnik"
 
 msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
-msgstr "Apunte contable"
+msgstr "Postavka knjižbe"
 
 msgctxt "field:analytic_account.line,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Naziv"
 
 msgctxt "field:analytic_account.line,party:"
 msgid "Party"
-msgstr "Tercero"
+msgstr "Stranka"
 
 msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
-msgstr "Referencia"
+msgstr "Sklic"
 
 msgctxt "field:analytic_account.line,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:analytic_account.line,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:analytic_account.open_chart.start,end_date:"
 msgid "End Date"
-msgstr "Fecha final"
+msgstr "Končni datum"
 
 msgctxt "field:analytic_account.open_chart.start,id:"
 msgid "ID"
@@ -271,149 +271,145 @@ msgstr "ID"
 
 msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
-msgstr "Fecha inicial"
+msgstr "Začetni datum"
 
 msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
-msgstr "Cuenta analítica"
+msgstr "Analitični konto"
 
 msgctxt ""
 "model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
-msgstr "Cuenta analítica - Selección de cuenta analítica"
+msgstr "Analitični konto - Izbor analitičnega konta"
 
 msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
-msgstr "Selección de cuenta analítica"
+msgstr "Izbor analitičnega konta"
 
 msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
-msgstr "Línea analítica"
+msgstr "Analitična postavka"
 
 msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
-msgstr "Abrir plan contable"
+msgstr "Odpri kontni načrt"
 
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
-msgstr "Cuentas analíticas"
+msgstr "Analitični konti"
 
 msgctxt "model:ir.action,name:act_account_tree"
 msgid "Analytic Accounts"
-msgstr "Cuentas analíticas"
+msgstr "Analitični konti"
 
 msgctxt "model:ir.action,name:act_account_tree2"
 msgid "Analytic Accounts"
-msgstr "Cuentas analíticas"
+msgstr "Analitični konti"
 
 msgctxt "model:ir.action,name:act_line_form"
 msgid "Analytic Lines"
-msgstr "Líneas analíticas"
+msgstr "Analitične postavke"
 
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
-msgstr "Abrir cuenta"
+msgstr "Odpri konto"
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan analítico"
+msgstr "Odpri analitični kontni načrt"
 
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
-msgstr "Cuentas analíticas"
+msgstr "Analitični konti"
 
 msgctxt "model:ir.ui.menu,name:menu_account_tree"
 msgid "Analytic Accounts"
-msgstr "Cuentas analíticas"
+msgstr "Analitični konti"
 
 msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
-msgstr "Contabilidad analítica"
+msgstr "Analitični konto"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan analítico"
+msgstr "Odpri analitični kontni načrt"
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
-msgstr "Administración analítica"
+msgstr "Analitika - vodenje"
 
 msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
-msgstr "Haber - Debe"
+msgstr "Kredit - Debet"
 
 msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
-msgstr "Debe - Haber"
+msgstr "Debet - Kredit"
 
 msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
-msgstr "Cerrada"
+msgstr "Zaprto"
 
 msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr "Osnutek"
 
 msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
-msgstr "Abierta"
+msgstr "Odprto"
 
 msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
-msgstr "Normal"
+msgstr "Normalno"
 
 msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
-msgstr "Raíz"
+msgstr "Koren"
 
 msgctxt "selection:analytic_account.account,type:"
 msgid "View"
-msgstr "Vista"
+msgstr "Vpogled"
 
 msgctxt "view:account.move.line:"
 msgid "Analytic"
-msgstr "Analítica"
-
-msgctxt "view:account.move:"
-msgid "Analytic"
-msgstr "Analítica"
+msgstr "Analitično"
 
 msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
-msgstr "Cuenta analítica"
+msgstr "Analitični konto"
 
 msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
-msgstr "Cuentas analíticas"
+msgstr "Analitični konti"
 
 msgctxt "view:analytic_account.account:"
 msgid "General Information"
-msgstr "Información general"
+msgstr "Splošno"
 
 msgctxt "view:analytic_account.account:"
 msgid "Notes"
-msgstr "Notas"
+msgstr "Opombe"
 
 msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
-msgstr "Línea analítica"
+msgstr "Analitična postavka"
 
 msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
-msgstr "Líneas analíticas"
+msgstr "Analitične postavke"
 
 msgctxt "view:analytic_account.line:"
 msgid "General Information"
-msgstr "Información general"
+msgstr "Splošno"
 
 msgctxt "view:analytic_account.open_chart.start:"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan analítico"
+msgstr "Odpri analitični kontni načrt"
 
 msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr "Prekliči"
 
 msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
-msgstr "Abrir"
+msgstr "Odpri"
diff --git a/setup.py b/setup.py
index b3149cb..9c485f1 100644
--- a/setup.py
+++ b/setup.py
@@ -21,7 +21,7 @@ major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
 major_version = int(major_version)
 minor_version = int(minor_version)
 
-requires = []
+requires = ['python-sql']
 for dep in info.get('depends', []):
     if not re.match(r'(ir|res|webdav)(\W|$)', dep):
         requires.append('trytond_%s >= %s.%s, < %s.%s' %
@@ -63,6 +63,7 @@ setup(name='trytond_analytic_account',
         'Natural Language :: French',
         'Natural Language :: German',
         'Natural Language :: Russian',
+        'Natural Language :: Slovenian',
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
         'Programming Language :: Python :: 2.6',
diff --git a/tests/__init__.py b/tests/__init__.py
index 43e5109..9ed41c1 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -2,3 +2,5 @@
 #this repository contains the full copyright notices and license terms.
 
 from .test_analytic_account import suite
+
+__all__ = ['suite']
diff --git a/tryton.cfg b/tryton.cfg
index f985701..8c89ebe 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=2.8.0
+version=3.0.0
 depends:
     account
     company
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index f9d7c8b..08871ff 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-analytic-account
-Version: 2.8.0
+Version: 3.0.0
 Summary: Tryton module for analytic accounting
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.8/
+Download-URL: http://downloads.tryton.org/3.0/
 Description: trytond_analytic_account
         ========================
         
@@ -59,6 +59,7 @@ Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Russian
+Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.6
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index 27bd141..a754472 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -24,6 +24,7 @@ locale/es_ES.po
 locale/fr_FR.po
 locale/nl_NL.po
 locale/ru_RU.po
+locale/sl_SI.po
 trytond_analytic_account.egg-info/PKG-INFO
 trytond_analytic_account.egg-info/SOURCES.txt
 trytond_analytic_account.egg-info/dependency_links.txt
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 339f1aa..5246ce6 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,5 +1,6 @@
-trytond_account >= 2.8, < 2.9
-trytond_company >= 2.8, < 2.9
-trytond_currency >= 2.8, < 2.9
-trytond_party >= 2.8, < 2.9
-trytond >= 2.8, < 2.9
\ No newline at end of file
+python-sql
+trytond_account >= 3.0, < 3.1
+trytond_company >= 3.0, < 3.1
+trytond_currency >= 3.0, < 3.1
+trytond_party >= 3.0, < 3.1
+trytond >= 3.0, < 3.1
\ No newline at end of file
diff --git a/view/account_form.xml b/view/account_form.xml
index b6c569c..07b0d5b 100644
--- a/view/account_form.xml
+++ b/view/account_form.xml
@@ -24,6 +24,7 @@ this repository contains the full copyright notices and license terms. -->
             <field name="currency"/>
             <label name="mandatory"/>
             <field name="mandatory"/>
+            <field name="childs" colspan="4" view_ids="analytic_account.account_view_list"/>
         </page>
         <page string="Notes" id="notes">
             <field name="note"/>
commit 1396193c7f65698fa297bc2d5cd66a1e9610ffe4
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Thu May 2 00:35:13 2013 +0200

    Adding upstream version 2.8.0.

diff --git a/CHANGELOG b/CHANGELOG
index fa16e90..307388e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 2.8.0 - 2013-04-22
+* Bug fixes (see mercurial logs for details)
+
 Version 2.6.0 - 2012-10-22
 * Bug fixes (see mercurial logs for details)
 
diff --git a/COPYRIGHT b/COPYRIGHT
index ede3fac..5d422e0 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,6 +1,6 @@
-Copyright (C) 2008-2012 Cédric Krier.
-Copyright (C) 2008-2012 Bertrand Chenal.
-Copyright (C) 2008-2012 B2CK SPRL.
+Copyright (C) 2008-2013 Cédric Krier.
+Copyright (C) 2008-2013 Bertrand Chenal.
+Copyright (C) 2008-2013 B2CK SPRL.
 Copyright (C) 2004-2008 Tiny SPRL.
 
 This program is free software: you can redistribute it and/or modify
diff --git a/MANIFEST.in b/MANIFEST.in
index 44969c7..18ce53c 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -6,5 +6,6 @@ include CHANGELOG
 include LICENSE
 include tryton.cfg
 include *.xml
+include view/*.xml
 include *.odt
 include locale/*.po
diff --git a/PKG-INFO b/PKG-INFO
index e25d66b..950839e 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
-Metadata-Version: 1.0
+Metadata-Version: 1.1
 Name: trytond_analytic_account
-Version: 2.6.0
+Version: 2.8.0
 Summary: Tryton module for analytic accounting
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.6/
+Download-URL: http://downloads.tryton.org/2.8/
 Description: trytond_analytic_account
         ========================
         
@@ -52,6 +52,7 @@ Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
diff --git a/account.py b/account.py
index 7572440..a1e0afb 100644
--- a/account.py
+++ b/account.py
@@ -69,12 +69,6 @@ class Account(ModelSQL, ModelView):
     @classmethod
     def __setup__(cls):
         super(Account, cls).__setup__()
-        cls._constraints += [
-            ('check_recursion', 'recursive_accounts'),
-            ]
-        cls._error_messages.update({
-                'recursive_accounts': 'You can not create recursive accounts!',
-                })
         cls._order.insert(0, ('code', 'ASC'))
 
     @staticmethod
@@ -108,6 +102,11 @@ class Account(ModelSQL, ModelView):
     def default_mandatory():
         return False
 
+    @classmethod
+    def validate(cls, accounts):
+        super(Account, cls).validate(accounts)
+        cls.check_recursion(accounts)
+
     def on_change_with_currency_digits(self, name=None):
         if self.currency:
             return self.currency.digits
@@ -130,24 +129,24 @@ class Account(ModelSQL, ModelView):
             id2account[account.id] = account
 
         line_query = Line.query_get()
-        cursor.execute('SELECT a.id, ' \
-                    'SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))), ' \
-                    'c.currency ' \
-                'FROM analytic_account_account a ' \
-                    'LEFT JOIN analytic_account_line l ' \
-                    'ON (a.id = l.account) ' \
-                    'LEFT JOIN account_move_line ml ' \
-                    'ON (ml.id = l.move_line) ' \
-                    'LEFT JOIN account_account aa ' \
-                    'ON (aa.id = ml.account) ' \
-                    'LEFT JOIN company_company c ' \
-                    'ON (c.id = aa.company) ' \
-                'WHERE a.type != \'view\' ' \
-                    'AND a.id IN (' + \
-                        ','.join(('%s',) * len(all_ids)) + ') ' \
-                    'AND ' + line_query + ' ' \
-                    'AND a.active ' \
-                'GROUP BY a.id, c.currency', all_ids)
+        cursor.execute('SELECT a.id, '
+                'SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))), '
+                    'c.currency '
+            'FROM analytic_account_account a '
+                'LEFT JOIN analytic_account_line l '
+                'ON (a.id = l.account) '
+                'LEFT JOIN account_move_line ml '
+                'ON (ml.id = l.move_line) '
+                'LEFT JOIN account_account aa '
+                'ON (aa.id = ml.account) '
+                'LEFT JOIN company_company c '
+                'ON (c.id = aa.company) '
+            'WHERE a.type != \'view\' '
+                'AND a.id IN (' +
+                    ','.join(('%s',) * len(all_ids)) + ') '
+                'AND ' + line_query + ' '
+                'AND a.active '
+            'GROUP BY a.id, c.currency', all_ids)
         account_sum = {}
         id2currency = {}
         for account_id, sum, currency_id in cursor.fetchall():
@@ -199,24 +198,24 @@ class Account(ModelSQL, ModelView):
             id2account[account.id] = account
 
         line_query = Line.query_get()
-        cursor.execute('SELECT a.id, ' \
-                    'SUM(COALESCE(l.' + name + ', 0)), ' \
-                    'c.currency ' \
-                'FROM analytic_account_account a ' \
-                    'LEFT JOIN analytic_account_line l ' \
-                    'ON (a.id = l.account) ' \
-                    'LEFT JOIN account_move_line ml ' \
-                    'ON (ml.id = l.move_line) ' \
-                    'LEFT JOIN account_account aa ' \
-                    'ON (aa.id = ml.account) ' \
-                    'LEFT JOIN company_company c ' \
-                    'ON (c.id = aa.company) ' \
-                'WHERE a.type != \'view\' ' \
-                    'AND a.id IN (' + \
-                        ','.join(('%s',) * len(ids)) + ') ' \
-                    'AND ' + line_query + ' ' \
-                    'AND a.active ' \
-                'GROUP BY a.id, c.currency', ids)
+        cursor.execute('SELECT a.id, '
+                'SUM(COALESCE(l.' + name + ', 0)), '
+                'c.currency '
+            'FROM analytic_account_account a '
+                'LEFT JOIN analytic_account_line l '
+                'ON (a.id = l.account) '
+                'LEFT JOIN account_move_line ml '
+                'ON (ml.id = l.move_line) '
+                'LEFT JOIN account_account aa '
+                'ON (aa.id = ml.account) '
+                'LEFT JOIN company_company c '
+                'ON (c.id = aa.company) '
+            'WHERE a.type != \'view\' '
+                'AND a.id IN (' +
+                    ','.join(('%s',) * len(ids)) + ') '
+                'AND ' + line_query + ' '
+                'AND a.active '
+            'GROUP BY a.id, c.currency', ids)
 
         id2currency = {}
         for account_id, sum, currency_id in cursor.fetchall():
@@ -325,7 +324,6 @@ class OpenChartAccount(Wizard):
 class AccountSelection(ModelSQL, ModelView):
     'Analytic Account Selection'
     __name__ = 'analytic_account.account.selection'
-    _rec_name = 'id'
 
     accounts = fields.Many2Many(
             'analytic_account.account-analytic_account.account.selection',
@@ -334,15 +332,17 @@ class AccountSelection(ModelSQL, ModelView):
     @classmethod
     def __setup__(cls):
         super(AccountSelection, cls).__setup__()
-        cls._constraints += [
-            ('check_root', 'root_account'),
-            ]
         cls._error_messages.update({
-                'root_account': 'Can not have many accounts with the same ' \
-                    'root or a missing mandatory root account!',
+                'root_account': ('Can not have many accounts with the same '
+                    'root or a missing mandatory root account on "%s".'),
                 })
 
     @classmethod
+    def validate(cls, selections):
+        super(AccountSelection, cls).validate(selections)
+        cls.check_root(selections)
+
+    @classmethod
     def check_root(cls, selections):
         "Check Root"
         Account = Pool().get('analytic_account.account')
@@ -355,14 +355,14 @@ class AccountSelection(ModelSQL, ModelView):
             roots = []
             for account in selection.accounts:
                 if account.root.id in roots:
-                    return False
+                    cls.raise_user_error('root_account', (account.rec_name,))
                 roots.append(account.root.id)
             if Transaction().user:  # Root can by pass
                 for account in root_accounts:
                     if account.mandatory:
                         if not account.id in roots:
-                            return False
-        return True
+                            cls.raise_user_error('root_account',
+                                (account.rec_name,))
 
 
 class AccountAccountSelection(ModelSQL):
diff --git a/account.xml b/account.xml
index 5237543..04c21bf 100644
--- a/account.xml
+++ b/account.xml
@@ -9,78 +9,18 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="account_view_form">
             <field name="model">analytic_account.account</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="Analytic Account" col="6">
-                    <label name="name"/>
-                    <field name="name"/>
-                    <label name="code"/>
-                    <field name="code"/>
-                    <label name="active"/>
-                    <field name="active" xexpand="0" width="100"/>
-                    <notebook colspan="6">
-                        <page string="General Information" id="general">
-                            <label name="type"/>
-                            <field name="type"/>
-                            <label name="display_balance"/>
-                            <field name="display_balance"/>
-                            <label name="root"/>
-                            <field name="root"/>
-                            <label name="parent"/>
-                            <field name="parent"/>
-                            <label name="company"/>
-                            <field name="company"/>
-                            <label name="currency"/>
-                            <field name="currency"/>
-                            <label name="mandatory"/>
-                            <field name="mandatory"/>
-                        </page>
-                        <page string="Notes" id="notes">
-                            <field name="note"/>
-                        </page>
-                    </notebook>
-                    <group colspan="6" col="2" id="state">
-                        <label name="state"/>
-                        <field name="state"/>
-                    </group>
-                </form>
-                ]]>
-            </field>
+            <field name="name">account_form</field>
         </record>
         <record model="ir.ui.view" id="account_view_tree">
             <field name="model">analytic_account.account</field>
             <field name="type">tree</field>
             <field name="field_childs">childs</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="Analytic Accounts">
-                    <field name="rec_name"/>
-                    <field name="company"/>
-                    <field name="type"/>
-                    <field name="active" tree_invisible="1"/>
-                    <field name="name" tree_invisible="1"/>
-                    <field name="code" tree_invisible="1"/>
-                    <field name="parent" tree_invisible="1"/>
-                    <field name="childs" tree_invisible="1"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">account_tree</field>
         </record>
         <record model="ir.ui.view" id="account_view_list">
             <field name="model">analytic_account.account</field>
             <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="Analytic Accounts">
-                    <field name="rec_name"/>
-                    <field name="company"/>
-                    <field name="type"/>
-                    <field name="active" tree_invisible="1"/>
-                    <field name="name" tree_invisible="1"/>
-                    <field name="code" tree_invisible="1"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">account_list</field>
         </record>
 
         <record model="ir.action.act_window" id="act_account_tree">
@@ -124,18 +64,7 @@ this repository contains the full copyright notices and license terms. -->
             <field name="type">tree</field>
             <field name="field_childs">childs</field>
             <field name="priority" eval="20"/>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="Analytic Accounts" keyword_open="1">
-                    <field name="name"/>
-                    <field name="code"/>
-                    <field name="debit"/>
-                    <field name="credit"/>
-                    <field name="balance"/>
-                    <field name="currency"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">account_tree2</field>
         </record>
         <record model="ir.action.act_window" id="act_account_tree2">
             <field name="name">Analytic Accounts</field>
@@ -180,25 +109,14 @@ this repository contains the full copyright notices and license terms. -->
             <field name="global_p" eval="True"/>
         </record>
         <record model="ir.rule" id="rule_account1">
-            <field name="field" search="[('name', '=', 'company'), ('model.model', '=', 'analytic_account.account')]"/>
-            <field name="operator">in</field>
-            <field name="operand">User/Current Companies</field>
+            <field name="domain">[('company', 'in', [c.id for c in user.companies])]</field>
             <field name="rule_group" ref="rule_group_account"/>
         </record>
 
         <record model="ir.ui.view" id="open_chart_start_view_form">
             <field name="model">analytic_account.open_chart.start</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="Open Chart of Analytic Accounts">
-                    <label name="start_date"/>
-                    <field name="start_date"/>
-                    <label name="end_date"/>
-                    <field name="end_date"/>
-                </form>
-                ]]>
-            </field>
+            <field name="name">open_chart_start_form</field>
         </record>
     </data>
 </tryton>
diff --git a/line.py b/line.py
index 4746014..123500c 100644
--- a/line.py
+++ b/line.py
@@ -41,15 +41,14 @@ class Line(ModelSQL, ModelView):
         cls._sql_constraints += [
             ('credit_debit',
                 'CHECK((credit * debit = 0.0) AND (credit + debit >= 0.0))',
-                'Wrong credit/debit values!'),
-            ]
-        cls._constraints += [
-            ('check_account', 'line_on_view_inactive_account'),
+                'Wrong credit/debit values.'),
             ]
         cls._error_messages.update({
-            'line_on_view_inactive_account': 'You can not create move line\n' \
-                    'on view/inactive account!',
-            })
+                'line_on_view_account': ('You can not create a move line using '
+                    'view account "%s".'),
+                'line_on_inactive_account': ('You can not create a move line '
+                    'using inactive account "%s".'),
+                })
         cls._order.insert(0, ('date', 'ASC'))
 
     @classmethod
@@ -97,21 +96,28 @@ class Line(ModelSQL, ModelView):
         if Transaction().context.get('start_date'):
             # Check start_date
             time.strptime(str(Transaction().context['start_date']), '%Y-%m-%d')
-            res += ' AND ' + obj + '.date >= date(\'' + \
-                    str(Transaction().context['start_date']) + '\')'
+            res += (' AND ' + obj + '.date >= date(\''
+                + str(Transaction().context['start_date']) + '\')')
         if Transaction().context.get('end_date'):
             # Check end_date
             time.strptime(str(Transaction().context['end_date']), '%Y-%m-%d')
-            res += ' AND ' + obj + '.date <= date(\'' + \
-                    str(Transaction().context['end_date']) + '\')'
+            res += (' AND ' + obj + '.date <= date(\''
+                + str(Transaction().context['end_date']) + '\')')
         return res
 
+    @classmethod
+    def validate(cls, lines):
+        super(Line, cls).validate(lines)
+        for line in lines:
+            line.check_account()
+
     def check_account(self):
         if self.account.type == 'view':
-            return False
+            self.raise_user_error('line_on_view_account',
+                (self.account.rec_name,))
         if not self.account.active:
-            return False
-        return True
+            self.raise_user_error('line_on_inactive_account',
+                (self.account.rec_name,))
 
 
 class MoveLine(ModelSQL, ModelView):
diff --git a/line.xml b/line.xml
index 6fbd451..17add8c 100644
--- a/line.xml
+++ b/line.xml
@@ -6,58 +6,12 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="line_view_form">
             <field name="model">analytic_account.line</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="Analytic Line">
-                    <label name="name"/>
-                    <field name="name"/>
-                    <label name="active"/>
-                    <field name="active" xexpand="0" width="100"/>
-                    <notebook colspan="4">
-                        <page string="General Information" id="general">
-                            <label name="account"/>
-                            <field name="account"/>
-                            <label name="date"/>
-                            <field name="date"/>
-                            <label name="reference"/>
-                            <field name="reference"/>
-                            <label name="party"/>
-                            <field name="party"/>
-                            <label name="journal"/>
-                            <field name="journal"/>
-                            <label name="move_line"/>
-                            <field name="move_line"/>
-                            <label name="debit"/>
-                            <field name="debit"/>
-                            <label name="credit"/>
-                            <field name="credit"/>
-                            <label name="currency"/>
-                            <field name="currency"/>
-                        </page>
-                    </notebook>
-                </form>
-                ]]>
-            </field>
+            <field name="name">line_form</field>
         </record>
         <record model="ir.ui.view" id="line_view_tree">
             <field name="model">analytic_account.line</field>
             <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="Analytic Lines" editable="top">
-                    <field name="move_line"/>
-                    <field name="journal"/>
-                    <field name="name"/>
-                    <field name="reference"/>
-                    <field name="date"/>
-                    <field name="party"/>
-                    <field name="account"/>
-                    <field name="debit"/>
-                    <field name="credit"/>
-                    <field name="currency"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">line_tree</field>
         </record>
         <record model="ir.action.act_window" id="act_line_form">
             <field name="name">Analytic Lines</field>
@@ -104,18 +58,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="move_line_view_form">
             <field name="model">account.move.line</field>
             <field name="inherit" ref="account.move_line_view_form"/>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <data>
-                    <xpath expr="/form/notebook/page[@name='tax_lines']"
-                        position="after">
-                        <page string="Analytic" col="1" id="analytic">
-                            <field name="analytic_lines"/>
-                        </page>
-                    </xpath>
-                </data>
-                ]]>
-            </field>
+            <field name="name">move_line_form</field>
         </record>
 
     </data>
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index a5ea9d1..8686249 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -5,26 +5,20 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
-"Не може да имате много сметки с един и същи родител или да липсва родителска"
-" сметка!"
 
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "Не може да създавате взаимно вложени сметки!"
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values."
+msgstr ""
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "Грешни стойности за кредит/дебит!"
+msgid "You can not create a move line using inactive account \"%s\"."
+msgstr ""
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
+msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
-"Не може да създавате ред от движение\n"
-"за изглед/неактивна сметка!"
 
 msgctxt "field:account.invoice.line,analytic_accounts:"
 msgid "Analytic Accounts"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 8daf2f1..ab57969 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -5,26 +5,22 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
-"No podeu tenir varis comptes amb el mateix compte arrel o falta un compte "
-"arrel obligatori."
+"No es poden tenir molts comptes amb la mateixa arrel o sense un compte arrel"
+" obligatori a \"%s\"."
 
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "No podeu crear comptes recursius."
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values."
+msgstr "Valors d'haver/deure erronis."
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "Els valors haver/deure són incorrectes."
+msgid "You can not create a move line using inactive account \"%s\"."
+msgstr "No podeu crear una línia de moviment utilitzant un compte \"%s\" inactiu."
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
-msgstr ""
-"No podeu crear un apunt\n"
-"en un compte vista/inactiva."
+msgid "You can not create a move line using view account \"%s\"."
+msgstr "No podeu crear un apunt utilitzant el compte de vista \"%s\"."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
@@ -68,7 +64,7 @@ msgstr "Moneda"
 
 msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr "Dígits de la moneda"
+msgstr "Decimals de la moneda"
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
@@ -199,7 +195,7 @@ msgstr "Compte"
 
 msgctxt "field:analytic_account.line,active:"
 msgid "Active"
-msgstr "Activa"
+msgstr "Actiu"
 
 msgctxt "field:analytic_account.line,create_date:"
 msgid "Create Date"
@@ -219,7 +215,7 @@ msgstr "Moneda"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Dígits de la moneda"
+msgstr "Decimals de la moneda"
 
 msgctxt "field:analytic_account.line,date:"
 msgid "Date"
@@ -408,7 +404,7 @@ msgstr "Informació general"
 
 msgctxt "view:analytic_account.open_chart.start:"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Obre pla analític"
+msgstr "Obre el pla analític"
 
 msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index b5dc2a0..214af49 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -5,21 +5,19 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
 
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values."
 msgstr ""
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
+msgid "You can not create a move line using inactive account \"%s\"."
 msgstr ""
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
+msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
 msgctxt "field:account.move.line,analytic_lines:"
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 417686a..bc486a9 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -2,47 +2,25 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.statement.line:"
-msgid "Amount (%s) greater than the amount to pay of invoice!"
-msgstr "Der eingegebene Betrag (%s) ist größer als der Rechnungsbetrag!"
-
-msgctxt "error:account.statement.line:"
-msgid ""
-"Credit or debit account on journal is the same than the statement line "
-"account!"
-msgstr ""
-"Haben- oder Sollkonto im Journal ist das selbe Konto wie das des "
-"Zahlungspostens!"
-
-msgctxt "error:account.statement.line:"
-msgid "Please provide debit and credit account on statement journal."
-msgstr "Bitte Soll- und Habenkonto im Journal Zahlungsverkehr angeben."
-
-msgctxt "error:account.statement:"
-msgid "End Balance must be %s!"
-msgstr "Endsaldo muss %s sein!"
-
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
-"Mehrere Konten zum selben Wurzelkonto nicht möglich oder erforderliches "
-"Wurzelkonto fehlt!"
+"Es kann nicht mehrere Konten mit demselben Wurzelkonto geben oder es fehlt "
+"ein erforderliches Wurzelkonto für \"%s\"."
 
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "Konten können nicht rekursiv angelegt werden!"
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values."
+msgstr "Falsche Haben/Soll-Werte."
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "Falsche Haben/Soll-Werte!"
+msgid "You can not create a move line using inactive account \"%s\"."
+msgstr "Buchungszeile kann nicht angelegt werden mit inaktivem Konto \"%s\"."
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
-msgstr "Keine Berechtigung für die Erstellung von Buchungszeilen!"
+msgid "You can not create a move line using view account \"%s\"."
+msgstr "Buchungszeile kann nicht angelegt werden mit Kontosicht \"%s\"."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
@@ -438,7 +416,7 @@ msgstr "Kostenstelle Zeilen"
 
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
-msgstr "Konto öffnen"
+msgstr "Konto"
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index d10d07e..e7d60de 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -5,26 +5,23 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
-"¡No puede tener varias cuentas con la misma cuenta raiz o falta una cuenta "
-"raiz obligatoria!"
-
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "¡No puede crear cuentas recursivas!"
+"No se puede tener muchos cuentas con la misma raíz o sin una cuenta raíz "
+"obligatoria en «%s»."
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "¡Los valores debe/haber son incorrectos!"
+msgid "Wrong credit/debit values."
+msgstr "Valores de haber/debe erróneos."
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
+msgid "You can not create a move line using inactive account \"%s\"."
 msgstr ""
-"¡No puede crear una linea de asiento\n"
-"en una cuenta vista/inactiva!"
+"No puede crear una línea de movimiento usando una cuenta inactiva «%s»."
+
+msgctxt "error:analytic_account.line:"
+msgid "You can not create a move line using view account \"%s\"."
+msgstr "No puede crear un apunte utilizando la cuenta de vista «%s»."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
@@ -68,7 +65,7 @@ msgstr "Divisa"
 
 msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr "Decimales de la divisa"
+msgstr "Dígitos de divisa"
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
@@ -76,7 +73,7 @@ msgstr "Debe"
 
 msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
-msgstr "Mostrar balance"
+msgstr "Mostrar saldo"
 
 msgctxt "field:analytic_account.account,id:"
 msgid "ID"
@@ -219,7 +216,7 @@ msgstr "Divisa"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Decimales de la divisa"
+msgstr "Dígitos de divisa"
 
 msgctxt "field:analytic_account.line,date:"
 msgid "Date"
@@ -239,7 +236,7 @@ msgstr "Diario"
 
 msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
-msgstr "Linea de asiento contable"
+msgstr "Línea de asiento contable"
 
 msgctxt "field:analytic_account.line,name:"
 msgid "Name"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index cc9ef0d..45b50f8 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -5,24 +5,22 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
-"¡No se puede tener varias cuentas con la misma cuenta padre o tantas sin "
+"No puede tener varias cuentas con la misma cuenta padre o que les falte la "
 "cuenta padre!"
 
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "¡No se puede crear cuentas recursivas!"
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values."
+msgstr "Valores de haber/debe incorrectos!"
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "Valores erróneos de crédito/debito!"
+msgid "You can not create a move line using inactive account \"%s\"."
+msgstr "No puede crear una línea de asiento usando la cuenta inactiva \"%s\"."
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
-msgstr "No puede crearse línea de movimiento"
+msgid "You can not create a move line using view account \"%s\"."
+msgstr "No puede crear una línea de asiento usando la cuenta de vista \"%s\"."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
@@ -66,7 +64,7 @@ msgstr "Moneda"
 
 msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr "Dígitos de Moneda"
+msgstr "Decimales de Moneda"
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
@@ -217,7 +215,7 @@ msgstr "Moneda"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Dígitos de Moneda"
+msgstr "Decimales de Moneda"
 
 msgctxt "field:analytic_account.line,date:"
 msgid "Date"
@@ -233,11 +231,11 @@ msgstr "ID"
 
 msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
-msgstr "Diario"
+msgstr "Libro Diario"
 
 msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
-msgstr "Linea de Movimiento de Cuenta"
+msgstr "Línea de Asiento"
 
 msgctxt "field:analytic_account.line,name:"
 msgid "Name"
@@ -294,7 +292,7 @@ msgstr "Línea Analítica"
 
 msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
-msgstr "Abrir Plan Contable"
+msgstr "Abrir Plan de Cuentas"
 
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
@@ -318,7 +316,7 @@ msgstr "Abrir Cuenta"
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir Plan de Cuentas Analiticas"
+msgstr "Abrir Plan de Cuentas Analíticas"
 
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
@@ -334,7 +332,7 @@ msgstr "Cuenta Analítica"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir Plan de Cuentas Analiticas"
+msgstr "Abrir Plan de Cuentas Analíticas"
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
@@ -410,7 +408,7 @@ msgstr "Información General"
 
 msgctxt "view:analytic_account.open_chart.start:"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir Plan de Cuentas Analiticas"
+msgstr "Abrir Plan de Cuentas Analíticas"
 
 msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 12485d2..1cf0188 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -5,26 +5,22 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
-"No puede tener varias cuentas con la misma cuenta raíz o falta una cuenta "
-"raíz obligatoria."
+"No se puede tener muchos cuentas con la misma raíz o sin una cuenta raíz "
+"obligatoria en \"%s\"."
 
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "No puede crear cuentas recursivas."
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values."
+msgstr "Valores de haber/debe erróneos."
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "Los valores debe/haber son incorrectos."
+msgid "You can not create a move line using inactive account \"%s\"."
+msgstr "No puede crear una línea de movimiento usando una cuenta inactiva \"%s\"."
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
-msgstr ""
-"No puede crear un apunte\n"
-"en una cuenta vista/inactiva."
+msgid "You can not create a move line using view account \"%s\"."
+msgstr "No puede crear un apunte utilizando la cuenta de vista \"%s\"."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 924c61f..8ee875d 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -5,50 +5,26 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
-"Vous ne pouvez pas avoir plusieurs comptes avec la même racine ou un compte "
-"avec une racine obligatoire!"
-
-msgctxt "error:analytic_account.account.selection:"
-msgid ""
-"Can not have many accounts with the same root or a missing mandatory root "
-"account!"
-msgstr ""
-"Vous ne pouvez pas avoir plusieurs comptes avec la même racine ou un compte "
-"avec une racine obligatoire!"
-
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "Vous ne pouvez pas créer des comptes récursifs!"
-
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "Vous ne pouvez pas créer des comptes récursifs!"
-
-msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "Valeurs crédit/débit incorrectes"
+"Plusieurs comptes ont la même racine ou il manque une racine obligatoire sur"
+" \"%s\"."
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "Valeurs crédit/débit incorrectes"
+msgid "Wrong credit/debit values."
+msgstr "Valeurs de débit/crédit incorrectes."
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
+msgid "You can not create a move line using inactive account \"%s\"."
 msgstr ""
-"Vous ne pouvez pas créer de mouvements\n"
-"sur des comptes inactifs ou de type vue!"
+"Vous ne pouvez pas crér une ligne de mouvement avec le compte inactif "
+"\"%s\"."
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
+msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
-"Vous ne pouvez pas créer de mouvements\n"
-"sur des comptes inactifs ou de type vue!"
+"Vous ne pouvez pas crér une ligne de mouvement avec le compte de type vue "
+"\"%s\"."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index 2adc0c0..973afc6 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -5,23 +5,19 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
 
-#, fuzzy
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr "U kunt geen rekeningen aanmaken die naar zichzelf verwijzen!"
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values."
+msgstr ""
 
-#, fuzzy
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr "Verkeerde debit/credit waarden!"
+msgid "You can not create a move line using inactive account \"%s\"."
+msgstr ""
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
+msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
 msgctxt "field:account.move.line,analytic_lines:"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 9d78ab1..5943a0c 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -5,158 +5,146 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
-"account!"
+"account on \"%s\"."
 msgstr ""
+"Нельзя использовать множество счетов с одинаковым корнем. Либо отсутствует "
+"обязательный корневой счет на \"%s\"."
 
-msgctxt "error:analytic_account.account:"
-msgid "You can not create recursive accounts!"
-msgstr ""
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values."
+msgstr "Некорректные значения кредит/дебет."
 
 msgctxt "error:analytic_account.line:"
-msgid "Wrong credit/debit values!"
-msgstr ""
+msgid "You can not create a move line using inactive account \"%s\"."
+msgstr "Вы не можете создать проводку используя неактивный счет \"%s\"."
 
 msgctxt "error:analytic_account.line:"
-msgid ""
-"You can not create move line\n"
-"on view/inactive account!"
-msgstr ""
+msgid "You can not create a move line using view account \"%s\"."
+msgstr "Вы не можете создать проводку используя счет для просмотра \"%s\"."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
-msgstr ""
+msgstr "Строки аналитики"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,active:"
 msgid "Active"
-msgstr "Действительный"
+msgstr "Действующий"
 
 msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
-msgstr ""
+msgstr "Баланс"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr "Подчиненый"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,code:"
 msgid "Code"
-msgstr "Код страны"
+msgstr "Код"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,company:"
 msgid "Company"
-msgstr "Учет.орг."
+msgstr "Организация"
 
 msgctxt "field:analytic_account.account,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:analytic_account.account,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
-msgstr ""
+msgstr "Кредит"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
-msgstr "Валюты"
+msgstr "Валюта"
 
 msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr ""
+msgstr "Кол-во цифр валюты"
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
-msgstr ""
+msgstr "Дебет"
 
 msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
-msgstr ""
+msgstr "Отображение баланса"
 
 msgctxt "field:analytic_account.account,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
-msgstr ""
+msgstr "Обязательный"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr "Наименование"
 
 msgctxt "field:analytic_account.account,note:"
 msgid "Note"
-msgstr ""
+msgstr "Комментарий"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
-msgstr "Основной"
+msgstr "Предок"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
 msgctxt "field:analytic_account.account,root:"
 msgid "Root"
-msgstr ""
+msgstr "Корневой"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,state:"
 msgid "State"
-msgstr "Статус"
+msgstr "Состояние"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr "Тип"
 
 msgctxt "field:analytic_account.account,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:analytic_account.account,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
-msgstr ""
+msgstr "Счет"
 
 msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
-#, fuzzy
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
@@ -166,283 +154,266 @@ msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
 msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
-msgstr ""
+msgstr "Счета в виде дерева"
 
 msgctxt "field:analytic_account.account.selection,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:analytic_account.account.selection,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt "field:analytic_account.account.selection,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
 msgctxt "field:analytic_account.account.selection,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:analytic_account.account.selection,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
 msgctxt "field:analytic_account.line,account:"
 msgid "Account"
-msgstr ""
+msgstr "Счет"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,active:"
 msgid "Active"
-msgstr "Действительный"
+msgstr "Действующий"
 
 msgctxt "field:analytic_account.line,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:analytic_account.line,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
-msgstr ""
+msgstr "Кредит"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
-msgstr "Валюты"
+msgstr "Валюта"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
-msgstr ""
+msgstr "Кол-во цифр валюты"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr "Дата"
 
 msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
-msgstr ""
+msgstr "Дебет"
 
 msgctxt "field:analytic_account.line,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
-msgstr ""
+msgstr "Журнал"
 
 msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
-msgstr ""
+msgstr "Строчка проводки"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr "Наименование"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,party:"
 msgid "Party"
-msgstr "Организации"
+msgstr "Контрагент"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr "Ссылка"
 
 msgctxt "field:analytic_account.line,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:analytic_account.line,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
-#, fuzzy
 msgctxt "field:analytic_account.open_chart.start,end_date:"
 msgid "End Date"
 msgstr "Дата окончания"
 
 msgctxt "field:analytic_account.open_chart.start,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Дата начала"
 
 msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
-msgstr ""
+msgstr "Счет аналитики"
 
 msgctxt ""
 "model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
-msgstr ""
+msgstr "Счет аналитики - Выбор счета аналитики"
 
 msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
-msgstr ""
+msgstr "Выбор счета аналитики"
 
 msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
-msgstr ""
+msgstr "Строка аналитики"
 
 msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
-msgstr ""
+msgstr "Открыть схему счетов"
 
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
-msgstr ""
+msgstr "Счета аналитики"
 
 msgctxt "model:ir.action,name:act_account_tree"
 msgid "Analytic Accounts"
-msgstr ""
+msgstr "Счета аналитики"
 
 msgctxt "model:ir.action,name:act_account_tree2"
 msgid "Analytic Accounts"
-msgstr ""
+msgstr "Счета аналитики"
 
 msgctxt "model:ir.action,name:act_line_form"
 msgid "Analytic Lines"
-msgstr ""
+msgstr "Строки аналитики"
 
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
-msgstr ""
+msgstr "Открыть счет"
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Открыть схему счетов аналитики"
 
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
-msgstr ""
+msgstr "Счета аналитики"
 
 msgctxt "model:ir.ui.menu,name:menu_account_tree"
 msgid "Analytic Accounts"
-msgstr ""
+msgstr "Счета аналитики"
 
 msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
-msgstr ""
+msgstr "Счета аналитики"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Открыть схему счетов аналитики"
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
-msgstr ""
+msgstr "Администрирование аналитики"
 
 msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
-msgstr ""
+msgstr "Кредит - Дебет"
 
 msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
-msgstr ""
+msgstr "Дебет - Кредит"
 
-#, fuzzy
 msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr "Закрыто"
 
-#, fuzzy
 msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Черновик"
 
 msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
-msgstr ""
+msgstr "Открытый"
 
-#, fuzzy
 msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
-msgstr "Нормально"
+msgstr "Обычный"
 
 msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
-msgstr ""
+msgstr "Корневой"
 
-#, fuzzy
 msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Просмотр"
 
 msgctxt "view:account.move.line:"
 msgid "Analytic"
-msgstr ""
+msgstr "Аналитика"
 
 msgctxt "view:account.move:"
 msgid "Analytic"
-msgstr ""
+msgstr "Аналитика"
 
 msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
-msgstr ""
+msgstr "Счет аналитики"
 
 msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
-msgstr ""
+msgstr "Счета аналитики"
 
 msgctxt "view:analytic_account.account:"
 msgid "General Information"
-msgstr ""
+msgstr "Основная информация"
 
-#, fuzzy
 msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Комментарии"
 
 msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
-msgstr ""
+msgstr "Строка аналитики"
 
 msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
-msgstr ""
+msgstr "Строки аналитики"
 
 msgctxt "view:analytic_account.line:"
 msgid "General Information"
-msgstr ""
+msgstr "Основная информация"
 
 msgctxt "view:analytic_account.open_chart.start:"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Открыть схему счетов аналитики"
 
-#, fuzzy
 msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Отменить"
 
-#, fuzzy
 msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr "Открыть"
diff --git a/setup.py b/setup.py
index 51833b2..b3149cb 100644
--- a/setup.py
+++ b/setup.py
@@ -36,16 +36,16 @@ setup(name='trytond_analytic_account',
     long_description=read('README'),
     author='Tryton',
     url='http://www.tryton.org/',
-    download_url="http://downloads.tryton.org/" + \
-        info.get('version', '0.0.1').rsplit('.', 1)[0] + '/',
+    download_url=("http://downloads.tryton.org/" +
+        info.get('version', '0.0.1').rsplit('.', 1)[0] + '/'),
     package_dir={'trytond.modules.analytic_account': '.'},
     packages=[
         'trytond.modules.analytic_account',
         'trytond.modules.analytic_account.tests',
         ],
     package_data={
-        'trytond.modules.analytic_account': info.get('xml', []) \
-            + ['tryton.cfg', 'locale/*.po'],
+        'trytond.modules.analytic_account': (info.get('xml', [])
+            + ['tryton.cfg', 'view/*.xml', 'locale/*.po']),
         },
     classifiers=[
         'Development Status :: 5 - Production/Stable',
@@ -56,6 +56,7 @@ setup(name='trytond_analytic_account',
         'Intended Audience :: Legal Industry',
         'License :: OSI Approved :: GNU General Public License (GPL)',
         'Natural Language :: Bulgarian',
+        'Natural Language :: Catalan',
         'Natural Language :: Czech',
         'Natural Language :: Dutch',
         'Natural Language :: English',
diff --git a/tryton.cfg b/tryton.cfg
index 164d7c2..f985701 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=2.6.0
+version=2.8.0
 depends:
     account
     company
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index 395d968..f9d7c8b 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
-Metadata-Version: 1.0
+Metadata-Version: 1.1
 Name: trytond-analytic-account
-Version: 2.6.0
+Version: 2.8.0
 Summary: Tryton module for analytic accounting
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.6/
+Download-URL: http://downloads.tryton.org/2.8/
 Description: trytond_analytic_account
         ========================
         
@@ -52,6 +52,7 @@ Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index e42584d..27bd141 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -30,4 +30,12 @@ trytond_analytic_account.egg-info/dependency_links.txt
 trytond_analytic_account.egg-info/entry_points.txt
 trytond_analytic_account.egg-info/not-zip-safe
 trytond_analytic_account.egg-info/requires.txt
-trytond_analytic_account.egg-info/top_level.txt
\ No newline at end of file
+trytond_analytic_account.egg-info/top_level.txt
+view/account_form.xml
+view/account_list.xml
+view/account_tree.xml
+view/account_tree2.xml
+view/line_form.xml
+view/line_tree.xml
+view/move_line_form.xml
+view/open_chart_start_form.xml
\ No newline at end of file
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 547c05c..339f1aa 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,5 +1,5 @@
-trytond_account >= 2.6, < 2.7
-trytond_company >= 2.6, < 2.7
-trytond_currency >= 2.6, < 2.7
-trytond_party >= 2.6, < 2.7
-trytond >= 2.6, < 2.7
\ No newline at end of file
+trytond_account >= 2.8, < 2.9
+trytond_company >= 2.8, < 2.9
+trytond_currency >= 2.8, < 2.9
+trytond_party >= 2.8, < 2.9
+trytond >= 2.8, < 2.9
\ No newline at end of file
diff --git a/view/account_form.xml b/view/account_form.xml
new file mode 100644
index 0000000..b6c569c
--- /dev/null
+++ b/view/account_form.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<form string="Analytic Account" col="6">
+    <label name="name"/>
+    <field name="name"/>
+    <label name="code"/>
+    <field name="code"/>
+    <label name="active"/>
+    <field name="active" xexpand="0" width="100"/>
+    <notebook colspan="6">
+        <page string="General Information" id="general">
+            <label name="type"/>
+            <field name="type"/>
+            <label name="display_balance"/>
+            <field name="display_balance"/>
+            <label name="root"/>
+            <field name="root"/>
+            <label name="parent"/>
+            <field name="parent"/>
+            <label name="company"/>
+            <field name="company"/>
+            <label name="currency"/>
+            <field name="currency"/>
+            <label name="mandatory"/>
+            <field name="mandatory"/>
+        </page>
+        <page string="Notes" id="notes">
+            <field name="note"/>
+        </page>
+    </notebook>
+    <group colspan="6" col="2" id="state">
+        <label name="state"/>
+        <field name="state"/>
+    </group>
+</form>
diff --git a/view/account_list.xml b/view/account_list.xml
new file mode 100644
index 0000000..7194de3
--- /dev/null
+++ b/view/account_list.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tree string="Analytic Accounts">
+    <field name="rec_name"/>
+    <field name="company"/>
+    <field name="type"/>
+    <field name="active" tree_invisible="1"/>
+    <field name="name" tree_invisible="1"/>
+    <field name="code" tree_invisible="1"/>
+</tree>
diff --git a/view/account_tree.xml b/view/account_tree.xml
new file mode 100644
index 0000000..bdabccf
--- /dev/null
+++ b/view/account_tree.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tree string="Analytic Accounts">
+    <field name="rec_name"/>
+    <field name="company"/>
+    <field name="type"/>
+    <field name="active" tree_invisible="1"/>
+    <field name="name" tree_invisible="1"/>
+    <field name="code" tree_invisible="1"/>
+    <field name="parent" tree_invisible="1"/>
+    <field name="childs" tree_invisible="1"/>
+</tree>
diff --git a/view/account_tree2.xml b/view/account_tree2.xml
new file mode 100644
index 0000000..9468cd9
--- /dev/null
+++ b/view/account_tree2.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tree string="Analytic Accounts" keyword_open="1">
+    <field name="name"/>
+    <field name="code"/>
+    <field name="debit"/>
+    <field name="credit"/>
+    <field name="balance"/>
+    <field name="currency"/>
+</tree>
diff --git a/view/line_form.xml b/view/line_form.xml
new file mode 100644
index 0000000..5ec3569
--- /dev/null
+++ b/view/line_form.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<form string="Analytic Line">
+    <label name="name"/>
+    <field name="name"/>
+    <label name="active"/>
+    <field name="active" xexpand="0" width="100"/>
+    <notebook colspan="4">
+        <page string="General Information" id="general">
+            <label name="account"/>
+            <field name="account"/>
+            <label name="date"/>
+            <field name="date"/>
+            <label name="reference"/>
+            <field name="reference"/>
+            <label name="party"/>
+            <field name="party"/>
+            <label name="journal"/>
+            <field name="journal"/>
+            <label name="move_line"/>
+            <field name="move_line"/>
+            <label name="debit"/>
+            <field name="debit"/>
+            <label name="credit"/>
+            <field name="credit"/>
+            <label name="currency"/>
+            <field name="currency"/>
+        </page>
+    </notebook>
+</form>
diff --git a/view/line_tree.xml b/view/line_tree.xml
new file mode 100644
index 0000000..f25c0b7
--- /dev/null
+++ b/view/line_tree.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tree string="Analytic Lines" editable="top">
+    <field name="move_line"/>
+    <field name="journal"/>
+    <field name="name"/>
+    <field name="reference"/>
+    <field name="date"/>
+    <field name="party"/>
+    <field name="account"/>
+    <field name="debit"/>
+    <field name="credit"/>
+    <field name="currency"/>
+</tree>
diff --git a/view/move_line_form.xml b/view/move_line_form.xml
new file mode 100644
index 0000000..b25fcae
--- /dev/null
+++ b/view/move_line_form.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<data>
+    <xpath expr="/form/notebook/page[@name='tax_lines']"
+        position="after">
+        <page string="Analytic" col="1" id="analytic">
+            <field name="analytic_lines"/>
+        </page>
+    </xpath>
+</data>
diff --git a/view/open_chart_start_form.xml b/view/open_chart_start_form.xml
new file mode 100644
index 0000000..9bfa5dd
--- /dev/null
+++ b/view/open_chart_start_form.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<form string="Open Chart of Analytic Accounts">
+    <label name="start_date"/>
+    <field name="start_date"/>
+    <label name="end_date"/>
+    <field name="end_date"/>
+</form>
commit 3861ad2559ac7c485c2d01da5ec65f18dae2eecb
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Oct 23 19:53:27 2012 +0200

    Adding upstream version 2.6.0.

diff --git a/CHANGELOG b/CHANGELOG
index 43b2426..fa16e90 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
-Version 2.4.1 - 2012-04-24
-* Restore es_AR translation
+Version 2.6.0 - 2012-10-22
+* Bug fixes (see mercurial logs for details)
 
 Version 2.4.0 - 2012-04-23
 * Bug fixes (see mercurial logs for details)
diff --git a/MANIFEST.in b/MANIFEST.in
index 7f5d5fd..44969c7 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -4,6 +4,7 @@ include TODO
 include COPYRIGHT
 include CHANGELOG
 include LICENSE
+include tryton.cfg
 include *.xml
 include *.odt
 include locale/*.po
diff --git a/PKG-INFO b/PKG-INFO
index fe85d0a..e25d66b 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,18 +1,48 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 2.4.1
-Summary: Financial and Accounting Module with:
-    - Analytic accounting with any number of analytic charts
-
-And with report:
-    - Analytic account balance
-
+Version: 2.6.0
+Summary: Tryton module for analytic accounting
 Home-page: http://www.tryton.org/
-Author: B2CK
-Author-email: info at b2ck.com
+Author: Tryton
+Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.4/
-Description: UNKNOWN
+Download-URL: http://downloads.tryton.org/2.6/
+Description: trytond_analytic_account
+        ========================
+        
+        The analytic_account module of the Tryton application platform.
+        
+        Installing
+        ----------
+        
+        See INSTALL
+        
+        Support
+        -------
+        
+        If you encounter any problems with Tryton, please don't hesitate to ask
+        questions on the Tryton bug tracker, mailing list, wiki or IRC channel:
+        
+          http://bugs.tryton.org/
+          http://groups.tryton.org/
+          http://wiki.tryton.org/
+          irc://irc.freenode.net/tryton
+        
+        License
+        -------
+        
+        See LICENSE
+        
+        Copyright
+        ---------
+        
+        See COPYRIGHT
+        
+        
+        For more information please visit the Tryton web site:
+        
+          http://www.tryton.org/
+        
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
diff --git a/README b/README
index 0003e0b..018f4a0 100644
--- a/README
+++ b/README
@@ -2,7 +2,6 @@ trytond_analytic_account
 ========================
 
 The analytic_account module of the Tryton application platform.
-See __tryton__.py
 
 Installing
 ----------
diff --git a/__init__.py b/__init__.py
index 900c1d5..b42ec04 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,5 +1,21 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
 
+from trytond.pool import Pool
 from .account import *
 from .line import *
+
+
+def register():
+    Pool.register(
+        Account,
+        OpenChartAccountStart,
+        AccountSelection,
+        AccountAccountSelection,
+        Line,
+        MoveLine,
+        module='analytic_account', type_='model')
+    Pool.register(
+        OpenChartAccount,
+        OpenAccount,
+        module='analytic_account', type_='wizard')
diff --git a/__tryton__.py b/__tryton__.py
deleted file mode 100644
index 8e80c87..0000000
--- a/__tryton__.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-{
-    'name': 'Analytic Account',
-    'name_bg_BG': 'Аналитична сметка',
-    'name_ca_ES': 'Comptabilitat analítica',
-    'name_de_DE': 'Kostenstellen',
-    'name_es_AR': 'Contabilidad Analítica',
-    'name_es_CO': 'Contabilidad Analítica',
-    'name_es_ES': 'Contabilidad analítica',
-    'name_fr_FR': 'Comptabilité analytique',
-    'version': '2.4.1',
-    'author': 'B2CK',
-    'email': 'info at b2ck.com',
-    'website': 'http://www.tryton.org/',
-    'description': '''Financial and Accounting Module with:
-    - Analytic accounting with any number of analytic charts
-
-And with report:
-    - Analytic account balance
-''',
-    'description_bg_BG': '''Финансов и счетоводен модул с:
-    - Аналитично счетоводство с произволен брой аналитични графики
-
-Прилежащи справки:
-    - Баланс на аналитична сметка
-''',
-    'description_ca_ES': '''Mòdul financer i comptable amb:
-    - Comptabilitat analítica amb plans analítics il·limitats
-
-I amb informes:
-    - Balanç comptable analític
-''',
-    'description_de_DE': '''Modul für Buchhhaltung mit:
-    - Kostenstellen mit einer beliebigen Anzahl von Tabellen
-
-Zugehörige Berichte:
-    - Plan für Kostenstellen
-''',
-    'description_es_AR': '''Módulo financiero y de contabilidad con:
-    - Contabilidad analítica con cualquier cantidad de planes analíticos
-
-Y con informes:
-    - Balance contable analítico
-''',
-    'description_es_CO': '''Módulo Financiero y de Contabilidad con:
-    - Contabilidad Analítica con cualquier cantidad de planes analíticos
-
-Y con reportes:
-    - Balance Contable Analítico
-''',
-    'description_es_ES': '''Módulo financiero y contable con:
-    - Contabilidad analítica con planes analíticos ilimitados
-
-Y con informes:
-    - Balance contable analítico
-''',
-    'description_fr_FR': '''Module comptable et financier, avec:
-    - Comptabilité analytique autorisant un nombre arbitraire d'axes.
-
-Et le rapport:
-    - Balance comptable analytique
-''',
-    'depends': [
-        'ir',
-        'company',
-        'currency',
-        'account',
-        'party',
-        'res',
-    ],
-    'xml': [
-        'analytic_account.xml',
-        'account.xml',
-        'line.xml',
-    ],
-    'translation': [
-        'locale/bg_BG.po',
-        'locale/ca_ES.po',
-        'locale/cs_CZ.po',
-        'locale/de_DE.po',
-        'locale/es_AR.po',
-        'locale/es_CO.po',
-        'locale/es_ES.po',
-        'locale/fr_FR.po',
-        'locale/nl_NL.po',
-        'locale/ru_RU.po',
-    ],
-}
diff --git a/account.py b/account.py
index ca6457a..7572440 100644
--- a/account.py
+++ b/account.py
@@ -8,19 +8,20 @@ from trytond.pyson import Eval, PYSONEncoder
 from trytond.transaction import Transaction
 from trytond.pool import Pool
 
+__all__ = ['Account', 'OpenChartAccountStart', 'OpenChartAccount',
+    'AccountSelection', 'AccountAccountSelection']
+
 
 class Account(ModelSQL, ModelView):
     'Analytic Account'
-    _name = 'analytic_account.account'
-    _description = __doc__
-
+    __name__ = 'analytic_account.account'
     name = fields.Char('Name', required=True, translate=True, select=True)
     code = fields.Char('Code', select=True)
     active = fields.Boolean('Active', select=True)
     company = fields.Many2One('company.company', 'Company')
     currency = fields.Many2One('currency.currency', 'Currency', required=True)
     currency_digits = fields.Function(fields.Integer('Currency Digits',
-        on_change_with=['currency']), 'get_currency_digits')
+        on_change_with=['currency']), 'on_change_with_currency_digits')
     type = fields.Selection([
         ('root', 'Root'),
         ('view', 'View'),
@@ -65,68 +66,70 @@ class Account(ModelSQL, ModelView):
             },
         depends=['type'])
 
-    def __init__(self):
-        super(Account, self).__init__()
-        self._constraints += [
+    @classmethod
+    def __setup__(cls):
+        super(Account, cls).__setup__()
+        cls._constraints += [
             ('check_recursion', 'recursive_accounts'),
-        ]
-        self._error_messages.update({
-            'recursive_accounts': 'You can not create recursive accounts!',
-        })
-        self._order.insert(0, ('code', 'ASC'))
+            ]
+        cls._error_messages.update({
+                'recursive_accounts': 'You can not create recursive accounts!',
+                })
+        cls._order.insert(0, ('code', 'ASC'))
 
-    def default_active(self):
+    @staticmethod
+    def default_active():
         return True
 
-    def default_company(self):
+    @staticmethod
+    def default_company():
         return Transaction().context.get('company')
 
-    def default_currency(self):
-        company_obj = Pool().get('company.company')
+    @staticmethod
+    def default_currency():
+        Company = Pool().get('company.company')
         if Transaction().context.get('company'):
-            company = company_obj.browse(Transaction().context['company'])
+            company = Company(Transaction().context['company'])
             return company.currency.id
 
-    def default_type(self):
+    @staticmethod
+    def default_type():
         return 'normal'
 
-    def default_state(self):
+    @staticmethod
+    def default_state():
         return 'draft'
 
-    def default_display_balance(self):
+    @staticmethod
+    def default_display_balance():
         return 'credit-debit'
 
-    def default_mandatory(self):
+    @staticmethod
+    def default_mandatory():
         return False
 
-    def on_change_with_currency_digits(self, vals):
-        currency_obj = Pool().get('currency.currency')
-        if vals.get('currency'):
-            currency = currency_obj.browse(vals['currency'])
-            return currency.digits
+    def on_change_with_currency_digits(self, name=None):
+        if self.currency:
+            return self.currency.digits
         return 2
 
-    def get_currency_digits(self, ids, name):
+    @classmethod
+    def get_balance(cls, accounts, name):
         res = {}
-        for account in self.browse(ids):
-            res[account.id] = account.currency.digits
-        return res
-
-    def get_balance(self, ids, name):
-        res = {}
-        line_obj = Pool().get('analytic_account.line')
-        currency_obj = Pool().get('currency.currency')
+        Line = Pool().get('analytic_account.line')
+        Currency = Pool().get('currency.currency')
         cursor = Transaction().cursor
 
-        child_ids = self.search([('parent', 'child_of', ids)])
-        all_ids = {}.fromkeys(ids + child_ids).keys()
+        ids = [a.id for a in accounts]
+        childs = cls.search([('parent', 'child_of', ids)])
+        all_ids = {}.fromkeys(ids + [c.id for c in childs]).keys()
 
         id2account = {}
-        accounts = self.browse(all_ids)
-        for account in accounts:
+        all_accounts = cls.browse(all_ids)
+        for account in all_accounts:
             id2account[account.id] = account
 
-        line_query = line_obj.query_get()
+        line_query = Line.query_get()
         cursor.execute('SELECT a.id, ' \
                     'SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))), ' \
                     'c.currency ' \
@@ -154,46 +157,48 @@ class Account(ModelSQL, ModelView):
                 if currency_id in id2currency:
                     currency = id2currency[currency_id]
                 else:
-                    currency = currency_obj.browse(currency_id)
+                    currency = Currency(currency_id)
                     id2currency[currency.id] = currency
-                account_sum[account_id] += currency_obj.compute(currency, sum,
+                account_sum[account_id] += Currency.compute(currency, sum,
                         id2account[account_id].currency, round=True)
             else:
-                account_sum[account_id] += currency_obj.round(
-                        id2account[account_id].currency, sum)
+                account_sum[account_id] += \
+                    id2account[account_id].currency.round(sum)
 
         for account_id in ids:
             res.setdefault(account_id, Decimal('0.0'))
-            child_ids = self.search([
-                ('parent', 'child_of', [account_id]),
-                ])
+            childs = cls.search([
+                    ('parent', 'child_of', [account_id]),
+                    ])
             to_currency = id2account[account_id].currency
-            for child_id in child_ids:
-                from_currency = id2account[child_id].currency
-                res[account_id] += currency_obj.compute(from_currency,
-                        account_sum.get(child_id, Decimal('0.0')), to_currency,
+            for child in childs:
+                from_currency = id2account[child.id].currency
+                res[account_id] += Currency.compute(from_currency,
+                        account_sum.get(child.id, Decimal('0.0')), to_currency,
                         round=True)
-            res[account_id] = currency_obj.round(to_currency, res[account_id])
+            res[account_id] = to_currency.round(res[account_id])
             if id2account[account_id].display_balance == 'credit-debit':
                 res[account_id] = - res[account_id]
         return res
 
-    def get_credit_debit(self, ids, name):
+    @classmethod
+    def get_credit_debit(cls, accounts, name):
         res = {}
-        line_obj = Pool().get('analytic_account.line')
-        currency_obj = Pool().get('currency.currency')
+        pool = Pool()
+        Line = pool.get('analytic_account.line')
+        Currency = pool.get('currency.currency')
         cursor = Transaction().cursor
 
         if name not in ('credit', 'debit'):
             raise Exception('Bad argument')
 
         id2account = {}
-        accounts = self.browse(ids)
+        ids = [a.id for a in accounts]
         for account in accounts:
             res[account.id] = Decimal('0.0')
             id2account[account.id] = account
 
-        line_query = line_obj.query_get()
+        line_query = Line.query_get()
         cursor.execute('SELECT a.id, ' \
                     'SUM(COALESCE(l.' + name + ', 0)), ' \
                     'c.currency ' \
@@ -220,94 +225,85 @@ class Account(ModelSQL, ModelView):
                 if currency_id in id2currency:
                     currency = id2currency[currency_id]
                 else:
-                    currency = currency_obj.browse(currency_id)
+                    currency = Currency(currency_id)
                     id2currency[currency.id] = currency
-                res[account_id] += currency_obj.compute(currency, sum,
+                res[account_id] += Currency.compute(currency, sum,
                         id2account[account_id].currency, round=True)
             else:
-                res[account_id] += currency_obj.round(
-                        id2account[account_id].currency, sum)
+                res[account_id] += id2account[account_id].currency.round(sum)
         return res
 
-    def get_rec_name(self, ids, name):
-        if not ids:
-            return {}
-        res = {}
-        for account in self.browse(ids):
-            if account.code:
-                res[account.id] = account.code + ' - ' + unicode(account.name)
-            else:
-                res[account.id] = unicode(account.name)
-        return res
+    def get_rec_name(self, name):
+        if self.code:
+            return self.code + ' - ' + unicode(self.name)
+        else:
+            return unicode(self.name)
 
-    def search_rec_name(self, name, clause):
-        ids = self.search([('code',) + clause[1:]], limit=1)
-        if ids:
+    @classmethod
+    def search_rec_name(cls, name, clause):
+        accounts = cls.search([('code',) + clause[1:]], limit=1)
+        if accounts:
             return [('code',) + clause[1:]]
         else:
-            return [(self._rec_name,) + clause[1:]]
+            return [(cls._rec_name,) + clause[1:]]
 
-    def convert_view(self, tree):
+    @classmethod
+    def convert_view(cls, tree):
         res = tree.xpath('//field[@name=\'analytic_accounts\']')
         if not res:
             return
         element_accounts = res[0]
 
-        root_account_ids = self.search([
-            ('parent', '=', None),
-            ])
-        if not root_account_ids:
+        root_accounts = cls.search([
+                ('parent', '=', None),
+                ])
+        if not root_accounts:
             element_accounts.getparent().getparent().remove(
                     element_accounts.getparent())
             return
-        for account_id in root_account_ids:
+        for account in root_accounts:
             newelement = copy.copy(element_accounts)
             newelement.tag = 'label'
-            newelement.set('name', 'analytic_account_' + str(account_id))
+            newelement.set('name', 'analytic_account_' + str(account.id))
             element_accounts.addprevious(newelement)
             newelement = copy.copy(element_accounts)
-            newelement.set('name', 'analytic_account_' + str(account_id))
+            newelement.set('name', 'analytic_account_' + str(account.id))
             element_accounts.addprevious(newelement)
         parent = element_accounts.getparent()
         parent.remove(element_accounts)
 
-    def analytic_accounts_fields_get(self, field, fields_names=None):
+    @classmethod
+    def analytic_accounts_fields_get(cls, field, fields_names=None):
         res = {}
         if fields_names is None:
             fields_names = []
 
-        root_account_ids = self.search([
-            ('parent', '=', None),
-            ])
-        for account in self.browse(root_account_ids):
+        root_accounts = cls.search([
+                ('parent', '=', None),
+                ])
+        for account in root_accounts:
             name = 'analytic_account_' + str(account.id)
             if name in fields_names or not fields_names:
                 res[name] = field.copy()
                 res[name]['required'] = account.mandatory
                 res[name]['string'] = account.name
-                res[name]['relation'] = self._name
+                res[name]['relation'] = cls.__name__
                 res[name]['domain'] = PYSONEncoder().encode([
                     ('root', '=', account.id),
                     ('type', '=', 'normal')])
         return res
 
-Account()
-
 
 class OpenChartAccountStart(ModelView):
     'Open Chart of Accounts'
-    _name = 'analytic_account.open_chart.start'
-    _description = __doc__
+    __name__ = 'analytic_account.open_chart.start'
     start_date = fields.Date('Start Date')
     end_date = fields.Date('End Date')
 
-OpenChartAccountStart()
-
 
 class OpenChartAccount(Wizard):
     'Open Chart of Accounts'
-    _name = 'analytic_account.open_chart'
-
+    __name__ = 'analytic_account.open_chart'
     start = StateView('analytic_account.open_chart.start',
         'analytic_account.open_chart_start_view_form', [
             Button('Cancel', 'end', 'tryton-cancel'),
@@ -315,49 +311,46 @@ class OpenChartAccount(Wizard):
             ])
     open_ = StateAction('analytic_account.act_account_tree2')
 
-    def do_open_(self, session, action):
+    def do_open_(self, action):
         action['pyson_context'] = PYSONEncoder().encode({
-                'start_date': session.start.start_date,
-                'end_date': session.start.end_date,
+                'start_date': self.start.start_date,
+                'end_date': self.start.end_date,
                 })
         return action, {}
 
-    def transition_open_(self, session):
+    def transition_open_(self):
         return 'end'
 
-OpenChartAccount()
-
 
 class AccountSelection(ModelSQL, ModelView):
     'Analytic Account Selection'
-    _name = 'analytic_account.account.selection'
-    _description = __doc__
+    __name__ = 'analytic_account.account.selection'
     _rec_name = 'id'
 
     accounts = fields.Many2Many(
             'analytic_account.account-analytic_account.account.selection',
             'selection', 'account', 'Accounts')
 
-    def __init__(self):
-        super(AccountSelection, self).__init__()
-        self._constraints += [
+    @classmethod
+    def __setup__(cls):
+        super(AccountSelection, cls).__setup__()
+        cls._constraints += [
             ('check_root', 'root_account'),
-        ]
-        self._error_messages.update({
-            'root_account': 'Can not have many accounts with the same root ' \
-                    'or a missing mandatory root account!',
-        })
+            ]
+        cls._error_messages.update({
+                'root_account': 'Can not have many accounts with the same ' \
+                    'root or a missing mandatory root account!',
+                })
 
-    def check_root(self, ids):
+    @classmethod
+    def check_root(cls, selections):
         "Check Root"
-        account_obj = Pool().get('analytic_account.account')
+        Account = Pool().get('analytic_account.account')
 
-        root_account_ids = account_obj.search([
+        root_accounts = Account.search([
             ('parent', '=', None),
             ])
-        root_accounts = account_obj.browse(root_account_ids)
 
-        selections = self.browse(ids)
         for selection in selections:
             roots = []
             for account in selection.accounts:
@@ -371,17 +364,12 @@ class AccountSelection(ModelSQL, ModelView):
                             return False
         return True
 
-AccountSelection()
-
 
 class AccountAccountSelection(ModelSQL):
     'Analytic Account - Analytic Account Selection'
-    _name = 'analytic_account.account-analytic_account.account.selection'
-    _description = __doc__
+    __name__ = 'analytic_account.account-analytic_account.account.selection'
     _table = 'analytic_account_account_selection_rel'
     selection = fields.Many2One('analytic_account.account.selection',
             'Selection', ondelete='CASCADE', required=True, select=True)
     account = fields.Many2One('analytic_account.account', 'Account',
             ondelete='RESTRICT', required=True, select=True)
-
-AccountAccountSelection()
diff --git a/line.py b/line.py
index 6e7a170..4746014 100644
--- a/line.py
+++ b/line.py
@@ -9,21 +9,21 @@ from trytond.pyson import Eval, PYSONEncoder
 from trytond.transaction import Transaction
 from trytond.pool import Pool
 
+__all__ = ['Line', 'MoveLine', 'OpenAccount']
+
 
 class Line(ModelSQL, ModelView):
     'Analytic Line'
-    _name = 'analytic_account.line'
-    _description = __doc__
-
+    __name__ = 'analytic_account.line'
     name = fields.Char('Name', required=True)
     debit = fields.Numeric('Debit', digits=(16, Eval('currency_digits', 2)),
         required=True, depends=['currency_digits'])
     credit = fields.Numeric('Credit', digits=(16, Eval('currency_digits', 2)),
         required=True, depends=['currency_digits'])
     currency = fields.Function(fields.Many2One('currency.currency', 'Currency',
-        on_change_with=['move_line']), 'get_currency')
+        on_change_with=['move_line']), 'on_change_with_currency')
     currency_digits = fields.Function(fields.Integer('Currency Digits',
-        on_change_with=['move_line']), 'get_currency_digits')
+        on_change_with=['move_line']), 'on_change_with_currency_digits')
     account = fields.Many2One('analytic_account.account', 'Account',
             required=True, select=True, domain=[('type', '!=', 'view')])
     move_line = fields.Many2One('account.move.line', 'Account Move Line',
@@ -35,69 +35,60 @@ class Line(ModelSQL, ModelView):
     party = fields.Many2One('party.party', 'Party')
     active = fields.Boolean('Active', select=True)
 
-    def __init__(self):
-        super(Line, self).__init__()
-        self._sql_constraints += [
+    @classmethod
+    def __setup__(cls):
+        super(Line, cls).__setup__()
+        cls._sql_constraints += [
             ('credit_debit',
                 'CHECK((credit * debit = 0.0) AND (credit + debit >= 0.0))',
                 'Wrong credit/debit values!'),
-        ]
-        self._constraints += [
+            ]
+        cls._constraints += [
             ('check_account', 'line_on_view_inactive_account'),
-        ]
-        self._error_messages.update({
+            ]
+        cls._error_messages.update({
             'line_on_view_inactive_account': 'You can not create move line\n' \
                     'on view/inactive account!',
-        })
-        self._order.insert(0, ('date', 'ASC'))
+            })
+        cls._order.insert(0, ('date', 'ASC'))
 
-    def init(self, module_name):
-        super(Line, self).init(module_name)
+    @classmethod
+    def __register__(cls, module_name):
+        super(Line, cls).__register__(module_name)
         cursor = Transaction().cursor
-        table = TableHandler(cursor, self, module_name)
+        table = TableHandler(cursor, cls, module_name)
 
         # Migration from 1.2 currency has been changed in function field
         table.not_null_action('currency', action='remove')
 
-    def default_date(self):
-        date_obj = Pool().get('ir.date')
-        return date_obj.today()
+    @staticmethod
+    def default_date():
+        Date = Pool().get('ir.date')
+        return Date.today()
 
-    def default_active(self):
+    @staticmethod
+    def default_active():
         return True
 
-    def default_debit(self):
+    @staticmethod
+    def default_debit():
         return Decimal(0)
 
-    def default_credit(self):
+    @staticmethod
+    def default_credit():
         return Decimal(0)
 
-    def on_change_with_currency(self, vals):
-        move_line_obj = Pool().get('account.move.line')
-        if vals.get('move_line'):
-            move_line = move_line_obj.browse(vals['move_line'])
-            return move_line.account.company.currency.id
-
-    def get_currency(self, ids, name):
-        res = {}
-        for line in self.browse(ids):
-            res[line.id] = line.move_line.account.company.currency.id
-        return res
+    def on_change_with_currency(self, name=None):
+        if self.move_line:
+            return self.move_line.account.company.currency.id
 
-    def on_change_with_currency_digits(self, vals):
-        move_line_obj = Pool().get('account.move.line')
-        if vals.get('move_line'):
-            move_line = move_line_obj.browse(vals['move_line'])
-            return move_line.account.company.currency.digits
+    def on_change_with_currency_digits(self, name=None):
+        if self.move_line:
+            return self.move_line.account.company.currency.digits
         return 2
 
-    def get_currency_digits(self, ids, name):
-        res = {}
-        for line in self.browse(ids):
-            res[line.id] = line.move_line.account.company.currency.digits
-        return res
-
-    def query_get(self, obj='l'):
+    @staticmethod
+    def query_get(obj='l'):
         '''
         Return SQL clause for analytic line depending of the context.
         obj is the SQL alias of the analytic_account_line in the query.
@@ -115,32 +106,27 @@ class Line(ModelSQL, ModelView):
                     str(Transaction().context['end_date']) + '\')'
         return res
 
-    def check_account(self, ids):
-        for line in self.browse(ids):
-            if line.account.type == 'view':
-                return False
-            if not line.account.active:
-                return False
+    def check_account(self):
+        if self.account.type == 'view':
+            return False
+        if not self.account.active:
+            return False
         return True
 
-Line()
-
 
 class MoveLine(ModelSQL, ModelView):
-    _name = 'account.move.line'
+    __name__ = 'account.move.line'
     analytic_lines = fields.One2Many('analytic_account.line', 'move_line',
             'Analytic Lines')
 
-MoveLine()
-
 
 class OpenAccount(Wizard):
     'Open Account'
-    _name = 'analytic_account.line.open_account'
+    __name__ = 'analytic_account.line.open_account'
     start_state = 'open_'
     open_ = StateAction('analytic_account.act_line_form')
 
-    def do_open_(self, session, action):
+    def do_open_(self, action):
         action['pyson_domain'] = [
             ('account', '=', Transaction().context['active_id']),
             ]
@@ -155,7 +141,5 @@ class OpenAccount(Wizard):
         action['pyson_domain'] = PYSONEncoder().encode(action['pyson_domain'])
         return action, {}
 
-    def transition_open_(self, session):
+    def transition_open_(self):
         return 'end'
-
-OpenAccount()
diff --git a/line.xml b/line.xml
index 5121d99..6fbd451 100644
--- a/line.xml
+++ b/line.xml
@@ -107,7 +107,7 @@ this repository contains the full copyright notices and license terms. -->
             <field name="arch" type="xml">
                 <![CDATA[
                 <data>
-                    <xpath expr="/form/notebook/page[@id="general"]"
+                    <xpath expr="/form/notebook/page[@name='tax_lines']"
                         position="after">
                         <page string="Analytic" col="1" id="analytic">
                             <field name="analytic_lines"/>
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index a5c14a0..a5ea9d1 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -44,7 +44,7 @@ msgstr "Баланс"
 
 msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
-msgstr "Деца"
+msgstr "Наследници"
 
 msgctxt "field:analytic_account.account,code:"
 msgid "Code"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 633fe36..8daf2f1 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -7,24 +7,24 @@ msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
 msgstr ""
-"No pot tenir varis comptes amb el mateix compte arrel o falta un compte "
-"arrel obligatòri"
+"No podeu tenir varis comptes amb el mateix compte arrel o falta un compte "
+"arrel obligatori."
 
 msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
-msgstr "No pot crear comptes recursius"
+msgstr "No podeu crear comptes recursius."
 
 msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
-msgstr "Els valors deure\\/haver són incorrectes"
+msgstr "Els valors haver/deure són incorrectes."
 
 msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
 msgstr ""
-"No pot crear una apunt en un\n"
-"compte vista o inactiu"
+"No podeu crear un apunt\n"
+"en un compte vista/inactiva."
 
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
@@ -36,7 +36,7 @@ msgstr "Actiu"
 
 msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
-msgstr "Balanç"
+msgstr "Saldo"
 
 msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
@@ -52,12 +52,11 @@ msgstr "Empresa"
 
 msgctxt "field:analytic_account.account,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,create_uid:"
 msgid "Create User"
-msgstr "Crear usuari"
+msgstr "Usuari creació"
 
 msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
@@ -65,11 +64,11 @@ msgstr "Haver"
 
 msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
-msgstr "Divisa"
+msgstr "Moneda"
 
 msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr "Decimals de la divisa"
+msgstr "Dígits de la moneda"
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
@@ -77,11 +76,11 @@ msgstr "Deure"
 
 msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
-msgstr "Mostrar balanç"
+msgstr "Mostra saldo"
 
 msgctxt "field:analytic_account.account,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
@@ -117,11 +116,11 @@ msgstr "Tipus"
 
 msgctxt "field:analytic_account.account,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Data modificació"
 
 msgctxt "field:analytic_account.account,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Usuari modificació"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,account:"
@@ -132,19 +131,18 @@ msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Data creació"
 
-#, fuzzy
 msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,create_uid:"
 msgid "Create User"
-msgstr "Crear usuari"
+msgstr "Usuari creació"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,rec_name:"
@@ -160,12 +158,12 @@ msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Data modificació"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Usuari modificació"
 
 msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
@@ -173,16 +171,15 @@ msgstr "Comptes"
 
 msgctxt "field:analytic_account.account.selection,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.selection,create_uid:"
 msgid "Create User"
-msgstr "Crear usuari"
+msgstr "Usuari creació"
 
 msgctxt "field:analytic_account.account.selection,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
@@ -190,11 +187,11 @@ msgstr "Nom"
 
 msgctxt "field:analytic_account.account.selection,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Data modificació"
 
 msgctxt "field:analytic_account.account.selection,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Usuari modificació"
 
 msgctxt "field:analytic_account.line,account:"
 msgid "Account"
@@ -202,16 +199,15 @@ msgstr "Compte"
 
 msgctxt "field:analytic_account.line,active:"
 msgid "Active"
-msgstr "Actiu"
+msgstr "Activa"
 
 msgctxt "field:analytic_account.line,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,create_uid:"
 msgid "Create User"
-msgstr "Crear usuari"
+msgstr "Usuari creació"
 
 msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
@@ -219,11 +215,11 @@ msgstr "Haver"
 
 msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
-msgstr "Divisa"
+msgstr "Moneda"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Decimals de la divisa"
+msgstr "Dígits de la moneda"
 
 msgctxt "field:analytic_account.line,date:"
 msgid "Date"
@@ -235,7 +231,7 @@ msgstr "Deure"
 
 msgctxt "field:analytic_account.line,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
@@ -263,25 +259,23 @@ msgstr "Referència"
 
 msgctxt "field:analytic_account.line,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Data modificació"
 
 msgctxt "field:analytic_account.line,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Usuari modificació"
 
-#, fuzzy
 msgctxt "field:analytic_account.open_chart.start,end_date:"
 msgid "End Date"
 msgstr "Data final"
 
 msgctxt "field:analytic_account.open_chart.start,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
-msgstr "Data inici"
+msgstr "Data inicial"
 
 msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
@@ -294,7 +288,7 @@ msgstr "Compte analític - Selecció de compte analític"
 
 msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
-msgstr "Selecció de compte analític"
+msgstr "Selecció compte analític"
 
 msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
@@ -302,9 +296,8 @@ msgstr "Línia analítica"
 
 msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
-msgstr ""
+msgstr "Obre pla comptable"
 
-#, fuzzy
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Comptes analítics"
@@ -323,13 +316,12 @@ msgstr "Línies analítiques"
 
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
-msgstr "Obrir compte"
+msgstr "Obre compte"
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Obre pla analític"
 
-#, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Comptes analítics"
@@ -340,11 +332,11 @@ msgstr "Comptes analítics"
 
 msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
-msgstr "Compte analític"
+msgstr "Comptabilitat analítica"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Obre pla analític"
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
@@ -360,7 +352,7 @@ msgstr "Deure - Haver"
 
 msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
-msgstr "Tancada"
+msgstr "Tancat"
 
 msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
@@ -368,7 +360,7 @@ msgstr "Esborrany"
 
 msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
-msgstr "Oberta"
+msgstr "Obert"
 
 msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
@@ -416,14 +408,12 @@ msgstr "Informació general"
 
 msgctxt "view:analytic_account.open_chart.start:"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Obre pla analític"
 
-#, fuzzy
 msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
-msgstr "Cancel·lar"
+msgstr "Cancel·la"
 
-#, fuzzy
 msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
-msgstr "Obrir"
+msgstr "Obre"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 3efd351..d10d07e 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -320,7 +320,7 @@ msgstr "Abrir cuenta"
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan de cuentas análiticas"
+msgstr "Abrir plan de cuentas analíticas"
 
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
@@ -336,7 +336,7 @@ msgstr "Cuenta analítica"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan de cuentas análiticas"
+msgstr "Abrir plan de cuentas analíticas"
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
@@ -412,7 +412,7 @@ msgstr "Información general"
 
 msgctxt "view:analytic_account.open_chart.start:"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan de cuentas análiticas"
+msgstr "Abrir plan de cuentas analíticas"
 
 msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index fd89a4d..cc9ef0d 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -38,7 +38,7 @@ msgstr "Balance"
 
 msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
-msgstr "Hij at s"
+msgstr "Hijos"
 
 msgctxt "field:analytic_account.account,code:"
 msgid "Code"
@@ -50,12 +50,11 @@ msgstr "Compañía"
 
 msgctxt "field:analytic_account.account,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Fecha de Creación"
 
-#, fuzzy
 msgctxt "field:analytic_account.account,create_uid:"
 msgid "Create User"
-msgstr "Crear usuario"
+msgstr "Creado por Usuario"
 
 msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
@@ -79,7 +78,7 @@ msgstr "Mostrar Balance"
 
 msgctxt "field:analytic_account.account,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
@@ -115,11 +114,11 @@ msgstr "Tipo"
 
 msgctxt "field:analytic_account.account,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Fecha de Modificación"
 
 msgctxt "field:analytic_account.account,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por Usuario"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,account:"
@@ -130,19 +129,18 @@ msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Fecha de Creación"
 
-#, fuzzy
 msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,create_uid:"
 msgid "Create User"
-msgstr "Crear usuario"
+msgstr "Creado por Usuario"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,rec_name:"
@@ -158,12 +156,12 @@ msgctxt ""
 "field:analytic_account.account-"
 "analytic_account.account.selection,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Fecha de Modificación"
 
 msgctxt ""
 "field:analytic_account.account-analytic_account.account.selection,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por Usuario"
 
 msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
@@ -171,16 +169,15 @@ msgstr "Cuentas"
 
 msgctxt "field:analytic_account.account.selection,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Fecha de Creación"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.selection,create_uid:"
 msgid "Create User"
-msgstr "Crear usuario"
+msgstr "Creado por Usuario"
 
 msgctxt "field:analytic_account.account.selection,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
@@ -188,11 +185,11 @@ msgstr "Nombre"
 
 msgctxt "field:analytic_account.account.selection,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Fecha de Modificación"
 
 msgctxt "field:analytic_account.account.selection,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por Usuario"
 
 msgctxt "field:analytic_account.line,account:"
 msgid "Account"
@@ -204,12 +201,11 @@ msgstr "Activo"
 
 msgctxt "field:analytic_account.line,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Fecha de Creación"
 
-#, fuzzy
 msgctxt "field:analytic_account.line,create_uid:"
 msgid "Create User"
-msgstr "Crear usuario"
+msgstr "Creado por Usuario"
 
 msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
@@ -233,7 +229,7 @@ msgstr "Débito"
 
 msgctxt "field:analytic_account.line,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
@@ -261,22 +257,20 @@ msgstr "Referencia"
 
 msgctxt "field:analytic_account.line,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Fecha de Modificación"
 
 msgctxt "field:analytic_account.line,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por Usuario"
 
-#, fuzzy
 msgctxt "field:analytic_account.open_chart.start,end_date:"
 msgid "End Date"
 msgstr "Fecha Final"
 
 msgctxt "field:analytic_account.open_chart.start,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Fecha Inicio"
@@ -300,9 +294,8 @@ msgstr "Línea Analítica"
 
 msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
-msgstr ""
+msgstr "Abrir Plan Contable"
 
-#, fuzzy
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Cuentas Analíticas"
@@ -325,9 +318,8 @@ msgstr "Abrir Cuenta"
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Abrir Plan de Cuentas Analiticas"
 
-#, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Cuentas Analíticas"
@@ -342,7 +334,7 @@ msgstr "Cuenta Analítica"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Abrir Plan de Cuentas Analiticas"
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
@@ -384,7 +376,6 @@ msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Analítica"
 
-#, fuzzy
 msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr "Analítica"
@@ -419,14 +410,12 @@ msgstr "Información General"
 
 msgctxt "view:analytic_account.open_chart.start:"
 msgid "Open Chart of Analytic Accounts"
-msgstr ""
+msgstr "Abrir Plan de Cuentas Analiticas"
 
-#, fuzzy
 msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Cancelar"
 
-#, fuzzy
 msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr "Abrir"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index f10ccc1..12485d2 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -36,7 +36,7 @@ msgstr "Activa"
 
 msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
-msgstr "Balance"
+msgstr "Saldo"
 
 msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
@@ -64,11 +64,11 @@ msgstr "Haber"
 
 msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
-msgstr "Divisa"
+msgstr "Moneda"
 
 msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr "Decimales de la divisa"
+msgstr "Decimales de la moneda"
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
@@ -76,7 +76,7 @@ msgstr "Debe"
 
 msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
-msgstr "Mostrar balance"
+msgstr "Mostrar saldo"
 
 msgctxt "field:analytic_account.account,id:"
 msgid "ID"
@@ -215,11 +215,11 @@ msgstr "Haber"
 
 msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
-msgstr "Divisa"
+msgstr "Moneda"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Decimales de la divisa"
+msgstr "Decimales de la moneda"
 
 msgctxt "field:analytic_account.line,date:"
 msgid "Date"
@@ -332,7 +332,7 @@ msgstr "Cuentas analíticas"
 
 msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
-msgstr "Cuenta analítica"
+msgstr "Contabilidad analítica"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
diff --git a/setup.py b/setup.py
index df4e934..51833b2 100644
--- a/setup.py
+++ b/setup.py
@@ -4,8 +4,19 @@
 
 from setuptools import setup
 import re
+import os
+import ConfigParser
 
-info = eval(open('__tryton__.py').read())
+
+def read(fname):
+    return open(os.path.join(os.path.dirname(__file__), fname)).read()
+
+config = ConfigParser.ConfigParser()
+config.readfp(open('tryton.cfg'))
+info = dict(config.items('tryton'))
+for key in ('depends', 'extras_depend', 'xml'):
+    if key in info:
+        info[key] = info[key].strip().splitlines()
 major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
 major_version = int(major_version)
 minor_version = int(minor_version)
@@ -21,21 +32,21 @@ requires.append('trytond >= %s.%s, < %s.%s' %
 
 setup(name='trytond_analytic_account',
     version=info.get('version', '0.0.1'),
-    description=info.get('description', ''),
-    author=info.get('author', ''),
-    author_email=info.get('email', ''),
-    url=info.get('website', ''),
+    description='Tryton module for analytic accounting',
+    long_description=read('README'),
+    author='Tryton',
+    url='http://www.tryton.org/',
     download_url="http://downloads.tryton.org/" + \
-            info.get('version', '0.0.1').rsplit('.', 1)[0] + '/',
+        info.get('version', '0.0.1').rsplit('.', 1)[0] + '/',
     package_dir={'trytond.modules.analytic_account': '.'},
     packages=[
         'trytond.modules.analytic_account',
         'trytond.modules.analytic_account.tests',
-    ],
+        ],
     package_data={
         'trytond.modules.analytic_account': info.get('xml', []) \
-                + info.get('translation', []),
-    },
+            + ['tryton.cfg', 'locale/*.po'],
+        },
     classifiers=[
         'Development Status :: 5 - Production/Stable',
         'Environment :: Plugins',
@@ -57,7 +68,7 @@ setup(name='trytond_analytic_account',
         'Programming Language :: Python :: 2.7',
         'Topic :: Office/Business',
         'Topic :: Office/Business :: Financial :: Accounting',
-    ],
+        ],
     license='GPL-3',
     install_requires=requires,
     zip_safe=False,
@@ -67,4 +78,4 @@ setup(name='trytond_analytic_account',
     """,
     test_suite='tests',
     test_loader='trytond.test_loader:Loader',
-)
+    )
diff --git a/tryton.cfg b/tryton.cfg
new file mode 100644
index 0000000..164d7c2
--- /dev/null
+++ b/tryton.cfg
@@ -0,0 +1,13 @@
+[tryton]
+version=2.6.0
+depends:
+    account
+    company
+    currency
+    ir
+    party
+    res
+xml:
+    analytic_account.xml
+    account.xml
+    line.xml
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index 0df196f..395d968 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,18 +1,48 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 2.4.1
-Summary: Financial and Accounting Module with:
-    - Analytic accounting with any number of analytic charts
-
-And with report:
-    - Analytic account balance
-
+Version: 2.6.0
+Summary: Tryton module for analytic accounting
 Home-page: http://www.tryton.org/
-Author: B2CK
-Author-email: info at b2ck.com
+Author: Tryton
+Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.4/
-Description: UNKNOWN
+Download-URL: http://downloads.tryton.org/2.6/
+Description: trytond_analytic_account
+        ========================
+        
+        The analytic_account module of the Tryton application platform.
+        
+        Installing
+        ----------
+        
+        See INSTALL
+        
+        Support
+        -------
+        
+        If you encounter any problems with Tryton, please don't hesitate to ask
+        questions on the Tryton bug tracker, mailing list, wiki or IRC channel:
+        
+          http://bugs.tryton.org/
+          http://groups.tryton.org/
+          http://wiki.tryton.org/
+          irc://irc.freenode.net/tryton
+        
+        License
+        -------
+        
+        See LICENSE
+        
+        Copyright
+        ---------
+        
+        See COPYRIGHT
+        
+        
+        For more information please visit the Tryton web site:
+        
+          http://www.tryton.org/
+        
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index d653761..e42584d 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -8,8 +8,8 @@ account.xml
 analytic_account.xml
 line.xml
 setup.py
+tryton.cfg
 ./__init__.py
-./__tryton__.py
 ./account.py
 ./line.py
 ./tests/__init__.py
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index ce00589..547c05c 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,5 +1,5 @@
-trytond_company >= 2.4, < 2.5
-trytond_currency >= 2.4, < 2.5
-trytond_account >= 2.4, < 2.5
-trytond_party >= 2.4, < 2.5
-trytond >= 2.4, < 2.5
\ No newline at end of file
+trytond_account >= 2.6, < 2.7
+trytond_company >= 2.6, < 2.7
+trytond_currency >= 2.6, < 2.7
+trytond_party >= 2.6, < 2.7
+trytond >= 2.6, < 2.7
\ No newline at end of file
commit b92b59eb967c37185f93b9985a96d74dca010055
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Apr 25 11:03:28 2012 +0200

    Adding upstream version 2.4.1.

diff --git a/CHANGELOG b/CHANGELOG
index 6e38f48..43b2426 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 2.4.1 - 2012-04-24
+* Restore es_AR translation
+
 Version 2.4.0 - 2012-04-23
 * Bug fixes (see mercurial logs for details)
 
diff --git a/PKG-INFO b/PKG-INFO
index 100f647..fe85d0a 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 2.4.0
+Version: 2.4.1
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
diff --git a/__tryton__.py b/__tryton__.py
index d06fafc..8e80c87 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -9,7 +9,7 @@
     'name_es_CO': 'Contabilidad Analítica',
     'name_es_ES': 'Contabilidad analítica',
     'name_fr_FR': 'Comptabilité analytique',
-    'version': '2.4.0',
+    'version': '2.4.1',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 542f292..3efd351 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -1,3 +1,423 @@
 # 
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+"¡No puede tener varias cuentas con la misma cuenta raiz o falta una cuenta "
+"raiz obligatoria!"
+
+msgctxt "error:analytic_account.account:"
+msgid "You can not create recursive accounts!"
+msgstr "¡No puede crear cuentas recursivas!"
+
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values!"
+msgstr "¡Los valores debe/haber son incorrectos!"
+
+msgctxt "error:analytic_account.line:"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+"¡No puede crear una linea de asiento\n"
+"en una cuenta vista/inactiva!"
+
+msgctxt "field:account.move.line,analytic_lines:"
+msgid "Analytic Lines"
+msgstr "Líneas analíticas"
+
+msgctxt "field:analytic_account.account,active:"
+msgid "Active"
+msgstr "Activa"
+
+msgctxt "field:analytic_account.account,balance:"
+msgid "Balance"
+msgstr "Balance"
+
+msgctxt "field:analytic_account.account,childs:"
+msgid "Children"
+msgstr "Hijos"
+
+msgctxt "field:analytic_account.account,code:"
+msgid "Code"
+msgstr "Código"
+
+msgctxt "field:analytic_account.account,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr "Fecha creación"
+
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr "Usuario creación"
+
+msgctxt "field:analytic_account.account,credit:"
+msgid "Credit"
+msgstr "Haber"
+
+msgctxt "field:analytic_account.account,currency:"
+msgid "Currency"
+msgstr "Divisa"
+
+msgctxt "field:analytic_account.account,currency_digits:"
+msgid "Currency Digits"
+msgstr "Decimales de la divisa"
+
+msgctxt "field:analytic_account.account,debit:"
+msgid "Debit"
+msgstr "Debe"
+
+msgctxt "field:analytic_account.account,display_balance:"
+msgid "Display Balance"
+msgstr "Mostrar balance"
+
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account,mandatory:"
+msgid "Mandatory"
+msgstr "Obligatorio"
+
+msgctxt "field:analytic_account.account,name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.account,note:"
+msgid "Note"
+msgstr "Nota"
+
+msgctxt "field:analytic_account.account,parent:"
+msgid "Parent"
+msgstr "Padre"
+
+msgctxt "field:analytic_account.account,rec_name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.account,root:"
+msgid "Root"
+msgstr "Raíz"
+
+msgctxt "field:analytic_account.account,state:"
+msgid "State"
+msgstr "Estado"
+
+msgctxt "field:analytic_account.account,type:"
+msgid "Type"
+msgstr "Tipo"
+
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr "Fecha modificación"
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr "Usuario modificación"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:"
+msgid "Account"
+msgstr "Cuenta"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Fecha creación"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Usuario creación"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,selection:"
+msgid "Selection"
+msgstr "Selección"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Fecha modificación"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Usuario modificación"
+
+msgctxt "field:analytic_account.account.selection,accounts:"
+msgid "Accounts"
+msgstr "Cuentas"
+
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Fecha creación"
+
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Usuario creación"
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account.selection,rec_name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Fecha modificación"
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Usuario modificación"
+
+msgctxt "field:analytic_account.line,account:"
+msgid "Account"
+msgstr "Cuenta"
+
+msgctxt "field:analytic_account.line,active:"
+msgid "Active"
+msgstr "Activa"
+
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr "Fecha creación"
+
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr "Usuario creación"
+
+msgctxt "field:analytic_account.line,credit:"
+msgid "Credit"
+msgstr "Haber"
+
+msgctxt "field:analytic_account.line,currency:"
+msgid "Currency"
+msgstr "Divisa"
+
+msgctxt "field:analytic_account.line,currency_digits:"
+msgid "Currency Digits"
+msgstr "Decimales de la divisa"
+
+msgctxt "field:analytic_account.line,date:"
+msgid "Date"
+msgstr "Fecha"
+
+msgctxt "field:analytic_account.line,debit:"
+msgid "Debit"
+msgstr "Debe"
+
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.line,journal:"
+msgid "Journal"
+msgstr "Diario"
+
+msgctxt "field:analytic_account.line,move_line:"
+msgid "Account Move Line"
+msgstr "Linea de asiento contable"
+
+msgctxt "field:analytic_account.line,name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.line,party:"
+msgid "Party"
+msgstr "Entidad"
+
+msgctxt "field:analytic_account.line,rec_name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.line,reference:"
+msgid "Reference"
+msgstr "Referencia"
+
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr "Fecha modificación"
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr "Usuario modificación"
+
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Fecha final"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Fecha inicio"
+
+msgctxt "model:analytic_account.account,name:"
+msgid "Analytic Account"
+msgstr "Cuenta analítica"
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr "Cuenta analítica - Selección de cuenta analítica"
+
+msgctxt "model:analytic_account.account.selection,name:"
+msgid "Analytic Account Selection"
+msgstr "Selección de cuenta analítica"
+
+msgctxt "model:analytic_account.line,name:"
+msgid "Analytic Line"
+msgstr "Línea analítica"
+
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr "Abrir plan contable"
+
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr "Líneas analíticas"
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr "Abrir cuenta"
+
+msgctxt "model:ir.action,name:act_open_chart"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir plan de cuentas análiticas"
+
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr "Cuenta analítica"
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir plan de cuentas análiticas"
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr "Administración analítica"
+
+msgctxt "selection:analytic_account.account,display_balance:"
+msgid "Credit - Debit"
+msgstr "Haber - Debe"
+
+msgctxt "selection:analytic_account.account,display_balance:"
+msgid "Debit - Credit"
+msgstr "Debe - Haber"
+
+msgctxt "selection:analytic_account.account,state:"
+msgid "Closed"
+msgstr "Cerrada"
+
+msgctxt "selection:analytic_account.account,state:"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt "selection:analytic_account.account,state:"
+msgid "Opened"
+msgstr "Abierta"
+
+msgctxt "selection:analytic_account.account,type:"
+msgid "Normal"
+msgstr "Normal"
+
+msgctxt "selection:analytic_account.account,type:"
+msgid "Root"
+msgstr "Raíz"
+
+msgctxt "selection:analytic_account.account,type:"
+msgid "View"
+msgstr "Vista"
+
+msgctxt "view:account.move.line:"
+msgid "Analytic"
+msgstr "Analítica"
+
+msgctxt "view:account.move:"
+msgid "Analytic"
+msgstr "Analítica"
+
+msgctxt "view:analytic_account.account:"
+msgid "Analytic Account"
+msgstr "Cuenta analítica"
+
+msgctxt "view:analytic_account.account:"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "view:analytic_account.account:"
+msgid "General Information"
+msgstr "Información general"
+
+msgctxt "view:analytic_account.account:"
+msgid "Notes"
+msgstr "Notas"
+
+msgctxt "view:analytic_account.line:"
+msgid "Analytic Line"
+msgstr "Línea analítica"
+
+msgctxt "view:analytic_account.line:"
+msgid "Analytic Lines"
+msgstr "Líneas analíticas"
+
+msgctxt "view:analytic_account.line:"
+msgid "General Information"
+msgstr "Información general"
+
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir plan de cuentas análiticas"
+
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
+msgid "Cancel"
+msgstr "Cancelar"
+
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
+msgid "Open"
+msgstr "Abrir"
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index fec9d95..0df196f 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 2.4.0
+Version: 2.4.1
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
commit cba26d5de61a1ffaf76dedc1064d14279d3c7558
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Apr 24 19:30:37 2012 +0200

    Adding upstream version 2.4.0.

diff --git a/CHANGELOG b/CHANGELOG
index d856081..6e38f48 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 2.4.0 - 2012-04-23
+* Bug fixes (see mercurial logs for details)
+
 Version 2.2.0 - 2011-10-24
 * Bug fixes (see mercurial logs for details)
 
diff --git a/COPYRIGHT b/COPYRIGHT
index a9feb41..ede3fac 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,6 +1,6 @@
-Copyright (C) 2008-2011 Cédric Krier.
-Copyright (C) 2008-2011 Bertrand Chenal.
-Copyright (C) 2008-2011 B2CK SPRL.
+Copyright (C) 2008-2012 Cédric Krier.
+Copyright (C) 2008-2012 Bertrand Chenal.
+Copyright (C) 2008-2012 B2CK SPRL.
 Copyright (C) 2004-2008 Tiny SPRL.
 
 This program is free software: you can redistribute it and/or modify
diff --git a/INSTALL b/INSTALL
index 105d1fc..80b3192 100644
--- a/INSTALL
+++ b/INSTALL
@@ -4,7 +4,7 @@ Installing trytond_analytic_account
 Prerequisites
 -------------
 
- * Python 2.5 or later (http://www.python.org/)
+ * Python 2.6 or later (http://www.python.org/)
  * trytond (http://www.tryton.org/)
  * trytond_company (http://www.tryton.org/)
  * trytond_party (http://www.tryton.org/)
diff --git a/PKG-INFO b/PKG-INFO
index 61510fb..100f647 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 2.2.0
+Version: 2.4.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.2/
+Download-URL: http://downloads.tryton.org/2.4/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/__init__.py b/__init__.py
index 6cd516f..900c1d5 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,5 +1,5 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
 
-from account import *
-from line import *
+from .account import *
+from .line import *
diff --git a/__tryton__.py b/__tryton__.py
index a325ee9..d06fafc 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -3,11 +3,13 @@
 {
     'name': 'Analytic Account',
     'name_bg_BG': 'Аналитична сметка',
+    'name_ca_ES': 'Comptabilitat analítica',
     'name_de_DE': 'Kostenstellen',
+    'name_es_AR': 'Contabilidad Analítica',
     'name_es_CO': 'Contabilidad Analítica',
     'name_es_ES': 'Contabilidad analítica',
     'name_fr_FR': 'Comptabilité analytique',
-    'version': '2.2.0',
+    'version': '2.4.0',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
@@ -23,20 +25,32 @@ And with report:
 Прилежащи справки:
     - Баланс на аналитична сметка
 ''',
+    'description_ca_ES': '''Mòdul financer i comptable amb:
+    - Comptabilitat analítica amb plans analítics il·limitats
+
+I amb informes:
+    - Balanç comptable analític
+''',
     'description_de_DE': '''Modul für Buchhhaltung mit:
     - Kostenstellen mit einer beliebigen Anzahl von Tabellen
 
 Zugehörige Berichte:
     - Plan für Kostenstellen
 ''',
+    'description_es_AR': '''Módulo financiero y de contabilidad con:
+    - Contabilidad analítica con cualquier cantidad de planes analíticos
+
+Y con informes:
+    - Balance contable analítico
+''',
     'description_es_CO': '''Módulo Financiero y de Contabilidad con:
     - Contabilidad Analítica con cualquier cantidad de planes analíticos
 
 Y con reportes:
     - Balance Contable Analítico
 ''',
-    'description_es_ES': '''Módulo financiero y de contabilidad con:
-    - Contabilidad analítica con cualquier cantidad de planes analíticos
+    'description_es_ES': '''Módulo financiero y contable con:
+    - Contabilidad analítica con planes analíticos ilimitados
 
 Y con informes:
     - Balance contable analítico
@@ -62,8 +76,10 @@ Et le rapport:
     ],
     'translation': [
         'locale/bg_BG.po',
+        'locale/ca_ES.po',
         'locale/cs_CZ.po',
         'locale/de_DE.po',
+        'locale/es_AR.po',
         'locale/es_CO.po',
         'locale/es_ES.po',
         'locale/fr_FR.po',
diff --git a/account.py b/account.py
index 8bf2dee..ca6457a 100644
--- a/account.py
+++ b/account.py
@@ -3,7 +3,7 @@
 from decimal import Decimal
 import copy
 from trytond.model import ModelView, ModelSQL, fields
-from trytond.wizard import Wizard
+from trytond.wizard import Wizard, StateView, StateAction, Button
 from trytond.pyson import Eval, PYSONEncoder
 from trytond.transaction import Transaction
 from trytond.pool import Pool
@@ -14,9 +14,9 @@ class Account(ModelSQL, ModelView):
     _name = 'analytic_account.account'
     _description = __doc__
 
-    name = fields.Char('Name', required=True, translate=True, select=1)
-    code = fields.Char('Code', select=1)
-    active = fields.Boolean('Active', select=2)
+    name = fields.Char('Name', required=True, translate=True, select=True)
+    code = fields.Char('Code', select=True)
+    active = fields.Boolean('Active', select=True)
     company = fields.Many2One('company.company', 'Company')
     currency = fields.Many2One('currency.currency', 'Currency', required=True)
     currency_digits = fields.Function(fields.Integer('Currency Digits',
@@ -26,14 +26,14 @@ class Account(ModelSQL, ModelView):
         ('view', 'View'),
         ('normal', 'Normal'),
         ], 'Type', required=True)
-    root = fields.Many2One('analytic_account.account', 'Root', select=2,
-        domain=[('parent', '=', False)],
+    root = fields.Many2One('analytic_account.account', 'Root', select=True,
+        domain=[('parent', '=', None)],
         states={
             'invisible': Eval('type') == 'root',
             'required': Eval('type') != 'root',
             },
         depends=['type'])
-    parent = fields.Many2One('analytic_account.account', 'Parent', select=2,
+    parent = fields.Many2One('analytic_account.account', 'Parent', select=True,
         domain=[('parent', 'child_of', Eval('root'))],
         states={
             'invisible': Eval('type') == 'root',
@@ -79,15 +79,13 @@ class Account(ModelSQL, ModelView):
         return True
 
     def default_company(self):
-        return Transaction().context.get('company') or False
+        return Transaction().context.get('company')
 
     def default_currency(self):
         company_obj = Pool().get('company.company')
-        currency_obj = Pool().get('currency.currency')
         if Transaction().context.get('company'):
             company = company_obj.browse(Transaction().context['company'])
             return company.currency.id
-        return False
 
     def default_type(self):
         return 'normal'
@@ -256,7 +254,7 @@ class Account(ModelSQL, ModelView):
         element_accounts = res[0]
 
         root_account_ids = self.search([
-            ('parent', '=', False),
+            ('parent', '=', None),
             ])
         if not root_account_ids:
             element_accounts.getparent().getparent().remove(
@@ -279,7 +277,7 @@ class Account(ModelSQL, ModelView):
             fields_names = []
 
         root_account_ids = self.search([
-            ('parent', '=', False),
+            ('parent', '=', None),
             ])
         for account in self.browse(root_account_ids):
             name = 'analytic_account_' + str(account.id)
@@ -296,50 +294,36 @@ class Account(ModelSQL, ModelView):
 Account()
 
 
-class OpenChartAccountInit(ModelView):
-    'Open Chart Account Init'
-    _name = 'analytic_account.account.open_chart_account.init'
+class OpenChartAccountStart(ModelView):
+    'Open Chart of Accounts'
+    _name = 'analytic_account.open_chart.start'
     _description = __doc__
     start_date = fields.Date('Start Date')
     end_date = fields.Date('End Date')
 
-OpenChartAccountInit()
+OpenChartAccountStart()
 
 
 class OpenChartAccount(Wizard):
-    'Open Chart Of Account'
-    _name = 'analytic_account.account.open_chart_account'
-    states = {
-        'init': {
-            'result': {
-                'type': 'form',
-                'object': 'analytic_account.account.open_chart_account.init',
-                'state': [
-                    ('end', 'Cancel', 'tryton-cancel'),
-                    ('open', 'Open', 'tryton-ok', True),
-                ],
-            },
-        },
-        'open': {
-            'result': {
-                'type': 'action',
-                'action': '_action_open_chart',
-                'state': 'end',
-            },
-        },
-    }
-
-    def _action_open_chart(self, data):
-        model_data_obj = Pool().get('ir.model.data')
-        act_window_obj = Pool().get('ir.action.act_window')
-        act_window_id = model_data_obj.get_id('analytic_account',
-                'act_account_tree2')
-        res = act_window_obj.read(act_window_id)
-        res['pyson_context'] = PYSONEncoder().encode({
-            'start_date': data['form']['start_date'],
-            'end_date': data['form']['end_date'],
-            })
-        return res
+    'Open Chart of Accounts'
+    _name = 'analytic_account.open_chart'
+
+    start = StateView('analytic_account.open_chart.start',
+        'analytic_account.open_chart_start_view_form', [
+            Button('Cancel', 'end', 'tryton-cancel'),
+            Button('Open', 'open_', 'tryton-ok', default=True),
+            ])
+    open_ = StateAction('analytic_account.act_account_tree2')
+
+    def do_open_(self, session, action):
+        action['pyson_context'] = PYSONEncoder().encode({
+                'start_date': session.start.start_date,
+                'end_date': session.start.end_date,
+                })
+        return action, {}
+
+    def transition_open_(self, session):
+        return 'end'
 
 OpenChartAccount()
 
@@ -369,7 +353,7 @@ class AccountSelection(ModelSQL, ModelView):
         account_obj = Pool().get('analytic_account.account')
 
         root_account_ids = account_obj.search([
-            ('parent', '=', False),
+            ('parent', '=', None),
             ])
         root_accounts = account_obj.browse(root_account_ids)
 
@@ -380,7 +364,7 @@ class AccountSelection(ModelSQL, ModelView):
                 if account.root.id in roots:
                     return False
                 roots.append(account.root.id)
-            if Transaction().user: #Root can by pass
+            if Transaction().user:  # Root can by pass
                 for account in root_accounts:
                     if account.mandatory:
                         if not account.id in roots:
@@ -396,8 +380,8 @@ class AccountAccountSelection(ModelSQL):
     _description = __doc__
     _table = 'analytic_account_account_selection_rel'
     selection = fields.Many2One('analytic_account.account.selection',
-            'Selection', ondelete='CASCADE', required=True, select=1)
+            'Selection', ondelete='CASCADE', required=True, select=True)
     account = fields.Many2One('analytic_account.account', 'Account',
-            ondelete='RESTRICT', required=True, select=1)
+            ondelete='RESTRICT', required=True, select=True)
 
 AccountAccountSelection()
diff --git a/account.xml b/account.xml
index 10f1d64..5237543 100644
--- a/account.xml
+++ b/account.xml
@@ -126,7 +126,7 @@ this repository contains the full copyright notices and license terms. -->
             <field name="priority" eval="20"/>
             <field name="arch" type="xml">
                 <![CDATA[
-                <tree string="Analytic Accounts">
+                <tree string="Analytic Accounts" keyword_open="1">
                     <field name="name"/>
                     <field name="code"/>
                     <field name="debit"/>
@@ -152,12 +152,13 @@ this repository contains the full copyright notices and license terms. -->
             <field name="view" ref="account_view_form"/>
             <field name="act_window" ref="act_account_tree2"/>
         </record>
-        <record model="ir.action.wizard" id="act_open_chart_account">
+        <record model="ir.action.wizard" id="act_open_chart">
             <field name="name">Open Chart of Analytic Accounts</field>
-            <field name="wiz_name">analytic_account.account.open_chart_account</field>
+            <field name="wiz_name">analytic_account.open_chart</field>
         </record>
-        <menuitem parent="account.menu_charts" action="act_open_chart_account"
-            icon="tryton-tree" id="menu_open_chart_account"/>
+        <menuitem parent="account.menu_charts" action="act_open_chart"
+            icon="tryton-tree" id="menu_open_chart"/>
+
         <record model="ir.model.access" id="access_account">
             <field name="model" search="[('model', '=', 'analytic_account.account')]"/>
             <field name="perm_read" eval="True"/>
@@ -185,8 +186,8 @@ this repository contains the full copyright notices and license terms. -->
             <field name="rule_group" ref="rule_group_account"/>
         </record>
 
-        <record model="ir.ui.view" id="open_chart_account_init_view_form">
-            <field name="model">analytic_account.account.open_chart_account.init</field>
+        <record model="ir.ui.view" id="open_chart_start_view_form">
+            <field name="model">analytic_account.open_chart.start</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <![CDATA[
diff --git a/line.py b/line.py
index 2b0b5fa..6e7a170 100644
--- a/line.py
+++ b/line.py
@@ -1,8 +1,9 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
 import time
+from decimal import Decimal
 from trytond.model import ModelView, ModelSQL, fields
-from trytond.wizard import Wizard
+from trytond.wizard import Wizard, StateAction
 from trytond.backend import TableHandler
 from trytond.pyson import Eval, PYSONEncoder
 from trytond.transaction import Transaction
@@ -16,23 +17,23 @@ class Line(ModelSQL, ModelView):
 
     name = fields.Char('Name', required=True)
     debit = fields.Numeric('Debit', digits=(16, Eval('currency_digits', 2)),
-            depends=['currency_digits'])
+        required=True, depends=['currency_digits'])
     credit = fields.Numeric('Credit', digits=(16, Eval('currency_digits', 2)),
-            depends=['currency_digits'])
+        required=True, depends=['currency_digits'])
     currency = fields.Function(fields.Many2One('currency.currency', 'Currency',
         on_change_with=['move_line']), 'get_currency')
     currency_digits = fields.Function(fields.Integer('Currency Digits',
         on_change_with=['move_line']), 'get_currency_digits')
     account = fields.Many2One('analytic_account.account', 'Account',
-            required=True, select=1, domain=[('type', '!=', 'view')])
+            required=True, select=True, domain=[('type', '!=', 'view')])
     move_line = fields.Many2One('account.move.line', 'Account Move Line',
             ondelete='CASCADE', required=True)
     journal = fields.Many2One('account.journal', 'Journal', required=True,
-            select=1)
+            select=True)
     date = fields.Date('Date', required=True)
     reference = fields.Char('Reference')
     party = fields.Many2One('party.party', 'Party')
-    active = fields.Boolean('Active', select=2)
+    active = fields.Boolean('Active', select=True)
 
     def __init__(self):
         super(Line, self).__init__()
@@ -65,12 +66,17 @@ class Line(ModelSQL, ModelView):
     def default_active(self):
         return True
 
+    def default_debit(self):
+        return Decimal(0)
+
+    def default_credit(self):
+        return Decimal(0)
+
     def on_change_with_currency(self, vals):
         move_line_obj = Pool().get('account.move.line')
         if vals.get('move_line'):
             move_line = move_line_obj.browse(vals['move_line'])
             return move_line.account.company.currency.id
-        return False
 
     def get_currency(self, ids, name):
         res = {}
@@ -131,36 +137,25 @@ MoveLine()
 class OpenAccount(Wizard):
     'Open Account'
     _name = 'analytic_account.line.open_account'
-    states = {
-        'init': {
-            'result': {
-                'type': 'action',
-                'action': '_action_open_account',
-                'state': 'end',
-            },
-        },
-    }
-
-    def _action_open_account(self, data):
-        model_data_obj = Pool().get('ir.model.data')
-        act_window_obj = Pool().get('ir.action.act_window')
-
-        act_window_id = model_data_obj.get_id('analytic_account',
-                'act_line_form')
-        res = act_window_obj.read(act_window_id)
-        res['pyson_domain'] = [
-            ('account', '=', data['id']),
-        ]
+    start_state = 'open_'
+    open_ = StateAction('analytic_account.act_line_form')
 
+    def do_open_(self, session, action):
+        action['pyson_domain'] = [
+            ('account', '=', Transaction().context['active_id']),
+            ]
         if Transaction().context.get('start_date'):
-            res['pyson_domain'].append(
-                    ('date', '>=', Transaction().context['start_date'])
-                    )
+            action['pyson_domain'].append(
+                ('date', '>=', Transaction().context['start_date'])
+                )
         if Transaction().context.get('end_date'):
-            res['pyson_domain'].append(
-                    ('date', '<=', Transaction().context['end_date'])
-                    )
-        res['pyson_domain'] = PYSONEncoder().encode(res['pyson_domain'])
-        return res
+            action['pyson_domain'].append(
+                ('date', '<=', Transaction().context['end_date'])
+                )
+        action['pyson_domain'] = PYSONEncoder().encode(action['pyson_domain'])
+        return action, {}
+
+    def transition_open_(self, session):
+        return 'end'
 
 OpenAccount()
diff --git a/line.xml b/line.xml
index e72d33c..5121d99 100644
--- a/line.xml
+++ b/line.xml
@@ -118,22 +118,5 @@ this repository contains the full copyright notices and license terms. -->
             </field>
         </record>
 
-        <record model="ir.ui.view" id="move_view_form">
-            <field name="model">account.move</field>
-            <field name="inherit" ref="account.move_view_form"/>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <data>
-                    <xpath expr="/form/field[@name='lines']/form/notebook/page[@id="general"]"
-                        position="after">
-                        <page string="Analytic" col="1" id="analytic">
-                            <field name="analytic_lines"/>
-                        </page>
-                    </xpath>
-                </data>
-                ]]>
-            </field>
-        </record>
-
     </data>
 </tryton>
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index 58dea33..a5c14a0 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -2,7 +2,7 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:analytic_account.account.selection:0"
+msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
@@ -10,15 +10,15 @@ msgstr ""
 "Не може да имате много сметки с един и същи родител или да липсва родителска"
 " сметка!"
 
-msgctxt "error:analytic_account.account:0"
+msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
 msgstr "Не може да създавате взаимно вложени сметки!"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
 msgstr "Грешни стойности за кредит/дебит!"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
@@ -26,192 +26,282 @@ msgstr ""
 "Не може да създавате ред от движение\n"
 "за изглед/неактивна сметка!"
 
-msgctxt "field:account.invoice.line,analytic_accounts:0"
+msgctxt "field:account.invoice.line,analytic_accounts:"
 msgid "Analytic Accounts"
 msgstr "Аналитични сметки"
 
-msgctxt "field:account.move.line,analytic_lines:0"
+msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Редове от аналитична сметка"
 
-msgctxt "field:analytic_account.account,active:0"
+msgctxt "field:analytic_account.account,active:"
 msgid "Active"
 msgstr "Активен"
 
-msgctxt "field:analytic_account.account,balance:0"
+msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
 msgstr "Баланс"
 
-msgctxt "field:analytic_account.account,childs:0"
+msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr "Деца"
 
-msgctxt "field:analytic_account.account,code:0"
+msgctxt "field:analytic_account.account,code:"
 msgid "Code"
 msgstr "Код"
 
-msgctxt "field:analytic_account.account,company:0"
+msgctxt "field:analytic_account.account,company:"
 msgid "Company"
 msgstr "Фирма"
 
-msgctxt "field:analytic_account.account,credit:0"
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
 msgstr "Кредит"
 
-msgctxt "field:analytic_account.account,currency:0"
+msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
 msgstr "Валута"
 
-msgctxt "field:analytic_account.account,currency_digits:0"
+msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
 msgstr "Цифри за валута"
 
-msgctxt "field:analytic_account.account,debit:0"
+msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
 msgstr "Дебит"
 
-msgctxt "field:analytic_account.account,display_balance:0"
+msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
 msgstr "Показване на баланс"
 
-msgctxt "field:analytic_account.account,mandatory:0"
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
 msgstr "Задължителен"
 
-msgctxt "field:analytic_account.account,name:0"
+msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr "Име"
 
-msgctxt "field:analytic_account.account,note:0"
+msgctxt "field:analytic_account.account,note:"
 msgid "Note"
 msgstr "Бележка"
 
-msgctxt "field:analytic_account.account,parent:0"
+msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
 msgstr "Родител"
 
-msgctxt "field:analytic_account.account,rec_name:0"
+msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr "Име"
 
-msgctxt "field:analytic_account.account,root:0"
+msgctxt "field:analytic_account.account,root:"
 msgid "Root"
 msgstr "Начало"
 
-msgctxt "field:analytic_account.account,state:0"
+msgctxt "field:analytic_account.account,state:"
 msgid "State"
 msgstr "Щат"
 
-msgctxt "field:analytic_account.account,type:0"
+msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr "Вид"
 
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,account:0"
+"field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
 msgstr "Фактури"
 
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Име"
 
 msgctxt ""
-"field:analytic_account.account-"
-"analytic_account.account.selection,selection:0"
+"field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
 msgstr "Избор"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
-msgid "End Date"
-msgstr "Крайна дата"
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
-msgid "Start Date"
-msgstr "Начална дата"
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
 
-msgctxt "field:analytic_account.account.selection,accounts:0"
+msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
 msgstr "Сметки"
 
-msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Име"
 
-msgctxt "field:analytic_account.line,account:0"
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
+msgctxt "field:analytic_account.line,account:"
 msgid "Account"
 msgstr "Фактури"
 
-msgctxt "field:analytic_account.line,active:0"
+msgctxt "field:analytic_account.line,active:"
 msgid "Active"
 msgstr "Активен"
 
-msgctxt "field:analytic_account.line,credit:0"
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
 msgstr "Кредит"
 
-msgctxt "field:analytic_account.line,currency:0"
+msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
 msgstr "Валута"
 
-msgctxt "field:analytic_account.line,currency_digits:0"
+msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
 msgstr "Цифри за валута"
 
-msgctxt "field:analytic_account.line,date:0"
+msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr "Дата"
 
-msgctxt "field:analytic_account.line,debit:0"
+msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
 msgstr "Дебит"
 
-msgctxt "field:analytic_account.line,journal:0"
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
 msgstr "Дневник"
 
-msgctxt "field:analytic_account.line,move_line:0"
+msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
 msgstr "Ред от движение по сметка"
 
-msgctxt "field:analytic_account.line,name:0"
+msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr "Име"
 
-msgctxt "field:analytic_account.line,party:0"
+msgctxt "field:analytic_account.line,party:"
 msgid "Party"
 msgstr "Партньор"
 
-msgctxt "field:analytic_account.line,rec_name:0"
+msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr "Име"
 
-msgctxt "field:analytic_account.line,reference:0"
+msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr "Отпратка"
 
-msgctxt "model:analytic_account.account,name:0"
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Крайна дата"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Начална дата"
+
+msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
 msgstr "Аналитична сметка"
 
 msgctxt ""
-"model:analytic_account.account-analytic_account.account.selection,name:0"
+"model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
 msgstr "Аналитична сметка - Избор на аналитична сметка "
 
-msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
-msgid "Open Chart Account Init"
-msgstr "Начално създаване на сметкоплан"
-
-msgctxt "model:analytic_account.account.selection,name:0"
+msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
 msgstr "Избор на аналитична сметка"
 
-msgctxt "model:analytic_account.line,name:0"
+msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
 msgstr "Ред от аналитична сметка"
 
-#, fuzzy
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr "Отваряне на сметкоплан"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Аналитични сметки"
@@ -232,11 +322,10 @@ msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
 msgstr "Отваряне на сметка"
 
-msgctxt "model:ir.action,name:act_open_chart_account"
+msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Отваряне на аналитичен сметкоплан"
 
-#, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Аналитични сметки"
@@ -249,7 +338,7 @@ msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
 msgstr "Аналитична сметка"
 
-msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Отваряне на аналитичен сметкоплан"
 
@@ -257,83 +346,82 @@ msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Администрация на аналитична сметка"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
 msgstr "Кредит - дебит"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr "Дебит - кредит"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr "Приключен"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Проект"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr "Отворен"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr "Нормален"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
 msgstr "Начало"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Изглед"
 
-msgctxt "view:account.move.line:0"
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Задължителен"
 
-msgctxt "view:account.move:0"
+msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr "Задължителен"
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Accounts"
-msgstr "Отваряне на аналитичен сметкоплан"
-
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
 msgstr "Аналитична сметка"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr "Аналитични сметки"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr "Обща информация"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Бележки"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr "Ред от аналитична сметка"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
 msgstr "Редове от аналитична сметка"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr "Обща информация"
 
-msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Отваряне на аналитичен сметкоплан"
+
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Отказ"
 
-msgctxt ""
-"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr "Отваряне"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
new file mode 100644
index 0000000..633fe36
--- /dev/null
+++ b/locale/ca_ES.po
@@ -0,0 +1,429 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+"No pot tenir varis comptes amb el mateix compte arrel o falta un compte "
+"arrel obligatòri"
+
+msgctxt "error:analytic_account.account:"
+msgid "You can not create recursive accounts!"
+msgstr "No pot crear comptes recursius"
+
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values!"
+msgstr "Els valors deure\\/haver són incorrectes"
+
+msgctxt "error:analytic_account.line:"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+"No pot crear una apunt en un\n"
+"compte vista o inactiu"
+
+msgctxt "field:account.move.line,analytic_lines:"
+msgid "Analytic Lines"
+msgstr "Línies analítiques"
+
+msgctxt "field:analytic_account.account,active:"
+msgid "Active"
+msgstr "Actiu"
+
+msgctxt "field:analytic_account.account,balance:"
+msgid "Balance"
+msgstr "Balanç"
+
+msgctxt "field:analytic_account.account,childs:"
+msgid "Children"
+msgstr "Fills"
+
+msgctxt "field:analytic_account.account,code:"
+msgid "Code"
+msgstr "Codi"
+
+msgctxt "field:analytic_account.account,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr "Crear usuari"
+
+msgctxt "field:analytic_account.account,credit:"
+msgid "Credit"
+msgstr "Haver"
+
+msgctxt "field:analytic_account.account,currency:"
+msgid "Currency"
+msgstr "Divisa"
+
+msgctxt "field:analytic_account.account,currency_digits:"
+msgid "Currency Digits"
+msgstr "Decimals de la divisa"
+
+msgctxt "field:analytic_account.account,debit:"
+msgid "Debit"
+msgstr "Deure"
+
+msgctxt "field:analytic_account.account,display_balance:"
+msgid "Display Balance"
+msgstr "Mostrar balanç"
+
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.account,mandatory:"
+msgid "Mandatory"
+msgstr "Obligatori"
+
+msgctxt "field:analytic_account.account,name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.account,note:"
+msgid "Note"
+msgstr "Nota"
+
+msgctxt "field:analytic_account.account,parent:"
+msgid "Parent"
+msgstr "Pare"
+
+msgctxt "field:analytic_account.account,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.account,root:"
+msgid "Root"
+msgstr "Arrel"
+
+msgctxt "field:analytic_account.account,state:"
+msgid "State"
+msgstr "Estat"
+
+msgctxt "field:analytic_account.account,type:"
+msgid "Type"
+msgstr "Tipus"
+
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:"
+msgid "Account"
+msgstr "Compte"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Crear usuari"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,selection:"
+msgid "Selection"
+msgstr "Selecció"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,accounts:"
+msgid "Accounts"
+msgstr "Comptes"
+
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Crear usuari"
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:analytic_account.line,account:"
+msgid "Account"
+msgstr "Compte"
+
+msgctxt "field:analytic_account.line,active:"
+msgid "Active"
+msgstr "Actiu"
+
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr "Crear usuari"
+
+msgctxt "field:analytic_account.line,credit:"
+msgid "Credit"
+msgstr "Haver"
+
+msgctxt "field:analytic_account.line,currency:"
+msgid "Currency"
+msgstr "Divisa"
+
+msgctxt "field:analytic_account.line,currency_digits:"
+msgid "Currency Digits"
+msgstr "Decimals de la divisa"
+
+msgctxt "field:analytic_account.line,date:"
+msgid "Date"
+msgstr "Data"
+
+msgctxt "field:analytic_account.line,debit:"
+msgid "Debit"
+msgstr "Deure"
+
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.line,journal:"
+msgid "Journal"
+msgstr "Diari"
+
+msgctxt "field:analytic_account.line,move_line:"
+msgid "Account Move Line"
+msgstr "Apunt comptable"
+
+msgctxt "field:analytic_account.line,name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.line,party:"
+msgid "Party"
+msgstr "Tercer"
+
+msgctxt "field:analytic_account.line,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.line,reference:"
+msgid "Reference"
+msgstr "Referència"
+
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Data final"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Data inici"
+
+msgctxt "model:analytic_account.account,name:"
+msgid "Analytic Account"
+msgstr "Compte analític"
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr "Compte analític - Selecció de compte analític"
+
+msgctxt "model:analytic_account.account.selection,name:"
+msgid "Analytic Account Selection"
+msgstr "Selecció de compte analític"
+
+msgctxt "model:analytic_account.line,name:"
+msgid "Analytic Line"
+msgstr "Línia analítica"
+
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr ""
+
+#, fuzzy
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr "Comptes analítics"
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr "Comptes analítics"
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr "Comptes analítics"
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr "Línies analítiques"
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr "Obrir compte"
+
+msgctxt "model:ir.action,name:act_open_chart"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr "Comptes analítics"
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr "Comptes analítics"
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr "Compte analític"
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr "Administració analítica"
+
+msgctxt "selection:analytic_account.account,display_balance:"
+msgid "Credit - Debit"
+msgstr "Haver - Deure"
+
+msgctxt "selection:analytic_account.account,display_balance:"
+msgid "Debit - Credit"
+msgstr "Deure - Haver"
+
+msgctxt "selection:analytic_account.account,state:"
+msgid "Closed"
+msgstr "Tancada"
+
+msgctxt "selection:analytic_account.account,state:"
+msgid "Draft"
+msgstr "Esborrany"
+
+msgctxt "selection:analytic_account.account,state:"
+msgid "Opened"
+msgstr "Oberta"
+
+msgctxt "selection:analytic_account.account,type:"
+msgid "Normal"
+msgstr "Normal"
+
+msgctxt "selection:analytic_account.account,type:"
+msgid "Root"
+msgstr "Arrel"
+
+msgctxt "selection:analytic_account.account,type:"
+msgid "View"
+msgstr "Vista"
+
+msgctxt "view:account.move.line:"
+msgid "Analytic"
+msgstr "Analítica"
+
+msgctxt "view:analytic_account.account:"
+msgid "Analytic Account"
+msgstr "Compte analític"
+
+msgctxt "view:analytic_account.account:"
+msgid "Analytic Accounts"
+msgstr "Comptes analítics"
+
+msgctxt "view:analytic_account.account:"
+msgid "General Information"
+msgstr "Informació general"
+
+msgctxt "view:analytic_account.account:"
+msgid "Notes"
+msgstr "Notes"
+
+msgctxt "view:analytic_account.line:"
+msgid "Analytic Line"
+msgstr "Línia analítica"
+
+msgctxt "view:analytic_account.line:"
+msgid "Analytic Lines"
+msgstr "Línies analítiques"
+
+msgctxt "view:analytic_account.line:"
+msgid "General Information"
+msgstr "Informació general"
+
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+#, fuzzy
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
+msgid "Cancel"
+msgstr "Cancel·lar"
+
+#, fuzzy
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
+msgid "Open"
+msgstr "Obrir"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index 433893b..b5dc2a0 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -2,207 +2,298 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:analytic_account.account.selection:0"
+msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
 msgstr ""
 
-msgctxt "error:analytic_account.account:0"
+msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
 msgstr ""
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
 msgstr ""
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
 msgstr ""
 
-msgctxt "field:account.move.line,analytic_lines:0"
+msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
 
-msgctxt "field:analytic_account.account,active:0"
+msgctxt "field:analytic_account.account,active:"
 msgid "Active"
 msgstr ""
 
-msgctxt "field:analytic_account.account,balance:0"
+msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
 msgstr ""
 
-msgctxt "field:analytic_account.account,childs:0"
+msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr ""
 
-msgctxt "field:analytic_account.account,code:0"
+msgctxt "field:analytic_account.account,code:"
 msgid "Code"
 msgstr ""
 
-msgctxt "field:analytic_account.account,company:0"
+msgctxt "field:analytic_account.account,company:"
 msgid "Company"
 msgstr ""
 
-msgctxt "field:analytic_account.account,credit:0"
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
 msgstr ""
 
-msgctxt "field:analytic_account.account,currency:0"
+msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
 msgstr ""
 
-msgctxt "field:analytic_account.account,currency_digits:0"
+msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
 msgstr ""
 
-msgctxt "field:analytic_account.account,debit:0"
+msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
 msgstr ""
 
-msgctxt "field:analytic_account.account,display_balance:0"
+msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
 msgstr ""
 
-msgctxt "field:analytic_account.account,mandatory:0"
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
 msgstr ""
 
-msgctxt "field:analytic_account.account,name:0"
+msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr ""
 
-msgctxt "field:analytic_account.account,note:0"
+msgctxt "field:analytic_account.account,note:"
 msgid "Note"
 msgstr ""
 
-msgctxt "field:analytic_account.account,parent:0"
+msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
 msgstr ""
 
-msgctxt "field:analytic_account.account,rec_name:0"
+msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr ""
 
-msgctxt "field:analytic_account.account,root:0"
+msgctxt "field:analytic_account.account,root:"
 msgid "Root"
 msgstr ""
 
-msgctxt "field:analytic_account.account,state:0"
+msgctxt "field:analytic_account.account,state:"
 msgid "State"
 msgstr ""
 
-msgctxt "field:analytic_account.account,type:0"
+msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr ""
 
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,account:0"
+"field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
 msgstr ""
 
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
-msgid "Name"
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
 msgstr ""
 
 msgctxt ""
 "field:analytic_account.account-"
-"analytic_account.account.selection,selection:0"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
 msgstr ""
 
-msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
-msgid "End Date"
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
 msgstr ""
 
-msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
-msgid "Start Date"
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
 msgstr ""
 
-msgctxt "field:analytic_account.account.selection,accounts:0"
+msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
 msgstr ""
 
-msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr ""
 
-msgctxt "field:analytic_account.line,account:0"
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:analytic_account.line,account:"
 msgid "Account"
 msgstr ""
 
-msgctxt "field:analytic_account.line,active:0"
+msgctxt "field:analytic_account.line,active:"
 msgid "Active"
 msgstr ""
 
-msgctxt "field:analytic_account.line,credit:0"
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
 msgstr ""
 
-msgctxt "field:analytic_account.line,currency:0"
+msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
 msgstr ""
 
-msgctxt "field:analytic_account.line,currency_digits:0"
+msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
 msgstr ""
 
-msgctxt "field:analytic_account.line,date:0"
+msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr ""
 
-msgctxt "field:analytic_account.line,debit:0"
+msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
 msgstr ""
 
-msgctxt "field:analytic_account.line,journal:0"
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
 msgstr ""
 
-msgctxt "field:analytic_account.line,move_line:0"
+msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
 msgstr ""
 
-msgctxt "field:analytic_account.line,name:0"
+msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr ""
 
-msgctxt "field:analytic_account.line,party:0"
+msgctxt "field:analytic_account.line,party:"
 msgid "Party"
 msgstr ""
 
-msgctxt "field:analytic_account.line,rec_name:0"
+msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr ""
 
-msgctxt "field:analytic_account.line,reference:0"
+msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr ""
 
-msgctxt "model:analytic_account.account,name:0"
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr ""
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr ""
+
+msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
 msgstr ""
 
 msgctxt ""
-"model:analytic_account.account-analytic_account.account.selection,name:0"
+"model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
 msgstr ""
 
-msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
-msgid "Open Chart Account Init"
-msgstr ""
-
-msgctxt "model:analytic_account.account.selection,name:0"
+msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
 msgstr ""
 
-msgctxt "model:analytic_account.line,name:0"
+msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
 msgstr ""
 
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -223,7 +314,7 @@ msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_open_chart_account"
+msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
@@ -239,7 +330,7 @@ msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
@@ -247,83 +338,82 @@ msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr ""
 
-msgctxt "view:account.move.line:0"
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr ""
 
-msgctxt "view:account.move:0"
+msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr ""
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Accounts"
-msgstr ""
-
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
 msgstr ""
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr ""
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr ""
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr ""
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr ""
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
 msgstr ""
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr ""
 
-msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr ""
 
-msgctxt ""
-"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index c4a5bcd..417686a 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -2,11 +2,11 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.statement.line:0"
+msgctxt "error:account.statement.line:"
 msgid "Amount (%s) greater than the amount to pay of invoice!"
 msgstr "Der eingegebene Betrag (%s) ist größer als der Rechnungsbetrag!"
 
-msgctxt "error:account.statement.line:0"
+msgctxt "error:account.statement.line:"
 msgid ""
 "Credit or debit account on journal is the same than the statement line "
 "account!"
@@ -14,15 +14,15 @@ msgstr ""
 "Haben- oder Sollkonto im Journal ist das selbe Konto wie das des "
 "Zahlungspostens!"
 
-msgctxt "error:account.statement.line:0"
+msgctxt "error:account.statement.line:"
 msgid "Please provide debit and credit account on statement journal."
 msgstr "Bitte Soll- und Habenkonto im Journal Zahlungsverkehr angeben."
 
-msgctxt "error:account.statement:0"
+msgctxt "error:account.statement:"
 msgid "End Balance must be %s!"
 msgstr "Endsaldo muss %s sein!"
 
-msgctxt "error:analytic_account.account.selection:0"
+msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
@@ -30,305 +30,396 @@ msgstr ""
 "Mehrere Konten zum selben Wurzelkonto nicht möglich oder erforderliches "
 "Wurzelkonto fehlt!"
 
-msgctxt "error:analytic_account.account:0"
+msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
 msgstr "Konten können nicht rekursiv angelegt werden!"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
 msgstr "Falsche Haben/Soll-Werte!"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
 msgstr "Keine Berechtigung für die Erstellung von Buchungszeilen!"
 
-msgctxt "field:account.move.line,analytic_lines:0"
+msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Kostenstelle Zeilen"
 
-msgctxt "field:account.statement,currency_digits:0"
+msgctxt "field:account.statement,currency_digits:"
 msgid "Currency Digits"
 msgstr "Stellen Währung"
 
-msgctxt "field:account.statement,date:0"
+msgctxt "field:account.statement,date:"
 msgid "Date"
 msgstr "Datum"
 
-msgctxt "field:account.statement,end_balance:0"
+msgctxt "field:account.statement,end_balance:"
 msgid "End Balance"
 msgstr "Endsaldo"
 
-msgctxt "field:account.statement,journal:0"
+msgctxt "field:account.statement,journal:"
 msgid "Journal"
 msgstr "Journal"
 
-msgctxt "field:account.statement,lines:0"
+msgctxt "field:account.statement,lines:"
 msgid "Transactions"
 msgstr "Transaktionen"
 
-msgctxt "field:account.statement,move_lines:0"
+msgctxt "field:account.statement,move_lines:"
 msgid "Move Lines"
 msgstr "Buchungsposten"
 
-msgctxt "field:account.statement,rec_name:0"
+msgctxt "field:account.statement,rec_name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:account.statement,start_balance:0"
+msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
 msgstr "Anfangssaldo"
 
-msgctxt "field:account.statement,state:0"
+msgctxt "field:account.statement,state:"
 msgid "State"
 msgstr "Status"
 
-msgctxt "field:account.statement.journal,company:0"
+msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Unternehmen"
 
-msgctxt "field:account.statement.journal,currency:0"
+msgctxt "field:account.statement.journal,currency:"
 msgid "Currency"
 msgstr "Währung"
 
-msgctxt "field:account.statement.journal,journal:0"
+msgctxt "field:account.statement.journal,journal:"
 msgid "Journal"
 msgstr "Journal"
 
-msgctxt "field:account.statement.journal,name:0"
+msgctxt "field:account.statement.journal,name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:account.statement.journal,rec_name:0"
+msgctxt "field:account.statement.journal,rec_name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:account.statement.line,account:0"
+msgctxt "field:account.statement.line,account:"
 msgid "Account"
 msgstr "Konto"
 
-msgctxt "field:account.statement.line,amount:0"
+msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Betrag"
 
-msgctxt "field:account.statement.line,date:0"
+msgctxt "field:account.statement.line,date:"
 msgid "Date"
 msgstr "Datum"
 
-msgctxt "field:account.statement.line,description:0"
+msgctxt "field:account.statement.line,description:"
 msgid "Description"
 msgstr "Beschreibung"
 
-msgctxt "field:account.statement.line,invoice:0"
+msgctxt "field:account.statement.line,invoice:"
 msgid "Invoice"
 msgstr "Rechnung"
 
-msgctxt "field:account.statement.line,move:0"
+msgctxt "field:account.statement.line,move:"
 msgid "Account Move"
 msgstr "Buchungssatz"
 
-msgctxt "field:account.statement.line,party:0"
+msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Partei"
 
-msgctxt "field:account.statement.line,rec_name:0"
+msgctxt "field:account.statement.line,rec_name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:account.statement.line,statement:0"
+msgctxt "field:account.statement.line,statement:"
 msgid "Statement"
 msgstr "Zahlung"
 
-msgctxt "field:analytic_account.account,active:0"
+msgctxt "field:analytic_account.account,active:"
 msgid "Active"
 msgstr "Aktiv"
 
-msgctxt "field:analytic_account.account,balance:0"
+msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
 msgstr "Saldo"
 
-msgctxt "field:analytic_account.account,childs:0"
+msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr "Untergeordnet (Kostenstellen)"
 
-msgctxt "field:analytic_account.account,code:0"
+msgctxt "field:analytic_account.account,code:"
 msgid "Code"
 msgstr "Code"
 
-msgctxt "field:analytic_account.account,company:0"
+msgctxt "field:analytic_account.account,company:"
 msgid "Company"
 msgstr "Unternehmen"
 
-msgctxt "field:analytic_account.account,credit:0"
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
 msgstr "Haben"
 
-msgctxt "field:analytic_account.account,currency:0"
+msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
 msgstr "Währung"
 
-msgctxt "field:analytic_account.account,currency_digits:0"
+msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
 msgstr "Währung (signifikante Stellen)"
 
-msgctxt "field:analytic_account.account,debit:0"
+msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
 msgstr "Soll"
 
-msgctxt "field:analytic_account.account,display_balance:0"
+msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
 msgstr "Ansicht Bilanz"
 
-msgctxt "field:analytic_account.account,mandatory:0"
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
 msgstr "Erforderlich"
 
-msgctxt "field:analytic_account.account,name:0"
+msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:analytic_account.account,note:0"
+msgctxt "field:analytic_account.account,note:"
 msgid "Note"
 msgstr "Notiz"
 
-msgctxt "field:analytic_account.account,parent:0"
+msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
 msgstr "Übergeordnet (Kostenstelle)"
 
-msgctxt "field:analytic_account.account,rec_name:0"
+msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:analytic_account.account,root:0"
+msgctxt "field:analytic_account.account,root:"
 msgid "Root"
 msgstr "Wurzel"
 
-msgctxt "field:analytic_account.account,state:0"
+msgctxt "field:analytic_account.account,state:"
 msgid "State"
 msgstr "Status"
 
-msgctxt "field:analytic_account.account,type:0"
+msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr "Typ"
 
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,account:0"
+"field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
 msgstr "Konto"
 
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Name"
 
 msgctxt ""
-"field:analytic_account.account-"
-"analytic_account.account.selection,selection:0"
+"field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
 msgstr "Auswahl"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
-msgid "End Date"
-msgstr "Enddatum"
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
-msgid "Start Date"
-msgstr "Anfangsdatum"
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
 
-msgctxt "field:analytic_account.account.selection,accounts:0"
+msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
 msgstr "Konten"
 
-msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:analytic_account.line,account:0"
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
+msgctxt "field:analytic_account.line,account:"
 msgid "Account"
 msgstr "Konto"
 
-msgctxt "field:analytic_account.line,active:0"
+msgctxt "field:analytic_account.line,active:"
 msgid "Active"
 msgstr "Aktiv"
 
-msgctxt "field:analytic_account.line,credit:0"
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
 msgstr "Haben"
 
-msgctxt "field:analytic_account.line,currency:0"
+msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
 msgstr "Währung"
 
-msgctxt "field:analytic_account.line,currency_digits:0"
+msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
 msgstr "Währung (signifikante Stellen)"
 
-msgctxt "field:analytic_account.line,date:0"
+msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr "Datum"
 
-msgctxt "field:analytic_account.line,debit:0"
+msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
 msgstr "Soll"
 
-msgctxt "field:analytic_account.line,journal:0"
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
 msgstr "Journal"
 
-msgctxt "field:analytic_account.line,move_line:0"
+msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
 msgstr "Buchungszeile"
 
-msgctxt "field:analytic_account.line,name:0"
+msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:analytic_account.line,party:0"
+msgctxt "field:analytic_account.line,party:"
 msgid "Party"
 msgstr "Partei"
 
-msgctxt "field:analytic_account.line,rec_name:0"
+msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr "Name"
 
-msgctxt "field:analytic_account.line,reference:0"
+msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr "Interner Beleg"
 
-msgctxt "model:account.statement,name:0"
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Enddatum"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Anfangsdatum"
+
+msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Zahlungsverkehr"
 
-msgctxt "model:account.statement.journal,name:0"
+msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Journal Zahlungsverkehr"
 
-msgctxt "model:account.statement.line,name:0"
+msgctxt "model:account.statement.line,name:"
 msgid "Account Statement Line"
 msgstr "Zahlungsverkehr Position"
 
-msgctxt "model:analytic_account.account,name:0"
+msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
 msgstr "Kostenstelle"
 
 msgctxt ""
-"model:analytic_account.account-analytic_account.account.selection,name:0"
+"model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
 msgstr "Kostenstelle - Kostenstelle Auswahl"
 
-msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
-msgid "Open Chart Account Init"
-msgstr "Kontenplan Öffnen Init"
-
-msgctxt "model:analytic_account.account.selection,name:0"
+msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
 msgstr "Kostenstelle Auswahl"
 
-msgctxt "model:analytic_account.line,name:0"
+msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
 msgstr "Kostenstelle Zeile"
 
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr "Kontenplan öffnen"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Kostenstellen"
@@ -349,9 +440,9 @@ msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
 msgstr "Konto öffnen"
 
-msgctxt "model:ir.action,name:act_open_chart_account"
+msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Kostenstellenplan Öffnen"
+msgstr "Kostenstellenplan öffnen"
 
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
@@ -365,7 +456,7 @@ msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
 msgstr "Kostenstellen"
 
-msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Kostenstellenplan öffnen"
 
@@ -373,163 +464,162 @@ msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Kostenstellen Administration"
 
-msgctxt "selection:account.statement,state:0"
+msgctxt "selection:account.statement,state:"
 msgid "Canceled"
 msgstr "Annulliert"
 
-msgctxt "selection:account.statement,state:0"
+msgctxt "selection:account.statement,state:"
 msgid "Draft"
 msgstr "Entwurf"
 
-msgctxt "selection:account.statement,state:0"
+msgctxt "selection:account.statement,state:"
 msgid "Posted"
 msgstr "Festgeschrieben"
 
-msgctxt "selection:account.statement,state:0"
+msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Geprüft"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
 msgstr "Haben - Soll"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr "Soll - Haben"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr "Geschlossen"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Entwurf"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr "Geöffnet"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr "Normal"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
 msgstr "Wurzel"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Sicht"
 
-msgctxt "view:account.move.line:0"
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Kostenstelle"
 
-msgctxt "view:account.move:0"
+msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr "Kostenstelle"
 
-msgctxt "view:account.statement.journal:0"
+msgctxt "view:account.statement.journal:"
 msgid "Statement Journal"
 msgstr "Journal Zahlungsverkehr"
 
-msgctxt "view:account.statement.journal:0"
+msgctxt "view:account.statement.journal:"
 msgid "Statement Journals"
 msgstr "Journale Zahlungsverkehr"
 
-msgctxt "view:account.statement.line:0"
+msgctxt "view:account.statement.line:"
 msgid "Bank Statement Line"
 msgstr "Posten Bankauszüge"
 
-msgctxt "view:account.statement.line:0"
+msgctxt "view:account.statement.line:"
 msgid "Statement Line"
 msgstr "Zahlungsposten"
 
-msgctxt "view:account.statement.line:0"
+msgctxt "view:account.statement.line:"
 msgid "Statement Lines"
 msgstr "Zahlungsposten"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Bank Statement"
 msgstr "Bankauszug"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Bank Statement Lines"
 msgstr "Posten Bankauszüge"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Bank Statements"
 msgstr "Bankauszüge"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Annullieren"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Move Lines"
 msgstr "Buchungsposten"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Post"
 msgstr "Festschreiben"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Reset to Draft"
 msgstr "Auf Entwurf zurücksetzen"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Statement"
 msgstr "Zahlung"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Statement Lines"
 msgstr "Zahlungsposten"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Statements"
 msgstr "Zahlungsverkehr"
 
-msgctxt "view:account.statement:0"
+msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Prüfen"
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Accounts"
-msgstr "Kostenstellenplan öffnen"
-
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
 msgstr "Kostenstelle"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr "Kostenstellen"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr "Allgemein"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Notizen"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr "Kostenstelle"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
 msgstr "Kostenstellen"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr "Allgemein"
 
-msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Kostenstellenplan öffnen"
+
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Abbrechen"
 
-msgctxt ""
-"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
-msgstr "Öffnen"
+msgstr "Offen"
diff --git a/locale/es_AR.po b/locale/es_AR.po
new file mode 100644
index 0000000..542f292
--- /dev/null
+++ b/locale/es_AR.po
@@ -0,0 +1,3 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 6b5b6ac..fd89a4d 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -2,7 +2,7 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:analytic_account.account.selection:0"
+msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
@@ -10,201 +10,298 @@ msgstr ""
 "¡No se puede tener varias cuentas con la misma cuenta padre o tantas sin "
 "cuenta padre!"
 
-msgctxt "error:analytic_account.account:0"
+msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
 msgstr "¡No se puede crear cuentas recursivas!"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
 msgstr "Valores erróneos de crédito/debito!"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
 msgstr "No puede crearse línea de movimiento"
 
-msgctxt "field:account.move.line,analytic_lines:0"
+msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Líneas Analíticas"
 
-msgctxt "field:analytic_account.account,active:0"
+msgctxt "field:analytic_account.account,active:"
 msgid "Active"
 msgstr "Activo"
 
-msgctxt "field:analytic_account.account,balance:0"
+msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
 msgstr "Balance"
 
-msgctxt "field:analytic_account.account,childs:0"
+msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr "Hij at s"
 
-msgctxt "field:analytic_account.account,code:0"
+msgctxt "field:analytic_account.account,code:"
 msgid "Code"
 msgstr "Código"
 
-msgctxt "field:analytic_account.account,company:0"
+msgctxt "field:analytic_account.account,company:"
 msgid "Company"
 msgstr "Compañía"
 
-msgctxt "field:analytic_account.account,credit:0"
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr "Crear usuario"
+
+msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
 msgstr "Crédito"
 
-msgctxt "field:analytic_account.account,currency:0"
+msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
 msgstr "Moneda"
 
-msgctxt "field:analytic_account.account,currency_digits:0"
+msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
 msgstr "Dígitos de Moneda"
 
-msgctxt "field:analytic_account.account,debit:0"
+msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
 msgstr "Débito"
 
-msgctxt "field:analytic_account.account,display_balance:0"
+msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
 msgstr "Mostrar Balance"
 
-msgctxt "field:analytic_account.account,mandatory:0"
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
 msgstr "Obligatorio"
 
-msgctxt "field:analytic_account.account,name:0"
+msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.account,note:0"
+msgctxt "field:analytic_account.account,note:"
 msgid "Note"
 msgstr "Nota"
 
-msgctxt "field:analytic_account.account,parent:0"
+msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
 msgstr "Padre"
 
-msgctxt "field:analytic_account.account,rec_name:0"
+msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.account,root:0"
+msgctxt "field:analytic_account.account,root:"
 msgid "Root"
 msgstr "Raíz"
 
-msgctxt "field:analytic_account.account,state:0"
+msgctxt "field:analytic_account.account,state:"
 msgid "State"
 msgstr "Estado"
 
-msgctxt "field:analytic_account.account,type:0"
+msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr "Tipo"
 
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,account:0"
+"field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
 msgstr "Cuenta"
 
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Crear usuario"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Nombre"
 
 msgctxt ""
-"field:analytic_account.account-"
-"analytic_account.account.selection,selection:0"
+"field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
 msgstr "Selección"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
-msgid "End Date"
-msgstr "Fecha Fin"
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
 
-msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
-msgid "Start Date"
-msgstr "Fecha Inicio"
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
 
-msgctxt "field:analytic_account.account.selection,accounts:0"
+msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
 msgstr "Cuentas"
 
-msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Crear usuario"
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.line,account:0"
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:analytic_account.line,account:"
 msgid "Account"
 msgstr "Cuenta"
 
-msgctxt "field:analytic_account.line,active:0"
+msgctxt "field:analytic_account.line,active:"
 msgid "Active"
 msgstr "Activo"
 
-msgctxt "field:analytic_account.line,credit:0"
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr "Crear usuario"
+
+msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
 msgstr "Crédito"
 
-msgctxt "field:analytic_account.line,currency:0"
+msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
 msgstr "Moneda"
 
-msgctxt "field:analytic_account.line,currency_digits:0"
+msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
 msgstr "Dígitos de Moneda"
 
-msgctxt "field:analytic_account.line,date:0"
+msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr "Fecha"
 
-msgctxt "field:analytic_account.line,debit:0"
+msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
 msgstr "Débito"
 
-msgctxt "field:analytic_account.line,journal:0"
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
 msgstr "Diario"
 
-msgctxt "field:analytic_account.line,move_line:0"
+msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
 msgstr "Linea de Movimiento de Cuenta"
 
-msgctxt "field:analytic_account.line,name:0"
+msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.line,party:0"
+msgctxt "field:analytic_account.line,party:"
 msgid "Party"
 msgstr "Terceros"
 
-msgctxt "field:analytic_account.line,rec_name:0"
+msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.line,reference:0"
+msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr "Referencia"
 
-msgctxt "model:analytic_account.account,name:0"
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Fecha Final"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Fecha Inicio"
+
+msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
 msgstr "Cuenta Analítica"
 
 msgctxt ""
-"model:analytic_account.account-analytic_account.account.selection,name:0"
+"model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
 msgstr "Cuenta Analítica - Selección de Cuenta Analítica"
 
-msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
-msgid "Open Chart Account Init"
-msgstr "Abrir Inicio de Plan de Cuentas"
-
-msgctxt "model:analytic_account.account.selection,name:0"
+msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
 msgstr "Selección de Cuenta Analítica"
 
-msgctxt "model:analytic_account.line,name:0"
+msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
 msgstr "Línea Analítica"
 
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
@@ -226,9 +323,9 @@ msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
 msgstr "Abrir Cuenta"
 
-msgctxt "model:ir.action,name:act_open_chart_account"
+msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir Plan de Cuentas Analítico"
+msgstr ""
 
 #, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_account_list"
@@ -243,92 +340,93 @@ msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
 msgstr "Cuenta Analítica"
 
-msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir Plan de Cuentas Analítico"
+msgstr ""
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Administración Analítica"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
 msgstr "Crédito - Débito"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr "Débito - Crédito"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr "Cerrado"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Borrador"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr "Abierto"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr "Normal"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
 msgstr "Raíz"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Vista"
 
-msgctxt "view:account.move.line:0"
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Analítica"
 
 #, fuzzy
-msgctxt "view:account.move:0"
+msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr "Analítica"
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir Plan de Cuentas Analítico"
-
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
 msgstr "Cuenta Analítica"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr "Cuentas Analíticas"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr "Información General"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Notas"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr "Línea analítica"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
 msgstr "Líneas Analíticas"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr "Información General"
 
-msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+#, fuzzy
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Cancelar"
 
-msgctxt ""
-"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+#, fuzzy
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr "Abrir"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 8802ee4..f10ccc1 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -2,212 +2,302 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:analytic_account.account.selection:0"
+msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
 msgstr ""
-"No puede tener varias cuentas con la misma cuenta raiz o falta una cuenta "
-"raiz obligatoria"
+"No puede tener varias cuentas con la misma cuenta raíz o falta una cuenta "
+"raíz obligatoria."
 
-msgctxt "error:analytic_account.account:0"
+msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
-msgstr "No puede crear cuentas recursivas"
+msgstr "No puede crear cuentas recursivas."
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
-msgstr "Los valores debe/haber son incorrectos"
+msgstr "Los valores debe/haber son incorrectos."
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
 msgstr ""
-"No puede crear una linea de asiento\n"
-"en una cuenta vista/inactiva"
+"No puede crear un apunte\n"
+"en una cuenta vista/inactiva."
 
-msgctxt "field:account.move.line,analytic_lines:0"
+msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Líneas analíticas"
 
-msgctxt "field:analytic_account.account,active:0"
+msgctxt "field:analytic_account.account,active:"
 msgid "Active"
 msgstr "Activa"
 
-msgctxt "field:analytic_account.account,balance:0"
+msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
 msgstr "Balance"
 
-msgctxt "field:analytic_account.account,childs:0"
+msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr "Hijos"
 
-msgctxt "field:analytic_account.account,code:0"
+msgctxt "field:analytic_account.account,code:"
 msgid "Code"
 msgstr "Código"
 
-msgctxt "field:analytic_account.account,company:0"
+msgctxt "field:analytic_account.account,company:"
 msgid "Company"
 msgstr "Empresa"
 
-msgctxt "field:analytic_account.account,credit:0"
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr "Fecha creación"
+
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr "Usuario creación"
+
+msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
 msgstr "Haber"
 
-msgctxt "field:analytic_account.account,currency:0"
+msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
 msgstr "Divisa"
 
-msgctxt "field:analytic_account.account,currency_digits:0"
+msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
 msgstr "Decimales de la divisa"
 
-msgctxt "field:analytic_account.account,debit:0"
+msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
 msgstr "Debe"
 
-msgctxt "field:analytic_account.account,display_balance:0"
+msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
 msgstr "Mostrar balance"
 
-msgctxt "field:analytic_account.account,mandatory:0"
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
 msgstr "Obligatorio"
 
-msgctxt "field:analytic_account.account,name:0"
+msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.account,note:0"
+msgctxt "field:analytic_account.account,note:"
 msgid "Note"
 msgstr "Nota"
 
-msgctxt "field:analytic_account.account,parent:0"
+msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
 msgstr "Padre"
 
-msgctxt "field:analytic_account.account,rec_name:0"
+msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.account,root:0"
+msgctxt "field:analytic_account.account,root:"
 msgid "Root"
 msgstr "Raíz"
 
-msgctxt "field:analytic_account.account,state:0"
+msgctxt "field:analytic_account.account,state:"
 msgid "State"
 msgstr "Estado"
 
-msgctxt "field:analytic_account.account,type:0"
+msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr "Tipo"
 
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr "Fecha modificación"
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr "Usuario modificación"
+
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,account:0"
+"field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
 msgstr "Cuenta"
 
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Fecha creación"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Usuario creación"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Nombre"
 
 msgctxt ""
-"field:analytic_account.account-"
-"analytic_account.account.selection,selection:0"
+"field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
 msgstr "Selección"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
-msgid "End Date"
-msgstr "Fecha fin"
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Fecha modificación"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
-msgid "Start Date"
-msgstr "Fecha inicio"
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Usuario modificación"
 
-msgctxt "field:analytic_account.account.selection,accounts:0"
+msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
 msgstr "Cuentas"
 
-msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Fecha creación"
+
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Usuario creación"
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.line,account:0"
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Fecha modificación"
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Usuario modificación"
+
+msgctxt "field:analytic_account.line,account:"
 msgid "Account"
 msgstr "Cuenta"
 
-msgctxt "field:analytic_account.line,active:0"
+msgctxt "field:analytic_account.line,active:"
 msgid "Active"
 msgstr "Activa"
 
-msgctxt "field:analytic_account.line,credit:0"
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr "Fecha creación"
+
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr "Usuario creación"
+
+msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
 msgstr "Haber"
 
-msgctxt "field:analytic_account.line,currency:0"
+msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
 msgstr "Divisa"
 
-msgctxt "field:analytic_account.line,currency_digits:0"
+msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
 msgstr "Decimales de la divisa"
 
-msgctxt "field:analytic_account.line,date:0"
+msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr "Fecha"
 
-msgctxt "field:analytic_account.line,debit:0"
+msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
 msgstr "Debe"
 
-msgctxt "field:analytic_account.line,journal:0"
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
 msgstr "Diario"
 
-msgctxt "field:analytic_account.line,move_line:0"
+msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
-msgstr "Linea de asiento contable"
+msgstr "Apunte contable"
 
-msgctxt "field:analytic_account.line,name:0"
+msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.line,party:0"
+msgctxt "field:analytic_account.line,party:"
 msgid "Party"
 msgstr "Tercero"
 
-msgctxt "field:analytic_account.line,rec_name:0"
+msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr "Nombre"
 
-msgctxt "field:analytic_account.line,reference:0"
+msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr "Referencia"
 
-msgctxt "model:analytic_account.account,name:0"
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr "Fecha modificación"
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr "Usuario modificación"
+
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Fecha final"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Fecha inicial"
+
+msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
 msgstr "Cuenta analítica"
 
 msgctxt ""
-"model:analytic_account.account-analytic_account.account.selection,name:0"
+"model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
 msgstr "Cuenta analítica - Selección de cuenta analítica"
 
-msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
-msgid "Open Chart Account Init"
-msgstr "Inicializa la apertura del plan de cuentas"
-
-msgctxt "model:analytic_account.account.selection,name:0"
+msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
 msgstr "Selección de cuenta analítica"
 
-msgctxt "model:analytic_account.line,name:0"
+msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
 msgstr "Línea analítica"
 
-#, fuzzy
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr "Abrir plan contable"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Cuentas analíticas"
@@ -228,11 +318,10 @@ msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
 msgstr "Abrir cuenta"
 
-msgctxt "model:ir.action,name:act_open_chart_account"
+msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan contable analítico"
+msgstr "Abrir plan analítico"
 
-#, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Cuentas analíticas"
@@ -245,92 +334,90 @@ msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
 msgstr "Cuenta analítica"
 
-msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan contable analítico"
+msgstr "Abrir plan analítico"
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Administración analítica"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
 msgstr "Haber - Debe"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr "Debe - Haber"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr "Cerrada"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Borrador"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr "Abierta"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr "Normal"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
 msgstr "Raíz"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Vista"
 
-msgctxt "view:account.move.line:0"
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Analítica"
 
-#, fuzzy
-msgctxt "view:account.move:0"
+msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr "Analítica"
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Accounts"
-msgstr "Abrir plan de cuentas analítico"
-
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
 msgstr "Cuenta analítica"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr "Cuentas analíticas"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr "Información general"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Notas"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr "Línea analítica"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
 msgstr "Líneas analíticas"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr "Información general"
 
-msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir plan analítico"
+
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Cancelar"
 
-msgctxt ""
-"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr "Abrir"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 8f8a63e..924c61f 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -2,7 +2,7 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:analytic_account.account.selection:0"
+msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
@@ -10,15 +10,31 @@ msgstr ""
 "Vous ne pouvez pas avoir plusieurs comptes avec la même racine ou un compte "
 "avec une racine obligatoire!"
 
-msgctxt "error:analytic_account.account:0"
+msgctxt "error:analytic_account.account.selection:"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+"Vous ne pouvez pas avoir plusieurs comptes avec la même racine ou un compte "
+"avec une racine obligatoire!"
+
+msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
 msgstr "Vous ne pouvez pas créer des comptes récursifs!"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.account:"
+msgid "You can not create recursive accounts!"
+msgstr "Vous ne pouvez pas créer des comptes récursifs!"
+
+msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
 msgstr "Valeurs crédit/débit incorrectes"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
+msgid "Wrong credit/debit values!"
+msgstr "Valeurs crédit/débit incorrectes"
+
+msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
@@ -26,187 +42,286 @@ msgstr ""
 "Vous ne pouvez pas créer de mouvements\n"
 "sur des comptes inactifs ou de type vue!"
 
-msgctxt "field:account.move.line,analytic_lines:0"
+msgctxt "error:analytic_account.line:"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+"Vous ne pouvez pas créer de mouvements\n"
+"sur des comptes inactifs ou de type vue!"
+
+msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Lignes analytiques"
 
-msgctxt "field:analytic_account.account,active:0"
+msgctxt "field:analytic_account.account,active:"
 msgid "Active"
 msgstr "Actif"
 
-msgctxt "field:analytic_account.account,balance:0"
+msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
 msgstr "Balance"
 
-msgctxt "field:analytic_account.account,childs:0"
+msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr "Enfants"
 
-msgctxt "field:analytic_account.account,code:0"
+msgctxt "field:analytic_account.account,code:"
 msgid "Code"
 msgstr "Code"
 
-msgctxt "field:analytic_account.account,company:0"
+msgctxt "field:analytic_account.account,company:"
 msgid "Company"
 msgstr "Société"
 
-msgctxt "field:analytic_account.account,credit:0"
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
 msgstr "Crédit"
 
-msgctxt "field:analytic_account.account,currency:0"
+msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
 msgstr "Devise"
 
-msgctxt "field:analytic_account.account,currency_digits:0"
+msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
 msgstr "Décimales de la devise"
 
-msgctxt "field:analytic_account.account,debit:0"
+msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
 msgstr "Débit"
 
-msgctxt "field:analytic_account.account,display_balance:0"
+msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
 msgstr "Balance affichée"
 
-msgctxt "field:analytic_account.account,mandatory:0"
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
 msgstr "Obligatoire"
 
-msgctxt "field:analytic_account.account,name:0"
+msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr "Nom"
 
-msgctxt "field:analytic_account.account,note:0"
+msgctxt "field:analytic_account.account,note:"
 msgid "Note"
 msgstr "Note"
 
-msgctxt "field:analytic_account.account,parent:0"
+msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
 msgstr "Parent"
 
-msgctxt "field:analytic_account.account,rec_name:0"
+msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-msgctxt "field:analytic_account.account,root:0"
+msgctxt "field:analytic_account.account,root:"
 msgid "Root"
 msgstr "Racine"
 
-msgctxt "field:analytic_account.account,state:0"
+msgctxt "field:analytic_account.account,state:"
 msgid "State"
 msgstr "État"
 
-msgctxt "field:analytic_account.account,type:0"
+msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr "Type"
 
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,account:0"
+"field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
 msgstr "Compte"
 
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
 msgctxt ""
-"field:analytic_account.account-"
-"analytic_account.account.selection,selection:0"
+"field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
 msgstr "Sélection"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
-msgid "End Date"
-msgstr "Date de fin"
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
 
-msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
-msgid "Start Date"
-msgstr "Date de début"
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
 
-msgctxt "field:analytic_account.account.selection,accounts:0"
+msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
 msgstr "Comptes"
 
-msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-msgctxt "field:analytic_account.line,account:0"
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
+msgctxt "field:analytic_account.line,account:"
 msgid "Account"
 msgstr "Compte"
 
-msgctxt "field:analytic_account.line,active:0"
+msgctxt "field:analytic_account.line,active:"
 msgid "Active"
 msgstr "Actif"
 
-msgctxt "field:analytic_account.line,credit:0"
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
 msgstr "Crédit"
 
-msgctxt "field:analytic_account.line,currency:0"
+msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
 msgstr "Devise"
 
-msgctxt "field:analytic_account.line,currency_digits:0"
+msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
 msgstr "Décimales de la devise"
 
-msgctxt "field:analytic_account.line,date:0"
+msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr "Date"
 
-msgctxt "field:analytic_account.line,debit:0"
+msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
 msgstr "Débit"
 
-msgctxt "field:analytic_account.line,journal:0"
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
 msgstr "Journal"
 
-msgctxt "field:analytic_account.line,move_line:0"
+msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
 msgstr "Ligne de mouvement comptable"
 
-msgctxt "field:analytic_account.line,name:0"
+msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr "Nom"
 
-msgctxt "field:analytic_account.line,party:0"
+msgctxt "field:analytic_account.line,party:"
 msgid "Party"
 msgstr "Partenaire"
 
-msgctxt "field:analytic_account.line,rec_name:0"
+msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-msgctxt "field:analytic_account.line,reference:0"
+msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr "Référence"
 
-msgctxt "model:analytic_account.account,name:0"
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Date de fin"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Date de début"
+
+msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
 msgstr "Compte analytique"
 
 msgctxt ""
-"model:analytic_account.account-analytic_account.account.selection,name:0"
+"model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
 msgstr "Compte analytique - Sélection compte analytique"
 
-msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
-msgid "Open Chart Account Init"
-msgstr "Ouvrir le plan comptable - Initialisation"
-
-msgctxt "model:analytic_account.account.selection,name:0"
+msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
 msgstr "Sélection compte analytique"
 
-msgctxt "model:analytic_account.line,name:0"
+msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
 msgstr "Ligne analytique"
 
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr "Ouvrir le plan comptable"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Comptes analytiques"
@@ -227,7 +342,7 @@ msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
 msgstr "Ouvrir le compte"
 
-msgctxt "model:ir.action,name:act_open_chart_account"
+msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Ouvrir le plan comptable analytique"
 
@@ -243,7 +358,7 @@ msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
 msgstr "Compte analytique"
 
-msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Ouvrir le plan comptable analytique"
 
@@ -251,87 +366,146 @@ msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Administration analytique"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
 msgstr "Crédit - Débit"
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
+msgid "Credit - Debit"
+msgstr "Crédit - Débit"
+
+msgctxt "selection:analytic_account.account,display_balance:"
+msgid "Debit - Credit"
+msgstr "Débit - Crédit"
+
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr "Débit - Crédit"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr "Fermé"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
+msgid "Closed"
+msgstr "Fermé"
+
+msgctxt "selection:analytic_account.account,state:"
+msgid "Draft"
+msgstr "Brouillon"
+
+msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Brouillon"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
+msgid "Opened"
+msgstr "Ouvert"
+
+msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr "Ouvert"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
+msgid "Normal"
+msgstr "Normal"
+
+msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr "Normal"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
 msgstr "Racine"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
+msgid "Root"
+msgstr "Racine"
+
+msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Vue"
 
-msgctxt "view:account.move.line:0"
+msgctxt "selection:analytic_account.account,type:"
+msgid "View"
+msgstr "Vue"
+
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Analytique"
 
-msgctxt "view:account.move:0"
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Analytique"
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Account"
-msgstr "Ouvrir le plan comptable analytique"
+msgctxt "view:account.move:"
+msgid "Analytic"
+msgstr "Analytique"
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Accounts"
-msgstr "Ouvrir le plan comptable analytique"
+msgctxt "view:analytic_account.account:"
+msgid "Analytic Account"
+msgstr "Compte analytique"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
 msgstr "Compte analytique"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
+msgid "Analytic Accounts"
+msgstr "Comptes analytiques"
+
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr "Comptes analytiques"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr "Information générale"
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
+msgid "General Information"
+msgstr "Information générale"
+
+msgctxt "view:analytic_account.account:"
+msgid "Notes"
+msgstr "Notes"
+
+msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Notes"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
+msgid "Analytic Line"
+msgstr "Ligne analytique"
+
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr "Ligne analytique"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
+msgid "Analytic Lines"
+msgstr "Lignes analytiques"
+
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
 msgstr "Lignes analytiques"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr "Information générale"
 
-msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgctxt "view:analytic_account.line:"
+msgid "General Information"
+msgstr "Information générale"
+
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Ouvrir le plan comptable analytique"
+
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Annuler"
 
-msgctxt ""
-"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr "Ouvrir"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index fc1d479..2adc0c0 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -2,246 +2,336 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:analytic_account.account.selection:0"
+msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
 msgstr ""
 
 #, fuzzy
-msgctxt "error:analytic_account.account:0"
+msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
 msgstr "U kunt geen rekeningen aanmaken die naar zichzelf verwijzen!"
 
 #, fuzzy
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
 msgstr "Verkeerde debit/credit waarden!"
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
 msgstr ""
 
-msgctxt "field:account.move.line,analytic_lines:0"
+msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,active:0"
+msgctxt "field:analytic_account.account,active:"
 msgid "Active"
 msgstr "Actief"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,balance:0"
+msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
 msgstr "Balans"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,childs:0"
+msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr "Onderliggende niveaus"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,code:0"
+msgctxt "field:analytic_account.account,code:"
 msgid "Code"
 msgstr "Code"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,company:0"
+msgctxt "field:analytic_account.account,company:"
 msgid "Company"
 msgstr "Bedrijf"
 
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr ""
+
 #, fuzzy
-msgctxt "field:analytic_account.account,credit:0"
+msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
 msgstr "Credit"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,currency:0"
+msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
 msgstr "Valuta"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,currency_digits:0"
+msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
 msgstr "Valuta decimalen"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,debit:0"
+msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
 msgstr "Debit"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,display_balance:0"
+msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
 msgstr "Toon balans"
 
-msgctxt "field:analytic_account.account,mandatory:0"
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,name:0"
+msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr "Naam bijlage"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,note:0"
+msgctxt "field:analytic_account.account,note:"
 msgid "Note"
 msgstr "Aantekening"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,parent:0"
+msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
 msgstr "Bovenliggend niveau"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,rec_name:0"
+msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr "Naam bijlage"
 
-msgctxt "field:analytic_account.account,root:0"
+msgctxt "field:analytic_account.account,root:"
 msgid "Root"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,state:0"
+msgctxt "field:analytic_account.account,state:"
 msgid "State"
 msgstr "Status"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,type:0"
+msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr "Type"
 
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr ""
+
 #, fuzzy
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,account:0"
+"field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
 msgstr "Rekeningen"
 
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
 #, fuzzy
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Naam bijlage"
 
 #, fuzzy
 msgctxt ""
-"field:analytic_account.account-"
-"analytic_account.account.selection,selection:0"
+"field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
 msgstr "Selectie"
 
-#, fuzzy
-msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
-msgid "End Date"
-msgstr "Eind datum"
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
 
-#, fuzzy
-msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
-msgid "Start Date"
-msgstr "Start datum"
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account.selection,accounts:0"
+msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
 msgstr "Rekeningen"
 
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
 #, fuzzy
-msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Naam bijlage"
 
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
+
 #, fuzzy
-msgctxt "field:analytic_account.line,account:0"
+msgctxt "field:analytic_account.line,account:"
 msgid "Account"
 msgstr "Rekeningen"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,active:0"
+msgctxt "field:analytic_account.line,active:"
 msgid "Active"
 msgstr "Actief"
 
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr ""
+
 #, fuzzy
-msgctxt "field:analytic_account.line,credit:0"
+msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
 msgstr "Credit"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,currency:0"
+msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
 msgstr "Valuta"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,currency_digits:0"
+msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
 msgstr "Valuta decimalen"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,date:0"
+msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr "Vervaldatum"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,debit:0"
+msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
 msgstr "Debit"
 
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr ""
+
 #, fuzzy
-msgctxt "field:analytic_account.line,journal:0"
+msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
 msgstr "Dagboek"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,move_line:0"
+msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
 msgstr "Boekingsregel"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,name:0"
+msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr "Naam bijlage"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,party:0"
+msgctxt "field:analytic_account.line,party:"
 msgid "Party"
 msgstr "Relaties"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,rec_name:0"
+msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr "Naam bijlage"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,reference:0"
+msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr "Referentie"
 
-msgctxt "model:analytic_account.account,name:0"
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Eind datum"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Start datum"
+
+msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
 msgstr ""
 
 msgctxt ""
-"model:analytic_account.account-analytic_account.account.selection,name:0"
+"model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
 msgstr ""
 
-#, fuzzy
-msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
-msgid "Open Chart Account Init"
-msgstr "Rekeningschema gaan openen"
-
-msgctxt "model:analytic_account.account.selection,name:0"
+msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
 msgstr ""
 
-msgctxt "model:analytic_account.line,name:0"
+msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
 msgstr ""
 
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -262,7 +352,7 @@ msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_open_chart_account"
+msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
@@ -278,7 +368,7 @@ msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
@@ -287,92 +377,91 @@ msgid "Analytic Administration"
 msgstr ""
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
 msgstr "Credit - Debit"
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr "Debit - Credit"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr ""
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Concept"
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr "Geopend"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
 msgstr ""
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Overzicht"
 
-msgctxt "view:account.move.line:0"
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr ""
 
-msgctxt "view:account.move:0"
+msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr ""
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Accounts"
-msgstr ""
-
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
 msgstr ""
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr ""
 
 #, fuzzy
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr "Algemene informatie"
 
 #, fuzzy
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Aantekeningen"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr ""
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
 msgstr ""
 
 #, fuzzy
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr "Algemene informatie"
 
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
 #, fuzzy
-msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Annuleren"
 
 #, fuzzy
-msgctxt ""
-"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr "Open"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 11cc616..9d78ab1 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -2,229 +2,320 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:analytic_account.account.selection:0"
+msgctxt "error:analytic_account.account.selection:"
 msgid ""
 "Can not have many accounts with the same root or a missing mandatory root "
 "account!"
 msgstr ""
 
-msgctxt "error:analytic_account.account:0"
+msgctxt "error:analytic_account.account:"
 msgid "You can not create recursive accounts!"
 msgstr ""
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values!"
 msgstr ""
 
-msgctxt "error:analytic_account.line:0"
+msgctxt "error:analytic_account.line:"
 msgid ""
 "You can not create move line\n"
 "on view/inactive account!"
 msgstr ""
 
-msgctxt "field:account.move.line,analytic_lines:0"
+msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,active:0"
+msgctxt "field:analytic_account.account,active:"
 msgid "Active"
 msgstr "Действительный"
 
-msgctxt "field:analytic_account.account,balance:0"
+msgctxt "field:analytic_account.account,balance:"
 msgid "Balance"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,childs:0"
+msgctxt "field:analytic_account.account,childs:"
 msgid "Children"
 msgstr "Подчиненый"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,code:0"
+msgctxt "field:analytic_account.account,code:"
 msgid "Code"
 msgstr "Код страны"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,company:0"
+msgctxt "field:analytic_account.account,company:"
 msgid "Company"
 msgstr "Учет.орг."
 
-msgctxt "field:analytic_account.account,credit:0"
+msgctxt "field:analytic_account.account,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,currency:0"
+msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
 msgstr "Валюты"
 
-msgctxt "field:analytic_account.account,currency_digits:0"
+msgctxt "field:analytic_account.account,currency_digits:"
 msgid "Currency Digits"
 msgstr ""
 
-msgctxt "field:analytic_account.account,debit:0"
+msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
 msgstr ""
 
-msgctxt "field:analytic_account.account,display_balance:0"
+msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
 msgstr ""
 
-msgctxt "field:analytic_account.account,mandatory:0"
+msgctxt "field:analytic_account.account,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.account,mandatory:"
 msgid "Mandatory"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,name:0"
+msgctxt "field:analytic_account.account,name:"
 msgid "Name"
 msgstr "Наименование"
 
-msgctxt "field:analytic_account.account,note:0"
+msgctxt "field:analytic_account.account,note:"
 msgid "Note"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,parent:0"
+msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
 msgstr "Основной"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,rec_name:0"
+msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
-msgctxt "field:analytic_account.account,root:0"
+msgctxt "field:analytic_account.account,root:"
 msgid "Root"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.account,state:0"
+msgctxt "field:analytic_account.account,state:"
 msgid "State"
 msgstr "Статус"
 
 #, fuzzy
-msgctxt "field:analytic_account.account,type:0"
+msgctxt "field:analytic_account.account,type:"
 msgid "Type"
 msgstr "Тип"
 
+msgctxt "field:analytic_account.account,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,account:0"
+"field:analytic_account.account-analytic_account.account.selection,account:"
 msgid "Account"
 msgstr ""
 
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
 #, fuzzy
 msgctxt ""
-"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+"field:analytic_account.account-analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
 #, fuzzy
 msgctxt ""
-"field:analytic_account.account-"
-"analytic_account.account.selection,selection:0"
+"field:analytic_account.account-analytic_account.account.selection,selection:"
 msgid "Selection"
 msgstr "Выбор"
 
-#, fuzzy
-msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
-msgid "End Date"
-msgstr "Дата окончания"
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
 
-#, fuzzy
-msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
-msgid "Start Date"
-msgstr "Дата начала"
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
 
-msgctxt "field:analytic_account.account.selection,accounts:0"
+msgctxt "field:analytic_account.account.selection,accounts:"
 msgid "Accounts"
 msgstr ""
 
+msgctxt "field:analytic_account.account.selection,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,id:"
+msgid "ID"
+msgstr ""
+
 #, fuzzy
-msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgctxt "field:analytic_account.account.selection,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
-msgctxt "field:analytic_account.line,account:0"
+msgctxt "field:analytic_account.account.selection,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:analytic_account.line,account:"
 msgid "Account"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.line,active:0"
+msgctxt "field:analytic_account.line,active:"
 msgid "Active"
 msgstr "Действительный"
 
-msgctxt "field:analytic_account.line,credit:0"
+msgctxt "field:analytic_account.line,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.line,currency:0"
+msgctxt "field:analytic_account.line,currency:"
 msgid "Currency"
 msgstr "Валюты"
 
-msgctxt "field:analytic_account.line,currency_digits:0"
+msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.line,date:0"
+msgctxt "field:analytic_account.line,date:"
 msgid "Date"
 msgstr "Дата"
 
-msgctxt "field:analytic_account.line,debit:0"
+msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
 msgstr ""
 
-msgctxt "field:analytic_account.line,journal:0"
+msgctxt "field:analytic_account.line,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.line,journal:"
 msgid "Journal"
 msgstr ""
 
-msgctxt "field:analytic_account.line,move_line:0"
+msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:analytic_account.line,name:0"
+msgctxt "field:analytic_account.line,name:"
 msgid "Name"
 msgstr "Наименование"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,party:0"
+msgctxt "field:analytic_account.line,party:"
 msgid "Party"
 msgstr "Организации"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,rec_name:0"
+msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
 #, fuzzy
-msgctxt "field:analytic_account.line,reference:0"
+msgctxt "field:analytic_account.line,reference:"
 msgid "Reference"
 msgstr "Ссылка"
 
-msgctxt "model:analytic_account.account,name:0"
+msgctxt "field:analytic_account.line,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,write_uid:"
+msgid "Write User"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.open_chart.start,end_date:"
+msgid "End Date"
+msgstr "Дата окончания"
+
+msgctxt "field:analytic_account.open_chart.start,id:"
+msgid "ID"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.open_chart.start,start_date:"
+msgid "Start Date"
+msgstr "Дата начала"
+
+msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
 msgstr ""
 
 msgctxt ""
-"model:analytic_account.account-analytic_account.account.selection,name:0"
+"model:analytic_account.account-analytic_account.account.selection,name:"
 msgid "Analytic Account - Analytic Account Selection"
 msgstr ""
 
-msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
-msgid "Open Chart Account Init"
-msgstr ""
-
-msgctxt "model:analytic_account.account.selection,name:0"
+msgctxt "model:analytic_account.account.selection,name:"
 msgid "Analytic Account Selection"
 msgstr ""
 
-msgctxt "model:analytic_account.line,name:0"
+msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
 msgstr ""
 
+msgctxt "model:analytic_account.open_chart.start,name:"
+msgid "Open Chart of Accounts"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -245,7 +336,7 @@ msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_open_chart_account"
+msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
@@ -261,7 +352,7 @@ msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
@@ -269,90 +360,89 @@ msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
 msgstr ""
 
-msgctxt "selection:analytic_account.account,display_balance:0"
+msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
 msgstr ""
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
 msgstr "Закрыто"
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Draft"
 msgstr "Черновик"
 
-msgctxt "selection:analytic_account.account,state:0"
+msgctxt "selection:analytic_account.account,state:"
 msgid "Opened"
 msgstr ""
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
 msgstr "Нормально"
 
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "Root"
 msgstr ""
 
 #, fuzzy
-msgctxt "selection:analytic_account.account,type:0"
+msgctxt "selection:analytic_account.account,type:"
 msgid "View"
 msgstr "Просмотр"
 
-msgctxt "view:account.move.line:0"
+msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr ""
 
-msgctxt "view:account.move:0"
+msgctxt "view:account.move:"
 msgid "Analytic"
 msgstr ""
 
-msgctxt "view:analytic_account.account.open_chart_account.init:0"
-msgid "Open Chart of Analytic Accounts"
-msgstr ""
-
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Account"
 msgstr ""
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Analytic Accounts"
 msgstr ""
 
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "General Information"
 msgstr ""
 
 #, fuzzy
-msgctxt "view:analytic_account.account:0"
+msgctxt "view:analytic_account.account:"
 msgid "Notes"
 msgstr "Комментарии"
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Line"
 msgstr ""
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "Analytic Lines"
 msgstr ""
 
-msgctxt "view:analytic_account.line:0"
+msgctxt "view:analytic_account.line:"
 msgid "General Information"
 msgstr ""
 
+msgctxt "view:analytic_account.open_chart.start:"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
 #, fuzzy
-msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,end:"
 msgid "Cancel"
 msgstr "Отменить"
 
 #, fuzzy
-msgctxt ""
-"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgctxt "wizard_button:analytic_account.open_chart,start,open_:"
 msgid "Open"
 msgstr "Открыть"
diff --git a/setup.py b/setup.py
index f3b5fad..df4e934 100644
--- a/setup.py
+++ b/setup.py
@@ -12,7 +12,7 @@ minor_version = int(minor_version)
 
 requires = []
 for dep in info.get('depends', []):
-    if not re.match(r'(ir|res|workflow|webdav)(\W|$)', dep):
+    if not re.match(r'(ir|res|webdav)(\W|$)', dep):
         requires.append('trytond_%s >= %s.%s, < %s.%s' %
                 (dep, major_version, minor_version, major_version,
                     minor_version + 1))
diff --git a/tests/__init__.py b/tests/__init__.py
index a76a403..43e5109 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,4 +1,4 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
 
-from test_analytic_account import suite
+from .test_analytic_account import suite
diff --git a/tests/test_analytic_account.py b/tests/test_analytic_account.py
index 40c212f..1b367d2 100644
--- a/tests/test_analytic_account.py
+++ b/tests/test_analytic_account.py
@@ -2,7 +2,8 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
 
-import sys, os
+import sys
+import os
 DIR = os.path.abspath(os.path.normpath(os.path.join(__file__,
     '..', '..', '..', '..', '..', 'trytond')))
 if os.path.isdir(DIR):
@@ -33,6 +34,7 @@ class AnalyticAccountTestCase(unittest.TestCase):
         '''
         test_depends()
 
+
 def suite():
     suite = trytond.tests.test_tryton.suite()
     suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index 31b8523..fec9d95 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 2.2.0
+Version: 2.4.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.2/
+Download-URL: http://downloads.tryton.org/2.4/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index 50f91c0..d653761 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -15,8 +15,10 @@ setup.py
 ./tests/__init__.py
 ./tests/test_analytic_account.py
 locale/bg_BG.po
+locale/ca_ES.po
 locale/cs_CZ.po
 locale/de_DE.po
+locale/es_AR.po
 locale/es_CO.po
 locale/es_ES.po
 locale/fr_FR.po
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 8c2fa0b..ce00589 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,5 +1,5 @@
-trytond_company >= 2.2, < 2.3
-trytond_currency >= 2.2, < 2.3
-trytond_account >= 2.2, < 2.3
-trytond_party >= 2.2, < 2.3
-trytond >= 2.2, < 2.3
\ No newline at end of file
+trytond_company >= 2.4, < 2.5
+trytond_currency >= 2.4, < 2.5
+trytond_account >= 2.4, < 2.5
+trytond_party >= 2.4, < 2.5
+trytond >= 2.4, < 2.5
\ No newline at end of file
commit 767d5113928726d5c9651fe4dc4ffb2ef875391a
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Oct 31 16:20:30 2011 +0100

    Adding upstream version 2.2.0.

diff --git a/CHANGELOG b/CHANGELOG
index 04a6064..d856081 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 2.2.0 - 2011-10-24
+* Bug fixes (see mercurial logs for details)
+
 Version 2.0.0 - 2011-04-27
 * Bug fixes (see mercurial logs for details)
 
diff --git a/MANIFEST.in b/MANIFEST.in
index 5343ad8..7f5d5fd 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -6,4 +6,4 @@ include CHANGELOG
 include LICENSE
 include *.xml
 include *.odt
-include *.csv
+include locale/*.po
diff --git a/PKG-INFO b/PKG-INFO
index 6b68b1b..61510fb 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 2.0.0
+Version: 2.2.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,22 +11,25 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.0/
+Download-URL: http://downloads.tryton.org/2.2/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
+Classifier: Framework :: Tryton
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Czech
+Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2.5
 Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
diff --git a/__tryton__.py b/__tryton__.py
index 29052d2..a325ee9 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -7,7 +7,7 @@
     'name_es_CO': 'Contabilidad Analítica',
     'name_es_ES': 'Contabilidad analítica',
     'name_fr_FR': 'Comptabilité analytique',
-    'version': '2.0.0',
+    'version': '2.2.0',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
@@ -61,10 +61,13 @@ Et le rapport:
         'line.xml',
     ],
     'translation': [
-        'bg_BG.csv',
-        'de_DE.csv',
-        'es_CO.csv',
-        'es_ES.csv',
-        'fr_FR.csv',
+        'locale/bg_BG.po',
+        'locale/cs_CZ.po',
+        'locale/de_DE.po',
+        'locale/es_CO.po',
+        'locale/es_ES.po',
+        'locale/fr_FR.po',
+        'locale/nl_NL.po',
+        'locale/ru_RU.po',
     ],
 }
diff --git a/account.py b/account.py
index fd7be9c..8bf2dee 100644
--- a/account.py
+++ b/account.py
@@ -4,8 +4,9 @@ from decimal import Decimal
 import copy
 from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard
-from trytond.pyson import Equal, Eval, Not, PYSONEncoder
+from trytond.pyson import Eval, PYSONEncoder
 from trytond.transaction import Transaction
+from trytond.pool import Pool
 
 
 class Account(ModelSQL, ModelView):
@@ -26,17 +27,19 @@ class Account(ModelSQL, ModelView):
         ('normal', 'Normal'),
         ], 'Type', required=True)
     root = fields.Many2One('analytic_account.account', 'Root', select=2,
-            domain=[('parent', '=', False)],
-            states={
-                'invisible': Equal(Eval('type'), 'root'),
-                'required': Not(Equal(Eval('type'), 'root')),
-            })
+        domain=[('parent', '=', False)],
+        states={
+            'invisible': Eval('type') == 'root',
+            'required': Eval('type') != 'root',
+            },
+        depends=['type'])
     parent = fields.Many2One('analytic_account.account', 'Parent', select=2,
-            domain=[('parent', 'child_of', Eval('root'))],
-            states={
-                'invisible': Equal(Eval('type'), 'root'),
-                'required': Not(Equal(Eval('type'), 'root')),
-            })
+        domain=[('parent', 'child_of', Eval('root'))],
+        states={
+            'invisible': Eval('type') == 'root',
+            'required': Eval('type') != 'root',
+            },
+        depends=['root', 'type'])
     childs = fields.One2Many('analytic_account.account', 'parent', 'Children')
     balance = fields.Function(fields.Numeric('Balance',
         digits=(16, Eval('currency_digits', 1)), depends=['currency_digits']),
@@ -58,8 +61,9 @@ class Account(ModelSQL, ModelView):
         ('credit-debit', 'Credit - Debit'),
         ], 'Display Balance', required=True)
     mandatory = fields.Boolean('Mandatory', states={
-        'invisible': Not(Equal(Eval('type'), 'root')),
-        })
+            'invisible': Eval('type') != 'root',
+            },
+        depends=['type'])
 
     def __init__(self):
         super(Account, self).__init__()
@@ -78,8 +82,8 @@ class Account(ModelSQL, ModelView):
         return Transaction().context.get('company') or False
 
     def default_currency(self):
-        company_obj = self.pool.get('company.company')
-        currency_obj = self.pool.get('currency.currency')
+        company_obj = Pool().get('company.company')
+        currency_obj = Pool().get('currency.currency')
         if Transaction().context.get('company'):
             company = company_obj.browse(Transaction().context['company'])
             return company.currency.id
@@ -98,7 +102,7 @@ class Account(ModelSQL, ModelView):
         return False
 
     def on_change_with_currency_digits(self, vals):
-        currency_obj = self.pool.get('currency.currency')
+        currency_obj = Pool().get('currency.currency')
         if vals.get('currency'):
             currency = currency_obj.browse(vals['currency'])
             return currency.digits
@@ -112,8 +116,8 @@ class Account(ModelSQL, ModelView):
 
     def get_balance(self, ids, name):
         res = {}
-        line_obj = self.pool.get('analytic_account.line')
-        currency_obj = self.pool.get('currency.currency')
+        line_obj = Pool().get('analytic_account.line')
+        currency_obj = Pool().get('currency.currency')
         cursor = Transaction().cursor
 
         child_ids = self.search([('parent', 'child_of', ids)])
@@ -178,8 +182,8 @@ class Account(ModelSQL, ModelView):
 
     def get_credit_debit(self, ids, name):
         res = {}
-        line_obj = self.pool.get('analytic_account.line')
-        currency_obj = self.pool.get('currency.currency')
+        line_obj = Pool().get('analytic_account.line')
+        currency_obj = Pool().get('currency.currency')
         cursor = Transaction().cursor
 
         if name not in ('credit', 'debit'):
@@ -326,8 +330,8 @@ class OpenChartAccount(Wizard):
     }
 
     def _action_open_chart(self, data):
-        model_data_obj = self.pool.get('ir.model.data')
-        act_window_obj = self.pool.get('ir.action.act_window')
+        model_data_obj = Pool().get('ir.model.data')
+        act_window_obj = Pool().get('ir.action.act_window')
         act_window_id = model_data_obj.get_id('analytic_account',
                 'act_account_tree2')
         res = act_window_obj.read(act_window_id)
@@ -362,7 +366,7 @@ class AccountSelection(ModelSQL, ModelView):
 
     def check_root(self, ids):
         "Check Root"
-        account_obj = self.pool.get('analytic_account.account')
+        account_obj = Pool().get('analytic_account.account')
 
         root_account_ids = account_obj.search([
             ('parent', '=', False),
diff --git a/account.xml b/account.xml
index 4fef4f4..10f1d64 100644
--- a/account.xml
+++ b/account.xml
@@ -55,11 +55,11 @@ this repository contains the full copyright notices and license terms. -->
                 <![CDATA[
                 <tree string="Analytic Accounts">
                     <field name="rec_name"/>
-                    <field name="company" select="2"/>
-                    <field name="type" select="2"/>
-                    <field name="active" select="2" tree_invisible="1"/>
-                    <field name="name" select="1" tree_invisible="1"/>
-                    <field name="code" select="1" tree_invisible="1"/>
+                    <field name="company"/>
+                    <field name="type"/>
+                    <field name="active" tree_invisible="1"/>
+                    <field name="name" tree_invisible="1"/>
+                    <field name="code" tree_invisible="1"/>
                     <field name="parent" tree_invisible="1"/>
                     <field name="childs" tree_invisible="1"/>
                 </tree>
@@ -73,11 +73,11 @@ this repository contains the full copyright notices and license terms. -->
                 <![CDATA[
                 <tree string="Analytic Accounts">
                     <field name="rec_name"/>
-                    <field name="company" select="2"/>
-                    <field name="type" select="2"/>
-                    <field name="active" select="2" tree_invisible="1"/>
-                    <field name="name" select="1" tree_invisible="1"/>
-                    <field name="code" select="1" tree_invisible="1"/>
+                    <field name="company"/>
+                    <field name="type"/>
+                    <field name="active" tree_invisible="1"/>
+                    <field name="name" tree_invisible="1"/>
+                    <field name="code" tree_invisible="1"/>
                 </tree>
                 ]]>
             </field>
@@ -101,22 +101,22 @@ this repository contains the full copyright notices and license terms. -->
         <menuitem parent="menu_analytic_account_configuration"
             action="act_account_tree" id="menu_account_tree"/>
 
-        <record model="ir.action.act_window" id="act_account_form">
+        <record model="ir.action.act_window" id="act_account_list">
             <field name="name">Analytic Accounts</field>
             <field name="res_model">analytic_account.account</field>
         </record>
-        <record model="ir.action.act_window.view" id="act_account_form_view1">
+        <record model="ir.action.act_window.view" id="act_account_list_view1">
             <field name="sequence" eval="10"/>
-            <field name="view" ref="account_view_form"/>
-            <field name="act_window" ref="act_account_form"/>
+            <field name="view" ref="account_view_list"/>
+            <field name="act_window" ref="act_account_list"/>
         </record>
-        <record model="ir.action.act_window.view" id="act_account_form_view2">
+        <record model="ir.action.act_window.view" id="act_account_list_view2">
             <field name="sequence" eval="20"/>
-            <field name="view" ref="account_view_list"/>
-            <field name="act_window" ref="act_account_form"/>
+            <field name="view" ref="account_view_form"/>
+            <field name="act_window" ref="act_account_list"/>
         </record>
-        <menuitem name="New Analytic Account" parent="menu_account_tree"
-            action="act_account_form" id="menu_account_form_new"
+        <menuitem parent="menu_account_tree"
+            action="act_account_list" id="menu_account_list"
             sequence="10"/>
 
         <record model="ir.ui.view" id="account_view_tree2">
@@ -190,7 +190,7 @@ this repository contains the full copyright notices and license terms. -->
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <![CDATA[
-                <form string="Open Chart of Analytic Accounts" col="2">
+                <form string="Open Chart of Analytic Accounts">
                     <label name="start_date"/>
                     <field name="start_date"/>
                     <label name="end_date"/>
diff --git a/analytic_account.xml b/analytic_account.xml
index 9540490..ecfefcf 100644
--- a/analytic_account.xml
+++ b/analytic_account.xml
@@ -6,11 +6,15 @@ this repository contains the full copyright notices and license terms. -->
         <record model="res.group" id="group_analytic_admin">
             <field name="name">Analytic Administration</field>
         </record>
-        <record model="res.user" id="res.user_admin">
-            <field name="groups" eval="[('add', ref('group_analytic_admin'))]"/>
+        <record model="res.user-res.group"
+            id="user_admin_group_analytic_admin">
+            <field name="user" ref="res.user_admin"/>
+            <field name="group" ref="group_analytic_admin"/>
         </record>
-        <record model="res.user" id="res.user_trigger">
-            <field name="groups" eval="[('add', ref('group_analytic_admin'))]"/>
+        <record model="res.user-res.group"
+            id="user_trigger_group_analytic_admin">
+            <field name="user" ref="res.user_trigger"/>
+            <field name="group" ref="group_analytic_admin"/>
         </record>
     </data>
 </tryton>
diff --git a/bg_BG.csv b/bg_BG.csv
deleted file mode 100644
index ff3ef6b..0000000
--- a/bg_BG.csv
+++ /dev/null
@@ -1,85 +0,0 @@
-type,name,res_id,src,value,fuzzy
-error,analytic_account.account,0,You can not create recursive accounts!,Не може да създавате взаимно вложени сметки!,0
-error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Не може да имате много сметки с един и същи родител или да липсва родителска сметка!,0
-error,analytic_account.line,0,Wrong credit/debit values!,Грешни стойности за кредит/дебит!,0
-error,analytic_account.line,0,"You can not create move line
-on view/inactive account!","Не може да създавате ред от движение
-за изглед/неактивна сметка!",0
-field,"account.invoice.line,analytic_accounts",0,Analytic Accounts,Аналитични сметки,0
-field,"account.move.line,analytic_lines",0,Analytic Lines,Редове от аналитична сметка,0
-field,"analytic_account.account,active",0,Active,Активен,0
-field,"analytic_account.account,balance",0,Balance,Баланс,0
-field,"analytic_account.account,childs",0,Children,Деца,0
-field,"analytic_account.account,code",0,Code,Код,0
-field,"analytic_account.account,company",0,Company,Фирма,0
-field,"analytic_account.account,credit",0,Credit,Кредит,0
-field,"analytic_account.account,currency",0,Currency,Валута,0
-field,"analytic_account.account,currency_digits",0,Currency Digits,Цифри за валута,0
-field,"analytic_account.account,debit",0,Debit,Дебит,0
-field,"analytic_account.account,display_balance",0,Display Balance,Показване на баланс,0
-field,"analytic_account.account,mandatory",0,Mandatory,Задължителен,0
-field,"analytic_account.account,name",0,Name,Име,0
-field,"analytic_account.account,note",0,Note,Бележка,0
-field,"analytic_account.account,parent",0,Parent,Родител,0
-field,"analytic_account.account,rec_name",0,Name,Име,0
-field,"analytic_account.account,root",0,Root,Начало,0
-field,"analytic_account.account,state",0,State,Щат,0
-field,"analytic_account.account,type",0,Type,Вид,0
-field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Фактури,0
-field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Име,0
-field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Избор,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Крайна дата,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Начална дата,0
-field,"analytic_account.account.selection,accounts",0,Accounts,Сметки,0
-field,"analytic_account.account.selection,rec_name",0,Name,Име,0
-field,"analytic_account.line,account",0,Account,Фактури,0
-field,"analytic_account.line,active",0,Active,Активен,0
-field,"analytic_account.line,credit",0,Credit,Кредит,0
-field,"analytic_account.line,currency",0,Currency,Валута,0
-field,"analytic_account.line,currency_digits",0,Currency Digits,Цифри за валута,0
-field,"analytic_account.line,date",0,Date,Дата,0
-field,"analytic_account.line,debit",0,Debit,Дебит,0
-field,"analytic_account.line,journal",0,Journal,Дневник,0
-field,"analytic_account.line,move_line",0,Account Move Line,Ред от движение по сметка,0
-field,"analytic_account.line,name",0,Name,Име,0
-field,"analytic_account.line,party",0,Party,Партньор,0
-field,"analytic_account.line,rec_name",0,Name,Име,0
-field,"analytic_account.line,reference",0,Reference,Отпратка,0
-model,"analytic_account.account,name",0,Analytic Account,Аналитична сметка,0
-model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Аналитична сметка - Избор на аналитична сметка ,0
-model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Начално създаване на сметкоплан,0
-model,"analytic_account.account.selection,name",0,Analytic Account Selection,Избор на аналитична сметка,0
-model,"analytic_account.line,name",0,Analytic Line,Ред от аналитична сметка,0
-model,"ir.action,name",,Analytic Accounts,Аналитични сметки,0
-model,"ir.action,name",act_account_form,Analytic Accounts,Аналитични сметки,0
-model,"ir.action,name",act_account_tree,Analytic Accounts,Аналитични сметки,0
-model,"ir.action,name",act_account_tree2,Analytic Accounts,Аналитични сметки,0
-model,"ir.action,name",act_line_form,Analytic Lines,Редове от аналитична сметка,0
-model,"ir.action,name",act_open_account,Open Account,Отваряне на сметка,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Отваряне на аналитичен сметкоплан,0
-model,"ir.ui.menu,name",,Analytic Accounts,Аналитични сметки,0
-model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Нова аналитична сметка,0
-model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Аналитични сметки,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Аналитична сметка,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Отваряне на аналитичен сметкоплан,0
-model,"res.group,name",group_analytic_admin,Analytic Administration,Администрация на аналитична сметка,0
-selection,"analytic_account.account,display_balance",0,Credit - Debit,Кредит - дебит,0
-selection,"analytic_account.account,display_balance",0,Debit - Credit,Дебит - кредит,0
-selection,"analytic_account.account,state",0,Closed,Приключен,0
-selection,"analytic_account.account,state",0,Draft,Проект,0
-selection,"analytic_account.account,state",0,Opened,Отворен,0
-selection,"analytic_account.account,type",0,Normal,Нормален,0
-selection,"analytic_account.account,type",0,Root,Начало,0
-selection,"analytic_account.account,type",0,View,Изглед,0
-view,account.move,0,Analytic,Задължителен,0
-view,account.move.line,0,Analytic,Задължителен,0
-view,analytic_account.account,0,Analytic Account,Аналитична сметка,0
-view,analytic_account.account,0,Analytic Accounts,Аналитични сметки,0
-view,analytic_account.account,0,General Information,Обща информация,0
-view,analytic_account.account,0,Notes,Бележки,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Отваряне на аналитичен сметкоплан,0
-view,analytic_account.line,0,Analytic Line,Ред от аналитична сметка,0
-view,analytic_account.line,0,Analytic Lines,Редове от аналитична сметка,0
-view,analytic_account.line,0,General Information,Обща информация,0
-wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Отказ,0
-wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Отваряне,0
diff --git a/de_DE.csv b/de_DE.csv
deleted file mode 100644
index d3f244a..0000000
--- a/de_DE.csv
+++ /dev/null
@@ -1,131 +0,0 @@
-type,name,res_id,src,value,fuzzy
-error,account.statement,0,End Balance must be %s!,Endsaldo muss %s sein!,0
-error,account.statement.line,0,Amount (%s) greater than the amount to pay of invoice!,Der eingegebene Betrag (%s) ist größer als der Rechnungsbetrag!,0
-error,account.statement.line,0,Credit or debit account on journal is the same than the statement line account!,Haben- oder Sollkonto im Journal ist das selbe Konto wie das des Zahlungspostens!,0
-error,account.statement.line,0,Please provide debit and credit account on statement journal.,Bitte Soll- und Habenkonto im Journal Zahlungsverkehr angeben.,0
-error,analytic_account.account,0,You can not create recursive accounts!,Konten können nicht rekursiv angelegt werden!,0
-error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Mehrere Konten zum selben Wurzelkonto nicht möglich oder erforderliches Wurzelkonto fehlt!,0
-error,analytic_account.line,0,Wrong credit/debit values!,Falsche Haben/Soll-Werte!,0
-error,analytic_account.line,0,"You can not create move line
-on view/inactive account!",Keine Berechtigung für die Erstellung von Buchungszeilen!,0
-field,"account.move.line,analytic_lines",0,Analytic Lines,Kostenstelle Zeilen,0
-field,"account.statement,currency_digits",0,Currency Digits,Stellen Währung,0
-field,"account.statement,date",0,Date,Datum,0
-field,"account.statement,end_balance",0,End Balance,Endsaldo,0
-field,"account.statement,journal",0,Journal,Journal,0
-field,"account.statement,lines",0,Transactions,Transaktionen,0
-field,"account.statement,move_lines",0,Move Lines,Buchungsposten,0
-field,"account.statement,rec_name",0,Name,Name,0
-field,"account.statement,start_balance",0,Start Balance,Anfangssaldo,0
-field,"account.statement,state",0,State,Status,0
-field,"account.statement.journal,company",0,Company,Unternehmen,0
-field,"account.statement.journal,currency",0,Currency,Währung,0
-field,"account.statement.journal,journal",0,Journal,Journal,0
-field,"account.statement.journal,name",0,Name,Name,0
-field,"account.statement.journal,rec_name",0,Name,Name,0
-field,"account.statement.line,account",0,Account,Konto,0
-field,"account.statement.line,amount",0,Amount,Betrag,0
-field,"account.statement.line,date",0,Date,Datum,0
-field,"account.statement.line,description",0,Description,Beschreibung,0
-field,"account.statement.line,invoice",0,Invoice,Rechnung,0
-field,"account.statement.line,move",0,Account Move,Buchungssatz,0
-field,"account.statement.line,party",0,Party,Partei,0
-field,"account.statement.line,rec_name",0,Name,Name,0
-field,"account.statement.line,statement",0,Statement,Zahlung,0
-field,"analytic_account.account,active",0,Active,Aktiv,0
-field,"analytic_account.account,balance",0,Balance,Saldo,0
-field,"analytic_account.account,childs",0,Children,Untergeordnet (Kostenstellen),0
-field,"analytic_account.account,code",0,Code,Code,0
-field,"analytic_account.account,company",0,Company,Unternehmen,0
-field,"analytic_account.account,credit",0,Credit,Haben,0
-field,"analytic_account.account,currency",0,Currency,Währung,0
-field,"analytic_account.account,currency_digits",0,Currency Digits,Währung (signifikante Stellen),0
-field,"analytic_account.account,debit",0,Debit,Soll,0
-field,"analytic_account.account,display_balance",0,Display Balance,Ansicht Bilanz,0
-field,"analytic_account.account,mandatory",0,Mandatory,Erforderlich,0
-field,"analytic_account.account,name",0,Name,Name,0
-field,"analytic_account.account,note",0,Note,Notiz,0
-field,"analytic_account.account,parent",0,Parent,Übergeordnet (Kostenstelle),0
-field,"analytic_account.account,rec_name",0,Name,Name,0
-field,"analytic_account.account,root",0,Root,Wurzel,0
-field,"analytic_account.account,state",0,State,Status,0
-field,"analytic_account.account,type",0,Type,Typ,0
-field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Konto,0
-field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Name,0
-field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Auswahl,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Enddatum,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Anfangsdatum,0
-field,"analytic_account.account.selection,accounts",0,Accounts,Konten,0
-field,"analytic_account.account.selection,rec_name",0,Name,Name,0
-field,"analytic_account.line,account",0,Account,Konto,0
-field,"analytic_account.line,active",0,Active,Aktiv,0
-field,"analytic_account.line,credit",0,Credit,Haben,0
-field,"analytic_account.line,currency",0,Currency,Währung,0
-field,"analytic_account.line,currency_digits",0,Currency Digits,Währung (signifikante Stellen),0
-field,"analytic_account.line,date",0,Date,Datum,0
-field,"analytic_account.line,debit",0,Debit,Soll,0
-field,"analytic_account.line,journal",0,Journal,Journal,0
-field,"analytic_account.line,move_line",0,Account Move Line,Buchungszeile,0
-field,"analytic_account.line,name",0,Name,Name,0
-field,"analytic_account.line,party",0,Party,Partei,0
-field,"analytic_account.line,rec_name",0,Name,Name,0
-field,"analytic_account.line,reference",0,Reference,Interner Beleg,0
-model,"account.statement,name",0,Account Statement,Zahlungsverkehr,0
-model,"account.statement.journal,name",0,Statement Journal,Journal Zahlungsverkehr,0
-model,"account.statement.line,name",0,Account Statement Line,Zahlungsverkehr Position,0
-model,"analytic_account.account,name",0,Analytic Account,Kostenstelle,0
-model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Kostenstelle - Kostenstelle Auswahl,0
-model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Kontenplan Öffnen Init,0
-model,"analytic_account.account.selection,name",0,Analytic Account Selection,Kostenstelle Auswahl,0
-model,"analytic_account.line,name",0,Analytic Line,Kostenstelle Zeile,0
-model,"ir.action,name",act_account_form,Analytic Accounts,Kostenstellen,0
-model,"ir.action,name",act_account_tree,Analytic Accounts,Kostenstellen,0
-model,"ir.action,name",act_account_tree2,Analytic Accounts,Kostenstellen,0
-model,"ir.action,name",act_line_form,Analytic Lines,Kostenstelle Zeilen,0
-model,"ir.action,name",act_open_account,Open Account,Konto öffnen,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan Öffnen,0
-model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Neue Kostenstelle,0
-model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Kostenstellen,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstellen,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan öffnen,0
-model,"res.group,name",group_analytic_admin,Analytic Administration,Kostenstellen Administration,0
-selection,"account.statement,state",0,Canceled,Annulliert,0
-selection,"account.statement,state",0,Draft,Entwurf,0
-selection,"account.statement,state",0,Posted,Festgeschrieben,0
-selection,"account.statement,state",0,Validated,Geprüft,0
-selection,"analytic_account.account,display_balance",0,Credit - Debit,Haben - Soll,0
-selection,"analytic_account.account,display_balance",0,Debit - Credit,Soll - Haben,0
-selection,"analytic_account.account,state",0,Closed,Geschlossen,0
-selection,"analytic_account.account,state",0,Draft,Entwurf,0
-selection,"analytic_account.account,state",0,Opened,Geöffnet,0
-selection,"analytic_account.account,type",0,Normal,Normal,0
-selection,"analytic_account.account,type",0,Root,Wurzel,0
-selection,"analytic_account.account,type",0,View,Sicht,0
-view,account.move,0,Analytic,Kostenstelle,0
-view,account.move.line,0,Analytic,Kostenstelle,0
-view,account.statement,0,Bank Statement,Bankauszug,0
-view,account.statement,0,Bank Statement Lines,Posten Bankauszüge,0
-view,account.statement,0,Bank Statements,Bankauszüge,0
-view,account.statement,0,Cancel,Annullieren,0
-view,account.statement,0,Move Lines,Buchungsposten,0
-view,account.statement,0,Post,Festschreiben,0
-view,account.statement,0,Reset to Draft,Auf Entwurf zurücksetzen,0
-view,account.statement,0,Statement,Zahlung,0
-view,account.statement,0,Statement Lines,Zahlungsposten,0
-view,account.statement,0,Statements,Zahlungsverkehr,0
-view,account.statement,0,Validate,Prüfen,0
-view,account.statement.journal,0,Statement Journal,Journal Zahlungsverkehr,0
-view,account.statement.journal,0,Statement Journals,Journale Zahlungsverkehr,0
-view,account.statement.line,0,Bank Statement Line,Posten Bankauszüge,0
-view,account.statement.line,0,Statement Line,Zahlungsposten,0
-view,account.statement.line,0,Statement Lines,Zahlungsposten,0
-view,analytic_account.account,0,Analytic Account,Kostenstelle,0
-view,analytic_account.account,0,Analytic Accounts,Kostenstellen,0
-view,analytic_account.account,0,General Information,Allgemein,0
-view,analytic_account.account,0,Notes,Notizen,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Kostenstellenplan öffnen,0
-view,analytic_account.line,0,Analytic Line,Kostenstelle,0
-view,analytic_account.line,0,Analytic Lines,Kostenstellen,0
-view,analytic_account.line,0,General Information,Allgemein,0
-wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Abbrechen,0
-wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Öffnen,0
diff --git a/es_CO.csv b/es_CO.csv
deleted file mode 100644
index e38fa82..0000000
--- a/es_CO.csv
+++ /dev/null
@@ -1,82 +0,0 @@
-type,name,res_id,src,value,fuzzy
-error,analytic_account.account,0,You can not create recursive accounts!,¡No se puede crear cuentas recursivas!,0
-error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,¡No se puede tener varias cuentas con la misma cuenta padre o tantas sin cuenta padre!,0
-error,analytic_account.line,0,Wrong credit/debit values!,Valores erróneos de crédito/debito!,0
-error,analytic_account.line,0,"You can not create move line
-on view/inactive account!",No puede crearse línea de movimiento,0
-field,"account.move.line,analytic_lines",0,Analytic Lines,Líneas Analíticas,0
-field,"analytic_account.account,active",0,Active,Activo,0
-field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Cuenta,0
-field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nombre,0
-field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Selección,0
-field,"analytic_account.account,balance",0,Balance,Balance,0
-field,"analytic_account.account,childs",0,Children,Hij at s,0
-field,"analytic_account.account,code",0,Code,Código,0
-field,"analytic_account.account,company",0,Company,Compañía,0
-field,"analytic_account.account,credit",0,Credit,Crédito,0
-field,"analytic_account.account,currency",0,Currency,Moneda,0
-field,"analytic_account.account,currency_digits",0,Currency Digits,Dígitos de Moneda,0
-field,"analytic_account.account,debit",0,Debit,Débito,0
-field,"analytic_account.account,display_balance",0,Display Balance,Mostrar Balance,0
-field,"analytic_account.account,mandatory",0,Mandatory,Obligatorio,0
-field,"analytic_account.account,name",0,Name,Nombre,0
-field,"analytic_account.account,note",0,Note,Nota,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Fecha Fin,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Fecha Inicio,0
-field,"analytic_account.account,parent",0,Parent,Padre,0
-field,"analytic_account.account,rec_name",0,Name,Nombre,0
-field,"analytic_account.account,root",0,Root,Raíz,0
-field,"analytic_account.account.selection,accounts",0,Accounts,Cuentas,0
-field,"analytic_account.account.selection,rec_name",0,Name,Nombre,0
-field,"analytic_account.account,state",0,State,Estado,0
-field,"analytic_account.account,type",0,Type,Tipo,0
-field,"analytic_account.line,account",0,Account,Cuenta,0
-field,"analytic_account.line,active",0,Active,Activo,0
-field,"analytic_account.line,credit",0,Credit,Crédito,0
-field,"analytic_account.line,currency",0,Currency,Moneda,0
-field,"analytic_account.line,currency_digits",0,Currency Digits,Dígitos de Moneda,0
-field,"analytic_account.line,date",0,Date,Fecha,0
-field,"analytic_account.line,debit",0,Debit,Débito,0
-field,"analytic_account.line,journal",0,Journal,Diario,0
-field,"analytic_account.line,move_line",0,Account Move Line,Linea de Movimiento de Cuenta,0
-field,"analytic_account.line,name",0,Name,Nombre,0
-field,"analytic_account.line,party",0,Party,Terceros,0
-field,"analytic_account.line,rec_name",0,Name,Nombre,0
-field,"analytic_account.line,reference",0,Reference,Referencia,0
-model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Cuenta Analítica - Selección de Cuenta Analítica,0
-model,"analytic_account.account,name",0,Analytic Account,Cuenta Analítica,0
-model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Abrir Inicio de Plan de Cuentas,0
-model,"analytic_account.account.selection,name",0,Analytic Account Selection,Selección de Cuenta Analítica,0
-model,"analytic_account.line,name",0,Analytic Line,Línea Analítica,0
-model,"ir.action,name",act_account_form,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.action,name",act_account_form2,Analytic Accounts,Cuentas Analíticas,1
-model,"ir.action,name",act_account_tree,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.action,name",act_account_tree2,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.action,name",act_line_form,Analytic Lines,Líneas Analíticas,0
-model,"ir.action,name",act_open_account,Open Account,Abrir Cuenta,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Abrir Plan de Cuentas Analítico,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Cuenta Analítica,0
-model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Nueva Cuenta Analítica,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Abrir Plan de Cuentas Analítico,0
-model,"res.group,name",group_analytic_admin,Analytic Administration,Administración Analítica,0
-selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédito - Débito,0
-selection,"analytic_account.account,display_balance",0,Debit - Credit,Débito - Crédito,0
-selection,"analytic_account.account,state",0,Closed,Cerrado,0
-selection,"analytic_account.account,state",0,Draft,Borrador,0
-selection,"analytic_account.account,state",0,Opened,Abierto,0
-selection,"analytic_account.account,type",0,Normal,Normal,0
-selection,"analytic_account.account,type",0,Root,Raíz,0
-selection,"analytic_account.account,type",0,View,Vista,0
-view,account.move.line,0,Analytic,Analítica,0
-view,analytic_account.account,0,Analytic Account,Cuenta Analítica,0
-view,analytic_account.account,0,Analytic Accounts,Cuentas Analíticas,0
-view,analytic_account.account,0,General Information,Información General,0
-view,analytic_account.account,0,Notes,Notas,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Abrir Plan de Cuentas Analítico,0
-view,analytic_account.line,0,Analytic Line,Línea analítica,0
-view,analytic_account.line,0,Analytic Lines,Líneas Analíticas,0
-view,analytic_account.line,0,General Information,Información General,0
-wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Cancelar,0
-wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Abrir,0
diff --git a/es_ES.csv b/es_ES.csv
deleted file mode 100644
index 096d02e..0000000
--- a/es_ES.csv
+++ /dev/null
@@ -1,81 +0,0 @@
-type,name,res_id,src,value,fuzzy
-error,analytic_account.account,0,You can not create recursive accounts!,No puede crear cuentas recursivas,0
-error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,No puede tener varias cuentas con la misma cuenta raiz o falta una cuenta raiz obligatoria,0
-error,analytic_account.line,0,Wrong credit/debit values!,Los valores debe/haber son incorrectos,0
-error,analytic_account.line,0,"You can not create move line
-on view/inactive account!","No puede crear una linea de asiento
-en una cuenta vista/inactiva",0
-field,"account.move.line,analytic_lines",0,Analytic Lines,Líneas analíticas,0
-field,"analytic_account.account,active",0,Active,Activa,0
-field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Cuenta,0
-field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nombre,0
-field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Selección,0
-field,"analytic_account.account,balance",0,Balance,Balance,0
-field,"analytic_account.account,childs",0,Children,Hijos,0
-field,"analytic_account.account,code",0,Code,Código,0
-field,"analytic_account.account,company",0,Company,Empresa,0
-field,"analytic_account.account,credit",0,Credit,Haber,0
-field,"analytic_account.account,currency",0,Currency,Divisa,0
-field,"analytic_account.account,currency_digits",0,Currency Digits,Decimales de la divisa,0
-field,"analytic_account.account,debit",0,Debit,Debe,0
-field,"analytic_account.account,display_balance",0,Display Balance,Mostrar balance,0
-field,"analytic_account.account,mandatory",0,Mandatory,Obligatorio,0
-field,"analytic_account.account,name",0,Name,Nombre,0
-field,"analytic_account.account,note",0,Note,Nota,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Fecha fin,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Fecha inicio,0
-field,"analytic_account.account,parent",0,Parent,Padre,0
-field,"analytic_account.account,rec_name",0,Name,Nombre,0
-field,"analytic_account.account,root",0,Root,Raíz,0
-field,"analytic_account.account.selection,accounts",0,Accounts,Cuentas,0
-field,"analytic_account.account.selection,rec_name",0,Name,Nombre,0
-field,"analytic_account.account,state",0,State,Estado,0
-field,"analytic_account.account,type",0,Type,Tipo,0
-field,"analytic_account.line,account",0,Account,Cuenta,0
-field,"analytic_account.line,active",0,Active,Activa,0
-field,"analytic_account.line,credit",0,Credit,Haber,0
-field,"analytic_account.line,currency",0,Currency,Divisa,0
-field,"analytic_account.line,currency_digits",0,Currency Digits,Decimales de la divisa,0
-field,"analytic_account.line,date",0,Date,Fecha,0
-field,"analytic_account.line,debit",0,Debit,Debe,0
-field,"analytic_account.line,journal",0,Journal,Diario,0
-field,"analytic_account.line,move_line",0,Account Move Line,Linea de asiento contable,0
-field,"analytic_account.line,name",0,Name,Nombre,0
-field,"analytic_account.line,party",0,Party,Tercero,0
-field,"analytic_account.line,rec_name",0,Name,Nombre,0
-field,"analytic_account.line,reference",0,Reference,Referencia,0
-model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Cuenta analítica - Selección de cuenta analítica,0
-model,"analytic_account.account,name",0,Analytic Account,Cuenta analítica,0
-model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Inicializa la apertura del plan de cuentas,0
-model,"analytic_account.account.selection,name",0,Analytic Account Selection,Selección de cuenta analítica,0
-model,"analytic_account.line,name",0,Analytic Line,Línea analítica,0
-model,"ir.action,name",act_account_form,Analytic Accounts,Cuentas analíticas,0
-model,"ir.action,name",act_account_tree,Analytic Accounts,Cuentas analíticas,0
-model,"ir.action,name",act_account_tree2,Analytic Accounts,Cuentas analíticas,0
-model,"ir.action,name",act_line_form,Analytic Lines,Líneas analíticas,0
-model,"ir.action,name",act_open_account,Open Account,Abrir cuenta,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Abrir plan contable analítico,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Cuenta analítica,0
-model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Cuentas analíticas,0
-model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Cuentas analíticas,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Abrir plan contable analítico,0
-model,"res.group,name",group_analytic_admin,Analytic Administration,Administración analítica,0
-selection,"analytic_account.account,display_balance",0,Credit - Debit,Haber - Debe,0
-selection,"analytic_account.account,display_balance",0,Debit - Credit,Debe - Haber,0
-selection,"analytic_account.account,state",0,Closed,Cerrada,0
-selection,"analytic_account.account,state",0,Draft,Borrador,0
-selection,"analytic_account.account,state",0,Opened,Abierta,0
-selection,"analytic_account.account,type",0,Normal,Normal,0
-selection,"analytic_account.account,type",0,Root,Raíz,0
-selection,"analytic_account.account,type",0,View,Vista,0
-view,account.move.line,0,Analytic,Analítica,0
-view,analytic_account.account,0,Analytic Account,Cuenta analítica,0
-view,analytic_account.account,0,Analytic Accounts,Cuentas analíticas,0
-view,analytic_account.account,0,General Information,Información general,0
-view,analytic_account.account,0,Notes,Notas,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Abrir plan de cuentas analítico,0
-view,analytic_account.line,0,Analytic Line,Línea analítica,0
-view,analytic_account.line,0,Analytic Lines,Líneas analíticas,0
-view,analytic_account.line,0,General Information,Información general,0
-wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Cancelar,0
-wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Abrir,0
diff --git a/fr_FR.csv b/fr_FR.csv
deleted file mode 100644
index 11bb985..0000000
--- a/fr_FR.csv
+++ /dev/null
@@ -1,83 +0,0 @@
-type,name,res_id,src,value,fuzzy
-error,analytic_account.account,0,You can not create recursive accounts!,Vous ne pouvez pas créer des comptes récursifs!,0
-error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Vous ne pouvez pas avoir plusieurs comptes avec la même racine ou un compte avec une racine obligatoire!,0
-error,analytic_account.line,0,Wrong credit/debit values!,Valeurs crédit/débit incorrectes,0
-error,analytic_account.line,0,"You can not create move line
-on view/inactive account!","Vous ne pouvez pas créer de mouvements
-sur des comptes inactifs ou de type vue!",0
-field,"account.move.line,analytic_lines",0,Analytic Lines,Lignes analytiques,0
-field,"analytic_account.account,active",0,Active,Actif,0
-field,"analytic_account.account,balance",0,Balance,Balance,0
-field,"analytic_account.account,childs",0,Children,Enfants,0
-field,"analytic_account.account,code",0,Code,Code,0
-field,"analytic_account.account,company",0,Company,Société,0
-field,"analytic_account.account,credit",0,Credit,Crédit,0
-field,"analytic_account.account,currency",0,Currency,Devise,0
-field,"analytic_account.account,currency_digits",0,Currency Digits,Décimales de la devise,0
-field,"analytic_account.account,debit",0,Debit,Débit,0
-field,"analytic_account.account,display_balance",0,Display Balance,Balance affichée,0
-field,"analytic_account.account,mandatory",0,Mandatory,Obligatoire,0
-field,"analytic_account.account,name",0,Name,Nom,0
-field,"analytic_account.account,note",0,Note,Note,0
-field,"analytic_account.account,parent",0,Parent,Parent,0
-field,"analytic_account.account,rec_name",0,Name,Nom,0
-field,"analytic_account.account,root",0,Root,Racine,0
-field,"analytic_account.account,state",0,State,État,0
-field,"analytic_account.account,type",0,Type,Type,0
-field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Compte,0
-field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nom,0
-field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Sélection,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Date de fin,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Date de début,0
-field,"analytic_account.account.selection,accounts",0,Accounts,Comptes,0
-field,"analytic_account.account.selection,rec_name",0,Name,Nom,0
-field,"analytic_account.line,account",0,Account,Compte,0
-field,"analytic_account.line,active",0,Active,Actif,0
-field,"analytic_account.line,credit",0,Credit,Crédit,0
-field,"analytic_account.line,currency",0,Currency,Devise,0
-field,"analytic_account.line,currency_digits",0,Currency Digits,Décimales de la devise,0
-field,"analytic_account.line,date",0,Date,Date,0
-field,"analytic_account.line,debit",0,Debit,Débit,0
-field,"analytic_account.line,journal",0,Journal,Journal,0
-field,"analytic_account.line,move_line",0,Account Move Line,Ligne de mouvement comptable,0
-field,"analytic_account.line,name",0,Name,Nom,0
-field,"analytic_account.line,party",0,Party,Partenaire,0
-field,"analytic_account.line,rec_name",0,Name,Nom,0
-field,"analytic_account.line,reference",0,Reference,Référence,0
-model,"analytic_account.account,name",0,Analytic Account,Compte analytique,0
-model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Compte analytique - Sélection compte analytique,0
-model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Ouvrir le plan comptable - Initialisation,0
-model,"analytic_account.account.selection,name",0,Analytic Account Selection,Sélection compte analytique,0
-model,"analytic_account.line,name",0,Analytic Line,Ligne analytique,0
-model,"ir.action,name",act_account_form,Analytic Accounts,Comptes analytiques,0
-model,"ir.action,name",act_account_tree,Analytic Accounts,Comptes analytiques,0
-model,"ir.action,name",act_account_tree2,Analytic Accounts,Comptes analytiques,0
-model,"ir.action,name",act_line_form,Analytic Lines,Lignes analytiques,0
-model,"ir.action,name",act_open_account,Open Account,Ouvrir le compte,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
-model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Nouveau compte analytique,0
-model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Comptes analytiques,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Compte analytique,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
-model,"res.group,name",group_analytic_admin,Analytic Administration,Administration analytique,0
-selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédit - Débit,0
-selection,"analytic_account.account,display_balance",0,Debit - Credit,Débit - Crédit,0
-selection,"analytic_account.account,state",0,Closed,Fermé,0
-selection,"analytic_account.account,state",0,Draft,Brouillon,0
-selection,"analytic_account.account,state",0,Opened,Ouvert,0
-selection,"analytic_account.account,type",0,Normal,Normal,0
-selection,"analytic_account.account,type",0,Root,Racine,0
-selection,"analytic_account.account,type",0,View,Vue,0
-view,account.move,0,Analytic,Analytique,1
-view,account.move.line,0,Analytic,Analytique,0
-view,analytic_account.account,0,Analytic Account,Compte analytique,0
-view,analytic_account.account,0,Analytic Accounts,Comptes analytiques,0
-view,analytic_account.account,0,General Information,Informations générales,0
-view,analytic_account.account,0,Notes,Notes,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Ouvrir le plan comptable analytique,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
-view,analytic_account.line,0,Analytic Line,Ligne analytique,0
-view,analytic_account.line,0,Analytic Lines,Lignes analytiques,0
-view,analytic_account.line,0,General Information,Informations générales,0
-wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Annuler,0
-wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Ouvrir,0
diff --git a/line.py b/line.py
index b01478f..2b0b5fa 100644
--- a/line.py
+++ b/line.py
@@ -6,6 +6,7 @@ from trytond.wizard import Wizard
 from trytond.backend import TableHandler
 from trytond.pyson import Eval, PYSONEncoder
 from trytond.transaction import Transaction
+from trytond.pool import Pool
 
 
 class Line(ModelSQL, ModelView):
@@ -58,14 +59,14 @@ class Line(ModelSQL, ModelView):
         table.not_null_action('currency', action='remove')
 
     def default_date(self):
-        date_obj = self.pool.get('ir.date')
+        date_obj = Pool().get('ir.date')
         return date_obj.today()
 
     def default_active(self):
         return True
 
     def on_change_with_currency(self, vals):
-        move_line_obj = self.pool.get('account.move.line')
+        move_line_obj = Pool().get('account.move.line')
         if vals.get('move_line'):
             move_line = move_line_obj.browse(vals['move_line'])
             return move_line.account.company.currency.id
@@ -78,7 +79,7 @@ class Line(ModelSQL, ModelView):
         return res
 
     def on_change_with_currency_digits(self, vals):
-        move_line_obj = self.pool.get('account.move.line')
+        move_line_obj = Pool().get('account.move.line')
         if vals.get('move_line'):
             move_line = move_line_obj.browse(vals['move_line'])
             return move_line.account.company.currency.digits
@@ -141,8 +142,8 @@ class OpenAccount(Wizard):
     }
 
     def _action_open_account(self, data):
-        model_data_obj = self.pool.get('ir.model.data')
-        act_window_obj = self.pool.get('ir.action.act_window')
+        model_data_obj = Pool().get('ir.model.data')
+        act_window_obj = Pool().get('ir.action.act_window')
 
         act_window_id = model_data_obj.get_id('analytic_account',
                 'act_line_form')
diff --git a/line.xml b/line.xml
index de20490..e72d33c 100644
--- a/line.xml
+++ b/line.xml
@@ -45,16 +45,16 @@ this repository contains the full copyright notices and license terms. -->
             <field name="arch" type="xml">
                 <![CDATA[
                 <tree string="Analytic Lines" editable="top">
-                    <field name="move_line" select="1"/>
-                    <field name="journal" select="2"/>
-                    <field name="name" select="1"/>
-                    <field name="reference" select="2"/>
-                    <field name="date" select="1"/>
-                    <field name="party" select="2"/>
-                    <field name="account" select="2"/>
-                    <field name="debit" select="2"/>
-                    <field name="credit" select="2"/>
-                    <field name="currency" select="2"/>
+                    <field name="move_line"/>
+                    <field name="journal"/>
+                    <field name="name"/>
+                    <field name="reference"/>
+                    <field name="date"/>
+                    <field name="party"/>
+                    <field name="account"/>
+                    <field name="debit"/>
+                    <field name="credit"/>
+                    <field name="currency"/>
                 </tree>
                 ]]>
             </field>
@@ -97,7 +97,7 @@ this repository contains the full copyright notices and license terms. -->
         </record>
         <record model="ir.action.keyword" id="act_open_account_keyword">
             <field name="keyword">tree_open</field>
-            <field name="model">analytic_account.account,0</field>
+            <field name="model">analytic_account.account,-1</field>
             <field name="action" ref="act_open_account"/>
         </record>
 
@@ -110,7 +110,6 @@ this repository contains the full copyright notices and license terms. -->
                     <xpath expr="/form/notebook/page[@id="general"]"
                         position="after">
                         <page string="Analytic" col="1" id="analytic">
-                            <separator name="analytic_lines"/>
                             <field name="analytic_lines"/>
                         </page>
                     </xpath>
@@ -128,7 +127,6 @@ this repository contains the full copyright notices and license terms. -->
                     <xpath expr="/form/field[@name='lines']/form/notebook/page[@id="general"]"
                         position="after">
                         <page string="Analytic" col="1" id="analytic">
-                            <separator name="analytic_lines"/>
                             <field name="analytic_lines"/>
                         </page>
                     </xpath>
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
new file mode 100644
index 0000000..58dea33
--- /dev/null
+++ b/locale/bg_BG.po
@@ -0,0 +1,339 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:0"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+"Не може да имате много сметки с един и същи родител или да липсва родителска"
+" сметка!"
+
+msgctxt "error:analytic_account.account:0"
+msgid "You can not create recursive accounts!"
+msgstr "Не може да създавате взаимно вложени сметки!"
+
+msgctxt "error:analytic_account.line:0"
+msgid "Wrong credit/debit values!"
+msgstr "Грешни стойности за кредит/дебит!"
+
+msgctxt "error:analytic_account.line:0"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+"Не може да създавате ред от движение\n"
+"за изглед/неактивна сметка!"
+
+msgctxt "field:account.invoice.line,analytic_accounts:0"
+msgid "Analytic Accounts"
+msgstr "Аналитични сметки"
+
+msgctxt "field:account.move.line,analytic_lines:0"
+msgid "Analytic Lines"
+msgstr "Редове от аналитична сметка"
+
+msgctxt "field:analytic_account.account,active:0"
+msgid "Active"
+msgstr "Активен"
+
+msgctxt "field:analytic_account.account,balance:0"
+msgid "Balance"
+msgstr "Баланс"
+
+msgctxt "field:analytic_account.account,childs:0"
+msgid "Children"
+msgstr "Деца"
+
+msgctxt "field:analytic_account.account,code:0"
+msgid "Code"
+msgstr "Код"
+
+msgctxt "field:analytic_account.account,company:0"
+msgid "Company"
+msgstr "Фирма"
+
+msgctxt "field:analytic_account.account,credit:0"
+msgid "Credit"
+msgstr "Кредит"
+
+msgctxt "field:analytic_account.account,currency:0"
+msgid "Currency"
+msgstr "Валута"
+
+msgctxt "field:analytic_account.account,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Цифри за валута"
+
+msgctxt "field:analytic_account.account,debit:0"
+msgid "Debit"
+msgstr "Дебит"
+
+msgctxt "field:analytic_account.account,display_balance:0"
+msgid "Display Balance"
+msgstr "Показване на баланс"
+
+msgctxt "field:analytic_account.account,mandatory:0"
+msgid "Mandatory"
+msgstr "Задължителен"
+
+msgctxt "field:analytic_account.account,name:0"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "field:analytic_account.account,note:0"
+msgid "Note"
+msgstr "Бележка"
+
+msgctxt "field:analytic_account.account,parent:0"
+msgid "Parent"
+msgstr "Родител"
+
+msgctxt "field:analytic_account.account,rec_name:0"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "field:analytic_account.account,root:0"
+msgid "Root"
+msgstr "Начало"
+
+msgctxt "field:analytic_account.account,state:0"
+msgid "State"
+msgstr "Щат"
+
+msgctxt "field:analytic_account.account,type:0"
+msgid "Type"
+msgstr "Вид"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:0"
+msgid "Account"
+msgstr "Фактури"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Име"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,selection:0"
+msgid "Selection"
+msgstr "Избор"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
+msgid "End Date"
+msgstr "Крайна дата"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
+msgid "Start Date"
+msgstr "Начална дата"
+
+msgctxt "field:analytic_account.account.selection,accounts:0"
+msgid "Accounts"
+msgstr "Сметки"
+
+msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "field:analytic_account.line,account:0"
+msgid "Account"
+msgstr "Фактури"
+
+msgctxt "field:analytic_account.line,active:0"
+msgid "Active"
+msgstr "Активен"
+
+msgctxt "field:analytic_account.line,credit:0"
+msgid "Credit"
+msgstr "Кредит"
+
+msgctxt "field:analytic_account.line,currency:0"
+msgid "Currency"
+msgstr "Валута"
+
+msgctxt "field:analytic_account.line,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Цифри за валута"
+
+msgctxt "field:analytic_account.line,date:0"
+msgid "Date"
+msgstr "Дата"
+
+msgctxt "field:analytic_account.line,debit:0"
+msgid "Debit"
+msgstr "Дебит"
+
+msgctxt "field:analytic_account.line,journal:0"
+msgid "Journal"
+msgstr "Дневник"
+
+msgctxt "field:analytic_account.line,move_line:0"
+msgid "Account Move Line"
+msgstr "Ред от движение по сметка"
+
+msgctxt "field:analytic_account.line,name:0"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "field:analytic_account.line,party:0"
+msgid "Party"
+msgstr "Партньор"
+
+msgctxt "field:analytic_account.line,rec_name:0"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "field:analytic_account.line,reference:0"
+msgid "Reference"
+msgstr "Отпратка"
+
+msgctxt "model:analytic_account.account,name:0"
+msgid "Analytic Account"
+msgstr "Аналитична сметка"
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:0"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr "Аналитична сметка - Избор на аналитична сметка "
+
+msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
+msgid "Open Chart Account Init"
+msgstr "Начално създаване на сметкоплан"
+
+msgctxt "model:analytic_account.account.selection,name:0"
+msgid "Analytic Account Selection"
+msgstr "Избор на аналитична сметка"
+
+msgctxt "model:analytic_account.line,name:0"
+msgid "Analytic Line"
+msgstr "Ред от аналитична сметка"
+
+#, fuzzy
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr "Аналитични сметки"
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr "Аналитични сметки"
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr "Аналитични сметки"
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr "Редове от аналитична сметка"
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr "Отваряне на сметка"
+
+msgctxt "model:ir.action,name:act_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Отваряне на аналитичен сметкоплан"
+
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr "Аналитични сметки"
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr "Аналитични сметки"
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr "Аналитична сметка"
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Отваряне на аналитичен сметкоплан"
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr "Администрация на аналитична сметка"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Credit - Debit"
+msgstr "Кредит - дебит"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Debit - Credit"
+msgstr "Дебит - кредит"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Closed"
+msgstr "Приключен"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Draft"
+msgstr "Проект"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Opened"
+msgstr "Отворен"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Normal"
+msgstr "Нормален"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Root"
+msgstr "Начало"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "View"
+msgstr "Изглед"
+
+msgctxt "view:account.move.line:0"
+msgid "Analytic"
+msgstr "Задължителен"
+
+msgctxt "view:account.move:0"
+msgid "Analytic"
+msgstr "Задължителен"
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Отваряне на аналитичен сметкоплан"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Account"
+msgstr "Аналитична сметка"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Accounts"
+msgstr "Аналитични сметки"
+
+msgctxt "view:analytic_account.account:0"
+msgid "General Information"
+msgstr "Обща информация"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Notes"
+msgstr "Бележки"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Line"
+msgstr "Ред от аналитична сметка"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Lines"
+msgstr "Редове от аналитична сметка"
+
+msgctxt "view:analytic_account.line:0"
+msgid "General Information"
+msgstr "Обща информация"
+
+msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgid "Cancel"
+msgstr "Отказ"
+
+msgctxt ""
+"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgid "Open"
+msgstr "Отваряне"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
new file mode 100644
index 0000000..433893b
--- /dev/null
+++ b/locale/cs_CZ.po
@@ -0,0 +1,329 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:0"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+
+msgctxt "error:analytic_account.account:0"
+msgid "You can not create recursive accounts!"
+msgstr ""
+
+msgctxt "error:analytic_account.line:0"
+msgid "Wrong credit/debit values!"
+msgstr ""
+
+msgctxt "error:analytic_account.line:0"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+
+msgctxt "field:account.move.line,analytic_lines:0"
+msgid "Analytic Lines"
+msgstr ""
+
+msgctxt "field:analytic_account.account,active:0"
+msgid "Active"
+msgstr ""
+
+msgctxt "field:analytic_account.account,balance:0"
+msgid "Balance"
+msgstr ""
+
+msgctxt "field:analytic_account.account,childs:0"
+msgid "Children"
+msgstr ""
+
+msgctxt "field:analytic_account.account,code:0"
+msgid "Code"
+msgstr ""
+
+msgctxt "field:analytic_account.account,company:0"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:analytic_account.account,credit:0"
+msgid "Credit"
+msgstr ""
+
+msgctxt "field:analytic_account.account,currency:0"
+msgid "Currency"
+msgstr ""
+
+msgctxt "field:analytic_account.account,currency_digits:0"
+msgid "Currency Digits"
+msgstr ""
+
+msgctxt "field:analytic_account.account,debit:0"
+msgid "Debit"
+msgstr ""
+
+msgctxt "field:analytic_account.account,display_balance:0"
+msgid "Display Balance"
+msgstr ""
+
+msgctxt "field:analytic_account.account,mandatory:0"
+msgid "Mandatory"
+msgstr ""
+
+msgctxt "field:analytic_account.account,name:0"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:analytic_account.account,note:0"
+msgid "Note"
+msgstr ""
+
+msgctxt "field:analytic_account.account,parent:0"
+msgid "Parent"
+msgstr ""
+
+msgctxt "field:analytic_account.account,rec_name:0"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:analytic_account.account,root:0"
+msgid "Root"
+msgstr ""
+
+msgctxt "field:analytic_account.account,state:0"
+msgid "State"
+msgstr ""
+
+msgctxt "field:analytic_account.account,type:0"
+msgid "Type"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:0"
+msgid "Account"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr ""
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,selection:0"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
+msgid "End Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
+msgid "Start Date"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,accounts:0"
+msgid "Accounts"
+msgstr ""
+
+msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:analytic_account.line,account:0"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:analytic_account.line,active:0"
+msgid "Active"
+msgstr ""
+
+msgctxt "field:analytic_account.line,credit:0"
+msgid "Credit"
+msgstr ""
+
+msgctxt "field:analytic_account.line,currency:0"
+msgid "Currency"
+msgstr ""
+
+msgctxt "field:analytic_account.line,currency_digits:0"
+msgid "Currency Digits"
+msgstr ""
+
+msgctxt "field:analytic_account.line,date:0"
+msgid "Date"
+msgstr ""
+
+msgctxt "field:analytic_account.line,debit:0"
+msgid "Debit"
+msgstr ""
+
+msgctxt "field:analytic_account.line,journal:0"
+msgid "Journal"
+msgstr ""
+
+msgctxt "field:analytic_account.line,move_line:0"
+msgid "Account Move Line"
+msgstr ""
+
+msgctxt "field:analytic_account.line,name:0"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:analytic_account.line,party:0"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:analytic_account.line,rec_name:0"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:analytic_account.line,reference:0"
+msgid "Reference"
+msgstr ""
+
+msgctxt "model:analytic_account.account,name:0"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:0"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr ""
+
+msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
+msgid "Open Chart Account Init"
+msgstr ""
+
+msgctxt "model:analytic_account.account.selection,name:0"
+msgid "Analytic Account Selection"
+msgstr ""
+
+msgctxt "model:analytic_account.line,name:0"
+msgid "Analytic Line"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Credit - Debit"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Debit - Credit"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Closed"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Draft"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Opened"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Normal"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Root"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "View"
+msgstr ""
+
+msgctxt "view:account.move.line:0"
+msgid "Analytic"
+msgstr ""
+
+msgctxt "view:account.move:0"
+msgid "Analytic"
+msgstr ""
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "General Information"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "Notes"
+msgstr ""
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Line"
+msgstr ""
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Lines"
+msgstr ""
+
+msgctxt "view:analytic_account.line:0"
+msgid "General Information"
+msgstr ""
+
+msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgid "Cancel"
+msgstr ""
+
+msgctxt ""
+"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgid "Open"
+msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
new file mode 100644
index 0000000..c4a5bcd
--- /dev/null
+++ b/locale/de_DE.po
@@ -0,0 +1,535 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:account.statement.line:0"
+msgid "Amount (%s) greater than the amount to pay of invoice!"
+msgstr "Der eingegebene Betrag (%s) ist größer als der Rechnungsbetrag!"
+
+msgctxt "error:account.statement.line:0"
+msgid ""
+"Credit or debit account on journal is the same than the statement line "
+"account!"
+msgstr ""
+"Haben- oder Sollkonto im Journal ist das selbe Konto wie das des "
+"Zahlungspostens!"
+
+msgctxt "error:account.statement.line:0"
+msgid "Please provide debit and credit account on statement journal."
+msgstr "Bitte Soll- und Habenkonto im Journal Zahlungsverkehr angeben."
+
+msgctxt "error:account.statement:0"
+msgid "End Balance must be %s!"
+msgstr "Endsaldo muss %s sein!"
+
+msgctxt "error:analytic_account.account.selection:0"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+"Mehrere Konten zum selben Wurzelkonto nicht möglich oder erforderliches "
+"Wurzelkonto fehlt!"
+
+msgctxt "error:analytic_account.account:0"
+msgid "You can not create recursive accounts!"
+msgstr "Konten können nicht rekursiv angelegt werden!"
+
+msgctxt "error:analytic_account.line:0"
+msgid "Wrong credit/debit values!"
+msgstr "Falsche Haben/Soll-Werte!"
+
+msgctxt "error:analytic_account.line:0"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr "Keine Berechtigung für die Erstellung von Buchungszeilen!"
+
+msgctxt "field:account.move.line,analytic_lines:0"
+msgid "Analytic Lines"
+msgstr "Kostenstelle Zeilen"
+
+msgctxt "field:account.statement,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Stellen Währung"
+
+msgctxt "field:account.statement,date:0"
+msgid "Date"
+msgstr "Datum"
+
+msgctxt "field:account.statement,end_balance:0"
+msgid "End Balance"
+msgstr "Endsaldo"
+
+msgctxt "field:account.statement,journal:0"
+msgid "Journal"
+msgstr "Journal"
+
+msgctxt "field:account.statement,lines:0"
+msgid "Transactions"
+msgstr "Transaktionen"
+
+msgctxt "field:account.statement,move_lines:0"
+msgid "Move Lines"
+msgstr "Buchungsposten"
+
+msgctxt "field:account.statement,rec_name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:account.statement,start_balance:0"
+msgid "Start Balance"
+msgstr "Anfangssaldo"
+
+msgctxt "field:account.statement,state:0"
+msgid "State"
+msgstr "Status"
+
+msgctxt "field:account.statement.journal,company:0"
+msgid "Company"
+msgstr "Unternehmen"
+
+msgctxt "field:account.statement.journal,currency:0"
+msgid "Currency"
+msgstr "Währung"
+
+msgctxt "field:account.statement.journal,journal:0"
+msgid "Journal"
+msgstr "Journal"
+
+msgctxt "field:account.statement.journal,name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:account.statement.journal,rec_name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:account.statement.line,account:0"
+msgid "Account"
+msgstr "Konto"
+
+msgctxt "field:account.statement.line,amount:0"
+msgid "Amount"
+msgstr "Betrag"
+
+msgctxt "field:account.statement.line,date:0"
+msgid "Date"
+msgstr "Datum"
+
+msgctxt "field:account.statement.line,description:0"
+msgid "Description"
+msgstr "Beschreibung"
+
+msgctxt "field:account.statement.line,invoice:0"
+msgid "Invoice"
+msgstr "Rechnung"
+
+msgctxt "field:account.statement.line,move:0"
+msgid "Account Move"
+msgstr "Buchungssatz"
+
+msgctxt "field:account.statement.line,party:0"
+msgid "Party"
+msgstr "Partei"
+
+msgctxt "field:account.statement.line,rec_name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:account.statement.line,statement:0"
+msgid "Statement"
+msgstr "Zahlung"
+
+msgctxt "field:analytic_account.account,active:0"
+msgid "Active"
+msgstr "Aktiv"
+
+msgctxt "field:analytic_account.account,balance:0"
+msgid "Balance"
+msgstr "Saldo"
+
+msgctxt "field:analytic_account.account,childs:0"
+msgid "Children"
+msgstr "Untergeordnet (Kostenstellen)"
+
+msgctxt "field:analytic_account.account,code:0"
+msgid "Code"
+msgstr "Code"
+
+msgctxt "field:analytic_account.account,company:0"
+msgid "Company"
+msgstr "Unternehmen"
+
+msgctxt "field:analytic_account.account,credit:0"
+msgid "Credit"
+msgstr "Haben"
+
+msgctxt "field:analytic_account.account,currency:0"
+msgid "Currency"
+msgstr "Währung"
+
+msgctxt "field:analytic_account.account,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Währung (signifikante Stellen)"
+
+msgctxt "field:analytic_account.account,debit:0"
+msgid "Debit"
+msgstr "Soll"
+
+msgctxt "field:analytic_account.account,display_balance:0"
+msgid "Display Balance"
+msgstr "Ansicht Bilanz"
+
+msgctxt "field:analytic_account.account,mandatory:0"
+msgid "Mandatory"
+msgstr "Erforderlich"
+
+msgctxt "field:analytic_account.account,name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:analytic_account.account,note:0"
+msgid "Note"
+msgstr "Notiz"
+
+msgctxt "field:analytic_account.account,parent:0"
+msgid "Parent"
+msgstr "Übergeordnet (Kostenstelle)"
+
+msgctxt "field:analytic_account.account,rec_name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:analytic_account.account,root:0"
+msgid "Root"
+msgstr "Wurzel"
+
+msgctxt "field:analytic_account.account,state:0"
+msgid "State"
+msgstr "Status"
+
+msgctxt "field:analytic_account.account,type:0"
+msgid "Type"
+msgstr "Typ"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:0"
+msgid "Account"
+msgstr "Konto"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,selection:0"
+msgid "Selection"
+msgstr "Auswahl"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
+msgid "End Date"
+msgstr "Enddatum"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
+msgid "Start Date"
+msgstr "Anfangsdatum"
+
+msgctxt "field:analytic_account.account.selection,accounts:0"
+msgid "Accounts"
+msgstr "Konten"
+
+msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:analytic_account.line,account:0"
+msgid "Account"
+msgstr "Konto"
+
+msgctxt "field:analytic_account.line,active:0"
+msgid "Active"
+msgstr "Aktiv"
+
+msgctxt "field:analytic_account.line,credit:0"
+msgid "Credit"
+msgstr "Haben"
+
+msgctxt "field:analytic_account.line,currency:0"
+msgid "Currency"
+msgstr "Währung"
+
+msgctxt "field:analytic_account.line,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Währung (signifikante Stellen)"
+
+msgctxt "field:analytic_account.line,date:0"
+msgid "Date"
+msgstr "Datum"
+
+msgctxt "field:analytic_account.line,debit:0"
+msgid "Debit"
+msgstr "Soll"
+
+msgctxt "field:analytic_account.line,journal:0"
+msgid "Journal"
+msgstr "Journal"
+
+msgctxt "field:analytic_account.line,move_line:0"
+msgid "Account Move Line"
+msgstr "Buchungszeile"
+
+msgctxt "field:analytic_account.line,name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:analytic_account.line,party:0"
+msgid "Party"
+msgstr "Partei"
+
+msgctxt "field:analytic_account.line,rec_name:0"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:analytic_account.line,reference:0"
+msgid "Reference"
+msgstr "Interner Beleg"
+
+msgctxt "model:account.statement,name:0"
+msgid "Account Statement"
+msgstr "Zahlungsverkehr"
+
+msgctxt "model:account.statement.journal,name:0"
+msgid "Statement Journal"
+msgstr "Journal Zahlungsverkehr"
+
+msgctxt "model:account.statement.line,name:0"
+msgid "Account Statement Line"
+msgstr "Zahlungsverkehr Position"
+
+msgctxt "model:analytic_account.account,name:0"
+msgid "Analytic Account"
+msgstr "Kostenstelle"
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:0"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr "Kostenstelle - Kostenstelle Auswahl"
+
+msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
+msgid "Open Chart Account Init"
+msgstr "Kontenplan Öffnen Init"
+
+msgctxt "model:analytic_account.account.selection,name:0"
+msgid "Analytic Account Selection"
+msgstr "Kostenstelle Auswahl"
+
+msgctxt "model:analytic_account.line,name:0"
+msgid "Analytic Line"
+msgstr "Kostenstelle Zeile"
+
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr "Kostenstellen"
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr "Kostenstellen"
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr "Kostenstellen"
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr "Kostenstelle Zeilen"
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr "Konto öffnen"
+
+msgctxt "model:ir.action,name:act_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Kostenstellenplan Öffnen"
+
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr "Kostenstellen"
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr "Kostenstellen"
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr "Kostenstellen"
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Kostenstellenplan öffnen"
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr "Kostenstellen Administration"
+
+msgctxt "selection:account.statement,state:0"
+msgid "Canceled"
+msgstr "Annulliert"
+
+msgctxt "selection:account.statement,state:0"
+msgid "Draft"
+msgstr "Entwurf"
+
+msgctxt "selection:account.statement,state:0"
+msgid "Posted"
+msgstr "Festgeschrieben"
+
+msgctxt "selection:account.statement,state:0"
+msgid "Validated"
+msgstr "Geprüft"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Credit - Debit"
+msgstr "Haben - Soll"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Debit - Credit"
+msgstr "Soll - Haben"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Closed"
+msgstr "Geschlossen"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Draft"
+msgstr "Entwurf"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Opened"
+msgstr "Geöffnet"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Normal"
+msgstr "Normal"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Root"
+msgstr "Wurzel"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "View"
+msgstr "Sicht"
+
+msgctxt "view:account.move.line:0"
+msgid "Analytic"
+msgstr "Kostenstelle"
+
+msgctxt "view:account.move:0"
+msgid "Analytic"
+msgstr "Kostenstelle"
+
+msgctxt "view:account.statement.journal:0"
+msgid "Statement Journal"
+msgstr "Journal Zahlungsverkehr"
+
+msgctxt "view:account.statement.journal:0"
+msgid "Statement Journals"
+msgstr "Journale Zahlungsverkehr"
+
+msgctxt "view:account.statement.line:0"
+msgid "Bank Statement Line"
+msgstr "Posten Bankauszüge"
+
+msgctxt "view:account.statement.line:0"
+msgid "Statement Line"
+msgstr "Zahlungsposten"
+
+msgctxt "view:account.statement.line:0"
+msgid "Statement Lines"
+msgstr "Zahlungsposten"
+
+msgctxt "view:account.statement:0"
+msgid "Bank Statement"
+msgstr "Bankauszug"
+
+msgctxt "view:account.statement:0"
+msgid "Bank Statement Lines"
+msgstr "Posten Bankauszüge"
+
+msgctxt "view:account.statement:0"
+msgid "Bank Statements"
+msgstr "Bankauszüge"
+
+msgctxt "view:account.statement:0"
+msgid "Cancel"
+msgstr "Annullieren"
+
+msgctxt "view:account.statement:0"
+msgid "Move Lines"
+msgstr "Buchungsposten"
+
+msgctxt "view:account.statement:0"
+msgid "Post"
+msgstr "Festschreiben"
+
+msgctxt "view:account.statement:0"
+msgid "Reset to Draft"
+msgstr "Auf Entwurf zurücksetzen"
+
+msgctxt "view:account.statement:0"
+msgid "Statement"
+msgstr "Zahlung"
+
+msgctxt "view:account.statement:0"
+msgid "Statement Lines"
+msgstr "Zahlungsposten"
+
+msgctxt "view:account.statement:0"
+msgid "Statements"
+msgstr "Zahlungsverkehr"
+
+msgctxt "view:account.statement:0"
+msgid "Validate"
+msgstr "Prüfen"
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Kostenstellenplan öffnen"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Account"
+msgstr "Kostenstelle"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Accounts"
+msgstr "Kostenstellen"
+
+msgctxt "view:analytic_account.account:0"
+msgid "General Information"
+msgstr "Allgemein"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Notes"
+msgstr "Notizen"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Line"
+msgstr "Kostenstelle"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Lines"
+msgstr "Kostenstellen"
+
+msgctxt "view:analytic_account.line:0"
+msgid "General Information"
+msgstr "Allgemein"
+
+msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgid "Cancel"
+msgstr "Abbrechen"
+
+msgctxt ""
+"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgid "Open"
+msgstr "Öffnen"
diff --git a/locale/es_CO.po b/locale/es_CO.po
new file mode 100644
index 0000000..6b5b6ac
--- /dev/null
+++ b/locale/es_CO.po
@@ -0,0 +1,334 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:0"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+"¡No se puede tener varias cuentas con la misma cuenta padre o tantas sin "
+"cuenta padre!"
+
+msgctxt "error:analytic_account.account:0"
+msgid "You can not create recursive accounts!"
+msgstr "¡No se puede crear cuentas recursivas!"
+
+msgctxt "error:analytic_account.line:0"
+msgid "Wrong credit/debit values!"
+msgstr "Valores erróneos de crédito/debito!"
+
+msgctxt "error:analytic_account.line:0"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr "No puede crearse línea de movimiento"
+
+msgctxt "field:account.move.line,analytic_lines:0"
+msgid "Analytic Lines"
+msgstr "Líneas Analíticas"
+
+msgctxt "field:analytic_account.account,active:0"
+msgid "Active"
+msgstr "Activo"
+
+msgctxt "field:analytic_account.account,balance:0"
+msgid "Balance"
+msgstr "Balance"
+
+msgctxt "field:analytic_account.account,childs:0"
+msgid "Children"
+msgstr "Hij at s"
+
+msgctxt "field:analytic_account.account,code:0"
+msgid "Code"
+msgstr "Código"
+
+msgctxt "field:analytic_account.account,company:0"
+msgid "Company"
+msgstr "Compañía"
+
+msgctxt "field:analytic_account.account,credit:0"
+msgid "Credit"
+msgstr "Crédito"
+
+msgctxt "field:analytic_account.account,currency:0"
+msgid "Currency"
+msgstr "Moneda"
+
+msgctxt "field:analytic_account.account,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Dígitos de Moneda"
+
+msgctxt "field:analytic_account.account,debit:0"
+msgid "Debit"
+msgstr "Débito"
+
+msgctxt "field:analytic_account.account,display_balance:0"
+msgid "Display Balance"
+msgstr "Mostrar Balance"
+
+msgctxt "field:analytic_account.account,mandatory:0"
+msgid "Mandatory"
+msgstr "Obligatorio"
+
+msgctxt "field:analytic_account.account,name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.account,note:0"
+msgid "Note"
+msgstr "Nota"
+
+msgctxt "field:analytic_account.account,parent:0"
+msgid "Parent"
+msgstr "Padre"
+
+msgctxt "field:analytic_account.account,rec_name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.account,root:0"
+msgid "Root"
+msgstr "Raíz"
+
+msgctxt "field:analytic_account.account,state:0"
+msgid "State"
+msgstr "Estado"
+
+msgctxt "field:analytic_account.account,type:0"
+msgid "Type"
+msgstr "Tipo"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:0"
+msgid "Account"
+msgstr "Cuenta"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,selection:0"
+msgid "Selection"
+msgstr "Selección"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
+msgid "End Date"
+msgstr "Fecha Fin"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
+msgid "Start Date"
+msgstr "Fecha Inicio"
+
+msgctxt "field:analytic_account.account.selection,accounts:0"
+msgid "Accounts"
+msgstr "Cuentas"
+
+msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.line,account:0"
+msgid "Account"
+msgstr "Cuenta"
+
+msgctxt "field:analytic_account.line,active:0"
+msgid "Active"
+msgstr "Activo"
+
+msgctxt "field:analytic_account.line,credit:0"
+msgid "Credit"
+msgstr "Crédito"
+
+msgctxt "field:analytic_account.line,currency:0"
+msgid "Currency"
+msgstr "Moneda"
+
+msgctxt "field:analytic_account.line,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Dígitos de Moneda"
+
+msgctxt "field:analytic_account.line,date:0"
+msgid "Date"
+msgstr "Fecha"
+
+msgctxt "field:analytic_account.line,debit:0"
+msgid "Debit"
+msgstr "Débito"
+
+msgctxt "field:analytic_account.line,journal:0"
+msgid "Journal"
+msgstr "Diario"
+
+msgctxt "field:analytic_account.line,move_line:0"
+msgid "Account Move Line"
+msgstr "Linea de Movimiento de Cuenta"
+
+msgctxt "field:analytic_account.line,name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.line,party:0"
+msgid "Party"
+msgstr "Terceros"
+
+msgctxt "field:analytic_account.line,rec_name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.line,reference:0"
+msgid "Reference"
+msgstr "Referencia"
+
+msgctxt "model:analytic_account.account,name:0"
+msgid "Analytic Account"
+msgstr "Cuenta Analítica"
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:0"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr "Cuenta Analítica - Selección de Cuenta Analítica"
+
+msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
+msgid "Open Chart Account Init"
+msgstr "Abrir Inicio de Plan de Cuentas"
+
+msgctxt "model:analytic_account.account.selection,name:0"
+msgid "Analytic Account Selection"
+msgstr "Selección de Cuenta Analítica"
+
+msgctxt "model:analytic_account.line,name:0"
+msgid "Analytic Line"
+msgstr "Línea Analítica"
+
+#, fuzzy
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr "Cuentas Analíticas"
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr "Cuentas Analíticas"
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr "Cuentas Analíticas"
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr "Líneas Analíticas"
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr "Abrir Cuenta"
+
+msgctxt "model:ir.action,name:act_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir Plan de Cuentas Analítico"
+
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr "Cuentas Analíticas"
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr "Cuentas Analíticas"
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr "Cuenta Analítica"
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir Plan de Cuentas Analítico"
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr "Administración Analítica"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Credit - Debit"
+msgstr "Crédito - Débito"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Debit - Credit"
+msgstr "Débito - Crédito"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Closed"
+msgstr "Cerrado"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Opened"
+msgstr "Abierto"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Normal"
+msgstr "Normal"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Root"
+msgstr "Raíz"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "View"
+msgstr "Vista"
+
+msgctxt "view:account.move.line:0"
+msgid "Analytic"
+msgstr "Analítica"
+
+#, fuzzy
+msgctxt "view:account.move:0"
+msgid "Analytic"
+msgstr "Analítica"
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir Plan de Cuentas Analítico"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Account"
+msgstr "Cuenta Analítica"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Accounts"
+msgstr "Cuentas Analíticas"
+
+msgctxt "view:analytic_account.account:0"
+msgid "General Information"
+msgstr "Información General"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Notes"
+msgstr "Notas"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Line"
+msgstr "Línea analítica"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Lines"
+msgstr "Líneas Analíticas"
+
+msgctxt "view:analytic_account.line:0"
+msgid "General Information"
+msgstr "Información General"
+
+msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgid "Cancel"
+msgstr "Cancelar"
+
+msgctxt ""
+"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgid "Open"
+msgstr "Abrir"
diff --git a/locale/es_ES.po b/locale/es_ES.po
new file mode 100644
index 0000000..8802ee4
--- /dev/null
+++ b/locale/es_ES.po
@@ -0,0 +1,336 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:0"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+"No puede tener varias cuentas con la misma cuenta raiz o falta una cuenta "
+"raiz obligatoria"
+
+msgctxt "error:analytic_account.account:0"
+msgid "You can not create recursive accounts!"
+msgstr "No puede crear cuentas recursivas"
+
+msgctxt "error:analytic_account.line:0"
+msgid "Wrong credit/debit values!"
+msgstr "Los valores debe/haber son incorrectos"
+
+msgctxt "error:analytic_account.line:0"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+"No puede crear una linea de asiento\n"
+"en una cuenta vista/inactiva"
+
+msgctxt "field:account.move.line,analytic_lines:0"
+msgid "Analytic Lines"
+msgstr "Líneas analíticas"
+
+msgctxt "field:analytic_account.account,active:0"
+msgid "Active"
+msgstr "Activa"
+
+msgctxt "field:analytic_account.account,balance:0"
+msgid "Balance"
+msgstr "Balance"
+
+msgctxt "field:analytic_account.account,childs:0"
+msgid "Children"
+msgstr "Hijos"
+
+msgctxt "field:analytic_account.account,code:0"
+msgid "Code"
+msgstr "Código"
+
+msgctxt "field:analytic_account.account,company:0"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:analytic_account.account,credit:0"
+msgid "Credit"
+msgstr "Haber"
+
+msgctxt "field:analytic_account.account,currency:0"
+msgid "Currency"
+msgstr "Divisa"
+
+msgctxt "field:analytic_account.account,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Decimales de la divisa"
+
+msgctxt "field:analytic_account.account,debit:0"
+msgid "Debit"
+msgstr "Debe"
+
+msgctxt "field:analytic_account.account,display_balance:0"
+msgid "Display Balance"
+msgstr "Mostrar balance"
+
+msgctxt "field:analytic_account.account,mandatory:0"
+msgid "Mandatory"
+msgstr "Obligatorio"
+
+msgctxt "field:analytic_account.account,name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.account,note:0"
+msgid "Note"
+msgstr "Nota"
+
+msgctxt "field:analytic_account.account,parent:0"
+msgid "Parent"
+msgstr "Padre"
+
+msgctxt "field:analytic_account.account,rec_name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.account,root:0"
+msgid "Root"
+msgstr "Raíz"
+
+msgctxt "field:analytic_account.account,state:0"
+msgid "State"
+msgstr "Estado"
+
+msgctxt "field:analytic_account.account,type:0"
+msgid "Type"
+msgstr "Tipo"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:0"
+msgid "Account"
+msgstr "Cuenta"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,selection:0"
+msgid "Selection"
+msgstr "Selección"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
+msgid "End Date"
+msgstr "Fecha fin"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
+msgid "Start Date"
+msgstr "Fecha inicio"
+
+msgctxt "field:analytic_account.account.selection,accounts:0"
+msgid "Accounts"
+msgstr "Cuentas"
+
+msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.line,account:0"
+msgid "Account"
+msgstr "Cuenta"
+
+msgctxt "field:analytic_account.line,active:0"
+msgid "Active"
+msgstr "Activa"
+
+msgctxt "field:analytic_account.line,credit:0"
+msgid "Credit"
+msgstr "Haber"
+
+msgctxt "field:analytic_account.line,currency:0"
+msgid "Currency"
+msgstr "Divisa"
+
+msgctxt "field:analytic_account.line,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Decimales de la divisa"
+
+msgctxt "field:analytic_account.line,date:0"
+msgid "Date"
+msgstr "Fecha"
+
+msgctxt "field:analytic_account.line,debit:0"
+msgid "Debit"
+msgstr "Debe"
+
+msgctxt "field:analytic_account.line,journal:0"
+msgid "Journal"
+msgstr "Diario"
+
+msgctxt "field:analytic_account.line,move_line:0"
+msgid "Account Move Line"
+msgstr "Linea de asiento contable"
+
+msgctxt "field:analytic_account.line,name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.line,party:0"
+msgid "Party"
+msgstr "Tercero"
+
+msgctxt "field:analytic_account.line,rec_name:0"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.line,reference:0"
+msgid "Reference"
+msgstr "Referencia"
+
+msgctxt "model:analytic_account.account,name:0"
+msgid "Analytic Account"
+msgstr "Cuenta analítica"
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:0"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr "Cuenta analítica - Selección de cuenta analítica"
+
+msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
+msgid "Open Chart Account Init"
+msgstr "Inicializa la apertura del plan de cuentas"
+
+msgctxt "model:analytic_account.account.selection,name:0"
+msgid "Analytic Account Selection"
+msgstr "Selección de cuenta analítica"
+
+msgctxt "model:analytic_account.line,name:0"
+msgid "Analytic Line"
+msgstr "Línea analítica"
+
+#, fuzzy
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr "Líneas analíticas"
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr "Abrir cuenta"
+
+msgctxt "model:ir.action,name:act_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir plan contable analítico"
+
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr "Cuenta analítica"
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir plan contable analítico"
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr "Administración analítica"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Credit - Debit"
+msgstr "Haber - Debe"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Debit - Credit"
+msgstr "Debe - Haber"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Closed"
+msgstr "Cerrada"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Opened"
+msgstr "Abierta"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Normal"
+msgstr "Normal"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Root"
+msgstr "Raíz"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "View"
+msgstr "Vista"
+
+msgctxt "view:account.move.line:0"
+msgid "Analytic"
+msgstr "Analítica"
+
+#, fuzzy
+msgctxt "view:account.move:0"
+msgid "Analytic"
+msgstr "Analítica"
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Abrir plan de cuentas analítico"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Account"
+msgstr "Cuenta analítica"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "view:analytic_account.account:0"
+msgid "General Information"
+msgstr "Información general"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Notes"
+msgstr "Notas"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Line"
+msgstr "Línea analítica"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Lines"
+msgstr "Líneas analíticas"
+
+msgctxt "view:analytic_account.line:0"
+msgid "General Information"
+msgstr "Información general"
+
+msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgid "Cancel"
+msgstr "Cancelar"
+
+msgctxt ""
+"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgid "Open"
+msgstr "Abrir"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
new file mode 100644
index 0000000..8f8a63e
--- /dev/null
+++ b/locale/fr_FR.po
@@ -0,0 +1,337 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:0"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+"Vous ne pouvez pas avoir plusieurs comptes avec la même racine ou un compte "
+"avec une racine obligatoire!"
+
+msgctxt "error:analytic_account.account:0"
+msgid "You can not create recursive accounts!"
+msgstr "Vous ne pouvez pas créer des comptes récursifs!"
+
+msgctxt "error:analytic_account.line:0"
+msgid "Wrong credit/debit values!"
+msgstr "Valeurs crédit/débit incorrectes"
+
+msgctxt "error:analytic_account.line:0"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+"Vous ne pouvez pas créer de mouvements\n"
+"sur des comptes inactifs ou de type vue!"
+
+msgctxt "field:account.move.line,analytic_lines:0"
+msgid "Analytic Lines"
+msgstr "Lignes analytiques"
+
+msgctxt "field:analytic_account.account,active:0"
+msgid "Active"
+msgstr "Actif"
+
+msgctxt "field:analytic_account.account,balance:0"
+msgid "Balance"
+msgstr "Balance"
+
+msgctxt "field:analytic_account.account,childs:0"
+msgid "Children"
+msgstr "Enfants"
+
+msgctxt "field:analytic_account.account,code:0"
+msgid "Code"
+msgstr "Code"
+
+msgctxt "field:analytic_account.account,company:0"
+msgid "Company"
+msgstr "Société"
+
+msgctxt "field:analytic_account.account,credit:0"
+msgid "Credit"
+msgstr "Crédit"
+
+msgctxt "field:analytic_account.account,currency:0"
+msgid "Currency"
+msgstr "Devise"
+
+msgctxt "field:analytic_account.account,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Décimales de la devise"
+
+msgctxt "field:analytic_account.account,debit:0"
+msgid "Debit"
+msgstr "Débit"
+
+msgctxt "field:analytic_account.account,display_balance:0"
+msgid "Display Balance"
+msgstr "Balance affichée"
+
+msgctxt "field:analytic_account.account,mandatory:0"
+msgid "Mandatory"
+msgstr "Obligatoire"
+
+msgctxt "field:analytic_account.account,name:0"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.account,note:0"
+msgid "Note"
+msgstr "Note"
+
+msgctxt "field:analytic_account.account,parent:0"
+msgid "Parent"
+msgstr "Parent"
+
+msgctxt "field:analytic_account.account,rec_name:0"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.account,root:0"
+msgid "Root"
+msgstr "Racine"
+
+msgctxt "field:analytic_account.account,state:0"
+msgid "State"
+msgstr "État"
+
+msgctxt "field:analytic_account.account,type:0"
+msgid "Type"
+msgstr "Type"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:0"
+msgid "Account"
+msgstr "Compte"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,selection:0"
+msgid "Selection"
+msgstr "Sélection"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
+msgid "End Date"
+msgstr "Date de fin"
+
+msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
+msgid "Start Date"
+msgstr "Date de début"
+
+msgctxt "field:analytic_account.account.selection,accounts:0"
+msgid "Accounts"
+msgstr "Comptes"
+
+msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.line,account:0"
+msgid "Account"
+msgstr "Compte"
+
+msgctxt "field:analytic_account.line,active:0"
+msgid "Active"
+msgstr "Actif"
+
+msgctxt "field:analytic_account.line,credit:0"
+msgid "Credit"
+msgstr "Crédit"
+
+msgctxt "field:analytic_account.line,currency:0"
+msgid "Currency"
+msgstr "Devise"
+
+msgctxt "field:analytic_account.line,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Décimales de la devise"
+
+msgctxt "field:analytic_account.line,date:0"
+msgid "Date"
+msgstr "Date"
+
+msgctxt "field:analytic_account.line,debit:0"
+msgid "Debit"
+msgstr "Débit"
+
+msgctxt "field:analytic_account.line,journal:0"
+msgid "Journal"
+msgstr "Journal"
+
+msgctxt "field:analytic_account.line,move_line:0"
+msgid "Account Move Line"
+msgstr "Ligne de mouvement comptable"
+
+msgctxt "field:analytic_account.line,name:0"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.line,party:0"
+msgid "Party"
+msgstr "Partenaire"
+
+msgctxt "field:analytic_account.line,rec_name:0"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.line,reference:0"
+msgid "Reference"
+msgstr "Référence"
+
+msgctxt "model:analytic_account.account,name:0"
+msgid "Analytic Account"
+msgstr "Compte analytique"
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:0"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr "Compte analytique - Sélection compte analytique"
+
+msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
+msgid "Open Chart Account Init"
+msgstr "Ouvrir le plan comptable - Initialisation"
+
+msgctxt "model:analytic_account.account.selection,name:0"
+msgid "Analytic Account Selection"
+msgstr "Sélection compte analytique"
+
+msgctxt "model:analytic_account.line,name:0"
+msgid "Analytic Line"
+msgstr "Ligne analytique"
+
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr "Comptes analytiques"
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr "Comptes analytiques"
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr "Comptes analytiques"
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr "Lignes analytiques"
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr "Ouvrir le compte"
+
+msgctxt "model:ir.action,name:act_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Ouvrir le plan comptable analytique"
+
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr "Comptes analytiques"
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr "Comptes analytiques"
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr "Compte analytique"
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Ouvrir le plan comptable analytique"
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr "Administration analytique"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Credit - Debit"
+msgstr "Crédit - Débit"
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Debit - Credit"
+msgstr "Débit - Crédit"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Closed"
+msgstr "Fermé"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Draft"
+msgstr "Brouillon"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Opened"
+msgstr "Ouvert"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Normal"
+msgstr "Normal"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Root"
+msgstr "Racine"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "View"
+msgstr "Vue"
+
+msgctxt "view:account.move.line:0"
+msgid "Analytic"
+msgstr "Analytique"
+
+msgctxt "view:account.move:0"
+msgid "Analytic"
+msgstr "Analytique"
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Account"
+msgstr "Ouvrir le plan comptable analytique"
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Accounts"
+msgstr "Ouvrir le plan comptable analytique"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Account"
+msgstr "Compte analytique"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Accounts"
+msgstr "Comptes analytiques"
+
+msgctxt "view:analytic_account.account:0"
+msgid "General Information"
+msgstr "Information générale"
+
+msgctxt "view:analytic_account.account:0"
+msgid "Notes"
+msgstr "Notes"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Line"
+msgstr "Ligne analytique"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Lines"
+msgstr "Lignes analytiques"
+
+msgctxt "view:analytic_account.line:0"
+msgid "General Information"
+msgstr "Information générale"
+
+msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgid "Cancel"
+msgstr "Annuler"
+
+msgctxt ""
+"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgid "Open"
+msgstr "Ouvrir"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
new file mode 100644
index 0000000..fc1d479
--- /dev/null
+++ b/locale/nl_NL.po
@@ -0,0 +1,378 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:0"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+
+#, fuzzy
+msgctxt "error:analytic_account.account:0"
+msgid "You can not create recursive accounts!"
+msgstr "U kunt geen rekeningen aanmaken die naar zichzelf verwijzen!"
+
+#, fuzzy
+msgctxt "error:analytic_account.line:0"
+msgid "Wrong credit/debit values!"
+msgstr "Verkeerde debit/credit waarden!"
+
+msgctxt "error:analytic_account.line:0"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+
+msgctxt "field:account.move.line,analytic_lines:0"
+msgid "Analytic Lines"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,active:0"
+msgid "Active"
+msgstr "Actief"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,balance:0"
+msgid "Balance"
+msgstr "Balans"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,childs:0"
+msgid "Children"
+msgstr "Onderliggende niveaus"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,code:0"
+msgid "Code"
+msgstr "Code"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,company:0"
+msgid "Company"
+msgstr "Bedrijf"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,credit:0"
+msgid "Credit"
+msgstr "Credit"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,currency:0"
+msgid "Currency"
+msgstr "Valuta"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Valuta decimalen"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,debit:0"
+msgid "Debit"
+msgstr "Debit"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,display_balance:0"
+msgid "Display Balance"
+msgstr "Toon balans"
+
+msgctxt "field:analytic_account.account,mandatory:0"
+msgid "Mandatory"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,name:0"
+msgid "Name"
+msgstr "Naam bijlage"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,note:0"
+msgid "Note"
+msgstr "Aantekening"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,parent:0"
+msgid "Parent"
+msgstr "Bovenliggend niveau"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,rec_name:0"
+msgid "Name"
+msgstr "Naam bijlage"
+
+msgctxt "field:analytic_account.account,root:0"
+msgid "Root"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,state:0"
+msgid "State"
+msgstr "Status"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,type:0"
+msgid "Type"
+msgstr "Type"
+
+#, fuzzy
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:0"
+msgid "Account"
+msgstr "Rekeningen"
+
+#, fuzzy
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Naam bijlage"
+
+#, fuzzy
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,selection:0"
+msgid "Selection"
+msgstr "Selectie"
+
+#, fuzzy
+msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
+msgid "End Date"
+msgstr "Eind datum"
+
+#, fuzzy
+msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
+msgid "Start Date"
+msgstr "Start datum"
+
+#, fuzzy
+msgctxt "field:analytic_account.account.selection,accounts:0"
+msgid "Accounts"
+msgstr "Rekeningen"
+
+#, fuzzy
+msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Naam bijlage"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,account:0"
+msgid "Account"
+msgstr "Rekeningen"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,active:0"
+msgid "Active"
+msgstr "Actief"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,credit:0"
+msgid "Credit"
+msgstr "Credit"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,currency:0"
+msgid "Currency"
+msgstr "Valuta"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,currency_digits:0"
+msgid "Currency Digits"
+msgstr "Valuta decimalen"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,date:0"
+msgid "Date"
+msgstr "Vervaldatum"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,debit:0"
+msgid "Debit"
+msgstr "Debit"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,journal:0"
+msgid "Journal"
+msgstr "Dagboek"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,move_line:0"
+msgid "Account Move Line"
+msgstr "Boekingsregel"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,name:0"
+msgid "Name"
+msgstr "Naam bijlage"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,party:0"
+msgid "Party"
+msgstr "Relaties"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,rec_name:0"
+msgid "Name"
+msgstr "Naam bijlage"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,reference:0"
+msgid "Reference"
+msgstr "Referentie"
+
+msgctxt "model:analytic_account.account,name:0"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:0"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr ""
+
+#, fuzzy
+msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
+msgid "Open Chart Account Init"
+msgstr "Rekeningschema gaan openen"
+
+msgctxt "model:analytic_account.account.selection,name:0"
+msgid "Analytic Account Selection"
+msgstr ""
+
+msgctxt "model:analytic_account.line,name:0"
+msgid "Analytic Line"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Credit - Debit"
+msgstr "Credit - Debit"
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Debit - Credit"
+msgstr "Debit - Credit"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Closed"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Draft"
+msgstr "Concept"
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Opened"
+msgstr "Geopend"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Normal"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Root"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,type:0"
+msgid "View"
+msgstr "Overzicht"
+
+msgctxt "view:account.move.line:0"
+msgid "Analytic"
+msgstr ""
+
+msgctxt "view:account.move:0"
+msgid "Analytic"
+msgstr ""
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Accounts"
+msgstr ""
+
+#, fuzzy
+msgctxt "view:analytic_account.account:0"
+msgid "General Information"
+msgstr "Algemene informatie"
+
+#, fuzzy
+msgctxt "view:analytic_account.account:0"
+msgid "Notes"
+msgstr "Aantekeningen"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Line"
+msgstr ""
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Lines"
+msgstr ""
+
+#, fuzzy
+msgctxt "view:analytic_account.line:0"
+msgid "General Information"
+msgstr "Algemene informatie"
+
+#, fuzzy
+msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgid "Cancel"
+msgstr "Annuleren"
+
+#, fuzzy
+msgctxt ""
+"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgid "Open"
+msgstr "Open"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
new file mode 100644
index 0000000..11cc616
--- /dev/null
+++ b/locale/ru_RU.po
@@ -0,0 +1,358 @@
+# 
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+msgctxt "error:analytic_account.account.selection:0"
+msgid ""
+"Can not have many accounts with the same root or a missing mandatory root "
+"account!"
+msgstr ""
+
+msgctxt "error:analytic_account.account:0"
+msgid "You can not create recursive accounts!"
+msgstr ""
+
+msgctxt "error:analytic_account.line:0"
+msgid "Wrong credit/debit values!"
+msgstr ""
+
+msgctxt "error:analytic_account.line:0"
+msgid ""
+"You can not create move line\n"
+"on view/inactive account!"
+msgstr ""
+
+msgctxt "field:account.move.line,analytic_lines:0"
+msgid "Analytic Lines"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,active:0"
+msgid "Active"
+msgstr "Действительный"
+
+msgctxt "field:analytic_account.account,balance:0"
+msgid "Balance"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,childs:0"
+msgid "Children"
+msgstr "Подчиненый"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,code:0"
+msgid "Code"
+msgstr "Код страны"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,company:0"
+msgid "Company"
+msgstr "Учет.орг."
+
+msgctxt "field:analytic_account.account,credit:0"
+msgid "Credit"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,currency:0"
+msgid "Currency"
+msgstr "Валюты"
+
+msgctxt "field:analytic_account.account,currency_digits:0"
+msgid "Currency Digits"
+msgstr ""
+
+msgctxt "field:analytic_account.account,debit:0"
+msgid "Debit"
+msgstr ""
+
+msgctxt "field:analytic_account.account,display_balance:0"
+msgid "Display Balance"
+msgstr ""
+
+msgctxt "field:analytic_account.account,mandatory:0"
+msgid "Mandatory"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,name:0"
+msgid "Name"
+msgstr "Наименование"
+
+msgctxt "field:analytic_account.account,note:0"
+msgid "Note"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,parent:0"
+msgid "Parent"
+msgstr "Основной"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,rec_name:0"
+msgid "Name"
+msgstr "Наименование"
+
+msgctxt "field:analytic_account.account,root:0"
+msgid "Root"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account,state:0"
+msgid "State"
+msgstr "Статус"
+
+#, fuzzy
+msgctxt "field:analytic_account.account,type:0"
+msgid "Type"
+msgstr "Тип"
+
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,account:0"
+msgid "Account"
+msgstr ""
+
+#, fuzzy
+msgctxt ""
+"field:analytic_account.account-analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Наименование"
+
+#, fuzzy
+msgctxt ""
+"field:analytic_account.account-"
+"analytic_account.account.selection,selection:0"
+msgid "Selection"
+msgstr "Выбор"
+
+#, fuzzy
+msgctxt "field:analytic_account.account.open_chart_account.init,end_date:0"
+msgid "End Date"
+msgstr "Дата окончания"
+
+#, fuzzy
+msgctxt "field:analytic_account.account.open_chart_account.init,start_date:0"
+msgid "Start Date"
+msgstr "Дата начала"
+
+msgctxt "field:analytic_account.account.selection,accounts:0"
+msgid "Accounts"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.account.selection,rec_name:0"
+msgid "Name"
+msgstr "Наименование"
+
+msgctxt "field:analytic_account.line,account:0"
+msgid "Account"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.line,active:0"
+msgid "Active"
+msgstr "Действительный"
+
+msgctxt "field:analytic_account.line,credit:0"
+msgid "Credit"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.line,currency:0"
+msgid "Currency"
+msgstr "Валюты"
+
+msgctxt "field:analytic_account.line,currency_digits:0"
+msgid "Currency Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.line,date:0"
+msgid "Date"
+msgstr "Дата"
+
+msgctxt "field:analytic_account.line,debit:0"
+msgid "Debit"
+msgstr ""
+
+msgctxt "field:analytic_account.line,journal:0"
+msgid "Journal"
+msgstr ""
+
+msgctxt "field:analytic_account.line,move_line:0"
+msgid "Account Move Line"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.line,name:0"
+msgid "Name"
+msgstr "Наименование"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,party:0"
+msgid "Party"
+msgstr "Организации"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,rec_name:0"
+msgid "Name"
+msgstr "Наименование"
+
+#, fuzzy
+msgctxt "field:analytic_account.line,reference:0"
+msgid "Reference"
+msgstr "Ссылка"
+
+msgctxt "model:analytic_account.account,name:0"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt ""
+"model:analytic_account.account-analytic_account.account.selection,name:0"
+msgid "Analytic Account - Analytic Account Selection"
+msgstr ""
+
+msgctxt "model:analytic_account.account.open_chart_account.init,name:0"
+msgid "Open Chart Account Init"
+msgstr ""
+
+msgctxt "model:analytic_account.account.selection,name:0"
+msgid "Analytic Account Selection"
+msgstr ""
+
+msgctxt "model:analytic_account.line,name:0"
+msgid "Analytic Line"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_list"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_tree"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_account_tree2"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_line_form"
+msgid "Analytic Lines"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_open_account"
+msgid "Open Account"
+msgstr ""
+
+msgctxt "model:ir.action,name:act_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_account_list"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_account_tree"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt "model:ir.ui.menu,name:menu_open_chart_account"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "model:res.group,name:group_analytic_admin"
+msgid "Analytic Administration"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Credit - Debit"
+msgstr ""
+
+msgctxt "selection:analytic_account.account,display_balance:0"
+msgid "Debit - Credit"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Closed"
+msgstr "Закрыто"
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Draft"
+msgstr "Черновик"
+
+msgctxt "selection:analytic_account.account,state:0"
+msgid "Opened"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Normal"
+msgstr "Нормально"
+
+msgctxt "selection:analytic_account.account,type:0"
+msgid "Root"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:analytic_account.account,type:0"
+msgid "View"
+msgstr "Просмотр"
+
+msgctxt "view:account.move.line:0"
+msgid "Analytic"
+msgstr ""
+
+msgctxt "view:account.move:0"
+msgid "Analytic"
+msgstr ""
+
+msgctxt "view:analytic_account.account.open_chart_account.init:0"
+msgid "Open Chart of Analytic Accounts"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Account"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "view:analytic_account.account:0"
+msgid "General Information"
+msgstr ""
+
+#, fuzzy
+msgctxt "view:analytic_account.account:0"
+msgid "Notes"
+msgstr "Комментарии"
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Line"
+msgstr ""
+
+msgctxt "view:analytic_account.line:0"
+msgid "Analytic Lines"
+msgstr ""
+
+msgctxt "view:analytic_account.line:0"
+msgid "General Information"
+msgstr ""
+
+#, fuzzy
+msgctxt "wizard_button:analytic_account.account.open_chart_account,init,end:0"
+msgid "Cancel"
+msgstr "Отменить"
+
+#, fuzzy
+msgctxt ""
+"wizard_button:analytic_account.account.open_chart_account,init,open:0"
+msgid "Open"
+msgstr "Открыть"
diff --git a/setup.py b/setup.py
index 20e8f51..f3b5fad 100644
--- a/setup.py
+++ b/setup.py
@@ -39,17 +39,20 @@ setup(name='trytond_analytic_account',
     classifiers=[
         'Development Status :: 5 - Production/Stable',
         'Environment :: Plugins',
+        'Framework :: Tryton',
         'Intended Audience :: Developers',
         'Intended Audience :: Financial and Insurance Industry',
         'Intended Audience :: Legal Industry',
         'License :: OSI Approved :: GNU General Public License (GPL)',
         'Natural Language :: Bulgarian',
+        'Natural Language :: Czech',
+        'Natural Language :: Dutch',
         'Natural Language :: English',
         'Natural Language :: French',
         'Natural Language :: German',
+        'Natural Language :: Russian',
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
-        'Programming Language :: Python :: 2.5',
         'Programming Language :: Python :: 2.6',
         'Programming Language :: Python :: 2.7',
         'Topic :: Office/Business',
diff --git a/tests/test_analytic_account.py b/tests/test_analytic_account.py
index 0da5af7..40c212f 100644
--- a/tests/test_analytic_account.py
+++ b/tests/test_analytic_account.py
@@ -10,7 +10,7 @@ if os.path.isdir(DIR):
 
 import unittest
 import trytond.tests.test_tryton
-from trytond.tests.test_tryton import test_view
+from trytond.tests.test_tryton import test_view, test_depends
 
 
 class AnalyticAccountTestCase(unittest.TestCase):
@@ -27,6 +27,12 @@ class AnalyticAccountTestCase(unittest.TestCase):
         '''
         test_view('analytic_account')
 
+    def test0006depends(self):
+        '''
+        Test depends.
+        '''
+        test_depends()
+
 def suite():
     suite = trytond.tests.test_tryton.suite()
     suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index 9d9d090..31b8523 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 2.0.0
+Version: 2.2.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,22 +11,25 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.0/
+Download-URL: http://downloads.tryton.org/2.2/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
+Classifier: Framework :: Tryton
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Czech
+Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2.5
 Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index eae6341..50f91c0 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -6,11 +6,6 @@ MANIFEST.in
 README
 account.xml
 analytic_account.xml
-bg_BG.csv
-de_DE.csv
-es_CO.csv
-es_ES.csv
-fr_FR.csv
 line.xml
 setup.py
 ./__init__.py
@@ -19,6 +14,14 @@ setup.py
 ./line.py
 ./tests/__init__.py
 ./tests/test_analytic_account.py
+locale/bg_BG.po
+locale/cs_CZ.po
+locale/de_DE.po
+locale/es_CO.po
+locale/es_ES.po
+locale/fr_FR.po
+locale/nl_NL.po
+locale/ru_RU.po
 trytond_analytic_account.egg-info/PKG-INFO
 trytond_analytic_account.egg-info/SOURCES.txt
 trytond_analytic_account.egg-info/dependency_links.txt
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 7339500..8c2fa0b 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,5 +1,5 @@
-trytond_company >= 2.0, < 2.1
-trytond_currency >= 2.0, < 2.1
-trytond_account >= 2.0, < 2.1
-trytond_party >= 2.0, < 2.1
-trytond >= 2.0, < 2.1
\ No newline at end of file
+trytond_company >= 2.2, < 2.3
+trytond_currency >= 2.2, < 2.3
+trytond_account >= 2.2, < 2.3
+trytond_party >= 2.2, < 2.3
+trytond >= 2.2, < 2.3
\ No newline at end of file
commit 6240066957f6924aede424b3dd5c89974fe77bc2
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue May 24 19:12:40 2011 +0200

    Adding upstream version 2.0.0.

diff --git a/CHANGELOG b/CHANGELOG
index 4b4e7d6..04a6064 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 2.0.0 - 2011-04-27
+* Bug fixes (see mercurial logs for details)
+
 Version 1.8.0 - 2010-11-01
 * Bug fixes (see mercurial logs for details)
 
diff --git a/COPYRIGHT b/COPYRIGHT
index 94a43fb..a9feb41 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,7 +1,7 @@
+Copyright (C) 2008-2011 Cédric Krier.
+Copyright (C) 2008-2011 Bertrand Chenal.
+Copyright (C) 2008-2011 B2CK SPRL.
 Copyright (C) 2004-2008 Tiny SPRL.
-Copyright (C) 2008-2010 Cédric Krier.
-Copyright (C) 2008-2010 Bertrand Chenal.
-Copyright (C) 2008-2010 B2CK SPRL.
 
 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
diff --git a/PKG-INFO b/PKG-INFO
index d5c2a59..6b68b1b 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 1.8.0
+Version: 2.0.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.8/
+Download-URL: http://downloads.tryton.org/2.0/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
@@ -20,11 +20,14 @@ Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.5
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
 Classifier: Topic :: Office/Business :: Financial :: Accounting
diff --git a/__tryton__.py b/__tryton__.py
index b830370..29052d2 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -2,11 +2,12 @@
 #this repository contains the full copyright notices and license terms.
 {
     'name': 'Analytic Account',
+    'name_bg_BG': 'Аналитична сметка',
     'name_de_DE': 'Kostenstellen',
     'name_es_CO': 'Contabilidad Analítica',
     'name_es_ES': 'Contabilidad analítica',
     'name_fr_FR': 'Comptabilité analytique',
-    'version': '1.8.0',
+    'version': '2.0.0',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
@@ -16,6 +17,12 @@
 And with report:
     - Analytic account balance
 ''',
+    'description_bg_BG': '''Финансов и счетоводен модул с:
+    - Аналитично счетоводство с произволен брой аналитични графики
+
+Прилежащи справки:
+    - Баланс на аналитична сметка
+''',
     'description_de_DE': '''Modul für Buchhhaltung mit:
     - Kostenstellen mit einer beliebigen Anzahl von Tabellen
 
@@ -54,6 +61,7 @@ Et le rapport:
         'line.xml',
     ],
     'translation': [
+        'bg_BG.csv',
         'de_DE.csv',
         'es_CO.csv',
         'es_ES.csv',
diff --git a/account.xml b/account.xml
index 8e4b857..4fef4f4 100644
--- a/account.xml
+++ b/account.xml
@@ -60,61 +60,65 @@ this repository contains the full copyright notices and license terms. -->
                     <field name="active" select="2" tree_invisible="1"/>
                     <field name="name" select="1" tree_invisible="1"/>
                     <field name="code" select="1" tree_invisible="1"/>
+                    <field name="parent" tree_invisible="1"/>
+                    <field name="childs" tree_invisible="1"/>
                 </tree>
                 ]]>
             </field>
         </record>
-        <record model="ir.action.act_window" id="act_account_form">
+        <record model="ir.ui.view" id="account_view_list">
+            <field name="model">analytic_account.account</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <tree string="Analytic Accounts">
+                    <field name="rec_name"/>
+                    <field name="company" select="2"/>
+                    <field name="type" select="2"/>
+                    <field name="active" select="2" tree_invisible="1"/>
+                    <field name="name" select="1" tree_invisible="1"/>
+                    <field name="code" select="1" tree_invisible="1"/>
+                </tree>
+                ]]>
+            </field>
+        </record>
+
+        <record model="ir.action.act_window" id="act_account_tree">
             <field name="name">Analytic Accounts</field>
             <field name="res_model">analytic_account.account</field>
-            <field name="view_type">form</field>
+            <field name="domain">[('parent', '=', False)]</field>
         </record>
-        <record model="ir.action.act_window.view" id="act_account_form_view1">
+        <record model="ir.action.act_window.view" id="act_account_tree_view1">
             <field name="sequence" eval="10"/>
             <field name="view" ref="account_view_tree"/>
-            <field name="act_window" ref="act_account_form"/>
+            <field name="act_window" ref="act_account_tree"/>
         </record>
-        <record model="ir.action.act_window.view" id="act_account_form_view2">
+        <record model="ir.action.act_window.view" id="act_account_tree_view2">
             <field name="sequence" eval="20"/>
             <field name="view" ref="account_view_form"/>
-            <field name="act_window" ref="act_account_form"/>
+            <field name="act_window" ref="act_account_tree"/>
         </record>
         <menuitem parent="menu_analytic_account_configuration"
-            action="act_account_form" id="menu_account_form"/>
+            action="act_account_tree" id="menu_account_tree"/>
 
-        <record model="ir.action.act_window" id="act_account_form2">
+        <record model="ir.action.act_window" id="act_account_form">
             <field name="name">Analytic Accounts</field>
             <field name="res_model">analytic_account.account</field>
-            <field name="view_type">form</field>
         </record>
-        <record model="ir.action.act_window.view" id="act_account_form2_view1">
+        <record model="ir.action.act_window.view" id="act_account_form_view1">
             <field name="sequence" eval="10"/>
             <field name="view" ref="account_view_form"/>
-            <field name="act_window" ref="act_account_form2"/>
+            <field name="act_window" ref="act_account_form"/>
         </record>
-        <record model="ir.action.act_window.view" id="act_account_form2_view2">
+        <record model="ir.action.act_window.view" id="act_account_form_view2">
             <field name="sequence" eval="20"/>
-            <field name="view" ref="account_view_tree"/>
-            <field name="act_window" ref="act_account_form2"/>
+            <field name="view" ref="account_view_list"/>
+            <field name="act_window" ref="act_account_form"/>
         </record>
-        <menuitem name="New Analytic Account" parent="menu_account_form"
-            action="act_account_form2" id="menu_account_form_new"
+        <menuitem name="New Analytic Account" parent="menu_account_tree"
+            action="act_account_form" id="menu_account_form_new"
             sequence="10"/>
 
-        <record model="ir.action.act_window" id="act_account_tree">
-            <field name="name">Analytic Accounts</field>
-            <field name="res_model">analytic_account.account</field>
-            <field name="view_type">tree</field>
-            <field name="domain">[('parent', '=', False)]</field>
-        </record>
-        <record model="ir.action.act_window.view" id="act_account_tree_view1">
-            <field name="sequence" eval="10"/>
-            <field name="view" ref="account_view_tree"/>
-            <field name="act_window" ref="act_account_tree"/>
-        </record>
-        <menuitem parent="menu_account_form"
-            action="act_account_tree" id="menu_account_tree"
-            sequence="20"/>
         <record model="ir.ui.view" id="account_view_tree2">
             <field name="model">analytic_account.account</field>
             <field name="type">tree</field>
@@ -136,7 +140,6 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.action.act_window" id="act_account_tree2">
             <field name="name">Analytic Accounts</field>
             <field name="res_model">analytic_account.account</field>
-            <field name="view_type">tree</field>
             <field name="domain">[('parent', '=', False)]</field>
         </record>
         <record model="ir.action.act_window.view" id="act_account_tree2_view1">
@@ -144,6 +147,11 @@ this repository contains the full copyright notices and license terms. -->
             <field name="view" ref="account_view_tree2"/>
             <field name="act_window" ref="act_account_tree2"/>
         </record>
+        <record model="ir.action.act_window.view" id="act_account_tree2_view2">
+            <field name="sequence" eval="20"/>
+            <field name="view" ref="account_view_form"/>
+            <field name="act_window" ref="act_account_tree2"/>
+        </record>
         <record model="ir.action.wizard" id="act_open_chart_account">
             <field name="name">Open Chart of Analytic Accounts</field>
             <field name="wiz_name">analytic_account.account.open_chart_account</field>
diff --git a/bg_BG.csv b/bg_BG.csv
new file mode 100644
index 0000000..ff3ef6b
--- /dev/null
+++ b/bg_BG.csv
@@ -0,0 +1,85 @@
+type,name,res_id,src,value,fuzzy
+error,analytic_account.account,0,You can not create recursive accounts!,Не може да създавате взаимно вложени сметки!,0
+error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Не може да имате много сметки с един и същи родител или да липсва родителска сметка!,0
+error,analytic_account.line,0,Wrong credit/debit values!,Грешни стойности за кредит/дебит!,0
+error,analytic_account.line,0,"You can not create move line
+on view/inactive account!","Не може да създавате ред от движение
+за изглед/неактивна сметка!",0
+field,"account.invoice.line,analytic_accounts",0,Analytic Accounts,Аналитични сметки,0
+field,"account.move.line,analytic_lines",0,Analytic Lines,Редове от аналитична сметка,0
+field,"analytic_account.account,active",0,Active,Активен,0
+field,"analytic_account.account,balance",0,Balance,Баланс,0
+field,"analytic_account.account,childs",0,Children,Деца,0
+field,"analytic_account.account,code",0,Code,Код,0
+field,"analytic_account.account,company",0,Company,Фирма,0
+field,"analytic_account.account,credit",0,Credit,Кредит,0
+field,"analytic_account.account,currency",0,Currency,Валута,0
+field,"analytic_account.account,currency_digits",0,Currency Digits,Цифри за валута,0
+field,"analytic_account.account,debit",0,Debit,Дебит,0
+field,"analytic_account.account,display_balance",0,Display Balance,Показване на баланс,0
+field,"analytic_account.account,mandatory",0,Mandatory,Задължителен,0
+field,"analytic_account.account,name",0,Name,Име,0
+field,"analytic_account.account,note",0,Note,Бележка,0
+field,"analytic_account.account,parent",0,Parent,Родител,0
+field,"analytic_account.account,rec_name",0,Name,Име,0
+field,"analytic_account.account,root",0,Root,Начало,0
+field,"analytic_account.account,state",0,State,Щат,0
+field,"analytic_account.account,type",0,Type,Вид,0
+field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Фактури,0
+field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Име,0
+field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Избор,0
+field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Крайна дата,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Начална дата,0
+field,"analytic_account.account.selection,accounts",0,Accounts,Сметки,0
+field,"analytic_account.account.selection,rec_name",0,Name,Име,0
+field,"analytic_account.line,account",0,Account,Фактури,0
+field,"analytic_account.line,active",0,Active,Активен,0
+field,"analytic_account.line,credit",0,Credit,Кредит,0
+field,"analytic_account.line,currency",0,Currency,Валута,0
+field,"analytic_account.line,currency_digits",0,Currency Digits,Цифри за валута,0
+field,"analytic_account.line,date",0,Date,Дата,0
+field,"analytic_account.line,debit",0,Debit,Дебит,0
+field,"analytic_account.line,journal",0,Journal,Дневник,0
+field,"analytic_account.line,move_line",0,Account Move Line,Ред от движение по сметка,0
+field,"analytic_account.line,name",0,Name,Име,0
+field,"analytic_account.line,party",0,Party,Партньор,0
+field,"analytic_account.line,rec_name",0,Name,Име,0
+field,"analytic_account.line,reference",0,Reference,Отпратка,0
+model,"analytic_account.account,name",0,Analytic Account,Аналитична сметка,0
+model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Аналитична сметка - Избор на аналитична сметка ,0
+model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Начално създаване на сметкоплан,0
+model,"analytic_account.account.selection,name",0,Analytic Account Selection,Избор на аналитична сметка,0
+model,"analytic_account.line,name",0,Analytic Line,Ред от аналитична сметка,0
+model,"ir.action,name",,Analytic Accounts,Аналитични сметки,0
+model,"ir.action,name",act_account_form,Analytic Accounts,Аналитични сметки,0
+model,"ir.action,name",act_account_tree,Analytic Accounts,Аналитични сметки,0
+model,"ir.action,name",act_account_tree2,Analytic Accounts,Аналитични сметки,0
+model,"ir.action,name",act_line_form,Analytic Lines,Редове от аналитична сметка,0
+model,"ir.action,name",act_open_account,Open Account,Отваряне на сметка,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Отваряне на аналитичен сметкоплан,0
+model,"ir.ui.menu,name",,Analytic Accounts,Аналитични сметки,0
+model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Нова аналитична сметка,0
+model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Аналитични сметки,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Аналитична сметка,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Отваряне на аналитичен сметкоплан,0
+model,"res.group,name",group_analytic_admin,Analytic Administration,Администрация на аналитична сметка,0
+selection,"analytic_account.account,display_balance",0,Credit - Debit,Кредит - дебит,0
+selection,"analytic_account.account,display_balance",0,Debit - Credit,Дебит - кредит,0
+selection,"analytic_account.account,state",0,Closed,Приключен,0
+selection,"analytic_account.account,state",0,Draft,Проект,0
+selection,"analytic_account.account,state",0,Opened,Отворен,0
+selection,"analytic_account.account,type",0,Normal,Нормален,0
+selection,"analytic_account.account,type",0,Root,Начало,0
+selection,"analytic_account.account,type",0,View,Изглед,0
+view,account.move,0,Analytic,Задължителен,0
+view,account.move.line,0,Analytic,Задължителен,0
+view,analytic_account.account,0,Analytic Account,Аналитична сметка,0
+view,analytic_account.account,0,Analytic Accounts,Аналитични сметки,0
+view,analytic_account.account,0,General Information,Обща информация,0
+view,analytic_account.account,0,Notes,Бележки,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Отваряне на аналитичен сметкоплан,0
+view,analytic_account.line,0,Analytic Line,Ред от аналитична сметка,0
+view,analytic_account.line,0,Analytic Lines,Редове от аналитична сметка,0
+view,analytic_account.line,0,General Information,Обща информация,0
+wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Отказ,0
+wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Отваряне,0
diff --git a/de_DE.csv b/de_DE.csv
index dd6aaf5..d3f244a 100644
--- a/de_DE.csv
+++ b/de_DE.csv
@@ -79,13 +79,11 @@ model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Accou
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Kostenstelle Auswahl,0
 model,"analytic_account.line,name",0,Analytic Line,Kostenstelle Zeile,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Kostenstellen,0
-model,"ir.action,name",act_account_form2,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_account_tree,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_line_form,Analytic Lines,Kostenstelle Zeilen,0
 model,"ir.action,name",act_open_account,Open Account,Konto öffnen,0
 model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan Öffnen,0
-model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Kostenstellen,0
 model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Neue Kostenstelle,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Kostenstellen,0
 model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstellen,0
@@ -103,6 +101,7 @@ selection,"analytic_account.account,state",0,Opened,Geöffnet,0
 selection,"analytic_account.account,type",0,Normal,Normal,0
 selection,"analytic_account.account,type",0,Root,Wurzel,0
 selection,"analytic_account.account,type",0,View,Sicht,0
+view,account.move,0,Analytic,Kostenstelle,0
 view,account.move.line,0,Analytic,Kostenstelle,0
 view,account.statement,0,Bank Statement,Bankauszug,0
 view,account.statement,0,Bank Statement Lines,Posten Bankauszüge,0
diff --git a/fr_FR.csv b/fr_FR.csv
index 551a568..11bb985 100644
--- a/fr_FR.csv
+++ b/fr_FR.csv
@@ -50,13 +50,11 @@ model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Accou
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Sélection compte analytique,0
 model,"analytic_account.line,name",0,Analytic Line,Ligne analytique,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Comptes analytiques,0
-model,"ir.action,name",act_account_form2,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_account_tree,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_line_form,Analytic Lines,Lignes analytiques,0
 model,"ir.action,name",act_open_account,Open Account,Ouvrir le compte,0
 model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
-model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Comptes analytiques,0
 model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Nouveau compte analytique,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Comptes analytiques,0
 model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Compte analytique,0
@@ -70,6 +68,7 @@ selection,"analytic_account.account,state",0,Opened,Ouvert,0
 selection,"analytic_account.account,type",0,Normal,Normal,0
 selection,"analytic_account.account,type",0,Root,Racine,0
 selection,"analytic_account.account,type",0,View,Vue,0
+view,account.move,0,Analytic,Analytique,1
 view,account.move.line,0,Analytic,Analytique,0
 view,analytic_account.account,0,Analytic Account,Compte analytique,0
 view,analytic_account.account,0,Analytic Accounts,Comptes analytiques,0
diff --git a/line.xml b/line.xml
index a8981fb..de20490 100644
--- a/line.xml
+++ b/line.xml
@@ -62,7 +62,6 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.action.act_window" id="act_line_form">
             <field name="name">Analytic Lines</field>
             <field name="res_model">analytic_account.line</field>
-            <field name="view_type">form</field>
         </record>
         <record model="ir.action.act_window.view" id="act_line_form_view1">
             <field name="sequence" eval="10"/>
@@ -120,5 +119,23 @@ this repository contains the full copyright notices and license terms. -->
             </field>
         </record>
 
+        <record model="ir.ui.view" id="move_view_form">
+            <field name="model">account.move</field>
+            <field name="inherit" ref="account.move_view_form"/>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <data>
+                    <xpath expr="/form/field[@name='lines']/form/notebook/page[@id="general"]"
+                        position="after">
+                        <page string="Analytic" col="1" id="analytic">
+                            <separator name="analytic_lines"/>
+                            <field name="analytic_lines"/>
+                        </page>
+                    </xpath>
+                </data>
+                ]]>
+            </field>
+        </record>
+
     </data>
 </tryton>
diff --git a/setup.py b/setup.py
index fe29ecb..20e8f51 100644
--- a/setup.py
+++ b/setup.py
@@ -43,12 +43,15 @@ setup(name='trytond_analytic_account',
         'Intended Audience :: Financial and Insurance Industry',
         'Intended Audience :: Legal Industry',
         'License :: OSI Approved :: GNU General Public License (GPL)',
+        'Natural Language :: Bulgarian',
         'Natural Language :: English',
         'Natural Language :: French',
         'Natural Language :: German',
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
-        'Programming Language :: Python',
+        'Programming Language :: Python :: 2.5',
+        'Programming Language :: Python :: 2.6',
+        'Programming Language :: Python :: 2.7',
         'Topic :: Office/Business',
         'Topic :: Office/Business :: Financial :: Accounting',
     ],
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index fa1458e..9d9d090 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 1.8.0
+Version: 2.0.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.8/
+Download-URL: http://downloads.tryton.org/2.0/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
@@ -20,11 +20,14 @@ Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.5
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
 Classifier: Topic :: Office/Business :: Financial :: Accounting
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index 3d379af..eae6341 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -6,6 +6,7 @@ MANIFEST.in
 README
 account.xml
 analytic_account.xml
+bg_BG.csv
 de_DE.csv
 es_CO.csv
 es_ES.csv
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 544f19b..7339500 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,5 +1,5 @@
-trytond_company >= 1.8, < 1.9
-trytond_currency >= 1.8, < 1.9
-trytond_account >= 1.8, < 1.9
-trytond_party >= 1.8, < 1.9
-trytond >= 1.8, < 1.9
\ No newline at end of file
+trytond_company >= 2.0, < 2.1
+trytond_currency >= 2.0, < 2.1
+trytond_account >= 2.0, < 2.1
+trytond_party >= 2.0, < 2.1
+trytond >= 2.0, < 2.1
\ No newline at end of file
commit 1080c8b439e1f55c70fd1aea5f91450331eed228
Author: Daniel Baumann <daniel at debian.org>
Date:   Thu Nov 4 20:12:07 2010 +0100

    Adding upstream version 1.8.0.

diff --git a/CHANGELOG b/CHANGELOG
index aefb43e..4b4e7d6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 1.8.0 - 2010-11-01
+* Bug fixes (see mercurial logs for details)
+
 Version 1.6.0 - 2010-05-12
 * Bug fixes (see mercurial logs for details)
 * Remove egenix-mx-base
diff --git a/INSTALL b/INSTALL
index 85ab371..105d1fc 100644
--- a/INSTALL
+++ b/INSTALL
@@ -4,7 +4,7 @@ Installing trytond_analytic_account
 Prerequisites
 -------------
 
- * Python 2.4 or later (http://www.python.org/)
+ * Python 2.5 or later (http://www.python.org/)
  * trytond (http://www.tryton.org/)
  * trytond_company (http://www.tryton.org/)
  * trytond_party (http://www.tryton.org/)
diff --git a/PKG-INFO b/PKG-INFO
index 2810b62..d5c2a59 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 1.6.0
+Version: 1.8.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.6/
+Download-URL: http://downloads.tryton.org/1.8/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/__tryton__.py b/__tryton__.py
index 58a28ac..b830370 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -6,7 +6,7 @@
     'name_es_CO': 'Contabilidad Analítica',
     'name_es_ES': 'Contabilidad analítica',
     'name_fr_FR': 'Comptabilité analytique',
-    'version': '1.6.0',
+    'version': '1.8.0',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
diff --git a/account.py b/account.py
index bcb27d1..fd7be9c 100644
--- a/account.py
+++ b/account.py
@@ -1,11 +1,11 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
-"Account"
+from decimal import Decimal
+import copy
 from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard
 from trytond.pyson import Equal, Eval, Not, PYSONEncoder
-from decimal import Decimal
-import copy
+from trytond.transaction import Transaction
 
 
 class Account(ModelSQL, ModelView):
@@ -71,68 +71,60 @@ class Account(ModelSQL, ModelView):
         })
         self._order.insert(0, ('code', 'ASC'))
 
-    def default_active(self, cursor, user, context=None):
+    def default_active(self):
         return True
 
-    def default_company(self, cursor, user, context=None):
-        if context is None:
-            context = {}
-        if context.get('company'):
-            return context['company']
-        return False
+    def default_company(self):
+        return Transaction().context.get('company') or False
 
-    def default_currency(self, cursor, user, context=None):
+    def default_currency(self):
         company_obj = self.pool.get('company.company')
         currency_obj = self.pool.get('currency.currency')
-        if context is None:
-            context = {}
-        if context.get('company'):
-            company = company_obj.browse(cursor, user, context['company'],
-                    context=context)
+        if Transaction().context.get('company'):
+            company = company_obj.browse(Transaction().context['company'])
             return company.currency.id
         return False
 
-    def default_type(self, cursor, user, context=None):
+    def default_type(self):
         return 'normal'
 
-    def default_state(self, cursor, user, context=None):
+    def default_state(self):
         return 'draft'
 
-    def default_display_balance(self, cursor, user, context=None):
+    def default_display_balance(self):
         return 'credit-debit'
 
-    def default_mandatory(self, cursor, user, context=None):
+    def default_mandatory(self):
         return False
 
-    def on_change_with_currency_digits(self, cursor, user, vals, context=None):
+    def on_change_with_currency_digits(self, vals):
         currency_obj = self.pool.get('currency.currency')
         if vals.get('currency'):
-            currency = currency_obj.browse(cursor, user, vals['currency'],
-                    context=context)
+            currency = currency_obj.browse(vals['currency'])
             return currency.digits
         return 2
 
-    def get_currency_digits(self, cursor, user, ids, name, context=None):
+    def get_currency_digits(self, ids, name):
         res = {}
-        for account in self.browse(cursor, user, ids, context=context):
+        for account in self.browse(ids):
             res[account.id] = account.currency.digits
         return res
 
-    def get_balance(self, cursor, user, ids, name, context=None):
+    def get_balance(self, ids, name):
         res = {}
         line_obj = self.pool.get('analytic_account.line')
         currency_obj = self.pool.get('currency.currency')
+        cursor = Transaction().cursor
 
-        child_ids = self.search(cursor, user, [('parent', 'child_of', ids)],
-                context=context)
+        child_ids = self.search([('parent', 'child_of', ids)])
         all_ids = {}.fromkeys(ids + child_ids).keys()
 
         id2account = {}
-        accounts = self.browse(cursor, user, all_ids, context=context)
+        accounts = self.browse(all_ids)
         for account in accounts:
             id2account[account.id] = account
 
-        line_query = line_obj.query_get(cursor, user, context=context)
+        line_query = line_obj.query_get()
         cursor.execute('SELECT a.id, ' \
                     'SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))), ' \
                     'c.currency ' \
@@ -160,48 +152,46 @@ class Account(ModelSQL, ModelView):
                 if currency_id in id2currency:
                     currency = id2currency[currency_id]
                 else:
-                    currency = currency_obj.browse(cursor, user, currency_id,
-                            context=context)
+                    currency = currency_obj.browse(currency_id)
                     id2currency[currency.id] = currency
-                account_sum[account_id] += currency_obj.compute(cursor, user,
-                        currency, sum, id2account[account_id].currency,
-                        round=True, context=context)
+                account_sum[account_id] += currency_obj.compute(currency, sum,
+                        id2account[account_id].currency, round=True)
             else:
-                account_sum[account_id] += currency_obj.round(cursor, user,
+                account_sum[account_id] += currency_obj.round(
                         id2account[account_id].currency, sum)
 
         for account_id in ids:
             res.setdefault(account_id, Decimal('0.0'))
-            child_ids = self.search(cursor, user, [
+            child_ids = self.search([
                 ('parent', 'child_of', [account_id]),
-                ], context=context)
+                ])
             to_currency = id2account[account_id].currency
             for child_id in child_ids:
                 from_currency = id2account[child_id].currency
-                res[account_id] += currency_obj.compute(cursor, user,
-                        from_currency, account_sum.get(child_id, Decimal('0.0')),
-                        to_currency, round=True, context=context)
-            res[account_id] = currency_obj.round(cursor, user, to_currency,
-                    res[account_id])
+                res[account_id] += currency_obj.compute(from_currency,
+                        account_sum.get(child_id, Decimal('0.0')), to_currency,
+                        round=True)
+            res[account_id] = currency_obj.round(to_currency, res[account_id])
             if id2account[account_id].display_balance == 'credit-debit':
                 res[account_id] = - res[account_id]
         return res
 
-    def get_credit_debit(self, cursor, user, ids, name, context=None):
+    def get_credit_debit(self, ids, name):
         res = {}
         line_obj = self.pool.get('analytic_account.line')
         currency_obj = self.pool.get('currency.currency')
+        cursor = Transaction().cursor
 
         if name not in ('credit', 'debit'):
             raise Exception('Bad argument')
 
         id2account = {}
-        accounts = self.browse(cursor, user, ids, context=context)
+        accounts = self.browse(ids)
         for account in accounts:
             res[account.id] = Decimal('0.0')
             id2account[account.id] = account
 
-        line_query = line_obj.query_get(cursor, user, context=context)
+        line_query = line_obj.query_get()
         cursor.execute('SELECT a.id, ' \
                     'SUM(COALESCE(l.' + name + ', 0)), ' \
                     'c.currency ' \
@@ -228,45 +218,42 @@ class Account(ModelSQL, ModelView):
                 if currency_id in id2currency:
                     currency = id2currency[currency_id]
                 else:
-                    currency = currency_obj.browse(cursor, user, currency_id,
-                            context=context)
+                    currency = currency_obj.browse(currency_id)
                     id2currency[currency.id] = currency
-                res[account_id] += currency_obj.compute(cursor, user,
-                        currency, sum, id2account[account_id].currency,
-                        round=True, context=context)
+                res[account_id] += currency_obj.compute(currency, sum,
+                        id2account[account_id].currency, round=True)
             else:
-                res[account_id] += currency_obj.round(cursor, user,
+                res[account_id] += currency_obj.round(
                         id2account[account_id].currency, sum)
         return res
 
-    def get_rec_name(self, cursor, user, ids, name, context=None):
+    def get_rec_name(self, ids, name):
         if not ids:
             return {}
         res = {}
-        for account in self.browse(cursor, user, ids, context=context):
+        for account in self.browse(ids):
             if account.code:
                 res[account.id] = account.code + ' - ' + unicode(account.name)
             else:
                 res[account.id] = unicode(account.name)
         return res
 
-    def search_rec_name(self, cursor, user, name, clause, context=None):
-        ids = self.search(cursor, user, [('code',) + clause[1:]], limit=1,
-                context=context)
+    def search_rec_name(self, name, clause):
+        ids = self.search([('code',) + clause[1:]], limit=1)
         if ids:
             return [('code',) + clause[1:]]
         else:
             return [(self._rec_name,) + clause[1:]]
 
-    def convert_view(self, cursor, user, tree, context=None):
+    def convert_view(self, tree):
         res = tree.xpath('//field[@name=\'analytic_accounts\']')
         if not res:
             return
         element_accounts = res[0]
 
-        root_account_ids = self.search(cursor, user, [
+        root_account_ids = self.search([
             ('parent', '=', False),
-            ], context=context)
+            ])
         if not root_account_ids:
             element_accounts.getparent().getparent().remove(
                     element_accounts.getparent())
@@ -282,25 +269,24 @@ class Account(ModelSQL, ModelView):
         parent = element_accounts.getparent()
         parent.remove(element_accounts)
 
-    def analytic_accounts_fields_get(self, cursor, user, field,
-            fields_names=None, context=None):
+    def analytic_accounts_fields_get(self, field, fields_names=None):
         res = {}
         if fields_names is None:
             fields_names = []
 
-        root_account_ids = self.search(cursor, user, [
+        root_account_ids = self.search([
             ('parent', '=', False),
-            ], context=context)
-        for account in self.browse(cursor, user, root_account_ids,
-                context=context):
+            ])
+        for account in self.browse(root_account_ids):
             name = 'analytic_account_' + str(account.id)
             if name in fields_names or not fields_names:
                 res[name] = field.copy()
                 res[name]['required'] = account.mandatory
                 res[name]['string'] = account.name
                 res[name]['relation'] = self._name
-                res[name]['domain'] = [('root', '=', account.id),
-                        ('type', '=', 'normal')]
+                res[name]['domain'] = PYSONEncoder().encode([
+                    ('root', '=', account.id),
+                    ('type', '=', 'normal')])
         return res
 
 Account()
@@ -339,12 +325,12 @@ class OpenChartAccount(Wizard):
         },
     }
 
-    def _action_open_chart(self, cursor, user, data, context=None):
+    def _action_open_chart(self, data):
         model_data_obj = self.pool.get('ir.model.data')
         act_window_obj = self.pool.get('ir.action.act_window')
-        act_window_id = model_data_obj.get_id(cursor, user, 'analytic_account',
-                'act_account_tree2', context=context)
-        res = act_window_obj.read(cursor, user, act_window_id, context=context)
+        act_window_id = model_data_obj.get_id('analytic_account',
+                'act_account_tree2')
+        res = act_window_obj.read(act_window_id)
         res['pyson_context'] = PYSONEncoder().encode({
             'start_date': data['form']['start_date'],
             'end_date': data['form']['end_date'],
@@ -374,23 +360,23 @@ class AccountSelection(ModelSQL, ModelView):
                     'or a missing mandatory root account!',
         })
 
-    def check_root(self, cursor, user, ids):
+    def check_root(self, ids):
         "Check Root"
         account_obj = self.pool.get('analytic_account.account')
 
-        root_account_ids = account_obj.search(cursor, user, [
+        root_account_ids = account_obj.search([
             ('parent', '=', False),
             ])
-        root_accounts = account_obj.browse(cursor, user, root_account_ids)
+        root_accounts = account_obj.browse(root_account_ids)
 
-        selections = self.browse(cursor, user, ids)
+        selections = self.browse(ids)
         for selection in selections:
             roots = []
             for account in selection.accounts:
                 if account.root.id in roots:
                     return False
                 roots.append(account.root.id)
-            if user: #Root can by pass
+            if Transaction().user: #Root can by pass
                 for account in root_accounts:
                     if account.mandatory:
                         if not account.id in roots:
diff --git a/analytic_account.xml b/analytic_account.xml
index afd6b32..9540490 100644
--- a/analytic_account.xml
+++ b/analytic_account.xml
@@ -9,5 +9,8 @@ this repository contains the full copyright notices and license terms. -->
         <record model="res.user" id="res.user_admin">
             <field name="groups" eval="[('add', ref('group_analytic_admin'))]"/>
         </record>
+        <record model="res.user" id="res.user_trigger">
+            <field name="groups" eval="[('add', ref('group_analytic_admin'))]"/>
+        </record>
     </data>
 </tryton>
diff --git a/de_DE.csv b/de_DE.csv
index 44a4b66..dd6aaf5 100644
--- a/de_DE.csv
+++ b/de_DE.csv
@@ -13,6 +13,11 @@ field,"account.statement,currency_digits",0,Currency Digits,Stellen Währung,0
 field,"account.statement,date",0,Date,Datum,0
 field,"account.statement,end_balance",0,End Balance,Endsaldo,0
 field,"account.statement,journal",0,Journal,Journal,0
+field,"account.statement,lines",0,Transactions,Transaktionen,0
+field,"account.statement,move_lines",0,Move Lines,Buchungsposten,0
+field,"account.statement,rec_name",0,Name,Name,0
+field,"account.statement,start_balance",0,Start Balance,Anfangssaldo,0
+field,"account.statement,state",0,State,Status,0
 field,"account.statement.journal,company",0,Company,Unternehmen,0
 field,"account.statement.journal,currency",0,Currency,Währung,0
 field,"account.statement.journal,journal",0,Journal,Journal,0
@@ -26,16 +31,8 @@ field,"account.statement.line,invoice",0,Invoice,Rechnung,0
 field,"account.statement.line,move",0,Account Move,Buchungssatz,0
 field,"account.statement.line,party",0,Party,Partei,0
 field,"account.statement.line,rec_name",0,Name,Name,0
-field,"account.statement,lines",0,Transactions,Transaktionen,0
 field,"account.statement.line,statement",0,Statement,Zahlung,0
-field,"account.statement,move_lines",0,Move Lines,Buchungsposten,0
-field,"account.statement,rec_name",0,Name,Name,0
-field,"account.statement,start_balance",0,Start Balance,Anfangssaldo,0
-field,"account.statement,state",0,State,Status,0
 field,"analytic_account.account,active",0,Active,Aktiv,0
-field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Konto,0
-field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Name,0
-field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Auswahl,0
 field,"analytic_account.account,balance",0,Balance,Saldo,0
 field,"analytic_account.account,childs",0,Children,Untergeordnet (Kostenstellen),0
 field,"analytic_account.account,code",0,Code,Code,0
@@ -48,15 +45,18 @@ field,"analytic_account.account,display_balance",0,Display Balance,Ansicht Bilan
 field,"analytic_account.account,mandatory",0,Mandatory,Erforderlich,0
 field,"analytic_account.account,name",0,Name,Name,0
 field,"analytic_account.account,note",0,Note,Notiz,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Enddatum,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Anfangsdatum,0
 field,"analytic_account.account,parent",0,Parent,Übergeordnet (Kostenstelle),0
 field,"analytic_account.account,rec_name",0,Name,Name,0
 field,"analytic_account.account,root",0,Root,Wurzel,0
-field,"analytic_account.account.selection,accounts",0,Accounts,Konten,0
-field,"analytic_account.account.selection,rec_name",0,Name,Name,0
 field,"analytic_account.account,state",0,State,Status,0
 field,"analytic_account.account,type",0,Type,Typ,0
+field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Konto,0
+field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Name,0
+field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Auswahl,0
+field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Enddatum,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Anfangsdatum,0
+field,"analytic_account.account.selection,accounts",0,Accounts,Konten,0
+field,"analytic_account.account.selection,rec_name",0,Name,Name,0
 field,"analytic_account.line,account",0,Account,Konto,0
 field,"analytic_account.line,active",0,Active,Aktiv,0
 field,"analytic_account.line,credit",0,Credit,Haben,0
@@ -70,11 +70,11 @@ field,"analytic_account.line,name",0,Name,Name,0
 field,"analytic_account.line,party",0,Party,Partei,0
 field,"analytic_account.line,rec_name",0,Name,Name,0
 field,"analytic_account.line,reference",0,Reference,Interner Beleg,0
+model,"account.statement,name",0,Account Statement,Zahlungsverkehr,0
 model,"account.statement.journal,name",0,Statement Journal,Journal Zahlungsverkehr,0
 model,"account.statement.line,name",0,Account Statement Line,Zahlungsverkehr Position,0
-model,"account.statement,name",0,Account Statement,Zahlungsverkehr,0
-model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Kostenstelle - Kostenstelle Auswahl,0
 model,"analytic_account.account,name",0,Analytic Account,Kostenstelle,0
+model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Kostenstelle - Kostenstelle Auswahl,0
 model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Kontenplan Öffnen Init,0
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Kostenstelle Auswahl,0
 model,"analytic_account.line,name",0,Analytic Line,Kostenstelle Zeile,0
@@ -85,10 +85,10 @@ model,"ir.action,name",act_account_tree2,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_line_form,Analytic Lines,Kostenstelle Zeilen,0
 model,"ir.action,name",act_open_account,Open Account,Konto öffnen,0
 model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan Öffnen,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstellen,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Kostenstellen,0
-model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Kostenstellen,0
 model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Neue Kostenstelle,0
+model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Kostenstellen,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstellen,0
 model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan öffnen,0
 model,"res.group,name",group_analytic_admin,Analytic Administration,Kostenstellen Administration,0
 selection,"account.statement,state",0,Canceled,Annulliert,0
diff --git a/fr_FR.csv b/fr_FR.csv
index 0e19358..551a568 100644
--- a/fr_FR.csv
+++ b/fr_FR.csv
@@ -7,9 +7,6 @@ on view/inactive account!","Vous ne pouvez pas créer de mouvements
 sur des comptes inactifs ou de type vue!",0
 field,"account.move.line,analytic_lines",0,Analytic Lines,Lignes analytiques,0
 field,"analytic_account.account,active",0,Active,Actif,0
-field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Compte,0
-field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nom,0
-field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Sélection,0
 field,"analytic_account.account,balance",0,Balance,Balance,0
 field,"analytic_account.account,childs",0,Children,Enfants,0
 field,"analytic_account.account,code",0,Code,Code,0
@@ -22,15 +19,18 @@ field,"analytic_account.account,display_balance",0,Display Balance,Balance affic
 field,"analytic_account.account,mandatory",0,Mandatory,Obligatoire,0
 field,"analytic_account.account,name",0,Name,Nom,0
 field,"analytic_account.account,note",0,Note,Note,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Date de fin,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Date de début,0
 field,"analytic_account.account,parent",0,Parent,Parent,0
 field,"analytic_account.account,rec_name",0,Name,Nom,0
 field,"analytic_account.account,root",0,Root,Racine,0
-field,"analytic_account.account.selection,accounts",0,Accounts,Comptes,0
-field,"analytic_account.account.selection,rec_name",0,Name,Nom,0
 field,"analytic_account.account,state",0,State,État,0
 field,"analytic_account.account,type",0,Type,Type,0
+field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Compte,0
+field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nom,0
+field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Sélection,0
+field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Date de fin,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Date de début,0
+field,"analytic_account.account.selection,accounts",0,Accounts,Comptes,0
+field,"analytic_account.account.selection,rec_name",0,Name,Nom,0
 field,"analytic_account.line,account",0,Account,Compte,0
 field,"analytic_account.line,active",0,Active,Actif,0
 field,"analytic_account.line,credit",0,Credit,Crédit,0
@@ -44,8 +44,8 @@ field,"analytic_account.line,name",0,Name,Nom,0
 field,"analytic_account.line,party",0,Party,Partenaire,0
 field,"analytic_account.line,rec_name",0,Name,Nom,0
 field,"analytic_account.line,reference",0,Reference,Référence,0
-model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Compte analytique - Sélection compte analytique,0
 model,"analytic_account.account,name",0,Analytic Account,Compte analytique,0
+model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Compte analytique - Sélection compte analytique,0
 model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Ouvrir le plan comptable - Initialisation,0
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Sélection compte analytique,0
 model,"analytic_account.line,name",0,Analytic Line,Ligne analytique,0
@@ -56,10 +56,10 @@ model,"ir.action,name",act_account_tree2,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_line_form,Analytic Lines,Lignes analytiques,0
 model,"ir.action,name",act_open_account,Open Account,Ouvrir le compte,0
 model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Compte analytique,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Comptes analytiques,0
-model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Comptes analytiques,0
 model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Nouveau compte analytique,0
+model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Comptes analytiques,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Compte analytique,0
 model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
 model,"res.group,name",group_analytic_admin,Analytic Administration,Administration analytique,0
 selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédit - Débit,0
diff --git a/line.py b/line.py
index 3450906..b01478f 100644
--- a/line.py
+++ b/line.py
@@ -1,11 +1,11 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
-"Line"
+import time
 from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard
 from trytond.backend import TableHandler
 from trytond.pyson import Eval, PYSONEncoder
-import time
+from trytond.transaction import Transaction
 
 
 class Line(ModelSQL, ModelView):
@@ -49,71 +49,67 @@ class Line(ModelSQL, ModelView):
         })
         self._order.insert(0, ('date', 'ASC'))
 
-    def init(self, cursor, module_name):
-        super(Line, self).init(cursor, module_name)
+    def init(self, module_name):
+        super(Line, self).init(module_name)
+        cursor = Transaction().cursor
         table = TableHandler(cursor, self, module_name)
 
         # Migration from 1.2 currency has been changed in function field
         table.not_null_action('currency', action='remove')
 
-    def default_date(self, cursor, user, context=None):
+    def default_date(self):
         date_obj = self.pool.get('ir.date')
-        return date_obj.today(cursor, user, context=context)
+        return date_obj.today()
 
-    def default_active(self, cursor, user, context=None):
+    def default_active(self):
         return True
 
-    def on_change_with_currency(self, cursor, user, vals, context=None):
+    def on_change_with_currency(self, vals):
         move_line_obj = self.pool.get('account.move.line')
         if vals.get('move_line'):
-            move_line = move_line_obj.browse(cursor, user, vals['move_line'],
-                    context=context)
+            move_line = move_line_obj.browse(vals['move_line'])
             return move_line.account.company.currency.id
         return False
 
-    def get_currency(self, cursor, user, ids, name, context=None):
+    def get_currency(self, ids, name):
         res = {}
-        for line in self.browse(cursor, user, ids, context=context):
+        for line in self.browse(ids):
             res[line.id] = line.move_line.account.company.currency.id
         return res
 
-    def on_change_with_currency_digits(self, cursor, user, vals, context=None):
+    def on_change_with_currency_digits(self, vals):
         move_line_obj = self.pool.get('account.move.line')
         if vals.get('move_line'):
-            move_line = move_line_obj.browse(cursor, user, vals['move_line'],
-                    context=context)
+            move_line = move_line_obj.browse(vals['move_line'])
             return move_line.account.company.currency.digits
         return 2
 
-    def get_currency_digits(self, cursor, user, ids, name, context=None):
+    def get_currency_digits(self, ids, name):
         res = {}
-        for line in self.browse(cursor, user, ids, context=context):
+        for line in self.browse(ids):
             res[line.id] = line.move_line.account.company.currency.digits
         return res
 
-    def query_get(self, cursor, user, obj='l', context=None):
+    def query_get(self, obj='l'):
         '''
         Return SQL clause for analytic line depending of the context.
         obj is the SQL alias of the analytic_account_line in the query.
         '''
-        if context is None:
-            context = {}
-
         res = obj + '.active'
-        if context.get('start_date'):
+        if Transaction().context.get('start_date'):
             # Check start_date
-            time.strptime(str(context['start_date']), '%Y-%m-%d')
+            time.strptime(str(Transaction().context['start_date']), '%Y-%m-%d')
             res += ' AND ' + obj + '.date >= date(\'' + \
-                    str(context['start_date']) + '\')'
-        if context.get('end_date'):
+                    str(Transaction().context['start_date']) + '\')'
+        if Transaction().context.get('end_date'):
             # Check end_date
-            time.strptime(str(context['end_date']), '%Y-%m-%d')
+            time.strptime(str(Transaction().context['end_date']), '%Y-%m-%d')
             res += ' AND ' + obj + '.date <= date(\'' + \
-                    str(context['end_date']) + '\')'
+                    str(Transaction().context['end_date']) + '\')'
         return res
 
-    def check_account(self, cursor, user, ids):
-        for line in self.browse(cursor, user, ids):
+    def check_account(self, ids):
+        for line in self.browse(ids):
             if line.account.type == 'view':
                 return False
             if not line.account.active:
@@ -144,24 +140,25 @@ class OpenAccount(Wizard):
         },
     }
 
-    def _action_open_account(self, cursor, user, data, context=None):
+    def _action_open_account(self, data):
         model_data_obj = self.pool.get('ir.model.data')
         act_window_obj = self.pool.get('ir.action.act_window')
 
-        if context is None:
-            context = {}
-
-        act_window_id = model_data_obj.get_id(cursor, user, 'analytic_account',
-                'act_line_form', context=context)
-        res = act_window_obj.read(cursor, user, act_window_id, context=context)
+        act_window_id = model_data_obj.get_id('analytic_account',
+                'act_line_form')
+        res = act_window_obj.read(act_window_id)
         res['pyson_domain'] = [
             ('account', '=', data['id']),
         ]
 
-        if context.get('start_date'):
-            res['pyson_domain'].append(('date', '>=', context['start_date']))
-        if context.get('end_date'):
-            res['pyson_domain'].append(('date', '<=', context['end_date']))
+        if Transaction().context.get('start_date'):
+            res['pyson_domain'].append(
+                    ('date', '>=', Transaction().context['start_date'])
+                    )
+        if Transaction().context.get('end_date'):
+            res['pyson_domain'].append(
+                    ('date', '<=', Transaction().context['end_date'])
+                    )
         res['pyson_domain'] = PYSONEncoder().encode(res['pyson_domain'])
         return res
 
diff --git a/tests/test_analytic_account.py b/tests/test_analytic_account.py
index 17439ec..0da5af7 100644
--- a/tests/test_analytic_account.py
+++ b/tests/test_analytic_account.py
@@ -25,7 +25,7 @@ class AnalyticAccountTestCase(unittest.TestCase):
         '''
         Test views.
         '''
-        self.assertRaises(Exception, test_view('analytic_account'))
+        test_view('analytic_account')
 
 def suite():
     suite = trytond.tests.test_tryton.suite()
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index c24b1cc..fa1458e 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 1.6.0
+Version: 1.8.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.6/
+Download-URL: http://downloads.tryton.org/1.8/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index f565b24..544f19b 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,5 +1,5 @@
-trytond_company >= 1.6, < 1.7
-trytond_currency >= 1.6, < 1.7
-trytond_account >= 1.6, < 1.7
-trytond_party >= 1.6, < 1.7
-trytond >= 1.6, < 1.7
\ No newline at end of file
+trytond_company >= 1.8, < 1.9
+trytond_currency >= 1.8, < 1.9
+trytond_account >= 1.8, < 1.9
+trytond_party >= 1.8, < 1.9
+trytond >= 1.8, < 1.9
\ No newline at end of file
commit 5d12b6baa71be47201fdaaf3ad94235e92ab07a0
Author: Mathias Behrle <mathiasb at mbsolutions.selfip.biz>
Date:   Thu May 13 11:28:50 2010 +0200

    Adding upstream version 1.6.0.

diff --git a/CHANGELOG b/CHANGELOG
index 339e5f6..aefb43e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+Version 1.6.0 - 2010-05-12
+* Bug fixes (see mercurial logs for details)
+* Remove egenix-mx-base
+
 Version 1.4.0 - 2009-10-19
 * Bug fixes (see mercurial logs for details)
 * Convert currency on line into Function field
diff --git a/COPYRIGHT b/COPYRIGHT
index 37fef2d..94a43fb 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,7 +1,7 @@
 Copyright (C) 2004-2008 Tiny SPRL.
-Copyright (C) 2008 Cédric Krier.
-Copyright (C) 2008 Bertrand Chenal.
-Copyright (C) 2008 B2CK SPRL.
+Copyright (C) 2008-2010 Cédric Krier.
+Copyright (C) 2008-2010 Bertrand Chenal.
+Copyright (C) 2008-2010 B2CK SPRL.
 
 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
diff --git a/INSTALL b/INSTALL
index 1ac2c26..85ab371 100644
--- a/INSTALL
+++ b/INSTALL
@@ -5,7 +5,6 @@ Prerequisites
 -------------
 
  * Python 2.4 or later (http://www.python.org/)
- * egenix-mx-base (http://www.egenix.com/products/python/)
  * trytond (http://www.tryton.org/)
  * trytond_company (http://www.tryton.org/)
  * trytond_party (http://www.tryton.org/)
diff --git a/MANIFEST.in b/MANIFEST.in
index c61b52d..5343ad8 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -7,4 +7,3 @@ include LICENSE
 include *.xml
 include *.odt
 include *.csv
-include tests/*
diff --git a/PKG-INFO b/PKG-INFO
index 96d441c..2810b62 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 1.4.0
+Version: 1.6.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.4/
+Download-URL: http://downloads.tryton.org/1.6/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/__tryton__.py b/__tryton__.py
index dca2dab..58a28ac 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -6,7 +6,7 @@
     'name_es_CO': 'Contabilidad Analítica',
     'name_es_ES': 'Contabilidad analítica',
     'name_fr_FR': 'Comptabilité analytique',
-    'version': '1.4.0',
+    'version': '1.6.0',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
diff --git a/account.py b/account.py
index 1f99782..bcb27d1 100644
--- a/account.py
+++ b/account.py
@@ -3,6 +3,7 @@
 "Account"
 from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard
+from trytond.pyson import Equal, Eval, Not, PYSONEncoder
 from decimal import Decimal
 import copy
 
@@ -17,8 +18,8 @@ class Account(ModelSQL, ModelView):
     active = fields.Boolean('Active', select=2)
     company = fields.Many2One('company.company', 'Company')
     currency = fields.Many2One('currency.currency', 'Currency', required=True)
-    currency_digits = fields.Function('get_currency_digits', type='integer',
-            string='Currency Digits', on_change_with=['currency'])
+    currency_digits = fields.Function(fields.Integer('Currency Digits',
+        on_change_with=['currency']), 'get_currency_digits')
     type = fields.Selection([
         ('root', 'Root'),
         ('view', 'View'),
@@ -27,22 +28,25 @@ class Account(ModelSQL, ModelView):
     root = fields.Many2One('analytic_account.account', 'Root', select=2,
             domain=[('parent', '=', False)],
             states={
-                'invisible': "type == 'root'",
-                'required': "type != 'root'",
+                'invisible': Equal(Eval('type'), 'root'),
+                'required': Not(Equal(Eval('type'), 'root')),
             })
     parent = fields.Many2One('analytic_account.account', 'Parent', select=2,
-            domain=["('parent', 'child_of', root)"],
+            domain=[('parent', 'child_of', Eval('root'))],
             states={
-                'invisible': "type == 'root'",
-                'required': "type != 'root'",
+                'invisible': Equal(Eval('type'), 'root'),
+                'required': Not(Equal(Eval('type'), 'root')),
             })
     childs = fields.One2Many('analytic_account.account', 'parent', 'Children')
-    balance = fields.Function('get_balance', digits="(16, currency_digits)",
-            string='Balance')
-    credit = fields.Function('get_credit_debit', digits="(16, currency_digits)",
-            string='Credit')
-    debit = fields.Function('get_credit_debit', digits="(16, currency_digits)",
-            string='Debit')
+    balance = fields.Function(fields.Numeric('Balance',
+        digits=(16, Eval('currency_digits', 1)), depends=['currency_digits']),
+        'get_balance')
+    credit = fields.Function(fields.Numeric('Credit',
+        digits=(16, Eval('currency_digits', 2)), depends=['currency_digits']),
+        'get_credit_debit')
+    debit = fields.Function(fields.Numeric('Debit',
+        digits=(16, Eval('currency_digits', 2)), depends=['currency_digits']),
+        'get_credit_debit')
     state = fields.Selection([
         ('draft', 'Draft'),
         ('opened', 'Opened'),
@@ -54,7 +58,7 @@ class Account(ModelSQL, ModelView):
         ('credit-debit', 'Credit - Debit'),
         ], 'Display Balance', required=True)
     mandatory = fields.Boolean('Mandatory', states={
-        'invisible': "type != 'root'",
+        'invisible': Not(Equal(Eval('type'), 'root')),
         })
 
     def __init__(self):
@@ -71,7 +75,6 @@ class Account(ModelSQL, ModelView):
         return True
 
     def default_company(self, cursor, user, context=None):
-        company_obj = self.pool.get('company.company')
         if context is None:
             context = {}
         if context.get('company'):
@@ -101,8 +104,7 @@ class Account(ModelSQL, ModelView):
     def default_mandatory(self, cursor, user, context=None):
         return False
 
-    def on_change_with_currency_digits(self, cursor, user, ids, vals,
-            context=None):
+    def on_change_with_currency_digits(self, cursor, user, vals, context=None):
         currency_obj = self.pool.get('currency.currency')
         if vals.get('currency'):
             currency = currency_obj.browse(cursor, user, vals['currency'],
@@ -110,13 +112,13 @@ class Account(ModelSQL, ModelView):
             return currency.digits
         return 2
 
-    def get_currency_digits(self, cursor, user, ids, name, arg, context=None):
+    def get_currency_digits(self, cursor, user, ids, name, context=None):
         res = {}
         for account in self.browse(cursor, user, ids, context=context):
             res[account.id] = account.currency.digits
         return res
 
-    def get_balance(self, cursor, user, ids, name, arg, context=None):
+    def get_balance(self, cursor, user, ids, name, context=None):
         res = {}
         line_obj = self.pool.get('analytic_account.line')
         currency_obj = self.pool.get('currency.currency')
@@ -185,7 +187,7 @@ class Account(ModelSQL, ModelView):
                 res[account_id] = - res[account_id]
         return res
 
-    def get_credit_debit(self, cursor, user, ids, name, arg, context=None):
+    def get_credit_debit(self, cursor, user, ids, name, context=None):
         res = {}
         line_obj = self.pool.get('analytic_account.line')
         currency_obj = self.pool.get('currency.currency')
@@ -237,7 +239,7 @@ class Account(ModelSQL, ModelView):
                         id2account[account_id].currency, sum)
         return res
 
-    def get_rec_name(self, cursor, user, ids, name, arg, context=None):
+    def get_rec_name(self, cursor, user, ids, name, context=None):
         if not ids:
             return {}
         res = {}
@@ -248,18 +250,13 @@ class Account(ModelSQL, ModelView):
                 res[account.id] = unicode(account.name)
         return res
 
-    def search_rec_name(self, cursor, user, name, args, context=None):
-        args2 = []
-        i = 0
-        while i < len(args):
-            ids = self.search(cursor, user, [('code', args[i][1], args[i][2])],
-                    limit=1, context=context)
-            if ids:
-                args2.append(('code', args[i][1], args[i][2]))
-            else:
-                args2.append((self._rec_name, args[i][1], args[i][2]))
-            i += 1
-        return args2
+    def search_rec_name(self, cursor, user, name, clause, context=None):
+        ids = self.search(cursor, user, [('code',) + clause[1:]], limit=1,
+                context=context)
+        if ids:
+            return [('code',) + clause[1:]]
+        else:
+            return [(self._rec_name,) + clause[1:]]
 
     def convert_view(self, cursor, user, tree, context=None):
         res = tree.xpath('//field[@name=\'analytic_accounts\']')
@@ -345,18 +342,12 @@ class OpenChartAccount(Wizard):
     def _action_open_chart(self, cursor, user, data, context=None):
         model_data_obj = self.pool.get('ir.model.data')
         act_window_obj = self.pool.get('ir.action.act_window')
-
-        model_data_ids = model_data_obj.search(cursor, user, [
-            ('fs_id', '=', 'act_account_tree2'),
-            ('module', '=', 'analytic_account'),
-            ('inherit', '=', False),
-            ], limit=1, context=context)
-        model_data = model_data_obj.browse(cursor, user, model_data_ids[0],
-                context=context)
-        res = act_window_obj.read(cursor, user, model_data.db_id, context=context)
-        res['context'] = str({
+        act_window_id = model_data_obj.get_id(cursor, user, 'analytic_account',
+                'act_account_tree2', context=context)
+        res = act_window_obj.read(cursor, user, act_window_id, context=context)
+        res['pyson_context'] = PYSONEncoder().encode({
             'start_date': data['form']['start_date'],
-            'end_date': data['form']['end_date']
+            'end_date': data['form']['end_date'],
             })
         return res
 
diff --git a/account.xml b/account.xml
index 495c7c8..8e4b857 100644
--- a/account.xml
+++ b/account.xml
@@ -81,6 +81,26 @@ this repository contains the full copyright notices and license terms. -->
         </record>
         <menuitem parent="menu_analytic_account_configuration"
             action="act_account_form" id="menu_account_form"/>
+
+        <record model="ir.action.act_window" id="act_account_form2">
+            <field name="name">Analytic Accounts</field>
+            <field name="res_model">analytic_account.account</field>
+            <field name="view_type">form</field>
+        </record>
+        <record model="ir.action.act_window.view" id="act_account_form2_view1">
+            <field name="sequence" eval="10"/>
+            <field name="view" ref="account_view_form"/>
+            <field name="act_window" ref="act_account_form2"/>
+        </record>
+        <record model="ir.action.act_window.view" id="act_account_form2_view2">
+            <field name="sequence" eval="20"/>
+            <field name="view" ref="account_view_tree"/>
+            <field name="act_window" ref="act_account_form2"/>
+        </record>
+        <menuitem name="New Analytic Account" parent="menu_account_form"
+            action="act_account_form2" id="menu_account_form_new"
+            sequence="10"/>
+
         <record model="ir.action.act_window" id="act_account_tree">
             <field name="name">Analytic Accounts</field>
             <field name="res_model">analytic_account.account</field>
@@ -93,7 +113,8 @@ this repository contains the full copyright notices and license terms. -->
             <field name="act_window" ref="act_account_tree"/>
         </record>
         <menuitem parent="menu_account_form"
-            action="act_account_tree" id="menu_account_tree"/>
+            action="act_account_tree" id="menu_account_tree"
+            sequence="20"/>
         <record model="ir.ui.view" id="account_view_tree2">
             <field name="model">analytic_account.account</field>
             <field name="type">tree</field>
@@ -108,7 +129,6 @@ this repository contains the full copyright notices and license terms. -->
                     <field name="credit"/>
                     <field name="balance"/>
                     <field name="currency"/>
-                    <field name="currency_digits" tree_invisible="1"/>
                 </tree>
                 ]]>
             </field>
diff --git a/de_DE.csv b/de_DE.csv
index 0615357..44a4b66 100644
--- a/de_DE.csv
+++ b/de_DE.csv
@@ -23,7 +23,7 @@ field,"account.statement.line,amount",0,Amount,Betrag,0
 field,"account.statement.line,date",0,Date,Datum,0
 field,"account.statement.line,description",0,Description,Beschreibung,0
 field,"account.statement.line,invoice",0,Invoice,Rechnung,0
-field,"account.statement.line,move",0,Account Move,Buchung,0
+field,"account.statement.line,move",0,Account Move,Buchungssatz,0
 field,"account.statement.line,party",0,Party,Partei,0
 field,"account.statement.line,rec_name",0,Name,Name,0
 field,"account.statement,lines",0,Transactions,Transaktionen,0
@@ -69,7 +69,7 @@ field,"analytic_account.line,move_line",0,Account Move Line,Buchungszeile,0
 field,"analytic_account.line,name",0,Name,Name,0
 field,"analytic_account.line,party",0,Party,Partei,0
 field,"analytic_account.line,rec_name",0,Name,Name,0
-field,"analytic_account.line,reference",0,Reference,Verweis,0
+field,"analytic_account.line,reference",0,Reference,Interner Beleg,0
 model,"account.statement.journal,name",0,Statement Journal,Journal Zahlungsverkehr,0
 model,"account.statement.line,name",0,Account Statement Line,Zahlungsverkehr Position,0
 model,"account.statement,name",0,Account Statement,Zahlungsverkehr,0
@@ -79,14 +79,16 @@ model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Accou
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Kostenstelle Auswahl,0
 model,"analytic_account.line,name",0,Analytic Line,Kostenstelle Zeile,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Kostenstellen,0
+model,"ir.action,name",act_account_form2,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_account_tree,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_line_form,Analytic Lines,Kostenstelle Zeilen,0
 model,"ir.action,name",act_open_account,Open Account,Konto öffnen,0
 model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan Öffnen,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstelle,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstellen,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Kostenstellen,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Kostenstellen,0
+model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Neue Kostenstelle,0
 model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan öffnen,0
 model,"res.group,name",group_analytic_admin,Analytic Administration,Kostenstellen Administration,0
 selection,"account.statement,state",0,Canceled,Annulliert,0
diff --git a/es_CO.csv b/es_CO.csv
index bd77e3a..e38fa82 100644
--- a/es_CO.csv
+++ b/es_CO.csv
@@ -49,6 +49,7 @@ model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Accou
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Selección de Cuenta Analítica,0
 model,"analytic_account.line,name",0,Analytic Line,Línea Analítica,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Cuentas Analíticas,0
+model,"ir.action,name",act_account_form2,Analytic Accounts,Cuentas Analíticas,1
 model,"ir.action,name",act_account_tree,Analytic Accounts,Cuentas Analíticas,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Cuentas Analíticas,0
 model,"ir.action,name",act_line_form,Analytic Lines,Líneas Analíticas,0
@@ -57,6 +58,7 @@ model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Ab
 model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Cuenta Analítica,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Cuentas Analíticas,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Cuentas Analíticas,0
+model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Nueva Cuenta Analítica,0
 model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Abrir Plan de Cuentas Analítico,0
 model,"res.group,name",group_analytic_admin,Analytic Administration,Administración Analítica,0
 selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédito - Débito,0
diff --git a/fr_FR.csv b/fr_FR.csv
index 9870532..0e19358 100644
--- a/fr_FR.csv
+++ b/fr_FR.csv
@@ -50,6 +50,7 @@ model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Accou
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Sélection compte analytique,0
 model,"analytic_account.line,name",0,Analytic Line,Ligne analytique,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Comptes analytiques,0
+model,"ir.action,name",act_account_form2,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_account_tree,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_line_form,Analytic Lines,Lignes analytiques,0
@@ -58,6 +59,7 @@ model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Ou
 model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Compte analytique,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Comptes analytiques,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Comptes analytiques,0
+model,"ir.ui.menu,name",menu_account_form_new,New Analytic Account,Nouveau compte analytique,0
 model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
 model,"res.group,name",group_analytic_admin,Analytic Administration,Administration analytique,0
 selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédit - Débit,0
diff --git a/line.py b/line.py
index ab49501..3450906 100644
--- a/line.py
+++ b/line.py
@@ -1,10 +1,11 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level
-#of this repository contains the full copyright notices and license terms.
+#This file is part of Tryton.  The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
 "Line"
 from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard
-import mx.DateTime
 from trytond.backend import TableHandler
+from trytond.pyson import Eval, PYSONEncoder
+import time
 
 
 class Line(ModelSQL, ModelView):
@@ -13,15 +14,14 @@ class Line(ModelSQL, ModelView):
     _description = __doc__
 
     name = fields.Char('Name', required=True)
-    debit = fields.Numeric('Debit', digits="(16, currency_digits)",
+    debit = fields.Numeric('Debit', digits=(16, Eval('currency_digits', 2)),
             depends=['currency_digits'])
-    credit = fields.Numeric('Credit', digits="(16, currency_digits)",
+    credit = fields.Numeric('Credit', digits=(16, Eval('currency_digits', 2)),
             depends=['currency_digits'])
-    currency = fields.Function('get_currency', type='many2one',
-            relation='currency.currency', string='Currency',
-            on_change_with=['move_line'])
-    currency_digits = fields.Function('get_currency_digits', type='integer',
-            string='Currency Digits', on_change_with=['move_line'])
+    currency = fields.Function(fields.Many2One('currency.currency', 'Currency',
+        on_change_with=['move_line']), 'get_currency')
+    currency_digits = fields.Function(fields.Integer('Currency Digits',
+        on_change_with=['move_line']), 'get_currency_digits')
     account = fields.Many2One('analytic_account.account', 'Account',
             required=True, select=1, domain=[('type', '!=', 'view')])
     move_line = fields.Many2One('account.move.line', 'Account Move Line',
@@ -63,8 +63,7 @@ class Line(ModelSQL, ModelView):
     def default_active(self, cursor, user, context=None):
         return True
 
-    def on_change_with_currency(self, cursor, user, ids, vals,
-            context=None):
+    def on_change_with_currency(self, cursor, user, vals, context=None):
         move_line_obj = self.pool.get('account.move.line')
         if vals.get('move_line'):
             move_line = move_line_obj.browse(cursor, user, vals['move_line'],
@@ -72,14 +71,13 @@ class Line(ModelSQL, ModelView):
             return move_line.account.company.currency.id
         return False
 
-    def get_currency(self, cursor, user, ids, name, arg, context=None):
+    def get_currency(self, cursor, user, ids, name, context=None):
         res = {}
         for line in self.browse(cursor, user, ids, context=context):
             res[line.id] = line.move_line.account.company.currency.id
         return res
 
-    def on_change_with_currency_digits(self, cursor, user, ids, vals,
-            context=None):
+    def on_change_with_currency_digits(self, cursor, user, vals, context=None):
         move_line_obj = self.pool.get('account.move.line')
         if vals.get('move_line'):
             move_line = move_line_obj.browse(cursor, user, vals['move_line'],
@@ -87,7 +85,7 @@ class Line(ModelSQL, ModelView):
             return move_line.account.company.currency.digits
         return 2
 
-    def get_currency_digits(self, cursor, user, ids, name, arg, context=None):
+    def get_currency_digits(self, cursor, user, ids, name, context=None):
         res = {}
         for line in self.browse(cursor, user, ids, context=context):
             res[line.id] = line.move_line.account.company.currency.digits
@@ -104,12 +102,12 @@ class Line(ModelSQL, ModelView):
         res = obj + '.active'
         if context.get('start_date'):
             # Check start_date
-            mx.DateTime.strptime(str(context['start_date']), '%Y-%m-%d')
+            time.strptime(str(context['start_date']), '%Y-%m-%d')
             res += ' AND ' + obj + '.date >= date(\'' + \
                     str(context['start_date']) + '\')'
         if context.get('end_date'):
             # Check end_date
-            mx.DateTime.strptime(str(context['end_date']), '%Y-%m-%d')
+            time.strptime(str(context['end_date']), '%Y-%m-%d')
             res += ' AND ' + obj + '.date <= date(\'' + \
                     str(context['end_date']) + '\')'
         return res
@@ -153,23 +151,18 @@ class OpenAccount(Wizard):
         if context is None:
             context = {}
 
-        model_data_ids = model_data_obj.search(cursor, user, [
-            ('fs_id', '=', 'act_line_form'),
-            ('module', '=', 'analytic_account'),
-            ('inherit', '=', False),
-            ], limit=1, context=context)
-        model_data = model_data_obj.browse(cursor, user, model_data_ids[0],
-                context=context)
-        res = act_window_obj.read(cursor, user, model_data.db_id, context=context)
-        res['domain'] = [
+        act_window_id = model_data_obj.get_id(cursor, user, 'analytic_account',
+                'act_line_form', context=context)
+        res = act_window_obj.read(cursor, user, act_window_id, context=context)
+        res['pyson_domain'] = [
             ('account', '=', data['id']),
         ]
 
         if context.get('start_date'):
-            res['domain'].append(('date', '>=', context['start_date']))
+            res['pyson_domain'].append(('date', '>=', context['start_date']))
         if context.get('end_date'):
-            res['domain'].append(('date', '<=', context['end_date']))
-        res['domain'] = str(res['domain'])
+            res['pyson_domain'].append(('date', '<=', context['end_date']))
+        res['pyson_domain'] = PYSONEncoder().encode(res['pyson_domain'])
         return res
 
 OpenAccount()
diff --git a/setup.py b/setup.py
index a59bd9a..fe29ecb 100644
--- a/setup.py
+++ b/setup.py
@@ -2,19 +2,22 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
 
-from setuptools import setup, find_packages
+from setuptools import setup
 import re
 
-info = eval(file('__tryton__.py').read())
+info = eval(open('__tryton__.py').read())
+major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
+major_version = int(major_version)
+minor_version = int(minor_version)
 
-requires = ['egenix-mx-base']
+requires = []
 for dep in info.get('depends', []):
     if not re.match(r'(ir|res|workflow|webdav)(\W|$)', dep):
-        requires.append('trytond_' + dep)
-
-major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
-requires.append('trytond >= %s.%s' % (major_version, minor_version))
-requires.append('trytond < %s.%s' % (major_version, int(minor_version) + 1))
+        requires.append('trytond_%s >= %s.%s, < %s.%s' %
+                (dep, major_version, minor_version, major_version,
+                    minor_version + 1))
+requires.append('trytond >= %s.%s, < %s.%s' %
+        (major_version, minor_version, major_version, minor_version + 1))
 
 setup(name='trytond_analytic_account',
     version=info.get('version', '0.0.1'),
@@ -27,6 +30,7 @@ setup(name='trytond_analytic_account',
     package_dir={'trytond.modules.analytic_account': '.'},
     packages=[
         'trytond.modules.analytic_account',
+        'trytond.modules.analytic_account.tests',
     ],
     package_data={
         'trytond.modules.analytic_account': info.get('xml', []) \
@@ -55,4 +59,6 @@ setup(name='trytond_analytic_account',
     [trytond.modules]
     analytic_account = trytond.modules.analytic_account
     """,
+    test_suite='tests',
+    test_loader='trytond.test_loader:Loader',
 )
diff --git a/tests/__init__.py b/tests/__init__.py
index ce64084..a76a403 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,4 +1,4 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
 
-from test_analytic_account import *
+from test_analytic_account import suite
diff --git a/tests/test_analytic_account.py b/tests/test_analytic_account.py
index 8c02ca7..17439ec 100644
--- a/tests/test_analytic_account.py
+++ b/tests/test_analytic_account.py
@@ -10,7 +10,7 @@ if os.path.isdir(DIR):
 
 import unittest
 import trytond.tests.test_tryton
-from trytond.tests.test_tryton import RPCProxy, CONTEXT, SOCK, test_view
+from trytond.tests.test_tryton import test_view
 
 
 class AnalyticAccountTestCase(unittest.TestCase):
@@ -28,11 +28,10 @@ class AnalyticAccountTestCase(unittest.TestCase):
         self.assertRaises(Exception, test_view('analytic_account'))
 
 def suite():
-    return unittest.TestLoader().loadTestsFromTestCase(AnalyticAccountTestCase)
+    suite = trytond.tests.test_tryton.suite()
+    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
+        AnalyticAccountTestCase))
+    return suite
 
 if __name__ == '__main__':
-    suiteTrytond = trytond.tests.test_tryton.suite()
-    suiteAnalyticAccount = suite()
-    alltests = unittest.TestSuite([suiteTrytond, suiteAnalyticAccount])
-    unittest.TextTestRunner(verbosity=2).run(alltests)
-    SOCK.disconnect()
+    unittest.TextTestRunner(verbosity=2).run(suite())
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index aef6a18..c24b1cc 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 1.4.0
+Version: 1.6.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.4/
+Download-URL: http://downloads.tryton.org/1.6/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index faea94b..3d379af 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -16,8 +16,8 @@ setup.py
 ./__tryton__.py
 ./account.py
 ./line.py
-tests/__init__.py
-tests/test_analytic_account.py
+./tests/__init__.py
+./tests/test_analytic_account.py
 trytond_analytic_account.egg-info/PKG-INFO
 trytond_analytic_account.egg-info/SOURCES.txt
 trytond_analytic_account.egg-info/dependency_links.txt
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 2e0d644..f565b24 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,7 +1,5 @@
-egenix-mx-base
-trytond_company
-trytond_currency
-trytond_account
-trytond_party
-trytond >= 1.4
-trytond < 1.5
\ No newline at end of file
+trytond_company >= 1.6, < 1.7
+trytond_currency >= 1.6, < 1.7
+trytond_account >= 1.6, < 1.7
+trytond_party >= 1.6, < 1.7
+trytond >= 1.6, < 1.7
\ No newline at end of file
commit fd362a873dd02dddf44c8a5df4a8fe6343f08292
Author: Daniel Baumann <daniel at debian.org>
Date:   Mon Oct 19 21:43:37 2009 +0200

    Adding upstream version 1.4.0.

diff --git a/CHANGELOG b/CHANGELOG
index 0b9d220..339e5f6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,7 @@
-Version 1.2.1 - 2009-07-07
+Version 1.4.0 - 2009-10-19
+* Bug fixes (see mercurial logs for details)
+* Convert currency on line into Function field
+* Use digits of currency for debit and credit
 * Use the right currency to compute  balance, debit/credit of accounts
 
 Version 1.2.0 - 2009-04-20
diff --git a/INSTALL b/INSTALL
index 4186548..1ac2c26 100644
--- a/INSTALL
+++ b/INSTALL
@@ -6,7 +6,7 @@ Prerequisites
 
  * Python 2.4 or later (http://www.python.org/)
  * egenix-mx-base (http://www.egenix.com/products/python/)
- * trytond 1.1.x (http://www.tryton.org/)
+ * trytond (http://www.tryton.org/)
  * trytond_company (http://www.tryton.org/)
  * trytond_party (http://www.tryton.org/)
  * trytond_currency (http://www.tryton.org/)
diff --git a/MANIFEST.in b/MANIFEST.in
index 5343ad8..c61b52d 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -7,3 +7,4 @@ include LICENSE
 include *.xml
 include *.odt
 include *.csv
+include tests/*
diff --git a/PKG-INFO b/PKG-INFO
index 9f6eaf9..96d441c 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 1.2.1
+Version: 1.4.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.2/
+Download-URL: http://downloads.tryton.org/1.4/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/__init__.py b/__init__.py
index 30c257c..6cd516f 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,4 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms.
+#This file is part of Tryton.  The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
 
 from account import *
 from line import *
diff --git a/__tryton__.py b/__tryton__.py
index 4e76fed..dca2dab 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -4,9 +4,9 @@
     'name': 'Analytic Account',
     'name_de_DE': 'Kostenstellen',
     'name_es_CO': 'Contabilidad Analítica',
-    'name_es_ES': 'Contabilidad Analítica',
+    'name_es_ES': 'Contabilidad analítica',
     'name_fr_FR': 'Comptabilité analytique',
-    'version': '1.2.1',
+    'version': '1.4.0',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
@@ -28,11 +28,11 @@ Zugehörige Berichte:
 Y con reportes:
     - Balance Contable Analítico
 ''',
-    'description_es_ES': '''Módulo Financiero y de Contabilidad con:
-    - Contabilidad Analítica con cualquier cantidad de planes analíticos
+    'description_es_ES': '''Módulo financiero y de contabilidad con:
+    - Contabilidad analítica con cualquier cantidad de planes analíticos
 
-Y con reportes:
-    - Balance Contable Analítico
+Y con informes:
+    - Balance contable analítico
 ''',
     'description_fr_FR': '''Module comptable et financier, avec:
     - Comptabilité analytique autorisant un nombre arbitraire d'axes.
diff --git a/account.py b/account.py
index e24b0fc..1f99782 100644
--- a/account.py
+++ b/account.py
@@ -31,7 +31,7 @@ class Account(ModelSQL, ModelView):
                 'required': "type != 'root'",
             })
     parent = fields.Many2One('analytic_account.account', 'Parent', select=2,
-            domain="[('parent', 'child_of', root)]",
+            domain=["('parent', 'child_of', root)"],
             states={
                 'invisible': "type == 'root'",
                 'required': "type != 'root'",
@@ -145,7 +145,7 @@ class Account(ModelSQL, ModelView):
                     'ON (c.id = aa.company) ' \
                 'WHERE a.type != \'view\' ' \
                     'AND a.id IN (' + \
-                        ','.join(['%s' for x in all_ids]) + ') ' \
+                        ','.join(('%s',) * len(all_ids)) + ') ' \
                     'AND ' + line_query + ' ' \
                     'AND a.active ' \
                 'GROUP BY a.id, c.currency', all_ids)
@@ -214,7 +214,7 @@ class Account(ModelSQL, ModelView):
                     'ON (c.id = aa.company) ' \
                 'WHERE a.type != \'view\' ' \
                     'AND a.id IN (' + \
-                        ','.join(['%s' for x in ids]) + ') ' \
+                        ','.join(('%s',) * len(ids)) + ') ' \
                     'AND ' + line_query + ' ' \
                     'AND a.active ' \
                 'GROUP BY a.id, c.currency', ids)
diff --git a/de_DE.csv b/de_DE.csv
index 59c53f2..0615357 100644
--- a/de_DE.csv
+++ b/de_DE.csv
@@ -1,16 +1,43 @@
 type,name,res_id,src,value,fuzzy
+error,account.statement,0,End Balance must be %s!,Endsaldo muss %s sein!,0
+error,account.statement.line,0,Amount (%s) greater than the amount to pay of invoice!,Der eingegebene Betrag (%s) ist größer als der Rechnungsbetrag!,0
+error,account.statement.line,0,Credit or debit account on journal is the same than the statement line account!,Haben- oder Sollkonto im Journal ist das selbe Konto wie das des Zahlungspostens!,0
+error,account.statement.line,0,Please provide debit and credit account on statement journal.,Bitte Soll- und Habenkonto im Journal Zahlungsverkehr angeben.,0
 error,analytic_account.account,0,You can not create recursive accounts!,Konten können nicht rekursiv angelegt werden!,0
-error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Es können nicht mehrere Konten mit dem selben Wurzelkonto oder einem fehlenden erforderlichen Wurzelkonto existieren!,0
+error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Mehrere Konten zum selben Wurzelkonto nicht möglich oder erforderliches Wurzelkonto fehlt!,0
 error,analytic_account.line,0,Wrong credit/debit values!,Falsche Haben/Soll-Werte!,0
 error,analytic_account.line,0,"You can not create move line
-on view/inactive account!",Posten kann nicht erstellt werden,0
-field,"account.move.line,analytic_lines",0,Analytic Lines,Buchungszeile,0
+on view/inactive account!",Keine Berechtigung für die Erstellung von Buchungszeilen!,0
+field,"account.move.line,analytic_lines",0,Analytic Lines,Kostenstelle Zeilen,0
+field,"account.statement,currency_digits",0,Currency Digits,Stellen Währung,0
+field,"account.statement,date",0,Date,Datum,0
+field,"account.statement,end_balance",0,End Balance,Endsaldo,0
+field,"account.statement,journal",0,Journal,Journal,0
+field,"account.statement.journal,company",0,Company,Unternehmen,0
+field,"account.statement.journal,currency",0,Currency,Währung,0
+field,"account.statement.journal,journal",0,Journal,Journal,0
+field,"account.statement.journal,name",0,Name,Name,0
+field,"account.statement.journal,rec_name",0,Name,Name,0
+field,"account.statement.line,account",0,Account,Konto,0
+field,"account.statement.line,amount",0,Amount,Betrag,0
+field,"account.statement.line,date",0,Date,Datum,0
+field,"account.statement.line,description",0,Description,Beschreibung,0
+field,"account.statement.line,invoice",0,Invoice,Rechnung,0
+field,"account.statement.line,move",0,Account Move,Buchung,0
+field,"account.statement.line,party",0,Party,Partei,0
+field,"account.statement.line,rec_name",0,Name,Name,0
+field,"account.statement,lines",0,Transactions,Transaktionen,0
+field,"account.statement.line,statement",0,Statement,Zahlung,0
+field,"account.statement,move_lines",0,Move Lines,Buchungsposten,0
+field,"account.statement,rec_name",0,Name,Name,0
+field,"account.statement,start_balance",0,Start Balance,Anfangssaldo,0
+field,"account.statement,state",0,State,Status,0
 field,"analytic_account.account,active",0,Active,Aktiv,0
 field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Konto,0
 field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Name,0
 field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Auswahl,0
-field,"analytic_account.account,balance",0,Balance,Bilanz,0
-field,"analytic_account.account,childs",0,Children,Untergeordnet (Analytische Konten),0
+field,"analytic_account.account,balance",0,Balance,Saldo,0
+field,"analytic_account.account,childs",0,Children,Untergeordnet (Kostenstellen),0
 field,"analytic_account.account,code",0,Code,Code,0
 field,"analytic_account.account,company",0,Company,Unternehmen,0
 field,"analytic_account.account,credit",0,Credit,Haben,0
@@ -20,12 +47,12 @@ field,"analytic_account.account,debit",0,Debit,Soll,0
 field,"analytic_account.account,display_balance",0,Display Balance,Ansicht Bilanz,0
 field,"analytic_account.account,mandatory",0,Mandatory,Erforderlich,0
 field,"analytic_account.account,name",0,Name,Name,0
-field,"analytic_account.account,note",0,Note,Bemerkung,0
+field,"analytic_account.account,note",0,Note,Notiz,0
 field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Enddatum,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Ab Datum,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Anfangsdatum,0
 field,"analytic_account.account,parent",0,Parent,Übergeordnet (Kostenstelle),0
 field,"analytic_account.account,rec_name",0,Name,Name,0
-field,"analytic_account.account,root",0,Root,Wurzelkonto,0
+field,"analytic_account.account,root",0,Root,Wurzel,0
 field,"analytic_account.account.selection,accounts",0,Accounts,Konten,0
 field,"analytic_account.account.selection,rec_name",0,Name,Name,0
 field,"analytic_account.account,state",0,State,Status,0
@@ -34,6 +61,7 @@ field,"analytic_account.line,account",0,Account,Konto,0
 field,"analytic_account.line,active",0,Active,Aktiv,0
 field,"analytic_account.line,credit",0,Credit,Haben,0
 field,"analytic_account.line,currency",0,Currency,Währung,0
+field,"analytic_account.line,currency_digits",0,Currency Digits,Währung (signifikante Stellen),0
 field,"analytic_account.line,date",0,Date,Datum,0
 field,"analytic_account.line,debit",0,Debit,Soll,0
 field,"analytic_account.line,journal",0,Journal,Journal,0
@@ -41,40 +69,62 @@ field,"analytic_account.line,move_line",0,Account Move Line,Buchungszeile,0
 field,"analytic_account.line,name",0,Name,Name,0
 field,"analytic_account.line,party",0,Party,Partei,0
 field,"analytic_account.line,rec_name",0,Name,Name,0
-field,"analytic_account.line,reference",0,Reference,Referenz,0
+field,"analytic_account.line,reference",0,Reference,Verweis,0
+model,"account.statement.journal,name",0,Statement Journal,Journal Zahlungsverkehr,0
+model,"account.statement.line,name",0,Account Statement Line,Zahlungsverkehr Position,0
+model,"account.statement,name",0,Account Statement,Zahlungsverkehr,0
 model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Kostenstelle - Kostenstelle Auswahl,0
 model,"analytic_account.account,name",0,Analytic Account,Kostenstelle,0
 model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Kontenplan Öffnen Init,0
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Kostenstelle Auswahl,0
-model,"analytic_account.line,name",0,Analytic Line,Buchungszeile,0
+model,"analytic_account.line,name",0,Analytic Line,Kostenstelle Zeile,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_account_tree,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Kostenstellen,0
-model,"ir.action,name",act_line_form,Analytic Lines,Buchungszeilen,0
-model,"ir.action,name",act_open_account,Open Account,Kostenstelle öffnen,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Plan für Kostenstellen öffnen,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstellen,0
+model,"ir.action,name",act_line_form,Analytic Lines,Kostenstelle Zeilen,0
+model,"ir.action,name",act_open_account,Open Account,Konto öffnen,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan Öffnen,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstelle,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Kostenstellen,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Kostenstellen,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Plan für Kostenstellen öffnen,0
-model,"res.group,name",group_analytic_admin,Analytic Administration,Administration Kostenstellen,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Kostenstellenplan öffnen,0
+model,"res.group,name",group_analytic_admin,Analytic Administration,Kostenstellen Administration,0
+selection,"account.statement,state",0,Canceled,Annulliert,0
+selection,"account.statement,state",0,Draft,Entwurf,0
+selection,"account.statement,state",0,Posted,Festgeschrieben,0
+selection,"account.statement,state",0,Validated,Geprüft,0
 selection,"analytic_account.account,display_balance",0,Credit - Debit,Haben - Soll,0
 selection,"analytic_account.account,display_balance",0,Debit - Credit,Soll - Haben,0
 selection,"analytic_account.account,state",0,Closed,Geschlossen,0
 selection,"analytic_account.account,state",0,Draft,Entwurf,0
 selection,"analytic_account.account,state",0,Opened,Geöffnet,0
 selection,"analytic_account.account,type",0,Normal,Normal,0
-selection,"analytic_account.account,type",0,Root,Wurzelkonto,0
+selection,"analytic_account.account,type",0,Root,Wurzel,0
 selection,"analytic_account.account,type",0,View,Sicht,0
 view,account.move.line,0,Analytic,Kostenstelle,0
+view,account.statement,0,Bank Statement,Bankauszug,0
+view,account.statement,0,Bank Statement Lines,Posten Bankauszüge,0
+view,account.statement,0,Bank Statements,Bankauszüge,0
+view,account.statement,0,Cancel,Annullieren,0
+view,account.statement,0,Move Lines,Buchungsposten,0
+view,account.statement,0,Post,Festschreiben,0
+view,account.statement,0,Reset to Draft,Auf Entwurf zurücksetzen,0
+view,account.statement,0,Statement,Zahlung,0
+view,account.statement,0,Statement Lines,Zahlungsposten,0
+view,account.statement,0,Statements,Zahlungsverkehr,0
+view,account.statement,0,Validate,Prüfen,0
+view,account.statement.journal,0,Statement Journal,Journal Zahlungsverkehr,0
+view,account.statement.journal,0,Statement Journals,Journale Zahlungsverkehr,0
+view,account.statement.line,0,Bank Statement Line,Posten Bankauszüge,0
+view,account.statement.line,0,Statement Line,Zahlungsposten,0
+view,account.statement.line,0,Statement Lines,Zahlungsposten,0
 view,analytic_account.account,0,Analytic Account,Kostenstelle,0
 view,analytic_account.account,0,Analytic Accounts,Kostenstellen,0
 view,analytic_account.account,0,General Information,Allgemein,0
-view,analytic_account.account,0,Notes,Bemerkungen,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Plan für Kostenstellen öffnen,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Plan für Kostenstellen öffnen,0
-view,analytic_account.line,0,Analytic Line,Buchungszeile,0
-view,analytic_account.line,0,Analytic Lines,Buchungszeilen,0
+view,analytic_account.account,0,Notes,Notizen,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Kostenstellenplan öffnen,0
+view,analytic_account.line,0,Analytic Line,Kostenstelle,0
+view,analytic_account.line,0,Analytic Lines,Kostenstellen,0
 view,analytic_account.line,0,General Information,Allgemein,0
 wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Abbrechen,0
 wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Öffnen,0
diff --git a/es_CO.csv b/es_CO.csv
index b35bebd..bd77e3a 100644
--- a/es_CO.csv
+++ b/es_CO.csv
@@ -34,6 +34,7 @@ field,"analytic_account.line,account",0,Account,Cuenta,0
 field,"analytic_account.line,active",0,Active,Activo,0
 field,"analytic_account.line,credit",0,Credit,Crédito,0
 field,"analytic_account.line,currency",0,Currency,Moneda,0
+field,"analytic_account.line,currency_digits",0,Currency Digits,Dígitos de Moneda,0
 field,"analytic_account.line,date",0,Date,Fecha,0
 field,"analytic_account.line,debit",0,Debit,Débito,0
 field,"analytic_account.line,journal",0,Journal,Diario,0
diff --git a/es_ES.csv b/es_ES.csv
index 1990395..096d02e 100644
--- a/es_ES.csv
+++ b/es_ES.csv
@@ -1,12 +1,12 @@
 type,name,res_id,src,value,fuzzy
 error,analytic_account.account,0,You can not create recursive accounts!,No puede crear cuentas recursivas,0
 error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,No puede tener varias cuentas con la misma cuenta raiz o falta una cuenta raiz obligatoria,0
-error,analytic_account.line,0,Wrong credit/debit values!,Los valores haber/deber son incorrectos,0
+error,analytic_account.line,0,Wrong credit/debit values!,Los valores debe/haber son incorrectos,0
 error,analytic_account.line,0,"You can not create move line
 on view/inactive account!","No puede crear una linea de asiento
-en una cuenta inactiva/vista",0
+en una cuenta vista/inactiva",0
 field,"account.move.line,analytic_lines",0,Analytic Lines,Líneas analíticas,0
-field,"analytic_account.account,active",0,Active,Activo,0
+field,"analytic_account.account,active",0,Active,Activa,0
 field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Cuenta,0
 field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nombre,0
 field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Selección,0
@@ -16,7 +16,7 @@ field,"analytic_account.account,code",0,Code,Código,0
 field,"analytic_account.account,company",0,Company,Empresa,0
 field,"analytic_account.account,credit",0,Credit,Haber,0
 field,"analytic_account.account,currency",0,Currency,Divisa,0
-field,"analytic_account.account,currency_digits",0,Currency Digits,Dígitos de la divisa,0
+field,"analytic_account.account,currency_digits",0,Currency Digits,Decimales de la divisa,0
 field,"analytic_account.account,debit",0,Debit,Debe,0
 field,"analytic_account.account,display_balance",0,Display Balance,Mostrar balance,0
 field,"analytic_account.account,mandatory",0,Mandatory,Obligatorio,0
@@ -32,20 +32,21 @@ field,"analytic_account.account.selection,rec_name",0,Name,Nombre,0
 field,"analytic_account.account,state",0,State,Estado,0
 field,"analytic_account.account,type",0,Type,Tipo,0
 field,"analytic_account.line,account",0,Account,Cuenta,0
-field,"analytic_account.line,active",0,Active,Activo,0
+field,"analytic_account.line,active",0,Active,Activa,0
 field,"analytic_account.line,credit",0,Credit,Haber,0
 field,"analytic_account.line,currency",0,Currency,Divisa,0
+field,"analytic_account.line,currency_digits",0,Currency Digits,Decimales de la divisa,0
 field,"analytic_account.line,date",0,Date,Fecha,0
 field,"analytic_account.line,debit",0,Debit,Debe,0
 field,"analytic_account.line,journal",0,Journal,Diario,0
-field,"analytic_account.line,move_line",0,Account Move Line,Linea de asiento de cuenta,0
+field,"analytic_account.line,move_line",0,Account Move Line,Linea de asiento contable,0
 field,"analytic_account.line,name",0,Name,Nombre,0
 field,"analytic_account.line,party",0,Party,Tercero,0
 field,"analytic_account.line,rec_name",0,Name,Nombre,0
 field,"analytic_account.line,reference",0,Reference,Referencia,0
 model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Cuenta analítica - Selección de cuenta analítica,0
 model,"analytic_account.account,name",0,Analytic Account,Cuenta analítica,0
-model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Abrir inicio de plan de cuentas,0
+model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Inicializa la apertura del plan de cuentas,0
 model,"analytic_account.account.selection,name",0,Analytic Account Selection,Selección de cuenta analítica,0
 model,"analytic_account.line,name",0,Analytic Line,Línea analítica,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Cuentas analíticas,0
@@ -53,17 +54,17 @@ model,"ir.action,name",act_account_tree,Analytic Accounts,Cuentas analíticas,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Cuentas analíticas,0
 model,"ir.action,name",act_line_form,Analytic Lines,Líneas analíticas,0
 model,"ir.action,name",act_open_account,Open Account,Abrir cuenta,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Abrir plan de cuentas analítico,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Abrir plan contable analítico,0
 model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Cuenta analítica,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Cuentas analíticas,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Cuentas analíticas,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Abrir plan de cuentas analítico,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Abrir plan contable analítico,0
 model,"res.group,name",group_analytic_admin,Analytic Administration,Administración analítica,0
 selection,"analytic_account.account,display_balance",0,Credit - Debit,Haber - Debe,0
 selection,"analytic_account.account,display_balance",0,Debit - Credit,Debe - Haber,0
-selection,"analytic_account.account,state",0,Closed,Cerrado,0
+selection,"analytic_account.account,state",0,Closed,Cerrada,0
 selection,"analytic_account.account,state",0,Draft,Borrador,0
-selection,"analytic_account.account,state",0,Opened,Abierto,0
+selection,"analytic_account.account,state",0,Opened,Abierta,0
 selection,"analytic_account.account,type",0,Normal,Normal,0
 selection,"analytic_account.account,type",0,Root,Raíz,0
 selection,"analytic_account.account,type",0,View,Vista,0
diff --git a/fr_FR.csv b/fr_FR.csv
index f5d1075..9870532 100644
--- a/fr_FR.csv
+++ b/fr_FR.csv
@@ -13,7 +13,7 @@ field,"analytic_account.account-analytic_account.account.selection,selection",0,
 field,"analytic_account.account,balance",0,Balance,Balance,0
 field,"analytic_account.account,childs",0,Children,Enfants,0
 field,"analytic_account.account,code",0,Code,Code,0
-field,"analytic_account.account,company",0,Company,Compagnie,0
+field,"analytic_account.account,company",0,Company,Société,0
 field,"analytic_account.account,credit",0,Credit,Crédit,0
 field,"analytic_account.account,currency",0,Currency,Devise,0
 field,"analytic_account.account,currency_digits",0,Currency Digits,Décimales de la devise,0
@@ -35,6 +35,7 @@ field,"analytic_account.line,account",0,Account,Compte,0
 field,"analytic_account.line,active",0,Active,Actif,0
 field,"analytic_account.line,credit",0,Credit,Crédit,0
 field,"analytic_account.line,currency",0,Currency,Devise,0
+field,"analytic_account.line,currency_digits",0,Currency Digits,Décimales de la devise,0
 field,"analytic_account.line,date",0,Date,Date,0
 field,"analytic_account.line,debit",0,Debit,Débit,0
 field,"analytic_account.line,journal",0,Journal,Journal,0
diff --git a/line.py b/line.py
index 28ea0f0..ab49501 100644
--- a/line.py
+++ b/line.py
@@ -4,6 +4,7 @@
 from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard
 import mx.DateTime
+from trytond.backend import TableHandler
 
 
 class Line(ModelSQL, ModelView):
@@ -12,10 +13,15 @@ class Line(ModelSQL, ModelView):
     _description = __doc__
 
     name = fields.Char('Name', required=True)
-    debit = fields.Numeric('Debit', digits=(16, 2))
-    credit = fields.Numeric('Credit', digits=(16, 2))
-    #TODO wrong field as currency comes from move_line
-    currency = fields.Many2One('currency.currency', 'Currency', required=True)
+    debit = fields.Numeric('Debit', digits="(16, currency_digits)",
+            depends=['currency_digits'])
+    credit = fields.Numeric('Credit', digits="(16, currency_digits)",
+            depends=['currency_digits'])
+    currency = fields.Function('get_currency', type='many2one',
+            relation='currency.currency', string='Currency',
+            on_change_with=['move_line'])
+    currency_digits = fields.Function('get_currency_digits', type='integer',
+            string='Currency Digits', on_change_with=['move_line'])
     account = fields.Many2One('analytic_account.account', 'Account',
             required=True, select=1, domain=[('type', '!=', 'view')])
     move_line = fields.Many2One('account.move.line', 'Account Move Line',
@@ -43,16 +49,12 @@ class Line(ModelSQL, ModelView):
         })
         self._order.insert(0, ('date', 'ASC'))
 
-    def default_currency(self, cursor, user, context=None):
-        company_obj = self.pool.get('company.company')
-        currency_obj = self.pool.get('currency.currency')
-        if context is None:
-            context = {}
-        if context.get('company'):
-            company = company_obj.browse(cursor, user, context['company'],
-                    context=context)
-            return company.currency.id
-        return False
+    def init(self, cursor, module_name):
+        super(Line, self).init(cursor, module_name)
+        table = TableHandler(cursor, self, module_name)
+
+        # Migration from 1.2 currency has been changed in function field
+        table.not_null_action('currency', action='remove')
 
     def default_date(self, cursor, user, context=None):
         date_obj = self.pool.get('ir.date')
@@ -61,6 +63,36 @@ class Line(ModelSQL, ModelView):
     def default_active(self, cursor, user, context=None):
         return True
 
+    def on_change_with_currency(self, cursor, user, ids, vals,
+            context=None):
+        move_line_obj = self.pool.get('account.move.line')
+        if vals.get('move_line'):
+            move_line = move_line_obj.browse(cursor, user, vals['move_line'],
+                    context=context)
+            return move_line.account.company.currency.id
+        return False
+
+    def get_currency(self, cursor, user, ids, name, arg, context=None):
+        res = {}
+        for line in self.browse(cursor, user, ids, context=context):
+            res[line.id] = line.move_line.account.company.currency.id
+        return res
+
+    def on_change_with_currency_digits(self, cursor, user, ids, vals,
+            context=None):
+        move_line_obj = self.pool.get('account.move.line')
+        if vals.get('move_line'):
+            move_line = move_line_obj.browse(cursor, user, vals['move_line'],
+                    context=context)
+            return move_line.account.company.currency.digits
+        return 2
+
+    def get_currency_digits(self, cursor, user, ids, name, arg, context=None):
+        res = {}
+        for line in self.browse(cursor, user, ids, context=context):
+            res[line.id] = line.move_line.account.company.currency.digits
+        return res
+
     def query_get(self, cursor, user, obj='l', context=None):
         '''
         Return SQL clause for analytic line depending of the context.
diff --git a/setup.py b/setup.py
index 1643553..a59bd9a 100644
--- a/setup.py
+++ b/setup.py
@@ -9,17 +9,12 @@ info = eval(file('__tryton__.py').read())
 
 requires = ['egenix-mx-base']
 for dep in info.get('depends', []):
-    match = re.compile(
-            '(ir|res|workflow|webdav)((\s|$|<|>|<=|>=|==|!=).*?$)').match(dep)
-    if match:
-        continue
-    else:
-        dep = 'trytond_' + dep
-    requires.append(dep)
+    if not re.match(r'(ir|res|workflow|webdav)(\W|$)', dep):
+        requires.append('trytond_' + dep)
 
 major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
 requires.append('trytond >= %s.%s' % (major_version, minor_version))
-requires.append('trytond < %s.%s' % (major_version, str(int(minor_version) + 1)))
+requires.append('trytond < %s.%s' % (major_version, int(minor_version) + 1))
 
 setup(name='trytond_analytic_account',
     version=info.get('version', '0.0.1'),
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..ce64084
--- /dev/null
+++ b/tests/__init__.py
@@ -0,0 +1,4 @@
+#This file is part of Tryton.  The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+
+from test_analytic_account import *
diff --git a/tests/test_analytic_account.py b/tests/test_analytic_account.py
new file mode 100644
index 0000000..8c02ca7
--- /dev/null
+++ b/tests/test_analytic_account.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+#This file is part of Tryton.  The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+
+import sys, os
+DIR = os.path.abspath(os.path.normpath(os.path.join(__file__,
+    '..', '..', '..', '..', '..', 'trytond')))
+if os.path.isdir(DIR):
+    sys.path.insert(0, os.path.dirname(DIR))
+
+import unittest
+import trytond.tests.test_tryton
+from trytond.tests.test_tryton import RPCProxy, CONTEXT, SOCK, test_view
+
+
+class AnalyticAccountTestCase(unittest.TestCase):
+    '''
+    Test AnalyticAccount module.
+    '''
+
+    def setUp(self):
+        trytond.tests.test_tryton.install_module('analytic_account')
+
+    def test0005views(self):
+        '''
+        Test views.
+        '''
+        self.assertRaises(Exception, test_view('analytic_account'))
+
+def suite():
+    return unittest.TestLoader().loadTestsFromTestCase(AnalyticAccountTestCase)
+
+if __name__ == '__main__':
+    suiteTrytond = trytond.tests.test_tryton.suite()
+    suiteAnalyticAccount = suite()
+    alltests = unittest.TestSuite([suiteTrytond, suiteAnalyticAccount])
+    unittest.TextTestRunner(verbosity=2).run(alltests)
+    SOCK.disconnect()
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index b7fd7c9..aef6a18 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 1.2.1
+Version: 1.4.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.2/
+Download-URL: http://downloads.tryton.org/1.4/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index 026aaac..faea94b 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -16,6 +16,8 @@ setup.py
 ./__tryton__.py
 ./account.py
 ./line.py
+tests/__init__.py
+tests/test_analytic_account.py
 trytond_analytic_account.egg-info/PKG-INFO
 trytond_analytic_account.egg-info/SOURCES.txt
 trytond_analytic_account.egg-info/dependency_links.txt
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 2057b75..2e0d644 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -3,5 +3,5 @@ trytond_company
 trytond_currency
 trytond_account
 trytond_party
-trytond >= 1.2
-trytond < 1.3
\ No newline at end of file
+trytond >= 1.4
+trytond < 1.5
\ No newline at end of file
commit 1cb6152dc0ebfc0829e173ce16d420d0182ca29a
Author: Daniel Baumann <daniel at debian.org>
Date:   Fri Jul 10 14:22:41 2009 +0200

    Adding upstream version 1.2.1.

diff --git a/CHANGELOG b/CHANGELOG
index d28f483..0b9d220 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 1.2.1 - 2009-07-07
+* Use the right currency to compute  balance, debit/credit of accounts
+
 Version 1.2.0 - 2009-04-20
 * Bug fixes (see mercurial logs for details)
 * Allow egg installation
diff --git a/PKG-INFO b/PKG-INFO
index 1580a19..9f6eaf9 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 1.2.0
+Version: 1.2.1
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
diff --git a/__tryton__.py b/__tryton__.py
index 61f092d..4e76fed 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -6,7 +6,7 @@
     'name_es_CO': 'Contabilidad Analítica',
     'name_es_ES': 'Contabilidad Analítica',
     'name_fr_FR': 'Comptabilité analytique',
-    'version': '1.2.0',
+    'version': '1.2.1',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
diff --git a/account.py b/account.py
index f5f267f..e24b0fc 100644
--- a/account.py
+++ b/account.py
@@ -133,16 +133,22 @@ class Account(ModelSQL, ModelView):
         line_query = line_obj.query_get(cursor, user, context=context)
         cursor.execute('SELECT a.id, ' \
                     'SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))), ' \
-                    'l.currency ' \
+                    'c.currency ' \
                 'FROM analytic_account_account a ' \
                     'LEFT JOIN analytic_account_line l ' \
                     'ON (a.id = l.account) ' \
+                    'LEFT JOIN account_move_line ml ' \
+                    'ON (ml.id = l.move_line) ' \
+                    'LEFT JOIN account_account aa ' \
+                    'ON (aa.id = ml.account) ' \
+                    'LEFT JOIN company_company c ' \
+                    'ON (c.id = aa.company) ' \
                 'WHERE a.type != \'view\' ' \
                     'AND a.id IN (' + \
                         ','.join(['%s' for x in all_ids]) + ') ' \
                     'AND ' + line_query + ' ' \
                     'AND a.active ' \
-                'GROUP BY a.id, l.currency', all_ids)
+                'GROUP BY a.id, c.currency', all_ids)
         account_sum = {}
         id2currency = {}
         for account_id, sum, currency_id in cursor.fetchall():
@@ -196,16 +202,22 @@ class Account(ModelSQL, ModelView):
         line_query = line_obj.query_get(cursor, user, context=context)
         cursor.execute('SELECT a.id, ' \
                     'SUM(COALESCE(l.' + name + ', 0)), ' \
-                    'l.currency ' \
+                    'c.currency ' \
                 'FROM analytic_account_account a ' \
                     'LEFT JOIN analytic_account_line l ' \
                     'ON (a.id = l.account) ' \
+                    'LEFT JOIN account_move_line ml ' \
+                    'ON (ml.id = l.move_line) ' \
+                    'LEFT JOIN account_account aa ' \
+                    'ON (aa.id = ml.account) ' \
+                    'LEFT JOIN company_company c ' \
+                    'ON (c.id = aa.company) ' \
                 'WHERE a.type != \'view\' ' \
                     'AND a.id IN (' + \
                         ','.join(['%s' for x in ids]) + ') ' \
                     'AND ' + line_query + ' ' \
                     'AND a.active ' \
-                'GROUP BY a.id, l.currency', ids)
+                'GROUP BY a.id, c.currency', ids)
 
         id2currency = {}
         for account_id, sum, currency_id in cursor.fetchall():
diff --git a/line.py b/line.py
index 59d51aa..28ea0f0 100644
--- a/line.py
+++ b/line.py
@@ -14,6 +14,7 @@ class Line(ModelSQL, ModelView):
     name = fields.Char('Name', required=True)
     debit = fields.Numeric('Debit', digits=(16, 2))
     credit = fields.Numeric('Credit', digits=(16, 2))
+    #TODO wrong field as currency comes from move_line
     currency = fields.Many2One('currency.currency', 'Currency', required=True)
     account = fields.Many2One('analytic_account.account', 'Account',
             required=True, select=1, domain=[('type', '!=', 'view')])
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index c4cde62..b7fd7c9 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 1.2.0
+Version: 1.2.1
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
commit 05fb4dbb2a3ec7fa026c41aa1cf2221b7e66aaee
Author: Daniel Baumann <daniel at debian.org>
Date:   Tue Apr 21 11:09:57 2009 +0200

    Adding upstream version 1.2.0.

diff --git a/CHANGELOG b/CHANGELOG
index 9801fce..d28f483 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,5 @@
-Version 1.0.1 - 2008-12-01
+Version 1.2.0 - 2009-04-20
+* Bug fixes (see mercurial logs for details)
 * Allow egg installation
 
 Version 1.0.0 - 2008-11-17
diff --git a/INSTALL b/INSTALL
index 7b25fe0..4186548 100644
--- a/INSTALL
+++ b/INSTALL
@@ -5,7 +5,8 @@ Prerequisites
 -------------
 
  * Python 2.4 or later (http://www.python.org/)
- * trytond 0.0.x (http://www.tryton.org/)
+ * egenix-mx-base (http://www.egenix.com/products/python/)
+ * trytond 1.1.x (http://www.tryton.org/)
  * trytond_company (http://www.tryton.org/)
  * trytond_party (http://www.tryton.org/)
  * trytond_currency (http://www.tryton.org/)
@@ -14,7 +15,7 @@ Prerequisites
 Installation
 ------------
 
-Once you've downloaded and unpacked a trytond_analytic_account source release, enter the
+Once you've downloaded and unpacked the trytond_analytic_account source release, enter the
 directory where the archive was unpacked, and run:
 
     python setup.py install
diff --git a/PKG-INFO b/PKG-INFO
index ab7fc01..1580a19 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 1.0.1
+Version: 1.2.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.0/
+Download-URL: http://downloads.tryton.org/1.2/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/__tryton__.py b/__tryton__.py
index e18061c..61f092d 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -3,9 +3,10 @@
 {
     'name': 'Analytic Account',
     'name_de_DE': 'Kostenstellen',
-    'name_fr_FR': 'Comptabilité analytique',
+    'name_es_CO': 'Contabilidad Analítica',
     'name_es_ES': 'Contabilidad Analítica',
-    'version': '1.0.1',
+    'name_fr_FR': 'Comptabilité analytique',
+    'version': '1.2.0',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
@@ -21,11 +22,11 @@ And with report:
 Zugehörige Berichte:
     - Plan für Kostenstellen
 ''',
-    'description_fr_FR': '''Module comptable et financier, avec:
-    - Comptabilité analytique autorisant un nombre arbitraire d'axes.
+    'description_es_CO': '''Módulo Financiero y de Contabilidad con:
+    - Contabilidad Analítica con cualquier cantidad de planes analíticos
 
-Et le rapport:
-    - Balance comptable analytique
+Y con reportes:
+    - Balance Contable Analítico
 ''',
     'description_es_ES': '''Módulo Financiero y de Contabilidad con:
     - Contabilidad Analítica con cualquier cantidad de planes analíticos
@@ -33,6 +34,12 @@ Et le rapport:
 Y con reportes:
     - Balance Contable Analítico
 ''',
+    'description_fr_FR': '''Module comptable et financier, avec:
+    - Comptabilité analytique autorisant un nombre arbitraire d'axes.
+
+Et le rapport:
+    - Balance comptable analytique
+''',
     'depends': [
         'ir',
         'company',
@@ -48,6 +55,7 @@ Y con reportes:
     ],
     'translation': [
         'de_DE.csv',
+        'es_CO.csv',
         'es_ES.csv',
         'fr_FR.csv',
     ],
diff --git a/account.py b/account.py
index 8ebb791..f5f267f 100644
--- a/account.py
+++ b/account.py
@@ -1,20 +1,18 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms.
+#This file is part of Tryton.  The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
 "Account"
-
-from trytond.osv import fields, OSV
-from trytond.wizard import Wizard, WizardOSV
+from trytond.model import ModelView, ModelSQL, fields
+from trytond.wizard import Wizard
 from decimal import Decimal
 import copy
 
 
-class Account(OSV):
+class Account(ModelSQL, ModelView):
     'Analytic Account'
     _name = 'analytic_account.account'
     _description = __doc__
 
     name = fields.Char('Name', required=True, translate=True, select=1)
-    complete_name = fields.Function('get_complete_name', type='char',
-            string='Name')
     code = fields.Char('Code', select=1)
     active = fields.Boolean('Active', select=2)
     company = fields.Many2One('company.company', 'Company')
@@ -38,7 +36,7 @@ class Account(OSV):
                 'invisible': "type == 'root'",
                 'required': "type != 'root'",
             })
-    childs = fields.One2Many('analytic_account.account', 'parent', 'Childs')
+    childs = fields.One2Many('analytic_account.account', 'parent', 'Children')
     balance = fields.Function('get_balance', digits="(16, currency_digits)",
             string='Balance')
     credit = fields.Function('get_credit_debit', digits="(16, currency_digits)",
@@ -77,8 +75,7 @@ class Account(OSV):
         if context is None:
             context = {}
         if context.get('company'):
-            return company_obj.name_get(cursor, user, context['company'],
-                    context=context)[0]
+            return context['company']
         return False
 
     def default_currency(self, cursor, user, context=None):
@@ -89,8 +86,7 @@ class Account(OSV):
         if context.get('company'):
             company = company_obj.browse(cursor, user, context['company'],
                     context=context)
-            return currency_obj.name_get(cursor, user, company.currency.id,
-                    context=context)[0]
+            return company.currency.id
         return False
 
     def default_type(self, cursor, user, context=None):
@@ -120,10 +116,6 @@ class Account(OSV):
             res[account.id] = account.currency.digits
         return res
 
-    def get_complete_name(self, cursor, user, ids, name, arg, context=None):
-        res = self.name_get(cursor, user, ids, context=context)
-        return dict(res)
-
     def get_balance(self, cursor, user, ids, name, arg, context=None):
         res = {}
         line_obj = self.pool.get('analytic_account.line')
@@ -233,29 +225,29 @@ class Account(OSV):
                         id2account[account_id].currency, sum)
         return res
 
-    def name_search(self, cursor, user, name='', args=None, operator='ilike',
-            context=None, limit=None):
-        if name:
-            ids = self.search(cursor, user,
-                    [('code', 'like', name + '%')] + args,
-                    limit=limit, context=context)
-            if not ids:
-                ids = self.search(cursor, user,
-                        [(self._rec_name, operator, name)] + args,
-                        limit=limit, context=context)
-        else:
-            ids = self.search(cursor, user, args, limit=limit, context=context)
-        res = self.name_get(cursor, user, ids, context=context)
+    def get_rec_name(self, cursor, user, ids, name, arg, context=None):
+        if not ids:
+            return {}
+        res = {}
+        for account in self.browse(cursor, user, ids, context=context):
+            if account.code:
+                res[account.id] = account.code + ' - ' + unicode(account.name)
+            else:
+                res[account.id] = unicode(account.name)
         return res
 
-    def name_get(self, cursor, user, ids, context=None):
-        if not ids:
-            return []
-        if isinstance(ids, (int, long)):
-            ids = [ids]
-        return [(r['id'], r['code'] and r['code'] + ' - ' + unicode(r[self._rec_name]) \
-                or unicode(r[self._rec_name])) for r in self.read(cursor, user, ids,
-                    [self._rec_name, 'code'], context=context, load='_classic_write')]
+    def search_rec_name(self, cursor, user, name, args, context=None):
+        args2 = []
+        i = 0
+        while i < len(args):
+            ids = self.search(cursor, user, [('code', args[i][1], args[i][2])],
+                    limit=1, context=context)
+            if ids:
+                args2.append(('code', args[i][1], args[i][2]))
+            else:
+                args2.append((self._rec_name, args[i][1], args[i][2]))
+            i += 1
+        return args2
 
     def convert_view(self, cursor, user, tree, context=None):
         res = tree.xpath('//field[@name=\'analytic_accounts\']')
@@ -305,8 +297,10 @@ class Account(OSV):
 Account()
 
 
-class OpenChartAccountInit(WizardOSV):
+class OpenChartAccountInit(ModelView):
+    'Open Chart Account Init'
     _name = 'analytic_account.account.open_chart_account.init'
+    _description = __doc__
     start_date = fields.Date('Start Date')
     end_date = fields.Date('End Date')
 
@@ -357,15 +351,15 @@ class OpenChartAccount(Wizard):
 OpenChartAccount()
 
 
-class AccountSelection(OSV):
+class AccountSelection(ModelSQL, ModelView):
     'Analytic Account Selection'
     _name = 'analytic_account.account.selection'
     _description = __doc__
     _rec_name = 'id'
 
-    accounts = fields.Many2Many('analytic_account.account',
-            'analytic_account_account_selection_rel', 'selection', 'account',
-            'Accounts')
+    accounts = fields.Many2Many(
+            'analytic_account.account-analytic_account.account.selection',
+            'selection', 'account', 'Accounts')
 
     def __init__(self):
         super(AccountSelection, self).__init__()
@@ -401,3 +395,16 @@ class AccountSelection(OSV):
         return True
 
 AccountSelection()
+
+
+class AccountAccountSelection(ModelSQL):
+    'Analytic Account - Analytic Account Selection'
+    _name = 'analytic_account.account-analytic_account.account.selection'
+    _description = __doc__
+    _table = 'analytic_account_account_selection_rel'
+    selection = fields.Many2One('analytic_account.account.selection',
+            'Selection', ondelete='CASCADE', required=True, select=1)
+    account = fields.Many2One('analytic_account.account', 'Account',
+            ondelete='RESTRICT', required=True, select=1)
+
+AccountAccountSelection()
diff --git a/account.xml b/account.xml
index 958aae4..495c7c8 100644
--- a/account.xml
+++ b/account.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0"?>
-<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms. -->
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
         <menuitem name="Analytic Account" parent="account.menu_account_configuration"
@@ -18,7 +19,7 @@
                     <label name="active"/>
                     <field name="active" xexpand="0" width="100"/>
                     <notebook colspan="6">
-                        <page string="General Information">
+                        <page string="General Information" id="general">
                             <label name="type"/>
                             <field name="type"/>
                             <label name="display_balance"/>
@@ -34,11 +35,11 @@
                             <label name="mandatory"/>
                             <field name="mandatory"/>
                         </page>
-                        <page string="Notes">
+                        <page string="Notes" id="notes">
                             <field name="note"/>
                         </page>
                     </notebook>
-                    <group colspan="6" col="2">
+                    <group colspan="6" col="2" id="state">
                         <label name="state"/>
                         <field name="state"/>
                     </group>
@@ -53,7 +54,7 @@
             <field name="arch" type="xml">
                 <![CDATA[
                 <tree string="Analytic Accounts">
-                    <field name="complete_name"/>
+                    <field name="rec_name"/>
                     <field name="company" select="2"/>
                     <field name="type" select="2"/>
                     <field name="active" select="2" tree_invisible="1"/>
@@ -124,7 +125,7 @@
             <field name="act_window" ref="act_account_tree2"/>
         </record>
         <record model="ir.action.wizard" id="act_open_chart_account">
-            <field name="name">Open Chart of Analytic Account</field>
+            <field name="name">Open Chart of Analytic Accounts</field>
             <field name="wiz_name">analytic_account.account.open_chart_account</field>
         </record>
         <menuitem parent="account.menu_charts" action="act_open_chart_account"
@@ -145,12 +146,23 @@
             <field name="perm_delete" eval="True"/>
         </record>
 
+        <record model="ir.rule.group" id="rule_group_account">
+            <field name="model" search="[('model', '=', 'analytic_account.account')]"/>
+            <field name="global_p" eval="True"/>
+        </record>
+        <record model="ir.rule" id="rule_account1">
+            <field name="field" search="[('name', '=', 'company'), ('model.model', '=', 'analytic_account.account')]"/>
+            <field name="operator">in</field>
+            <field name="operand">User/Current Companies</field>
+            <field name="rule_group" ref="rule_group_account"/>
+        </record>
+
         <record model="ir.ui.view" id="open_chart_account_init_view_form">
             <field name="model">analytic_account.account.open_chart_account.init</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <![CDATA[
-                <form string="Open Chart of Analytic Account" col="2">
+                <form string="Open Chart of Analytic Accounts" col="2">
                     <label name="start_date"/>
                     <field name="start_date"/>
                     <label name="end_date"/>
diff --git a/de_DE.csv b/de_DE.csv
index 514a7a7..59c53f2 100644
--- a/de_DE.csv
+++ b/de_DE.csv
@@ -6,11 +6,13 @@ error,analytic_account.line,0,"You can not create move line
 on view/inactive account!",Posten kann nicht erstellt werden,0
 field,"account.move.line,analytic_lines",0,Analytic Lines,Buchungszeile,0
 field,"analytic_account.account,active",0,Active,Aktiv,0
+field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Konto,0
+field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Name,0
+field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Auswahl,0
 field,"analytic_account.account,balance",0,Balance,Bilanz,0
-field,"analytic_account.account,childs",0,Childs,Untergeordnet (Analytische Konten),0
+field,"analytic_account.account,childs",0,Children,Untergeordnet (Analytische Konten),0
 field,"analytic_account.account,code",0,Code,Code,0
 field,"analytic_account.account,company",0,Company,Unternehmen,0
-field,"analytic_account.account,complete_name",0,Name,Name,0
 field,"analytic_account.account,credit",0,Credit,Haben,0
 field,"analytic_account.account,currency",0,Currency,Währung,0
 field,"analytic_account.account,currency_digits",0,Currency Digits,Währung (signifikante Stellen),0
@@ -22,8 +24,10 @@ field,"analytic_account.account,note",0,Note,Bemerkung,0
 field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Enddatum,0
 field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Ab Datum,0
 field,"analytic_account.account,parent",0,Parent,Übergeordnet (Kostenstelle),0
+field,"analytic_account.account,rec_name",0,Name,Name,0
 field,"analytic_account.account,root",0,Root,Wurzelkonto,0
 field,"analytic_account.account.selection,accounts",0,Accounts,Konten,0
+field,"analytic_account.account.selection,rec_name",0,Name,Name,0
 field,"analytic_account.account,state",0,State,Status,0
 field,"analytic_account.account,type",0,Type,Typ,0
 field,"analytic_account.line,account",0,Account,Konto,0
@@ -36,17 +40,23 @@ field,"analytic_account.line,journal",0,Journal,Journal,0
 field,"analytic_account.line,move_line",0,Account Move Line,Buchungszeile,0
 field,"analytic_account.line,name",0,Name,Name,0
 field,"analytic_account.line,party",0,Party,Partei,0
+field,"analytic_account.line,rec_name",0,Name,Name,0
 field,"analytic_account.line,reference",0,Reference,Referenz,0
+model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Kostenstelle - Kostenstelle Auswahl,0
+model,"analytic_account.account,name",0,Analytic Account,Kostenstelle,0
+model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Kontenplan Öffnen Init,0
+model,"analytic_account.account.selection,name",0,Analytic Account Selection,Kostenstelle Auswahl,0
+model,"analytic_account.line,name",0,Analytic Line,Buchungszeile,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_account_tree,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Kostenstellen,0
 model,"ir.action,name",act_line_form,Analytic Lines,Buchungszeilen,0
 model,"ir.action,name",act_open_account,Open Account,Kostenstelle öffnen,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Account,Plan für Kostenstellen öffnen,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Plan für Kostenstellen öffnen,0
 model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstellen,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Kostenstellen,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Kostenstellen,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Account,Plan für Kostenstellen öffnen,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Plan für Kostenstellen öffnen,0
 model,"res.group,name",group_analytic_admin,Analytic Administration,Administration Kostenstellen,0
 selection,"analytic_account.account,display_balance",0,Credit - Debit,Haben - Soll,0
 selection,"analytic_account.account,display_balance",0,Debit - Credit,Soll - Haben,0
@@ -62,6 +72,7 @@ view,analytic_account.account,0,Analytic Accounts,Kostenstellen,0
 view,analytic_account.account,0,General Information,Allgemein,0
 view,analytic_account.account,0,Notes,Bemerkungen,0
 view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Plan für Kostenstellen öffnen,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Plan für Kostenstellen öffnen,0
 view,analytic_account.line,0,Analytic Line,Buchungszeile,0
 view,analytic_account.line,0,Analytic Lines,Buchungszeilen,0
 view,analytic_account.line,0,General Information,Allgemein,0
diff --git a/es_ES.csv b/es_CO.csv
similarity index 68%
copy from es_ES.csv
copy to es_CO.csv
index 22b024d..b35bebd 100644
--- a/es_ES.csv
+++ b/es_CO.csv
@@ -1,16 +1,18 @@
 type,name,res_id,src,value,fuzzy
-error,analytic_account.account,0,You can not create recursive accounts!,No puede crear cuentas recursivas!,0
-error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,No se puede cancelar muchas cuentas con la misma cuenta base o una cuenta base obligatoria!,0
+error,analytic_account.account,0,You can not create recursive accounts!,¡No se puede crear cuentas recursivas!,0
+error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,¡No se puede tener varias cuentas con la misma cuenta padre o tantas sin cuenta padre!,0
 error,analytic_account.line,0,Wrong credit/debit values!,Valores erróneos de crédito/debito!,0
 error,analytic_account.line,0,"You can not create move line
-on view/inactive account!",No puede crear líneas de movimientos,0
+on view/inactive account!",No puede crearse línea de movimiento,0
 field,"account.move.line,analytic_lines",0,Analytic Lines,Líneas Analíticas,0
 field,"analytic_account.account,active",0,Active,Activo,0
+field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Cuenta,0
+field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nombre,0
+field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Selección,0
 field,"analytic_account.account,balance",0,Balance,Balance,0
-field,"analytic_account.account,childs",0,Childs,Hij at s,0
+field,"analytic_account.account,childs",0,Children,Hij at s,0
 field,"analytic_account.account,code",0,Code,Código,0
 field,"analytic_account.account,company",0,Company,Compañía,0
-field,"analytic_account.account,complete_name",0,Name,Nombre,0
 field,"analytic_account.account,credit",0,Credit,Crédito,0
 field,"analytic_account.account,currency",0,Currency,Moneda,0
 field,"analytic_account.account,currency_digits",0,Currency Digits,Dígitos de Moneda,0
@@ -19,11 +21,13 @@ field,"analytic_account.account,display_balance",0,Display Balance,Mostrar Balan
 field,"analytic_account.account,mandatory",0,Mandatory,Obligatorio,0
 field,"analytic_account.account,name",0,Name,Nombre,0
 field,"analytic_account.account,note",0,Note,Nota,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Fecha Final,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Fecha Inicial,0
+field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Fecha Fin,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Fecha Inicio,0
 field,"analytic_account.account,parent",0,Parent,Padre,0
+field,"analytic_account.account,rec_name",0,Name,Nombre,0
 field,"analytic_account.account,root",0,Root,Raíz,0
 field,"analytic_account.account.selection,accounts",0,Accounts,Cuentas,0
+field,"analytic_account.account.selection,rec_name",0,Name,Nombre,0
 field,"analytic_account.account,state",0,State,Estado,0
 field,"analytic_account.account,type",0,Type,Tipo,0
 field,"analytic_account.line,account",0,Account,Cuenta,0
@@ -33,20 +37,27 @@ field,"analytic_account.line,currency",0,Currency,Moneda,0
 field,"analytic_account.line,date",0,Date,Fecha,0
 field,"analytic_account.line,debit",0,Debit,Débito,0
 field,"analytic_account.line,journal",0,Journal,Diario,0
-field,"analytic_account.line,move_line",0,Account Move Line,Movimiento de Línea de Cuenta,0
+field,"analytic_account.line,move_line",0,Account Move Line,Linea de Movimiento de Cuenta,0
 field,"analytic_account.line,name",0,Name,Nombre,0
-field,"analytic_account.line,party",0,Party,Tercero,0
+field,"analytic_account.line,party",0,Party,Terceros,0
+field,"analytic_account.line,rec_name",0,Name,Nombre,0
 field,"analytic_account.line,reference",0,Reference,Referencia,0
+model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Cuenta Analítica - Selección de Cuenta Analítica,0
+model,"analytic_account.account,name",0,Analytic Account,Cuenta Analítica,0
+model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Abrir Inicio de Plan de Cuentas,0
+model,"analytic_account.account.selection,name",0,Analytic Account Selection,Selección de Cuenta Analítica,0
+model,"analytic_account.line,name",0,Analytic Line,Línea Analítica,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Cuentas Analíticas,0
 model,"ir.action,name",act_account_tree,Analytic Accounts,Cuentas Analíticas,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Cuentas Analíticas,0
 model,"ir.action,name",act_line_form,Analytic Lines,Líneas Analíticas,0
 model,"ir.action,name",act_open_account,Open Account,Abrir Cuenta,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Abrir Plan de Cuentas Analítico,0
 model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Cuenta Analítica,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Cuentas Analíticas,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Abrir Plan de Cuentas Analítico,0
+model,"res.group,name",group_analytic_admin,Analytic Administration,Administración Analítica,0
 selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédito - Débito,0
 selection,"analytic_account.account,display_balance",0,Debit - Credit,Débito - Crédito,0
 selection,"analytic_account.account,state",0,Closed,Cerrado,0
@@ -60,8 +71,8 @@ view,analytic_account.account,0,Analytic Account,Cuenta Analítica,0
 view,analytic_account.account,0,Analytic Accounts,Cuentas Analíticas,0
 view,analytic_account.account,0,General Information,Información General,0
 view,analytic_account.account,0,Notes,Notas,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
-view,analytic_account.line,0,Analytic Line,Línea Analítica,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Abrir Plan de Cuentas Analítico,0
+view,analytic_account.line,0,Analytic Line,Línea analítica,0
 view,analytic_account.line,0,Analytic Lines,Líneas Analíticas,0
 view,analytic_account.line,0,General Information,Información General,0
 wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Cancelar,0
diff --git a/es_ES.csv b/es_ES.csv
index 22b024d..1990395 100644
--- a/es_ES.csv
+++ b/es_ES.csv
@@ -1,54 +1,66 @@
 type,name,res_id,src,value,fuzzy
-error,analytic_account.account,0,You can not create recursive accounts!,No puede crear cuentas recursivas!,0
-error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,No se puede cancelar muchas cuentas con la misma cuenta base o una cuenta base obligatoria!,0
-error,analytic_account.line,0,Wrong credit/debit values!,Valores erróneos de crédito/debito!,0
+error,analytic_account.account,0,You can not create recursive accounts!,No puede crear cuentas recursivas,0
+error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,No puede tener varias cuentas con la misma cuenta raiz o falta una cuenta raiz obligatoria,0
+error,analytic_account.line,0,Wrong credit/debit values!,Los valores haber/deber son incorrectos,0
 error,analytic_account.line,0,"You can not create move line
-on view/inactive account!",No puede crear líneas de movimientos,0
-field,"account.move.line,analytic_lines",0,Analytic Lines,Líneas Analíticas,0
+on view/inactive account!","No puede crear una linea de asiento
+en una cuenta inactiva/vista",0
+field,"account.move.line,analytic_lines",0,Analytic Lines,Líneas analíticas,0
 field,"analytic_account.account,active",0,Active,Activo,0
+field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Cuenta,0
+field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nombre,0
+field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Selección,0
 field,"analytic_account.account,balance",0,Balance,Balance,0
-field,"analytic_account.account,childs",0,Childs,Hij at s,0
+field,"analytic_account.account,childs",0,Children,Hijos,0
 field,"analytic_account.account,code",0,Code,Código,0
-field,"analytic_account.account,company",0,Company,Compañía,0
-field,"analytic_account.account,complete_name",0,Name,Nombre,0
-field,"analytic_account.account,credit",0,Credit,Crédito,0
-field,"analytic_account.account,currency",0,Currency,Moneda,0
-field,"analytic_account.account,currency_digits",0,Currency Digits,Dígitos de Moneda,0
-field,"analytic_account.account,debit",0,Debit,Débito,0
-field,"analytic_account.account,display_balance",0,Display Balance,Mostrar Balance,0
+field,"analytic_account.account,company",0,Company,Empresa,0
+field,"analytic_account.account,credit",0,Credit,Haber,0
+field,"analytic_account.account,currency",0,Currency,Divisa,0
+field,"analytic_account.account,currency_digits",0,Currency Digits,Dígitos de la divisa,0
+field,"analytic_account.account,debit",0,Debit,Debe,0
+field,"analytic_account.account,display_balance",0,Display Balance,Mostrar balance,0
 field,"analytic_account.account,mandatory",0,Mandatory,Obligatorio,0
 field,"analytic_account.account,name",0,Name,Nombre,0
 field,"analytic_account.account,note",0,Note,Nota,0
-field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Fecha Final,0
-field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Fecha Inicial,0
+field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Fecha fin,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Fecha inicio,0
 field,"analytic_account.account,parent",0,Parent,Padre,0
+field,"analytic_account.account,rec_name",0,Name,Nombre,0
 field,"analytic_account.account,root",0,Root,Raíz,0
 field,"analytic_account.account.selection,accounts",0,Accounts,Cuentas,0
+field,"analytic_account.account.selection,rec_name",0,Name,Nombre,0
 field,"analytic_account.account,state",0,State,Estado,0
 field,"analytic_account.account,type",0,Type,Tipo,0
 field,"analytic_account.line,account",0,Account,Cuenta,0
 field,"analytic_account.line,active",0,Active,Activo,0
-field,"analytic_account.line,credit",0,Credit,Crédito,0
-field,"analytic_account.line,currency",0,Currency,Moneda,0
+field,"analytic_account.line,credit",0,Credit,Haber,0
+field,"analytic_account.line,currency",0,Currency,Divisa,0
 field,"analytic_account.line,date",0,Date,Fecha,0
-field,"analytic_account.line,debit",0,Debit,Débito,0
+field,"analytic_account.line,debit",0,Debit,Debe,0
 field,"analytic_account.line,journal",0,Journal,Diario,0
-field,"analytic_account.line,move_line",0,Account Move Line,Movimiento de Línea de Cuenta,0
+field,"analytic_account.line,move_line",0,Account Move Line,Linea de asiento de cuenta,0
 field,"analytic_account.line,name",0,Name,Nombre,0
 field,"analytic_account.line,party",0,Party,Tercero,0
+field,"analytic_account.line,rec_name",0,Name,Nombre,0
 field,"analytic_account.line,reference",0,Reference,Referencia,0
-model,"ir.action,name",act_account_form,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.action,name",act_account_tree,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.action,name",act_account_tree2,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.action,name",act_line_form,Analytic Lines,Líneas Analíticas,0
-model,"ir.action,name",act_open_account,Open Account,Abrir Cuenta,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
-model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Cuenta Analítica,0
-model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Cuentas Analíticas,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
-selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédito - Débito,0
-selection,"analytic_account.account,display_balance",0,Debit - Credit,Débito - Crédito,0
+model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Cuenta analítica - Selección de cuenta analítica,0
+model,"analytic_account.account,name",0,Analytic Account,Cuenta analítica,0
+model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Abrir inicio de plan de cuentas,0
+model,"analytic_account.account.selection,name",0,Analytic Account Selection,Selección de cuenta analítica,0
+model,"analytic_account.line,name",0,Analytic Line,Línea analítica,0
+model,"ir.action,name",act_account_form,Analytic Accounts,Cuentas analíticas,0
+model,"ir.action,name",act_account_tree,Analytic Accounts,Cuentas analíticas,0
+model,"ir.action,name",act_account_tree2,Analytic Accounts,Cuentas analíticas,0
+model,"ir.action,name",act_line_form,Analytic Lines,Líneas analíticas,0
+model,"ir.action,name",act_open_account,Open Account,Abrir cuenta,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Abrir plan de cuentas analítico,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Cuenta analítica,0
+model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Cuentas analíticas,0
+model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Cuentas analíticas,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Abrir plan de cuentas analítico,0
+model,"res.group,name",group_analytic_admin,Analytic Administration,Administración analítica,0
+selection,"analytic_account.account,display_balance",0,Credit - Debit,Haber - Debe,0
+selection,"analytic_account.account,display_balance",0,Debit - Credit,Debe - Haber,0
 selection,"analytic_account.account,state",0,Closed,Cerrado,0
 selection,"analytic_account.account,state",0,Draft,Borrador,0
 selection,"analytic_account.account,state",0,Opened,Abierto,0
@@ -56,13 +68,13 @@ selection,"analytic_account.account,type",0,Normal,Normal,0
 selection,"analytic_account.account,type",0,Root,Raíz,0
 selection,"analytic_account.account,type",0,View,Vista,0
 view,account.move.line,0,Analytic,Analítica,0
-view,analytic_account.account,0,Analytic Account,Cuenta Analítica,0
-view,analytic_account.account,0,Analytic Accounts,Cuentas Analíticas,0
-view,analytic_account.account,0,General Information,Información General,0
+view,analytic_account.account,0,Analytic Account,Cuenta analítica,0
+view,analytic_account.account,0,Analytic Accounts,Cuentas analíticas,0
+view,analytic_account.account,0,General Information,Información general,0
 view,analytic_account.account,0,Notes,Notas,0
-view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
-view,analytic_account.line,0,Analytic Line,Línea Analítica,0
-view,analytic_account.line,0,Analytic Lines,Líneas Analíticas,0
-view,analytic_account.line,0,General Information,Información General,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Abrir plan de cuentas analítico,0
+view,analytic_account.line,0,Analytic Line,Línea analítica,0
+view,analytic_account.line,0,Analytic Lines,Líneas analíticas,0
+view,analytic_account.line,0,General Information,Información general,0
 wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Cancelar,0
 wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Abrir,0
diff --git a/fr_FR.csv b/fr_FR.csv
index 6e64243..f5d1075 100644
--- a/fr_FR.csv
+++ b/fr_FR.csv
@@ -3,15 +3,17 @@ error,analytic_account.account,0,You can not create recursive accounts!,Vous ne
 error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Vous ne pouvez pas avoir plusieurs comptes avec la même racine ou un compte avec une racine obligatoire!,0
 error,analytic_account.line,0,Wrong credit/debit values!,Valeurs crédit/débit incorrectes,0
 error,analytic_account.line,0,"You can not create move line
-on view/inactive account!","Vous ne pouvez pas créer des mouvements
-sur des compte inactifs ou de type vue!",0
+on view/inactive account!","Vous ne pouvez pas créer de mouvements
+sur des comptes inactifs ou de type vue!",0
 field,"account.move.line,analytic_lines",0,Analytic Lines,Lignes analytiques,0
 field,"analytic_account.account,active",0,Active,Actif,0
+field,"analytic_account.account-analytic_account.account.selection,account",0,Account,Compte,0
+field,"analytic_account.account-analytic_account.account.selection,rec_name",0,Name,Nom,0
+field,"analytic_account.account-analytic_account.account.selection,selection",0,Selection,Sélection,0
 field,"analytic_account.account,balance",0,Balance,Balance,0
-field,"analytic_account.account,childs",0,Childs,Enfants,0
+field,"analytic_account.account,childs",0,Children,Enfants,0
 field,"analytic_account.account,code",0,Code,Code,0
-field,"analytic_account.account,company",0,Company,Companie,0
-field,"analytic_account.account,complete_name",0,Name,Nom,0
+field,"analytic_account.account,company",0,Company,Compagnie,0
 field,"analytic_account.account,credit",0,Credit,Crédit,0
 field,"analytic_account.account,currency",0,Currency,Devise,0
 field,"analytic_account.account,currency_digits",0,Currency Digits,Décimales de la devise,0
@@ -23,12 +25,14 @@ field,"analytic_account.account,note",0,Note,Note,0
 field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Date de fin,0
 field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Date de début,0
 field,"analytic_account.account,parent",0,Parent,Parent,0
+field,"analytic_account.account,rec_name",0,Name,Nom,0
 field,"analytic_account.account,root",0,Root,Racine,0
 field,"analytic_account.account.selection,accounts",0,Accounts,Comptes,0
+field,"analytic_account.account.selection,rec_name",0,Name,Nom,0
 field,"analytic_account.account,state",0,State,État,0
 field,"analytic_account.account,type",0,Type,Type,0
 field,"analytic_account.line,account",0,Account,Compte,0
-field,"analytic_account.line,active",0,Active,actif,0
+field,"analytic_account.line,active",0,Active,Actif,0
 field,"analytic_account.line,credit",0,Credit,Crédit,0
 field,"analytic_account.line,currency",0,Currency,Devise,0
 field,"analytic_account.line,date",0,Date,Date,0
@@ -37,17 +41,24 @@ field,"analytic_account.line,journal",0,Journal,Journal,0
 field,"analytic_account.line,move_line",0,Account Move Line,Ligne de mouvement comptable,0
 field,"analytic_account.line,name",0,Name,Nom,0
 field,"analytic_account.line,party",0,Party,Partenaire,0
+field,"analytic_account.line,rec_name",0,Name,Nom,0
 field,"analytic_account.line,reference",0,Reference,Référence,0
+model,"analytic_account.account-analytic_account.account.selection,name",0,Analytic Account - Analytic Account Selection,Compte analytique - Sélection compte analytique,0
+model,"analytic_account.account,name",0,Analytic Account,Compte analytique,0
+model,"analytic_account.account.open_chart_account.init,name",0,Open Chart Account Init,Ouvrir le plan comptable - Initialisation,0
+model,"analytic_account.account.selection,name",0,Analytic Account Selection,Sélection compte analytique,0
+model,"analytic_account.line,name",0,Analytic Line,Ligne analytique,0
 model,"ir.action,name",act_account_form,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_account_tree,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_account_tree2,Analytic Accounts,Comptes analytiques,0
 model,"ir.action,name",act_line_form,Analytic Lines,Lignes analytiques,0
 model,"ir.action,name",act_open_account,Open Account,Ouvrir le compte,0
-model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Account,Ouvrir le plan comptable analytique,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
 model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Compte analytique,0
 model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Comptes analytiques,0
 model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Comptes analytiques,0
-model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Account,Ouvrir le plan comptable analytique,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
+model,"res.group,name",group_analytic_admin,Analytic Administration,Administration analytique,0
 selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédit - Débit,0
 selection,"analytic_account.account,display_balance",0,Debit - Credit,Débit - Crédit,0
 selection,"analytic_account.account,state",0,Closed,Fermé,0
@@ -62,6 +73,7 @@ view,analytic_account.account,0,Analytic Accounts,Comptes analytiques,0
 view,analytic_account.account,0,General Information,Informations générales,0
 view,analytic_account.account,0,Notes,Notes,0
 view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Ouvrir le plan comptable analytique,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Accounts,Ouvrir le plan comptable analytique,0
 view,analytic_account.line,0,Analytic Line,Ligne analytique,0
 view,analytic_account.line,0,Analytic Lines,Lignes analytiques,0
 view,analytic_account.line,0,General Information,Informations générales,0
diff --git a/line.py b/line.py
index 668bf99..59d51aa 100644
--- a/line.py
+++ b/line.py
@@ -1,12 +1,12 @@
 #This file is part of Tryton.  The COPYRIGHT file at the top level
 #of this repository contains the full copyright notices and license terms.
 "Line"
-
-from trytond.osv import fields, OSV
+from trytond.model import ModelView, ModelSQL, fields
 from trytond.wizard import Wizard
+import mx.DateTime
 
 
-class Line(OSV):
+class Line(ModelSQL, ModelView):
     'Analytic Line'
     _name = 'analytic_account.line'
     _description = __doc__
@@ -50,8 +50,7 @@ class Line(OSV):
         if context.get('company'):
             company = company_obj.browse(cursor, user, context['company'],
                     context=context)
-            return currency_obj.name_get(cursor, user, company.currency.id,
-                    context=context)[0]
+            return company.currency.id
         return False
 
     def default_date(self, cursor, user, context=None):
@@ -69,11 +68,17 @@ class Line(OSV):
         if context is None:
             context = {}
 
-        res = obj + '.active '
+        res = obj + '.active'
         if context.get('start_date'):
-            res += 'AND ' + obj + '.date >= ' + str(context['start_date'])
+            # Check start_date
+            mx.DateTime.strptime(str(context['start_date']), '%Y-%m-%d')
+            res += ' AND ' + obj + '.date >= date(\'' + \
+                    str(context['start_date']) + '\')'
         if context.get('end_date'):
-            res += 'AND ' + obj + '.date <= ' + str(context['end_date'])
+            # Check end_date
+            mx.DateTime.strptime(str(context['end_date']), '%Y-%m-%d')
+            res += ' AND ' + obj + '.date <= date(\'' + \
+                    str(context['end_date']) + '\')'
         return res
 
     def check_account(self, cursor, user, ids):
@@ -87,7 +92,7 @@ class Line(OSV):
 Line()
 
 
-class MoveLine(OSV):
+class MoveLine(ModelSQL, ModelView):
     _name = 'account.move.line'
     analytic_lines = fields.One2Many('analytic_account.line', 'move_line',
             'Analytic Lines')
diff --git a/line.xml b/line.xml
index 18f7b3a..a8981fb 100644
--- a/line.xml
+++ b/line.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0"?>
-<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms. -->
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
 <tryton>
     <data>
         <record model="ir.ui.view" id="line_view_form">
@@ -13,7 +14,7 @@
                     <label name="active"/>
                     <field name="active" xexpand="0" width="100"/>
                     <notebook colspan="4">
-                        <page string="General Information">
+                        <page string="General Information" id="general">
                             <label name="account"/>
                             <field name="account"/>
                             <label name="date"/>
@@ -107,9 +108,9 @@
             <field name="arch" type="xml">
                 <![CDATA[
                 <data>
-                    <xpath expr="/form/notebook/page[@string="General Information"]"
+                    <xpath expr="/form/notebook/page[@id="general"]"
                         position="after">
-                        <page string="Analytic" col="1">
+                        <page string="Analytic" col="1" id="analytic">
                             <separator name="analytic_lines"/>
                             <field name="analytic_lines"/>
                         </page>
diff --git a/setup.py b/setup.py
index 0d1fb24..1643553 100644
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ import re
 
 info = eval(file('__tryton__.py').read())
 
-requires = []
+requires = ['egenix-mx-base']
 for dep in info.get('depends', []):
     match = re.compile(
             '(ir|res|workflow|webdav)((\s|$|<|>|<=|>=|==|!=).*?$)').match(dep)
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index 9839ba6..c4cde62 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 1.0.1
+Version: 1.2.0
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,7 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://downloads.tryton.org/1.0/
+Download-URL: http://downloads.tryton.org/1.2/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index a5c865c..026aaac 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -7,6 +7,7 @@ README
 account.xml
 analytic_account.xml
 de_DE.csv
+es_CO.csv
 es_ES.csv
 fr_FR.csv
 line.xml
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 94effe8..2057b75 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,6 +1,7 @@
+egenix-mx-base
 trytond_company
 trytond_currency
 trytond_account
 trytond_party
-trytond >= 1.0
-trytond < 1.1
\ No newline at end of file
+trytond >= 1.2
+trytond < 1.3
\ No newline at end of file
commit 5aa5af2f5115651e2158761fcb5770cd3f93a3de
Author: Daniel Baumann <daniel at debian.org>
Date:   Wed Jan 28 14:02:05 2009 +0100

    Adding upstream version 1.0.1.

diff --git a/CHANGELOG b/CHANGELOG
index eacaaef..9801fce 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,2 +1,5 @@
+Version 1.0.1 - 2008-12-01
+* Allow egg installation
+
 Version 1.0.0 - 2008-11-17
 * Initial release
diff --git a/PKG-INFO b/PKG-INFO
index 88c3df4..ab7fc01 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond_analytic_account
-Version: 1.0.0
+Version: 1.0.1
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,6 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
+Download-URL: http://downloads.tryton.org/1.0/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/__tryton__.py b/__tryton__.py
index 8804d31..e18061c 100644
--- a/__tryton__.py
+++ b/__tryton__.py
@@ -5,7 +5,7 @@
     'name_de_DE': 'Kostenstellen',
     'name_fr_FR': 'Comptabilité analytique',
     'name_es_ES': 'Contabilidad Analítica',
-    'version': '1.0.0',
+    'version': '1.0.1',
     'author': 'B2CK',
     'email': 'info at b2ck.com',
     'website': 'http://www.tryton.org/',
diff --git a/setup.py b/setup.py
index 0eee4a9..0d1fb24 100644
--- a/setup.py
+++ b/setup.py
@@ -27,6 +27,8 @@ setup(name='trytond_analytic_account',
     author=info.get('author', ''),
     author_email=info.get('email', ''),
     url=info.get('website', ''),
+    download_url="http://downloads.tryton.org/" + \
+            info.get('version', '0.0.1').rsplit('.', 1)[0] + '/',
     package_dir={'trytond.modules.analytic_account': '.'},
     packages=[
         'trytond.modules.analytic_account',
@@ -53,4 +55,9 @@ setup(name='trytond_analytic_account',
     ],
     license='GPL-3',
     install_requires=requires,
+    zip_safe=False,
+    entry_points="""
+    [trytond.modules]
+    analytic_account = trytond.modules.analytic_account
+    """,
 )
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index 418ec8f..9839ba6 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: trytond-analytic-account
-Version: 1.0.0
+Version: 1.0.1
 Summary: Financial and Accounting Module with:
     - Analytic accounting with any number of analytic charts
 
@@ -11,6 +11,7 @@ Home-page: http://www.tryton.org/
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
+Download-URL: http://downloads.tryton.org/1.0/
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index 39ccaa4..a5c865c 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -18,5 +18,7 @@ setup.py
 trytond_analytic_account.egg-info/PKG-INFO
 trytond_analytic_account.egg-info/SOURCES.txt
 trytond_analytic_account.egg-info/dependency_links.txt
+trytond_analytic_account.egg-info/entry_points.txt
+trytond_analytic_account.egg-info/not-zip-safe
 trytond_analytic_account.egg-info/requires.txt
 trytond_analytic_account.egg-info/top_level.txt
\ No newline at end of file
diff --git a/trytond_analytic_account.egg-info/entry_points.txt b/trytond_analytic_account.egg-info/entry_points.txt
new file mode 100644
index 0000000..2053961
--- /dev/null
+++ b/trytond_analytic_account.egg-info/entry_points.txt
@@ -0,0 +1,4 @@
+
+    [trytond.modules]
+    analytic_account = trytond.modules.analytic_account
+    
\ No newline at end of file
diff --git a/trytond_analytic_account.egg-info/not-zip-safe b/trytond_analytic_account.egg-info/not-zip-safe
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/trytond_analytic_account.egg-info/not-zip-safe
@@ -0,0 +1 @@
+
commit 59fecd7f60f5f81d46100f6722d2780068c91dd9
Author: Daniel Baumann <daniel at debian.org>
Date:   Tue Nov 18 13:05:53 2008 +0100

    Adding upstream version 1.0.0.

diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..eacaaef
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,2 @@
+Version 1.0.0 - 2008-11-17
+* Initial release
diff --git a/COPYRIGHT b/COPYRIGHT
new file mode 100644
index 0000000..37fef2d
--- /dev/null
+++ b/COPYRIGHT
@@ -0,0 +1,17 @@
+Copyright (C) 2004-2008 Tiny SPRL.
+Copyright (C) 2008 Cédric Krier.
+Copyright (C) 2008 Bertrand Chenal.
+Copyright (C) 2008 B2CK SPRL.
+
+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
+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.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..7b25fe0
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,33 @@
+Installing trytond_analytic_account
+==========================
+
+Prerequisites
+-------------
+
+ * Python 2.4 or later (http://www.python.org/)
+ * trytond 0.0.x (http://www.tryton.org/)
+ * trytond_company (http://www.tryton.org/)
+ * trytond_party (http://www.tryton.org/)
+ * trytond_currency (http://www.tryton.org/)
+ * trytond_account (http://www.tryton.org/)
+
+Installation
+------------
+
+Once you've downloaded and unpacked a trytond_analytic_account source release, enter the
+directory where the archive was unpacked, and run:
+
+    python setup.py install
+
+Note that you may need administrator/root privileges for this step, as
+this command will by default attempt to install module to the Python
+site-packages directory on your system.
+
+For advanced options, please refer to the easy_install and/or the distutils
+documentation:
+
+  http://peak.telecommunity.com/DevCenter/EasyInstall
+  http://docs.python.org/inst/inst.html
+
+To use without installation, extract the archive into ``trytond/modules`` with
+the directory name account_analytic.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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
+    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.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..5343ad8
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,9 @@
+include INSTALL
+include README
+include TODO
+include COPYRIGHT
+include CHANGELOG
+include LICENSE
+include *.xml
+include *.odt
+include *.csv
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..88c3df4
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,29 @@
+Metadata-Version: 1.0
+Name: trytond_analytic_account
+Version: 1.0.0
+Summary: Financial and Accounting Module with:
+    - Analytic accounting with any number of analytic charts
+
+And with report:
+    - Analytic account balance
+
+Home-page: http://www.tryton.org/
+Author: B2CK
+Author-email: info at b2ck.com
+License: GPL-3
+Description: UNKNOWN
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: Plugins
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: Financial and Insurance Industry
+Classifier: Intended Audience :: Legal Industry
+Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: Natural Language :: English
+Classifier: Natural Language :: French
+Classifier: Natural Language :: German
+Classifier: Natural Language :: Spanish
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Topic :: Office/Business
+Classifier: Topic :: Office/Business :: Financial :: Accounting
diff --git a/README b/README
new file mode 100644
index 0000000..0003e0b
--- /dev/null
+++ b/README
@@ -0,0 +1,36 @@
+trytond_analytic_account
+========================
+
+The analytic_account module of the Tryton application platform.
+See __tryton__.py
+
+Installing
+----------
+
+See INSTALL
+
+Support
+-------
+
+If you encounter any problems with Tryton, please don't hesitate to ask
+questions on the Tryton bug tracker, mailing list, wiki or IRC channel:
+
+  http://bugs.tryton.org/
+  http://groups.tryton.org/
+  http://wiki.tryton.org/
+  irc://irc.freenode.net/tryton
+
+License
+-------
+
+See LICENSE
+
+Copyright
+---------
+
+See COPYRIGHT
+
+
+For more information please visit the Tryton web site:
+
+  http://www.tryton.org/
diff --git a/__init__.py b/__init__.py
new file mode 100644
index 0000000..30c257c
--- /dev/null
+++ b/__init__.py
@@ -0,0 +1,4 @@
+#This file is part of Tryton.  The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms.
+
+from account import *
+from line import *
diff --git a/__tryton__.py b/__tryton__.py
new file mode 100644
index 0000000..8804d31
--- /dev/null
+++ b/__tryton__.py
@@ -0,0 +1,54 @@
+#This file is part of Tryton.  The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+{
+    'name': 'Analytic Account',
+    'name_de_DE': 'Kostenstellen',
+    'name_fr_FR': 'Comptabilité analytique',
+    'name_es_ES': 'Contabilidad Analítica',
+    'version': '1.0.0',
+    'author': 'B2CK',
+    'email': 'info at b2ck.com',
+    'website': 'http://www.tryton.org/',
+    'description': '''Financial and Accounting Module with:
+    - Analytic accounting with any number of analytic charts
+
+And with report:
+    - Analytic account balance
+''',
+    'description_de_DE': '''Modul für Buchhhaltung mit:
+    - Kostenstellen mit einer beliebigen Anzahl von Tabellen
+
+Zugehörige Berichte:
+    - Plan für Kostenstellen
+''',
+    'description_fr_FR': '''Module comptable et financier, avec:
+    - Comptabilité analytique autorisant un nombre arbitraire d'axes.
+
+Et le rapport:
+    - Balance comptable analytique
+''',
+    'description_es_ES': '''Módulo Financiero y de Contabilidad con:
+    - Contabilidad Analítica con cualquier cantidad de planes analíticos
+
+Y con reportes:
+    - Balance Contable Analítico
+''',
+    'depends': [
+        'ir',
+        'company',
+        'currency',
+        'account',
+        'party',
+        'res',
+    ],
+    'xml': [
+        'analytic_account.xml',
+        'account.xml',
+        'line.xml',
+    ],
+    'translation': [
+        'de_DE.csv',
+        'es_ES.csv',
+        'fr_FR.csv',
+    ],
+}
diff --git a/account.py b/account.py
new file mode 100644
index 0000000..8ebb791
--- /dev/null
+++ b/account.py
@@ -0,0 +1,403 @@
+#This file is part of Tryton.  The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms.
+"Account"
+
+from trytond.osv import fields, OSV
+from trytond.wizard import Wizard, WizardOSV
+from decimal import Decimal
+import copy
+
+
+class Account(OSV):
+    'Analytic Account'
+    _name = 'analytic_account.account'
+    _description = __doc__
+
+    name = fields.Char('Name', required=True, translate=True, select=1)
+    complete_name = fields.Function('get_complete_name', type='char',
+            string='Name')
+    code = fields.Char('Code', select=1)
+    active = fields.Boolean('Active', select=2)
+    company = fields.Many2One('company.company', 'Company')
+    currency = fields.Many2One('currency.currency', 'Currency', required=True)
+    currency_digits = fields.Function('get_currency_digits', type='integer',
+            string='Currency Digits', on_change_with=['currency'])
+    type = fields.Selection([
+        ('root', 'Root'),
+        ('view', 'View'),
+        ('normal', 'Normal'),
+        ], 'Type', required=True)
+    root = fields.Many2One('analytic_account.account', 'Root', select=2,
+            domain=[('parent', '=', False)],
+            states={
+                'invisible': "type == 'root'",
+                'required': "type != 'root'",
+            })
+    parent = fields.Many2One('analytic_account.account', 'Parent', select=2,
+            domain="[('parent', 'child_of', root)]",
+            states={
+                'invisible': "type == 'root'",
+                'required': "type != 'root'",
+            })
+    childs = fields.One2Many('analytic_account.account', 'parent', 'Childs')
+    balance = fields.Function('get_balance', digits="(16, currency_digits)",
+            string='Balance')
+    credit = fields.Function('get_credit_debit', digits="(16, currency_digits)",
+            string='Credit')
+    debit = fields.Function('get_credit_debit', digits="(16, currency_digits)",
+            string='Debit')
+    state = fields.Selection([
+        ('draft', 'Draft'),
+        ('opened', 'Opened'),
+        ('closed', 'Closed'),
+        ], 'State', required=True)
+    note = fields.Text('Note')
+    display_balance = fields.Selection([
+        ('debit-credit', 'Debit - Credit'),
+        ('credit-debit', 'Credit - Debit'),
+        ], 'Display Balance', required=True)
+    mandatory = fields.Boolean('Mandatory', states={
+        'invisible': "type != 'root'",
+        })
+
+    def __init__(self):
+        super(Account, self).__init__()
+        self._constraints += [
+            ('check_recursion', 'recursive_accounts'),
+        ]
+        self._error_messages.update({
+            'recursive_accounts': 'You can not create recursive accounts!',
+        })
+        self._order.insert(0, ('code', 'ASC'))
+
+    def default_active(self, cursor, user, context=None):
+        return True
+
+    def default_company(self, cursor, user, context=None):
+        company_obj = self.pool.get('company.company')
+        if context is None:
+            context = {}
+        if context.get('company'):
+            return company_obj.name_get(cursor, user, context['company'],
+                    context=context)[0]
+        return False
+
+    def default_currency(self, cursor, user, context=None):
+        company_obj = self.pool.get('company.company')
+        currency_obj = self.pool.get('currency.currency')
+        if context is None:
+            context = {}
+        if context.get('company'):
+            company = company_obj.browse(cursor, user, context['company'],
+                    context=context)
+            return currency_obj.name_get(cursor, user, company.currency.id,
+                    context=context)[0]
+        return False
+
+    def default_type(self, cursor, user, context=None):
+        return 'normal'
+
+    def default_state(self, cursor, user, context=None):
+        return 'draft'
+
+    def default_display_balance(self, cursor, user, context=None):
+        return 'credit-debit'
+
+    def default_mandatory(self, cursor, user, context=None):
+        return False
+
+    def on_change_with_currency_digits(self, cursor, user, ids, vals,
+            context=None):
+        currency_obj = self.pool.get('currency.currency')
+        if vals.get('currency'):
+            currency = currency_obj.browse(cursor, user, vals['currency'],
+                    context=context)
+            return currency.digits
+        return 2
+
+    def get_currency_digits(self, cursor, user, ids, name, arg, context=None):
+        res = {}
+        for account in self.browse(cursor, user, ids, context=context):
+            res[account.id] = account.currency.digits
+        return res
+
+    def get_complete_name(self, cursor, user, ids, name, arg, context=None):
+        res = self.name_get(cursor, user, ids, context=context)
+        return dict(res)
+
+    def get_balance(self, cursor, user, ids, name, arg, context=None):
+        res = {}
+        line_obj = self.pool.get('analytic_account.line')
+        currency_obj = self.pool.get('currency.currency')
+
+        child_ids = self.search(cursor, user, [('parent', 'child_of', ids)],
+                context=context)
+        all_ids = {}.fromkeys(ids + child_ids).keys()
+
+        id2account = {}
+        accounts = self.browse(cursor, user, all_ids, context=context)
+        for account in accounts:
+            id2account[account.id] = account
+
+        line_query = line_obj.query_get(cursor, user, context=context)
+        cursor.execute('SELECT a.id, ' \
+                    'SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))), ' \
+                    'l.currency ' \
+                'FROM analytic_account_account a ' \
+                    'LEFT JOIN analytic_account_line l ' \
+                    'ON (a.id = l.account) ' \
+                'WHERE a.type != \'view\' ' \
+                    'AND a.id IN (' + \
+                        ','.join(['%s' for x in all_ids]) + ') ' \
+                    'AND ' + line_query + ' ' \
+                    'AND a.active ' \
+                'GROUP BY a.id, l.currency', all_ids)
+        account_sum = {}
+        id2currency = {}
+        for account_id, sum, currency_id in cursor.fetchall():
+            account_sum.setdefault(account_id, Decimal('0.0'))
+            if currency_id != id2account[account_id].currency.id:
+                currency = None
+                if currency_id in id2currency:
+                    currency = id2currency[currency_id]
+                else:
+                    currency = currency_obj.browse(cursor, user, currency_id,
+                            context=context)
+                    id2currency[currency.id] = currency
+                account_sum[account_id] += currency_obj.compute(cursor, user,
+                        currency, sum, id2account[account_id].currency,
+                        round=True, context=context)
+            else:
+                account_sum[account_id] += currency_obj.round(cursor, user,
+                        id2account[account_id].currency, sum)
+
+        for account_id in ids:
+            res.setdefault(account_id, Decimal('0.0'))
+            child_ids = self.search(cursor, user, [
+                ('parent', 'child_of', [account_id]),
+                ], context=context)
+            to_currency = id2account[account_id].currency
+            for child_id in child_ids:
+                from_currency = id2account[child_id].currency
+                res[account_id] += currency_obj.compute(cursor, user,
+                        from_currency, account_sum.get(child_id, Decimal('0.0')),
+                        to_currency, round=True, context=context)
+            res[account_id] = currency_obj.round(cursor, user, to_currency,
+                    res[account_id])
+            if id2account[account_id].display_balance == 'credit-debit':
+                res[account_id] = - res[account_id]
+        return res
+
+    def get_credit_debit(self, cursor, user, ids, name, arg, context=None):
+        res = {}
+        line_obj = self.pool.get('analytic_account.line')
+        currency_obj = self.pool.get('currency.currency')
+
+        if name not in ('credit', 'debit'):
+            raise Exception('Bad argument')
+
+        id2account = {}
+        accounts = self.browse(cursor, user, ids, context=context)
+        for account in accounts:
+            res[account.id] = Decimal('0.0')
+            id2account[account.id] = account
+
+        line_query = line_obj.query_get(cursor, user, context=context)
+        cursor.execute('SELECT a.id, ' \
+                    'SUM(COALESCE(l.' + name + ', 0)), ' \
+                    'l.currency ' \
+                'FROM analytic_account_account a ' \
+                    'LEFT JOIN analytic_account_line l ' \
+                    'ON (a.id = l.account) ' \
+                'WHERE a.type != \'view\' ' \
+                    'AND a.id IN (' + \
+                        ','.join(['%s' for x in ids]) + ') ' \
+                    'AND ' + line_query + ' ' \
+                    'AND a.active ' \
+                'GROUP BY a.id, l.currency', ids)
+
+        id2currency = {}
+        for account_id, sum, currency_id in cursor.fetchall():
+            if currency_id != id2account[account_id].currency.id:
+                currency = None
+                if currency_id in id2currency:
+                    currency = id2currency[currency_id]
+                else:
+                    currency = currency_obj.browse(cursor, user, currency_id,
+                            context=context)
+                    id2currency[currency.id] = currency
+                res[account_id] += currency_obj.compute(cursor, user,
+                        currency, sum, id2account[account_id].currency,
+                        round=True, context=context)
+            else:
+                res[account_id] += currency_obj.round(cursor, user,
+                        id2account[account_id].currency, sum)
+        return res
+
+    def name_search(self, cursor, user, name='', args=None, operator='ilike',
+            context=None, limit=None):
+        if name:
+            ids = self.search(cursor, user,
+                    [('code', 'like', name + '%')] + args,
+                    limit=limit, context=context)
+            if not ids:
+                ids = self.search(cursor, user,
+                        [(self._rec_name, operator, name)] + args,
+                        limit=limit, context=context)
+        else:
+            ids = self.search(cursor, user, args, limit=limit, context=context)
+        res = self.name_get(cursor, user, ids, context=context)
+        return res
+
+    def name_get(self, cursor, user, ids, context=None):
+        if not ids:
+            return []
+        if isinstance(ids, (int, long)):
+            ids = [ids]
+        return [(r['id'], r['code'] and r['code'] + ' - ' + unicode(r[self._rec_name]) \
+                or unicode(r[self._rec_name])) for r in self.read(cursor, user, ids,
+                    [self._rec_name, 'code'], context=context, load='_classic_write')]
+
+    def convert_view(self, cursor, user, tree, context=None):
+        res = tree.xpath('//field[@name=\'analytic_accounts\']')
+        if not res:
+            return
+        element_accounts = res[0]
+
+        root_account_ids = self.search(cursor, user, [
+            ('parent', '=', False),
+            ], context=context)
+        if not root_account_ids:
+            element_accounts.getparent().getparent().remove(
+                    element_accounts.getparent())
+            return
+        for account_id in root_account_ids:
+            newelement = copy.copy(element_accounts)
+            newelement.tag = 'label'
+            newelement.set('name', 'analytic_account_' + str(account_id))
+            element_accounts.addprevious(newelement)
+            newelement = copy.copy(element_accounts)
+            newelement.set('name', 'analytic_account_' + str(account_id))
+            element_accounts.addprevious(newelement)
+        parent = element_accounts.getparent()
+        parent.remove(element_accounts)
+
+    def analytic_accounts_fields_get(self, cursor, user, field,
+            fields_names=None, context=None):
+        res = {}
+        if fields_names is None:
+            fields_names = []
+
+        root_account_ids = self.search(cursor, user, [
+            ('parent', '=', False),
+            ], context=context)
+        for account in self.browse(cursor, user, root_account_ids,
+                context=context):
+            name = 'analytic_account_' + str(account.id)
+            if name in fields_names or not fields_names:
+                res[name] = field.copy()
+                res[name]['required'] = account.mandatory
+                res[name]['string'] = account.name
+                res[name]['relation'] = self._name
+                res[name]['domain'] = [('root', '=', account.id),
+                        ('type', '=', 'normal')]
+        return res
+
+Account()
+
+
+class OpenChartAccountInit(WizardOSV):
+    _name = 'analytic_account.account.open_chart_account.init'
+    start_date = fields.Date('Start Date')
+    end_date = fields.Date('End Date')
+
+OpenChartAccountInit()
+
+
+class OpenChartAccount(Wizard):
+    'Open Chart Of Account'
+    _name = 'analytic_account.account.open_chart_account'
+    states = {
+        'init': {
+            'result': {
+                'type': 'form',
+                'object': 'analytic_account.account.open_chart_account.init',
+                'state': [
+                    ('end', 'Cancel', 'tryton-cancel'),
+                    ('open', 'Open', 'tryton-ok', True),
+                ],
+            },
+        },
+        'open': {
+            'result': {
+                'type': 'action',
+                'action': '_action_open_chart',
+                'state': 'end',
+            },
+        },
+    }
+
+    def _action_open_chart(self, cursor, user, data, context=None):
+        model_data_obj = self.pool.get('ir.model.data')
+        act_window_obj = self.pool.get('ir.action.act_window')
+
+        model_data_ids = model_data_obj.search(cursor, user, [
+            ('fs_id', '=', 'act_account_tree2'),
+            ('module', '=', 'analytic_account'),
+            ('inherit', '=', False),
+            ], limit=1, context=context)
+        model_data = model_data_obj.browse(cursor, user, model_data_ids[0],
+                context=context)
+        res = act_window_obj.read(cursor, user, model_data.db_id, context=context)
+        res['context'] = str({
+            'start_date': data['form']['start_date'],
+            'end_date': data['form']['end_date']
+            })
+        return res
+
+OpenChartAccount()
+
+
+class AccountSelection(OSV):
+    'Analytic Account Selection'
+    _name = 'analytic_account.account.selection'
+    _description = __doc__
+    _rec_name = 'id'
+
+    accounts = fields.Many2Many('analytic_account.account',
+            'analytic_account_account_selection_rel', 'selection', 'account',
+            'Accounts')
+
+    def __init__(self):
+        super(AccountSelection, self).__init__()
+        self._constraints += [
+            ('check_root', 'root_account'),
+        ]
+        self._error_messages.update({
+            'root_account': 'Can not have many accounts with the same root ' \
+                    'or a missing mandatory root account!',
+        })
+
+    def check_root(self, cursor, user, ids):
+        "Check Root"
+        account_obj = self.pool.get('analytic_account.account')
+
+        root_account_ids = account_obj.search(cursor, user, [
+            ('parent', '=', False),
+            ])
+        root_accounts = account_obj.browse(cursor, user, root_account_ids)
+
+        selections = self.browse(cursor, user, ids)
+        for selection in selections:
+            roots = []
+            for account in selection.accounts:
+                if account.root.id in roots:
+                    return False
+                roots.append(account.root.id)
+            if user: #Root can by pass
+                for account in root_accounts:
+                    if account.mandatory:
+                        if not account.id in roots:
+                            return False
+        return True
+
+AccountSelection()
diff --git a/account.xml b/account.xml
new file mode 100644
index 0000000..958aae4
--- /dev/null
+++ b/account.xml
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms. -->
+<tryton>
+    <data>
+        <menuitem name="Analytic Account" parent="account.menu_account_configuration"
+            id="menu_analytic_account_configuration"/>
+
+        <record model="ir.ui.view" id="account_view_form">
+            <field name="model">analytic_account.account</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <form string="Analytic Account" col="6">
+                    <label name="name"/>
+                    <field name="name"/>
+                    <label name="code"/>
+                    <field name="code"/>
+                    <label name="active"/>
+                    <field name="active" xexpand="0" width="100"/>
+                    <notebook colspan="6">
+                        <page string="General Information">
+                            <label name="type"/>
+                            <field name="type"/>
+                            <label name="display_balance"/>
+                            <field name="display_balance"/>
+                            <label name="root"/>
+                            <field name="root"/>
+                            <label name="parent"/>
+                            <field name="parent"/>
+                            <label name="company"/>
+                            <field name="company"/>
+                            <label name="currency"/>
+                            <field name="currency"/>
+                            <label name="mandatory"/>
+                            <field name="mandatory"/>
+                        </page>
+                        <page string="Notes">
+                            <field name="note"/>
+                        </page>
+                    </notebook>
+                    <group colspan="6" col="2">
+                        <label name="state"/>
+                        <field name="state"/>
+                    </group>
+                </form>
+                ]]>
+            </field>
+        </record>
+        <record model="ir.ui.view" id="account_view_tree">
+            <field name="model">analytic_account.account</field>
+            <field name="type">tree</field>
+            <field name="field_childs">childs</field>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <tree string="Analytic Accounts">
+                    <field name="complete_name"/>
+                    <field name="company" select="2"/>
+                    <field name="type" select="2"/>
+                    <field name="active" select="2" tree_invisible="1"/>
+                    <field name="name" select="1" tree_invisible="1"/>
+                    <field name="code" select="1" tree_invisible="1"/>
+                </tree>
+                ]]>
+            </field>
+        </record>
+        <record model="ir.action.act_window" id="act_account_form">
+            <field name="name">Analytic Accounts</field>
+            <field name="res_model">analytic_account.account</field>
+            <field name="view_type">form</field>
+        </record>
+        <record model="ir.action.act_window.view" id="act_account_form_view1">
+            <field name="sequence" eval="10"/>
+            <field name="view" ref="account_view_tree"/>
+            <field name="act_window" ref="act_account_form"/>
+        </record>
+        <record model="ir.action.act_window.view" id="act_account_form_view2">
+            <field name="sequence" eval="20"/>
+            <field name="view" ref="account_view_form"/>
+            <field name="act_window" ref="act_account_form"/>
+        </record>
+        <menuitem parent="menu_analytic_account_configuration"
+            action="act_account_form" id="menu_account_form"/>
+        <record model="ir.action.act_window" id="act_account_tree">
+            <field name="name">Analytic Accounts</field>
+            <field name="res_model">analytic_account.account</field>
+            <field name="view_type">tree</field>
+            <field name="domain">[('parent', '=', False)]</field>
+        </record>
+        <record model="ir.action.act_window.view" id="act_account_tree_view1">
+            <field name="sequence" eval="10"/>
+            <field name="view" ref="account_view_tree"/>
+            <field name="act_window" ref="act_account_tree"/>
+        </record>
+        <menuitem parent="menu_account_form"
+            action="act_account_tree" id="menu_account_tree"/>
+        <record model="ir.ui.view" id="account_view_tree2">
+            <field name="model">analytic_account.account</field>
+            <field name="type">tree</field>
+            <field name="field_childs">childs</field>
+            <field name="priority" eval="20"/>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <tree string="Analytic Accounts">
+                    <field name="name"/>
+                    <field name="code"/>
+                    <field name="debit"/>
+                    <field name="credit"/>
+                    <field name="balance"/>
+                    <field name="currency"/>
+                    <field name="currency_digits" tree_invisible="1"/>
+                </tree>
+                ]]>
+            </field>
+        </record>
+        <record model="ir.action.act_window" id="act_account_tree2">
+            <field name="name">Analytic Accounts</field>
+            <field name="res_model">analytic_account.account</field>
+            <field name="view_type">tree</field>
+            <field name="domain">[('parent', '=', False)]</field>
+        </record>
+        <record model="ir.action.act_window.view" id="act_account_tree2_view1">
+            <field name="sequence" eval="10"/>
+            <field name="view" ref="account_view_tree2"/>
+            <field name="act_window" ref="act_account_tree2"/>
+        </record>
+        <record model="ir.action.wizard" id="act_open_chart_account">
+            <field name="name">Open Chart of Analytic Account</field>
+            <field name="wiz_name">analytic_account.account.open_chart_account</field>
+        </record>
+        <menuitem parent="account.menu_charts" action="act_open_chart_account"
+            icon="tryton-tree" id="menu_open_chart_account"/>
+        <record model="ir.model.access" id="access_account">
+            <field name="model" search="[('model', '=', 'analytic_account.account')]"/>
+            <field name="perm_read" eval="True"/>
+            <field name="perm_write" eval="False"/>
+            <field name="perm_create" eval="False"/>
+            <field name="perm_delete" eval="False"/>
+        </record>
+        <record model="ir.model.access" id="access_account_account_admin">
+            <field name="model" search="[('model', '=', 'analytic_account.account')]"/>
+            <field name="group" ref="group_analytic_admin"/>
+            <field name="perm_read" eval="True"/>
+            <field name="perm_write" eval="True"/>
+            <field name="perm_create" eval="True"/>
+            <field name="perm_delete" eval="True"/>
+        </record>
+
+        <record model="ir.ui.view" id="open_chart_account_init_view_form">
+            <field name="model">analytic_account.account.open_chart_account.init</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <form string="Open Chart of Analytic Account" col="2">
+                    <label name="start_date"/>
+                    <field name="start_date"/>
+                    <label name="end_date"/>
+                    <field name="end_date"/>
+                </form>
+                ]]>
+            </field>
+        </record>
+    </data>
+</tryton>
diff --git a/analytic_account.xml b/analytic_account.xml
new file mode 100644
index 0000000..afd6b32
--- /dev/null
+++ b/analytic_account.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tryton>
+    <data>
+        <record model="res.group" id="group_analytic_admin">
+            <field name="name">Analytic Administration</field>
+        </record>
+        <record model="res.user" id="res.user_admin">
+            <field name="groups" eval="[('add', ref('group_analytic_admin'))]"/>
+        </record>
+    </data>
+</tryton>
diff --git a/de_DE.csv b/de_DE.csv
new file mode 100644
index 0000000..514a7a7
--- /dev/null
+++ b/de_DE.csv
@@ -0,0 +1,69 @@
+type,name,res_id,src,value,fuzzy
+error,analytic_account.account,0,You can not create recursive accounts!,Konten können nicht rekursiv angelegt werden!,0
+error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Es können nicht mehrere Konten mit dem selben Wurzelkonto oder einem fehlenden erforderlichen Wurzelkonto existieren!,0
+error,analytic_account.line,0,Wrong credit/debit values!,Falsche Haben/Soll-Werte!,0
+error,analytic_account.line,0,"You can not create move line
+on view/inactive account!",Posten kann nicht erstellt werden,0
+field,"account.move.line,analytic_lines",0,Analytic Lines,Buchungszeile,0
+field,"analytic_account.account,active",0,Active,Aktiv,0
+field,"analytic_account.account,balance",0,Balance,Bilanz,0
+field,"analytic_account.account,childs",0,Childs,Untergeordnet (Analytische Konten),0
+field,"analytic_account.account,code",0,Code,Code,0
+field,"analytic_account.account,company",0,Company,Unternehmen,0
+field,"analytic_account.account,complete_name",0,Name,Name,0
+field,"analytic_account.account,credit",0,Credit,Haben,0
+field,"analytic_account.account,currency",0,Currency,Währung,0
+field,"analytic_account.account,currency_digits",0,Currency Digits,Währung (signifikante Stellen),0
+field,"analytic_account.account,debit",0,Debit,Soll,0
+field,"analytic_account.account,display_balance",0,Display Balance,Ansicht Bilanz,0
+field,"analytic_account.account,mandatory",0,Mandatory,Erforderlich,0
+field,"analytic_account.account,name",0,Name,Name,0
+field,"analytic_account.account,note",0,Note,Bemerkung,0
+field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Enddatum,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Ab Datum,0
+field,"analytic_account.account,parent",0,Parent,Übergeordnet (Kostenstelle),0
+field,"analytic_account.account,root",0,Root,Wurzelkonto,0
+field,"analytic_account.account.selection,accounts",0,Accounts,Konten,0
+field,"analytic_account.account,state",0,State,Status,0
+field,"analytic_account.account,type",0,Type,Typ,0
+field,"analytic_account.line,account",0,Account,Konto,0
+field,"analytic_account.line,active",0,Active,Aktiv,0
+field,"analytic_account.line,credit",0,Credit,Haben,0
+field,"analytic_account.line,currency",0,Currency,Währung,0
+field,"analytic_account.line,date",0,Date,Datum,0
+field,"analytic_account.line,debit",0,Debit,Soll,0
+field,"analytic_account.line,journal",0,Journal,Journal,0
+field,"analytic_account.line,move_line",0,Account Move Line,Buchungszeile,0
+field,"analytic_account.line,name",0,Name,Name,0
+field,"analytic_account.line,party",0,Party,Partei,0
+field,"analytic_account.line,reference",0,Reference,Referenz,0
+model,"ir.action,name",act_account_form,Analytic Accounts,Kostenstellen,0
+model,"ir.action,name",act_account_tree,Analytic Accounts,Kostenstellen,0
+model,"ir.action,name",act_account_tree2,Analytic Accounts,Kostenstellen,0
+model,"ir.action,name",act_line_form,Analytic Lines,Buchungszeilen,0
+model,"ir.action,name",act_open_account,Open Account,Kostenstelle öffnen,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Account,Plan für Kostenstellen öffnen,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Kostenstellen,0
+model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Kostenstellen,0
+model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Kostenstellen,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Account,Plan für Kostenstellen öffnen,0
+model,"res.group,name",group_analytic_admin,Analytic Administration,Administration Kostenstellen,0
+selection,"analytic_account.account,display_balance",0,Credit - Debit,Haben - Soll,0
+selection,"analytic_account.account,display_balance",0,Debit - Credit,Soll - Haben,0
+selection,"analytic_account.account,state",0,Closed,Geschlossen,0
+selection,"analytic_account.account,state",0,Draft,Entwurf,0
+selection,"analytic_account.account,state",0,Opened,Geöffnet,0
+selection,"analytic_account.account,type",0,Normal,Normal,0
+selection,"analytic_account.account,type",0,Root,Wurzelkonto,0
+selection,"analytic_account.account,type",0,View,Sicht,0
+view,account.move.line,0,Analytic,Kostenstelle,0
+view,analytic_account.account,0,Analytic Account,Kostenstelle,0
+view,analytic_account.account,0,Analytic Accounts,Kostenstellen,0
+view,analytic_account.account,0,General Information,Allgemein,0
+view,analytic_account.account,0,Notes,Bemerkungen,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Plan für Kostenstellen öffnen,0
+view,analytic_account.line,0,Analytic Line,Buchungszeile,0
+view,analytic_account.line,0,Analytic Lines,Buchungszeilen,0
+view,analytic_account.line,0,General Information,Allgemein,0
+wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Abbrechen,0
+wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Öffnen,0
diff --git a/es_ES.csv b/es_ES.csv
new file mode 100644
index 0000000..22b024d
--- /dev/null
+++ b/es_ES.csv
@@ -0,0 +1,68 @@
+type,name,res_id,src,value,fuzzy
+error,analytic_account.account,0,You can not create recursive accounts!,No puede crear cuentas recursivas!,0
+error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,No se puede cancelar muchas cuentas con la misma cuenta base o una cuenta base obligatoria!,0
+error,analytic_account.line,0,Wrong credit/debit values!,Valores erróneos de crédito/debito!,0
+error,analytic_account.line,0,"You can not create move line
+on view/inactive account!",No puede crear líneas de movimientos,0
+field,"account.move.line,analytic_lines",0,Analytic Lines,Líneas Analíticas,0
+field,"analytic_account.account,active",0,Active,Activo,0
+field,"analytic_account.account,balance",0,Balance,Balance,0
+field,"analytic_account.account,childs",0,Childs,Hij at s,0
+field,"analytic_account.account,code",0,Code,Código,0
+field,"analytic_account.account,company",0,Company,Compañía,0
+field,"analytic_account.account,complete_name",0,Name,Nombre,0
+field,"analytic_account.account,credit",0,Credit,Crédito,0
+field,"analytic_account.account,currency",0,Currency,Moneda,0
+field,"analytic_account.account,currency_digits",0,Currency Digits,Dígitos de Moneda,0
+field,"analytic_account.account,debit",0,Debit,Débito,0
+field,"analytic_account.account,display_balance",0,Display Balance,Mostrar Balance,0
+field,"analytic_account.account,mandatory",0,Mandatory,Obligatorio,0
+field,"analytic_account.account,name",0,Name,Nombre,0
+field,"analytic_account.account,note",0,Note,Nota,0
+field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Fecha Final,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Fecha Inicial,0
+field,"analytic_account.account,parent",0,Parent,Padre,0
+field,"analytic_account.account,root",0,Root,Raíz,0
+field,"analytic_account.account.selection,accounts",0,Accounts,Cuentas,0
+field,"analytic_account.account,state",0,State,Estado,0
+field,"analytic_account.account,type",0,Type,Tipo,0
+field,"analytic_account.line,account",0,Account,Cuenta,0
+field,"analytic_account.line,active",0,Active,Activo,0
+field,"analytic_account.line,credit",0,Credit,Crédito,0
+field,"analytic_account.line,currency",0,Currency,Moneda,0
+field,"analytic_account.line,date",0,Date,Fecha,0
+field,"analytic_account.line,debit",0,Debit,Débito,0
+field,"analytic_account.line,journal",0,Journal,Diario,0
+field,"analytic_account.line,move_line",0,Account Move Line,Movimiento de Línea de Cuenta,0
+field,"analytic_account.line,name",0,Name,Nombre,0
+field,"analytic_account.line,party",0,Party,Tercero,0
+field,"analytic_account.line,reference",0,Reference,Referencia,0
+model,"ir.action,name",act_account_form,Analytic Accounts,Cuentas Analíticas,0
+model,"ir.action,name",act_account_tree,Analytic Accounts,Cuentas Analíticas,0
+model,"ir.action,name",act_account_tree2,Analytic Accounts,Cuentas Analíticas,0
+model,"ir.action,name",act_line_form,Analytic Lines,Líneas Analíticas,0
+model,"ir.action,name",act_open_account,Open Account,Abrir Cuenta,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Cuenta Analítica,0
+model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Cuentas Analíticas,0
+model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Cuentas Analíticas,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
+selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédito - Débito,0
+selection,"analytic_account.account,display_balance",0,Debit - Credit,Débito - Crédito,0
+selection,"analytic_account.account,state",0,Closed,Cerrado,0
+selection,"analytic_account.account,state",0,Draft,Borrador,0
+selection,"analytic_account.account,state",0,Opened,Abierto,0
+selection,"analytic_account.account,type",0,Normal,Normal,0
+selection,"analytic_account.account,type",0,Root,Raíz,0
+selection,"analytic_account.account,type",0,View,Vista,0
+view,account.move.line,0,Analytic,Analítica,0
+view,analytic_account.account,0,Analytic Account,Cuenta Analítica,0
+view,analytic_account.account,0,Analytic Accounts,Cuentas Analíticas,0
+view,analytic_account.account,0,General Information,Información General,0
+view,analytic_account.account,0,Notes,Notas,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Abrir Plan de Cuentas Analítico,0
+view,analytic_account.line,0,Analytic Line,Línea Analítica,0
+view,analytic_account.line,0,Analytic Lines,Líneas Analíticas,0
+view,analytic_account.line,0,General Information,Información General,0
+wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Cancelar,0
+wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Abrir,0
diff --git a/fr_FR.csv b/fr_FR.csv
new file mode 100644
index 0000000..6e64243
--- /dev/null
+++ b/fr_FR.csv
@@ -0,0 +1,69 @@
+type,name,res_id,src,value,fuzzy
+error,analytic_account.account,0,You can not create recursive accounts!,Vous ne pouvez pas créer des comptes récursifs!,0
+error,analytic_account.account.selection,0,Can not have many accounts with the same root or a missing mandatory root account!,Vous ne pouvez pas avoir plusieurs comptes avec la même racine ou un compte avec une racine obligatoire!,0
+error,analytic_account.line,0,Wrong credit/debit values!,Valeurs crédit/débit incorrectes,0
+error,analytic_account.line,0,"You can not create move line
+on view/inactive account!","Vous ne pouvez pas créer des mouvements
+sur des compte inactifs ou de type vue!",0
+field,"account.move.line,analytic_lines",0,Analytic Lines,Lignes analytiques,0
+field,"analytic_account.account,active",0,Active,Actif,0
+field,"analytic_account.account,balance",0,Balance,Balance,0
+field,"analytic_account.account,childs",0,Childs,Enfants,0
+field,"analytic_account.account,code",0,Code,Code,0
+field,"analytic_account.account,company",0,Company,Companie,0
+field,"analytic_account.account,complete_name",0,Name,Nom,0
+field,"analytic_account.account,credit",0,Credit,Crédit,0
+field,"analytic_account.account,currency",0,Currency,Devise,0
+field,"analytic_account.account,currency_digits",0,Currency Digits,Décimales de la devise,0
+field,"analytic_account.account,debit",0,Debit,Débit,0
+field,"analytic_account.account,display_balance",0,Display Balance,Balance affichée,0
+field,"analytic_account.account,mandatory",0,Mandatory,Obligatoire,0
+field,"analytic_account.account,name",0,Name,Nom,0
+field,"analytic_account.account,note",0,Note,Note,0
+field,"analytic_account.account.open_chart_account.init,end_date",0,End Date,Date de fin,0
+field,"analytic_account.account.open_chart_account.init,start_date",0,Start Date,Date de début,0
+field,"analytic_account.account,parent",0,Parent,Parent,0
+field,"analytic_account.account,root",0,Root,Racine,0
+field,"analytic_account.account.selection,accounts",0,Accounts,Comptes,0
+field,"analytic_account.account,state",0,State,État,0
+field,"analytic_account.account,type",0,Type,Type,0
+field,"analytic_account.line,account",0,Account,Compte,0
+field,"analytic_account.line,active",0,Active,actif,0
+field,"analytic_account.line,credit",0,Credit,Crédit,0
+field,"analytic_account.line,currency",0,Currency,Devise,0
+field,"analytic_account.line,date",0,Date,Date,0
+field,"analytic_account.line,debit",0,Debit,Débit,0
+field,"analytic_account.line,journal",0,Journal,Journal,0
+field,"analytic_account.line,move_line",0,Account Move Line,Ligne de mouvement comptable,0
+field,"analytic_account.line,name",0,Name,Nom,0
+field,"analytic_account.line,party",0,Party,Partenaire,0
+field,"analytic_account.line,reference",0,Reference,Référence,0
+model,"ir.action,name",act_account_form,Analytic Accounts,Comptes analytiques,0
+model,"ir.action,name",act_account_tree,Analytic Accounts,Comptes analytiques,0
+model,"ir.action,name",act_account_tree2,Analytic Accounts,Comptes analytiques,0
+model,"ir.action,name",act_line_form,Analytic Lines,Lignes analytiques,0
+model,"ir.action,name",act_open_account,Open Account,Ouvrir le compte,0
+model,"ir.action,name",act_open_chart_account,Open Chart of Analytic Account,Ouvrir le plan comptable analytique,0
+model,"ir.ui.menu,name",menu_analytic_account_configuration,Analytic Account,Compte analytique,0
+model,"ir.ui.menu,name",menu_account_form,Analytic Accounts,Comptes analytiques,0
+model,"ir.ui.menu,name",menu_account_tree,Analytic Accounts,Comptes analytiques,0
+model,"ir.ui.menu,name",menu_open_chart_account,Open Chart of Analytic Account,Ouvrir le plan comptable analytique,0
+selection,"analytic_account.account,display_balance",0,Credit - Debit,Crédit - Débit,0
+selection,"analytic_account.account,display_balance",0,Debit - Credit,Débit - Crédit,0
+selection,"analytic_account.account,state",0,Closed,Fermé,0
+selection,"analytic_account.account,state",0,Draft,Brouillon,0
+selection,"analytic_account.account,state",0,Opened,Ouvert,0
+selection,"analytic_account.account,type",0,Normal,Normal,0
+selection,"analytic_account.account,type",0,Root,Racine,0
+selection,"analytic_account.account,type",0,View,Vue,0
+view,account.move.line,0,Analytic,Analytique,0
+view,analytic_account.account,0,Analytic Account,Compte analytique,0
+view,analytic_account.account,0,Analytic Accounts,Comptes analytiques,0
+view,analytic_account.account,0,General Information,Informations générales,0
+view,analytic_account.account,0,Notes,Notes,0
+view,analytic_account.account.open_chart_account.init,0,Open Chart of Analytic Account,Ouvrir le plan comptable analytique,0
+view,analytic_account.line,0,Analytic Line,Ligne analytique,0
+view,analytic_account.line,0,Analytic Lines,Lignes analytiques,0
+view,analytic_account.line,0,General Information,Informations générales,0
+wizard_button,"analytic_account.account.open_chart_account,init,end",0,Cancel,Annuler,0
+wizard_button,"analytic_account.account.open_chart_account,init,open",0,Open,Ouvrir,0
diff --git a/line.py b/line.py
new file mode 100644
index 0000000..668bf99
--- /dev/null
+++ b/line.py
@@ -0,0 +1,137 @@
+#This file is part of Tryton.  The COPYRIGHT file at the top level
+#of this repository contains the full copyright notices and license terms.
+"Line"
+
+from trytond.osv import fields, OSV
+from trytond.wizard import Wizard
+
+
+class Line(OSV):
+    'Analytic Line'
+    _name = 'analytic_account.line'
+    _description = __doc__
+
+    name = fields.Char('Name', required=True)
+    debit = fields.Numeric('Debit', digits=(16, 2))
+    credit = fields.Numeric('Credit', digits=(16, 2))
+    currency = fields.Many2One('currency.currency', 'Currency', required=True)
+    account = fields.Many2One('analytic_account.account', 'Account',
+            required=True, select=1, domain=[('type', '!=', 'view')])
+    move_line = fields.Many2One('account.move.line', 'Account Move Line',
+            ondelete='CASCADE', required=True)
+    journal = fields.Many2One('account.journal', 'Journal', required=True,
+            select=1)
+    date = fields.Date('Date', required=True)
+    reference = fields.Char('Reference')
+    party = fields.Many2One('party.party', 'Party')
+    active = fields.Boolean('Active', select=2)
+
+    def __init__(self):
+        super(Line, self).__init__()
+        self._sql_constraints += [
+            ('credit_debit',
+                'CHECK((credit * debit = 0.0) AND (credit + debit >= 0.0))',
+                'Wrong credit/debit values!'),
+        ]
+        self._constraints += [
+            ('check_account', 'line_on_view_inactive_account'),
+        ]
+        self._error_messages.update({
+            'line_on_view_inactive_account': 'You can not create move line\n' \
+                    'on view/inactive account!',
+        })
+        self._order.insert(0, ('date', 'ASC'))
+
+    def default_currency(self, cursor, user, context=None):
+        company_obj = self.pool.get('company.company')
+        currency_obj = self.pool.get('currency.currency')
+        if context is None:
+            context = {}
+        if context.get('company'):
+            company = company_obj.browse(cursor, user, context['company'],
+                    context=context)
+            return currency_obj.name_get(cursor, user, company.currency.id,
+                    context=context)[0]
+        return False
+
+    def default_date(self, cursor, user, context=None):
+        date_obj = self.pool.get('ir.date')
+        return date_obj.today(cursor, user, context=context)
+
+    def default_active(self, cursor, user, context=None):
+        return True
+
+    def query_get(self, cursor, user, obj='l', context=None):
+        '''
+        Return SQL clause for analytic line depending of the context.
+        obj is the SQL alias of the analytic_account_line in the query.
+        '''
+        if context is None:
+            context = {}
+
+        res = obj + '.active '
+        if context.get('start_date'):
+            res += 'AND ' + obj + '.date >= ' + str(context['start_date'])
+        if context.get('end_date'):
+            res += 'AND ' + obj + '.date <= ' + str(context['end_date'])
+        return res
+
+    def check_account(self, cursor, user, ids):
+        for line in self.browse(cursor, user, ids):
+            if line.account.type == 'view':
+                return False
+            if not line.account.active:
+                return False
+        return True
+
+Line()
+
+
+class MoveLine(OSV):
+    _name = 'account.move.line'
+    analytic_lines = fields.One2Many('analytic_account.line', 'move_line',
+            'Analytic Lines')
+
+MoveLine()
+
+
+class OpenAccount(Wizard):
+    'Open Account'
+    _name = 'analytic_account.line.open_account'
+    states = {
+        'init': {
+            'result': {
+                'type': 'action',
+                'action': '_action_open_account',
+                'state': 'end',
+            },
+        },
+    }
+
+    def _action_open_account(self, cursor, user, data, context=None):
+        model_data_obj = self.pool.get('ir.model.data')
+        act_window_obj = self.pool.get('ir.action.act_window')
+
+        if context is None:
+            context = {}
+
+        model_data_ids = model_data_obj.search(cursor, user, [
+            ('fs_id', '=', 'act_line_form'),
+            ('module', '=', 'analytic_account'),
+            ('inherit', '=', False),
+            ], limit=1, context=context)
+        model_data = model_data_obj.browse(cursor, user, model_data_ids[0],
+                context=context)
+        res = act_window_obj.read(cursor, user, model_data.db_id, context=context)
+        res['domain'] = [
+            ('account', '=', data['id']),
+        ]
+
+        if context.get('start_date'):
+            res['domain'].append(('date', '>=', context['start_date']))
+        if context.get('end_date'):
+            res['domain'].append(('date', '<=', context['end_date']))
+        res['domain'] = str(res['domain'])
+        return res
+
+OpenAccount()
diff --git a/line.xml b/line.xml
new file mode 100644
index 0000000..18f7b3a
--- /dev/null
+++ b/line.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms. -->
+<tryton>
+    <data>
+        <record model="ir.ui.view" id="line_view_form">
+            <field name="model">analytic_account.line</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <form string="Analytic Line">
+                    <label name="name"/>
+                    <field name="name"/>
+                    <label name="active"/>
+                    <field name="active" xexpand="0" width="100"/>
+                    <notebook colspan="4">
+                        <page string="General Information">
+                            <label name="account"/>
+                            <field name="account"/>
+                            <label name="date"/>
+                            <field name="date"/>
+                            <label name="reference"/>
+                            <field name="reference"/>
+                            <label name="party"/>
+                            <field name="party"/>
+                            <label name="journal"/>
+                            <field name="journal"/>
+                            <label name="move_line"/>
+                            <field name="move_line"/>
+                            <label name="debit"/>
+                            <field name="debit"/>
+                            <label name="credit"/>
+                            <field name="credit"/>
+                            <label name="currency"/>
+                            <field name="currency"/>
+                        </page>
+                    </notebook>
+                </form>
+                ]]>
+            </field>
+        </record>
+        <record model="ir.ui.view" id="line_view_tree">
+            <field name="model">analytic_account.line</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <tree string="Analytic Lines" editable="top">
+                    <field name="move_line" select="1"/>
+                    <field name="journal" select="2"/>
+                    <field name="name" select="1"/>
+                    <field name="reference" select="2"/>
+                    <field name="date" select="1"/>
+                    <field name="party" select="2"/>
+                    <field name="account" select="2"/>
+                    <field name="debit" select="2"/>
+                    <field name="credit" select="2"/>
+                    <field name="currency" select="2"/>
+                </tree>
+                ]]>
+            </field>
+        </record>
+        <record model="ir.action.act_window" id="act_line_form">
+            <field name="name">Analytic Lines</field>
+            <field name="res_model">analytic_account.line</field>
+            <field name="view_type">form</field>
+        </record>
+        <record model="ir.action.act_window.view" id="act_line_form_view1">
+            <field name="sequence" eval="10"/>
+            <field name="view" ref="line_view_tree"/>
+            <field name="act_window" ref="act_line_form"/>
+        </record>
+        <record model="ir.action.act_window.view" id="act_line_form_view2">
+            <field name="sequence" eval="20"/>
+            <field name="view" ref="line_view_form"/>
+            <field name="act_window" ref="act_line_form"/>
+        </record>
+
+        <record model="ir.model.access" id="access_line">
+            <field name="model" search="[('model', '=', 'analytic_account.line')]"/>
+            <field name="perm_read" eval="False"/>
+            <field name="perm_write" eval="False"/>
+            <field name="perm_create" eval="False"/>
+            <field name="perm_delete" eval="False"/>
+        </record>
+        <record model="ir.model.access" id="access_line_account">
+            <field name="model" search="[('model', '=', 'analytic_account.line')]"/>
+            <field name="group" ref="account.group_account"/>
+            <field name="perm_read" eval="True"/>
+            <field name="perm_write" eval="True"/>
+            <field name="perm_create" eval="True"/>
+            <field name="perm_delete" eval="True"/>
+        </record>
+
+        <record model="ir.action.wizard" id="act_open_account">
+            <field name="name">Open Account</field>
+            <field name="wiz_name">analytic_account.line.open_account</field>
+            <field name="model">analytic_account.account</field>
+        </record>
+        <record model="ir.action.keyword" id="act_open_account_keyword">
+            <field name="keyword">tree_open</field>
+            <field name="model">analytic_account.account,0</field>
+            <field name="action" ref="act_open_account"/>
+        </record>
+
+        <record model="ir.ui.view" id="move_line_view_form">
+            <field name="model">account.move.line</field>
+            <field name="inherit" ref="account.move_line_view_form"/>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <data>
+                    <xpath expr="/form/notebook/page[@string="General Information"]"
+                        position="after">
+                        <page string="Analytic" col="1">
+                            <separator name="analytic_lines"/>
+                            <field name="analytic_lines"/>
+                        </page>
+                    </xpath>
+                </data>
+                ]]>
+            </field>
+        </record>
+
+    </data>
+</tryton>
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..861a9f5
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,5 @@
+[egg_info]
+tag_build = 
+tag_date = 0
+tag_svn_revision = 0
+
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..0eee4a9
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+#This file is part of Tryton.  The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+
+from setuptools import setup, find_packages
+import re
+
+info = eval(file('__tryton__.py').read())
+
+requires = []
+for dep in info.get('depends', []):
+    match = re.compile(
+            '(ir|res|workflow|webdav)((\s|$|<|>|<=|>=|==|!=).*?$)').match(dep)
+    if match:
+        continue
+    else:
+        dep = 'trytond_' + dep
+    requires.append(dep)
+
+major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
+requires.append('trytond >= %s.%s' % (major_version, minor_version))
+requires.append('trytond < %s.%s' % (major_version, str(int(minor_version) + 1)))
+
+setup(name='trytond_analytic_account',
+    version=info.get('version', '0.0.1'),
+    description=info.get('description', ''),
+    author=info.get('author', ''),
+    author_email=info.get('email', ''),
+    url=info.get('website', ''),
+    package_dir={'trytond.modules.analytic_account': '.'},
+    packages=[
+        'trytond.modules.analytic_account',
+    ],
+    package_data={
+        'trytond.modules.analytic_account': info.get('xml', []) \
+                + info.get('translation', []),
+    },
+    classifiers=[
+        'Development Status :: 5 - Production/Stable',
+        'Environment :: Plugins',
+        'Intended Audience :: Developers',
+        'Intended Audience :: Financial and Insurance Industry',
+        'Intended Audience :: Legal Industry',
+        'License :: OSI Approved :: GNU General Public License (GPL)',
+        'Natural Language :: English',
+        'Natural Language :: French',
+        'Natural Language :: German',
+        'Natural Language :: Spanish',
+        'Operating System :: OS Independent',
+        'Programming Language :: Python',
+        'Topic :: Office/Business',
+        'Topic :: Office/Business :: Financial :: Accounting',
+    ],
+    license='GPL-3',
+    install_requires=requires,
+)
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
new file mode 100644
index 0000000..418ec8f
--- /dev/null
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -0,0 +1,29 @@
+Metadata-Version: 1.0
+Name: trytond-analytic-account
+Version: 1.0.0
+Summary: Financial and Accounting Module with:
+    - Analytic accounting with any number of analytic charts
+
+And with report:
+    - Analytic account balance
+
+Home-page: http://www.tryton.org/
+Author: B2CK
+Author-email: info at b2ck.com
+License: GPL-3
+Description: UNKNOWN
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: Plugins
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: Financial and Insurance Industry
+Classifier: Intended Audience :: Legal Industry
+Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: Natural Language :: English
+Classifier: Natural Language :: French
+Classifier: Natural Language :: German
+Classifier: Natural Language :: Spanish
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Topic :: Office/Business
+Classifier: Topic :: Office/Business :: Financial :: Accounting
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
new file mode 100644
index 0000000..39ccaa4
--- /dev/null
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -0,0 +1,22 @@
+CHANGELOG
+COPYRIGHT
+INSTALL
+LICENSE
+MANIFEST.in
+README
+account.xml
+analytic_account.xml
+de_DE.csv
+es_ES.csv
+fr_FR.csv
+line.xml
+setup.py
+./__init__.py
+./__tryton__.py
+./account.py
+./line.py
+trytond_analytic_account.egg-info/PKG-INFO
+trytond_analytic_account.egg-info/SOURCES.txt
+trytond_analytic_account.egg-info/dependency_links.txt
+trytond_analytic_account.egg-info/requires.txt
+trytond_analytic_account.egg-info/top_level.txt
\ No newline at end of file
diff --git a/trytond_analytic_account.egg-info/dependency_links.txt b/trytond_analytic_account.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/trytond_analytic_account.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
new file mode 100644
index 0000000..94effe8
--- /dev/null
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -0,0 +1,6 @@
+trytond_company
+trytond_currency
+trytond_account
+trytond_party
+trytond >= 1.0
+trytond < 1.1
\ No newline at end of file
diff --git a/trytond_analytic_account.egg-info/top_level.txt b/trytond_analytic_account.egg-info/top_level.txt
new file mode 100644
index 0000000..93df119
--- /dev/null
+++ b/trytond_analytic_account.egg-info/top_level.txt
@@ -0,0 +1 @@
+trytond
-- 
tryton-modules-analytic-account



More information about the tryton-debian-vcs mailing list