[tryton-debian-vcs] tryton-modules-account branch debian updated. debian/3.0.3-1-2-gf272c8e

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Tue Apr 22 13:04:27 UTC 2014


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-account.git;a=commitdiff;h=debian/3.0.3-1-2-gf272c8e

commit f272c8e5c04d26b45d61d5f16abb7c7a6f093b5e
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Apr 22 14:59:28 2014 +0200

    Bumping minimal required Python version to 2.7.

diff --git a/debian/control b/debian/control
index 1306f77..d163cb2 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,7 @@ Standards-Version: 3.9.5
 Homepage: http://www.tryton.org/
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=tryton/tryton-modules-account.git
 Vcs-Git: git://anonscm.debian.org/tryton/tryton-modules-account.git
-X-Python-Version: >= 2.6
+X-Python-Version: >= 2.7
 
 Package: tryton-modules-account
 Architecture: all
commit d5d00beeffa261cd871caeef781687b14a73a5a7
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Apr 22 14:20:27 2014 +0200

    Merging upstream version 3.2.0.

diff --git a/CHANGELOG b/CHANGELOG
index 73c1744..0b59685 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,11 +1,9 @@
-Version 3.0.3 - 2014-04-07
-* Bug fixes (see mercurial logs for details)
-
-Version 3.0.2 - 2014-03-22
-* Bug fixes (see mercurial logs for details)
-
-Version 3.0.1 - 2013-12-04
+Version 3.2.0 - 2014-04-21
 * Bug fixes (see mercurial logs for details)
+* Add start/end date to tax
+* Use account of write-off journal as default
+* Add write-off journal type
+* Add description on write-off move
 
 Version 3.0.0 - 2013-10-21
 * Bug fixes (see mercurial logs for details)
diff --git a/INSTALL b/INSTALL
index 01a7294..e627dbf 100644
--- a/INSTALL
+++ b/INSTALL
@@ -4,7 +4,7 @@ Installing trytond_account
 Prerequisites
 -------------
 
- * Python 2.6 or later (http://www.python.org/)
+ * Python 2.7 or later (http://www.python.org/)
  * python-dateutil (http://labix.org/python-dateutil)
  * python-sql (http://code.google.com/p/python-sql/)
  * trytond (http://www.tryton.org/)
diff --git a/MANIFEST.in b/MANIFEST.in
index f040e5e..fb91042 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,6 +1,5 @@
 include INSTALL
 include README
-include TODO
 include COPYRIGHT
 include CHANGELOG
 include LICENSE
diff --git a/PKG-INFO b/PKG-INFO
index 19f6d0c..c1a276a 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_account
-Version: 3.0.3
+Version: 3.2.0
 Summary: Tryton module for accounting
 Home-page: http://www.tryton.org/
 Author: Tryton
-Author-email: UNKNOWN
+Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.0/
+Download-URL: http://downloads.tryton.org/3.2/
 Description: trytond_account
         ===============
         
@@ -43,6 +43,7 @@ Description: trytond_account
         
           http://www.tryton.org/
         
+Keywords: tryton account
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
@@ -62,7 +63,6 @@ Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-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/account.py b/account.py
index dfd35d1..11b39b9 100644
--- a/account.py
+++ b/account.py
@@ -404,12 +404,10 @@ class AccountTemplate(ModelSQL, ModelView):
 
     @classmethod
     def search_rec_name(cls, name, clause):
-        templates = cls.search([
-                ('code',) + tuple(clause[1:]),
-                ], limit=1)
-        if templates:
-            return [('code',) + tuple(clause[1:])]
-        return [(cls._rec_name,) + tuple(clause[1:])]
+        return ['OR',
+            ('code',) + tuple(clause[1:]),
+            (cls._rec_name,) + tuple(clause[1:]),
+            ]
 
     def _get_account_value(self, account=None):
         '''
@@ -513,7 +511,7 @@ class AccountTemplate(ModelSQL, ModelView):
             if self.taxes:
                 Account.write([Account(template2account[self.id])], {
                         'taxes': [
-                            ('add', template2tax[x.id]) for x in self.taxes],
+                            ('add', [template2tax[x.id] for x in self.taxes])],
                         })
             template_done.append(self.id)
 
@@ -674,6 +672,10 @@ class Account(ModelSQL, ModelView):
                 break
             balances[account_id] = Decimal(str(balance))
 
+        for account in accounts:
+            balances[account.id] = account.company.currency.round(
+                balances[account.id])
+
         fiscalyears = FiscalYear.browse(fiscalyear_ids)
         func = lambda accounts, names: \
             {names[0]: cls.get_balance(accounts, names[0])}
@@ -722,6 +724,10 @@ class Account(ModelSQL, ModelView):
                         result[name][account_id] = Decimal(str(row[i]))
                     else:
                         result[name][account_id] = row[i]
+        for account in accounts:
+            for name in names:
+                result[name][account.id] = account.company.currency.round(
+                    result[name][account.id])
 
         if not Transaction().context.get('cumulate'):
             return result
@@ -797,12 +803,10 @@ class Account(ModelSQL, ModelView):
 
     @classmethod
     def search_rec_name(cls, name, clause):
-        accounts = cls.search([
-                ('code',) + tuple(clause[1:]),
-                ], limit=1)
-        if accounts:
-            return [('code',) + tuple(clause[1:])]
-        return [(cls._rec_name,) + tuple(clause[1:])]
+        return ['OR',
+            ('code',) + tuple(clause[1:]),
+            (cls._rec_name,) + tuple(clause[1:]),
+            ]
 
     @classmethod
     def copy(cls, accounts, default=None):
@@ -817,18 +821,23 @@ class Account(ModelSQL, ModelView):
         return new_accounts
 
     @classmethod
-    def write(cls, accounts, vals):
-        if not vals.get('active', True):
-            MoveLine = Pool().get('account.move.line')
-            childs = cls.search([
-                    ('parent', 'child_of', [a.id for a in accounts]),
-                    ])
-            if MoveLine.search([
-                        ('account', 'in', [a.id for a in childs]),
-                        ]):
-                vals = vals.copy()
-                del vals['active']
-        super(Account, cls).write(accounts, vals)
+    def write(cls, *args):
+        pool = Pool()
+        MoveLine = pool.get('account.move.line')
+        actions = iter(args)
+        args = []
+        for accounts, values in zip(actions, actions):
+            if not values.get('active', True):
+                childs = cls.search([
+                        ('parent', 'child_of', [a.id for a in accounts]),
+                        ])
+                if MoveLine.search([
+                            ('account', 'in', [a.id for a in childs]),
+                            ]):
+                    values = values.copy()
+                    del values['active']
+            args.extend((accounts, values))
+        super(Account, cls).write(*args)
 
     @classmethod
     def delete(cls, accounts):
@@ -975,14 +984,13 @@ class AccountDeferral(ModelSQL, ModelView):
 
     @classmethod
     def search_rec_name(cls, name, clause):
-        deferrals = cls.search(['OR',
-                ('account.rec_name',) + tuple(clause[1:]),
-                ('fiscalyear.rec_name',) + tuple(clause[1:]),
-                ])
-        return [('id', 'in', [d.id for d in deferrals])]
+        return ['OR',
+            ('account.rec_name',) + tuple(clause[1:]),
+            ('fiscalyear.rec_name',) + tuple(clause[1:]),
+            ]
 
     @classmethod
-    def write(cls, deferrals, vals):
+    def write(cls, deferrals, values, *args):
         cls.raise_user_error('write_deferral')
 
 
@@ -1028,7 +1036,7 @@ class PrintGeneralLedgerStart(ModelView):
     'Print General Ledger'
     __name__ = 'account.print_general_ledger.start'
     fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
-            required=True, on_change=['fiscalyear'])
+        required=True)
     start_period = fields.Many2One('account.period', 'Start Period',
         domain=[
             ('fiscalyear', '=', Eval('fiscalyear')),
@@ -1063,6 +1071,7 @@ class PrintGeneralLedgerStart(ModelView):
     def default_empty_account():
         return False
 
+    @fields.depends('fiscalyear')
     def on_change_fiscalyear(self):
         return {
             'start_period': None,
@@ -1172,8 +1181,8 @@ class GeneralLedger(Report):
         if not data['empty_account']:
             account2lines = dict(cls.get_lines(accounts,
                     end_periods, data['posted']))
-            for account in (set(accounts) - set(account2lines)):
-                accounts.remove(account)
+            accounts = Account.browse([a.id for a in accounts
+                    if a in account2lines])
 
         account_id2lines = cls.lines(accounts,
             list(set(end_periods).difference(set(start_periods))),
@@ -1201,10 +1210,12 @@ class GeneralLedger(Report):
             clause.append(('move.state', '=', 'posted'))
         lines = MoveLine.search(clause,
             order=[
-                ('account', 'ASC'),
+                ('account', 'ASC'),  # TODO replace by account.id
                 ('date', 'ASC'),
                 ])
-        return groupby(lines, operator.attrgetter('account'))
+        key = operator.attrgetter('account')
+        lines.sort(key=key)
+        return groupby(lines, key)
 
     @classmethod
     def lines(cls, accounts, periods, posted):
@@ -1240,8 +1251,7 @@ class PrintTrialBalanceStart(ModelView):
     'Print Trial Balance'
     __name__ = 'account.print_trial_balance.start'
     fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
-            required=True, on_change=['fiscalyear'],
-            depends=['start_period', 'end_period'])
+        required=True)
     start_period = fields.Many2One('account.period', 'Start Period',
         domain=[
             ('fiscalyear', '=', Eval('fiscalyear')),
@@ -1277,6 +1287,7 @@ class PrintTrialBalanceStart(ModelView):
     def default_empty_account():
         return False
 
+    @fields.depends('fiscalyear')
     def on_change_fiscalyear(self):
         return {
             'start_period': None,
@@ -1380,17 +1391,17 @@ class TrialBalance(Report):
                 posted=data['posted']):
             end_accounts = Account.browse(accounts)
 
-        to_remove = []
+        to_remove = set()
         if not data['empty_account']:
             for account in in_accounts:
                 if account.debit == Decimal('0.0') \
                         and account.credit == Decimal('0.0'):
-                    to_remove.append(account.id)
+                    to_remove.add(account)
 
         accounts = []
         for start_account, in_account, end_account in izip(
                 start_accounts, in_accounts, end_accounts):
-            if in_account.id in to_remove:
+            if in_account in to_remove:
                 continue
             accounts.append({
                     'code': start_account.code,
@@ -1484,8 +1495,7 @@ class OpenIncomeStatementStart(ModelView):
     'Open Income Statement'
     __name__ = 'account.open_income_statement.start'
     fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
-            required=True, on_change=['fiscalyear'],
-            depends=['start_period', 'end_period'])
+        required=True)
     start_period = fields.Many2One('account.period', 'Start Period',
         domain=[
             ('fiscalyear', '=', Eval('fiscalyear')),
@@ -1515,11 +1525,12 @@ class OpenIncomeStatementStart(ModelView):
     def default_posted():
         return False
 
+    @fields.depends('fiscalyear')
     def on_change_fiscalyear(self):
         return {
             'start_period': None,
             'end_period': None,
-        }
+            }
 
 
 class OpenIncomeStatement(Wizard):
@@ -1576,10 +1587,7 @@ class CreateChartStart(ModelView):
 class CreateChartAccount(ModelView):
     'Create Chart'
     __name__ = 'account.create_chart.account'
-    company = fields.Many2One('company.company', 'Company', required=True,
-        domain=[
-            ('parent', 'child_of', [Eval('context', {}).get('company', 0)]),
-            ])
+    company = fields.Many2One('company.company', 'Company', required=True)
     account_template = fields.Many2One('account.account.template',
             'Account Template', required=True, domain=[('parent', '=', None)])
 
diff --git a/fiscalyear.py b/fiscalyear.py
index 3935ce6..5a96934 100644
--- a/fiscalyear.py
+++ b/fiscalyear.py
@@ -134,21 +134,24 @@ class FiscalYear(ModelSQL, ModelView):
                     })
 
     @classmethod
-    def write(cls, fiscalyears, vals):
-        if vals.get('post_move_sequence'):
-            for fiscalyear in fiscalyears:
-                if fiscalyear.post_move_sequence and \
-                        fiscalyear.post_move_sequence.id != \
-                        vals['post_move_sequence']:
-                    cls.raise_user_error('change_post_move_sequence', (
-                            fiscalyear.rec_name,))
-        vals = vals.copy()
-        if 'periods' in vals:
-            operator = ['delete', 'unlink_all', 'unlink', 'create', 'write',
-                    'add', 'set']
-            vals['periods'].sort(
-                lambda x, y: cmp(operator.index(x[0]), operator.index(y[0])))
-        super(FiscalYear, cls).write(fiscalyears, vals)
+    def write(cls, *args):
+        actions = iter(args)
+        args = []
+        for fiscalyears, values in zip(actions, actions):
+            if values.get('post_move_sequence'):
+                for fiscalyear in fiscalyears:
+                    if (fiscalyear.post_move_sequence
+                            and fiscalyear.post_move_sequence.id !=
+                            values['post_move_sequence']):
+                        cls.raise_user_error('change_post_move_sequence', (
+                                fiscalyear.rec_name,))
+            values = values.copy()
+            if 'periods' in values:
+                operator = ['delete', 'remove', 'create', 'write', 'add']
+                values['periods'].sort(lambda x, y:
+                    cmp(operator.index(x[0]), operator.index(y[0])))
+            args.extend((fiscalyears, values))
+        super(FiscalYear, cls).write(*args)
 
     @classmethod
     def delete(cls, fiscalyears):
@@ -308,6 +311,13 @@ class FiscalYear(ModelSQL, ModelView):
                 'state': 'open',
                 })
 
+    @classmethod
+    def search_rec_name(cls, name, clause):
+        return ['OR',
+            ('code',) + tuple(clause[1:]),
+            (cls._rec_name,) + tuple(clause[1:]),
+            ]
+
 
 class BalanceNonDeferralStart(ModelView):
     'Balance Non-Deferral'
diff --git a/journal.py b/journal.py
index cf27f3b..9b398ce 100644
--- a/journal.py
+++ b/journal.py
@@ -110,7 +110,7 @@ class Journal(ModelSQL, ModelView):
                 ('company', '=', Eval('context', {}).get('company', -1)),
                 ],
             states={
-                'required': ((Eval('type') == 'cash')
+                'required': ((Eval('type').in_(['cash', 'write-off']))
                     & (Eval('context', {}).get('company', -1) != -1)),
                 'invisible': ~Eval('context', {}).get('company', -1),
                 }, depends=['type']))
@@ -120,7 +120,7 @@ class Journal(ModelSQL, ModelView):
                 ('company', '=', Eval('context', {}).get('company', -1)),
                 ],
             states={
-                'required': ((Eval('type') == 'cash')
+                'required': ((Eval('type').in_(['cash', 'write-off']))
                     & (Eval('context', {}).get('company', -1) != -1)),
                 'invisible': ~Eval('context', {}).get('company', -1),
                 }, depends=['type']))
@@ -169,12 +169,10 @@ class Journal(ModelSQL, ModelView):
 
     @classmethod
     def search_rec_name(cls, name, clause):
-        journals = cls.search([
-                ('code',) + tuple(clause[1:]),
-                ], limit=1, order=[])
-        if journals:
-            return [('code',) + tuple(clause[1:])]
-        return [(cls._rec_name,) + tuple(clause[1:])]
+        return ['OR',
+            ('code',) + tuple(clause[1:]),
+            (cls._rec_name,) + tuple(clause[1:]),
+            ]
 
 
 class JournalPeriod(ModelSQL, ModelView):
@@ -246,18 +244,20 @@ class JournalPeriod(ModelSQL, ModelView):
         return super(JournalPeriod, cls).create(vlist)
 
     @classmethod
-    def write(cls, periods, vals):
-        if vals != {'state': 'close'} \
-                and vals != {'state': 'open'}:
-            cls._check(periods)
-        if vals.get('state') == 'open':
-            for journal_period in periods:
-                if journal_period.period.state == 'close':
-                    cls.raise_user_error('open_journal_period', {
-                            'journal_period': journal_period.rec_name,
-                            'period': journal_period.period.rec_name,
-                            })
-        super(JournalPeriod, cls).write(periods, vals)
+    def write(cls, *args):
+        actions = iter(args)
+        for journal_periods, values in zip(actions, actions):
+            if (values != {'state': 'close'}
+                    and values != {'state': 'open'}):
+                cls._check(journal_periods)
+            if values.get('state') == 'open':
+                for journal_period in journal_periods:
+                    if journal_period.period.state == 'close':
+                        cls.raise_user_error('open_journal_period', {
+                                'journal_period': journal_period.rec_name,
+                                'period': journal_period.period.rec_name,
+                                })
+        super(JournalPeriod, cls).write(*args)
 
     @classmethod
     def delete(cls, periods):
diff --git a/journal.xml b/journal.xml
index 54d5045..fb40439 100644
--- a/journal.xml
+++ b/journal.xml
@@ -67,6 +67,10 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">Situation</field>
             <field name="code">situation</field>
         </record>
+        <record model="account.journal.type" id="journal_type_write_off">
+            <field name="name">Write-Off</field>
+            <field name="code">write-off</field>
+        </record>
 
         <record model="ir.ui.view" id="journal_view_view_form">
             <field name="model">account.journal.view</field>
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index db23a6a..864e4d6 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -1163,6 +1163,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Движение"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr ""
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "Състояние на движение"
@@ -1252,10 +1256,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "До дата"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Сметка"
-
 #, fuzzy
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
@@ -1270,6 +1270,11 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Дата"
 
+#, fuzzy
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Описание"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
@@ -1583,6 +1588,11 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Описание"
 
+#, fuzzy
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Крайна дата"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Група"
@@ -1632,6 +1642,11 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Последователност"
 
+#, fuzzy
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Начална дата"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Шаблон"
@@ -2079,6 +2094,11 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Описание"
 
+#, fuzzy
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Крайна дата"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Група"
@@ -2128,6 +2148,11 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Последователност"
 
+#, fuzzy
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Начална дата"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Вид"
@@ -2551,6 +2576,11 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Положение"
 
+#, fuzzy
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Анулиран"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Изглед на дневник"
@@ -2784,6 +2814,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr "Отваряне на сметка на движение"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index a20780e..50e70ee 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -90,7 +90,7 @@ msgstr "L'apunt \"%s\" (%d) ja està conciliat."
 
 msgctxt "error:account.move.line:"
 msgid "Move line cannot be created because there is no journal defined."
-msgstr "No es pot crear l'apunt perquè no hi ha definit cap dirari."
+msgstr "No es pot crear l'apunt perquè no hi ha definit cap diari."
 
 msgctxt "error:account.move.line:"
 msgid "Wrong credit/debit values."
@@ -160,7 +160,7 @@ msgstr ""
 
 msgctxt "error:account.move.reconciliation:"
 msgid "You can not reconcile line \"%s\" because it is not in valid state."
-msgstr "No podeu concilar l'apunt \"%s\" perquè no està en un estat correcte."
+msgstr "No podeu conciliar l'apunt \"%s\" perquè no està en un estat correcte."
 
 msgctxt "error:account.move:"
 msgid "You can not create lines on accountsof different companies in move \"%s\"."
@@ -191,7 +191,7 @@ msgstr "No podeu confirmar l'assentament \"%s\" perquè està buit."
 msgctxt "error:account.move:"
 msgid "You can not set posted move \"%(move)s\" to draft in journal \"%(journal)s\"."
 msgstr ""
-"No podeu establir a esborrany l'assentament confirmat \"%(move)s\" al diari "
+"No podeu canviar a esborrany l'assentament confirmat \"%(move)s\" al diari "
 "\"%(journal)s\"."
 
 msgctxt "error:account.move:"
@@ -199,7 +199,7 @@ msgid ""
 "You can not set to draft move \"%(move)s\" because period \"%(period)s\" is "
 "closed."
 msgstr ""
-"No podeu establir a esborrany l'assentament \"%(move)s\" perquè el període "
+"No podeu canviar a esborrany l'assentament \"%(move)s\" perquè el període "
 "\"%(period)s\" està tancat."
 
 msgctxt "error:account.open_aged_balance:"
@@ -219,7 +219,7 @@ msgid ""
 "Company of sequence \"%(sequence)s\" does not match the company of period "
 "\"%(period)s\" to which it is assigned to."
 msgstr ""
-"L'empresa de seqüència \"%(sequence)s\" no coincideix amb l'empresa del "
+"L'empresa de la seqüència \"%(sequence)s\" no coincideix amb l'empresa del "
 "període \"%(period)s\" a la que està assignada."
 
 msgctxt "error:account.period:"
@@ -314,11 +314,11 @@ msgstr "Deure"
 
 msgctxt "field:account.account,deferral:"
 msgid "Deferral"
-msgstr "Tancament"
+msgstr "Prorrogar"
 
 msgctxt "field:account.account,deferrals:"
 msgid "Deferrals"
-msgstr "Tancaments"
+msgstr "Pròrrogues"
 
 msgctxt "field:account.account,id:"
 msgid "ID"
@@ -478,7 +478,7 @@ msgstr "Usuari creació"
 
 msgctxt "field:account.account.template,deferral:"
 msgid "Deferral"
-msgstr "Tancament"
+msgstr "Prorrogar"
 
 msgctxt "field:account.account.template,id:"
 msgid "ID"
@@ -1196,6 +1196,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Assentament"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr "Descripció assentament"
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "Estat assentament"
@@ -1284,10 +1288,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Data final"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Compte"
-
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
 msgstr "Import"
@@ -1300,6 +1300,10 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Data"
 
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Descripció"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
@@ -1590,19 +1594,19 @@ msgstr "Compte de l'abonament"
 
 msgctxt "field:account.tax,credit_note_base_code:"
 msgid "Credit Note Base Code"
-msgstr "Codi de la base del abonament"
+msgstr "Codi de la base de l'abonament"
 
 msgctxt "field:account.tax,credit_note_base_sign:"
 msgid "Credit Note Base Sign"
-msgstr "Signe de la base del abonament"
+msgstr "Signe de la base de l'abonament"
 
 msgctxt "field:account.tax,credit_note_tax_code:"
 msgid "Credit Note Tax Code"
-msgstr "Codi de l'impost del abonament"
+msgstr "Codi de l'impost de l'abonament"
 
 msgctxt "field:account.tax,credit_note_tax_sign:"
 msgid "Credit Note Tax Sign"
-msgstr "Signe de l'impost del abonament"
+msgstr "Signe de l'impost de l'abonament"
 
 msgctxt "field:account.tax,currency_digits:"
 msgid "Currency Digits"
@@ -1612,6 +1616,10 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Descripció"
 
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Data final"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Grup"
@@ -1660,6 +1668,10 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Seqüència"
 
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Data inicial"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Plantilla"
@@ -2086,24 +2098,28 @@ msgstr "Compte de l'abonament"
 
 msgctxt "field:account.tax.template,credit_note_base_code:"
 msgid "Credit Note Base Code"
-msgstr "Codi de la base del abonament"
+msgstr "Codi de la base de l'abonament"
 
 msgctxt "field:account.tax.template,credit_note_base_sign:"
 msgid "Credit Note Base Sign"
-msgstr "Signe de la base del abonament"
+msgstr "Signe de la base de l'abonament"
 
 msgctxt "field:account.tax.template,credit_note_tax_code:"
 msgid "Credit Note Tax Code"
-msgstr "Codi de l'impost del abonament"
+msgstr "Codi de l'impost de l'abonament"
 
 msgctxt "field:account.tax.template,credit_note_tax_sign:"
 msgid "Credit Note Tax Sign"
-msgstr "Signe de l'impost del abonament"
+msgstr "Signe de l'impost de l'abonament"
 
 msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Descripció"
 
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Data final"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Grup"
@@ -2152,6 +2168,10 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Seqüència"
 
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Data inicial"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Tipus"
@@ -2219,7 +2239,7 @@ msgid ""
 "Force all moves for this account \n"
 "to have this secondary currency."
 msgstr ""
-"Força l'ús d'aquesta moneda secundaria \n"
+"Força l'ús d'aquesta moneda secundària \n"
 "a tots els assentaments d'aquest compte."
 
 msgctxt "help:account.account,taxes:"
@@ -2272,7 +2292,7 @@ msgstr "Deixeu-lo buit per tots els exercicis fiscals oberts."
 
 msgctxt "help:account.open_chart.start,posted:"
 msgid "Show posted moves only"
-msgstr "Mostra només assentaments confirmats"
+msgstr "Mostra només assentaments confirmats."
 
 msgctxt "help:account.open_income_statement.start,posted:"
 msgid "Show only posted move"
@@ -2284,7 +2304,7 @@ msgstr "Mostra només assentaments confirmats."
 
 msgctxt "help:account.print_general_ledger.start,empty_account:"
 msgid "With account without move"
-msgstr "Amb compte sense assentament."
+msgstr "Amb compte sense assentament"
 
 msgctxt "help:account.print_general_ledger.start,posted:"
 msgid "Show only posted move"
@@ -2292,7 +2312,7 @@ msgstr "Mostra només assentaments confirmats."
 
 msgctxt "help:account.print_trial_balance.start,empty_account:"
 msgid "With account without move"
-msgstr "Amb compte sense assentament."
+msgstr "Amb compte sense assentament"
 
 msgctxt "help:account.print_trial_balance.start,posted:"
 msgid "Show only posted move"
@@ -2339,14 +2359,14 @@ msgctxt "help:account.tax.rule.line,origin_tax:"
 msgid ""
 "If the original tax is filled, the rule will be applied only for this tax."
 msgstr ""
-"Si s'omplena l'impost original, la regla s'aplicarà només per aquest impost."
+"Si s'emplena l'impost original, la regla s'aplicarà només per aquest impost."
 
 msgctxt "help:account.tax.rule.line.template,origin_tax:"
 msgid ""
 "If the original tax template is filled, the rule will be applied only for "
 "this tax template."
 msgstr ""
-"Si s'omplena la plantilla d'impost original, la regla s'aplicarà només per "
+"Si s'emplena la plantilla d'impost original, la regla s'aplicarà només per "
 "aquesta plantilla d'impost."
 
 msgctxt "help:party.party,customer_tax_rule:"
@@ -2367,7 +2387,7 @@ msgstr "Compte - Impost"
 
 msgctxt "model:account.account.deferral,name:"
 msgid "Account Deferral"
-msgstr "Tancament comptable"
+msgstr "Pròrroga comptable"
 
 msgctxt "model:account.account.template,name:"
 msgid "Account Template"
@@ -2455,7 +2475,7 @@ msgstr "Benefici"
 msgctxt ""
 "model:account.account.type.template,name:account_type_template_liability"
 msgid "Liability"
-msgstr "Pasiu"
+msgstr "Passiu"
 
 msgctxt ""
 "model:account.account.type.template,name:account_type_template_liability_current"
@@ -2542,7 +2562,7 @@ msgstr "Ingressos"
 
 msgctxt "model:account.journal,name:journal_stock"
 msgid "Stock"
-msgstr "Existències"
+msgstr "Estoc"
 
 msgctxt "model:account.journal.period,name:"
 msgid "Journal - Period"
@@ -2572,6 +2592,10 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Situació"
 
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Desajust"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Vista de diari"
@@ -2602,7 +2626,7 @@ msgstr "Imprimeix llibre diari"
 
 msgctxt "model:account.move.reconcile_lines.writeoff,name:"
 msgid "Reconcile Lines Write-Off"
-msgstr "Concilia apunts amb desfasament"
+msgstr "Concilia apunts amb desajust"
 
 msgctxt "model:account.move.reconciliation,name:"
 msgid "Account Move Reconciliation Lines"
@@ -2802,7 +2826,11 @@ msgstr "Apunts a pagar"
 
 msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
-msgstr "Línies a cobrar"
+msgstr "Apunts a cobrar"
+
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr "Línies de conciliació"
 
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
@@ -3119,7 +3147,7 @@ msgstr "Imprimeix balanç de sumes i saldos"
 
 msgctxt "model:ir.ui.menu,name:menu_processing"
 msgid "Processing"
-msgstr "Processament"
+msgstr "Processos"
 
 msgctxt "model:ir.ui.menu,name:menu_reporting"
 msgid "Reporting"
@@ -3183,7 +3211,7 @@ msgstr "Comptabilitat"
 
 msgctxt "model:res.group,name:group_account_admin"
 msgid "Account Administration"
-msgstr "Administració comptabilitat"
+msgstr "Administració de comptabilitat"
 
 msgctxt "odt:account.aged_balance:"
 msgid "/"
@@ -3507,7 +3535,7 @@ msgstr "Ingressos"
 
 msgctxt "selection:account.account,kind:"
 msgid "Stock"
-msgstr "Existències"
+msgstr "Estoc"
 
 msgctxt "selection:account.account,kind:"
 msgid "View"
@@ -3535,7 +3563,7 @@ msgstr "Ingressos"
 
 msgctxt "selection:account.account.template,kind:"
 msgid "Stock"
-msgstr "Existències"
+msgstr "Estoc"
 
 msgctxt "selection:account.account.template,kind:"
 msgid "View"
@@ -3703,11 +3731,11 @@ msgstr "Percentatge"
 
 msgctxt "view:account.account.deferral:"
 msgid "Account Deferral"
-msgstr "Tancament comptable"
+msgstr "Pròrroga comptable"
 
 msgctxt "view:account.account.deferral:"
 msgid "Account Deferrals"
-msgstr "Tancaments comptables"
+msgstr "Pròrrogues comptables"
 
 msgctxt "view:account.account.template:"
 msgid "Account Template"
@@ -3751,7 +3779,7 @@ msgstr "Comptes"
 
 msgctxt "view:account.account:"
 msgid "Deferrals"
-msgstr "Tancaments"
+msgstr "Pròrrogues"
 
 msgctxt "view:account.account:"
 msgid "General Information"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index 14eb309..5b1b224 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -1154,6 +1154,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr ""
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr ""
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr ""
@@ -1242,10 +1246,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr ""
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr ""
-
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
 msgstr ""
@@ -1258,6 +1258,10 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr ""
 
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr ""
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr ""
@@ -1570,6 +1574,10 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr ""
 
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr ""
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr ""
@@ -1618,6 +1626,10 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr ""
 
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr ""
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr ""
@@ -2062,6 +2074,10 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr ""
 
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr ""
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr ""
@@ -2110,6 +2126,10 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr ""
 
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr ""
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr ""
@@ -2520,6 +2540,10 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr ""
 
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr ""
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr ""
@@ -2752,6 +2776,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 7460648..9b95a46 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -326,7 +326,7 @@ msgstr "Währung"
 
 msgctxt "field:account.account,currency_digits:"
 msgid "Currency Digits"
-msgstr "Währung (signifikante Stellen)"
+msgstr "Nachkommastellen Währung"
 
 msgctxt "field:account.account,debit:"
 msgid "Debit"
@@ -378,7 +378,7 @@ msgstr "Rechts"
 
 msgctxt "field:account.account,second_currency:"
 msgid "Secondary Currency"
-msgstr "Zweitwährung"
+msgstr "Fremdwährung"
 
 msgctxt "field:account.account,taxes:"
 msgid "Default Taxes"
@@ -454,7 +454,7 @@ msgstr "Haben"
 
 msgctxt "field:account.account.deferral,currency_digits:"
 msgid "Currency Digits"
-msgstr "Stellen Währung"
+msgstr "Nachkommastellen Währung"
 
 msgctxt "field:account.account.deferral,debit:"
 msgid "Debit"
@@ -598,7 +598,7 @@ msgstr "Erstellt durch"
 
 msgctxt "field:account.account.type,currency_digits:"
 msgid "Currency Digits"
-msgstr "Währung (signifikante Stellen)"
+msgstr "Nachkommastellen Währung"
 
 msgctxt "field:account.account.type,display_balance:"
 msgid "Display Balance"
@@ -1170,7 +1170,7 @@ msgstr "Konto"
 
 msgctxt "field:account.move.line,amount_second_currency:"
 msgid "Amount Second Currency"
-msgstr "Betrag Zweitwährung"
+msgstr "Fremdwährungsbetrag"
 
 msgctxt "field:account.move.line,create_date:"
 msgid "Create Date"
@@ -1186,7 +1186,7 @@ msgstr "Haben"
 
 msgctxt "field:account.move.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Stellen Währung"
+msgstr "Nachkommastellen Währung"
 
 msgctxt "field:account.move.line,date:"
 msgid "Effective Date"
@@ -1216,6 +1216,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Buchung"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr "Buchung Beschreibung"
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "Buchungsstatus"
@@ -1242,11 +1246,11 @@ msgstr "Abstimmung"
 
 msgctxt "field:account.move.line,second_currency:"
 msgid "Second Currency"
-msgstr "Zweitwährung"
+msgstr "Fremdwährung"
 
 msgctxt "field:account.move.line,second_currency_digits:"
 msgid "Second Currency Digits"
-msgstr "Stellen Zweitwährung"
+msgstr "Nachkommastellen Fremdwährung"
 
 msgctxt "field:account.move.line,state:"
 msgid "State"
@@ -1304,22 +1308,22 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Bis Datum"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Konto"
-
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
 msgstr "Betrag"
 
 msgctxt "field:account.move.reconcile_lines.writeoff,currency_digits:"
 msgid "Currency Digits"
-msgstr "Währung (signifikante Stellen)"
+msgstr "Nachkommastellen Währung"
 
 msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Datum"
 
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Beschreibung"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
@@ -1626,12 +1630,16 @@ msgstr "Vorzeichen für Steuern in Gutschriften"
 
 msgctxt "field:account.tax,currency_digits:"
 msgid "Currency Digits"
-msgstr "Währung (signifikante Stellen)"
+msgstr "Nachkommastellen Währung"
 
 msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Beschreibung"
 
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Enddatum"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Gruppe"
@@ -1680,6 +1688,10 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Reihenfolge"
 
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Anfangsdatum"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Vorlage für Steuerkonto"
@@ -1722,11 +1734,11 @@ msgstr "Erstellt durch"
 
 msgctxt "field:account.tax.code,currency_digits:"
 msgid "Currency Digits"
-msgstr "Währung (signifikante Stellen)"
+msgstr "Nachkommastellen Währung"
 
 msgctxt "field:account.tax.code,description:"
 msgid "Description"
-msgstr "Bezeichnung"
+msgstr "Beschreibung"
 
 msgctxt "field:account.tax.code,id:"
 msgid "ID"
@@ -1798,7 +1810,7 @@ msgstr "Erstellt durch"
 
 msgctxt "field:account.tax.code.template,description:"
 msgid "Description"
-msgstr "Bezeichnung"
+msgstr "Beschreibung"
 
 msgctxt "field:account.tax.code.template,id:"
 msgid "ID"
@@ -1878,7 +1890,7 @@ msgstr "Erstellt durch"
 
 msgctxt "field:account.tax.line,currency_digits:"
 msgid "Currency Digits"
-msgstr "Währung (signifikante Stellen)"
+msgstr "Nachkommastellen Währung"
 
 msgctxt "field:account.tax.line,id:"
 msgid "ID"
@@ -2124,6 +2136,10 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Beschreibung"
 
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Enddatum"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Gruppe"
@@ -2172,6 +2188,10 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Reihenfolge"
 
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Anfangsdatum"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Typ"
@@ -2238,7 +2258,7 @@ msgctxt "help:account.account,second_currency:"
 msgid ""
 "Force all moves for this account \n"
 "to have this secondary currency."
-msgstr "Für alle Buchungen auf dieses Konto die Zeitwährung verwenden"
+msgstr "Für alle Buchungen auf dieses Konto diese Fremdwährung verwenden"
 
 msgctxt "help:account.account,taxes:"
 msgid ""
@@ -2258,7 +2278,8 @@ msgstr "Auch bekannt als Folio Nummer"
 
 msgctxt "help:account.move.line,amount_second_currency:"
 msgid "The amount expressed in a second currency"
-msgstr "Der Betrag in einer Zweitwährung"
+msgstr ""
+"Der Betrag in einer Fremdwährung (bezogen auf die Währung des Unternehmens)"
 
 msgctxt "help:account.move.line,maturity_date:"
 msgid ""
@@ -2270,7 +2291,7 @@ msgstr ""
 
 msgctxt "help:account.move.line,second_currency:"
 msgid "The second currency"
-msgstr "Die Zweitwährung"
+msgstr "Die Fremdwährung"
 
 msgctxt "help:account.move.print_general_journal.start,posted:"
 msgid "Show only posted move"
@@ -2591,6 +2612,10 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Saldenvortrag"
 
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Ausbuchung"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Journal Sicht"
@@ -2609,7 +2634,7 @@ msgstr "Buchungszeile"
 
 msgctxt "model:account.move.open_journal.ask,name:"
 msgid "Open Journal Ask"
-msgstr "Dialogbuchen Nachfrage"
+msgstr "Nachfrage Dialogbuchen"
 
 msgctxt "model:account.move.open_reconcile_lines.start,name:"
 msgid "Open Reconcile Lines"
@@ -2823,6 +2848,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr "Forderungen"
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr "Abstimmungszeilen"
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr "Buchungssatz Konto öffnen"
@@ -3362,7 +3391,7 @@ msgstr "Soll"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Description"
-msgstr "Bezeichnung"
+msgstr "Beschreibung"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Draft"
@@ -4002,7 +4031,7 @@ msgstr "Untergeordnet (Kennziffervorlagen)"
 
 msgctxt "view:account.tax.code.template:"
 msgid "Description"
-msgstr "Bezeichnung"
+msgstr "Beschreibung"
 
 msgctxt "view:account.tax.code.template:"
 msgid "Tax Code Template"
@@ -4018,7 +4047,7 @@ msgstr "Untergeordnet (Kennziffern)"
 
 msgctxt "view:account.tax.code:"
 msgid "Description"
-msgstr "Bezeichnung"
+msgstr "Beschreibung"
 
 msgctxt "view:account.tax.code:"
 msgid "Tax Code"
@@ -4038,11 +4067,11 @@ msgstr "Steuergruppen"
 
 msgctxt "view:account.tax.line:"
 msgid "Account Tax Line"
-msgstr "Position Steuerkonto"
+msgstr "Steuerkontozeile"
 
 msgctxt "view:account.tax.line:"
 msgid "Account Tax Lines"
-msgstr "Positionen Steuerkonto"
+msgstr "Steuerkontozeilen"
 
 msgctxt "view:account.tax.rule.line.template:"
 msgid "Tax Rule Line Template"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index ce7f7a0..d4a2d2e 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -1193,6 +1193,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Asiento"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr "Descripción del asiento"
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "Estado asiento"
@@ -1281,10 +1285,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Hasta la fecha"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Cuenta"
-
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
 msgstr "Importe"
@@ -1297,6 +1297,10 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Fecha"
 
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Descripción"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
@@ -1609,6 +1613,10 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Descripción"
 
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Fecha final"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Grupo"
@@ -1657,6 +1665,10 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Secuencia"
 
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Fecha inicial"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Plantilla"
@@ -2101,6 +2113,10 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Descripción"
 
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Fecha final"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Grupo"
@@ -2149,6 +2165,10 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Secuencia"
 
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Fecha inicial"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Tipo"
@@ -2572,6 +2592,10 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Situación"
 
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Desajuste"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Vista de diario"
@@ -2804,6 +2828,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr "Líneas de Cuentas por Cobrar"
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr "Líneas de conciliación"
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr "Abrir cuenta del asiento"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 00622fb..3650402 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -8,11 +8,11 @@ msgstr "Los diferidos deben ser únicos por cuenta y año fiscal"
 
 msgctxt "error:account.account.deferral:"
 msgid "You can not modify Account Deferral records"
-msgstr "No puede modificar los registros de cuentas diferidas."
+msgstr "No puede modificar los registros de Cuentas Diferidas."
 
 msgctxt "error:account.account:"
 msgid "You can not delete account \"%s\" because it has move lines."
-msgstr "No puede eliminar una cuenta \"%s\" porque tiene líneas de asiento."
+msgstr "No puede eliminar la cuenta \"%s\" porque tiene líneas de asiento."
 
 msgctxt "error:account.account:"
 msgid "You can not delete accounts that have children."
@@ -54,17 +54,17 @@ msgid ""
 "You can not reopen fiscal year \"%s\" until you reopen all later fiscal "
 "years."
 msgstr ""
-"No puede reabir el año fiscal \"%s\" hasta que reabra todos los años "
+"No puede reabrir el año fiscal \"%s\" hasta que reabra todos los años "
 "fiscales posteriores."
 
 msgctxt "error:account.journal.period:"
 msgid "You can not create a journal - period on closed period \"%s\"."
-msgstr "No puede crear un libro diario - período en el período cerrado \"%s\"."
+msgstr "No puede crear un libro contable - período en el período cerrado \"%s\"."
 
 msgctxt "error:account.journal.period:"
 msgid "You can not modify/delete journal - period \"%s\" because it has moves."
 msgstr ""
-"No puede modificar/eliminar un libro diario - período \"%s\" porque tiene "
+"No puede modificar/eliminar un libro contable - período \"%s\" porque tiene "
 "asientos."
 
 msgctxt "error:account.journal.period:"
@@ -72,7 +72,7 @@ msgid ""
 "You can not open journal - period \"%(journal_period)s\" because period "
 "\"%(period)s\" is closed."
 msgstr ""
-"No puede abrir el libro diario - período \"%(journal_period)s\" porque el "
+"No puede abrir el libro contable - período \"%(journal_period)s\" porque el "
 "período \"%(period)s\" esta cerrado."
 
 msgctxt "error:account.journal.period:"
@@ -122,7 +122,9 @@ msgstr "No puede modificar una línea \"%s\" porque esta conciliada."
 
 msgctxt "error:account.move.line:"
 msgid "You can not modify lines of move \"%s\" because it is already posted."
-msgstr "No puede modificar líneas del asiento \"%s\" porque esta confirmado!"
+msgstr ""
+"No puede modificar las líneas del asiento \"%s\" porque estan "
+"contabilizadas."
 
 msgctxt "error:account.move.reconciliation:"
 msgid ""
@@ -162,12 +164,12 @@ msgstr ""
 
 msgctxt "error:account.move.reconciliation:"
 msgid "You can not reconcile line \"%s\" because it is not in valid state."
-msgstr "No puede conciliar líneas \"%s\" porque no está en en un estado válido."
+msgstr "No puede conciliar las líneas \"%s\" porque no estan en estado válido."
 
 msgctxt "error:account.move:"
 msgid "You can not create lines on accountsof different companies in move \"%s\"."
 msgstr ""
-"No puede crear lineas en facturas de diferentes compañias en el asiento "
+"No puede crear lineas con cuentas de diferentes compañias en el asiento "
 "\"%s\"."
 
 msgctxt "error:account.move:"
@@ -180,11 +182,12 @@ msgstr ""
 
 msgctxt "error:account.move:"
 msgid "You can not modify move \"%s\" because it is already posted."
-msgstr "No puede modificar el asiento \"%s\" porque esta actualmente confirmado!"
+msgstr ""
+"No puede modificar el asiento \"%s\" porque esta actualmente contabilizado."
 
 msgctxt "error:account.move:"
 msgid "You can not post move \"%s\" because it is an unbalanced."
-msgstr "No puede confirmar el asiento \"%s\" porque esta descuadrado."
+msgstr "No puede contabilizar el asiento \"%s\" porque esta descuadrado."
 
 msgctxt "error:account.move:"
 msgid "You can not post move \"%s\" because it is empty."
@@ -193,8 +196,8 @@ msgstr "No puede confirmar el asiento \"%s\" porque esta vacío."
 msgctxt "error:account.move:"
 msgid "You can not set posted move \"%(move)s\" to draft in journal \"%(journal)s\"."
 msgstr ""
-"No puede convertir le asiento confirmado \"%(move)s\" a borrador en el libro"
-" diario \"%(journal)s\"."
+"No puede convertir el asiento contabilizado \"%(move)s\" a borrador en el "
+"libro contable \"%(journal)s\"."
 
 msgctxt "error:account.move:"
 msgid ""
@@ -226,7 +229,7 @@ msgstr ""
 
 msgctxt "error:account.period:"
 msgid "Dates of period \"%s\" are outside are outside it's fiscal year dates."
-msgstr "Fechas del periodo \"%s\" estan fuera de las fechas del Año Fiscal. "
+msgstr "Las fechas del periodo \"%s\" estan fuera del Año Fiscal. "
 
 msgctxt "error:account.period:"
 msgid "No period defined for date \"%s\"."
@@ -241,16 +244,16 @@ msgid ""
 "You can not change the post move sequence of period \"%s\" because there are"
 " already posted moves in the period."
 msgstr ""
-"No puede cambiar la secuencia de asiento confirmado el periodo \"%s\" porque"
-" hay asientos confirmados en el período."
+"No puede cambiar la secuencia de asientos contabilizados para periodo \"%s\""
+" porque ya tiene asientos contabilizados."
 
 msgctxt "error:account.period:"
 msgid ""
 "You can not close period \"%s\" because there are non posted moves in this "
 "period."
 msgstr ""
-"No puede cerrar el período \"%s\" porque hay asientos no confirmados en este"
-" período."
+"No puede cerrar el período \"%s\" porque hay asientos no contabilizados en "
+"este período."
 
 msgctxt "error:account.period:"
 msgid "You can not create a period on fiscal year \"%s\" because it is closed."
@@ -298,7 +301,7 @@ msgstr "Creado por Usuario"
 
 msgctxt "field:account.account,credit:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Crédito"
 
 msgctxt "field:account.account,currency:"
 msgid "Currency"
@@ -310,7 +313,7 @@ msgstr "Decimales de Moneda"
 
 msgctxt "field:account.account,debit:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Débito"
 
 msgctxt "field:account.account,deferral:"
 msgid "Deferral"
@@ -430,7 +433,7 @@ msgstr "Creado por Usuario"
 
 msgctxt "field:account.account.deferral,credit:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Crédito"
 
 msgctxt "field:account.account.deferral,currency_digits:"
 msgid "Currency Digits"
@@ -438,7 +441,7 @@ msgstr "Decimales de Moneda"
 
 msgctxt "field:account.account.deferral,debit:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Débito"
 
 msgctxt "field:account.account.deferral,fiscalyear:"
 msgid "Fiscal Year"
@@ -554,11 +557,11 @@ msgstr "Modificado por Usuario"
 
 msgctxt "field:account.account.type,amount:"
 msgid "Amount"
-msgstr "Cantidad"
+msgstr "Valor"
 
 msgctxt "field:account.account.type,balance_sheet:"
 msgid "Balance Sheet"
-msgstr "Balance General"
+msgstr "Estado de Situación Financiera"
 
 msgctxt "field:account.account.type,childs:"
 msgid "Children"
@@ -622,7 +625,7 @@ msgstr "Modificado por Usuario"
 
 msgctxt "field:account.account.type.template,balance_sheet:"
 msgid "Balance Sheet"
-msgstr "Balance General"
+msgstr "Estado de Situación Financiera"
 
 msgctxt "field:account.account.type.template,childs:"
 msgid "Children"
@@ -646,7 +649,7 @@ msgstr "ID"
 
 msgctxt "field:account.account.type.template,income_statement:"
 msgid "Income Statement"
-msgstr "Estado de Resultados"
+msgstr "Estado de Resultado Integral"
 
 msgctxt "field:account.account.type.template,name:"
 msgid "Name"
@@ -758,7 +761,7 @@ msgstr "Creado por Usuario"
 
 msgctxt "field:account.fiscalyear,end_date:"
 msgid "Ending Date"
-msgstr "Fecha final"
+msgstr "Fecha Final"
 
 msgctxt "field:account.fiscalyear,id:"
 msgid "ID"
@@ -774,7 +777,7 @@ msgstr "Períodos"
 
 msgctxt "field:account.fiscalyear,post_move_sequence:"
 msgid "Post Move Sequence"
-msgstr "Secuencia de Asiento Confirmado"
+msgstr "Secuencia de Asiento Contabilizado"
 
 msgctxt "field:account.fiscalyear,rec_name:"
 msgid "Name"
@@ -846,7 +849,7 @@ msgstr "ID"
 
 msgctxt "field:account.fiscalyear.balance_non_deferral.start,journal:"
 msgid "Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "field:account.fiscalyear.balance_non_deferral.start,period:"
 msgid "Period"
@@ -854,7 +857,7 @@ msgstr "Período"
 
 msgctxt "field:account.fiscalyear.close.start,close_fiscalyear:"
 msgid "Fiscal Year to close"
-msgstr "Año fiscal a cerrar"
+msgstr "Año Fiscal a cerrar"
 
 msgctxt "field:account.fiscalyear.close.start,id:"
 msgid "ID"
@@ -906,7 +909,7 @@ msgstr "Tipo"
 
 msgctxt "field:account.journal,update_posted:"
 msgid "Allow cancelling moves"
-msgstr "Permitir cancelar asientos"
+msgstr "Permitir anular asientos"
 
 msgctxt "field:account.journal,view:"
 msgid "View"
@@ -942,7 +945,7 @@ msgstr "ID"
 
 msgctxt "field:account.journal.period,journal:"
 msgid "Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "field:account.journal.period,name:"
 msgid "Name"
@@ -1102,7 +1105,7 @@ msgstr "ID"
 
 msgctxt "field:account.move,journal:"
 msgid "Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "field:account.move,lines:"
 msgid "Lines"
@@ -1126,7 +1129,7 @@ msgstr "Fecha Confirmación"
 
 msgctxt "field:account.move,post_number:"
 msgid "Post Number"
-msgstr "Número de Confirmación"
+msgstr "Folio"
 
 msgctxt "field:account.move,rec_name:"
 msgid "Name"
@@ -1150,7 +1153,7 @@ msgstr "Cuenta"
 
 msgctxt "field:account.move.line,amount_second_currency:"
 msgid "Amount Second Currency"
-msgstr "Cantidad Segunda Moneda"
+msgstr "Valor en Segunda Moneda"
 
 msgctxt "field:account.move.line,create_date:"
 msgid "Create Date"
@@ -1162,7 +1165,7 @@ msgstr "Creado por Usuario"
 
 msgctxt "field:account.move.line,credit:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Crédito"
 
 msgctxt "field:account.move.line,currency_digits:"
 msgid "Currency Digits"
@@ -1174,7 +1177,7 @@ msgstr "Fecha Efectiva"
 
 msgctxt "field:account.move.line,debit:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Débito"
 
 msgctxt "field:account.move.line,description:"
 msgid "Description"
@@ -1186,7 +1189,7 @@ msgstr "ID"
 
 msgctxt "field:account.move.line,journal:"
 msgid "Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "field:account.move.line,maturity_date:"
 msgid "Maturity Date"
@@ -1196,9 +1199,13 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Asiento"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr "Descripción"
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
-msgstr "Estado Asiento"
+msgstr "Estado de Asiento"
 
 msgctxt "field:account.move.line,origin:"
 msgid "Origin"
@@ -1250,7 +1257,7 @@ msgstr "ID"
 
 msgctxt "field:account.move.open_journal.ask,journal:"
 msgid "Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "field:account.move.open_journal.ask,period:"
 msgid "Period"
@@ -1278,16 +1285,12 @@ msgstr "ID"
 
 msgctxt "field:account.move.print_general_journal.start,posted:"
 msgid "Posted Move"
-msgstr "Asiento Confirmado"
+msgstr "Asiento Contabilizado"
 
 msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Fecha Final"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Cuenta"
-
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
 msgstr "Valor"
@@ -1300,13 +1303,17 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Fecha"
 
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Descripción"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
 
 msgctxt "field:account.move.reconcile_lines.writeoff,journal:"
 msgid "Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "field:account.move.reconciliation,create_date:"
 msgid "Create Date"
@@ -1358,7 +1365,7 @@ msgstr "ID"
 
 msgctxt "field:account.open_aged_balance.start,posted:"
 msgid "Posted Move"
-msgstr "Asiento Confirmado"
+msgstr "Asiento Contabilizado"
 
 msgctxt "field:account.open_aged_balance.start,term1:"
 msgid "First Term"
@@ -1390,7 +1397,7 @@ msgstr "ID"
 
 msgctxt "field:account.open_balance_sheet.start,posted:"
 msgid "Posted Move"
-msgstr "Asiento Confirmado"
+msgstr "Asiento Contabilizado"
 
 msgctxt "field:account.open_chart.start,fiscalyear:"
 msgid "Fiscal Year"
@@ -1402,7 +1409,7 @@ msgstr "ID"
 
 msgctxt "field:account.open_chart.start,posted:"
 msgid "Posted Moves"
-msgstr "Asiento Confirmado"
+msgstr "Asiento Contabilizado"
 
 msgctxt "field:account.open_income_statement.start,company:"
 msgid "Company"
@@ -1410,7 +1417,7 @@ msgstr "Compañia"
 
 msgctxt "field:account.open_income_statement.start,end_period:"
 msgid "End Period"
-msgstr "Período final"
+msgstr "Período Final"
 
 msgctxt "field:account.open_income_statement.start,fiscalyear:"
 msgid "Fiscal Year"
@@ -1422,7 +1429,7 @@ msgstr "ID"
 
 msgctxt "field:account.open_income_statement.start,posted:"
 msgid "Posted Move"
-msgstr "Asiento Confirmado"
+msgstr "Asiento Contabilizado"
 
 msgctxt "field:account.open_income_statement.start,start_period:"
 msgid "Start Period"
@@ -1442,7 +1449,7 @@ msgstr "ID"
 
 msgctxt "field:account.open_third_party_balance.start,posted:"
 msgid "Posted Move"
-msgstr "Asiento Confirmado"
+msgstr "Asiento Contabilizado"
 
 msgctxt "field:account.period,code:"
 msgid "Code"
@@ -1462,7 +1469,7 @@ msgstr "Creado por Usuario"
 
 msgctxt "field:account.period,end_date:"
 msgid "Ending Date"
-msgstr "Fecha final"
+msgstr "Fecha Final"
 
 msgctxt "field:account.period,fiscalyear:"
 msgid "Fiscal Year"
@@ -1478,7 +1485,7 @@ msgstr "Nombre"
 
 msgctxt "field:account.period,post_move_sequence:"
 msgid "Post Move Sequence"
-msgstr "Secuencia de Asiento Confirmado"
+msgstr "Secuencia de Asiento Contabilizado"
 
 msgctxt "field:account.period,rec_name:"
 msgid "Name"
@@ -1510,11 +1517,11 @@ msgstr "Compañia"
 
 msgctxt "field:account.print_general_ledger.start,empty_account:"
 msgid "Empty Account"
-msgstr "Cuenta vacía"
+msgstr "Cuenta Vacía"
 
 msgctxt "field:account.print_general_ledger.start,end_period:"
 msgid "End Period"
-msgstr "Período final"
+msgstr "Período Final"
 
 msgctxt "field:account.print_general_ledger.start,fiscalyear:"
 msgid "Fiscal Year"
@@ -1526,7 +1533,7 @@ msgstr "ID"
 
 msgctxt "field:account.print_general_ledger.start,posted:"
 msgid "Posted Move"
-msgstr "Asiento Confirmado"
+msgstr "Asiento Contabilizado"
 
 msgctxt "field:account.print_general_ledger.start,start_period:"
 msgid "Start Period"
@@ -1538,11 +1545,11 @@ msgstr "Compañia"
 
 msgctxt "field:account.print_trial_balance.start,empty_account:"
 msgid "Empty Account"
-msgstr "Cuenta vacía"
+msgstr "Cuenta Vacía"
 
 msgctxt "field:account.print_trial_balance.start,end_period:"
 msgid "End Period"
-msgstr "Período final"
+msgstr "Período Final"
 
 msgctxt "field:account.print_trial_balance.start,fiscalyear:"
 msgid "Fiscal Year"
@@ -1554,7 +1561,7 @@ msgstr "ID"
 
 msgctxt "field:account.print_trial_balance.start,posted:"
 msgid "Posted Move"
-msgstr "Asiento Confirmado"
+msgstr "Asiento Contabilizado"
 
 msgctxt "field:account.print_trial_balance.start,start_period:"
 msgid "Start Period"
@@ -1566,7 +1573,7 @@ msgstr "Activo"
 
 msgctxt "field:account.tax,amount:"
 msgid "Amount"
-msgstr "Cantidad"
+msgstr "Valor"
 
 msgctxt "field:account.tax,childs:"
 msgid "Children"
@@ -1586,7 +1593,7 @@ msgstr "Creado por Usuario"
 
 msgctxt "field:account.tax,credit_note_account:"
 msgid "Credit Note Account"
-msgstr "Cuenta de Nota Crédito"
+msgstr "Cuenta Nota Crédito"
 
 msgctxt "field:account.tax,credit_note_base_code:"
 msgid "Credit Note Base Code"
@@ -1598,11 +1605,11 @@ msgstr "Signo Base de la Nota Crédito"
 
 msgctxt "field:account.tax,credit_note_tax_code:"
 msgid "Credit Note Tax Code"
-msgstr "Código de Impuesto de Nota Crédito"
+msgstr "Código de Impuesto Nota Crédito"
 
 msgctxt "field:account.tax,credit_note_tax_sign:"
 msgid "Credit Note Tax Sign"
-msgstr "Signo de Impuesto de Nota Crédito"
+msgstr "Signo de Impuesto Nota Crédito"
 
 msgctxt "field:account.tax,currency_digits:"
 msgid "Currency Digits"
@@ -1612,6 +1619,10 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Descripción"
 
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Fecha Final"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Grupo"
@@ -1626,11 +1637,11 @@ msgstr "Cuenta de la Factura"
 
 msgctxt "field:account.tax,invoice_base_code:"
 msgid "Invoice Base Code"
-msgstr "Código Base de la Factura"
+msgstr "Código de la Base en Factura"
 
 msgctxt "field:account.tax,invoice_base_sign:"
 msgid "Invoice Base Sign"
-msgstr "Signo Base de la Factura"
+msgstr "Signo de la Base en Factura"
 
 msgctxt "field:account.tax,invoice_tax_code:"
 msgid "Invoice Tax Code"
@@ -1660,6 +1671,10 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Secuencia"
 
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Fecha Inicial"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Plantilla"
@@ -1842,7 +1857,7 @@ msgstr "Modificado por Usuario"
 
 msgctxt "field:account.tax.line,amount:"
 msgid "Amount"
-msgstr "Cantidad"
+msgstr "Valor"
 
 msgctxt "field:account.tax.line,code:"
 msgid "Code"
@@ -1994,7 +2009,7 @@ msgstr "ID"
 
 msgctxt "field:account.tax.rule.line.template,origin_tax:"
 msgid "Original Tax"
-msgstr "Impuesto original"
+msgstr "Impuesto Original"
 
 msgctxt "field:account.tax.rule.line.template,rec_name:"
 msgid "Name"
@@ -2066,7 +2081,7 @@ msgstr "Plantilla de Cuenta"
 
 msgctxt "field:account.tax.template,amount:"
 msgid "Amount"
-msgstr "Cantidad"
+msgstr "Valor"
 
 msgctxt "field:account.tax.template,childs:"
 msgid "Children"
@@ -2082,7 +2097,7 @@ msgstr "Creado por Usuario"
 
 msgctxt "field:account.tax.template,credit_note_account:"
 msgid "Credit Note Account"
-msgstr "Cuenta de Nota Crédito"
+msgstr "Cuenta Nota Crédito"
 
 msgctxt "field:account.tax.template,credit_note_base_code:"
 msgid "Credit Note Base Code"
@@ -2094,16 +2109,20 @@ msgstr "Signo Base de la Nota Crédito"
 
 msgctxt "field:account.tax.template,credit_note_tax_code:"
 msgid "Credit Note Tax Code"
-msgstr "Código de Impuesto de Nota Crédito"
+msgstr "Código de Impuesto Nota Crédito"
 
 msgctxt "field:account.tax.template,credit_note_tax_sign:"
 msgid "Credit Note Tax Sign"
-msgstr "Signo de Impuesto de Nota Crédito"
+msgstr "Signo de Impuesto Nota Crédito"
 
 msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Descripción"
 
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Fecha Final"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Grupo"
@@ -2118,11 +2137,11 @@ msgstr "Cuenta de la Factura"
 
 msgctxt "field:account.tax.template,invoice_base_code:"
 msgid "Invoice Base Code"
-msgstr "Código Base de la Factura"
+msgstr "Código de la Base en Factura"
 
 msgctxt "field:account.tax.template,invoice_base_sign:"
 msgid "Invoice Base Sign"
-msgstr "Signo Base de la Factura"
+msgstr "Signo de la Base en Factura"
 
 msgctxt "field:account.tax.template,invoice_tax_code:"
 msgid "Invoice Tax Code"
@@ -2142,7 +2161,7 @@ msgstr "Padre"
 
 msgctxt "field:account.tax.template,rate:"
 msgid "Rate"
-msgstr "Tasa de Cambio"
+msgstr "Porcentaje"
 
 msgctxt "field:account.tax.template,rec_name:"
 msgid "Name"
@@ -2152,6 +2171,10 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Secuencia"
 
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Fecha Inicial"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Tipo"
@@ -2190,7 +2213,7 @@ msgstr "Regla de Impuesto a Cliente"
 
 msgctxt "field:party.party,payable:"
 msgid "Payable"
-msgstr "Por pagar"
+msgstr "Por Pagar"
 
 msgctxt "field:party.party,payable_today:"
 msgid "Payable Today"
@@ -2198,7 +2221,7 @@ msgstr "Por Pagar Hoy"
 
 msgctxt "field:party.party,receivable:"
 msgid "Receivable"
-msgstr "Por cobrar"
+msgstr "Por Cobrar"
 
 msgctxt "field:party.party,receivable_today:"
 msgid "Receivable Today"
@@ -2206,7 +2229,7 @@ msgstr "Por Cobrar Hoy"
 
 msgctxt "field:party.party,supplier_tax_rule:"
 msgid "Supplier Tax Rule"
-msgstr "Regla de impuesto de proveedor"
+msgstr "Regla de Impuesto a Proveedor"
 
 msgctxt "help:account.account,reconcile:"
 msgid ""
@@ -2220,7 +2243,7 @@ msgid ""
 "to have this secondary currency."
 msgstr ""
 "Fuerza el uso de la segunda moneda \n"
-"en todos los asientos de esta cuenta."
+"a todos los asientos de esta cuenta."
 
 msgctxt "help:account.account,taxes:"
 msgid ""
@@ -2228,7 +2251,7 @@ msgid ""
 "for journal types: \"expense\" and \"revenue\""
 msgstr ""
 "Impuesto por defecto para la codificación manual\n"
-"de líneas de asientos para diarios de tipo: \"gastos\" e \"ingresos\"."
+"de líneas de asientos para libros de tipo: \"gastos\" e \"ingresos\"."
 
 msgctxt "help:account.account.type,sequence:"
 msgid "Use to order the account type"
@@ -2268,7 +2291,7 @@ msgstr "Muestra sólo asientos confirmados."
 
 msgctxt "help:account.open_chart.start,fiscalyear:"
 msgid "Leave empty for all open fiscal year"
-msgstr "Dejarlo vacío para abrir todos los años fiscales."
+msgstr "Dejar vacío para abrir todos los años fiscales."
 
 msgctxt "help:account.open_chart.start,posted:"
 msgid "Show posted moves only"
@@ -2328,7 +2351,7 @@ msgstr "Usar para ordenar los impuestos."
 
 msgctxt "help:account.tax.code.open_chart.start,fiscalyear:"
 msgid "Leave empty for all open fiscal year"
-msgstr "Dejarlo vacío para abrir todos los años fiscales."
+msgstr "Dejar vacío para abrir todos los años fiscales."
 
 msgctxt "help:account.tax.code.open_chart.start,periods:"
 msgid "Leave empty for all periods of all open fiscal year"
@@ -2417,7 +2440,7 @@ msgstr "Plantilla de Tipo de Cuenta"
 
 msgctxt "model:account.account.type.template,name:account_type_template_asset"
 msgid "Asset"
-msgstr "Activo"
+msgstr "Activo Fijo"
 
 msgctxt ""
 "model:account.account.type.template,name:account_type_template_asset_current"
@@ -2432,7 +2455,7 @@ msgstr "Efectivo"
 msgctxt ""
 "model:account.account.type.template,name:account_type_template_asset_current_receivable"
 msgid "Receivable"
-msgstr "Por cobrar"
+msgstr "Por Cobrar"
 
 msgctxt ""
 "model:account.account.type.template,name:account_type_template_asset_long_term"
@@ -2516,7 +2539,7 @@ msgstr "Año Fiscal"
 
 msgctxt "model:account.fiscalyear-account.move.line,name:"
 msgid "Fiscal Year - Move Line"
-msgstr "Año fiscal - Línea de asiento"
+msgstr "Año Fiscal - Línea de Asiento"
 
 msgctxt "model:account.fiscalyear.balance_non_deferral.start,name:"
 msgid "Balance Non-Deferral"
@@ -2528,7 +2551,7 @@ msgstr "Cerrar Año Fiscal"
 
 msgctxt "model:account.journal,name:"
 msgid "Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "model:account.journal,name:journal_cash"
 msgid "Cash"
@@ -2544,15 +2567,15 @@ msgstr "Ingresos"
 
 msgctxt "model:account.journal,name:journal_stock"
 msgid "Stock"
-msgstr "Existencias"
+msgstr "Inventarios"
 
 msgctxt "model:account.journal.period,name:"
 msgid "Journal - Period"
-msgstr "Libro Diario - Período"
+msgstr "Libro Contable - Período"
 
 msgctxt "model:account.journal.type,name:"
 msgid "Journal Type"
-msgstr "Tipo de Libro Diario"
+msgstr "Tipo de Libro"
 
 msgctxt "model:account.journal.type,name:journal_type_cash"
 msgid "Cash"
@@ -2574,9 +2597,13 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Situación"
 
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Anulado"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
-msgstr "Vista de Libro Diario"
+msgstr "Vista de Libro Contable"
 
 msgctxt "model:account.journal.view.column,name:"
 msgid "Journal View Column"
@@ -2592,15 +2619,15 @@ msgstr "Línea de Asiento"
 
 msgctxt "model:account.move.open_journal.ask,name:"
 msgid "Open Journal Ask"
-msgstr "Abrir el Libro Diario Pregunta"
+msgstr "Abrir Libro Contable Pregunta"
 
 msgctxt "model:account.move.open_reconcile_lines.start,name:"
 msgid "Open Reconcile Lines"
-msgstr "Abrir Líneas de Conciliación"
+msgstr "Abrir Conciliación de Lineas"
 
 msgctxt "model:account.move.print_general_journal.start,name:"
 msgid "Print General Journal"
-msgstr "Imprimir Libro Diario General"
+msgstr "Imprimir Libro General"
 
 msgctxt "model:account.move.reconcile_lines.writeoff,name:"
 msgid "Reconcile Lines Write-Off"
@@ -2612,7 +2639,7 @@ msgstr "Líneas Conciliación de Asiento"
 
 msgctxt "model:account.move.unreconcile_lines.start,name:"
 msgid "Unreconcile Lines"
-msgstr "Desconciliar líneas"
+msgstr "Desconciliar Líneas"
 
 msgctxt "model:account.open_aged_balance.start,name:"
 msgid "Open Aged Balance"
@@ -2620,7 +2647,7 @@ msgstr "Abrir Cartera Vencida"
 
 msgctxt "model:account.open_balance_sheet.start,name:"
 msgid "Open Balance Sheet"
-msgstr "Abrir Balance General"
+msgstr "Abrir Estado de Situación Financiera"
 
 msgctxt "model:account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
@@ -2628,11 +2655,11 @@ msgstr "Abrir Plan de Cuentas"
 
 msgctxt "model:account.open_income_statement.start,name:"
 msgid "Open Income Statement"
-msgstr "Abrir Estado de Resultados"
+msgstr "Abrir Estado de Resultado Integral"
 
 msgctxt "model:account.open_third_party_balance.start,name:"
 msgid "Open Third Party Balance"
-msgstr "Abrir Balance de un Tercero"
+msgstr "Abrir Balance de Tercero"
 
 msgctxt "model:account.period,name:"
 msgid "Period"
@@ -2656,7 +2683,7 @@ msgstr "Código de Impuesto"
 
 msgctxt "model:account.tax.code.open_chart.start,name:"
 msgid "Open Chart of Tax Codes"
-msgstr "Abrir Plan de Cuentas de Códigos de Impuesto"
+msgstr "Abrir Plan de Códigos de Impuesto"
 
 msgctxt "model:account.tax.code.template,name:"
 msgid "Tax Code Template"
@@ -2700,11 +2727,11 @@ msgstr "Actualizar Plan de Cuentas"
 
 msgctxt "model:ir.action,name:act_account_balance_sheet_tree"
 msgid "Balance Sheet"
-msgstr "Balance General"
+msgstr "Estado de Situación Financiera"
 
 msgctxt "model:ir.action,name:act_account_income_statement_tree"
 msgid "Income Statement"
-msgstr "Estado de Resultados"
+msgstr "Estado de Resultado Integral"
 
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Accounts"
@@ -2748,7 +2775,7 @@ msgstr "Cerrar Año Fiscal"
 
 msgctxt "model:ir.action,name:act_code_tax_open_chart"
 msgid "Open Chart of Tax Codes"
-msgstr "Abrir Plan de Cuentas de Códigos de Impuesto"
+msgstr "Abrir Plan de Códigos de Impuesto"
 
 msgctxt "model:ir.action,name:act_configuration_form"
 msgid "Account Configuration"
@@ -2760,7 +2787,7 @@ msgstr "Años Fiscales"
 
 msgctxt "model:ir.action,name:act_journal_form"
 msgid "Journals"
-msgstr "Libros Diarios"
+msgstr "Libros Contables"
 
 msgctxt "model:ir.action,name:act_journal_period_close"
 msgid "Close Journals - Periods"
@@ -2768,27 +2795,27 @@ msgstr "Cerrar Libros - Períodos"
 
 msgctxt "model:ir.action,name:act_journal_period_form"
 msgid "Journals - Periods"
-msgstr "Libros Diarios - Períodos"
+msgstr "Libros Contables - Períodos"
 
 msgctxt "model:ir.action,name:act_journal_period_reopen"
 msgid "Re-Open Journals - Periods"
-msgstr "Reabrir Libros Diarios - Períodos"
+msgstr "Reabrir Libros - Períodos"
 
 msgctxt "model:ir.action,name:act_journal_period_tree"
 msgid "Journals - Periods"
-msgstr "Libros Diarios - Períodos"
+msgstr "Libros Contables - Períodos"
 
 msgctxt "model:ir.action,name:act_journal_period_tree2"
 msgid "Journals - Periods"
-msgstr "Libros Diarios - Períodos"
+msgstr "Libros Contables - Períodos"
 
 msgctxt "model:ir.action,name:act_journal_type_form"
 msgid "Journal Types"
-msgstr "Tipos de Libro Diario"
+msgstr "Tipos de Libros"
 
 msgctxt "model:ir.action,name:act_journal_view_form"
 msgid "Journal Views"
-msgstr "Vistas de Libros Diarios"
+msgstr "Vistas de Libros"
 
 msgctxt "model:ir.action,name:act_move_form"
 msgid "Account Moves"
@@ -2806,9 +2833,13 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr "Líneas de Cuentas por Cobrar"
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr "Conciliación de Líneas"
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
-msgstr "Abrir Cuenta del Asiento"
+msgstr "Abrir  Asiento Contable"
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Accounts"
@@ -2816,11 +2847,11 @@ msgstr "Abrir Plan de Cuentas"
 
 msgctxt "model:ir.action,name:act_open_journal"
 msgid "Open Journal"
-msgstr "Abrir Libro Diario"
+msgstr "Abrir Libro Contable"
 
 msgctxt "model:ir.action,name:act_open_reconcile_lines"
 msgid "Open Reconcile Lines"
-msgstr "Abrir Líneas de Conciliación"
+msgstr "Abrir Conciliación de Lineas"
 
 msgctxt "model:ir.action,name:act_open_tax_code"
 msgid "Open Tax Code"
@@ -2852,7 +2883,7 @@ msgstr "Conciliar Líneas"
 
 msgctxt "model:ir.action,name:act_tax_code_list"
 msgid "Tax Codes"
-msgstr "Códigos de impuesto"
+msgstr "Códigos de Impuesto"
 
 msgctxt "model:ir.action,name:act_tax_code_template_tree"
 msgid "Tax Codes Templates"
@@ -2860,11 +2891,11 @@ msgstr "Plantillas de Códigos de Impuesto"
 
 msgctxt "model:ir.action,name:act_tax_code_tree"
 msgid "Tax Codes"
-msgstr "Códigos de impuesto"
+msgstr "Códigos de Impuesto"
 
 msgctxt "model:ir.action,name:act_tax_code_tree2"
 msgid "Tax Codes"
-msgstr "Códigos de impuesto"
+msgstr "Códigos de Impuesto"
 
 msgctxt "model:ir.action,name:act_tax_group_form"
 msgid "Tax Groups"
@@ -2896,7 +2927,7 @@ msgstr "Impuestos"
 
 msgctxt "model:ir.action,name:act_unreconcile_lines"
 msgid "Unreconcile Lines"
-msgstr "Desconciliar líneas"
+msgstr "Desconciliar Líneas"
 
 msgctxt "model:ir.action,name:report_aged_balance"
 msgid "Aged Balance"
@@ -2904,7 +2935,7 @@ msgstr "Cartera Vencida"
 
 msgctxt "model:ir.action,name:report_general_journal"
 msgid "General Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "model:ir.action,name:report_general_ledger"
 msgid "General Ledger"
@@ -2928,15 +2959,15 @@ msgstr "Abrir Cartera Vencida"
 
 msgctxt "model:ir.action,name:wizard_open_balance_sheet"
 msgid "Open Balance Sheet"
-msgstr "Abrir Balance General"
+msgstr "Abrir Estado de Situación Financiera"
 
 msgctxt "model:ir.action,name:wizard_open_income_statement"
 msgid "Open Income Statement"
-msgstr "Abrir Estado de Resultados"
+msgstr "Abrir Estado de Resultado Integral"
 
 msgctxt "model:ir.action,name:wizard_open_third_party_balance"
 msgid "Open Third Party Balance"
-msgstr "Abrir Balance de un Tercero"
+msgstr "Abrir Balance de Tercero"
 
 msgctxt "model:ir.action,name:wizard_print_general_journal"
 msgid "Print General Journal"
@@ -2952,7 +2983,7 @@ msgstr "Imprimir Balance de Prueba"
 
 msgctxt "model:ir.action,name:wizard_update_chart"
 msgid "Update Chart of Accounts from Template"
-msgstr "Actualizar Plan de Cuentas Desde Plantilla"
+msgstr "Actualizar Plan de Cuentas desde Plantilla"
 
 msgctxt "model:ir.sequence,name:sequence_account_journal"
 msgid "Default Account Journal"
@@ -3025,7 +3056,7 @@ msgstr "Cerrar Año Fiscal"
 
 msgctxt "model:ir.ui.menu,name:menu_code_tax_open_chart"
 msgid "Open Chart of Tax Codes"
-msgstr "Abrir Plan de Cuentas de Códigos de Impuesto"
+msgstr "Abrir Plan de Códigos de Impuesto"
 
 msgctxt "model:ir.ui.menu,name:menu_create_chart"
 msgid "Create Chart of Accounts from Template"
@@ -3045,15 +3076,15 @@ msgstr "Años Fiscales"
 
 msgctxt "model:ir.ui.menu,name:menu_general_account_configuration"
 msgid "General Account"
-msgstr "Cuentas"
+msgstr "Plan de Cuentas"
 
 msgctxt "model:ir.ui.menu,name:menu_journal_configuration"
 msgid "Journals"
-msgstr "Libros Diarios"
+msgstr "Libros Contables"
 
 msgctxt "model:ir.ui.menu,name:menu_journal_form"
 msgid "Journals"
-msgstr "Libros Diarios"
+msgstr "Libros Contables"
 
 msgctxt "model:ir.ui.menu,name:menu_journal_period_form"
 msgid "Close Journals - Periods"
@@ -3061,19 +3092,19 @@ msgstr "Cerrar Libros - Períodos"
 
 msgctxt "model:ir.ui.menu,name:menu_journal_period_tree"
 msgid "Journals - Periods"
-msgstr "Libros Diarios - Períodos"
+msgstr "Libros Contables - Períodos"
 
 msgctxt "model:ir.ui.menu,name:menu_journal_period_tree2"
 msgid "Journals - Periods"
-msgstr "Libros Diarios - Períodos"
+msgstr "Libros Contables - Períodos"
 
 msgctxt "model:ir.ui.menu,name:menu_journal_type_form"
 msgid "Journal Types"
-msgstr "Tipos de Libro Diario"
+msgstr "Tipos de Libros"
 
 msgctxt "model:ir.ui.menu,name:menu_journal_view_form"
 msgid "Journal Views"
-msgstr "Vistas de Libros Diarios"
+msgstr "Vistas de Libros"
 
 msgctxt "model:ir.ui.menu,name:menu_move_form"
 msgid "Account Moves"
@@ -3081,7 +3112,7 @@ msgstr "Asientos Contables"
 
 msgctxt "model:ir.ui.menu,name:menu_open_balance_sheet"
 msgid "Balance Sheet"
-msgstr "Balance General"
+msgstr "Estado de Situación Financiera"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Accounts"
@@ -3089,11 +3120,11 @@ msgstr "Abrir Plan de Cuentas"
 
 msgctxt "model:ir.ui.menu,name:menu_open_income_statement"
 msgid "Income Statement"
-msgstr "Estado de Resultados"
+msgstr "Estado de Resultado Integral"
 
 msgctxt "model:ir.ui.menu,name:menu_open_journal"
 msgid "Open Journal"
-msgstr "Abrir Libro Diario"
+msgstr "Abrir Libro Contable"
 
 msgctxt "model:ir.ui.menu,name:menu_open_reconcile_lines"
 msgid "Reconcile Lines"
@@ -3109,7 +3140,7 @@ msgstr "Cerrar Períodos"
 
 msgctxt "model:ir.ui.menu,name:menu_print_general_journal"
 msgid "Print General Journal"
-msgstr "Imprimir Libro Diario General"
+msgstr "Imprimir Libro General"
 
 msgctxt "model:ir.ui.menu,name:menu_print_general_ledger"
 msgid "Print General Legder"
@@ -3121,7 +3152,7 @@ msgstr "Imprimir Balance de Prueba"
 
 msgctxt "model:ir.ui.menu,name:menu_processing"
 msgid "Processing"
-msgstr "Procesamiento"
+msgstr "Procesos"
 
 msgctxt "model:ir.ui.menu,name:menu_reporting"
 msgid "Reporting"
@@ -3129,7 +3160,7 @@ msgstr "Informes"
 
 msgctxt "model:ir.ui.menu,name:menu_tax_code_list"
 msgid "Tax Codes"
-msgstr "Códigos de impuesto"
+msgstr "Códigos de Impuesto"
 
 msgctxt "model:ir.ui.menu,name:menu_tax_code_template_tree"
 msgid "Tax Codes Templates"
@@ -3137,7 +3168,7 @@ msgstr "Plantillas de Códigos de Impuesto"
 
 msgctxt "model:ir.ui.menu,name:menu_tax_code_tree"
 msgid "Tax Codes"
-msgstr "Códigos de impuesto"
+msgstr "Códigos de Impuesto"
 
 msgctxt "model:ir.ui.menu,name:menu_tax_group_form"
 msgid "Tax Groups"
@@ -3173,7 +3204,7 @@ msgstr "Balance de Tercero"
 
 msgctxt "model:ir.ui.menu,name:menu_update_chart"
 msgid "Update Chart of Accounts from Template"
-msgstr "Actualizar Plan de Cuentas Desde Plantilla"
+msgstr "Actualizar Plan de Cuentas desde Plantilla"
 
 msgctxt "model:ir.ui.menu,name:menuitem_account_configuration"
 msgid "Account Configuration"
@@ -3261,7 +3292,7 @@ msgstr "Compañia:"
 
 msgctxt "odt:account.general_ledger:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Crédito"
 
 msgctxt "odt:account.general_ledger:"
 msgid "Date"
@@ -3269,7 +3300,7 @@ msgstr "Fecha"
 
 msgctxt "odt:account.general_ledger:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Débito"
 
 msgctxt "odt:account.general_ledger:"
 msgid "Descr."
@@ -3297,7 +3328,7 @@ msgstr "Origen"
 
 msgctxt "odt:account.general_ledger:"
 msgid "Print Date:"
-msgstr "Fecha de impresión:"
+msgstr "Fecha de Impresión:"
 
 msgctxt "odt:account.general_ledger:"
 msgid "State"
@@ -3333,7 +3364,7 @@ msgstr "Compañia:"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Crédito"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Date:"
@@ -3341,7 +3372,7 @@ msgstr "Fecha:"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Débito"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Description"
@@ -3357,11 +3388,11 @@ msgstr "Fecha inicial:"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "General Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Journal Entry:"
-msgstr "Asiento de Libro Diario:"
+msgstr "Asiento en Libro:"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Origin:"
@@ -3369,11 +3400,11 @@ msgstr "Origen:"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Posted"
-msgstr "Confirmado"
+msgstr "Contabilizado"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Print Date:"
-msgstr "Fecha impresión:"
+msgstr "Fecha de Impresión:"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "To Date:"
@@ -3401,11 +3432,11 @@ msgstr "Compañia:"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Crédito"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Débito"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Party"
@@ -3413,7 +3444,7 @@ msgstr "Tercero"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Print Date:"
-msgstr "Fecha de impresión:"
+msgstr "Fecha de Impresión:"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Third Party Balance"
@@ -3445,15 +3476,15 @@ msgstr "Compañia:"
 
 msgctxt "odt:account.trial_balance:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Crédito"
 
 msgctxt "odt:account.trial_balance:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Débito"
 
 msgctxt "odt:account.trial_balance:"
 msgid "End Balance"
-msgstr "Balance Final"
+msgstr "Saldo Final"
 
 msgctxt "odt:account.trial_balance:"
 msgid "From Period:"
@@ -3509,7 +3540,7 @@ msgstr "Ingresos"
 
 msgctxt "selection:account.account,kind:"
 msgid "Stock"
-msgstr "Existencias"
+msgstr "Inventarios"
 
 msgctxt "selection:account.account,kind:"
 msgid "View"
@@ -3529,7 +3560,7 @@ msgstr "Por pagar"
 
 msgctxt "selection:account.account.template,kind:"
 msgid "Receivable"
-msgstr "Por cobrar"
+msgstr "Por Cobrar"
 
 msgctxt "selection:account.account.template,kind:"
 msgid "Revenue"
@@ -3537,7 +3568,7 @@ msgstr "Ingresos"
 
 msgctxt "selection:account.account.template,kind:"
 msgid "Stock"
-msgstr "Existencias"
+msgstr "Inventarios"
 
 msgctxt "selection:account.account.template,kind:"
 msgid "View"
@@ -3581,7 +3612,7 @@ msgstr "Borrador"
 
 msgctxt "selection:account.move,state:"
 msgid "Posted"
-msgstr "Confirmado"
+msgstr "Contabilizado"
 
 msgctxt "selection:account.move.line,move_state:"
 msgid "Draft"
@@ -3589,7 +3620,7 @@ msgstr "Borrador"
 
 msgctxt "selection:account.move.line,move_state:"
 msgid "Posted"
-msgstr "Confirmado"
+msgstr "Contabilizado"
 
 msgctxt "selection:account.move.line,state:"
 msgid "Draft"
@@ -3737,7 +3768,7 @@ msgstr "Tipos de cuenta"
 
 msgctxt "view:account.account.type:"
 msgid "Balance Sheet"
-msgstr "Balance General"
+msgstr "Estado de Situación Financiera"
 
 msgctxt "view:account.account.type:"
 msgid "Income Statement"
@@ -3797,7 +3828,7 @@ msgstr "Cerrar Año Fiscal"
 
 msgctxt "view:account.fiscalyear:"
 msgid "Are you sure to close fiscal year?"
-msgstr "¿Está seguro que quiere cerrar el año fiscal?"
+msgstr "Está seguro que quiere cerrar el año fiscal?"
 
 msgctxt "view:account.fiscalyear:"
 msgid "Close Fiscal Year"
@@ -3833,19 +3864,19 @@ msgstr "Secuencias"
 
 msgctxt "view:account.journal.period:"
 msgid "Journal - Period"
-msgstr "Libro Diario - Período"
+msgstr "Libro Contable - Período"
 
 msgctxt "view:account.journal.period:"
 msgid "Journals - Periods"
-msgstr "Libros Diarios - Períodos"
+msgstr "Libros Contables - Períodos"
 
 msgctxt "view:account.journal.type:"
 msgid "Journal Type"
-msgstr "Tipo de Libro Diario"
+msgstr "Tipo de Libro"
 
 msgctxt "view:account.journal.type:"
 msgid "Journal Types"
-msgstr "Tipos de Libro Diario"
+msgstr "Tipos de Libros"
 
 msgctxt "view:account.journal.view.column:"
 msgid "View Column"
@@ -3857,23 +3888,23 @@ msgstr "Ver Columnas"
 
 msgctxt "view:account.journal.view:"
 msgid "Journal View"
-msgstr "Vista de Libro Diario"
+msgstr "Vista de Libro Contable"
 
 msgctxt "view:account.journal.view:"
 msgid "Journal Views"
-msgstr "Vistas de Libros Diarios"
+msgstr "Vistas de Libros"
 
 msgctxt "view:account.journal:"
 msgid "General Information"
-msgstr "Información general"
+msgstr "Información General"
 
 msgctxt "view:account.journal:"
 msgid "Journal"
-msgstr "Libro Diario"
+msgstr "Libro Contable"
 
 msgctxt "view:account.journal:"
 msgid "Journals"
-msgstr "Libros Diarios"
+msgstr "Libros Contables"
 
 msgctxt "view:account.move.line:"
 msgid "Account Move Line"
@@ -3885,11 +3916,11 @@ msgstr "Líneas de Asiento"
 
 msgctxt "view:account.move.line:"
 msgid "Credit"
-msgstr "Haber"
+msgstr "Crédito"
 
 msgctxt "view:account.move.line:"
 msgid "Debit"
-msgstr "Debe"
+msgstr "Débito"
 
 msgctxt "view:account.move.line:"
 msgid "Other Info"
@@ -3897,11 +3928,11 @@ msgstr "Info Adicional"
 
 msgctxt "view:account.move.open_journal.ask:"
 msgid "Open Journal"
-msgstr "Abrir Libro Diario"
+msgstr "Abrir Libro Contable"
 
 msgctxt "view:account.move.open_reconcile_lines.start:"
 msgid "Open Reconcile Lines"
-msgstr "Abrir Líneas de Conciliación"
+msgstr "Abrir Conciliación de Lineas"
 
 msgctxt "view:account.move.print_general_journal.start:"
 msgid "Print General Journal"
@@ -3933,7 +3964,7 @@ msgstr "Borrador"
 
 msgctxt "view:account.move:"
 msgid "Post"
-msgstr "Confirmar"
+msgstr "Contabilizar"
 
 msgctxt "view:account.open_aged_balance.start:"
 msgid "Open Aged Balance"
@@ -3945,7 +3976,7 @@ msgstr "Plazos"
 
 msgctxt "view:account.open_balance_sheet.start:"
 msgid "Open Balance Sheet"
-msgstr "Abrir Balance General"
+msgstr "Abrir Estado de Situación Financiera"
 
 msgctxt "view:account.open_chart.start:"
 msgid "Open Chart of Accounts"
@@ -3953,11 +3984,11 @@ msgstr "Abrir Plan de Cuentas"
 
 msgctxt "view:account.open_income_statement.start:"
 msgid "Open Income Statement"
-msgstr "Abrir Estado de Resultados"
+msgstr "Abrir Estado de Resultado Integral"
 
 msgctxt "view:account.open_third_party_balance.start:"
 msgid "Open Third Party Balance"
-msgstr "Abrir Balance de un Tercero"
+msgstr "Abrir Balance de Tercero"
 
 msgctxt "view:account.period:"
 msgid "Period"
@@ -3977,7 +4008,7 @@ msgstr "Imprimir Balance de Prueba"
 
 msgctxt "view:account.tax.code.open_chart.start:"
 msgid "Open Chart of Tax Codes"
-msgstr "Abrir Plan de Cuentas de Códigos de Impuesto"
+msgstr "Abrir Plan de Códigos de Impuesto"
 
 msgctxt "view:account.tax.code.template:"
 msgid "Children"
@@ -4005,11 +4036,11 @@ msgstr "Descripción"
 
 msgctxt "view:account.tax.code:"
 msgid "Tax Code"
-msgstr "Código de impuesto"
+msgstr "Código de Impuesto"
 
 msgctxt "view:account.tax.code:"
 msgid "Tax Codes"
-msgstr "Códigos de impuesto"
+msgstr "Códigos de Impuesto"
 
 msgctxt "view:account.tax.group:"
 msgid "Tax Group"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 6098aae..8686967 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -189,15 +189,15 @@ msgstr "No puede confirmar el asiento \"%s\" porque está vacío."
 msgctxt "error:account.move:"
 msgid "You can not set posted move \"%(move)s\" to draft in journal \"%(journal)s\"."
 msgstr ""
-"No puede establecer a borrador el asiento confirmado \"%(move)s\" en el "
-"diario \"%(journal)s\"."
+"No puede cambiar a borrador el asiento confirmado \"%(move)s\" en el diario "
+"\"%(journal)s\"."
 
 msgctxt "error:account.move:"
 msgid ""
 "You can not set to draft move \"%(move)s\" because period \"%(period)s\" is "
 "closed."
 msgstr ""
-"No puede establecer a borrador el asiento \"%s(move)s\" porque el período "
+"No puede cambiar a borrador el asiento \"%s(move)s\" porque el período "
 "\"%(period)s\" está cerrado."
 
 msgctxt "error:account.open_aged_balance:"
@@ -1193,6 +1193,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Asiento"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr "Descripción asiento"
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "Estado asiento"
@@ -1281,10 +1285,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Fecha final"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Cuenta"
-
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
 msgstr "Importe"
@@ -1297,6 +1297,10 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Fecha"
 
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Descripción"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
@@ -1609,6 +1613,10 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Descripción"
 
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Fecha final"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Grupo"
@@ -1657,6 +1665,10 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Secuencia"
 
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Fecha inicial"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Plantilla"
@@ -2101,6 +2113,10 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Descripción"
 
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Fecha final"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Grupo"
@@ -2149,6 +2165,10 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Secuencia"
 
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Fecha inicial"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Tipo"
@@ -2572,6 +2592,10 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Situación"
 
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Desajuste"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Vista de diario"
@@ -2602,7 +2626,7 @@ msgstr "Imprimir libro diario"
 
 msgctxt "model:account.move.reconcile_lines.writeoff,name:"
 msgid "Reconcile Lines Write-Off"
-msgstr "Conciliar apuntes con desfase"
+msgstr "Conciliar apuntes con desajuste"
 
 msgctxt "model:account.move.reconciliation,name:"
 msgid "Account Move Reconciliation Lines"
@@ -2804,6 +2828,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr "Líneas a cobrar"
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr "Líneas de conciliación"
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr "Abrir cuenta del asiento"
@@ -3119,7 +3147,7 @@ msgstr "Imprimir balance de sumas y saldos"
 
 msgctxt "model:ir.ui.menu,name:menu_processing"
 msgid "Processing"
-msgstr "Procesamiento"
+msgstr "Procesos"
 
 msgctxt "model:ir.ui.menu,name:menu_reporting"
 msgid "Reporting"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index f296133..ecda216 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -1212,6 +1212,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Mouvement"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr "Description du mouvement"
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "État du mouvement"
@@ -1300,10 +1304,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Date de fin"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Compte"
-
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
 msgstr "Montant"
@@ -1316,6 +1316,10 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Date"
 
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Description"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
@@ -1628,6 +1632,10 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Description"
 
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Date de fin"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Groupe"
@@ -1676,6 +1684,10 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Séquence"
 
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Date de début"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Modèle"
@@ -2120,6 +2132,10 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Description"
 
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Date de fin"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Groupe"
@@ -2168,6 +2184,10 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Séquence"
 
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Date de début"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Type"
@@ -2206,11 +2226,11 @@ msgstr "Règle de taxe client"
 
 msgctxt "field:party.party,payable:"
 msgid "Payable"
-msgstr "À Payer"
+msgstr "À payer"
 
 msgctxt "field:party.party,payable_today:"
 msgid "Payable Today"
-msgstr "À Payer aujourd'hui"
+msgstr "À payer aujourd'hui"
 
 msgctxt "field:party.party,receivable:"
 msgid "Receivable"
@@ -2481,7 +2501,7 @@ msgstr "Courant"
 msgctxt ""
 "model:account.account.type.template,name:account_type_template_liability_current_payable"
 msgid "Payable"
-msgstr "À Payer"
+msgstr "À payer"
 
 msgctxt ""
 "model:account.account.type.template,name:account_type_template_liability_current_tax"
@@ -2588,6 +2608,10 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Situation"
 
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Pertes et profits"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Vue de journal"
@@ -2820,6 +2844,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr "Lignes à recevoir"
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr "Lignes de réconciliation"
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr "Ouvrir le compte"
@@ -3199,7 +3227,7 @@ msgstr "Compte"
 
 msgctxt "model:res.group,name:group_account_admin"
 msgid "Account Administration"
-msgstr "Administration comptable"
+msgstr "Administration de la comptablilité"
 
 msgctxt "odt:account.aged_balance:"
 msgid "/"
@@ -3511,7 +3539,7 @@ msgstr "Autre"
 
 msgctxt "selection:account.account,kind:"
 msgid "Payable"
-msgstr "À Payer"
+msgstr "À payer"
 
 msgctxt "selection:account.account,kind:"
 msgid "Receivable"
@@ -3539,7 +3567,7 @@ msgstr "Autre"
 
 msgctxt "selection:account.account.template,kind:"
 msgid "Payable"
-msgstr "À Payer"
+msgstr "À payer"
 
 msgctxt "selection:account.account.template,kind:"
 msgid "Receivable"
@@ -3811,7 +3839,7 @@ msgstr "Clôturer une année fiscale"
 
 msgctxt "view:account.fiscalyear:"
 msgid "Are you sure to close fiscal year?"
-msgstr "Êtes-vous sûr de clôturer l'année fiscale?"
+msgstr "Êtes-vous sûr de clôturer l'année fiscale ?"
 
 msgctxt "view:account.fiscalyear:"
 msgid "Close Fiscal Year"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index bcf2988..8f13a8f 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -1167,6 +1167,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Boeking"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr ""
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "Status boeking"
@@ -1259,10 +1263,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Tot datum"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Rekening"
-
 #, fuzzy
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
@@ -1277,6 +1277,11 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Datum"
 
+#, fuzzy
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Specificatie"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr ""
@@ -1604,6 +1609,11 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Omschrijving"
 
+#, fuzzy
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Einddatum"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Groep"
@@ -1653,6 +1663,11 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Reeks"
 
+#, fuzzy
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Start datum"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Sjabloon"
@@ -2102,6 +2117,11 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Omschrijving"
 
+#, fuzzy
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Einddatum"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Groep"
@@ -2151,6 +2171,11 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Reeks"
 
+#, fuzzy
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Start datum"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Type"
@@ -2570,6 +2595,11 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Situatie"
 
+#, fuzzy
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Afschrijven"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Dagboek indeling"
@@ -2814,6 +2844,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr "Boeking rekening openen"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 2d6dc28..4592996 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -1195,6 +1195,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Перемещение"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr ""
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "Статус проводки"
@@ -1283,10 +1287,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Конечная дата"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Счет"
-
 #, fuzzy
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
@@ -1301,6 +1301,11 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Дата"
 
+#, fuzzy
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Описание"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
@@ -1614,6 +1619,11 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Описание"
 
+#, fuzzy
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Конечная дата"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Группа"
@@ -1663,6 +1673,11 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Нумерация"
 
+#, fuzzy
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Начальная дата"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Шаблон"
@@ -2107,6 +2122,11 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Описание"
 
+#, fuzzy
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Конечная дата"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Группа"
@@ -2156,6 +2176,11 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Нумерация"
 
+#, fuzzy
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Начальная дата"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Тип"
@@ -2575,6 +2600,11 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Ситуационный"
 
+#, fuzzy
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Списание"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Вид журнала"
@@ -2807,6 +2837,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr "Строки получения"
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr "Открыть счет проводок"
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index 5686ef9..e1a1884 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -149,8 +149,8 @@ msgid ""
 "You can not reconcile line \"%(line)s\" because it's party \"%(party1)s\" is"
 " different from %(party2)s\"."
 msgstr ""
-"Postavke \"%(line)s\" ni možni uskladiti zaradi njene stranke \"%(party1)s\""
-" različne od %(party2)s\"."
+"Postavke \"%(line)s\" ni možni uskladiti zaradi partnerja \"%(party1)s\" na "
+"postavki, ki je različen od %(party2)s\"."
 
 msgctxt "error:account.move.reconciliation:"
 msgid "You can not reconcile line \"%s\" because it is not in valid state."
@@ -158,8 +158,7 @@ msgstr "Postavke \"%s\" ni možno uskladiti zaradi neveljavnega stanja."
 
 msgctxt "error:account.move:"
 msgid "You can not create lines on accountsof different companies in move \"%s\"."
-msgstr ""
-"Postavk na kontih različnih podjetjih v knjižbi \"%s\" ni možno ustvarjati."
+msgstr "Postavk na kontih različnih družb v knjižbi \"%s\" ni možno ustvarjati."
 
 msgctxt "error:account.move:"
 msgid ""
@@ -185,14 +184,14 @@ msgctxt "error:account.move:"
 msgid "You can not set posted move \"%(move)s\" to draft in journal \"%(journal)s\"."
 msgstr ""
 "Knjižene postavke \"%(move)s\" v dnevniku \"%(journal)s\" ni možno "
-"preklopiti v stanje osnutka."
+"prestaviti v stanje priprave."
 
 msgctxt "error:account.move:"
 msgid ""
 "You can not set to draft move \"%(move)s\" because period \"%(period)s\" is "
 "closed."
 msgstr ""
-"Knjižbe \"%(move)s\" ni možno preklopiti v stanje osnutka zaradi "
+"Knjižbe \"%(move)s\" ni možno preklopiti v stanje priprave zaradi "
 "zaključenega obdobja \"%(period)s\"."
 
 msgctxt "error:account.open_aged_balance:"
@@ -212,7 +211,7 @@ msgid ""
 "Company of sequence \"%(sequence)s\" does not match the company of period "
 "\"%(period)s\" to which it is assigned to."
 msgstr ""
-"Podjetje štetja \"%(sequence)s\" se ne ujema s podjetjem dodeljenga obdobja "
+"Družba štetja \"%(sequence)s\" se ne ujema s družbo dodeljenga obdobja "
 "\"%(period)s\"."
 
 msgctxt "error:account.period:"
@@ -274,7 +273,7 @@ msgstr "Šifra"
 
 msgctxt "field:account.account,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.account,create_date:"
 msgid "Create Date"
@@ -554,7 +553,7 @@ msgstr "Podtipi"
 
 msgctxt "field:account.account.type,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.account.type,create_date:"
 msgid "Create Date"
@@ -698,7 +697,7 @@ msgstr "Predloga konta"
 
 msgctxt "field:account.create_chart.account,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.create_chart.account,id:"
 msgid "ID"
@@ -714,7 +713,7 @@ msgstr "Privzeti terjatveni konto"
 
 msgctxt "field:account.create_chart.properties,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.create_chart.properties,id:"
 msgid "ID"
@@ -734,7 +733,7 @@ msgstr "Šifra"
 
 msgctxt "field:account.fiscalyear,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.fiscalyear,create_date:"
 msgid "Create Date"
@@ -1184,6 +1183,10 @@ msgctxt "field:account.move.line,move:"
 msgid "Move"
 msgstr "Knjižba"
 
+msgctxt "field:account.move.line,move_description:"
+msgid "Move Description"
+msgstr "Opis knjižbe"
+
 msgctxt "field:account.move.line,move_state:"
 msgid "Move State"
 msgstr "Stanje knjižbe"
@@ -1194,7 +1197,7 @@ msgstr "Poreklo"
 
 msgctxt "field:account.move.line,party:"
 msgid "Party"
-msgstr "Stranka"
+msgstr "Partner"
 
 msgctxt "field:account.move.line,period:"
 msgid "Period"
@@ -1254,7 +1257,7 @@ msgstr "ID"
 
 msgctxt "field:account.move.print_general_journal.start,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.move.print_general_journal.start,from_date:"
 msgid "From Date"
@@ -1272,10 +1275,6 @@ msgctxt "field:account.move.print_general_journal.start,to_date:"
 msgid "To Date"
 msgstr "Do"
 
-msgctxt "field:account.move.reconcile_lines.writeoff,account:"
-msgid "Account"
-msgstr "Konto"
-
 msgctxt "field:account.move.reconcile_lines.writeoff,amount:"
 msgid "Amount"
 msgstr "Znesek"
@@ -1288,6 +1287,10 @@ msgctxt "field:account.move.reconcile_lines.writeoff,date:"
 msgid "Date"
 msgstr "Datum"
 
+msgctxt "field:account.move.reconcile_lines.writeoff,description:"
+msgid "Description"
+msgstr "Opis"
+
 msgctxt "field:account.move.reconcile_lines.writeoff,id:"
 msgid "ID"
 msgstr "ID"
@@ -1338,7 +1341,7 @@ msgstr "Tip"
 
 msgctxt "field:account.open_aged_balance.start,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.open_aged_balance.start,id:"
 msgid "ID"
@@ -1366,7 +1369,7 @@ msgstr "Enota"
 
 msgctxt "field:account.open_balance_sheet.start,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.open_balance_sheet.start,date:"
 msgid "Date"
@@ -1394,7 +1397,7 @@ msgstr "Knjižbe"
 
 msgctxt "field:account.open_income_statement.start,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.open_income_statement.start,end_period:"
 msgid "End Period"
@@ -1418,7 +1421,7 @@ msgstr "Od"
 
 msgctxt "field:account.open_third_party_balance.start,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.open_third_party_balance.start,fiscalyear:"
 msgid "Fiscal Year"
@@ -1438,7 +1441,7 @@ msgstr "Šifra"
 
 msgctxt "field:account.period,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.period,create_date:"
 msgid "Create Date"
@@ -1494,7 +1497,7 @@ msgstr "Zapisal"
 
 msgctxt "field:account.print_general_ledger.start,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.print_general_ledger.start,empty_account:"
 msgid "Empty Account"
@@ -1522,7 +1525,7 @@ msgstr "Od"
 
 msgctxt "field:account.print_trial_balance.start,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.print_trial_balance.start,empty_account:"
 msgid "Empty Account"
@@ -1562,7 +1565,7 @@ msgstr "Poddavki"
 
 msgctxt "field:account.tax,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.tax,create_date:"
 msgid "Create Date"
@@ -1600,6 +1603,10 @@ msgctxt "field:account.tax,description:"
 msgid "Description"
 msgstr "Opis"
 
+msgctxt "field:account.tax,end_date:"
+msgid "Ending Date"
+msgstr "Do"
+
 msgctxt "field:account.tax,group:"
 msgid "Group"
 msgstr "Skupina"
@@ -1648,6 +1655,10 @@ msgctxt "field:account.tax,sequence:"
 msgid "Sequence"
 msgstr "Zap.št."
 
+msgctxt "field:account.tax,start_date:"
+msgid "Starting Date"
+msgstr "Od"
+
 msgctxt "field:account.tax,template:"
 msgid "Template"
 msgstr "Predloga"
@@ -1678,7 +1689,7 @@ msgstr "Šifra"
 
 msgctxt "field:account.tax.code,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.tax.code,create_date:"
 msgid "Create Date"
@@ -1874,7 +1885,7 @@ msgstr "Zapisal"
 
 msgctxt "field:account.tax.rule,company:"
 msgid "Company"
-msgstr "Podjetje"
+msgstr "Družba"
 
 msgctxt "field:account.tax.rule,create_date:"
 msgid "Create Date"
@@ -2092,6 +2103,10 @@ msgctxt "field:account.tax.template,description:"
 msgid "Description"
 msgstr "Opis"
 
+msgctxt "field:account.tax.template,end_date:"
+msgid "Ending Date"
+msgstr "Do"
+
 msgctxt "field:account.tax.template,group:"
 msgid "Group"
 msgstr "Skupina"
@@ -2140,6 +2155,10 @@ msgctxt "field:account.tax.template,sequence:"
 msgid "Sequence"
 msgstr "Zap.št."
 
+msgctxt "field:account.tax.template,start_date:"
+msgid "Starting Date"
+msgstr "Od"
+
 msgctxt "field:account.tax.template,type:"
 msgid "Type"
 msgstr "Tip"
@@ -2286,7 +2305,7 @@ msgstr "Prikaži samo knjižene postavke"
 
 msgctxt "help:account.tax,amount:"
 msgid "In company's currency"
-msgstr "V valuti podjetja"
+msgstr "V valuti družbe"
 
 msgctxt "help:account.tax,credit_note_base_sign:"
 msgid "Usualy 1 or -1"
@@ -2335,11 +2354,11 @@ msgstr ""
 
 msgctxt "help:party.party,customer_tax_rule:"
 msgid "Apply this rule on taxes when party is customer."
-msgstr "Če je stranka kupec, uporabi ta davčni predpis."
+msgstr "Če je partner kupec, uporabi ta davčni predpis."
 
 msgctxt "help:party.party,supplier_tax_rule:"
 msgid "Apply this rule on taxes when party is supplier."
-msgstr "Če je stranka dobavitelj, uporabi ta davčni predpis."
+msgstr "Če je partner dobavitelj, uporabi ta davčni predpis."
 
 msgctxt "model:account.account,name:"
 msgid "Account"
@@ -2556,6 +2575,10 @@ msgctxt "model:account.journal.type,name:journal_type_situation"
 msgid "Situation"
 msgstr "Situacija"
 
+msgctxt "model:account.journal.type,name:journal_type_write_off"
+msgid "Write-Off"
+msgstr "Odpis"
+
 msgctxt "model:account.journal.view,name:"
 msgid "Journal View"
 msgstr "Vpogled v dnevnik"
@@ -2590,7 +2613,7 @@ msgstr "Odpis usklajenih postavk"
 
 msgctxt "model:account.move.reconciliation,name:"
 msgid "Account Move Reconciliation Lines"
-msgstr "Usklajene postavke knjiženja"
+msgstr "Usklajene postavke knjižbe"
 
 msgctxt "model:account.move.unreconcile_lines.start,name:"
 msgid "Unreconcile Lines"
@@ -2788,6 +2811,10 @@ msgctxt "model:ir.action,name:act_move_line_receivable"
 msgid "Receivable Lines"
 msgstr "Postavke terjatev"
 
+msgctxt "model:ir.action,name:act_move_reconciliation_lines"
+msgid "Reconciliation Lines"
+msgstr "Postavke uskladitve"
+
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Move Account"
 msgstr "Odpri konto postavke"
@@ -2942,7 +2969,7 @@ msgstr "Privzeti kontni dnevnik"
 
 msgctxt "model:ir.sequence,name:sequence_account_move_reconciliation"
 msgid "Default Account Move Reconciliation"
-msgstr "Privzeta uskladitev kontnih prenosov"
+msgstr "Privzeta uskladitev knjižbe"
 
 msgctxt "model:ir.sequence.type,name:sequence_type_account_journal"
 msgid "Account Journal"
@@ -2955,7 +2982,7 @@ msgstr "Knjižba"
 msgctxt ""
 "model:ir.sequence.type,name:sequence_type_account_move_reconciliation"
 msgid "Account Move Reconciliation"
-msgstr "Uskladitev kontnega prenosa"
+msgstr "Uskladitev knjižbe"
 
 msgctxt "model:ir.ui.menu,name:menu_account"
 msgid "Financial"
@@ -3187,7 +3214,7 @@ msgstr "Bilanca zapadlih plačil dobaviteljev in kupcev"
 
 msgctxt "odt:account.aged_balance:"
 msgid "Company:"
-msgstr "Podjetje:"
+msgstr "Družba:"
 
 msgctxt "odt:account.aged_balance:"
 msgid "Day"
@@ -3207,7 +3234,7 @@ msgstr "Meseci"
 
 msgctxt "odt:account.aged_balance:"
 msgid "Party"
-msgstr "Stranka"
+msgstr "Partner"
 
 msgctxt "odt:account.aged_balance:"
 msgid "Print Date:"
@@ -3239,7 +3266,7 @@ msgstr "Šifra"
 
 msgctxt "odt:account.general_ledger:"
 msgid "Company:"
-msgstr "Podjetje:"
+msgstr "Družba:"
 
 msgctxt "odt:account.general_ledger:"
 msgid "Credit"
@@ -3311,7 +3338,7 @@ msgstr "Konto"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Company:"
-msgstr "Podjetje:"
+msgstr "Družba:"
 
 msgctxt "odt:account.move.general_journal:"
 msgid "Credit"
@@ -3379,7 +3406,7 @@ msgstr "Bilanca"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Company:"
-msgstr "Podjetje:"
+msgstr "Družba:"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Credit"
@@ -3391,7 +3418,7 @@ msgstr "Debet"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Party"
-msgstr "Stranka"
+msgstr "Partner"
 
 msgctxt "odt:account.third_party_balance:"
 msgid "Print Date:"
@@ -3423,7 +3450,7 @@ msgstr "Konto"
 
 msgctxt "odt:account.trial_balance:"
 msgid "Company:"
-msgstr "Podjetje:"
+msgstr "Družba:"
 
 msgctxt "odt:account.trial_balance:"
 msgid "Credit"
@@ -3559,7 +3586,7 @@ msgstr "Odprto"
 
 msgctxt "selection:account.move,state:"
 msgid "Draft"
-msgstr "Osnutek"
+msgstr "V pripravi"
 
 msgctxt "selection:account.move,state:"
 msgid "Posted"
@@ -3567,7 +3594,7 @@ msgstr "Knjiženo"
 
 msgctxt "selection:account.move.line,move_state:"
 msgid "Draft"
-msgstr "Osnutek"
+msgstr "V pripravi"
 
 msgctxt "selection:account.move.line,move_state:"
 msgid "Posted"
@@ -3575,7 +3602,7 @@ msgstr "Knjiženo"
 
 msgctxt "selection:account.move.line,state:"
 msgid "Draft"
-msgstr "Osnutek"
+msgstr "V pripravi"
 
 msgctxt "selection:account.move.line,state:"
 msgid "Valid"
@@ -3765,8 +3792,7 @@ msgctxt "view:account.create_chart.start:"
 msgid ""
 "You can now create a chart of account for your company by selecting a chart "
 "of account template."
-msgstr ""
-"Sedaj lahko ustvarite kontni načrt za vaše podjetje s pomočjo predloge."
+msgstr "Sedaj lahko izdelate kontni načrt za vašo družbo s pomočjo predloge."
 
 msgctxt "view:account.fiscalyear.balance_non_deferral.start:"
 msgid "Balance Non-Deferral"
@@ -3910,7 +3936,7 @@ msgstr "Knjižbe"
 
 msgctxt "view:account.move:"
 msgid "Draft"
-msgstr "Osnutek"
+msgstr "Priprava"
 
 msgctxt "view:account.move:"
 msgid "Post"
diff --git a/move.py b/move.py
index 6f6a8c4..2fcc19c 100644
--- a/move.py
+++ b/move.py
@@ -12,7 +12,7 @@ from trytond.wizard import Wizard, StateTransition, StateView, StateAction, \
     Button
 from trytond.report import Report
 from trytond import backend
-from trytond.pyson import Eval, PYSONEncoder
+from trytond.pyson import Eval, Bool, PYSONEncoder
 from trytond.transaction import Transaction
 from trytond.pool import Pool, PoolMeta
 from trytond.rpc import RPC
@@ -47,7 +47,7 @@ class Move(ModelSQL, ModelView):
     journal = fields.Many2One('account.journal', 'Journal', required=True,
             states=_MOVE_STATES, depends=_MOVE_DEPENDS)
     date = fields.Date('Effective Date', required=True, states=_MOVE_STATES,
-        depends=_MOVE_DEPENDS, on_change_with=['period', 'journal', 'date'])
+        depends=_MOVE_DEPENDS)
     post_date = fields.Date('Post Date', readonly=True)
     description = fields.Char('Description', states=_MOVE_STATES,
         depends=_MOVE_DEPENDS)
@@ -139,6 +139,7 @@ class Move(ModelSQL, ModelView):
             return period.start_date
         return Date.today()
 
+    @fields.depends('period', 'journal', 'date')
     def on_change_with_date(self):
         Line = Pool().get('account.move.line')
         date = self.date
@@ -195,22 +196,27 @@ class Move(ModelSQL, ModelView):
 
     @classmethod
     def search_rec_name(cls, name, clause):
-        moves = cls.search(['OR',
-                ('post_number',) + tuple(clause[1:]),
-                (cls._rec_name,) + tuple(clause[1:]),
-                ])
-        return [('id', 'in', [m.id for m in moves])]
+        return ['OR',
+            ('post_number',) + tuple(clause[1:]),
+            (cls._rec_name,) + tuple(clause[1:]),
+            ]
 
     @classmethod
-    def write(cls, moves, vals):
-        keys = vals.keys()
-        for key in cls._check_modify_exclude:
-            if key in keys:
-                keys.remove(key)
-        if len(keys):
-            cls.check_modify(moves)
-        super(Move, cls).write(moves, vals)
-        cls.validate_move(moves)
+    def write(cls, *args):
+        actions = iter(args)
+        all_moves = []
+        args = []
+        for moves, values in zip(actions, actions):
+            keys = values.keys()
+            for key in cls._check_modify_exclude:
+                if key in keys:
+                    keys.remove(key)
+            if len(keys):
+                cls.check_modify(moves)
+            args.extend((moves, values))
+            all_moves.extend(moves)
+        super(Move, cls).write(*args)
+        cls.validate_move(all_moves)
 
     @classmethod
     def create(cls, vlist):
@@ -423,7 +429,7 @@ class Reconciliation(ModelSQL, ModelView):
         return super(Reconciliation, cls).create(vlist)
 
     @classmethod
-    def write(cls, moves, vals):
+    def write(cls, moves, values, *args):
         cls.raise_user_error('modify')
 
     @classmethod
@@ -488,19 +494,13 @@ class Line(ModelSQL, ModelView):
     __name__ = 'account.move.line'
     debit = fields.Numeric('Debit', digits=(16, Eval('currency_digits', 2)),
         required=True,
-        on_change=['account', 'debit', 'credit', 'tax_lines', 'journal',
-            'move'],
         depends=['currency_digits', 'credit', 'tax_lines', 'journal'])
     credit = fields.Numeric('Credit', digits=(16, Eval('currency_digits', 2)),
         required=True,
-        on_change=['account', 'debit', 'credit', 'tax_lines', 'journal',
-            'move'],
         depends=['currency_digits', 'debit', 'tax_lines', 'journal'])
     account = fields.Many2One('account.account', 'Account', required=True,
             domain=[('kind', '!=', 'view')],
-            select=True,
-            on_change=['account', 'debit', 'credit', 'tax_lines',
-                'journal', 'move'])
+            select=True)
     move = fields.Many2One('account.move', 'Move', select=True, required=True,
         states={
             'required': False,
@@ -520,16 +520,23 @@ class Line(ModelSQL, ModelView):
             selection='get_origin'),
         'get_move_field', searcher='search_move_field')
     description = fields.Char('Description')
+    move_description = fields.Function(fields.Char('Move Description'),
+        'get_move_field', setter='set_move_field',
+        searcher='search_move_field')
     amount_second_currency = fields.Numeric('Amount Second Currency',
             digits=(16, Eval('second_currency_digits', 2)),
             help='The amount expressed in a second currency',
-            depends=['second_currency_digits'])
+        states={
+            'required': Bool(Eval('second_currency')),
+            },
+        depends=['second_currency_digits', 'second_currency'])
     second_currency = fields.Many2One('currency.currency', 'Second Currency',
-            help='The second currency')
-    party = fields.Many2One('party.party', 'Party',
-            on_change=['move', 'party', 'account', 'debit', 'credit',
-                'journal'], select=True, depends=['debit', 'credit', 'account',
-                    'journal'])
+            help='The second currency',
+        states={
+            'required': Bool(Eval('amount_second_currency')),
+            },
+        depends=['amount_second_currency'])
+    party = fields.Many2One('party.party', 'Party', select=True)
     maturity_date = fields.Date('Maturity Date',
         help='This field is used for payable and receivable lines. \n'
         'You can put the limit date for the payment.')
@@ -645,14 +652,14 @@ class Line(ModelSQL, ModelView):
         return Decimal(0)
 
     @classmethod
-    def default_get(cls, fields, with_rec_name=True):
+    def default_get(cls, fields, with_rec_name=True, with_on_change=True):
         pool = Pool()
         Move = pool.get('account.move')
         Tax = pool.get('account.tax')
         Account = pool.get('account.account')
         TaxCode = pool.get('account.tax.code')
         values = super(Line, cls).default_get(fields,
-                with_rec_name=with_rec_name)
+                with_rec_name=with_rec_name, with_on_change=with_on_change)
 
         if 'move' not in fields:
             #Not manual entry
@@ -834,6 +841,8 @@ class Line(ModelSQL, ModelView):
         Move = Pool().get('account.move')
         return Move.get_origin()
 
+    @fields.depends('account', 'debit', 'credit', 'tax_lines', 'journal',
+        'move')
     def on_change_debit(self):
         changes = {}
         Journal = Pool().get('account.journal')
@@ -847,6 +856,8 @@ class Line(ModelSQL, ModelView):
             changes['credit'] = Decimal('0.0')
         return changes
 
+    @fields.depends('account', 'debit', 'credit', 'tax_lines', 'journal',
+        'move')
     def on_change_credit(self):
         changes = {}
         Journal = Pool().get('account.journal')
@@ -860,6 +871,8 @@ class Line(ModelSQL, ModelView):
             changes['debit'] = Decimal('0.0')
         return changes
 
+    @fields.depends('account', 'debit', 'credit', 'tax_lines', 'journal',
+        'move')
     def on_change_account(self):
         Journal = Pool().get('account.journal')
 
@@ -930,6 +943,7 @@ class Line(ModelSQL, ModelView):
                     res.setdefault('add', []).append(value)
         return res
 
+    @fields.depends('move', 'party', 'account', 'debit', 'credit', 'journal')
     def on_change_party(self):
         Journal = Pool().get('account.journal')
         cursor = Transaction().cursor
@@ -1028,9 +1042,9 @@ class Line(ModelSQL, ModelView):
         return res
 
     def get_move_field(self, name):
-        if name == 'move_state':
-            name = 'state'
-        if name in ('date', 'state'):
+        if name.startswith('move_'):
+            name = name[5:]
+        if name in ('date', 'state', 'description'):
             return getattr(self.move, name)
         elif name == 'origin':
             origin = getattr(self.move, name)
@@ -1042,8 +1056,8 @@ class Line(ModelSQL, ModelView):
 
     @classmethod
     def set_move_field(cls, lines, name, value):
-        if name == 'move_state':
-            name = 'state'
+        if name.startswith('move_'):
+            name = name[5:]
         if not value:
             return
         Move = Pool().get('account.move')
@@ -1053,8 +1067,8 @@ class Line(ModelSQL, ModelView):
 
     @classmethod
     def search_move_field(cls, name, clause):
-        if name == 'move_state':
-            name = 'state'
+        if name.startswith('move_'):
+            name = name[5:]
         return [('move.' + name,) + tuple(clause[1:])]
 
     def _order_move_field(name):
@@ -1236,17 +1250,24 @@ class Line(ModelSQL, ModelView):
         Move.validate_move(moves)
 
     @classmethod
-    def write(cls, lines, vals):
+    def write(cls, *args):
         Move = Pool().get('account.move')
 
-        if any(k not in cls._check_modify_exclude for k in vals):
-            cls.check_modify(lines)
-        moves = [x.move for x in lines]
-        super(Line, cls).write(lines, vals)
+        actions = iter(args)
+        args = []
+        moves = []
+        all_lines = []
+        for lines, values in zip(actions, actions):
+            if any(k not in cls._check_modify_exclude for k in values):
+                cls.check_modify(lines)
+            moves.extend((x.move for x in lines))
+            all_lines.extend(lines)
+            args.extend((lines, values))
 
-        Transaction().timestamp = {}
+        super(Line, cls).write(*args)
 
-        Move.validate_move(list(set(l.move for l in lines) | set(moves)))
+        Transaction().timestamp = {}
+        Move.validate_move(list(set(l.move for l in all_lines) | set(moves)))
 
     @classmethod
     def create(cls, vlist):
@@ -1344,7 +1365,8 @@ class Line(ModelSQL, ModelView):
         return result
 
     @classmethod
-    def reconcile(cls, lines, journal=None, date=None, account=None):
+    def reconcile(cls, lines, journal=None, date=None, account=None,
+            description=None):
         pool = Pool()
         Move = pool.get('account.move')
         Reconciliation = pool.get('account.move.reconciliation')
@@ -1357,21 +1379,27 @@ class Line(ModelSQL, ModelView):
                         error_args=(line.move.number, line.id,))
 
         lines = lines[:]
+        reconcile_account = None
+        amount = Decimal('0.0')
+        for line in lines:
+            amount += line.debit - line.credit
+            if not reconcile_account:
+                reconcile_account = line.account
+        amount = reconcile_account.currency.round(amount)
+        if not account and journal:
+            if amount >= 0:
+                account = journal.debit_account
+            else:
+                account = journal.credit_account
         if journal and account:
             if not date:
                 date = Date.today()
-            reconcile_account = None
-            amount = Decimal('0.0')
-            for line in lines:
-                amount += line.debit - line.credit
-                if not reconcile_account:
-                    reconcile_account = line.account
-            amount = reconcile_account.currency.round(amount)
             period_id = Period.find(reconcile_account.company.id, date=date)
             move, = Move.create([{
                         'journal': journal.id,
                         'period': period_id,
                         'date': date,
+                        'description': description,
                         'lines': [
                             ('create', [{
                                         'account': reconcile_account.id,
@@ -1526,13 +1554,15 @@ class OpenAccount(Wizard):
 class ReconcileLinesWriteOff(ModelView):
     'Reconcile Lines Write-Off'
     __name__ = 'account.move.reconcile_lines.writeoff'
-    journal = fields.Many2One('account.journal', 'Journal', required=True)
+    journal = fields.Many2One('account.journal', 'Journal', required=True,
+        domain=[
+            ('type', '=', 'write-off'),
+            ])
     date = fields.Date('Date', required=True)
-    account = fields.Many2One('account.account', 'Account', required=True,
-            domain=[('kind', '!=', 'view')])
     amount = fields.Numeric('Amount', digits=(16, Eval('currency_digits', 2)),
         readonly=True, depends=['currency_digits'])
     currency_digits = fields.Integer('Currency Digits', readonly=True)
+    description = fields.Char('Description')
 
     @staticmethod
     def default_date():
@@ -1583,9 +1613,9 @@ class ReconcileLines(Wizard):
 
         journal = getattr(self.writeoff, 'journal', None)
         date = getattr(self.writeoff, 'date', None)
-        account = getattr(self.writeoff, 'account', None)
+        description = getattr(self.writeoff, 'description', None)
         Line.reconcile(Line.browse(Transaction().context['active_ids']),
-            journal, date, account)
+            journal=journal, date=date, description=description)
         return 'end'
 
 
diff --git a/move.xml b/move.xml
index 3c603fc..68ea2f9 100644
--- a/move.xml
+++ b/move.xml
@@ -80,6 +80,18 @@ this repository contains the full copyright notices and license terms. -->
             <field name="type">tree</field>
             <field name="name">move_reconciliation_tree</field>
         </record>
+
+        <record model="ir.action.act_window" id="act_move_reconciliation_lines">
+            <field name="name">Reconciliation Lines</field>
+            <field name="res_model">account.move.line</field>
+            <field name="domain">[('reconciliation', 'in', Eval('active_ids'))]</field>
+        </record>
+        <record model="ir.action.keyword" id="act_move_reconciliation_lines_keyword1">
+            <field name="keyword">form_relate</field>
+            <field name="model">account.move.reconciliation,-1</field>
+            <field name="action" ref="act_move_reconciliation_lines"/>
+        </record>
+
         <record model="ir.model.access" id="access_move_reconciliation">
             <field name="model" search="[('model', '=', 'account.move.reconciliation')]"/>
             <field name="perm_read" eval="False"/>
@@ -179,7 +191,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.action.act_window" id="act_move_line_payable">
             <field name="name">Payable Lines</field>
             <field name="res_model">account.move.line</field>
-            <field name="domain">[('party', '=', Eval('active_id')), ('account.kind', '=', 'payable'), ('reconciliation', '=', None)]</field>
+            <field name="domain">[('party', 'in', Eval('active_ids')), ('account.kind', '=', 'payable'), ('reconciliation', '=', None)]</field>
         </record>
         <record model="ir.action.keyword" id="act_move_line_payable_keyword1">
             <field name="keyword">form_relate</field>
@@ -195,7 +207,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.action.act_window" id="act_move_line_receivable">
             <field name="name">Receivable Lines</field>
             <field name="res_model">account.move.line</field>
-            <field name="domain">[('party', '=', Eval('active_id')), ('account.kind', '=', 'receivable'), ('reconciliation', '=', None)]</field>
+            <field name="domain">[('party', 'in', Eval('active_ids')), ('account.kind', '=', 'receivable'), ('reconciliation', '=', None)]</field>
         </record>
         <record model="ir.action.keyword" id="act_move_line_receivable_keyword1">
             <field name="keyword">form_relate</field>
diff --git a/period.py b/period.py
index 7b651f3..36f3de4 100644
--- a/period.py
+++ b/period.py
@@ -243,31 +243,35 @@ class Period(ModelSQL, ModelView):
         return super(Period, cls).create(vlist)
 
     @classmethod
-    def write(cls, periods, vals):
+    def write(cls, *args):
         Move = Pool().get('account.move')
-        for key in vals.keys():
-            if key in ('start_date', 'end_date', 'fiscalyear'):
-                cls._check(periods)
-                break
-        if vals.get('state') == 'open':
-            for period in periods:
-                if period.fiscalyear.state == 'close':
-                    cls.raise_user_error('open_period_closed_fiscalyear', {
-                            'period': period.rec_name,
-                            'fiscalyear': period.fiscalyear.rec_name,
-                            })
-        if vals.get('post_move_sequence'):
-            for period in periods:
-                if period.post_move_sequence and \
-                        period.post_move_sequence.id != \
-                        vals['post_move_sequence']:
-                    if Move.search([
-                                ('period', '=', period.id),
-                                ('state', '=', 'posted'),
-                                ]):
-                        cls.raise_user_error('change_post_move_sequence',
-                            (period.rec_name,))
-        super(Period, cls).write(periods, vals)
+        actions = iter(args)
+        args = []
+        for periods, values in zip(actions, actions):
+            for key in values.keys():
+                if key in ('start_date', 'end_date', 'fiscalyear'):
+                    cls._check(periods)
+                    break
+            if values.get('state') == 'open':
+                for period in periods:
+                    if period.fiscalyear.state == 'close':
+                        cls.raise_user_error('open_period_closed_fiscalyear', {
+                                'period': period.rec_name,
+                                'fiscalyear': period.fiscalyear.rec_name,
+                                })
+            if values.get('post_move_sequence'):
+                for period in periods:
+                    if (period.post_move_sequence
+                            and period.post_move_sequence.id !=
+                            values['post_move_sequence']):
+                        if Move.search([
+                                    ('period', '=', period.id),
+                                    ('state', '=', 'posted'),
+                                    ]):
+                            cls.raise_user_error('change_post_move_sequence',
+                                (period.rec_name,))
+            args.extend((periods, values))
+        super(Period, cls).write(*args)
 
     @classmethod
     def delete(cls, periods):
@@ -308,6 +312,13 @@ class Period(ModelSQL, ModelView):
     def post_move_sequence_used(self):
         return self.post_move_sequence or self.fiscalyear.post_move_sequence
 
+    @classmethod
+    def search_rec_name(cls, name, clause):
+        return ['OR',
+            ('code',) + tuple(clause[1:]),
+            (cls._rec_name,) + tuple(clause[1:]),
+            ]
+
 
 class ClosePeriod(Wizard):
     'Close Period'
diff --git a/setup.py b/setup.py
index 2800cc2..dc4936d 100644
--- a/setup.py
+++ b/setup.py
@@ -11,33 +11,51 @@ import ConfigParser
 def read(fname):
     return open(os.path.join(os.path.dirname(__file__), fname)).read()
 
+
+def get_require_version(name):
+    if minor_version % 2:
+        require = '%s >= %s.%s.dev0, < %s.%s'
+    else:
+        require = '%s >= %s.%s, < %s.%s'
+    require %= (name, major_version, minor_version,
+        major_version, minor_version + 1)
+    return require
+
 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)
+version = info.get('version', '0.0.1')
+major_version, minor_version, _ = version.split('.', 2)
 major_version = int(major_version)
 minor_version = int(minor_version)
+name = 'trytond_account'
+
+download_url = 'http://downloads.tryton.org/%s.%s/' % (
+    major_version, minor_version)
+if minor_version % 2:
+    version = '%s.%s.dev0' % (major_version, minor_version)
+    download_url = (
+        'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % (
+            name[8:], name, version))
 
 requires = ['python-dateutil', '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' %
-                (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))
+        requires.append(get_require_version('trytond_%s' % dep))
+requires.append(get_require_version('trytond'))
 
-setup(name='trytond_account',
-    version=info.get('version', '0.0.1'),
+setup(name=name,
+    version=version,
     description='Tryton module for accounting',
     long_description=read('README'),
     author='Tryton',
+    author_email='issue_tracker at tryton.org',
     url='http://www.tryton.org/',
-    download_url=("http://downloads.tryton.org/" +
-        info.get('version', '0.0.1').rsplit('.', 1)[0] + '/'),
+    download_url=download_url,
+    keywords='tryton account',
     package_dir={'trytond.modules.account': '.'},
     packages=[
         'trytond.modules.account',
@@ -67,7 +85,6 @@ setup(name='trytond_account',
         'Natural Language :: Slovenian',
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
-        'Programming Language :: Python :: 2.6',
         'Programming Language :: Python :: 2.7',
         'Topic :: Office/Business',
         'Topic :: Office/Business :: Financial :: Accounting',
diff --git a/tax.py b/tax.py
index 1f3b17e..b04c97a 100644
--- a/tax.py
+++ b/tax.py
@@ -1,5 +1,6 @@
 #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 datetime
 from decimal import Decimal
 from sql.aggregate import Sum
 
@@ -149,8 +150,8 @@ class TaxCode(ModelSQL, ModelView):
             domain=[('company', '=', Eval('company', 0))], depends=['company'])
     childs = fields.One2Many('account.tax.code', 'parent', 'Children',
             domain=[('company', '=', Eval('company', 0))], depends=['company'])
-    currency_digits = fields.Function(fields.Integer('Currency Digits',
-        on_change_with=['company']), 'on_change_with_currency_digits')
+    currency_digits = fields.Function(fields.Integer('Currency Digits'),
+        'on_change_with_currency_digits')
     sum = fields.Function(fields.Numeric('Sum',
         digits=(16, Eval('currency_digits', 2)), depends=['currency_digits']),
         'get_sum')
@@ -175,6 +176,7 @@ class TaxCode(ModelSQL, ModelView):
     def default_company():
         return Transaction().context.get('company')
 
+    @fields.depends('company')
     def on_change_with_currency_digits(self, name=None):
         if self.company:
             return self.company.currency.digits
@@ -229,10 +231,10 @@ class TaxCode(ModelSQL, ModelView):
 
     @classmethod
     def search_rec_name(cls, name, clause):
-        codes = cls.search([('code',) + tuple(clause[1:])], limit=1, order=[])
-        if codes:
-            return [('code',) + tuple(clause[1:])]
-        return [('name',) + tuple(clause[1:])]
+        return ['OR',
+            ('code',) + tuple(clause[1:]),
+            (cls._rec_name,) + tuple(clause[1:]),
+            ]
 
     @classmethod
     def delete(cls, codes):
@@ -346,6 +348,8 @@ class TaxTemplate(ModelSQL, ModelView):
     description = fields.Char('Description', required=True, translate=True)
     group = fields.Many2One('account.tax.group', 'Group')
     sequence = fields.Integer('Sequence')
+    start_date = fields.Date('Starting Date')
+    end_date = fields.Date('Ending Date')
     amount = fields.Numeric('Amount', digits=(16, 8),
         states={
             'required': Eval('type') == 'fixed',
@@ -448,7 +452,8 @@ class TaxTemplate(ModelSQL, ModelView):
         res = {}
         for field in ('name', 'description', 'sequence', 'amount',
                 'rate', 'type', 'invoice_base_sign', 'invoice_tax_sign',
-                'credit_note_base_sign', 'credit_note_tax_sign'):
+                'credit_note_base_sign', 'credit_note_tax_sign',
+                'start_date', 'end_date'):
             if not tax or getattr(tax, field) != getattr(self, field):
                 res[field] = getattr(self, field)
         for field in ('group',):
@@ -570,8 +575,10 @@ class Tax(ModelSQL, ModelView):
             }, depends=['parent'])
     active = fields.Boolean('Active')
     sequence = fields.Integer('Sequence', help='Use to order the taxes')
-    currency_digits = fields.Function(fields.Integer('Currency Digits',
-        on_change_with=['company']), 'on_change_with_currency_digits')
+    start_date = fields.Date('Starting Date')
+    end_date = fields.Date('Ending Date')
+    currency_digits = fields.Function(fields.Integer('Currency Digits'),
+        'on_change_with_currency_digits')
     amount = fields.Numeric('Amount', digits=(16, Eval('currency_digits', 2)),
         states={
             'required': Eval('type') == 'fixed',
@@ -725,6 +732,7 @@ class Tax(ModelSQL, ModelView):
     def default_company():
         return Transaction().context.get('company')
 
+    @fields.depends('company')
     def on_change_with_currency_digits(self, name=None):
         if self.company:
             return self.company.currency.digits
@@ -747,13 +755,17 @@ class Tax(ModelSQL, ModelView):
                 }
 
     @classmethod
-    def _unit_compute(cls, taxes, price_unit):
+    def _unit_compute(cls, taxes, price_unit, date):
         res = []
         for tax in taxes:
+            start_date = tax.start_date or datetime.date.min
+            end_date = tax.end_date or datetime.date.max
+            if not (start_date <= date <= end_date):
+                continue
             if tax.type != 'none':
                 res.append(tax._process_tax(price_unit))
             if len(tax.childs):
-                res.extend(cls._unit_compute(tax.childs, price_unit))
+                res.extend(cls._unit_compute(tax.childs, price_unit, date))
         return res
 
     @classmethod
@@ -764,16 +776,20 @@ class Tax(ModelSQL, ModelView):
         return sorted(taxes, key=lambda t: (t.sequence, t.id))
 
     @classmethod
-    def compute(cls, taxes, price_unit, quantity):
+    def compute(cls, taxes, price_unit, quantity, date=None):
         '''
-        Compute taxes for price_unit and quantity.
+        Compute taxes for price_unit and quantity at the date.
         Return list of dict for each taxes and their childs with:
             base
             amount
             tax
         '''
+        pool = Pool()
+        Date = pool.get('ir.date')
+        if date is None:
+            date = Date.today()
         taxes = cls.sort_taxes(taxes)
-        res = cls._unit_compute(taxes, price_unit)
+        res = cls._unit_compute(taxes, price_unit, date)
         quantity = Decimal(str(quantity or 0.0))
         for row in res:
             row['base'] *= quantity
@@ -896,22 +912,24 @@ class TaxLine(ModelSQL, ModelView):
     'Tax Line'
     __name__ = 'account.tax.line'
     _rec_name = 'amount'
-    currency_digits = fields.Function(fields.Integer('Currency Digits',
-        on_change_with=['move_line']), 'on_change_with_currency_digits')
+    currency_digits = fields.Function(fields.Integer('Currency Digits'),
+        'on_change_with_currency_digits')
     amount = fields.Numeric('Amount', digits=(16, Eval('currency_digits', 2)),
         required=True, depends=['currency_digits'])
     code = fields.Many2One('account.tax.code', 'Code', select=True,
         required=True)
     tax = fields.Many2One('account.tax', 'Tax', select=True,
-        ondelete='RESTRICT', on_change=['tax'])
+        ondelete='RESTRICT')
     move_line = fields.Many2One('account.move.line', 'Move Line',
             required=True, select=True, ondelete='CASCADE')
 
+    @fields.depends('move_line')
     def on_change_with_currency_digits(self, name=None):
         if self.move_line:
             return self.move_line.currency_digits
         return 2
 
+    @fields.depends('tax')
     def on_change_tax(self):
         return {
             'code': None,
diff --git a/tests/scenario_account_reconciliation.rst b/tests/scenario_account_reconciliation.rst
index a8b1400..0e5832a 100644
--- a/tests/scenario_account_reconciliation.rst
+++ b/tests/scenario_account_reconciliation.rst
@@ -37,14 +37,14 @@ Create company::
     >>> company_config = Wizard('company.company.config')
     >>> company_config.execute('company')
     >>> company = company_config.form
-    >>> party = Party(name='B2CK')
+    >>> party = Party(name='Dunder Mifflin')
     >>> party.save()
     >>> company.party = party
-    >>> currencies = Currency.find([('code', '=', 'EUR')])
+    >>> currencies = Currency.find([('code', '=', 'USD')])
     >>> if not currencies:
-    ...     currency = Currency(name='Euro', symbol=u'€', code='EUR',
+    ...     currency = Currency(name='U.S. Dollar', symbol='$', code='USD',
     ...         rounding=Decimal('0.01'), mon_grouping='[3, 3, 0]',
-    ...         mon_decimal_point=',')
+    ...         mon_decimal_point='.', mon_thousands_sep=',')
     ...     currency.save()
     ...     CurrencyRate(date=today + relativedelta(month=1, day=1),
     ...         rate=Decimal('1.0'), currency=currency).save()
@@ -200,15 +200,16 @@ Create Moves for writeoff reconciliation::
 
 Reconcile Lines with writeoff::
 
-    >>> journal_expense, = Journal.find([
-    ...         ('code', '=', 'EXP'),
-    ...         ])
+    >>> sequence_journal, = Sequence.find([('code', '=', 'account.journal')])
+    >>> journal_writeoff = Journal(name='Write-Off', type='write-off',
+    ...     sequence=sequence_journal,
+    ...     credit_account=revenue, debit_account=expense)
+    >>> journal_writeoff.save()
     >>> reconcile_lines = Wizard('account.move.reconcile_lines',
     ...     [reconcile1, reconcile2])
     >>> reconcile_lines.form_state == 'writeoff'
     True
-    >>> reconcile_lines.form.journal = journal_expense
-    >>> reconcile_lines.form.account = expense
+    >>> reconcile_lines.form.journal = journal_writeoff
     >>> reconcile_lines.execute('reconcile')
     >>> reconcile1.reload()
     >>> reconcile2.reload()
@@ -222,5 +223,5 @@ Reconcile Lines with writeoff::
     ...     if l != writeoff_line1]
     >>> writeoff_line2.account == expense
     True
-    >>> writeoff_line2.debit == Decimal(3)
-    True
+    >>> writeoff_line2.debit
+    Decimal('3.00')
diff --git a/tests/test_account.py b/tests/test_account.py
index 46d5bdc..b7a9b9e 100644
--- a/tests/test_account.py
+++ b/tests/test_account.py
@@ -1,29 +1,18 @@
-#!/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
-import 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 doctest
 import datetime
 from decimal import Decimal
+from dateutil.relativedelta import relativedelta
 import trytond.tests.test_tryton
-from trytond.tests.test_tryton import test_view, test_depends
+from trytond.tests.test_tryton import test_view, test_depends, doctest_dropdb
 from trytond.tests.test_tryton import POOL, DB_NAME, USER, CONTEXT
-from trytond.backend.sqlite.database import Database as SQLiteDatabase
 from trytond.transaction import Transaction
 
 
 class AccountTestCase(unittest.TestCase):
-    '''
-    Test Account module.
-    '''
+    'Test Account module'
 
     def setUp(self):
         trytond.tests.test_tryton.install_module('account')
@@ -43,17 +32,14 @@ class AccountTestCase(unittest.TestCase):
         self.period = POOL.get('account.period')
         self.balance_non_deferral = POOL.get(
             'account.fiscalyear.balance_non_deferral', type='wizard')
+        self.tax = POOL.get('account.tax')
 
     def test0005views(self):
-        '''
-        Test views.
-        '''
+        'Test views'
         test_view('account')
 
     def test0006depends(self):
-        '''
-        Test depends.
-        '''
+        'Test depends'
         test_depends()
 
     def test0010account_chart(self):
@@ -92,7 +78,9 @@ class AccountTestCase(unittest.TestCase):
                 tax.credit_note_tax_sign = Decimal(-1)
                 tax.save()
 
-            company, = self.company.search([('rec_name', '=', 'B2CK')])
+            company, = self.company.search([
+                    ('rec_name', '=', 'Dunder Mifflin'),
+                    ])
             self.user.write([self.user(USER)], {
                     'main_company': company.id,
                     'company': company.id,
@@ -119,13 +107,13 @@ class AccountTestCase(unittest.TestCase):
             transaction.cursor.commit()
 
     def test0020fiscalyear(self):
-        '''
-        Test fiscalyear.
-        '''
+        'Test fiscalyear'
         with Transaction().start(DB_NAME, USER,
                 context=CONTEXT) as transaction:
             today = datetime.date.today()
-            company, = self.company.search([('rec_name', '=', 'B2CK')])
+            company, = self.company.search([
+                    ('rec_name', '=', 'Dunder Mifflin'),
+                    ])
             sequence, = self.sequence.create([{
                         'name': '%s' % today.year,
                         'code': 'account.move',
@@ -143,9 +131,7 @@ class AccountTestCase(unittest.TestCase):
             transaction.cursor.commit()
 
     def test0030account_debit_credit(self):
-        '''
-        Test account debit/credit.
-        '''
+        'Test account debit/credit'
         with Transaction().start(DB_NAME, USER,
                 context=CONTEXT) as transaction:
             fiscalyear, = self.fiscalyear.search([])
@@ -332,18 +318,110 @@ class AccountTestCase(unittest.TestCase):
 
             transaction.cursor.rollback()
 
+    def test0040tax_compute(self):
+        'Test tax compute'
+        with Transaction().start(DB_NAME, USER, context=CONTEXT):
+            today = datetime.date.today()
+
+            tax_account, = self.account.search([
+                    ('name', '=', 'Main Tax'),
+                    ])
+            tax = self.tax()
+            tax.name = tax.description = 'Test'
+            tax.type = 'none'
+            tax.invoice_account = tax_account
+            tax.credit_note_account = tax_account
+
+            child1 = self.tax()
+            child1.name = child1.description = 'Child 1'
+            child1.type = 'percentage'
+            child1.rate = Decimal('0.2')
+            child1.invoice_account = tax_account
+            child1.credit_note_account = tax_account
+            child1.save()
+
+            child2 = self.tax()
+            child2.name = child2.description = 'Child 1'
+            child2.type = 'fixed'
+            child2.amount = Decimal('10')
+            child2.invoice_account = tax_account
+            child2.credit_note_account = tax_account
+            child2.save()
+
+            tax.childs = [child1, child2]
+            tax.save()
+
+            self.assertEqual(self.tax.compute([tax], Decimal('100'), 2),
+                [{
+                        'base': Decimal('200'),
+                        'amount': Decimal('40.0'),
+                        'tax': child1,
+                        }, {
+                        'base': Decimal('200'),
+                        'amount': Decimal('20'),
+                        'tax': child2,
+                        }])
+
+            child1.end_date = today + relativedelta(days=5)
+            child1.save()
+            self.assertEqual(self.tax.compute([tax], Decimal('100'), 2, today),
+                [{
+                        'base': Decimal('200'),
+                        'amount': Decimal('40.0'),
+                        'tax': child1,
+                        }, {
+                        'base': Decimal('200'),
+                        'amount': Decimal('20'),
+                        'tax': child2,
+                        }])
 
-def doctest_dropdb(test):
-    '''
-    Remove sqlite memory database
-    '''
-    database = SQLiteDatabase().connect()
-    cursor = database.cursor(autocommit=True)
-    try:
-        database.drop(cursor, ':memory:')
-        cursor.commit()
-    finally:
-        cursor.close()
+            child1.start_date = today + relativedelta(days=1)
+            child1.save()
+            self.assertEqual(self.tax.compute([tax], Decimal('100'), 2, today),
+                [{
+                        'base': Decimal('200'),
+                        'amount': Decimal('20'),
+                        'tax': child2,
+                        }])
+            self.assertEqual(self.tax.compute([tax], Decimal('100'), 2,
+                    today + relativedelta(days=1)), [{
+                        'base': Decimal('200'),
+                        'amount': Decimal('40.0'),
+                        'tax': child1,
+                        }, {
+                        'base': Decimal('200'),
+                        'amount': Decimal('20'),
+                        'tax': child2,
+                        }])
+            self.assertEqual(self.tax.compute([tax], Decimal('100'), 2,
+                    today + relativedelta(days=5)), [{
+                        'base': Decimal('200'),
+                        'amount': Decimal('40.0'),
+                        'tax': child1,
+                        }, {
+                        'base': Decimal('200'),
+                        'amount': Decimal('20'),
+                        'tax': child2,
+                        }])
+            self.assertEqual(self.tax.compute([tax], Decimal('100'), 2,
+                    today + relativedelta(days=6)), [{
+                        'base': Decimal('200'),
+                        'amount': Decimal('20'),
+                        'tax': child2,
+                        }])
+
+            child1.end_date = None
+            child1.save()
+            self.assertEqual(self.tax.compute([tax], Decimal('100'), 2,
+                    today + relativedelta(days=6)), [{
+                        'base': Decimal('200'),
+                        'amount': Decimal('40.0'),
+                        'tax': child1,
+                        }, {
+                        'base': Decimal('200'),
+                        'amount': Decimal('20'),
+                        'tax': child2,
+                        }])
 
 
 def suite():
@@ -359,6 +437,3 @@ def suite():
             setUp=doctest_dropdb, tearDown=doctest_dropdb, encoding='utf-8',
             optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
     return suite
-
-if __name__ == '__main__':
-    unittest.TextTestRunner(verbosity=2).run(suite())
diff --git a/tryton.cfg b/tryton.cfg
index aea3156..ae92e7a 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=3.0.3
+version=3.2.0
 depends:
     company
     currency
diff --git a/trytond_account.egg-info/PKG-INFO b/trytond_account.egg-info/PKG-INFO
index dc4d18d..46ac4b1 100644
--- a/trytond_account.egg-info/PKG-INFO
+++ b/trytond_account.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-account
-Version: 3.0.3
+Version: 3.2.0
 Summary: Tryton module for accounting
 Home-page: http://www.tryton.org/
 Author: Tryton
-Author-email: UNKNOWN
+Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.0/
+Download-URL: http://downloads.tryton.org/3.2/
 Description: trytond_account
         ===============
         
@@ -43,6 +43,7 @@ Description: trytond_account
         
           http://www.tryton.org/
         
+Keywords: tryton account
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
@@ -62,7 +63,6 @@ Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-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_account.egg-info/requires.txt b/trytond_account.egg-info/requires.txt
index 166cb5c..bb80063 100644
--- a/trytond_account.egg-info/requires.txt
+++ b/trytond_account.egg-info/requires.txt
@@ -1,6 +1,6 @@
 python-dateutil
 python-sql
-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
+trytond_company >= 3.2, < 3.3
+trytond_currency >= 3.2, < 3.3
+trytond_party >= 3.2, < 3.3
+trytond >= 3.2, < 3.3
\ No newline at end of file
diff --git a/view/move_line_tree.xml b/view/move_line_tree.xml
index ad14677..5a5e336 100644
--- a/view/move_line_tree.xml
+++ b/view/move_line_tree.xml
@@ -7,6 +7,7 @@ this repository contains the full copyright notices and license terms. -->
     <field name="move"/>
     <field name="origin"/>
     <field name="description"/>
+    <field name="move_description"/>
     <field name="date"/>
     <field name="party"/>
     <field name="account"/>
diff --git a/view/move_tree.xml b/view/move_tree.xml
index c93de2b..a5b2c66 100644
--- a/view/move_tree.xml
+++ b/view/move_tree.xml
@@ -9,5 +9,6 @@ this repository contains the full copyright notices and license terms. -->
     <field name="date"/>
     <field name="post_date"/>
     <field name="origin"/>
+    <field name="description"/>
     <field name="state"/>
 </tree>
diff --git a/view/reconcile_lines_writeoff_form.xml b/view/reconcile_lines_writeoff_form.xml
index 632efce..de1aaf1 100644
--- a/view/reconcile_lines_writeoff_form.xml
+++ b/view/reconcile_lines_writeoff_form.xml
@@ -8,6 +8,7 @@ this repository contains the full copyright notices and license terms. -->
     <field name="date"/>
     <label name="journal"/>
     <field name="journal"/>
-    <label name="account"/>
-    <field name="account"/>
+    <newline/>
+    <label name="description"/>
+    <field name="description" colspan="3"/>
 </form>
diff --git a/view/tax_form.xml b/view/tax_form.xml
index 6c49854..dc1fb2e 100644
--- a/view/tax_form.xml
+++ b/view/tax_form.xml
@@ -14,6 +14,10 @@ this repository contains the full copyright notices and license terms. -->
             <field name="group"/>
             <label name="sequence"/>
             <field name="sequence"/>
+            <label name="start_date"/>
+            <field name="start_date"/>
+            <label name="end_date"/>
+            <field name="end_date"/>
             <label name="type"/>
             <field name="type"/>
             <group col="1" id="label_amount_rate">
diff --git a/view/tax_template_form.xml b/view/tax_template_form.xml
index 28acd4d..93ab0ba 100644
--- a/view/tax_template_form.xml
+++ b/view/tax_template_form.xml
@@ -14,6 +14,10 @@ this repository contains the full copyright notices and license terms. -->
             <field name="group"/>
             <label name="sequence"/>
             <field name="sequence"/>
+            <label name="start_date"/>
+            <field name="start_date"/>
+            <label name="end_date"/>
+            <field name="end_date"/>
             <label name="type"/>
             <field name="type"/>
             <group col="1" id="label_amount_rate">
-- 
tryton-modules-account



More information about the tryton-debian-vcs mailing list