[tryton-debian-vcs] tryton-modules-account-invoice branch upstream updated. upstream/4.2.2-2-g58de4d5

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


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

commit 58de4d5af950f351667801b906f480a16e593a69
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Jun 7 15:27:31 2017 +0200

    Adding upstream version 4.4.1.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/CHANGELOG b/CHANGELOG
index a908678..9827269 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 4.4.1 - 2017-06-06
+* Bug fixes (see mercurial logs for details)
+
 Version 4.4.0 - 2017-05-01
 * Bug fixes (see mercurial logs for details)
 * Use Match pattern for invoice sequences
diff --git a/PKG-INFO b/PKG-INFO
index 0654af3..4ddc889 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond_account_invoice
-Version: 4.4.0
+Version: 4.4.1
 Summary: Tryton module for invoicing
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/invoice.py b/invoice.py
index 91a4af0..e8a0f66 100644
--- a/invoice.py
+++ b/invoice.py
@@ -2033,7 +2033,10 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
         '''
         line = self.__class__()
         line.origin = self
-        line.quantity = -self.quantity
+        if self.quantity:
+            line.quantity = -self.quantity
+        else:
+            line.quantity = self.quantity
 
         for field in ('sequence', 'type', 'invoice_type', 'unit_price',
                 'description', 'unit', 'product', 'account'):
diff --git a/setup.cfg b/setup.cfg
index 861a9f5..8bfd5a1 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,5 +1,4 @@
 [egg_info]
 tag_build = 
 tag_date = 0
-tag_svn_revision = 0
 
diff --git a/tryton.cfg b/tryton.cfg
index 53411c5..bd595ba 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=4.4.0
+version=4.4.1
 depends:
     account
     account_product
diff --git a/trytond_account_invoice.egg-info/PKG-INFO b/trytond_account_invoice.egg-info/PKG-INFO
index 33a24ed..931895c 100644
--- a/trytond_account_invoice.egg-info/PKG-INFO
+++ b/trytond_account_invoice.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond-account-invoice
-Version: 4.4.0
+Version: 4.4.1
 Summary: Tryton module for invoicing
 Home-page: http://www.tryton.org/
 Author: Tryton
commit 92e587a3d528b730a28608d88503b553148feb17
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Jun 7 15:25:53 2017 +0200

    Adding upstream version 4.4.0.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/CHANGELOG b/CHANGELOG
index 3bf5a00..a908678 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,8 +1,6 @@
-Version 4.2.2 - 2017-03-10
-* Bug fixes (see mercurial logs for details)
-
-Version 4.2.1 - 2017-02-06
+Version 4.4.0 - 2017-05-01
 * Bug fixes (see mercurial logs for details)
+* Use Match pattern for invoice sequences
 
 Version 4.2.0 - 2016-11-28
 * Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index 3ce5c1f..0654af3 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_account_invoice
-Version: 4.2.2
+Version: 4.4.0
 Summary: Tryton module for invoicing
 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_account_invoice
         =======================
         
@@ -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 7298f8b..3969171 100644
--- a/__init__.py
+++ b/__init__.py
@@ -26,8 +26,12 @@ def register():
         CreditInvoiceStart,
         Address,
         Party,
-        FiscalYear,
+        PartyPaymentTerm,
+        InvoiceSequence,
+        # Match pattern migration fallbacks to Fiscalyear values so Period
+        # must be registered before Fiscalyear
         Period,
+        FiscalYear,
         Move,
         Reconciliation,
         module='account_invoice', type_='model')
diff --git a/account.py b/account.py
index 610530e..fbe3d2b 100644
--- a/account.py
+++ b/account.py
@@ -1,18 +1,139 @@
 # 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 fields
+from sql import Literal
+from sql.conditionals import Coalesce
+
+from trytond.model import (fields, ModelView, ModelSQL, MatchMixin,
+    sequence_ordered)
 from trytond.pyson import Eval
 from trytond.pool import Pool, PoolMeta
+from trytond.transaction import Transaction
+from trytond import backend
 
 __all__ = ['FiscalYear',
-    'Period', 'Move', 'Reconciliation']
+    'Period', 'Move', 'Reconciliation', 'InvoiceSequence']
 
 
 class FiscalYear:
     __metaclass__ = PoolMeta
     __name__ = 'account.fiscalyear'
-    out_invoice_sequence = fields.Many2One('ir.sequence.strict',
-        'Customer Invoice Sequence', required=True,
+    invoice_sequences = fields.One2Many(
+        'account.fiscalyear.invoice_sequence', 'fiscalyear',
+        "Invoice Sequences",
+        domain=[
+            ('company', '=', Eval('company', -1)),
+            ],
+        depends=['company'])
+
+    @classmethod
+    def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
+        pool = Pool()
+        Sequence = pool.get('account.fiscalyear.invoice_sequence')
+        sequence = Sequence.__table__()
+        sql_table = cls.__table__()
+
+        super(FiscalYear, cls).__register__(module_name)
+        cursor = Transaction().connection.cursor()
+        table = TableHandler(cls, module_name)
+
+        # Migration from 4.2: Use Match pattern for sequences
+        if (table.column_exist('in_invoice_sequence')
+                and table.column_exist('in_credit_note_sequence')
+                and table.column_exist('out_invoice_sequence')
+                and table.column_exist('out_credit_note_sequence')):
+            cursor.execute(*sequence.insert(columns=[
+                        sequence.sequence, sequence.fiscalyear,
+                        sequence.company,
+                        sequence.out_invoice_sequence,
+                        sequence.out_credit_note_sequence,
+                        sequence.in_invoice_sequence,
+                        sequence.in_credit_note_sequence],
+                    values=sql_table.select(
+                        Literal(20), sql_table.id,
+                        sql_table.company,
+                        sql_table.out_invoice_sequence,
+                        sql_table.out_credit_note_sequence,
+                        sql_table.in_invoice_sequence,
+                        sql_table.in_credit_note_sequence)))
+            table.drop_column('out_invoice_sequence')
+            table.drop_column('out_credit_note_sequence')
+            table.drop_column('in_invoice_sequence')
+            table.drop_column('in_credit_note_sequence')
+
+    @staticmethod
+    def default_invoice_sequences():
+        if Transaction().user == 0:
+            return []
+        return [{}]
+
+
+class Period:
+    __metaclass__ = PoolMeta
+    __name__ = 'account.period'
+
+    @classmethod
+    def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
+        pool = Pool()
+        Sequence = pool.get('account.fiscalyear.invoice_sequence')
+        FiscalYear = pool.get('account.fiscalyear')
+        sequence = Sequence.__table__()
+        fiscalyear = FiscalYear.__table__()
+        sql_table = cls.__table__()
+
+        super(Period, cls).__register__(module_name)
+        cursor = Transaction().connection.cursor()
+        table = TableHandler(cls, module_name)
+
+        # Migration from 4.2: Use Match pattern for sequences
+        if (table.column_exist('in_invoice_sequence')
+                and table.column_exist('in_credit_note_sequence')
+                and table.column_exist('out_invoice_sequence')
+                and table.column_exist('out_credit_note_sequence')):
+            cursor.execute(*sequence.insert(columns=[
+                        sequence.sequence, sequence.fiscalyear,
+                        sequence.period, sequence.out_invoice_sequence,
+                        sequence.out_credit_note_sequence,
+                        sequence.in_invoice_sequence,
+                        sequence.in_credit_note_sequence],
+                    values=sql_table.join(fiscalyear,
+                            condition=(fiscalyear.id == sql_table.fiscalyear)
+                        ).select(
+                        Literal(10), sql_table.fiscalyear,
+                        sql_table.id,
+                        Coalesce(sql_table.out_invoice_sequence,
+                            fiscalyear.out_invoice_sequence),
+                        Coalesce(sql_table.out_credit_note_sequence,
+                            fiscalyear.out_credit_note_sequence),
+                        Coalesce(sql_table.in_invoice_sequence,
+                            fiscalyear.in_invoice_sequence),
+                        Coalesce(sql_table.in_credit_note_sequence,
+                            fiscalyear.in_credit_note_sequence))))
+            table.drop_column('out_invoice_sequence')
+            table.drop_column('out_credit_note_sequence')
+            table.drop_column('in_invoice_sequence')
+            table.drop_column('in_credit_note_sequence')
+
+
+class InvoiceSequence(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
+    'Invoice Sequence'
+    __name__ = 'account.fiscalyear.invoice_sequence'
+    company = fields.Many2One('company.company', "Company", required=True)
+    fiscalyear = fields.Many2One(
+        'account.fiscalyear', "Fiscal Year", required=True, ondelete='CASCADE',
+        domain=[
+            ('company', '=', Eval('company', -1)),
+            ],
+        depends=['company'])
+    period = fields.Many2One('account.period', 'Period',
+        domain=[
+            ('fiscalyear', '=', Eval('fiscalyear')),
+            ('type', '=', 'standard'),
+            ],
+        depends=['fiscalyear'])
+    in_invoice_sequence = fields.Many2One('ir.sequence.strict',
+        'Supplier Invoice Sequence', required=True,
         domain=[
             ('code', '=', 'account.invoice'),
             ['OR',
@@ -20,13 +141,9 @@ class FiscalYear:
                 ('company', '=', None),
                 ],
             ],
-        context={
-            'code': 'account.invoice',
-            'company': Eval('company'),
-            },
         depends=['company'])
-    in_invoice_sequence = fields.Many2One('ir.sequence.strict',
-        'Supplier Invoice Sequence', required=True,
+    in_credit_note_sequence = fields.Many2One('ir.sequence.strict',
+        'Supplier Credit Note Sequence', required=True,
         domain=[
             ('code', '=', 'account.invoice'),
             ['OR',
@@ -34,13 +151,9 @@ class FiscalYear:
                 ('company', '=', None),
                 ],
             ],
-        context={
-            'code': 'account.invoice',
-            'company': Eval('company'),
-            },
         depends=['company'])
-    out_credit_note_sequence = fields.Many2One('ir.sequence.strict',
-        'Customer Credit Note Sequence', required=True,
+    out_invoice_sequence = fields.Many2One('ir.sequence.strict',
+        'Customer Invoice Sequence', required=True,
         domain=[
             ('code', '=', 'account.invoice'),
             ['OR',
@@ -48,12 +161,9 @@ class FiscalYear:
                 ('company', '=', None),
                 ],
             ],
-        context={
-            'code': 'account.invoice',
-            'company': Eval('company'),
-            }, depends=['company'])
-    in_credit_note_sequence = fields.Many2One('ir.sequence.strict',
-        'Supplier Credit Note Sequence', required=True,
+        depends=['company'])
+    out_credit_note_sequence = fields.Many2One('ir.sequence.strict',
+        'Customer Credit Note Sequence', required=True,
         domain=[
             ('code', '=', 'account.invoice'),
             ['OR',
@@ -61,188 +171,16 @@ class FiscalYear:
                 ('company', '=', None),
                 ],
             ],
-        context={
-            'code': 'account.invoice',
-            'company': Eval('company'),
-            }, depends=['company'])
-
-    @classmethod
-    def __setup__(cls):
-        super(FiscalYear, cls).__setup__()
-        cls._error_messages.update({
-                'change_invoice_sequence': ('You can not change '
-                    'invoice sequence in fiscal year "%s" because there are '
-                    'already posted invoices in this fiscal year.'),
-                'different_invoice_sequence': ('Fiscal year "%(first)s" and '
-                    '"%(second)s" have the same invoice sequence.'),
-                })
-
-    @classmethod
-    def validate(cls, years):
-        super(FiscalYear, cls).validate(years)
-        for year in years:
-            year.check_invoice_sequences()
-
-    def check_invoice_sequences(self):
-        for sequence in ('out_invoice_sequence', 'in_invoice_sequence',
-                'out_credit_note_sequence', 'in_credit_note_sequence'):
-            fiscalyears = self.search([
-                    (sequence, '=', getattr(self, sequence).id),
-                    ('id', '!=', self.id),
-                    ])
-            if fiscalyears:
-                self.raise_user_error('different_invoice_sequence', {
-                        'first': self.rec_name,
-                        'second': fiscalyears[0].rec_name,
-                        })
-
-    @classmethod
-    def write(cls, *args):
-        Invoice = Pool().get('account.invoice')
-
-        actions = iter(args)
-        for fiscalyears, values in zip(actions, actions):
-            for sequence in ('out_invoice_sequence', 'in_invoice_sequence',
-                    'out_credit_note_sequence', 'in_credit_note_sequence'):
-                    if not values.get(sequence):
-                        continue
-                    for fiscalyear in fiscalyears:
-                        if (getattr(fiscalyear, sequence)
-                                and (getattr(fiscalyear, sequence).id !=
-                                    values[sequence])):
-                            if Invoice.search([
-                                        ('invoice_date', '>=',
-                                            fiscalyear.start_date),
-                                        ('invoice_date', '<=',
-                                            fiscalyear.end_date),
-                                        ('number', '!=', None),
-                                        ('type', '=', sequence[:-9]),
-                                        ]):
-                                cls.raise_user_error('change_invoice_sequence',
-                                    (fiscalyear.rec_name,))
-        super(FiscalYear, cls).write(*args)
-
-
-class Period:
-    __metaclass__ = PoolMeta
-    __name__ = 'account.period'
-    out_invoice_sequence = fields.Many2One('ir.sequence.strict',
-        'Customer Invoice Sequence',
-        domain=[('code', '=', 'account.invoice')],
-        context={'code': 'account.invoice'},
-        states={
-            'invisible': Eval('type') != 'standard',
-            },
-        depends=['type'])
-    in_invoice_sequence = fields.Many2One('ir.sequence.strict',
-        'Supplier Invoice Sequence',
-        domain=[('code', '=', 'account.invoice')],
-        context={'code': 'account.invoice'},
-        states={
-            'invisible': Eval('type') != 'standard',
-            },
-        depends=['type'])
-    out_credit_note_sequence = fields.Many2One('ir.sequence.strict',
-        'Customer Credit Note Sequence',
-        domain=[('code', '=', 'account.invoice')],
-        context={'code': 'account.invoice'},
-        states={
-            'invisible': Eval('type') != 'standard',
-            },
-        depends=['type'])
-    in_credit_note_sequence = fields.Many2One('ir.sequence.strict',
-        'Supplier Credit Note Sequence',
-        domain=[('code', '=', 'account.invoice')],
-        context={'code': 'account.invoice'},
-        states={
-            'invisible': Eval('type') != 'standard',
-            },
-        depends=['type'])
+        depends=['company'])
 
     @classmethod
     def __setup__(cls):
-        super(Period, cls).__setup__()
-        cls._error_messages.update({
-                'change_invoice_sequence': ('You can not change the invoice '
-                    'sequence in period "%s" because there is already an '
-                    'invoice posted in this period'),
-                'different_invoice_sequence': ('Period "%(first)s" and '
-                    '"%(second)s" have the same invoice sequence.'),
-                'different_period_fiscalyear_company': ('Period "%(period)s" '
-                    'must have the same company as its fiscal year '
-                    '(%(fiscalyear)s).'),
-                })
-
-    @classmethod
-    def validate(cls, periods):
-        super(Period, cls).validate(periods)
-        for period in periods:
-            period.check_invoice_sequences()
-
-    def check_invoice_sequences(self):
-        for sequence_name in ('out_invoice_sequence', 'in_invoice_sequence',
-                'out_credit_note_sequence', 'in_credit_note_sequence'):
-            sequence = getattr(self, sequence_name)
-            if not sequence:
-                continue
-            periods = self.search([
-                    (sequence_name, '=', sequence.id),
-                    ('fiscalyear', '!=', self.fiscalyear.id),
-                    ])
-            if periods:
-                self.raise_user_error('different_invoice_sequence', {
-                        'first': self.rec_name,
-                        'second': periods[0].rec_name,
-                        })
-            if (sequence.company
-                    and sequence.company != self.fiscalyear.company):
-                self.raise_user_error('different_period_fiscalyear_company', {
-                        'period': self.rec_name,
-                        'fiscalyear': self.fiscalyear.rec_name,
-                        })
-
-    @classmethod
-    def create(cls, vlist):
-        FiscalYear = Pool().get('account.fiscalyear')
-        vlist = [v.copy() for v in vlist]
-        for vals in vlist:
-            if vals.get('fiscalyear'):
-                fiscalyear = FiscalYear(vals['fiscalyear'])
-                for sequence in ('out_invoice_sequence', 'in_invoice_sequence',
-                        'out_credit_note_sequence', 'in_credit_note_sequence'):
-                    if not vals.get(sequence):
-                        vals[sequence] = getattr(fiscalyear, sequence).id
-        return super(Period, cls).create(vlist)
+        super(InvoiceSequence, cls).__setup__()
+        cls._order.insert(0, ('fiscalyear', 'ASC'))
 
     @classmethod
-    def write(cls, *args):
-        Invoice = Pool().get('account.invoice')
-
-        actions = iter(args)
-        for periods, values in zip(actions, actions):
-            for sequence_name in ('out_invoice_sequence',
-                    'in_invoice_sequence', 'out_credit_note_sequence',
-                    'in_credit_note_sequence'):
-                if not values.get(sequence_name):
-                    continue
-                for period in periods:
-                    sequence = getattr(period, sequence_name)
-                    if (sequence and sequence.id != values[sequence_name]):
-                        if Invoice.search([
-                                    ('invoice_date', '>=', period.start_date),
-                                    ('invoice_date', '<=', period.end_date),
-                                    ('number', '!=', None),
-                                    ('type', '=', sequence_name[:-9]),
-                                    ]):
-                            cls.raise_user_error('change_invoice_sequence',
-                                (period.rec_name,))
-        super(Period, cls).write(*args)
-
-    def get_invoice_sequence(self, invoice_type):
-        sequence = getattr(self, invoice_type + '_sequence')
-        if sequence:
-            return sequence
-        return getattr(self.fiscalyear, invoice_type + '_sequence')
+    def default_company(cls):
+        return Transaction().context.get('company')
 
 
 class Move:
diff --git a/account.xml b/account.xml
index fda39f5..3b7e8c1 100644
--- a/account.xml
+++ b/account.xml
@@ -9,12 +9,6 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">fiscalyear_form</field>
         </record>
 
-        <record model="ir.ui.view" id="period_view_form">
-            <field name="model">account.period</field>
-            <field name="inherit" ref="account.period_view_form"/>
-            <field name="name">period_form</field>
-        </record>
-
         <record model="ir.ui.view" id="move_line_view_list_payment">
             <field name="model">account.move.line</field>
             <field name="type">tree</field>
@@ -29,5 +23,53 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">move_line_list_to_pay</field>
         </record>
 
+        <record model="ir.ui.view" id="invoice_sequence_view_form">
+            <field name="model">account.fiscalyear.invoice_sequence</field>
+            <field name="type">form</field>
+            <field name="name">invoice_sequence_form</field>
+        </record>
+
+        <record model="ir.ui.view" id="invoice_sequence_view_list">
+            <field name="model">account.fiscalyear.invoice_sequence</field>
+            <field name="type">tree</field>
+            <field name="name">invoice_sequence_list</field>
+        </record>
+
+        <record model="ir.ui.view" id="invoice_sequence_view_list_sequence">
+            <field name="model">account.fiscalyear.invoice_sequence</field>
+            <field name="type">tree</field>
+            <field name="priority" eval="20"/>
+            <field name="name">invoice_sequence_list_sequence</field>
+        </record>
+
+        <record model="ir.model.access" id="access_invoice_sequence">
+            <field name="model"
+                search="[('model', '=', 'account.fiscalyear.invoice_sequence')]"/>
+            <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_invoice_sequence_admin">
+            <field name="model"
+                search="[('model', '=', 'account.fiscalyear.invoice_sequence')]"/>
+            <field name="group" ref="account.group_account_admin"/>
+            <field name="perm_read" eval="True"/>
+            <field name="perm_write" eval="True"/>
+            <field name="perm_create" eval="True"/>
+            <field name="perm_delete" eval="True"/>
+        </record>
+        <record model="ir.rule.group" id="rule_group_invoice_sequence">
+            <field name="model"
+                search="[('model', '=', 'account.fiscalyear.invoice_sequence')]"/>
+            <field name="global_p" eval="True"/>
+        </record>
+        <record model="ir.rule" id="rule_invoice_sequence1">
+            <field name="domain"
+                eval="[('company', '=', Eval('user', {}).get('company', None))]"
+                pyson="1"/>
+            <field name="rule_group" ref="rule_group_invoice_sequence"/>
+        </record>
+
     </data>
 </tryton>
diff --git a/doc/index.rst b/doc/index.rst
index f3b7416..12d2148 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -14,7 +14,7 @@ There are 4 types of invoice: *Invoice*, *Supplier Invoice*, *Credit Note* and
 - Tax Identifier: The tax identifier that will be printed on the invoice
   (By default the first tax identifier of the company).
 - Number: The invoice number set on validation for supplier invoices and on
-  posting for others using the sequence defined on the period or fiscal year.
+  posting for others using the sequence defined on the fiscalyear.
 - Reference: The optional external reference of the invoice.
 - Party: The party for which or from which the invoice is issued.
 - Invoice Address: The address of the party.
@@ -125,6 +125,17 @@ computed terms base on an amount and a date.
 
 .. note:: The last line of payment term must be a remainder.
 
+
+Fiscal Year Sequences
+*********************
+
+The sequence used to compute the invoice number is retrieved from the
+fiscalyear sequences model. At least one record must be defined for each
+fiscalyear. Additional criteria can be used like:
+
+* By period
+
+
 Configuration
 *************
 
diff --git a/invoice.py b/invoice.py
index eacdfe1..91a4af0 100644
--- a/invoice.py
+++ b/invoice.py
@@ -214,9 +214,8 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin):
                 'missing_tax_line2': (
                     'Invoice "%s" has taxes on invoice lines '
                     'that are not in the invoice.\nRe-compute the invoice.'),
-                'no_invoice_sequence': ('There is no invoice sequence for '
-                    'invoice "%(invoice)s" on the period/fiscal year '
-                    '"%(period)s".'),
+                'no_invoice_sequence': ('Missing invoice sequence for '
+                    'invoice "%(invoice)s" on fiscalyear "%(fiscalyear)s".'),
                 'modify_invoice': ('You can not modify invoice "%s" because '
                     'it is posted, paid or cancelled.'),
                 'same_debit_account': ('The debit account on journal '
@@ -257,6 +256,7 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin):
                     'invisible': (~Eval('state').in_(['draft', 'validated'])
                         & ~((Eval('state') == 'posted')
                             & (Eval('type') == 'in'))),
+                    'help': 'Cancel the invoice',
                     },
                 'draft': {
                     'invisible': (~Eval('state').in_(['cancel', 'validated'])
@@ -984,8 +984,6 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin):
         Set number to the invoice
         '''
         pool = Pool()
-        Period = pool.get('account.period')
-        Sequence = pool.get('ir.sequence.strict')
         Date = pool.get('ir.date')
 
         for invoice in invoices:
@@ -999,33 +997,50 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin):
             if invoice.number:
                 continue
 
-            test_state = True
-            if invoice.type == 'in':
-                test_state = False
-
-            accounting_date = invoice.accounting_date or invoice.invoice_date
-            period_id = Period.find(invoice.company.id,
-                date=accounting_date, test_state=test_state)
-            period = Period(period_id)
-            invoice_type = invoice.type
-            if all(l.amount <= 0 for l in invoice.lines):
-                invoice_type += '_credit_note'
-            else:
-                invoice_type += '_invoice'
-            sequence = period.get_invoice_sequence(invoice_type)
-            if not sequence:
-                cls.raise_user_error('no_invoice_sequence', {
-                        'invoice': invoice.rec_name,
-                        'period': period.rec_name,
-                        })
-            with Transaction().set_context(
-                    date=invoice.invoice_date or Date.today()):
-                number = Sequence.get_id(sequence.id)
-                invoice.number = number
-                if not invoice.invoice_date and invoice.type == 'out':
-                    invoice.invoice_date = Transaction().context['date']
+            if not invoice.invoice_date and invoice.type == 'out':
+                invoice.invoice_date = Date.today()
+            invoice.number = invoice.get_next_number()
         cls.save(invoices)
 
+    def get_next_number(self, pattern=None):
+        pool = Pool()
+        Sequence = pool.get('ir.sequence.strict')
+        Period = pool.get('account.period')
+
+        if pattern is None:
+            pattern = {}
+        else:
+            pattern = pattern.copy()
+
+        period_id = Period.find(
+            self.company.id, date=self.accounting_date or self.invoice_date,
+            test_state=self.type != 'in')
+
+        period = Period(period_id)
+        fiscalyear = period.fiscalyear
+        pattern.setdefault('company', self.company.id)
+        pattern.setdefault('fiscalyear', fiscalyear.id)
+        pattern.setdefault('period', period.id)
+        invoice_type = self.type
+        if (all(l.amount < 0 for l in self.lines if l.product)
+                and self.total_amount < 0):
+            invoice_type += '_credit_note'
+        else:
+            invoice_type += '_invoice'
+
+        for invoice_sequence in fiscalyear.invoice_sequences:
+            if invoice_sequence.match(pattern):
+                sequence = getattr(
+                    invoice_sequence, '%s_sequence' % invoice_type)
+                break
+        else:
+            self.raise_user_error('no_invoice_sequence', {
+                    'invoice': self.rec_name,
+                    'fiscalyear': fiscalyear.rec_name,
+                    })
+        with Transaction().set_context(date=self.invoice_date):
+            return Sequence.get_id(sequence.id)
+
     @classmethod
     def _tax_identifier_types(cls):
         return ['eu_vat']
@@ -2644,7 +2659,12 @@ class CreditInvoiceStart(ModelView):
     'Credit Invoice'
     __name__ = 'account.invoice.credit.start'
     with_refund = fields.Boolean('With Refund',
+        states={
+            'readonly': ~Eval('with_refund_allowed'),
+            },
+        depends=['with_refund_allowed'],
         help='If true, the current invoice(s) will be paid.')
+    with_refund_allowed = fields.Boolean("With Refund Allowed", readonly=True)
 
 
 class CreditInvoice(Wizard):
@@ -2674,12 +2694,14 @@ class CreditInvoice(Wizard):
         Invoice = Pool().get('account.invoice')
         default = {
             'with_refund': True,
+            'with_refund_allowed': True,
             }
         for invoice in Invoice.browse(Transaction().context['active_ids']):
             if (invoice.state != 'posted'
                     or invoice.payment_lines
                     or invoice.type == 'in'):
                 default['with_refund'] = False
+                default['with_refund_allowed'] = False
                 break
         return default
 
diff --git a/locale/bg.po b/locale/bg.po
index 44ef146..e6420f4 100644
--- a/locale/bg.po
+++ b/locale/bg.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,47 +155,81 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Фирма"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Последователност за кредитно известие на доставчик"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Последователност на фактура за доставчик"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Последователност за кредитно известие на клиент"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Последователност за фактура на клиент"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Име"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Последователност"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Сметка"
@@ -414,6 +444,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "С обещетение"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Сметка"
@@ -958,22 +992,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Променено от"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Последователност за кредитно известие на доставчик"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Последователност на фактура за доставчик"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Последователност за кредитно известие на клиент"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Последователност за фактура на клиент"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Фактура"
@@ -982,14 +1000,68 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Условие за плащане на клиент"
 
+#, fuzzy
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Условия за плащане"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Условие за плащане на доставчик"
 
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Условие за плащане на клиент"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Партньор"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Име"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Условие за плащане на доставчик"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Ако е истина текущата(те) сметка(и) ще бъдат платена(и)."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Фактура"
@@ -1158,6 +1230,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Условия за плащане"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr ""
+
 #, fuzzy
 msgctxt "report:account.invoice:"
 msgid ":"
diff --git a/locale/ca.po b/locale/ca.po
index fbb6fc7..dbc3481 100644
--- a/locale/ca.po
+++ b/locale/ca.po
@@ -2,20 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"L'exercici fiscal \"%(first)s\" i \"%(second)s\" tenen la mateixa seqüència "
-"de facturació."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"No podeu canviar la seqüència de factures a l'exercici fiscal \"%s\" perquè "
-"ja hi ha factures comptabilitzades en aquest exercici fiscal."
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr "No podeu pagar amb la factura de devolució \"%s\" perquè té pagaments."
@@ -175,6 +161,14 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+"Falta la seqüencia de factura per la factura \"%(invoice)s\" per l'exercici "
+"fiscal \"%(fiscalyear)s\"."
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -202,57 +196,71 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "No es pot eliminar la factura numerada \"%s\"."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-"No hi ha seqüència de factura per la factura \"%(invoice)s\" al "
-"període/exercici fiscal \"%(period)s\"."
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 "No podeu modificar la factura \"%s\" perquè està comptabilitzada, pagada o "
 "cancel·lada."
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Els períodes \"%(first)s\" i \"%(second)s\" tenen la mateixa seqüència de "
-"factura."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
+msgstr "Seqüencies facturació"
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
-"El període \"%(period)s\" ha de tenir la mateixa empresa i exercici fiscal "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Empresa"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
-msgstr ""
-"No podeu canviar la seqüència de factures al període \"%s\" perquè ja hi ha "
-"factures comptabilitzades en aquest període."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Data de creació"
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Usuari de creació"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
+msgstr "Exercici fiscal"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Seqüència d'abonament de proveïdor"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Seqüència de factura de proveïdor"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Seqüència d'abonament de client"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Seqüència de factura de client"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr "Període"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Seqüència"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Data de modificació"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Usuari de modificació"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Compte"
@@ -465,6 +473,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "Amb devolució"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr "Es permet la devolució"
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Compte"
@@ -985,22 +997,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Usuari de modificació"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Seqüència d'abonament de proveïdor"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Seqüència de factura de proveïdor"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Seqüència d'abonament de client"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Seqüència de factura de client"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Factura"
@@ -1009,14 +1005,58 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Termini de pagament del client"
 
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Terminis de pagament"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Termini de pagament del proveïdor"
 
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Data de creació"
+
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Usuari de creació"
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Termini de pagament del client"
+
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Tercer"
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Termini de pagament del proveïdor"
+
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Data de modificació"
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Usuari de modificació"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Si està marcada, les factures actuals es pagaran."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr "Seqüencies de factura"
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Factura"
@@ -1175,6 +1215,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Terminis de pagament"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Termini de pagament del tercer"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr ":"
diff --git a/locale/cs.po b/locale/cs.po
index 1aa1bf8..cabe31e 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,47 +155,70 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
+msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.invoice:"
-msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr ""
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr ""
@@ -414,6 +433,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr ""
@@ -941,38 +964,67 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr ""
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
+msgctxt "field:party.address,invoice:"
+msgid "Invoice"
 msgstr ""
 
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
+msgctxt "field:party.party,customer_payment_term:"
+msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
 msgstr ""
 
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
+msgctxt "field:party.party,supplier_payment_term:"
+msgid "Supplier Payment Term"
 msgstr ""
 
-msgctxt "field:party.address,invoice:"
-msgid "Invoice"
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
 msgstr ""
 
-msgctxt "field:party.party,customer_payment_term:"
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:party.party,supplier_payment_term:"
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr ""
 
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr ""
@@ -1131,6 +1183,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr ""
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr ""
+
 #, fuzzy
 msgctxt "report:account.invoice:"
 msgid ":"
diff --git a/locale/de.po b/locale/de.po
index d79ac0b..c151c8d 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -2,21 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Geschäftsjahre \"%(first)s\" und \"%(second)s\" haben denselben Nummernkreis"
-" für Rechnungen zugeordnet."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"Der Rechnungsnummernkreis für Geschäftsjahr \"%s\" kann nicht mehr geändert "
-"werden, weil es bereits festgeschriebene Rechnungen in diesem Geschäftsjahr "
-"gibt."
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -185,6 +170,14 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+"Fehlender Nummernkreis Rechnung für die Rechnung \"%(invoice)s\" im "
+"Geschäftsjahr \"%(fiscalyear)s\"."
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -212,58 +205,71 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "Rechnung Nummer \"%s\" kann nicht gelöscht werden."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-"Fehlender Nummernkreis für Rechnung \"%(invoice)s\" in "
-"Buchungszeitraum/Geschäftsjahr \"%(period)s\"."
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 "Änderung von Rechnung \"%s\" nicht möglich, weil sie in Status "
 "\"Festgeschrieben\", \"Bezahlt\" oder \"Annulliert\" ist."
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Für die Buchungszeiträume \"%(first)s\" und \"%(second)s\" ist derselbe "
-"Rechnungsnummernkreis eingetragen."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
+msgstr "Nummernkreis Rechnung"
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
-"Buchungszeiträume \"%(period)s\" müssen demselben Unternehmen zugeordnet "
-"sein wie das Geschäftsjahr (%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Unternehmen"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
-msgstr ""
-"Der Rechnungsnummernkreis für Buchungszeitraum \"%s\" kann nicht mehr "
-"geändert werden, weil es bereits festgeschriebene Rechnungen in diesem "
-"Buchungszeitraum gibt."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
+msgstr "Geschäftsjahr"
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Nummernkreis Lieferantengutschriften"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Nummernkreis Lieferantenrechnungen"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Nummernkreis Kundengutschriften"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Nummernkreis Kundenrechnungen"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr "Buchungszeitraum"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Nummernkreis"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Konto"
@@ -476,6 +482,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "Mit Verrechnung"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr "Mit Rückvergütung erlaubt"
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Konto"
@@ -996,22 +1006,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Letzte Änderung durch"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Nummernkreis Lieferantengutschriften"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Nummernkreis Lieferantenrechnungen"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Nummernkreis Kundengutschriften"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Nummernkreis Kundenrechnungen"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Rechnungsadresse"
@@ -1020,16 +1014,60 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Zahlungsbedingung Verkauf"
 
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Zahlungsbedingungen"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Zahlungsbedingung Einkauf"
 
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Zahlungsbedingung Kunde"
+
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Partei"
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Zahlungsbedingung Lieferant"
+
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 "Bei Aktivierung werden die ausgewählte(n ) Rechnung(en) und hierzu neu "
 "erstellte(n) Gutschrift(en) auf bezahlt gesetzt und miteinander abgestimmt."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr "Nummernkreis Rechnung"
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Rechnung"
@@ -1188,6 +1226,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Zahlungsbedingungen"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Zahlungsbedingung Partei testen"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr ":"
diff --git a/locale/es.po b/locale/es.po
index cad83b7..dd06795 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -2,20 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Los ejercicios fiscales \"%(first)s\" y \"%(second)s\" tienen la misma "
-"secuencia de facturación."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"No puede cambiar la secuencia de factura en el ejercicio fiscal \"%s\" "
-"porque ya hay facturas contabilizadas en este ejercicio fiscal."
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr "No puede abonar la factura \"%s\" porque tiene pagos."
@@ -171,6 +157,14 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+"Falta la secuencia de factura para la factura \"%(invoice)s\" en el "
+"ejercicio fiscal \"%(fiscalyear)s\"."
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -198,57 +192,71 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "No se puede eliminar la factura numerada \"%s\"."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-"No hay secuencia de factura para la factura \"%(invoice)s\" en el "
-"período/ejercicio fiscal \"%(period)s\"."
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 "No puede modificar la factura \"%s\" porque está contabilizada, pagada o "
 "cancelada."
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Los períodos \"%(first)s\" y \"%(second)s\" tienen la misma secuencia de "
-"factura."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
+msgstr "Secuencias de facturación"
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
-"Período \"%(period)s\" y ejercicio fiscal (%(fiscalyear)s) deben tener la "
-"misma empresa."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Empresa"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
-msgstr ""
-"No puede cambiar la secuencia de facturas en el período \"%s\" porque ya hay"
-" facturas contabilizadas en este período."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Fecha de creación"
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Usuario de creación"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
+msgstr "Ejercicio fiscal"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
-msgstr "Secuencia de factura de abono de proveedor"
+msgstr "Secuencia de abono de proveedor"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Secuencia de factura de proveedor"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
-msgstr "Secuencia de factura de abono de cliente"
+msgstr "Secuencia de abono de cliente"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Secuencia de factura de cliente"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr "Periodo"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Secuencia"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Fecha de modificación"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Usuario de modificación"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Cuenta"
@@ -461,6 +469,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "Con devolución"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr "Se permite la devolución"
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Cuenta"
@@ -981,22 +993,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Usuario de modificación"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Secuencia de factura de abono de proveedor"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Secuencia de factura de proveedor"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Secuencia de factura de abono de cliente"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Secuencia de factura de cliente"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Factura"
@@ -1005,14 +1001,58 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Plazo de pago de cliente"
 
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Plazos de pago"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Plazo de pago de proveedor"
 
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Fecha de creación"
+
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Usuario de creación"
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Plazo de pago de cliente"
+
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Tercero"
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Plazo de pago de proveedor"
+
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Fecha de modificación"
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Usuario de modificación"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Si está marcada, se pagarán las facturas actuales."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr "Secuencia de facturación"
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Factura"
@@ -1171,6 +1211,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Plazos de pago"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Plazo de pago del tercero"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr ":"
diff --git a/locale/es_419.po b/locale/es_419.po
index 3030ed3..112adff 100644
--- a/locale/es_419.po
+++ b/locale/es_419.po
@@ -2,20 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Los años fiscales \"%(first)s\" y \"%(second)s\" tienen la misma secuencia "
-"de factura."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"No puede cambiar la secuencia de factura en el año fiscal \"%s\" porque ya "
-"hay facturas contabilizadas en este año fiscal."
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr "No puede abonar con devolución la factura \"%s\" porque tiene pagos."
@@ -47,6 +33,8 @@ msgid ""
 "You can not add a line to invoice \"%(invoice)s\" that is posted, paid or "
 "cancelled."
 msgstr ""
+"No puede agregar el impuesto a la factura \"%(invoice)s\" porque está "
+"contabilizada, pagada o anulada."
 
 msgctxt "error:account.invoice.line:"
 msgid ""
@@ -158,6 +146,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -185,53 +179,73 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "La factura numerada \"%s\" no puede ser eliminada."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
+msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
+msgstr ""
+"No puede agregar el impuesto a la factura \"%(invoice)s\" porque está "
+"contabilizada, pagada o cancelada."
+
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
-"No hay secuencia de factura para la factura \"%(invoice)s\" en el "
-"período/año fiscal \"%(period)s\"."
 
-msgctxt "error:account.invoice:"
-msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Creado por usuario"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
-"El período \"%(period)s\" debe tener la misma empresa que su año fiscal "
-"(%(fiscalyear)s)."
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
 msgstr ""
-"No puede cambiar la secuencia de factura en el período \"%s\" porque ya hay "
-"una factura contabilizada en este período"
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Secuencia de nota crédito de proveedor"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Secuencia de nota crédito de cliente"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr ""
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Modificado por usuario"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr ""
@@ -444,6 +458,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr ""
@@ -488,13 +506,15 @@ msgctxt "field:account.invoice.line,invoice_state:"
 msgid "Invoice State"
 msgstr "Estado de factura"
 
+#, fuzzy
 msgctxt "field:account.invoice.line,invoice_taxes:"
 msgid "Invoice Taxes"
-msgstr ""
+msgstr "Fecha de factura"
 
+#, fuzzy
 msgctxt "field:account.invoice.line,invoice_type:"
 msgid "Invoice Type"
-msgstr ""
+msgstr "Fecha de factura"
 
 msgctxt "field:account.invoice.line,note:"
 msgid "Note"
@@ -572,9 +592,10 @@ msgctxt "field:account.invoice.line-account.tax,id:"
 msgid "ID"
 msgstr ""
 
+#, fuzzy
 msgctxt "field:account.invoice.line-account.tax,line:"
 msgid "Invoice Line"
-msgstr ""
+msgstr "Fecha de factura"
 
 msgctxt "field:account.invoice.line-account.tax,rec_name:"
 msgid "Name"
@@ -926,7 +947,7 @@ msgstr ""
 
 msgctxt "field:account.invoice.tax,invoice_state:"
 msgid "Invoice State"
-msgstr "Estado de factura"
+msgstr "Estado de la factura"
 
 msgctxt "field:account.invoice.tax,manual:"
 msgid "Manual"
@@ -964,22 +985,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Modificado por usuario"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Secuencia de nota crédito de proveedor"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr ""
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Secuencia de nota crédito de cliente"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr ""
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr ""
@@ -988,14 +993,63 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Término de pago del cliente"
 
+#, fuzzy
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Términos de pago"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Término de pago al proveedor"
 
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Creado por usuario"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Término de pago del cliente"
+
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Término de pago al proveedor"
+
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Modificado por usuario"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Si está marcada, se pagará(n) la(s) factura(s) actual(es)."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr ""
@@ -1008,9 +1062,10 @@ msgctxt "model:account.invoice.credit.start,name:"
 msgid "Credit Invoice"
 msgstr "Generar factura de crédito"
 
+#, fuzzy
 msgctxt "model:account.invoice.line,name:"
 msgid "Invoice Line"
-msgstr ""
+msgstr "Fecha de factura"
 
 msgctxt "model:account.invoice.line-account.tax,name:"
 msgid "Invoice Line - Tax"
@@ -1048,9 +1103,10 @@ msgctxt "model:account.invoice.print.warning,name:"
 msgid "Print Invoice Report Warning"
 msgstr "Advertencia al imprimir la factura"
 
+#, fuzzy
 msgctxt "model:account.invoice.tax,name:"
 msgid "Invoice Tax"
-msgstr ""
+msgstr "Fecha de factura"
 
 msgctxt "model:ir.action,name:act_invoice_form"
 msgid "Invoices"
@@ -1154,6 +1210,11 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Términos de pago"
 
+#, fuzzy
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Prueba de término de pago"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr ""
@@ -1468,7 +1529,7 @@ msgstr ""
 
 msgctxt "view:account.invoice:"
 msgid "Also known as Pro Forma"
-msgstr "También conocido como proforma"
+msgstr "También conocida como proforma"
 
 msgctxt "view:account.invoice:"
 msgid "Are you sure to cancel the invoice?"
@@ -1524,7 +1585,7 @@ msgstr "Términos de pago"
 
 msgctxt "wizard_button:account.invoice.credit,start,credit:"
 msgid "Credit"
-msgstr ""
+msgstr "Generar nota de crédito"
 
 msgctxt "wizard_button:account.invoice.credit,start,end:"
 msgid "Cancel"
diff --git a/locale/fr.po b/locale/fr.po
index ca2dede..4fba78e 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -2,20 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Les années fiscales « %(first)s » et « %(second)s » on la même séquence de "
-"facture."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"Vous ne pouvez changer la séquence de facture de l'année fiscale « %s » car "
-"elle contient déjà des factures postées."
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -183,6 +169,14 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+"Une séquence est manquante pour la facture « %(invoice)s » de l'année « "
+"%(fiscalyear)s »."
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -210,56 +204,71 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "La facture « %s » ne peut pas être surpprimée."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-"Il n'y a pas de séquence de facture pour la facture « %(invoice)s » dans la "
-"période/année fiscale « %(period)s »."
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 "Vous ne pouvez modifier la facture « %s » car elle est postée, payée ou "
 "annulée."
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Les périodes « %(first)s » et « %(second)s » on la même séquence de facture."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
+msgstr "Séquences de facture"
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
-"La période « %(period)s » doit avoir la même société que son année fiscale "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Société"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
-msgstr ""
-"Vous ne pouvez changer la séquence de facture dans la période « %s » car il "
-"y a déjà une facture postée pour cette période"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
+msgstr "Année fiscale"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Séquence de note de crédit fournisseur"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Séquence de facture fournisseur"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Séquence de note de crédit client"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Séquence de facture client"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr "Période"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Séquence"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Compte"
@@ -472,6 +481,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "Avec remboursement"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr "Avec remboursement permis"
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Compte"
@@ -992,22 +1005,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Mis à jour par"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Séquence de note de crédit fournisseur"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Séquence de facture fournisseur"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Séquence de note de crédit client"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Séquence de facture client"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Facture"
@@ -1016,14 +1013,58 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Conditions de paiement client"
 
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Conditions de paiement"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Conditions de paiement fournisseur"
 
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Condition de paiement client"
+
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Tiers"
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Condition de paiement fournisseur"
+
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Si vrai, les facture(s) courante(s) seront payée(s)."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr "Séquence de facture"
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Facture"
@@ -1182,6 +1223,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Conditions de paiement"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Condition de paiement tiers"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr " :"
diff --git a/locale/hu_HU.po b/locale/hu_HU.po
index e33ffc7..7ac521c 100644
--- a/locale/hu_HU.po
+++ b/locale/hu_HU.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,47 +155,77 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Társaság"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Létrehozás détuma"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Által létrehozva "
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr ""
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Név"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Számkör"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "utolsó módosítás dátuma"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Által módosítva"
+
 #, fuzzy
 msgctxt "field:account.invoice,account:"
 msgid "Account"
@@ -437,6 +463,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
@@ -1032,38 +1062,73 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Által módosítva"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
+msgctxt "field:party.address,invoice:"
+msgid "Invoice"
 msgstr ""
 
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
+msgctxt "field:party.party,customer_payment_term:"
+msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
 msgstr ""
 
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
+msgctxt "field:party.party,supplier_payment_term:"
+msgid "Supplier Payment Term"
 msgstr ""
 
-msgctxt "field:party.address,invoice:"
-msgid "Invoice"
-msgstr ""
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Létrehozás détuma"
 
-msgctxt "field:party.party,customer_payment_term:"
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Által létrehozva "
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:party.party,supplier_payment_term:"
+#, fuzzy
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Partner"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Név"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr ""
 
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "utolsó módosítás dátuma"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Által módosítva"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr ""
@@ -1224,6 +1289,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr ""
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr ""
+
 #, fuzzy
 msgctxt "report:account.invoice:"
 msgid ":"
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 156e2db..3504723 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -2,20 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Gli esercizi \"%(first)s\" e \"%(second)s\" hanno la stessa sequenza di "
-"fatturazione"
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"La sequenza di fatturazione nell'esercizio \"%s\" non è modificabile perché "
-"ci sono già fatture registrate"
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -173,6 +159,12 @@ msgstr "L'imponibile della fattura \"%s\" è diverso rispetto a quelli delle rig
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -200,53 +192,81 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "La fattura numerata \"%s\" non può essere eliminata."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-"Non c'è sequenza di fatturazione per la fattura \"%(invoice)s\" nel "
-"periodo/esercizio \"%(period)s\"."
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr "Fattura \"%s\" non modificabile perché registrata, pagata o cancellata."
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
-"Il periodo \"%first)s\" e \"%(second)s\" hanno la stessa sequenza di "
-"fatturazione"
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr "Il periodo \"%(period)s\" "
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Azienda"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Creazione Data"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Creazione Utente"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
-"Sequenza di fatturazione nel periodo \"%s\" non modificabile perché esiste "
-"già una fattura registrata nel periodo"
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Sequenza nota di credito fornitore"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Sequenza fattura fornitore"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Sequenza nota di credito cliente"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Sequenza fattura cliente"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Nome"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Sequenza"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Data di Scrittura"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Utente Scrittura"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Conto"
@@ -459,6 +479,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "Con rimborso"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Conto"
@@ -979,22 +1003,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Utente Scrittura"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Sequenza nota di credito fornitore"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Sequenza fattura fornitore"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Sequenza nota di credito cliente"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Sequenza fattura cliente"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Fattura"
@@ -1003,14 +1011,68 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Termine di pagamento cliente"
 
+#, fuzzy
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Termini di pagamento"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Termine di pagamento fornitore"
 
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Creazione Data"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Creazione Utente"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Termine di pagamento cliente"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Controparti"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Nome"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Termine di pagamento fornitore"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Data di Scrittura"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Utente Scrittura"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Se true, la fattura attuale verrà pagata"
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Fattura"
@@ -1170,6 +1232,11 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Termini di pagamento"
 
+#, fuzzy
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Testa il termine di pagamento"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr ":"
diff --git a/locale/ja_JP.po b/locale/ja_JP.po
index 0bd9266..2c6639f 100644
--- a/locale/ja_JP.po
+++ b/locale/ja_JP.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,47 +155,69 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
+msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.invoice:"
-msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr ""
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr ""
@@ -414,6 +432,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr ""
@@ -939,39 +961,68 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr ""
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr ""
+#, fuzzy
+msgctxt "field:party.address,invoice:"
+msgid "Invoice"
+msgstr "Invoice"
 
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
+msgctxt "field:party.party,customer_payment_term:"
+msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
+#, fuzzy
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Payment Terms"
+
+msgctxt "field:party.party,supplier_payment_term:"
+msgid "Supplier Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
 msgstr ""
 
-#, fuzzy
-msgctxt "field:party.address,invoice:"
-msgid "Invoice"
-msgstr "Invoice"
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr ""
 
-msgctxt "field:party.party,customer_payment_term:"
+msgctxt "field:party.party.payment_term,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:party.party,supplier_payment_term:"
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr ""
 
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
@@ -1136,6 +1187,11 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Payment Terms"
 
+#, fuzzy
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Test Payment Term"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr ""
diff --git a/locale/lo.po b/locale/lo.po
index d6c9400..f912bb0 100644
--- a/locale/lo.po
+++ b/locale/lo.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,47 +155,77 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "ບໍລິສັດ"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "ສ້າງວັນທີ"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "ສ້າງຜູ້ໃຊ້ງານ"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ລໍາດັບໃບເກັບເງິນ"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr ""
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "ຊື່"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "ລໍາດັບ"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "ຂຽນວັນທີ"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "ຂຽນຜູ້ໃຊ້ງານ"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "ບັນຊີ"
@@ -419,6 +445,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
@@ -1004,38 +1034,74 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "ຂຽນຜູ້ໃຊ້ງານ"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr ""
+msgctxt "field:party.address,invoice:"
+msgid "Invoice"
+msgstr "ໃບເກັບເງິນ"
 
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
+msgctxt "field:party.party,customer_payment_term:"
+msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr ""
+#, fuzzy
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "ຮູບແບບການຈ່າຍ"
 
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
+msgctxt "field:party.party,supplier_payment_term:"
+msgid "Supplier Payment Term"
 msgstr ""
 
-msgctxt "field:party.address,invoice:"
-msgid "Invoice"
-msgstr "ໃບເກັບເງິນ"
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "ສ້າງວັນທີ"
 
-msgctxt "field:party.party,customer_payment_term:"
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "ສ້າງຜູ້ໃຊ້ງານ"
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:party.party,supplier_payment_term:"
+#, fuzzy
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ລໍາດັບໃບເກັບເງິນ"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "ພາກສ່ວນ"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "ຊື່"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr ""
 
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "ຂຽນວັນທີ"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "ຂຽນຜູ້ໃຊ້ງານ"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "ໃບເກັບເງິນ"
@@ -1217,6 +1283,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "ຮູບແບບການຈ່າຍ"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr ""
+
 #, fuzzy
 msgctxt "report:account.invoice:"
 msgid ":"
diff --git a/locale/lt.po b/locale/lt.po
index 1aa1bf8..cabe31e 100644
--- a/locale/lt.po
+++ b/locale/lt.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,47 +155,70 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
+msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.invoice:"
-msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr ""
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr ""
@@ -414,6 +433,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr ""
@@ -941,38 +964,67 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr ""
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
+msgctxt "field:party.address,invoice:"
+msgid "Invoice"
 msgstr ""
 
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
+msgctxt "field:party.party,customer_payment_term:"
+msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
 msgstr ""
 
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
+msgctxt "field:party.party,supplier_payment_term:"
+msgid "Supplier Payment Term"
 msgstr ""
 
-msgctxt "field:party.address,invoice:"
-msgid "Invoice"
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
 msgstr ""
 
-msgctxt "field:party.party,customer_payment_term:"
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:party.party,supplier_payment_term:"
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr ""
 
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr ""
@@ -1131,6 +1183,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr ""
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr ""
+
 #, fuzzy
 msgctxt "report:account.invoice:"
 msgid ":"
diff --git a/locale/nl.po b/locale/nl.po
index f2c4dd1..abce84d 100644
--- a/locale/nl.po
+++ b/locale/nl.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr "Boekjaar \"%(first)s\" en \"%(second)s\" hebben dezelfde soort nummerreeks."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,48 +155,81 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
+msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.invoice:"
-msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
 #, fuzzy
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr "Boekjaar \"%(first)s\" en \"%(second)s\" hebben dezelfde soort nummerreeks."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Bedrijf"
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Datum"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Gebruiker"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Credit inkoopnota reeks"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Inkoopfactuurreeks"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Credit verkoopnota reeks"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Verkoopfactuur reeks"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Naam"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Reeks"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Schrijfdatum"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Gebruiker"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Rekening"
@@ -425,6 +454,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Rekening"
@@ -1009,22 +1042,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Gebruiker"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Credit inkoopnota reeks"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Inkoopfactuurreeks"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Credit verkoopnota reeks"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Verkoopfactuur reeks"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Verkoopfactuur"
@@ -1034,14 +1051,68 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Betalingstermijn crediteur"
 
+#, fuzzy
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Betalingstermijnen"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Betalingstermijn crediteur"
 
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Datum"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Gebruiker"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Betalingstermijn crediteur"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Relatie"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Naam"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Betalingstermijn crediteur"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Schrijfdatum"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Gebruiker"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Verkoopfactuur"
@@ -1211,6 +1282,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Betalingstermijnen"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr ""
+
 #, fuzzy
 msgctxt "report:account.invoice:"
 msgid ":"
diff --git a/locale/pl.po b/locale/pl.po
index 0bd9266..2c6639f 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,47 +155,69 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
+msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.invoice:"
-msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr ""
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr ""
@@ -414,6 +432,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr ""
@@ -939,39 +961,68 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr ""
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr ""
+#, fuzzy
+msgctxt "field:party.address,invoice:"
+msgid "Invoice"
+msgstr "Invoice"
 
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
+msgctxt "field:party.party,customer_payment_term:"
+msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
+#, fuzzy
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Payment Terms"
+
+msgctxt "field:party.party,supplier_payment_term:"
+msgid "Supplier Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
 msgstr ""
 
-#, fuzzy
-msgctxt "field:party.address,invoice:"
-msgid "Invoice"
-msgstr "Invoice"
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr ""
 
-msgctxt "field:party.party,customer_payment_term:"
+msgctxt "field:party.party.payment_term,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:party.party,supplier_payment_term:"
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr ""
 
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr ""
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
@@ -1136,6 +1187,11 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Payment Terms"
 
+#, fuzzy
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Test Payment Term"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr ""
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 4ec4b2a..dba75fd 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -2,20 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Os exercícios fiscais \"%(first)s\" e \"%(second)s\" possuem a mesma "
-"sequência de faturas."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"Você não pode mudar a sequência de fatura no exercício fiscal \"%s\" porque "
-"já existem faturas lançadas para este exercício social."
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -81,21 +67,21 @@ msgid ""
 "Ratio and Divisor values are not consistent in line \"%(line)s\" of payment "
 "term \"%(term)s\"."
 msgstr ""
-"Os valores da proporção e do divisor não são consistentes na linha "
-"\"%(line)s\" da forma de pagamento \"%(term)s\"."
+"Os valores da Razão e do Divisor não são consistentes na linha \"%(line)s\" "
+"do prazo de pagamento \"%(term)s\"."
 
 msgctxt "error:account.invoice.payment_term:"
 msgid "Invalid line \"%(line)s\" in payment term \"%(term)s\"."
-msgstr "Linha \"%(line)s\" inválida na forma de pagamento \"%(term)s\"."
+msgstr "Linha \"%(line)s\" inválida no prazo de pagamento \"%(term)s\"."
 
 msgctxt "error:account.invoice.payment_term:"
 msgid "Last line of payment term \"%s\" must be of type remainder."
 msgstr ""
-"A última linha da forma de pagamento \"%s\" deve ser do tipo remanescente."
+"A última linha do prazo de pagamento \"%s\" deve ser do tipo remanescente."
 
 msgctxt "error:account.invoice.payment_term:"
 msgid "Missing remainder line in payment term \"%s\"."
-msgstr "Falta a linha de remanescente de pagamento na forma \"%s\"."
+msgstr "Falta a linha de remanescente no prazo de pagamento \"%s\"."
 
 msgctxt "error:account.invoice.tax:"
 msgid ""
@@ -177,6 +163,14 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+"Falta sequência de fatura para fatura \"%(invoice)s\" no exercício fiscal "
+"\"%(fiscalyear)s\"."
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -204,57 +198,71 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "A fatura numerada \"%s\" não pode ser apagada."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-"Não há sequência de fatura para a fatura \"%(invoice)s\" no "
-"período/exercício social \"%(period)s\"."
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 "Você não pode modificar a fatura \"%s\" porque ela foi confirmada, paga ou "
 "cancelada."
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Os períodos \"%(first)s\" e \"%(second)s\" possuem a mesma sequência de "
-"faturas."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
+msgstr "Sequências de Fatura"
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
-"O período \"%(period)s\" deve ter a mesma empresa e exercício social "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Empresa"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
-msgstr ""
-"Você não pode mudar a sequência de fatura no período \"%s\" porque já existe"
-" uma fatura confirmada para este período."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Data de criação"
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Criado por"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
+msgstr "Ano Fiscal"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Sequência de Nota de Crédito do Fornecedor"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Sequência de Fatura do Fornecedor"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Sequência de Nota de Crédito do Cliente"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Sequência de Fatura do Cliente"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr "Período"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Nome"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Sequência"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Data de edição"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Editado por"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Contas"
@@ -285,7 +293,7 @@ msgstr "Empresa"
 
 msgctxt "field:account.invoice,company_party:"
 msgid "Company Party"
-msgstr ""
+msgstr "Pessoa da Empresa"
 
 msgctxt "field:account.invoice,create_date:"
 msgid "Create Date"
@@ -327,10 +335,9 @@ msgctxt "field:account.invoice,invoice_report_cache:"
 msgid "Invoice Report"
 msgstr "Relatório de Faturas"
 
-#, fuzzy
 msgctxt "field:account.invoice,invoice_report_cache_id:"
 msgid "Invoice Report ID"
-msgstr "Relatório de Faturas"
+msgstr "ID do Relatório de Faturas"
 
 msgctxt "field:account.invoice,invoice_report_format:"
 msgid "Invoice Report Format"
@@ -374,7 +381,7 @@ msgstr "Linhas de Pagamento"
 
 msgctxt "field:account.invoice,payment_term:"
 msgid "Payment Term"
-msgstr "Forma de Pagamento"
+msgstr "Prazo de Pagamento"
 
 msgctxt "field:account.invoice,rec_name:"
 msgid "Name"
@@ -398,7 +405,7 @@ msgstr "Impostos"
 
 msgctxt "field:account.invoice,tax_identifier:"
 msgid "Tax Identifier"
-msgstr ""
+msgstr "Identificador de Tributos"
 
 msgctxt "field:account.invoice,taxes:"
 msgid "Tax Lines"
@@ -468,6 +475,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "Com Devolução"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr "Com Devolução Permitida"
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Contas"
@@ -508,10 +519,9 @@ msgctxt "field:account.invoice.line,invoice:"
 msgid "Invoice"
 msgstr "Faturar"
 
-#, fuzzy
 msgctxt "field:account.invoice.line,invoice_state:"
 msgid "Invoice State"
-msgstr "Estado da fatura"
+msgstr "Estado da Fatura"
 
 msgctxt "field:account.invoice.line,invoice_taxes:"
 msgid "Invoice Taxes"
@@ -645,7 +655,6 @@ msgctxt "field:account.invoice.pay.ask,currency_writeoff:"
 msgid "Write-Off Currency"
 msgstr "Moeda das Perdas e Lucros"
 
-#, fuzzy
 msgctxt "field:account.invoice.pay.ask,date:"
 msgid "Date"
 msgstr "Data"
@@ -776,7 +785,7 @@ msgstr "ID"
 
 msgctxt "field:account.invoice.payment_term.line,payment:"
 msgid "Payment Term"
-msgstr "Forma de Pagamento"
+msgstr "Prazo de Pagamento"
 
 msgctxt "field:account.invoice.payment_term.line,ratio:"
 msgid "Ratio"
@@ -806,70 +815,61 @@ msgctxt "field:account.invoice.payment_term.line,write_uid:"
 msgid "Write User"
 msgstr "Gravado pelo usuário"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,create_date:"
 msgid "Create Date"
 msgstr "Data de criação"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,create_uid:"
 msgid "Create User"
-msgstr "Usuário de Criação"
+msgstr "Criado por"
 
 msgctxt "field:account.invoice.payment_term.line.delta,day:"
 msgid "Day of Month"
-msgstr ""
+msgstr "Dia do Mês"
 
 msgctxt "field:account.invoice.payment_term.line.delta,days:"
 msgid "Number of Days"
-msgstr ""
+msgstr "Número de dias"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,line:"
 msgid "Payment Term Line"
-msgstr "Linha da Forma de Pagamento"
+msgstr "Linha do Prazo de Pagamento"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,month:"
 msgid "Month"
 msgstr "Mês"
 
 msgctxt "field:account.invoice.payment_term.line.delta,months:"
 msgid "Number of Months"
-msgstr ""
+msgstr "Número de Meses"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,rec_name:"
 msgid "Name"
 msgstr "Nome"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,sequence:"
 msgid "Sequence"
 msgstr "Sequência"
 
 msgctxt "field:account.invoice.payment_term.line.delta,weekday:"
 msgid "Day of Week"
-msgstr ""
+msgstr "Dia da Semana"
 
 msgctxt "field:account.invoice.payment_term.line.delta,weeks:"
 msgid "Number of Weeks"
-msgstr ""
+msgstr "Número de Semanas"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,write_date:"
 msgid "Write Date"
-msgstr "Editado por"
+msgstr "Data de edição"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,write_uid:"
 msgid "Write User"
-msgstr "Gravado por"
+msgstr "Editado por"
 
 msgctxt "field:account.invoice.payment_term.test,amount:"
 msgid "Amount"
@@ -893,7 +893,7 @@ msgstr "ID"
 
 msgctxt "field:account.invoice.payment_term.test,payment_term:"
 msgid "Payment Term"
-msgstr "Forma de Pagamento"
+msgstr "Prazo de Pagamento"
 
 msgctxt "field:account.invoice.payment_term.test,result:"
 msgid "Result"
@@ -959,10 +959,9 @@ msgctxt "field:account.invoice.tax,invoice:"
 msgid "Invoice"
 msgstr "Faturar"
 
-#, fuzzy
 msgctxt "field:account.invoice.tax,invoice_state:"
 msgid "Invoice State"
-msgstr "Estado da fatura"
+msgstr "Estado da Fatura"
 
 msgctxt "field:account.invoice.tax,manual:"
 msgid "Manual"
@@ -1000,38 +999,66 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Gravado pelo usuário"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Sequência da Nota de Crédito do Fornecedor"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Sequência da Fatura do Fornecedor"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Sequência da Nota de Crédito do Cliente"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Sequência da Fatura do Cliente"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Faturar"
 
 msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
-msgstr "Forma de Pagamento do Cliente"
+msgstr "Prazo de Pagamento do Cliente"
+
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Prazos de Pagamento"
 
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
-msgstr "Forma de Pagamento do Fornecedor"
+msgstr "Prazo de Pagamento do Fornecedor"
+
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Data de criação"
+
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Criado por"
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Prazo de Pagamento do Cliente"
+
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Pessoa"
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Nome"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Prazo de Pagamento do Fornecedor"
+
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Data de edição"
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Editado por"
 
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Se verdadeiro, as faturas atuais serão pagas."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr "Sequência de Fatura"
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Faturar"
@@ -1062,23 +1089,23 @@ msgstr "Pagar Fatura"
 
 msgctxt "model:account.invoice.payment_term,name:"
 msgid "Payment Term"
-msgstr "Forma de Pagamento"
+msgstr "Prazo de Pagamento"
 
 msgctxt "model:account.invoice.payment_term.line,name:"
 msgid "Payment Term Line"
-msgstr "Linha da Forma de Pagamento"
+msgstr "Linha do Prazo de Pagamento"
 
 msgctxt "model:account.invoice.payment_term.line.delta,name:"
 msgid "Payment Term Line Relative Delta"
-msgstr ""
+msgstr "Linha de Prazo de Pagamento Delta Relativo"
 
 msgctxt "model:account.invoice.payment_term.test,name:"
 msgid "Test Payment Term"
-msgstr "Simulação da Forma de Pagamento"
+msgstr "Simulação do Prazo de Pagamento"
 
 msgctxt "model:account.invoice.payment_term.test.result,name:"
 msgid "Test Payment Term"
-msgstr "Simulação da Forma de Pagamento"
+msgstr "Simulação do Prazo de Pagamento"
 
 msgctxt "model:account.invoice.print.warning,name:"
 msgid "Print Invoice Report Warning"
@@ -1106,7 +1133,7 @@ msgstr "Faturas do Cliente"
 
 msgctxt "model:ir.action,name:act_payment_term_form"
 msgid "Payment Terms"
-msgstr "Formas de Pagamento"
+msgstr "Prazos de Pagamento"
 
 msgctxt "model:ir.action,name:credit"
 msgid "Credit"
@@ -1126,7 +1153,7 @@ msgstr "Pagar Fatura"
 
 msgctxt "model:ir.action,name:wizard_payment_term_test"
 msgid "Test Payment Term"
-msgstr "Simulação da Forma de Pagamento"
+msgstr "Simulação do Prazo de Pagamento"
 
 msgctxt "model:ir.action.act_window.domain,name:act_invoice_in_domain_all"
 msgid "All"
@@ -1180,15 +1207,19 @@ msgstr "Faturas"
 
 msgctxt "model:ir.ui.menu,name:menu_payment_term_form"
 msgid "Payment Terms"
-msgstr "Formas de Pagamento"
+msgstr "Prazos de Pagamento"
 
 msgctxt "model:ir.ui.menu,name:menu_payment_term_test"
 msgid "Test Payment Term"
-msgstr "Simulação da Forma de Pagamento"
+msgstr "Simulação do Prazo de Pagamento"
 
 msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
-msgstr "Formas de Pagamento"
+msgstr "Prazos de Pagamento"
+
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Prazo de Pagamento da Pessoa"
 
 msgctxt "report:account.invoice:"
 msgid ":"
@@ -1228,7 +1259,7 @@ msgstr "Fatura n°:"
 
 msgctxt "report:account.invoice:"
 msgid "Payment Term"
-msgstr "Forma de Pagamento"
+msgstr "Prazo de Pagamento"
 
 msgctxt "report:account.invoice:"
 msgid "Pro forma Invoice"
@@ -1298,35 +1329,29 @@ msgctxt "selection:account.invoice,type:"
 msgid "Supplier"
 msgstr "Fornecedor"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Canceled"
 msgstr "Cancelado"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Draft"
 msgstr "Rascunho"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Paid"
 msgstr "Pago"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Posted"
 msgstr "Confirmado"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Validated"
 msgstr "Validado"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_type:"
 msgid ""
-msgstr "Português (Brasil)"
+msgstr ""
 
 msgctxt "selection:account.invoice.line,invoice_type:"
 msgid "Customer"
@@ -1376,132 +1401,106 @@ msgctxt "selection:account.invoice.payment_term.line,type:"
 msgid "Remainder"
 msgstr "Remanescente"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid ""
-msgstr "Português (Brasil)"
+msgstr ""
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "April"
 msgstr "Abril"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "August"
 msgstr "Agosto"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "December"
 msgstr "Dezembro"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "February"
 msgstr "Fevereiro"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "January"
 msgstr "Janeiro"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "July"
 msgstr "Julho"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "June"
 msgstr "Junho"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "March"
 msgstr "Março"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "May"
 msgstr "Maio"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "November"
 msgstr "Novembro"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "October"
 msgstr "Outubro"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "September"
 msgstr "Setembro"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid ""
-msgstr "Português (Brasil)"
+msgstr ""
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Friday"
 msgstr "Sexta"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Monday"
 msgstr "Segunda"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Saturday"
 msgstr "Sábado"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Sunday"
 msgstr "Domingo"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Thursday"
 msgstr "Quinta"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Tuesday"
 msgstr "Terça"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Wednesday"
 msgstr "Quarta"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Canceled"
 msgstr "Cancelado"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Draft"
 msgstr "Rascunho"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Paid"
 msgstr "Pago"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Posted"
 msgstr "Confirmado"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Validated"
 msgstr "Validado"
@@ -1518,7 +1517,6 @@ msgctxt "view:account.invoice.line:"
 msgid "Notes"
 msgstr "Observações"
 
-#, fuzzy
 msgctxt "view:account.invoice.payment_term.line:"
 msgid "%"
 msgstr "%"
@@ -1589,7 +1587,7 @@ msgstr "Débito"
 
 msgctxt "view:party.party:"
 msgid "Payment Terms"
-msgstr "Formas de Pagamento"
+msgstr "Prazos de Pagamento"
 
 msgctxt "wizard_button:account.invoice.credit,start,credit:"
 msgid "Credit"
diff --git a/locale/ru.po b/locale/ru.po
index 5eb8382..53d4f42 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -2,20 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-"Финансовый год \"%(first)s\" и \"%(second)s\" содержат одинаковые нумерации "
-"инвойсов."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"Вы не можете изменить нумерацию инвойсов в финансовом году \"%s\" так как в "
-"этом финансовом году уже есть отправленные инвойсы."
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -174,6 +160,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -202,57 +194,83 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "Пронумерованный инвойс \"%s\" не может быть удален."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-"Не существует нумерации инвойсов для инвойса \"%(invoice)s\" за "
-"период/финансовый год \"%(period)s\"."
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 "Вы не можете изменить инвойс \"%s\" так как он \"Отправлен\", \"Оплачен\" "
 "или \"Отменен\"."
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
-"Периоды \"%(first)s\" и \"%(second)s\" имеют одинаковые последовательности "
-"инвойсов."
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
-"Период \"%(period)s\" должен содержать ту же организацию что и в финансовом "
-"году (%(fiscalyear)s)."
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Организация"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Дата создания"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Создано пользователем"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
-"Вы не можете изменить нумерацию в периоде \"%s\" так как уже есть "
-"отправленные инвойсы в этом периоде."
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Нумерация сторно поставщиков"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Нумерация инвойсов поставщика"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Нумерация сторно заказчиков"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Нумерация инвойса заказчика"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Наименование"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Нумерация"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Дата изменения"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Изменено пользователем"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Счет"
@@ -467,6 +485,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "С возмещением"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Счет"
@@ -1010,22 +1032,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Изменено пользователем"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Нумерация сторно поставщиков"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Нумерация инвойсов поставщика"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Нумерация сторно заказчиков"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Нумерация инвойса заказчика"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Инвойс"
@@ -1034,14 +1040,68 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Правило оплаты заказчика"
 
+#, fuzzy
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Правила оплаты"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Правило оплаты поставщика"
 
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Дата создания"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Создано пользователем"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Правило оплаты заказчика"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Контрагент"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Наименование"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Правило оплаты поставщика"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Дата изменения"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Изменено пользователем"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Если истинно, то текущий инвойс будет оплачен."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Инвойс"
@@ -1211,6 +1271,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Правила оплаты"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr ""
+
 #, fuzzy
 msgctxt "report:account.invoice:"
 msgid ":"
diff --git a/locale/sl.po b/locale/sl.po
index 74a6233..1dfe971 100644
--- a/locale/sl.po
+++ b/locale/sl.po
@@ -2,18 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr "Poslovni leti \"%(first)s\" in \"%(second)s\" imata enaki štetji računov."
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-"Štetja računov v poslovnem letu \"%s\" ni možno spreminjati zaradi "
-"obstoječih knjiženih računov."
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -171,6 +159,14 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+"Manjka zap.številka za račun \"%(invoice)s\" v poslovnem letu "
+"\"%(fiscalyear)s\"."
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -198,55 +194,71 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr "Oštevilčenega računa \"%s\" ni možno brisati."
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-"Za račun \"%(invoice)s\" v obdobju/poslovnem letu \"%(period)s\" ne obstaja "
-"štetje računov."
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 "Računa \"%s\" ni možno popravljati, ker je bodisi knjiženo ali plačano "
 "bodisi preklicano."
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr "Obdobji \"%(first)s\" in \"%(second)s\" imata isto štetje računov."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
+msgstr "Štetja računov"
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
-msgstr ""
-"Obdobje \"%(period)s\" mora imeti isto družbo kot pri poslovnem letu "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
+msgstr "Družba"
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
-msgstr ""
-"Štetja računov v obdobju \"%s\" ni možno popravljati, ker je račun že "
-"knjižen v tem obdobju."
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "Izdelano"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "Izdelal"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
+msgstr "Poslovno leto"
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr "Štetje prejetih dobropisov"
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr "Štetje prejetih računov"
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr "Štetje izdanih dobropisov"
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr "Štetje izdanih računov"
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr "Obdobje"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "Ime"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "Zap.št."
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "Zapisano"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "Zapisal"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr "Konto"
@@ -321,7 +333,7 @@ msgstr "Izpis računa"
 
 msgctxt "field:account.invoice,invoice_report_cache_id:"
 msgid "Invoice Report ID"
-msgstr ""
+msgstr "Izpis računa"
 
 msgctxt "field:account.invoice,invoice_report_format:"
 msgid "Invoice Report Format"
@@ -389,7 +401,7 @@ msgstr "Davek"
 
 msgctxt "field:account.invoice,tax_identifier:"
 msgid "Tax Identifier"
-msgstr ""
+msgstr "Davčna identifikacija"
 
 msgctxt "field:account.invoice,taxes:"
 msgid "Tax Lines"
@@ -459,6 +471,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr "Z vračilom"
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr "Z možnostjo povračila"
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr "Konto"
@@ -499,7 +515,6 @@ msgctxt "field:account.invoice.line,invoice:"
 msgid "Invoice"
 msgstr "Račun"
 
-#, fuzzy
 msgctxt "field:account.invoice.line,invoice_state:"
 msgid "Invoice State"
 msgstr "Stanje računa"
@@ -636,7 +651,6 @@ msgctxt "field:account.invoice.pay.ask,currency_writeoff:"
 msgid "Write-Off Currency"
 msgstr "Valuta odpisa"
 
-#, fuzzy
 msgctxt "field:account.invoice.pay.ask,date:"
 msgid "Date"
 msgstr "Datum"
@@ -797,42 +811,37 @@ msgctxt "field:account.invoice.payment_term.line,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,create_date:"
 msgid "Create Date"
 msgstr "Izdelano"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,create_uid:"
 msgid "Create User"
 msgstr "Izdelal"
 
 msgctxt "field:account.invoice.payment_term.line.delta,day:"
 msgid "Day of Month"
-msgstr ""
+msgstr "Dan v mesecu"
 
 msgctxt "field:account.invoice.payment_term.line.delta,days:"
 msgid "Number of Days"
-msgstr ""
+msgstr "Število dni"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,line:"
 msgid "Payment Term Line"
 msgstr "Postavka plačilnega roka"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,month:"
 msgid "Month"
 msgstr "Mesec"
 
 msgctxt "field:account.invoice.payment_term.line.delta,months:"
 msgid "Number of Months"
-msgstr ""
+msgstr "Število mesecev"
 
 msgctxt "field:account.invoice.payment_term.line.delta,rec_name:"
 msgid "Name"
@@ -844,18 +853,16 @@ msgstr "Zap.št."
 
 msgctxt "field:account.invoice.payment_term.line.delta,weekday:"
 msgid "Day of Week"
-msgstr ""
+msgstr "Dan v tednu"
 
 msgctxt "field:account.invoice.payment_term.line.delta,weeks:"
 msgid "Number of Weeks"
-msgstr ""
+msgstr "Število tednov"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,write_date:"
 msgid "Write Date"
 msgstr "Zapisano"
 
-#, fuzzy
 msgctxt "field:account.invoice.payment_term.line.delta,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
@@ -948,7 +955,6 @@ msgctxt "field:account.invoice.tax,invoice:"
 msgid "Invoice"
 msgstr "Račun"
 
-#, fuzzy
 msgctxt "field:account.invoice.tax,invoice_state:"
 msgid "Invoice State"
 msgstr "Stanje računa"
@@ -989,22 +995,6 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
-msgstr "Štetje prejetih dobropisov"
-
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
-msgstr "Štetje prejetih računov"
-
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
-msgstr "Štetje izdanih dobropisov"
-
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
-msgstr "Štetje izdanih računov"
-
 msgctxt "field:party.address,invoice:"
 msgid "Invoice"
 msgstr "Račun"
@@ -1013,14 +1003,58 @@ msgctxt "field:party.party,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr "Plačilni rok kupca"
 
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
+msgstr "Plačilni roki"
+
 msgctxt "field:party.party,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr "Plačilni rok dobavitelja"
 
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "Izdelano"
+
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "Izdelal"
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
+msgid "Customer Payment Term"
+msgstr "Plačilni rok kupca"
+
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr "Partner"
+
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "Ime"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
+msgid "Supplier Payment Term"
+msgstr "Plačilni rok dobavitelja"
+
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "Zapisano"
+
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "Zapisal"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr "Če resnično, bo(do) trenutni račun(i) plačan(i)."
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr "Štetje računov"
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr "Račun"
@@ -1059,7 +1093,7 @@ msgstr "Postavka plačilnega roka"
 
 msgctxt "model:account.invoice.payment_term.line.delta,name:"
 msgid "Payment Term Line Relative Delta"
-msgstr ""
+msgstr "Relativna razlika postavke plačilnega roka"
 
 msgctxt "model:account.invoice.payment_term.test,name:"
 msgid "Test Payment Term"
@@ -1179,6 +1213,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr "Plačilni roki"
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr "Plačilni rok partnerja"
+
 msgctxt "report:account.invoice:"
 msgid ":"
 msgstr ":"
@@ -1287,27 +1325,22 @@ msgctxt "selection:account.invoice,type:"
 msgid "Supplier"
 msgstr "Dobavitelj"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Canceled"
 msgstr "Preklicano"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Draft"
 msgstr "V pripravi"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Paid"
 msgstr "Plačano"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Posted"
 msgstr "Knjiženo"
 
-#, fuzzy
 msgctxt "selection:account.invoice.line,invoice_state:"
 msgid "Validated"
 msgstr "Odobreno"
@@ -1368,62 +1401,50 @@ msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid ""
 msgstr ""
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "April"
 msgstr "April"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "August"
 msgstr "Avgust"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "December"
 msgstr "December"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "February"
 msgstr "Februar"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "January"
 msgstr "Januar"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "July"
 msgstr "Julij"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "June"
 msgstr "Junij"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "March"
 msgstr "Marec"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "May"
 msgstr "Maj"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "November"
 msgstr "November"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "October"
 msgstr "Oktober"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,month:"
 msgid "September"
 msgstr "September"
@@ -1432,62 +1453,50 @@ msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid ""
 msgstr ""
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Friday"
 msgstr "Petek"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Monday"
 msgstr "Ponedeljek"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Saturday"
 msgstr "Sobota"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Sunday"
 msgstr "Nedelja"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Thursday"
 msgstr "Četrtek"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Tuesday"
 msgstr "Torek"
 
-#, fuzzy
 msgctxt "selection:account.invoice.payment_term.line.delta,weekday:"
 msgid "Wednesday"
 msgstr "Sreda"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Canceled"
 msgstr "Preklicano"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Draft"
 msgstr "V pripravi"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Paid"
 msgstr "Plačano"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Posted"
 msgstr "Knjiženo"
 
-#, fuzzy
 msgctxt "selection:account.invoice.tax,invoice_state:"
 msgid "Validated"
 msgstr "Odobreno"
diff --git a/locale/zh_CN.po b/locale/zh_CN.po
index 048441b..55dcfe0 100644
--- a/locale/zh_CN.po
+++ b/locale/zh_CN.po
@@ -2,16 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:account.fiscalyear:"
-msgid "Fiscal year \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
-msgstr ""
-
-msgctxt "error:account.fiscalyear:"
-msgid ""
-"You can not change invoice sequence in fiscal year \"%s\" because there are "
-"already posted invoices in this fiscal year."
-msgstr ""
-
 msgctxt "error:account.invoice.credit:"
 msgid "You can not credit with refund invoice \"%s\" because it has payments."
 msgstr ""
@@ -136,6 +126,12 @@ msgstr ""
 
 msgctxt "error:account.invoice:"
 msgid ""
+"Missing invoice sequence for invoice \"%(invoice)s\" on fiscalyear "
+"\"%(fiscalyear)s\"."
+msgstr ""
+
+msgctxt "error:account.invoice:"
+msgid ""
 "The credit account on journal \"%(journal)s\" is the same as invoice "
 "\"%(invoice)s\"'s account."
 msgstr ""
@@ -159,47 +155,76 @@ msgid "The numbered invoice \"%s\" can not be deleted."
 msgstr ""
 
 msgctxt "error:account.invoice:"
-msgid ""
-"There is no invoice sequence for invoice \"%(invoice)s\" on the "
-"period/fiscal year \"%(period)s\"."
-msgstr ""
-
-msgctxt "error:account.invoice:"
 msgid "You can not modify invoice \"%s\" because it is posted, paid or cancelled."
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid "Period \"%(first)s\" and \"%(second)s\" have the same invoice sequence."
+msgctxt "field:account.fiscalyear,invoice_sequences:"
+msgid "Invoice Sequences"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"Period \"%(period)s\" must have the same company as its fiscal year "
-"(%(fiscalyear)s)."
+msgctxt "field:account.fiscalyear.invoice_sequence,company:"
+msgid "Company"
 msgstr ""
 
-msgctxt "error:account.period:"
-msgid ""
-"You can not change the invoice sequence in period \"%s\" because there is "
-"already an invoice posted in this period"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_date:"
+msgid "Create Date"
+msgstr "创建日期:"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,create_uid:"
+msgid "Create User"
+msgstr "添加用户"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,fiscalyear:"
+msgid "Fiscal Year"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_credit_note_sequence:"
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,id:"
+msgid "ID"
+msgstr "编号"
+
+msgctxt "field:account.fiscalyear.invoice_sequence,in_credit_note_sequence:"
 msgid "Supplier Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,in_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,in_invoice_sequence:"
 msgid "Supplier Invoice Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_credit_note_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_credit_note_sequence:"
 msgid "Customer Credit Note Sequence"
 msgstr ""
 
-msgctxt "field:account.fiscalyear,out_invoice_sequence:"
+msgctxt "field:account.fiscalyear.invoice_sequence,out_invoice_sequence:"
 msgid "Customer Invoice Sequence"
 msgstr ""
 
+msgctxt "field:account.fiscalyear.invoice_sequence,period:"
+msgid "Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,rec_name:"
+msgid "Name"
+msgstr "纳木"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,sequence:"
+msgid "Sequence"
+msgstr "序列"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_date:"
+msgid "Write Date"
+msgstr "写入日期"
+
+#, fuzzy
+msgctxt "field:account.fiscalyear.invoice_sequence,write_uid:"
+msgid "Write User"
+msgstr "写入帐号"
+
 msgctxt "field:account.invoice,account:"
 msgid "Account"
 msgstr ""
@@ -429,6 +454,10 @@ msgctxt "field:account.invoice.credit.start,with_refund:"
 msgid "With Refund"
 msgstr ""
 
+msgctxt "field:account.invoice.credit.start,with_refund_allowed:"
+msgid "With Refund Allowed"
+msgstr ""
+
 msgctxt "field:account.invoice.line,account:"
 msgid "Account"
 msgstr ""
@@ -1008,38 +1037,72 @@ msgctxt "field:account.invoice.tax,write_uid:"
 msgid "Write User"
 msgstr "写入帐号"
 
-msgctxt "field:account.period,in_credit_note_sequence:"
-msgid "Supplier Credit Note Sequence"
+msgctxt "field:party.address,invoice:"
+msgid "Invoice"
 msgstr ""
 
-msgctxt "field:account.period,in_invoice_sequence:"
-msgid "Supplier Invoice Sequence"
+msgctxt "field:party.party,customer_payment_term:"
+msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:account.period,out_credit_note_sequence:"
-msgid "Customer Credit Note Sequence"
+msgctxt "field:party.party,payment_terms:"
+msgid "Payment Terms"
 msgstr ""
 
-msgctxt "field:account.period,out_invoice_sequence:"
-msgid "Customer Invoice Sequence"
+msgctxt "field:party.party,supplier_payment_term:"
+msgid "Supplier Payment Term"
 msgstr ""
 
-msgctxt "field:party.address,invoice:"
-msgid "Invoice"
-msgstr ""
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_date:"
+msgid "Create Date"
+msgstr "创建日期:"
 
-msgctxt "field:party.party,customer_payment_term:"
+#, fuzzy
+msgctxt "field:party.party.payment_term,create_uid:"
+msgid "Create User"
+msgstr "添加用户"
+
+msgctxt "field:party.party.payment_term,customer_payment_term:"
 msgid "Customer Payment Term"
 msgstr ""
 
-msgctxt "field:party.party,supplier_payment_term:"
+#, fuzzy
+msgctxt "field:party.party.payment_term,id:"
+msgid "ID"
+msgstr "编号"
+
+msgctxt "field:party.party.payment_term,party:"
+msgid "Party"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,rec_name:"
+msgid "Name"
+msgstr "纳木"
+
+msgctxt "field:party.party.payment_term,supplier_payment_term:"
 msgid "Supplier Payment Term"
 msgstr ""
 
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_date:"
+msgid "Write Date"
+msgstr "写入日期"
+
+#, fuzzy
+msgctxt "field:party.party.payment_term,write_uid:"
+msgid "Write User"
+msgstr "写入帐号"
+
 msgctxt "help:account.invoice.credit.start,with_refund:"
 msgid "If true, the current invoice(s) will be paid."
 msgstr ""
 
+msgctxt "model:account.fiscalyear.invoice_sequence,name:"
+msgid "Invoice Sequence"
+msgstr ""
+
 msgctxt "model:account.invoice,name:"
 msgid "Invoice"
 msgstr ""
@@ -1200,6 +1263,10 @@ msgctxt "model:ir.ui.menu,name:menu_payment_terms_configuration"
 msgid "Payment Terms"
 msgstr ""
 
+msgctxt "model:party.party.payment_term,name:"
+msgid "Party Payment Term"
+msgstr ""
+
 #, fuzzy
 msgctxt "report:account.invoice:"
 msgid ":"
diff --git a/party.py b/party.py
index 27a6615..3b34380 100644
--- a/party.py
+++ b/party.py
@@ -1,9 +1,15 @@
 # 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 ModelView, ModelSQL, fields
+from trytond import backend
+from trytond.model import ModelView, ModelSQL, ValueMixin, fields
 from trytond.pool import Pool, PoolMeta
+from trytond.tools.multivalue import migrate_property
 
-__all__ = ['Address', 'Party', 'PartyReplace']
+__all__ = ['Address', 'Party', 'PartyPaymentTerm', 'PartyReplace']
+customer_payment_term = fields.Many2One(
+    'account.invoice.payment_term', "Customer Payment Term")
+supplier_payment_term = fields.Many2One(
+    'account.invoice.payment_term', "Supplier Payment Term")
 
 
 class Address:
@@ -14,10 +20,10 @@ class Address:
 
 class Party(ModelSQL, ModelView):
     __name__ = 'party.party'
-    customer_payment_term = fields.Property(fields.Many2One(
-        'account.invoice.payment_term', string='Customer Payment Term'))
-    supplier_payment_term = fields.Property(fields.Many2One(
-        'account.invoice.payment_term', string='Supplier Payment Term'))
+    customer_payment_term = fields.MultiValue(customer_payment_term)
+    supplier_payment_term = fields.MultiValue(supplier_payment_term)
+    payment_terms = fields.One2Many(
+        'party.party.payment_term', 'party', "Payment Terms")
 
     @classmethod
     def __register__(cls, module_name):
@@ -36,6 +42,40 @@ class Party(ModelSQL, ModelView):
 
         super(Party, cls).__register__(module_name)
 
+    @classmethod
+    def multivalue_model(cls, field):
+        pool = Pool()
+        if field in {'customer_payment_term', 'supplier_payment_term'}:
+            return pool.get('party.party.payment_term')
+        return super(Party, cls).multivalue_model(field)
+
+
+class PartyPaymentTerm(ModelSQL, ValueMixin):
+    "Party Payment Term"
+    __name__ = 'party.party.payment_term'
+    party = fields.Many2One(
+        'party.party', "Party", ondelete='CASCADE', select=True)
+    customer_payment_term = customer_payment_term
+    supplier_payment_term = supplier_payment_term
+
+    @classmethod
+    def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
+        exist = TableHandler.table_exist(cls._table)
+
+        super(PartyPaymentTerm, cls).__register__(module_name)
+
+        if not exist:
+            cls._migrate_property([], [], [])
+
+    @classmethod
+    def _migrate_property(cls, field_names, value_names, fields):
+        field_names.extend(['customer_payment_term', 'supplier_payment_term'])
+        value_names.extend(['customer_payment_term', 'supplier_payment_term'])
+        migrate_property(
+            'party.party', field_names, cls, value_names,
+            parent='party', fields=fields)
+
 
 class PartyReplace:
     __metaclass__ = PoolMeta
diff --git a/party.xml b/party.xml
index a697959..096fab7 100644
--- a/party.xml
+++ b/party.xml
@@ -31,7 +31,8 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">Invoices</field>
             <field name="res_model">account.invoice</field>
             <field name="domain"
-                eval="[('party', 'in', Eval('active_ids'))]" pyson="1"/>
+                eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('party', '=', Eval('active_id')), ('party', 'in', Eval('active_ids')))]"
+                pyson="1"/>
         </record>
         <record model="ir.action.keyword"
                 id="act_open_invoice_keyword1">
diff --git a/payment_term.py b/payment_term.py
index 2cdd6ce..9658f0d 100644
--- a/payment_term.py
+++ b/payment_term.py
@@ -190,6 +190,12 @@ class PaymentTermLine(sequence_ordered(), ModelSQL, ModelView):
     def default_type():
         return 'remainder'
 
+    @classmethod
+    def default_relativedeltas(cls):
+        if Transaction().user == 0:
+            return []
+        return [{}]
+
     @fields.depends('type')
     def on_change_type(self):
         if self.type != 'fixed':
diff --git a/setup.py b/setup.py
index a31074b..29d682e 100644
--- a/setup.py
+++ b/setup.py
@@ -85,7 +85,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_invoice_supplier.rst b/tests/scenario_invoice_supplier.rst
index 86756ff..4870492 100644
--- a/tests/scenario_invoice_supplier.rst
+++ b/tests/scenario_invoice_supplier.rst
@@ -109,9 +109,25 @@ Create invoice::
     Decimal('10.00')
     >>> invoice.total_amount
     Decimal('120.00')
+    >>> invoice.save()
+    >>> invoice.state
+    u'draft'
+    >>> bool(invoice.move)
+    False
+    >>> invoice.click('validate_invoice')
+    >>> invoice.state
+    u'validated'
+    >>> bool(invoice.move)
+    True
+    >>> invoice.move.state
+    u'draft'
     >>> invoice.click('post')
     >>> invoice.state
     u'posted'
+    >>> bool(invoice.move)
+    True
+    >>> invoice.move.state
+    u'posted'
     >>> invoice.untaxed_amount
     Decimal('110.00')
     >>> invoice.tax_amount
diff --git a/tests/test_account_invoice.py b/tests/test_account_invoice.py
index 9621c22..4b602d4 100644
--- a/tests/test_account_invoice.py
+++ b/tests/test_account_invoice.py
@@ -16,14 +16,19 @@ from trytond.modules.currency.tests import create_currency
 def set_invoice_sequences(fiscalyear):
     pool = Pool()
     Sequence = pool.get('ir.sequence.strict')
+    InvoiceSequence = pool.get('account.fiscalyear.invoice_sequence')
 
     sequence = Sequence(name=fiscalyear.name, code='account.invoice')
     sequence.company = fiscalyear.company
     sequence.save()
-    for type_ in ['out', 'in']:
-        for invoice in ['invoice', 'credit_note']:
-            name = '%s_%s_sequence' % (type_, invoice)
-            setattr(fiscalyear, name, sequence)
+    fiscalyear.invoice_sequences = []
+    invoice_sequence = InvoiceSequence()
+    invoice_sequence.fiscalyear = fiscalyear
+    invoice_sequence.in_invoice_sequence = sequence
+    invoice_sequence.in_credit_note_sequence = sequence
+    invoice_sequence.out_invoice_sequence = sequence
+    invoice_sequence.out_credit_note_sequence = sequence
+    invoice_sequence.save()
     return fiscalyear
 
 
diff --git a/tests/tools.py b/tests/tools.py
index 10fceb2..903fc45 100644
--- a/tests/tools.py
+++ b/tests/tools.py
@@ -12,10 +12,11 @@ def set_fiscalyear_invoice_sequences(fiscalyear, config=None):
     invoice_seq = SequenceStrict(name=fiscalyear.name, code='account.invoice',
         company=fiscalyear.company)
     invoice_seq.save()
-    fiscalyear.out_invoice_sequence = invoice_seq
-    fiscalyear.in_invoice_sequence = invoice_seq
-    fiscalyear.out_credit_note_sequence = invoice_seq
-    fiscalyear.in_credit_note_sequence = invoice_seq
+    seq, = fiscalyear.invoice_sequences
+    seq.out_invoice_sequence = invoice_seq
+    seq.in_invoice_sequence = invoice_seq
+    seq.out_credit_note_sequence = invoice_seq
+    seq.in_credit_note_sequence = invoice_seq
     return fiscalyear
 
 
diff --git a/tryton.cfg b/tryton.cfg
index af479b9..53411c5 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=4.2.2
+version=4.4.0
 depends:
     account
     account_product
diff --git a/trytond_account_invoice.egg-info/PKG-INFO b/trytond_account_invoice.egg-info/PKG-INFO
index 5d5b882..33a24ed 100644
--- a/trytond_account_invoice.egg-info/PKG-INFO
+++ b/trytond_account_invoice.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-account-invoice
-Version: 4.2.2
+Version: 4.4.0
 Summary: Tryton module for invoicing
 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_account_invoice
         =======================
         
@@ -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_account_invoice.egg-info/SOURCES.txt b/trytond_account_invoice.egg-info/SOURCES.txt
index 1c11596..01b1c93 100644
--- a/trytond_account_invoice.egg-info/SOURCES.txt
+++ b/trytond_account_invoice.egg-info/SOURCES.txt
@@ -55,6 +55,9 @@ tryton.cfg
 ./view/invoice_line_form.xml
 ./view/invoice_line_tree.xml
 ./view/invoice_line_tree_sequence.xml
+./view/invoice_sequence_form.xml
+./view/invoice_sequence_list.xml
+./view/invoice_sequence_list_sequence.xml
 ./view/invoice_tax_form.xml
 ./view/invoice_tax_tree.xml
 ./view/invoice_tax_tree_sequence.xml
@@ -74,7 +77,6 @@ tryton.cfg
 ./view/payment_term_test_form.xml
 ./view/payment_term_test_result_list.xml
 ./view/payment_term_tree.xml
-./view/period_form.xml
 ./view/print_warning_form.xml
 doc/index.rst
 locale/bg.po
@@ -114,6 +116,9 @@ view/invoice_form.xml
 view/invoice_line_form.xml
 view/invoice_line_tree.xml
 view/invoice_line_tree_sequence.xml
+view/invoice_sequence_form.xml
+view/invoice_sequence_list.xml
+view/invoice_sequence_list_sequence.xml
 view/invoice_tax_form.xml
 view/invoice_tax_tree.xml
 view/invoice_tax_tree_sequence.xml
@@ -133,5 +138,4 @@ view/payment_term_line_relativedelta_list_sequence.xml
 view/payment_term_test_form.xml
 view/payment_term_test_result_list.xml
 view/payment_term_tree.xml
-view/period_form.xml
 view/print_warning_form.xml
\ No newline at end of file
diff --git a/trytond_account_invoice.egg-info/requires.txt b/trytond_account_invoice.egg-info/requires.txt
index 7062a39..1afeaf7 100644
--- a/trytond_account_invoice.egg-info/requires.txt
+++ b/trytond_account_invoice.egg-info/requires.txt
@@ -1,9 +1,9 @@
 python-dateutil
 python-sql >= 0.4
-trytond_account >= 4.2, < 4.3
-trytond_account_product >= 4.2, < 4.3
-trytond_company >= 4.2, < 4.3
-trytond_currency >= 4.2, < 4.3
-trytond_party >= 4.2, < 4.3
-trytond_product >= 4.2, < 4.3
-trytond >= 4.2, < 4.3
+trytond_account >= 4.4, < 4.5
+trytond_account_product >= 4.4, < 4.5
+trytond_company >= 4.4, < 4.5
+trytond_currency >= 4.4, < 4.5
+trytond_party >= 4.4, < 4.5
+trytond_product >= 4.4, < 4.5
+trytond >= 4.4, < 4.5
diff --git a/view/fiscalyear_form.xml b/view/fiscalyear_form.xml
index edb7e7f..2298cb3 100644
--- a/view/fiscalyear_form.xml
+++ b/view/fiscalyear_form.xml
@@ -5,14 +5,7 @@ this repository contains the full copyright notices and license terms. -->
     <xpath
         expr="/form/notebook/page[@id='sequences']/field[@name='post_move_sequence']"
         position="after">
-        <newline/>
-        <label name="out_invoice_sequence"/>
-        <field name="out_invoice_sequence"/>
-        <label name="in_invoice_sequence"/>
-        <field name="in_invoice_sequence"/>
-        <label name="out_credit_note_sequence"/>
-        <field name="out_credit_note_sequence"/>
-        <label name="in_credit_note_sequence"/>
-        <field name="in_credit_note_sequence"/>
+        <field name="invoice_sequences" colspan="4" mode="form,tree"
+            view_ids="account_invoice.invoice_sequence_view_form,account_invoice.invoice_sequence_view_list_sequence"/>
     </xpath>
 </data>
diff --git a/view/invoice_form.xml b/view/invoice_form.xml
index 53546ec..346759f 100644
--- a/view/invoice_form.xml
+++ b/view/invoice_form.xml
@@ -45,7 +45,7 @@ this repository contains the full copyright notices and license terms. -->
                         <label name="total_amount" xalign="1.0" xexpand="1"/>
                         <field name="total_amount" xalign="1.0" xexpand="0"/>
                     </group>
-                    <group col="5" colspan="4" id="buttons">
+                    <group col="-1" colspan="4" id="buttons">
                         <button name="cancel" string="Cancel"
                             icon="tryton-cancel"
                             confirm="Are you sure to cancel the invoice?"/>
diff --git a/view/invoice_sequence_form.xml b/view/invoice_sequence_form.xml
new file mode 100644
index 0000000..ed3a323
--- /dev/null
+++ b/view/invoice_sequence_form.xml
@@ -0,0 +1,23 @@
+<?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="fiscalyear"/>
+    <field name="fiscalyear"/>
+    <separator id="pattern" colspan="4"/>
+    <label name="period"/>
+    <field name="period"/>
+    <separator id="sequences" colspan="4"/>
+    <label name="in_invoice_sequence"/>
+    <field name="in_invoice_sequence"/>
+    <label name="in_credit_note_sequence"/>
+    <field name="in_credit_note_sequence"/>
+    <label name="out_invoice_sequence"/>
+    <field name="out_invoice_sequence"/>
+    <label name="out_credit_note_sequence"/>
+    <field name="out_credit_note_sequence"/>
+</form>
diff --git a/view/invoice_sequence_list.xml b/view/invoice_sequence_list.xml
new file mode 100644
index 0000000..5b5d69d
--- /dev/null
+++ b/view/invoice_sequence_list.xml
@@ -0,0 +1,12 @@
+<?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>
+    <field name="company"/>
+    <field name="fiscalyear"/>
+    <field name="period"/>
+    <field name="in_invoice_sequence"/>
+    <field name="in_credit_note_sequence"/>
+    <field name="out_invoice_sequence"/>
+    <field name="out_credit_note_sequence"/>
+</tree>
diff --git a/view/invoice_sequence_list_sequence.xml b/view/invoice_sequence_list_sequence.xml
new file mode 100644
index 0000000..763b905
--- /dev/null
+++ b/view/invoice_sequence_list_sequence.xml
@@ -0,0 +1,12 @@
+<?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="fiscalyear"/>
+    <field name="period"/>
+    <field name="in_invoice_sequence"/>
+    <field name="in_credit_note_sequence"/>
+    <field name="out_invoice_sequence"/>
+    <field name="out_credit_note_sequence"/>
+</tree>
diff --git a/view/period_form.xml b/view/period_form.xml
deleted file mode 100644
index 670c855..0000000
--- a/view/period_form.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
-this repository contains the full copyright notices and license terms. -->
-<data>
-    <xpath
-        expr="/form/field[@name='post_move_sequence']"
-        position="after">
-        <newline/>
-        <label name="out_invoice_sequence"/>
-        <field name="out_invoice_sequence"/>
-        <label name="in_invoice_sequence"/>
-        <field name="in_invoice_sequence"/>
-        <label name="out_credit_note_sequence"/>
-        <field name="out_credit_note_sequence"/>
-        <label name="in_credit_note_sequence"/>
-        <field name="in_credit_note_sequence"/>
-    </xpath>
-</data>
-- 
tryton-modules-account-invoice



More information about the tryton-debian-vcs mailing list