[tryton-debian-vcs] tryton-modules-analytic-account branch debian updated. debian/4.2.0-1-2-gd566390

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Jun 7 13:32:36 UTC 2017


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

commit d56639023af1bfc7ccba3401568a2fb6a8ff22a2
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Jun 7 15:26:01 2017 +0200

    Merging upstream version 4.4.0.

diff --git a/CHANGELOG b/CHANGELOG
index 32d2327..35fd9a7 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+Version 4.4.0 - 2017-05-01
+* Bug fixes (see mercurial logs for details)
+* Add rule engine
+
 Version 4.2.0 - 2016-11-28
 * Bug fixes (see mercurial logs for details)
 * Add get_analytic_lines on AnalyticAccountEntry
diff --git a/COPYRIGHT b/COPYRIGHT
index 48f96af..dba4452 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,6 +1,6 @@
-Copyright (C) 2008-2016 Cédric Krier.
+Copyright (C) 2008-2017 Cédric Krier.
 Copyright (C) 2008-2013 Bertrand Chenal.
-Copyright (C) 2008-2016 B2CK SPRL.
+Copyright (C) 2008-2017 B2CK SPRL.
 Copyright (C) 2004-2008 Tiny SPRL.
 
 This program is free software: you can redistribute it and/or modify
diff --git a/PKG-INFO b/PKG-INFO
index e23474a..bdebceb 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_analytic_account
-Version: 4.2.0
+Version: 4.4.0
 Summary: Tryton module for analytic accounting
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/4.2/
+Download-URL: http://downloads.tryton.org/4.4/
 Description: trytond_analytic_account
         ========================
         
@@ -51,7 +51,7 @@ Classifier: Framework :: Tryton
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Chinese (Simplified)
diff --git a/__init__.py b/__init__.py
index 1c9bee1..0372f44 100644
--- a/__init__.py
+++ b/__init__.py
@@ -4,6 +4,7 @@
 from trytond.pool import Pool
 from .account import *
 from .line import *
+from . import rule
 
 
 def register():
@@ -15,6 +16,7 @@ def register():
         Line,
         Move,
         MoveLine,
+        rule.Rule,
         module='analytic_account', type_='model')
     Pool.register(
         OpenChartAccount,
diff --git a/account.py b/account.py
index 93bb77b..c55116c 100644
--- a/account.py
+++ b/account.py
@@ -386,7 +386,8 @@ class AnalyticAccountEntry(ModelView, ModelSQL):
     'Analytic Account Entry'
     __name__ = 'analytic.account.entry'
     origin = fields.Reference('Origin', selection='get_origin', select=True)
-    root = fields.Many2One('analytic_account.account', 'Root Analytic',
+    root = fields.Many2One(
+        'analytic_account.account', "Root Analytic", required=True,
         domain=[
             If(~Eval('company'),
                 # No constraint if the origin is not set
@@ -454,7 +455,7 @@ class AnalyticAccountEntry(ModelView, ModelSQL):
 
     @classmethod
     def _get_origin(cls):
-        return []
+        return ['analytic_account.rule']
 
     @classmethod
     def get_origin(cls):
diff --git a/line.py b/line.py
index 01496ac..2d579df 100644
--- a/line.py
+++ b/line.py
@@ -28,7 +28,7 @@ class Line(ModelSQL, ModelView):
         'on_change_with_company', searcher='search_company')
     account = fields.Many2One('analytic_account.account', 'Account',
         required=True, select=True, domain=[
-            ('type', '!=', 'view'),
+            ('type', 'not in', ['view', 'distribution']),
             ['OR',
                 ('company', '=', None),
                 ('company', '=', Eval('company', -1)),
@@ -84,15 +84,15 @@ class Line(ModelSQL, ModelView):
     def default_credit():
         return Decimal(0)
 
-    @fields.depends('move_line')
+    @fields.depends('move_line', '_parent_move_line.account')
     def on_change_with_currency_digits(self, name=None):
-        if self.move_line:
+        if self.move_line and self.move_line.account:
             return self.move_line.account.company.currency.digits
         return 2
 
-    @fields.depends('move_line')
+    @fields.depends('move_line', '_parent_move_line.account')
     def on_change_with_company(self, name=None):
-        if self.move_line:
+        if self.move_line and self.move_line.account:
             return self.move_line.account.company.id
 
     @classmethod
@@ -175,6 +175,7 @@ class Move:
         MoveLine = pool.get('account.move.line')
         super(Move, cls).post(moves)
         lines = [l for m in moves for l in m.lines]
+        MoveLine.apply_rule(lines)
         MoveLine.set_analytic_state(lines)
         MoveLine.save(lines)
 
@@ -227,6 +228,37 @@ class MoveLine(ModelSQL, ModelView):
     def default_analytic_state(cls):
         return 'draft'
 
+    @property
+    def rule_pattern(self):
+        return {
+            'company': self.move.company.id,
+            'account': self.account.id,
+            'journal': self.move.journal.id,
+            'party': self.party.id if self.party else None,
+            }
+
+    @classmethod
+    def apply_rule(cls, lines):
+        pool = Pool()
+        Rule = pool.get('analytic_account.rule')
+
+        rules = Rule.search([])
+
+        for line in lines:
+            if line.analytic_lines:
+                continue
+            pattern = line.rule_pattern
+            for rule in rules:
+                if rule.match(pattern):
+                    break
+            else:
+                continue
+            analytic_lines = []
+            for entry in rule.analytic_accounts:
+                analytic_lines.extend(
+                    entry.get_analytic_lines(line, line.move.post_date))
+            line.analytic_lines = analytic_lines
+
     @classmethod
     def set_analytic_state(cls, lines):
         pool = Pool()
diff --git a/locale/bg.po b/locale/bg.po
index d18ad2e..bd5fb74 100644
--- a/locale/bg.po
+++ b/locale/bg.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Редове от аналитична сметка"
@@ -298,6 +302,74 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Начална дата"
 
+#, fuzzy
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Фактури"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Аналитични сметки"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Аналитични сметки"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Фирма"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Дневник"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Партньор"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Условие за плащане"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -322,6 +394,11 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Отваряне на сметкоплан"
 
+#, fuzzy
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Ред от аналитична сметка"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Аналитични сметки"
@@ -350,6 +427,11 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Отваряне на аналитичен сметкоплан"
 
+#, fuzzy
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Редове от аналитична сметка"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Аналитични сметки"
@@ -370,6 +452,11 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Отваряне на аналитичен сметкоплан"
 
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Редове от аналитична сметка"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Администрация на аналитична сметка"
diff --git a/locale/ca.po b/locale/ca.po
index 6ec4556..ccd680d 100644
--- a/locale/ca.po
+++ b/locale/ca.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr "No podeu crear un apunt utilitzant el compte de vista \"%s\"."
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr "Falten alguns comptes arrel obligatoris a \"%(name)s\""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Línies analítiques"
@@ -278,6 +282,62 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Data inicial"
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Compte"
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Comptes analítics"
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Mida comptes analítics"
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Data de creació"
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Usuari de creació"
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Diari"
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Tercer"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr "Tercer visible"
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr "Seqüència"
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Data de modificació"
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Usuari de modificació"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr "Força que aquest compte sigui obligatori quan s'omplin documents."
@@ -302,6 +362,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Obre pla comptable"
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Regla analítica"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Comptes analítics"
@@ -330,6 +394,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Obre pla analític"
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Regles analítiques"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Comptes analítics"
@@ -350,6 +418,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Obre pla analític"
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Regles analítiques"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Administració d'analítica"
diff --git a/locale/cs.po b/locale/cs.po
index 6e9aec7..e91d8b6 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
@@ -283,6 +287,63 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr ""
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -307,6 +368,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr ""
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -335,6 +400,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -355,6 +424,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr ""
diff --git a/locale/de.po b/locale/de.po
index 01f87b8..ca685a0 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr "Buchungszeile kann nicht angelegt werden mit Kontosicht \"%s\"."
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr "Erforderliches Wurzelkonto für \"%(name)s\" fehlt"
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Kostenstelle Zeilen"
@@ -278,6 +282,62 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Anfangsdatum"
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Konto"
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Kostenstellen"
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Kostenstellen"
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Unternehmen"
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Journal"
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Partei"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr "Partei sichtbar"
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr "Nummernkreis"
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr "Dieses Konto erforderlich machen bei der Ausfüllung von Formularen"
@@ -302,6 +362,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Kontenplan öffnen"
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Kostenstelle Regel"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Kostenstellen"
@@ -330,6 +394,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Kostenstellenplan öffnen"
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Kostenstelle Regeln"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Kostenstellen"
@@ -350,6 +418,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Kostenstellenplan öffnen"
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Kostenstelle Regeln"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Kostenstellen Administration"
diff --git a/locale/es.po b/locale/es.po
index 35857de..6158ed0 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -23,6 +23,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr "No puede crear un apunte utilizando la cuenta tipo vista \"%s\"."
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr "Faltan algunas cuentas raíz en \"%(name)s\""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Líneas analíticas"
@@ -279,6 +283,62 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Fecha inicial"
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Cuenta"
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Cuentas analíticas"
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Cuentas analíticas"
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Fecha de creación"
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Usuario de creación"
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Diario"
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Tercero"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr "Tercero visible"
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr "Secuencia"
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Fecha de modificación"
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Usuario de modificación"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr "Hacer a esta cuenta obligatoria cuando se introduzcan documentos"
@@ -303,6 +363,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Abrir plan contable"
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Regla analítica"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Cuentas analíticas"
@@ -331,6 +395,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Abrir plan analítico"
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Reglas analíticas"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Cuentas analíticas"
@@ -351,6 +419,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Abrir plan analítico"
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Reglas analíticas"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Administración de analítica"
diff --git a/locale/es_419.po b/locale/es_419.po
index abf46b3..73bafc4 100644
--- a/locale/es_419.po
+++ b/locale/es_419.po
@@ -12,20 +12,25 @@ msgstr ""
 
 msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values."
-msgstr ""
+msgstr "Valores de crédito/débito erróneos."
 
 msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using inactive account \"%s\"."
-msgstr ""
+msgstr "No puede crear una línea de asiento utilizando la cuenta inactiva \"%s\"."
 
 msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
+"No puede crear una línea de asiento utilizando la cuenta de tipo vista "
+"\"%s\"."
+
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
 
-#, fuzzy
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
-msgstr "Analytic Lines"
+msgstr ""
 
 msgctxt "field:account.move.line,analytic_state:"
 msgid "Analytic State"
@@ -103,9 +108,10 @@ msgctxt "field:analytic_account.account,create_uid:"
 msgid "Create User"
 msgstr ""
 
+#, fuzzy
 msgctxt "field:analytic_account.account,credit:"
 msgid "Credit"
-msgstr ""
+msgstr "Crédito"
 
 msgctxt "field:analytic_account.account,currency:"
 msgid "Currency"
@@ -117,7 +123,7 @@ msgstr ""
 
 msgctxt "field:analytic_account.account,debit:"
 msgid "Debit"
-msgstr ""
+msgstr "Débito"
 
 msgctxt "field:analytic_account.account,display_balance:"
 msgid "Display Balance"
@@ -233,7 +239,7 @@ msgstr ""
 
 msgctxt "field:analytic_account.line,credit:"
 msgid "Credit"
-msgstr ""
+msgstr "Crédito"
 
 msgctxt "field:analytic_account.line,currency_digits:"
 msgid "Currency Digits"
@@ -245,7 +251,7 @@ msgstr ""
 
 msgctxt "field:analytic_account.line,debit:"
 msgid "Debit"
-msgstr ""
+msgstr "Débito"
 
 msgctxt "field:analytic_account.line,id:"
 msgid "ID"
@@ -253,7 +259,7 @@ msgstr ""
 
 msgctxt "field:analytic_account.line,move_line:"
 msgid "Account Move Line"
-msgstr ""
+msgstr "Línea de asiento contable"
 
 msgctxt "field:analytic_account.line,rec_name:"
 msgid "Name"
@@ -269,7 +275,7 @@ msgstr ""
 
 msgctxt "field:analytic_account.open_chart.start,end_date:"
 msgid "End Date"
-msgstr ""
+msgstr "Fecha final"
 
 msgctxt "field:analytic_account.open_chart.start,id:"
 msgid "ID"
@@ -277,6 +283,62 @@ msgstr ""
 
 msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
+msgstr "Fecha Inicial"
+
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Libro Diario"
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
 msgstr ""
 
 msgctxt "help:analytic_account.account,mandatory:"
@@ -285,41 +347,43 @@ msgstr ""
 
 msgctxt "model:analytic.account.entry,name:"
 msgid "Analytic Account Entry"
-msgstr ""
+msgstr "Asiento de cuenta analítica"
 
-#, fuzzy
 msgctxt "model:analytic_account.account,name:"
 msgid "Analytic Account"
-msgstr "Analytic Account"
+msgstr ""
 
 msgctxt "model:analytic_account.account.distribution,name:"
 msgid "Analytic Account Distribution"
 msgstr ""
 
-#, fuzzy
 msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
-msgstr "Analytic Lines"
+msgstr ""
 
 msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
+msgstr "Abrir plan de cuentas"
+
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
 msgstr ""
 
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
-msgstr "Analytic Accounts"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_account_tree"
 msgid "Analytic Accounts"
-msgstr "Analytic Accounts"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_account_tree2"
 msgid "Analytic Accounts"
-msgstr "Analytic Accounts"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_line_form"
 msgid "Analytic Lines"
-msgstr "Analytic Lines"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_move_line_form_completion"
 msgid "Analytic Lines to Complete"
@@ -327,23 +391,27 @@ msgstr ""
 
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
-msgstr "Open Account"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Open Chart of Analytic Accounts"
+msgstr "Abrir plan de cuentas analíticas"
+
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
-msgstr "Analytic Accounts"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_account_tree"
 msgid "Analytic Accounts"
-msgstr "Analytic Accounts"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_analytic_account_configuration"
 msgid "Analytic Account"
-msgstr "Analytic Account"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_completion"
 msgid "Analytic Lines to Complete"
@@ -351,11 +419,15 @@ msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
-msgstr "Open Chart of Analytic Accounts"
+msgstr "Abrir plan de cuentas analíticas"
+
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr ""
 
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
-msgstr "Analytic Administration"
+msgstr ""
 
 msgctxt "selection:account.move.line,analytic_state:"
 msgid "Draft"
@@ -367,11 +439,11 @@ msgstr ""
 
 msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
-msgstr ""
+msgstr "Crédito - Débito"
 
 msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Debit - Credit"
-msgstr ""
+msgstr "Débito - Crédito"
 
 msgctxt "selection:analytic_account.account,state:"
 msgid "Closed"
@@ -407,16 +479,15 @@ msgstr ""
 
 msgctxt "view:account.move.line:"
 msgid "Credit"
-msgstr ""
+msgstr "Crédito"
 
 msgctxt "view:account.move.line:"
 msgid "Debit"
-msgstr ""
+msgstr "Débito"
 
-#, fuzzy
 msgctxt "view:analytic_account.account.distribution:"
 msgid "%"
-msgstr "%"
+msgstr ""
 
 msgctxt "view:analytic_account.account:"
 msgid "General Information"
diff --git a/locale/fr.po b/locale/fr.po
index 3a08d1b..29e3f24 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -27,6 +27,10 @@ msgstr ""
 "Vous ne pouvez pas crér une ligne de mouvement avec le compte de type vue « "
 "%s »."
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr "Certains comptes racines obligatoires sont manquants sur « %(name)s »"
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Lignes analytiques"
@@ -283,6 +287,62 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Date de début"
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Compte"
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Comptes analytiques"
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Taille des comptes analytiques"
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Société"
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Journal"
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Tiers"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr "Tiers visible"
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr "Séquence"
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr "Rendre ce compte obligatoire quand les documents sont remplis"
@@ -307,6 +367,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Ouvrir le plan comptable"
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Règle analytique"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Comptes analytiques"
@@ -335,6 +399,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Ouvrir le plan comptable analytique"
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Règles analytiques"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Comptes analytiques"
@@ -355,6 +423,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Ouvrir le plan comptable analytique"
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Règles analytiques"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Administration de l'analytique"
diff --git a/locale/hu_HU.po b/locale/hu_HU.po
index 45047c9..1eca97f 100644
--- a/locale/hu_HU.po
+++ b/locale/hu_HU.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
@@ -320,6 +324,71 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr ""
 
+#, fuzzy
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Számla"
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Társaság"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Létrehozás détuma"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Által létrehozva "
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Partner"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Név"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "utolsó módosítás dátuma"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Által módosítva"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -344,6 +413,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr ""
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -372,6 +445,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -392,6 +469,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr ""
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 03444bf..4eb2804 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -25,6 +25,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr "Movimento non creabile utilizzando il conto vista \"%s\"."
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Righe analitiche"
@@ -281,6 +285,74 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Data inizio"
 
+#, fuzzy
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Conto"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Conti analitici"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Conti analitici"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Azienda"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Creato il"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Creato da"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Registro"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Controparti"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Nome"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Modificato il"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "modificato da"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr "Rendere questo conto obbligatorio nel completare i documenti"
@@ -305,6 +377,11 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Apertura prospetto contabile"
 
+#, fuzzy
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Riga analitica"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Conti analitici"
@@ -333,6 +410,11 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Apri Prospetto conti analitici"
 
+#, fuzzy
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Righe analitiche"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Conti analitici"
@@ -353,6 +435,11 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Apertura prospetto conti analitici"
 
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Righe analitiche"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Amministrazione contabilità analitica"
diff --git a/locale/ja_JP.po b/locale/ja_JP.po
index abf46b3..cd3f7e7 100644
--- a/locale/ja_JP.po
+++ b/locale/ja_JP.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
@@ -279,6 +283,64 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr ""
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Analytic Accounts"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Analytic Accounts"
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -305,6 +367,11 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr ""
 
+#, fuzzy
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Analytic Lines"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Analytic Accounts"
@@ -333,6 +400,11 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Open Chart of Analytic Accounts"
 
+#, fuzzy
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Analytic Lines"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Analytic Accounts"
@@ -353,6 +425,11 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Open Chart of Analytic Accounts"
 
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Analytic Lines"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Analytic Administration"
diff --git a/locale/lo.po b/locale/lo.po
index 322de03..c49ee55 100644
--- a/locale/lo.po
+++ b/locale/lo.po
@@ -23,6 +23,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
@@ -334,6 +338,74 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "ວັນທີເລີ່ມ"
 
+#, fuzzy
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "ບັນຊີ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "ບັນຊີວິເຄາະ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "ບັນຊີວິເຄາະ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "ຫ້ອງການ/ສຳນັກງານ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "ສ້າງວັນທີ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "ສ້າງຜູ້ໃຊ້ງານ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ເລດລຳດັບ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "ປຶ້ມບັນຊີປະຈຳວັນ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "ພາກສ່ວນ"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "ຊື່"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "ວັນທີບັນທຶກ"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "ສ້າງຜູ້ໃຊ້"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -360,6 +432,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "ໄຂຜັງບັນຊີ"
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
@@ -391,6 +467,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
@@ -414,6 +494,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr ""
diff --git a/locale/lt.po b/locale/lt.po
index 6e9aec7..e91d8b6 100644
--- a/locale/lt.po
+++ b/locale/lt.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
@@ -283,6 +287,63 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr ""
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -307,6 +368,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr ""
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -335,6 +400,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -355,6 +424,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr ""
diff --git a/locale/nl.po b/locale/nl.po
index 4a3e8dc..864835a 100644
--- a/locale/nl.po
+++ b/locale/nl.po
@@ -23,6 +23,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
@@ -334,6 +338,72 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Start datum"
 
+#, fuzzy
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Rekeningen"
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Bedrijf"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Datum"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Gebruiker"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Dagboek"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Relaties"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Naam bijlage"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Schrijfdatum"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Gebruiker"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -359,6 +429,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Grootboek openen"
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -387,6 +461,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -407,6 +485,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr ""
diff --git a/locale/pl.po b/locale/pl.po
index abf46b3..cd3f7e7 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
@@ -279,6 +283,64 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr ""
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Analytic Accounts"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Analytic Accounts"
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -305,6 +367,11 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr ""
 
+#, fuzzy
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Analytic Lines"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Analytic Accounts"
@@ -333,6 +400,11 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Open Chart of Analytic Accounts"
 
+#, fuzzy
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Analytic Lines"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Analytic Accounts"
@@ -353,6 +425,11 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Open Chart of Analytic Accounts"
 
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Analytic Lines"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Analytic Administration"
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 9a8731a..df5180c 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -8,7 +8,7 @@ msgstr "Somente se permite uma conta por raiz analítica e origem."
 
 msgctxt "error:analytic_account.account:"
 msgid "The distribution sum of account \"%(account)s\" is not 100%."
-msgstr ""
+msgstr "A soma distributiva da conta \"%(account)s\" não é 100%."
 
 msgctxt "error:analytic_account.line:"
 msgid "Wrong credit/debit values."
@@ -24,19 +24,22 @@ msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 "Você não pode criar uma linha de lançamento usando a conta de visão \"%s\""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr "Alguma conta raiz obrigatória está faltando em \"%(name)s\""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Linhas Analíticas"
 
 msgctxt "field:account.move.line,analytic_state:"
 msgid "Analytic State"
-msgstr ""
+msgstr "Estado Analítico"
 
 msgctxt "field:analytic.account.entry,account:"
 msgid "Account"
 msgstr "Contas"
 
-#, fuzzy
 msgctxt "field:analytic.account.entry,company:"
 msgid "Company"
 msgstr "Empresa"
@@ -127,11 +130,11 @@ msgstr "Mostrar Saldo"
 
 msgctxt "field:analytic_account.account,distribution_parents:"
 msgid "Distribution Parents"
-msgstr ""
+msgstr "Distribuição Pais"
 
 msgctxt "field:analytic_account.account,distributions:"
 msgid "Distributions"
-msgstr ""
+msgstr "Distribuições"
 
 msgctxt "field:analytic_account.account,id:"
 msgid "ID"
@@ -151,7 +154,7 @@ msgstr "Observação"
 
 msgctxt "field:analytic_account.account,parent:"
 msgid "Parent"
-msgstr "Parente"
+msgstr "Pai"
 
 msgctxt "field:analytic_account.account,rec_name:"
 msgid "Name"
@@ -177,54 +180,45 @@ msgctxt "field:analytic_account.account,write_uid:"
 msgid "Write User"
 msgstr "Gravado pelo usuário"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,account:"
 msgid "Account"
-msgstr "Contas"
+msgstr "Conta"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,create_date:"
 msgid "Create Date"
 msgstr "Data de criação"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,create_uid:"
 msgid "Create User"
-msgstr "Criado pelo usuário"
+msgstr "Criado por"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,parent:"
 msgid "Parent"
-msgstr "Parente"
+msgstr "Pai"
 
 msgctxt "field:analytic_account.account.distribution,ratio:"
 msgid "Ratio"
-msgstr ""
+msgstr "Proporção"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,rec_name:"
 msgid "Name"
 msgstr "Nome"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,root:"
 msgid "Root"
 msgstr "Raiz"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,write_date:"
 msgid "Write Date"
-msgstr "Data de gravação"
+msgstr "Data de edição"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,write_uid:"
 msgid "Write User"
-msgstr "Gravado pelo usuário"
+msgstr "Editado por"
 
 msgctxt "field:analytic_account.line,account:"
 msgid "Account"
@@ -290,9 +284,66 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Data de início"
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Conta"
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Contas Analíticas"
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Tamanho da Conta Analítica"
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Data de criação"
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Criado por"
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Diário"
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Pessoa"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr "Pessoa Visível"
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Nome"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr "Sequência"
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Data de edição"
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Editado por"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
+"Faça com que esta conta seja obrigatória quando preenchendo documentos"
 
 msgctxt "model:analytic.account.entry,name:"
 msgid "Analytic Account Entry"
@@ -304,7 +355,7 @@ msgstr "Conta Analítica"
 
 msgctxt "model:analytic_account.account.distribution,name:"
 msgid "Analytic Account Distribution"
-msgstr ""
+msgstr "Distribuição da Conta Analítica"
 
 msgctxt "model:analytic_account.line,name:"
 msgid "Analytic Line"
@@ -314,6 +365,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Abrir Plano de Contas"
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Regra Analítica"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Contas Analíticas"
@@ -332,7 +387,7 @@ msgstr "Linhas Analíticas"
 
 msgctxt "model:ir.action,name:act_move_line_form_completion"
 msgid "Analytic Lines to Complete"
-msgstr ""
+msgstr "Lançamentos Analíticos a Completar"
 
 msgctxt "model:ir.action,name:act_open_account"
 msgid "Open Account"
@@ -342,6 +397,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Abrir Plano de Contas Analíticas"
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Regras Analíticas"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Contas Analíticas"
@@ -356,24 +415,27 @@ msgstr "Conta Analíticas"
 
 msgctxt "model:ir.ui.menu,name:menu_completion"
 msgid "Analytic Lines to Complete"
-msgstr ""
+msgstr "Lançamentos Analíticos a Completar"
 
 msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Abrir Plano de Contas Analíticas"
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Regras Analíticas"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Administração da Analítica"
 
-#, fuzzy
 msgctxt "selection:account.move.line,analytic_state:"
 msgid "Draft"
 msgstr "Rascunho"
 
 msgctxt "selection:account.move.line,analytic_state:"
 msgid "Valid"
-msgstr ""
+msgstr "Válido"
 
 msgctxt "selection:analytic_account.account,display_balance:"
 msgid "Credit - Debit"
@@ -397,7 +459,7 @@ msgstr "Abriu"
 
 msgctxt "selection:analytic_account.account,type:"
 msgid "Distribution"
-msgstr ""
+msgstr "Distribuição"
 
 msgctxt "selection:analytic_account.account,type:"
 msgid "Normal"
@@ -415,17 +477,14 @@ msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Analítico"
 
-#, fuzzy
 msgctxt "view:account.move.line:"
 msgid "Credit"
 msgstr "Crédito"
 
-#, fuzzy
 msgctxt "view:account.move.line:"
 msgid "Debit"
 msgstr "Débito"
 
-#, fuzzy
 msgctxt "view:analytic_account.account.distribution:"
 msgid "%"
 msgstr "%"
diff --git a/locale/ru.po b/locale/ru.po
index 89301b3..e5da4fb 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr "Вы не можете создать проводку используя счет для просмотра \"%s\"."
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Строки аналитики"
@@ -298,6 +302,74 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Дата начала"
 
+#, fuzzy
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Счет"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Счета аналитики"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Счета аналитики"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Организация"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Дата создания"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Создано пользователем"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Журнал"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Контрагент"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Правило оплаты"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Дата изменения"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Изменено пользователем"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -322,6 +394,11 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Открыть схему счетов"
 
+#, fuzzy
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Строка аналитики"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Счета аналитики"
@@ -350,6 +427,11 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Открыть схему счетов аналитики"
 
+#, fuzzy
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Строки аналитики"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Счета аналитики"
@@ -370,6 +452,11 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Открыть схему счетов аналитики"
 
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Строки аналитики"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Администрирование аналитики"
diff --git a/locale/sl.po b/locale/sl.po
index 83f91b0..cfe0949 100644
--- a/locale/sl.po
+++ b/locale/sl.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr "Knjiženje postavke ni možno izvesti z vpoglednim kontom \"%s\"."
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr "Manjka obvezen korenski konto na \"%(name)s\""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr "Analitične postavke"
@@ -34,7 +38,6 @@ msgctxt "field:analytic.account.entry,account:"
 msgid "Account"
 msgstr "Konto"
 
-#, fuzzy
 msgctxt "field:analytic.account.entry,company:"
 msgid "Company"
 msgstr "Družba"
@@ -175,22 +178,18 @@ msgctxt "field:analytic_account.account,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,account:"
 msgid "Account"
 msgstr "Konto"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,create_date:"
 msgid "Create Date"
 msgstr "Izdelano"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,create_uid:"
 msgid "Create User"
 msgstr "Izdelal"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,id:"
 msgid "ID"
 msgstr "ID"
@@ -203,22 +202,18 @@ msgctxt "field:analytic_account.account.distribution,ratio:"
 msgid "Ratio"
 msgstr "Delež"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,rec_name:"
 msgid "Name"
 msgstr "Ime"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,root:"
 msgid "Root"
 msgstr "Koren"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,write_date:"
 msgid "Write Date"
 msgstr "Zapisano"
 
-#, fuzzy
 msgctxt "field:analytic_account.account.distribution,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
@@ -287,6 +282,62 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr "Začetni datum"
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr "Konto"
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr "Analitični konti"
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr "Število analitičnih kontov"
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr "Družba"
+
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "Izdelano"
+
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "Izdelal"
+
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr "Dnevnik"
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr "Partner"
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr "Partner viden"
+
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "Ime"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr "Zap.št."
+
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "Zapisano"
+
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "Zapisal"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr "Pri vnašanju dokumentov naj bo ta konto obvezen"
@@ -311,6 +362,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr "Odpri kontni načrt"
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr "Analitično pravilo"
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr "Analitični konti"
@@ -339,6 +394,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Odpri analitični kontni načrt"
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr "Analitična pravila"
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr "Analitični konti"
@@ -359,11 +418,14 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr "Odpri analitični kontni načrt"
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr "Analitična pravila"
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr "Analitika - vodenje"
 
-#, fuzzy
 msgctxt "selection:account.move.line,analytic_state:"
 msgid "Draft"
 msgstr "V pripravi"
@@ -412,17 +474,14 @@ msgctxt "view:account.move.line:"
 msgid "Analytic"
 msgstr "Analitično"
 
-#, fuzzy
 msgctxt "view:account.move.line:"
 msgid "Credit"
 msgstr "Kredit"
 
-#, fuzzy
 msgctxt "view:account.move.line:"
 msgid "Debit"
 msgstr "Debet"
 
-#, fuzzy
 msgctxt "view:analytic_account.account.distribution:"
 msgid "%"
 msgstr "%"
diff --git a/locale/zh_CN.po b/locale/zh_CN.po
index 1e82284..94d088d 100644
--- a/locale/zh_CN.po
+++ b/locale/zh_CN.po
@@ -22,6 +22,10 @@ msgctxt "error:analytic_account.line:"
 msgid "You can not create a move line using view account \"%s\"."
 msgstr ""
 
+msgctxt "error:analytic_account.rule:"
+msgid "Some mandatory root account are missing on \"%(name)s\""
+msgstr ""
+
 msgctxt "field:account.move.line,analytic_lines:"
 msgid "Analytic Lines"
 msgstr ""
@@ -313,6 +317,68 @@ msgctxt "field:analytic_account.open_chart.start,start_date:"
 msgid "Start Date"
 msgstr ""
 
+msgctxt "field:analytic_account.rule,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts:"
+msgid "Analytic Accounts"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,analytic_accounts_size:"
+msgid "Analytic Accounts Size"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,company:"
+msgid "Company"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_date:"
+msgid "Create Date"
+msgstr "创建日期:"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,create_uid:"
+msgid "Create User"
+msgstr "添加用户"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,id:"
+msgid "ID"
+msgstr "编号"
+
+msgctxt "field:analytic_account.rule,journal:"
+msgid "Journal"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:analytic_account.rule,party_visible:"
+msgid "Party Visible"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,rec_name:"
+msgid "Name"
+msgstr "纳木"
+
+msgctxt "field:analytic_account.rule,sequence:"
+msgid "Sequence"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_date:"
+msgid "Write Date"
+msgstr "写入日期"
+
+#, fuzzy
+msgctxt "field:analytic_account.rule,write_uid:"
+msgid "Write User"
+msgstr "写入帐号"
+
 msgctxt "help:analytic_account.account,mandatory:"
 msgid "Make this account mandatory when filling documents"
 msgstr ""
@@ -337,6 +403,10 @@ msgctxt "model:analytic_account.open_chart.start,name:"
 msgid "Open Chart of Accounts"
 msgstr ""
 
+msgctxt "model:analytic_account.rule,name:"
+msgid "Analytic Rule"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -365,6 +435,10 @@ msgctxt "model:ir.action,name:act_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_account_list"
 msgid "Analytic Accounts"
 msgstr ""
@@ -385,6 +459,10 @@ msgctxt "model:ir.ui.menu,name:menu_open_chart"
 msgid "Open Chart of Analytic Accounts"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_rule_form"
+msgid "Analytic Rules"
+msgstr ""
+
 msgctxt "model:res.group,name:group_analytic_admin"
 msgid "Analytic Administration"
 msgstr ""
diff --git a/rule.py b/rule.py
new file mode 100644
index 0000000..d1838d6
--- /dev/null
+++ b/rule.py
@@ -0,0 +1,44 @@
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+from trytond.model import ModelSQL, ModelView, MatchMixin, fields, \
+        sequence_ordered
+from trytond.pyson import Eval
+from trytond.transaction import Transaction
+
+from .account import AnalyticMixin
+
+__all__ = ['Rule']
+
+
+class Rule(sequence_ordered(), MatchMixin, AnalyticMixin, ModelSQL, ModelView):
+    "Analytic Rule"
+    __name__ = 'analytic_account.rule'
+
+    company = fields.Many2One(
+        'company.company', "Company", required=True)
+    account = fields.Many2One(
+        'account.account', "Account",
+        domain=[
+            ('company', '=', Eval('company', -1)),
+            ('type', '!=', 'view'),
+            ],
+        depends=['company'])
+    party = fields.Many2One(
+        'party.party', "Party",
+        states={
+            'invisible': ~Eval('party_visible'),
+            },
+        depends=['party_visible'])
+    party_visible = fields.Function(fields.Boolean("Party Visible"),
+        'on_change_with_party_visible')
+    journal = fields.Many2One('account.journal', "Journal")
+
+    @classmethod
+    def default_company(cls):
+        return Transaction().context.get('company')
+
+    @fields.depends('account')
+    def on_change_with_party_visible(self, name=None):
+        if self.account:
+            return self.account.party_required
+        return False
diff --git a/rule.xml b/rule.xml
new file mode 100644
index 0000000..e0129b0
--- /dev/null
+++ b/rule.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tryton>
+    <data>
+        <record model="ir.ui.view" id="rule_view_list">
+            <field name="model">analytic_account.rule</field>
+            <field name="type">tree</field>
+            <field name="name">rule_list</field>
+        </record>
+
+        <record model="ir.ui.view" id="rule_view_form">
+            <field name="model">analytic_account.rule</field>
+            <field name="type">form</field>
+            <field name="name">rule_form</field>
+        </record>
+
+        <record model="ir.action.act_window" id="act_rule_form">
+            <field name="name">Analytic Rules</field>
+            <field name="res_model">analytic_account.rule</field>
+        </record>
+        <record model="ir.action.act_window.view" id="act_rule_form_view1">
+            <field name="sequence" eval="10"/>
+            <field name="view" ref="rule_view_list"/>
+            <field name="act_window" ref="act_rule_form"/>
+        </record>
+        <record model="ir.action.act_window.view" id="act_rule_form_view2">
+            <field name="sequence" eval="20"/>
+            <field name="view" ref="rule_view_form"/>
+            <field name="act_window" ref="act_rule_form"/>
+        </record>
+        <menuitem parent="menu_analytic_account_configuration"
+            action="act_rule_form" id="menu_rule_form"/>
+
+        <record model="ir.rule.group" id="rule_group_rule">
+            <field name="model"
+                search="[('model', '=', 'analytic_account.rule')]"/>
+            <field name="global_p" eval="True"/>
+        </record>
+        <record model="ir.rule" id="rule_rule1">
+            <field name="domain"
+                eval="[('company', 'in', Eval('user', {}).get('companies', []))]"
+                pyson="1"/>
+            <field name="rule_group" ref="rule_group_rule"/>
+        </record>
+
+        <record model="ir.model.access" id="access_rule">
+            <field name="model"
+                search="[('model', '=', 'analytic_account.rule')]"/>
+            <field name="perm_read" eval="True"/>
+            <field name="perm_write" eval="False"/>
+            <field name="perm_create" eval="False"/>
+            <field name="perm_delete" eval="False"/>
+        </record>
+        <record model="ir.model.access" id="access_rule_account_admin">
+            <field name="model"
+                search="[('model', '=', 'analytic_account.rule')]"/>
+            <field name="group" ref="group_analytic_admin"/>
+            <field name="perm_read" eval="True"/>
+            <field name="perm_write" eval="True"/>
+            <field name="perm_create" eval="True"/>
+            <field name="perm_delete" eval="True"/>
+        </record>
+    </data>
+</tryton>
diff --git a/setup.py b/setup.py
index 90277d1..a712731 100644
--- a/setup.py
+++ b/setup.py
@@ -84,7 +84,7 @@ setup(name=name,
         'Intended Audience :: Developers',
         'Intended Audience :: Financial and Insurance Industry',
         'Intended Audience :: Legal Industry',
-        'License :: OSI Approved :: GNU General Public License (GPL)',
+        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
         'Natural Language :: Bulgarian',
         'Natural Language :: Catalan',
         'Natural Language :: Chinese (Simplified)',
diff --git a/tests/scenario_analytic_account.rst b/tests/scenario_analytic_account.rst
index 7405c68..56d37bf 100644
--- a/tests/scenario_analytic_account.rst
+++ b/tests/scenario_analytic_account.rst
@@ -32,11 +32,15 @@ Create fiscal year::
 
 Create chart of accounts::
 
+    >>> Journal = Model.get('account.journal')
     >>> _ = create_chart(company)
     >>> accounts = get_accounts(company)
     >>> receivable = accounts['receivable']
     >>> revenue = accounts['revenue']
     >>> expense = accounts['expense']
+    >>> journal_revenue, = Journal.find([
+    ...         ('code', '=', 'REV'),
+    ...         ])
 
 Create analytic accounts::
 
@@ -46,6 +50,21 @@ Create analytic accounts::
     >>> analytic_account = AnalyticAccount(root=root, parent=root,
     ...     name='Analytic')
     >>> analytic_account.save()
+    >>> analytic_account2 = AnalyticAccount(root=root, parent=root,
+    ...     name='Analytic 2')
+    >>> analytic_account2.save()
+
+Create analytic rules::
+
+    >>> AnalyticRule = Model.get('analytic_account.rule')
+    >>> rule1 = AnalyticRule(company=company, account=expense)
+    >>> entry, = rule1.analytic_accounts
+    >>> entry.account = analytic_account
+    >>> rule1.save()
+    >>> rule2 = AnalyticRule(company=company, account=revenue)
+    >>> entry, = rule2.analytic_accounts
+    >>> entry.account = analytic_account2
+    >>> rule2.save()
 
 Create parties::
 
@@ -55,14 +74,7 @@ Create parties::
 
 Create Move analytic accounts::
 
-    >>> Journal = Model.get('account.journal')
     >>> Move = Model.get('account.move')
-    >>> journal_revenue, = Journal.find([
-    ...         ('code', '=', 'REV'),
-    ...         ])
-    >>> journal_cash, = Journal.find([
-    ...         ('code', '=', 'CASH'),
-    ...         ])
     >>> move = Move()
     >>> move.period = period
     >>> move.journal = journal_revenue
@@ -104,3 +116,27 @@ Cancel Move::
     Decimal('42.00')
     >>> analytic_account.debit
     Decimal('42.00')
+
+Create Move without analytic accounts::
+
+    >>> move = Move()
+    >>> move.period = period
+    >>> move.journal = journal_revenue
+    >>> move.date = period.start_date
+    >>> line = move.lines.new()
+    >>> line.account = revenue
+    >>> line.credit = Decimal(73)
+    >>> line = move.lines.new()
+    >>> line.account = receivable
+    >>> line.debit = Decimal(73)
+    >>> line.party = customer
+
+Check analytic lines are created on posting::
+
+    >>> move.click('post')
+    >>> line, = [l for l in move.lines if l.analytic_lines]
+    >>> analytic_line, = line.analytic_lines
+    >>> analytic_line.account == analytic_account2
+    True
+    >>> analytic_line.credit
+    Decimal('73')
diff --git a/tryton.cfg b/tryton.cfg
index 88c8cb9..d095ee9 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=4.2.0
+version=4.4.0
 depends:
     account
     company
@@ -11,3 +11,4 @@ xml:
     analytic_account.xml
     account.xml
     line.xml
+    rule.xml
diff --git a/trytond_analytic_account.egg-info/PKG-INFO b/trytond_analytic_account.egg-info/PKG-INFO
index d88413d..378924d 100644
--- a/trytond_analytic_account.egg-info/PKG-INFO
+++ b/trytond_analytic_account.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-analytic-account
-Version: 4.2.0
+Version: 4.4.0
 Summary: Tryton module for analytic accounting
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/4.2/
+Download-URL: http://downloads.tryton.org/4.4/
 Description: trytond_analytic_account
         ========================
         
@@ -51,7 +51,7 @@ Classifier: Framework :: Tryton
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Chinese (Simplified)
diff --git a/trytond_analytic_account.egg-info/SOURCES.txt b/trytond_analytic_account.egg-info/SOURCES.txt
index 6465b75..9fff676 100644
--- a/trytond_analytic_account.egg-info/SOURCES.txt
+++ b/trytond_analytic_account.egg-info/SOURCES.txt
@@ -7,6 +7,7 @@ README
 account.xml
 analytic_account.xml
 line.xml
+rule.xml
 setup.py
 tryton.cfg
 ./__init__.py
@@ -15,6 +16,8 @@ tryton.cfg
 ./analytic_account.xml
 ./line.py
 ./line.xml
+./rule.py
+./rule.xml
 ./tryton.cfg
 ./locale/bg.po
 ./locale/ca.po
@@ -51,6 +54,8 @@ tryton.cfg
 ./view/move_line_form.xml
 ./view/move_line_list.xml
 ./view/open_chart_start_form.xml
+./view/rule_form.xml
+./view/rule_list.xml
 locale/bg.po
 locale/ca.po
 locale/cs.po
@@ -89,4 +94,6 @@ view/line_form.xml
 view/line_tree.xml
 view/move_line_form.xml
 view/move_line_list.xml
-view/open_chart_start_form.xml
\ No newline at end of file
+view/open_chart_start_form.xml
+view/rule_form.xml
+view/rule_list.xml
\ No newline at end of file
diff --git a/trytond_analytic_account.egg-info/requires.txt b/trytond_analytic_account.egg-info/requires.txt
index 03dc23f..c772b67 100644
--- a/trytond_analytic_account.egg-info/requires.txt
+++ b/trytond_analytic_account.egg-info/requires.txt
@@ -1,6 +1,6 @@
 python-sql
-trytond_account >= 4.2, < 4.3
-trytond_company >= 4.2, < 4.3
-trytond_currency >= 4.2, < 4.3
-trytond_party >= 4.2, < 4.3
-trytond >= 4.2, < 4.3
+trytond_account >= 4.4, < 4.5
+trytond_company >= 4.4, < 4.5
+trytond_currency >= 4.4, < 4.5
+trytond_party >= 4.4, < 4.5
+trytond >= 4.4, < 4.5
diff --git a/view/rule_form.xml b/view/rule_form.xml
new file mode 100644
index 0000000..a45fd27
--- /dev/null
+++ b/view/rule_form.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<form>
+    <label name="company"/>
+    <field name="company"/>
+    <label name="sequence"/>
+    <field name="sequence"/>
+    <label name="account"/>
+    <field name="account"/>
+    <label name="party"/>
+    <field name="party"/>
+    <label name="journal"/>
+    <field name="journal"/>
+    <separator id="analytic_accounts" colspan="4"/>
+    <field name="analytic_accounts" colspan="4"/>
+</form>
diff --git a/view/rule_list.xml b/view/rule_list.xml
new file mode 100644
index 0000000..5b75129
--- /dev/null
+++ b/view/rule_list.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tree sequence="sequence">
+    <field name="company"/>
+    <field name="account"/>
+    <field name="party"/>
+    <field name="journal"/>
+</tree>
-- 
tryton-modules-analytic-account



More information about the tryton-debian-vcs mailing list