[tryton-debian-vcs] tryton-modules-account-statement branch debian updated. debian/4.4.1-3-6-g6a2ae44

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Fri Nov 10 12:07:49 UTC 2017


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-account-statement.git;a=commitdiff;h=debian/4.4.1-3-6-g6a2ae44

commit 6a2ae44e5bf7511876c055b1ea42af44c0584589
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Nov 7 16:24:39 2017 +0100

    Releasing debian version 4.6.0-1.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/debian/changelog b/debian/changelog
index 339efe5..e6c7bc4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+tryton-modules-account-statement (4.6.0-1) unstable; urgency=medium
+
+  * Bump the Standards-Version to 4.1.0, no changes needed.
+  * Bump the Standards-Version to 4.1.1, no changes needed.
+  * Merging upstream version 4.6.0.
+  * Update Depends for 4.6.
+  * Use https in the watch file.
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Tue, 07 Nov 2017 10:19:55 +0100
+
 tryton-modules-account-statement (4.4.1-3) unstable; urgency=medium
 
   * Switch to Python3.
commit 1db9dc48fe7c1603c7edc36e5baf3ea6c6e80d02
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Nov 7 10:16:46 2017 +0100

    Use https in the watch file.

diff --git a/debian/watch b/debian/watch
index 220e198..e607884 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,2 +1,2 @@
 version=3
-opts=pgpsigurlmangle=s/$/.asc/ http://downloads.tryton.org/current/ .*trytond_account_statement-(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
+opts=pgpsigurlmangle=s/$/.asc/ https://downloads.tryton.org/current/ .*trytond_account_statement-(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
commit 3b932753201e0a575ed5368aeaf1fe0e2e371435
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Nov 6 15:02:55 2017 +0100

    Update Depends for 4.6.

diff --git a/debian/control b/debian/control
index 43997fb..e0a1833 100644
--- a/debian/control
+++ b/debian/control
@@ -20,6 +20,7 @@ Depends:
  python3-sql,
  tryton-modules-account (>= ${version:major}),
  tryton-modules-account-invoice (>= ${version:major}),
+ tryton-modules-bank (>= ${version:major}),
  tryton-modules-company (>= ${version:major}),
  tryton-modules-currency (>= ${version:major}),
  tryton-modules-party (>= ${version:major}),
commit 27c0e5b0d98d0e74f3575e87d160c11313478ce4
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Nov 6 14:40:31 2017 +0100

    Merging upstream version 4.6.0.

diff --git a/.drone.yml b/.drone.yml
new file mode 100644
index 0000000..e0bc2f7
--- /dev/null
+++ b/.drone.yml
@@ -0,0 +1,51 @@
+clone:
+    hg:
+        image: plugins/hg
+
+pipeline:
+    tox:
+        image: ${IMAGE}
+        environment:
+            - CFLAGS=-O0
+            - DB_CACHE=/cache
+            - TOX_TESTENV_PASSENV=CFLAGS DB_CACHE
+            - POSTGRESQL_URI=postgresql://postgres@postgresql:5432/
+        commands:
+            - pip install tox
+            - tox -e "${TOXENV}-${DATABASE}"
+        volumes:
+            - cache:/root/.cache
+
+services:
+    postgresql:
+        image: postgres
+        when:
+            matrix:
+                DATABASE: postgresql
+
+matrix:
+    include:
+        - IMAGE: python:2.7
+          TOXENV: py27
+          DATABASE: sqlite
+        - IMAGE: python:2.7
+          TOXENV: py27
+          DATABASE: postgresql
+        - IMAGE: python:3.4
+          TOXENV: py34
+          DATABASE: sqlite
+        - IMAGE: python:3.4
+          TOXENV: py34
+          DATABASE: postgresql
+        - IMAGE: python:3.5
+          TOXENV: py35
+          DATABASE: sqlite
+        - IMAGE: python:3.5
+          TOXENV: py35
+          DATABASE: postgresql
+        - IMAGE: python:3.6
+          TOXENV: py36
+          DATABASE: sqlite
+        - IMAGE: python:3.6
+          TOXENV: py36
+          DATABASE: postgresql
diff --git a/CHANGELOG b/CHANGELOG
index 94f03a5..f5a3dd9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,8 @@
-Version 4.4.1 - 2017-07-01
+Version 4.6.0 - 2017-10-30
 * Bug fixes (see mercurial logs for details)
+* Add generic wizard to import statement from files
+* Add statement origins
+* Unreconcile lines when cancelling statement
 
 Version 4.4.0 - 2017-05-01
 * Bug fixes (see mercurial logs for details)
diff --git a/MANIFEST.in b/MANIFEST.in
index b3463bd..7f08c3c 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -6,7 +6,7 @@ include LICENSE
 include tryton.cfg
 include *.xml
 include view/*.xml
-include *.odt
+include *.fodt
 include locale/*.po
 include tests/*.rst
 include doc/*.rst
diff --git a/PKG-INFO b/PKG-INFO
index b2c91b9..7e74970 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_account_statement
-Version: 4.4.1
+Version: 4.6.0
 Summary: Tryton module with account statements
 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.4/
+Download-URL: http://downloads.tryton.org/4.6/
 Description: trytond_account_statement
         =========================
         
@@ -69,9 +69,9 @@ Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Office/Business
diff --git a/__init__.py b/__init__.py
index 9ad849d..b447463 100644
--- a/__init__.py
+++ b/__init__.py
@@ -15,9 +15,13 @@ def register():
         Line,
         LineGroup,
         Move,
+        Origin,
+        OriginInformation,
+        ImportStatementStart,
         module='account_statement', type_='model')
     Pool.register(
         PartyReplace,
+        ImportStatement,
         module='account_statement', type_='wizard')
     Pool.register(
         StatementReport,
diff --git a/doc/index.rst b/doc/index.rst
index aabece2..e48e3ba 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -49,6 +49,12 @@ A Statement Line is mainly defined by:
 - Description.
 - Move: The move created for this line.
 
+Origin
+******
+
+The statement origin store the raw information from an external system that
+are imported. The origin are converted into statement lines.
+
 Line Group
 **********
 
@@ -77,3 +83,21 @@ The Amount validation requests to set the total amount to check against the
 total amount of the lines.
 The Number of Lines requests to set the number of unique lines on the
 statement.
+
+Import Statement
+****************
+
+A wizard to import statements from an external system. It creates statements
+with origins filled.
+
+Configuration
+*************
+
+The account_statement module uses the section `account_statement` to retrieve
+some parameters:
+
+- `filestore`: a boolean value to store origin file in the FileStore.
+  The default value is `False`.
+
+- `store_prefix`: the prefix to use with the FileStore.
+  The default value is `None`.
diff --git a/journal.py b/journal.py
index e6ffb01..b92dc21 100644
--- a/journal.py
+++ b/journal.py
@@ -1,8 +1,9 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-from trytond.model import ModelView, ModelSQL, fields
+from trytond.model import ModelView, ModelSQL, fields, Unique
 from trytond.transaction import Transaction
 from trytond.pool import Pool
+from trytond.pyson import Eval
 
 __all__ = ['Journal']
 
@@ -16,11 +17,31 @@ class Journal(ModelSQL, ModelView):
     currency = fields.Many2One('currency.currency', 'Currency', required=True)
     company = fields.Many2One('company.company', 'Company', required=True,
             select=True)
+    company_party = fields.Function(
+        fields.Many2One('party.party', "Company Party"),
+        'on_change_with_company_party')
     validation = fields.Selection([
             ('balance', 'Balance'),
             ('amount', 'Amount'),
             ('number_of_lines', 'Number of Lines'),
             ], 'Validation Type', required=True)
+    bank_account = fields.Many2One(
+        'bank.account', "Bank Account",
+        domain=[
+            ('owners.id', '=', Eval('company_party', -1)),
+            ('currency', '=', Eval('currency', -1)),
+            ],
+        depends=['company_party', 'currency'])
+
+    @classmethod
+    def __setup__(cls):
+        super(Journal, cls).__setup__()
+        t = cls.__table__()
+        cls._sql_constraints = [
+            ('bank_account_unique',
+                Unique(t, t.bank_account, t.company),
+                "Only one journal is allowed per bank account."),
+            ]
 
     @staticmethod
     def default_currency():
@@ -33,6 +54,24 @@ class Journal(ModelSQL, ModelView):
     def default_company():
         return Transaction().context.get('company')
 
+    @fields.depends('company')
+    def on_change_with_company_party(self, name=None):
+        if self.company:
+            return self.company.party.id
+
     @staticmethod
     def default_validation():
         return 'balance'
+
+    @classmethod
+    def get_by_bank_account(cls, company, number):
+        journals = cls.search([
+                ('company', '=', company),
+                ['OR',
+                    ('bank_account.numbers.number', '=', number),
+                    ('bank_account.numbers.number_compact', '=', number),
+                    ],
+                ])
+        if journals:
+            journal, = journals
+            return journal
diff --git a/locale/bg.po b/locale/bg.po
index 5f2bebc..d2c2dcb 100644
--- a/locale/bg.po
+++ b/locale/bg.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -84,9 +94,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Име"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -112,10 +134,36 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Променено от"
 
+#, fuzzy
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Фирма"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Фирма"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "Създадено на"
@@ -141,8 +189,8 @@ msgid "Name"
 msgstr "Име"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Име"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -164,6 +212,11 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Сума"
 
+#, fuzzy
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Фирма"
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Създадено на"
@@ -197,13 +250,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Номер"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Партньор"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Име"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement.line,sequence:"
@@ -281,10 +338,9 @@ msgctxt "field:account.statement.line.group,party:"
 msgid "Party"
 msgstr "Управление на партньор"
 
-#, fuzzy
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Условие за плащане"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement.line.group,statement:"
@@ -301,6 +357,163 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Променено от"
 
+#, fuzzy
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Сметка"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Сума"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Фирма"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Дата"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Описание"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Транзакции"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Номер"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Партньор"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Отчет"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "Отчет"
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Условие за плащане"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Отчет"
@@ -309,6 +522,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Отчет за сметка"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Дневник за отчети"
@@ -322,6 +539,15 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Ред от отчет за сметка"
 
+#, fuzzy
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Ред от отчет за сметка"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr ""
@@ -358,11 +584,19 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Редове от отчет"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Отчет"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr ""
@@ -398,6 +632,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Всички отчети"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Дневник за отчети"
@@ -486,6 +724,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Проверен"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 #, fuzzy
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
@@ -500,30 +742,48 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Отказан"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Проект"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
 #, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Публикуван"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Дата"
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Проверен"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Сума"
 
+#, fuzzy
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Сума"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Отказ"
@@ -548,3 +808,12 @@ msgstr "Редове от отчет"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Проверка"
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Отказ"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/ca.po b/locale/ca.po
index 613b629..7aab255 100644
--- a/locale/ca.po
+++ b/locale/ca.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr "Només es permet un diari per compte bancari."
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr "L'import \"%s\" és més gran que l'import a pagar de la factura."
@@ -19,6 +23,14 @@ msgid "Number of Lines must be \"%s\"."
 msgstr "El nombre de línies ha de ser \"%s\"."
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+"La línea d'origen \"%(origin)s\" del extracte \"%(statement)s\" té un import"
+" pendent de \"%(amount)s\"."
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr "Afegeix un compte deure i haver en el diari d'extracte \"%s\"."
 
@@ -82,9 +94,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr "Nombre de línies"
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr "Fitxer origen"
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr "Identificador fitxer origen"
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr "Orígens"
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Nom"
+msgid "Record Name"
+msgstr "Nom del registre"
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -110,10 +134,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Usuari de modificació"
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr "Fitxer"
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr "Format del fitxer"
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr "Compte bancari"
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Empresa"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr "Tercer de l'empresa"
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "Data de creació"
@@ -139,8 +187,8 @@ msgid "Name"
 msgstr "Nom"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Nom"
+msgid "Record Name"
+msgstr "Nom del registre"
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -162,6 +210,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Import"
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Empresa"
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Data de creació"
@@ -194,13 +246,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Número"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr "Origen"
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Tercer"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Nom"
+msgid "Record Name"
+msgstr "Nom del registre"
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -267,8 +323,8 @@ msgid "Party"
 msgstr "Tercer"
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Nom"
+msgid "Record Name"
+msgstr "Nom del registre"
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -282,6 +338,142 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Usuari de modificació"
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Compte"
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Import"
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Data de creació"
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Usuari de creació"
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Data"
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Descripció"
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr "Informacions"
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Línies"
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Número"
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Tercer"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr "Import pendent"
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr "Nom del registre"
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Extracte"
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "ID del Extracte"
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr "Estat de l'extracte"
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Data de modificació"
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Usuari de modificació"
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Data de creació"
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Usuari de creació"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr "Dígits"
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr "Nom del registre"
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr "Selecció"
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr "Selecció JSON"
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr "Selecció ordenada"
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr "Etiqueta"
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr "Tipus"
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Data de modificació"
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Usuari de modificació"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr "Clau i valor separats per \":\" a cada línia."
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr "Si cal ordenar la selecció a l'etiqueta."
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Extracte"
@@ -290,6 +482,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Extracte bancari"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr "Inici importació extracte"
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Diari d'extracte"
@@ -302,6 +498,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Grup de línies d'extracte"
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Origen Extracte"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr "Informació origen extracte"
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Grups de línies d'extracte"
@@ -334,10 +538,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Línies extracte"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr "Orígens"
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Extracte"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr "Importa extracte"
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "Tot"
@@ -369,6 +581,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Tots els extractes"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr "Importa extracte"
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Diaris d'extracte"
@@ -445,6 +661,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Validat"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr "Import"
@@ -457,26 +677,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr "Nombre de línies"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Cancel·lat"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr "Booleà"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Esborrany"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr "Caràcter"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Comptabilitzat"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Data"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Validat"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr "Data i hora"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr "Numèric coma flotant"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr "Enter"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr "Numèric"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr "Selecció"
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Import"
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Import"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Cancel·la"
@@ -500,3 +740,11 @@ msgstr "Línies extracte"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Valida"
+
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Cancel·la"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr "Importa"
diff --git a/locale/cs.po b/locale/cs.po
index ed6ecc0..2608e83 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -83,10 +93,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Namu"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -112,10 +133,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr ""
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -141,10 +186,9 @@ msgctxt "field:account.statement.journal,name:"
 msgid "Name"
 msgstr "Namu"
 
-#, fuzzy
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Namu"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -166,6 +210,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr ""
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -198,14 +246,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr ""
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Namu"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -271,10 +322,9 @@ msgctxt "field:account.statement.line.group,party:"
 msgid "Party"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Namu"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -288,6 +338,143 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr ""
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr ""
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr ""
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr ""
@@ -296,6 +483,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr ""
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr ""
@@ -308,6 +499,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr ""
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr ""
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr ""
@@ -340,10 +539,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr ""
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr ""
@@ -375,6 +582,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr ""
@@ -452,6 +663,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr ""
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr ""
@@ -464,26 +679,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
 msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr ""
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr ""
@@ -507,3 +742,11 @@ msgstr ""
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr ""
+
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr ""
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/de.po b/locale/de.po
index 36bbc47..d4d53fc 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr "Betrag \"%s\" ist größer als der für die Rechnung zu zahlende Betrag."
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr "Anzahl der Zeilen muss \"%s\" sein."
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr "Bitte tragen Sie Haben- und Sollkonto für Auszugsjournal \"%s\" ein."
 
@@ -82,9 +92,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr "Anzahl Zeilen"
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Name"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -110,10 +132,36 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Letzte Änderung durch"
 
+#, fuzzy
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Unternehmen"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Unternehmen"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "Erstellungsdatum"
@@ -139,8 +187,8 @@ msgid "Name"
 msgstr "Name"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Name"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -162,6 +210,11 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Betrag"
 
+#, fuzzy
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Unternehmen"
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Erstellungsdatum"
@@ -194,13 +247,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Nummer"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Partei"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Name"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -267,8 +324,8 @@ msgid "Party"
 msgstr "Partei"
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Name"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -282,6 +339,164 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Letzte Änderung durch"
 
+#, fuzzy
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Konto"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Betrag"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Unternehmen"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Datum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Beschreibung"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Zeilen"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Nummer"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Partei"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Auszug"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "Auszug"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr "Auszugsstatus"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Auszug"
@@ -290,6 +505,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Auszug"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Auszugsjournal"
@@ -302,6 +521,15 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Auszugszeilengruppe"
 
+#, fuzzy
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Auszugszeile"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Auszugszeilengruppen"
@@ -334,10 +562,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Auszugszeilen"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Auszug"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "Alle"
@@ -369,6 +605,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Auszüge"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Auszugsjournale"
@@ -445,6 +685,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Geprüft"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr "Betrag"
@@ -457,26 +701,48 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr "Anzahl Zeilen"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Annulliert"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Entwurf"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Festgeschrieben"
+#, fuzzy
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Datum"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Geprüft"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Betrag"
 
+#, fuzzy
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Betrag"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Annullieren"
@@ -500,3 +766,12 @@ msgstr "Auszugszeilen"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Prüfen"
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Annullieren"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/es.po b/locale/es.po
index e6678f5..71da254 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr "Solo se permite un diario por cuenta bancaria."
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr "El importe \"%s\" es mayor que el importe a pagar de la factura."
@@ -19,6 +23,14 @@ msgid "Number of Lines must be \"%s\"."
 msgstr "El número de líneas debe ser \"%s\"."
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+"La linea de origen \"%(origin)s\" del extracto \"%(statement)s\" aún tiene "
+"un importe pendiente de \"%(amount)s\"."
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr "Añade una cuenta debe y haber en el diario de extracto \"%s\"."
 
@@ -82,9 +94,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr "Número de líneas"
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr "Archivo origen"
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr "Identificador archivo origen"
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr "Orígenes"
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Nombre"
+msgid "Record Name"
+msgstr "Nombre del registro"
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -110,10 +134,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Usuario de modificación"
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr "Archivo"
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr "Formato del archivo"
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr "Cuenta bancaria"
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Empresa"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr "Tercero de la empresa"
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "Fecha de creación"
@@ -139,8 +187,8 @@ msgid "Name"
 msgstr "Nombre"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Nombre"
+msgid "Record Name"
+msgstr "Nombre del registro"
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -162,6 +210,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Importe"
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Empresa"
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Fecha de creación"
@@ -194,13 +246,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Número"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr "Origen"
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Tercero"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Nombre"
+msgid "Record Name"
+msgstr "Nombre del registro"
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -267,8 +323,8 @@ msgid "Party"
 msgstr "Tercero"
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Nombre"
+msgid "Record Name"
+msgstr "Nombre del registro"
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -282,6 +338,142 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Usuario de modificación"
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Cuenta"
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Importe"
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Fecha de creación"
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Usuario de creación"
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Fecha"
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Descripción"
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr "Informaciones"
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Líneas"
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Número"
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Tercero"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr "Importe pendiente"
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr "Nombre del registro"
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Extracto"
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "ID del Extracto"
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr "Estado del extracto"
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Fecha de modificación"
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Usuario de modificación"
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Fecha de creación"
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Usuario de creación"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr "Dígitos"
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr "Nombre del registro"
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr "Selección"
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr "Selección JSON"
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr "Selección ordenada"
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr "Etiqueta"
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr "Tipo"
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Fecha de modificación"
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Usuario de modificación"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr "Clave y valor separados por \\\":\\\" en cada línea."
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr "Si debe ordenarse la selección en la etiqueta."
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Extracto"
@@ -290,6 +482,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Extracto bancario"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr "Inicio importación extracto"
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Diario de extracto"
@@ -302,6 +498,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Grupo de líneas de extracto"
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Origen extracto"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr "Información origen extracto"
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Grupos de líneas de extracto"
@@ -334,10 +538,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Líneas de extracto bancario"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr "Orígenes"
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Extracto"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr "Importar extracto"
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "Todo"
@@ -369,6 +581,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Todos los extractos"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr "Importar extracto"
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Diarios de extracto"
@@ -445,6 +661,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Validado"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr "Importe"
@@ -457,26 +677,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr "Número de líneas"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Cancelado"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr "Booleano"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Borrador"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr "Carácter"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Contabilizado"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Fecha"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Validado"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr "Fecha-hora"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr "Número coma flotante"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr "Entero"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr "Numérico"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr "Selección"
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Importe"
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Importe"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Cancelar"
@@ -500,3 +740,11 @@ msgstr "Líneas de extracto"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Validar"
+
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Cancelar"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr "Importar"
diff --git a/locale/es_419.po b/locale/es_419.po
index b808d8d..07e55fb 100644
--- a/locale/es_419.po
+++ b/locale/es_419.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 "Por favor proporcione una cuenta de débito y de crédito en el libro diario "
@@ -84,8 +94,20 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
@@ -112,10 +134,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr ""
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -141,7 +187,7 @@ msgid "Name"
 msgstr ""
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
@@ -164,6 +210,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr ""
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -196,12 +246,16 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr ""
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr ""
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement.line,sequence:"
@@ -269,7 +323,7 @@ msgid "Party"
 msgstr ""
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
@@ -284,6 +338,145 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr ""
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr ""
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr ""
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Estado de cuenta"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "Estado de cuenta"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr "Estado del estado de cuenta"
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Estado de cuenta"
@@ -292,6 +485,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Estado de cuenta"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Libro diario de estado de cuenta"
@@ -304,6 +501,15 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Grupo de líneas de estado de cuenta"
 
+#, fuzzy
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Línea de estado de cuenta"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Grupos de líneas de estado de cuenta"
@@ -336,10 +542,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Líneas de estado de cuenta"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Estado de cuenta"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr ""
@@ -371,6 +585,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Estados de cuenta"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Libros diarios de estados de cuenta"
@@ -448,6 +666,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr ""
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr ""
@@ -461,26 +683,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Anulado"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
 msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr ""
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Anular"
@@ -504,3 +746,12 @@ msgstr "Líneas de estado de cuenta"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr ""
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Anular"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/fr.po b/locale/fr.po
index 68aa6d1..663ac9b 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr "Seulement un journal est permis par compte bancaire."
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -21,6 +25,14 @@ msgid "Number of Lines must be \"%s\"."
 msgstr "Le nombre de lignes doit être « %s »."
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+"La ligne d'origine « %(origin)s » du relevé « %(statement)s » a toujours un "
+"montant en attente de « %(amount)s »."
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 "Veuillez fournir les comptes de débit et crédit sur le journal de relevés « "
@@ -86,9 +98,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr "Nombre de lignes"
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr "Fichier d'origine"
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr "ID du fichier d'origine"
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr "Origines"
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Nom"
+msgid "Record Name"
+msgstr "Nom de l'enregistrement"
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -114,10 +138,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Mis à jour par"
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Société"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr "Fichier"
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr "Format du fichier"
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr "Compte bancaire"
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Société"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr "Tiers de la société"
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "Date de création"
@@ -143,8 +191,8 @@ msgid "Name"
 msgstr "Nom"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Nom"
+msgid "Record Name"
+msgstr "Nom de l'enregistrement"
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -166,6 +214,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Montant"
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Société"
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Date de création"
@@ -198,13 +250,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Numéro"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr "Origine"
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Tiers"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Nom"
+msgid "Record Name"
+msgstr "Nom de l'enregistrement"
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -271,8 +327,8 @@ msgid "Party"
 msgstr "Tiers"
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Nom"
+msgid "Record Name"
+msgstr "Nom de l'enregistrement"
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -286,6 +342,143 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Mis à jour par"
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Compte"
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Montant"
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Société"
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Date"
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Description"
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr "Informations"
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Lignes"
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Numéro"
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Tiers"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr "Montant en attente"
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr "Nom de l'enregistrement"
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Relevé"
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "ID du relevé"
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr "État du relevé"
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr "Chiffres"
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr "Nom de l'enregistrement"
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr "Sélection"
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr "Sélection JSON"
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr "Sélection triée"
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr "Chaîne de caractères"
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr "Type"
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+"Un couple composé d'une clé et d'un label séparé par « : » sur une ligne"
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr "Si la sélection doit être triée par label"
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Relevé"
@@ -294,6 +487,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Relevé comptable"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr "Importer un relevé"
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Journal de relevés"
@@ -306,6 +503,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Groupe de lignes de relevé comptable"
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Origine de relevé comptable"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr "Information de l'origine du relevé"
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Groupes de lignes de relevé"
@@ -338,10 +543,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Lignes de relevé"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr "Origines"
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Relevé"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr "Importer un relevé"
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "Tous"
@@ -373,6 +586,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Relevés"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr "Importer un relevé"
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Journaux de relevés"
@@ -449,6 +666,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Validé"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr "Montant"
@@ -461,26 +682,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr "Nombre de lignes"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Annulé"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr "Booléen"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Brouillon"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr "Caractère"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Posté"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Date"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Validé"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr "Date et heure"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr "Flottant"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr "Entier"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr "Numérique"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr "Sélection"
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Montant"
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Montant"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Annuler"
@@ -504,3 +745,11 @@ msgstr "Lignes de relevé"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Valider"
+
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Annuler"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr "Importer"
diff --git a/locale/hu_HU.po b/locale/hu_HU.po
index f1405db..288e15f 100644
--- a/locale/hu_HU.po
+++ b/locale/hu_HU.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -89,10 +99,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Név"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -122,10 +143,36 @@ msgid "Write User"
 msgstr "Által módosítva"
 
 #, fuzzy
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Társaság"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
+#, fuzzy
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Társaság"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
@@ -155,10 +202,9 @@ msgctxt "field:account.statement.journal,name:"
 msgid "Name"
 msgstr "Név"
 
-#, fuzzy
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Név"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -184,6 +230,11 @@ msgid "Amount"
 msgstr ""
 
 #, fuzzy
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Társaság"
+
+#, fuzzy
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Létrehozás détuma"
@@ -221,15 +272,18 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Szám"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Partner"
 
-#, fuzzy
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Név"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement.line,sequence:"
@@ -306,10 +360,9 @@ msgctxt "field:account.statement.line.group,party:"
 msgid "Party"
 msgstr "Partner"
 
-#, fuzzy
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Név"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -325,6 +378,160 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Által módosítva"
 
+#, fuzzy
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Számla"
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Társaság"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Létrehozás détuma"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Által létrehozva "
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Dátum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Leírás"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Sor"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Szám"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Partner"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "utolsó módosítás dátuma"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Által módosítva"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Létrehozás détuma"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Által létrehozva "
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Név"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "utolsó módosítás dátuma"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Által módosítva"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr ""
@@ -333,6 +540,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr ""
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr ""
@@ -345,6 +556,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr ""
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr ""
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr ""
@@ -378,10 +597,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr ""
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
@@ -414,6 +641,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr ""
@@ -498,6 +729,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr ""
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr ""
@@ -510,27 +745,47 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
+
 #, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Mégse"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Dátum"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
 msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr ""
+
 #, fuzzy
 msgctxt "view:account.statement:"
 msgid "Cancel"
@@ -555,3 +810,12 @@ msgstr ""
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr ""
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Mégse"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 63b9d15..5f4f2c5 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr "L'Importo  \"%s\" è superiore a quello aperto in fattura."
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr "Numero delle rige deve essere \"%s\"."
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr "Indicare un conto DARE e AVERE nel registro \"%s\"."
 
@@ -82,9 +92,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr "Numero di Righe"
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Nome"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -110,10 +132,36 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Modificato da"
 
+#, fuzzy
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Azienda"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Azienda"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "Creato il"
@@ -139,8 +187,8 @@ msgid "Name"
 msgstr "Nome"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Nome"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -162,6 +210,11 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Importo"
 
+#, fuzzy
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Azienda"
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Data creazione"
@@ -194,13 +247,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Numero"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Controparte"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Nome"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -267,8 +324,8 @@ msgid "Party"
 msgstr "Controparte"
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Nome"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -282,6 +339,164 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Modificato da"
 
+#, fuzzy
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Conto"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Importo"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Azienda"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Creato il"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Creato da"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Data"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Descrizione"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Righe"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Numero"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Controparte"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Situazione"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "Situazione"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr "Stato del documento"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Modificato il"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Modificato da"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Creato il"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Creato da"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Nome"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Modificato il"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Modificato da"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Situazione"
@@ -290,6 +505,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Estratto Conto"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Estratto Registro "
@@ -302,6 +521,15 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Raggruppamento righe estratto conto"
 
+#, fuzzy
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Riga estratto conto"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Gruppi righe estratto conto"
@@ -334,10 +562,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Righe estratto conto"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Situazione"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "Tutti"
@@ -369,6 +605,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Situazioni"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
@@ -446,6 +686,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Validato"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr "Importo"
@@ -458,26 +702,48 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr "Numero di righe"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Annullato"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Bozza"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Registrato"
+#, fuzzy
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Data"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Validato"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Importo"
 
+#, fuzzy
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Importo"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Annulla"
@@ -501,3 +767,12 @@ msgstr "Righe situazione"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Valida"
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Annulla"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/ja_JP.po b/locale/ja_JP.po
index 33c2a1f..99636a0 100644
--- a/locale/ja_JP.po
+++ b/locale/ja_JP.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -82,8 +92,20 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
@@ -110,10 +132,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr ""
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -139,7 +185,7 @@ msgid "Name"
 msgstr ""
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
@@ -162,6 +208,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr ""
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -194,12 +244,16 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr ""
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr ""
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement.line,sequence:"
@@ -269,7 +323,7 @@ msgid "Party"
 msgstr ""
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 #, fuzzy
@@ -285,6 +339,144 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr ""
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr ""
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr ""
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Statement"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "Statement"
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Statement"
@@ -293,6 +485,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr ""
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
@@ -306,6 +502,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr ""
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr ""
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Statement Line Groups"
@@ -338,10 +542,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Statement Lines"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Statement"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "All"
@@ -373,6 +585,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Statements"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Statement Journals"
@@ -454,6 +670,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Validated"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr ""
@@ -466,29 +686,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
 msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Draft"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Posted"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Validated"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr ""
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr ""
@@ -515,3 +752,11 @@ msgstr "Statement Lines"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Validated"
+
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr ""
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/lo.po b/locale/lo.po
index f8aa444..2e8c3b7 100644
--- a/locale/lo.po
+++ b/locale/lo.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -84,9 +94,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "ຊື່"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -112,10 +134,36 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "ຜູ້ບັນທຶກ"
 
+#, fuzzy
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "ຫ້ອງການ/ສຳນັກງານ"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ເລດລຳດັບ"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "ສຳນັກງານ"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "ວັນທີສ້າງ"
@@ -141,8 +189,8 @@ msgid "Name"
 msgstr "ຊື່"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "ຊື່"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -165,6 +213,11 @@ msgid "Amount"
 msgstr "ມູນຄ່າ"
 
 #, fuzzy
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "ຫ້ອງການ/ສຳນັກງານ"
+
+#, fuzzy
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "ສ້າງວັນທີ"
@@ -204,15 +257,18 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "ເລກທີ"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "ພາກສ່ວນ"
 
-#, fuzzy
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "ຊື່"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement.line,sequence:"
@@ -292,10 +348,9 @@ msgctxt "field:account.statement.line.group,party:"
 msgid "Party"
 msgstr "ພາກສ່ວນ"
 
-#, fuzzy
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "ຊື່"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -311,6 +366,161 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "ສ້າງຜູ້ໃຊ້"
 
+#, fuzzy
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "ບັນຊີ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "ມູນຄ່າ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "ຫ້ອງການ/ສຳນັກງານ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "ວັນທີສ້າງ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "ຜູ້ສ້າງ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "ວັນທີ:"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "ເນື້ອໃນລາຍການ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ເລດລຳດັບ"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "ລາຍການ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "ເລກທີ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "ພາກສ່ວນ"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "ວັນທີບັນທຶກ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "ຜູ້ບັນທຶກ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "ວັນທີສ້າງ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "ຜູ້ສ້າງ"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ເລດລຳດັບ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "ຊື່"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "ວັນທີບັນທຶກ"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "ຜູ້ບັນທຶກ"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr ""
@@ -319,6 +529,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr ""
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr ""
@@ -331,6 +545,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr ""
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr ""
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr ""
@@ -364,10 +586,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr ""
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
@@ -403,6 +633,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr ""
@@ -494,6 +728,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "ກວດສອບແລ້ວ"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 #, fuzzy
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
@@ -508,25 +746,38 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "ຍົກເລີກແລ້ວ"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "ຮ່າງກຽມ"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
 #, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "ແຈ້ງແລ້ວ"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "ວັນທີ:"
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "ກວດສອບແລ້ວ"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 #, fuzzy
 msgctxt "view:account.statement.line:"
@@ -534,6 +785,11 @@ msgid "Amount"
 msgstr "ມູນຄ່າ"
 
 #, fuzzy
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "ມູນຄ່າ"
+
+#, fuzzy
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "ຍົກເລີກ"
@@ -561,3 +817,12 @@ msgstr ""
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "ກວດສອບ"
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "ຍົກເລີກ"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/lt.po b/locale/lt.po
index ed6ecc0..2608e83 100644
--- a/locale/lt.po
+++ b/locale/lt.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -83,10 +93,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Namu"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -112,10 +133,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr ""
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -141,10 +186,9 @@ msgctxt "field:account.statement.journal,name:"
 msgid "Name"
 msgstr "Namu"
 
-#, fuzzy
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Namu"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -166,6 +210,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr ""
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -198,14 +246,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr ""
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Namu"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -271,10 +322,9 @@ msgctxt "field:account.statement.line.group,party:"
 msgid "Party"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Namu"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -288,6 +338,143 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr ""
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr ""
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr ""
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr ""
@@ -296,6 +483,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr ""
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr ""
@@ -308,6 +499,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr ""
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr ""
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr ""
@@ -340,10 +539,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr ""
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr ""
@@ -375,6 +582,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr ""
@@ -452,6 +663,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr ""
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr ""
@@ -464,26 +679,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
 msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr ""
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr ""
@@ -507,3 +742,11 @@ msgstr ""
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr ""
+
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr ""
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/nl.po b/locale/nl.po
index 4f4bf78..e29ccd8 100644
--- a/locale/nl.po
+++ b/locale/nl.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -89,9 +99,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Naam"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -119,10 +141,36 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Gebruiker"
 
+#, fuzzy
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Bedrijf"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Bedrijf"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
@@ -151,8 +199,8 @@ msgid "Name"
 msgstr "Naam"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Naam"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -177,6 +225,11 @@ msgid "Amount"
 msgstr "Bedrag"
 
 #, fuzzy
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Bedrijf"
+
+#, fuzzy
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Datum"
@@ -212,13 +265,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Nummer"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Relatie"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Naam"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement.line,sequence:"
@@ -298,10 +355,9 @@ msgctxt "field:account.statement.line.group,party:"
 msgid "Party"
 msgstr "Relaties"
 
-#, fuzzy
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Naam bijlage"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement.line.group,statement:"
@@ -318,6 +374,163 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Gebruiker"
 
+#, fuzzy
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Rekening"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Bedrag"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Bedrijf"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Datum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Gebruiker"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Datum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Specificatie"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Transacties"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Nummer"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Relatie"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Bankafschrift"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "Bankafschrift"
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Schrijfdatum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Gebruiker"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Datum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Gebruiker"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Naam bijlage"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Schrijfdatum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Gebruiker"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Bankafschrift"
@@ -326,6 +539,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Rekeningafschrift"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Dagboek bankafschriften"
@@ -339,6 +556,15 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Rekeningafschriftregel"
 
+#, fuzzy
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Rekeningafschriftregel"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr ""
@@ -375,11 +601,19 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Bankafschriftregels"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Bankafschrift"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr ""
@@ -415,6 +649,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Alle bankafschriften"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Dagboeken bankafschriften"
@@ -503,6 +741,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Goedgekeurd"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 #, fuzzy
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
@@ -517,31 +759,49 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Geannuleerd"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Concept"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
 #, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Geboekt"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Datum"
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Goedgekeurd"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 #, fuzzy
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Bedrag"
 
+#, fuzzy
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Bedrag"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Annuleren"
@@ -567,3 +827,12 @@ msgstr "Bankafschriftregels"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Goedkeuren"
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Annuleren"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/pl.po b/locale/pl.po
index 33c2a1f..99636a0 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -82,8 +92,20 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
@@ -110,10 +132,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr ""
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -139,7 +185,7 @@ msgid "Name"
 msgstr ""
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
@@ -162,6 +208,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr ""
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr ""
@@ -194,12 +244,16 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr ""
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr ""
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 msgctxt "field:account.statement.line,sequence:"
@@ -269,7 +323,7 @@ msgid "Party"
 msgstr ""
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
+msgid "Record Name"
 msgstr ""
 
 #, fuzzy
@@ -285,6 +339,144 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr ""
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr ""
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr ""
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Statement"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "Statement"
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Statement"
@@ -293,6 +485,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr ""
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
@@ -306,6 +502,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr ""
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr ""
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Statement Line Groups"
@@ -338,10 +542,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Statement Lines"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Statement"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "All"
@@ -373,6 +585,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Statements"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Statement Journals"
@@ -454,6 +670,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Validated"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr ""
@@ -466,29 +686,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
 msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Draft"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Posted"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Validated"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr ""
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr ""
@@ -515,3 +752,11 @@ msgstr "Statement Lines"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Validated"
+
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr ""
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index eb93390..dc7fd36 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr "Apenas um diário é permitido por conta bancária."
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr "O montante \"%s\" é maior do que o montante a pagar da fatura."
@@ -19,6 +23,14 @@ msgid "Number of Lines must be \"%s\"."
 msgstr "O número de linhas deve ser \"%s\"."
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+"A linha de origem \"%(origin)s\" do extrato \"%(statement)s\" ainda tem um "
+"montante pendente de \"%(amount)s\"."
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr "Favor fornecer contas de débito e crédito no diário \"%s\"."
 
@@ -82,9 +94,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr "Número de linhas"
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr "Arquido de origem"
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr "ID do Arquivo de Origem"
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr "Origens"
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Nome"
+msgid "Record Name"
+msgstr "Nome do Registro"
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -110,10 +134,34 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Gravado pelo usuário"
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr "Arquivo"
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr "Formato do arquivo"
+
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr "Conta Bancária"
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Empresa"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr "Pessoa da Empresa"
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "Data de criação"
@@ -139,8 +187,8 @@ msgid "Name"
 msgstr "Nome"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Nome"
+msgid "Record Name"
+msgstr "Nome do Registro"
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -162,6 +210,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Quantidade"
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Empresa"
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Data de criação"
@@ -184,7 +236,7 @@ msgstr "ID"
 
 msgctxt "field:account.statement.line,invoice:"
 msgid "Invoice"
-msgstr "Faturar"
+msgstr "Fatura"
 
 msgctxt "field:account.statement.line,move:"
 msgid "Account Move"
@@ -194,13 +246,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Número"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr "Origem"
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Parceiro"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Nome"
+msgid "Record Name"
+msgstr "Nome do Registro"
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -267,8 +323,8 @@ msgid "Party"
 msgstr "Parceiro"
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Nome"
+msgid "Record Name"
+msgstr "Nome do Registro"
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -282,6 +338,142 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Gravado pelo usuário"
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Conta"
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Quantidade"
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Empresa"
+
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Data de criação"
+
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Criado pelo usuário"
+
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Data"
+
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Descrição"
+
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr "Informações"
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Linhas"
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Número"
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Pessoa"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr "Montante Pendente"
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr "Nome do Registro"
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Extrato"
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "ID do Extrato"
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr "Estado do Extrato"
+
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Data de gravação"
+
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Gravado pelo usuário"
+
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Data de criação"
+
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Criado pelo usuário"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr "Dígitos"
+
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Nome"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr "Nome do Registro"
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr "Seleção"
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr "Seleção JSON"
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr "Seleção Ordenada"
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr "Texto"
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr "Tipo"
+
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Data de gravação"
+
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Gravado pelo usuário"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr "Um par de chave e nome separados por \":\" por linha"
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr "Se a seleção de ser ordenada por nome"
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Extrato"
@@ -290,6 +482,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Extrato Bancário"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr "Iniciar Importação do Extrato"
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Diário de Extratos"
@@ -302,6 +498,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Grupo de Linhas do Extrato"
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Origem do Extrato Bancário"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr "Informação da Origem do Extrato"
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Grupos de Linhas do Extrato"
@@ -334,10 +538,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Linhas de Extrato Bancário"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr "Origens"
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Extrato"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr "Importar Extrato"
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "Todos"
@@ -369,6 +581,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Extratos"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr "Importar Extrato"
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Diários de Extrato"
@@ -445,6 +661,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Validado"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr "Quantidade"
@@ -457,26 +677,46 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr "Número de linhas"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Cancelado"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr "Booleano"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Rascunho"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr "Caractere"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Confirmado"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Data"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Validado"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr "DataHora"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr "Número real"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr "Inteiro"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr "Numérico"
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr "Seleção"
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Quantidade"
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Quantidade"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Cancelar"
@@ -500,3 +740,11 @@ msgstr "Linhas do Extrato"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Validar"
+
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Cancelar"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr "Importar"
diff --git a/locale/ru.po b/locale/ru.po
index 31127eb..5bff245 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -93,10 +103,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Наименование"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement,start_balance:"
@@ -127,10 +148,36 @@ msgid "Write User"
 msgstr "Изменено пользователем"
 
 #, fuzzy
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Учет.орг."
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
+#, fuzzy
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Учет.орг."
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
@@ -161,10 +208,9 @@ msgctxt "field:account.statement.journal,name:"
 msgid "Name"
 msgstr "Наименование"
 
-#, fuzzy
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Наименование"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -191,6 +237,11 @@ msgid "Amount"
 msgstr "Сумма"
 
 #, fuzzy
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Учет.орг."
+
+#, fuzzy
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Дата создания"
@@ -230,15 +281,18 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Номер"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Организации"
 
-#, fuzzy
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Наименование"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement.line,sequence:"
@@ -318,10 +372,9 @@ msgctxt "field:account.statement.line.group,party:"
 msgid "Party"
 msgstr "Организации"
 
-#, fuzzy
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Правило оплаты"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -337,6 +390,161 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Изменено пользователем"
 
+#, fuzzy
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Счет"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Сумма"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Учет.орг."
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Дата создания"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Создано пользователем"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Дата"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Описание"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Строки"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Номер"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Организации"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Дата изменения"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Изменено пользователем"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Дата создания"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Создано пользователем"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Правило оплаты"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Дата изменения"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Изменено пользователем"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr ""
@@ -345,6 +553,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr ""
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr ""
@@ -357,6 +569,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr ""
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr ""
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr ""
@@ -390,10 +610,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr ""
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
@@ -429,6 +657,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr ""
@@ -520,6 +752,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Утвержденный"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 #, fuzzy
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
@@ -534,25 +770,38 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Отменено"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "Черновик"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
 #, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Проведен"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Дата"
 
-#, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Утвержденный"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 #, fuzzy
 msgctxt "view:account.statement.line:"
@@ -560,6 +809,11 @@ msgid "Amount"
 msgstr "Сумма"
 
 #, fuzzy
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Сумма"
+
+#, fuzzy
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Отменить"
@@ -587,3 +841,12 @@ msgstr ""
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Утвердить"
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Отменить"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/sl.po b/locale/sl.po
index 1897148..384d3f7 100644
--- a/locale/sl.po
+++ b/locale/sl.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr "Znesek \"%s\" je večji od zneska za plačat na računu."
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr "Število postavk mora biti \"%s\"."
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr "Pri dnevniku izpiskov \"%s\" vnesi debetni in kreditni konto."
 
@@ -82,9 +92,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr "Število postavk"
 
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "Ime"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -110,10 +132,36 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
+#, fuzzy
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr "Družba"
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr "Družba"
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
 msgstr "Izdelano"
@@ -139,8 +187,8 @@ msgid "Name"
 msgstr "Naziv"
 
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "Ime"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -162,6 +210,11 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr "Znesek"
 
+#, fuzzy
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr "Družba"
+
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
 msgstr "Izdelano"
@@ -194,13 +247,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr "Številka"
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr "Partner"
 
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "Ime"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line,sequence:"
 msgid "Sequence"
@@ -267,8 +324,8 @@ msgid "Party"
 msgstr "Partner"
 
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "Ime"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -282,6 +339,164 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
+#, fuzzy
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr "Konto"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr "Znesek"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr "Družba"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "Izdelano"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "Izdelal"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "Datum"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "Opis"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "ID"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr "Postavke"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr "Številka"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr "Partner"
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr "Izpisek"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr "Izpisek"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr "Stanje izpiska"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "Zapisano"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "Zapisal"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "Izdelano"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "Izdelal"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "ID"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "Naziv"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "Zapisano"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "Zapisal"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr "Izpisek"
@@ -290,6 +505,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr "Izpisek"
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr "Dnevnik izpiskov"
@@ -302,6 +521,15 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr "Skupina postavk izpiska"
 
+#, fuzzy
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr "Postavka izpiska"
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr "Skupine postavk izpiska"
@@ -334,10 +562,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr "Postavke izpiska"
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr "Izpisek"
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
 msgstr "Vse"
@@ -369,6 +605,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr "Izpiski"
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr "Dnevniki izpiskov"
@@ -445,6 +685,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr "Odobreno"
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr "Znesek"
@@ -457,26 +701,48 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr "Število postavk"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "Preklicano"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
-msgstr "V pripravi"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
-msgstr "Knjiženo"
+#, fuzzy
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "Datum"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
-msgstr "Odobreno"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
+msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr "Znesek"
 
+#, fuzzy
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr "Znesek"
+
 msgctxt "view:account.statement:"
 msgid "Cancel"
 msgstr "Preklic"
@@ -500,3 +766,12 @@ msgstr "Postavke izpiska"
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr "Odobritev"
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "Preklic"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/locale/zh_CN.po b/locale/zh_CN.po
index b70b54e..202f5e1 100644
--- a/locale/zh_CN.po
+++ b/locale/zh_CN.po
@@ -1,7 +1,11 @@
-# 
+#
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
+msgctxt "error:account.statement.journal:"
+msgid "Only one journal is allowed per bank account."
+msgstr ""
+
 msgctxt "error:account.statement.line:"
 msgid "Amount \"%s\" is greater than the amount to pay of invoice."
 msgstr ""
@@ -19,6 +23,12 @@ msgid "Number of Lines must be \"%s\"."
 msgstr ""
 
 msgctxt "error:account.statement:"
+msgid ""
+"Origin line \"%(origin)s\" of statement \"%(statement)s\" still has a "
+"pending amount of \"%(amount)s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
 msgid "Please provide debit and credit account on statement journal \"%s\"."
 msgstr ""
 
@@ -87,10 +97,21 @@ msgctxt "field:account.statement,number_of_lines:"
 msgid "Number of Lines"
 msgstr ""
 
-#, fuzzy
+msgctxt "field:account.statement,origin_file:"
+msgid "Origin File"
+msgstr ""
+
+msgctxt "field:account.statement,origin_file_id:"
+msgid "Origin File ID"
+msgstr ""
+
+msgctxt "field:account.statement,origins:"
+msgid "Origins"
+msgstr ""
+
 msgctxt "field:account.statement,rec_name:"
-msgid "Name"
-msgstr "纳木"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement,start_balance:"
 msgid "Start Balance"
@@ -119,10 +140,35 @@ msgctxt "field:account.statement,write_uid:"
 msgid "Write User"
 msgstr "写入帐号"
 
+msgctxt "field:account.statement.import.start,company:"
+msgid "Company"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_:"
+msgid "File"
+msgstr ""
+
+msgctxt "field:account.statement.import.start,file_format:"
+msgid "File Format"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.import.start,id:"
+msgid "ID"
+msgstr "编号"
+
+msgctxt "field:account.statement.journal,bank_account:"
+msgid "Bank Account"
+msgstr ""
+
 msgctxt "field:account.statement.journal,company:"
 msgid "Company"
 msgstr ""
 
+msgctxt "field:account.statement.journal,company_party:"
+msgid "Company Party"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.statement.journal,create_date:"
 msgid "Create Date"
@@ -151,10 +197,9 @@ msgctxt "field:account.statement.journal,name:"
 msgid "Name"
 msgstr "纳木"
 
-#, fuzzy
 msgctxt "field:account.statement.journal,rec_name:"
-msgid "Name"
-msgstr "纳木"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.journal,validation:"
 msgid "Validation Type"
@@ -178,6 +223,10 @@ msgctxt "field:account.statement.line,amount:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "field:account.statement.line,company:"
+msgid "Company"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:account.statement.line,create_date:"
 msgid "Create Date"
@@ -215,14 +264,17 @@ msgctxt "field:account.statement.line,number:"
 msgid "Number"
 msgstr ""
 
+msgctxt "field:account.statement.line,origin:"
+msgid "Origin"
+msgstr ""
+
 msgctxt "field:account.statement.line,party:"
 msgid "Party"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:account.statement.line,rec_name:"
-msgid "Name"
-msgstr "纳木"
+msgid "Record Name"
+msgstr ""
 
 #, fuzzy
 msgctxt "field:account.statement.line,sequence:"
@@ -295,10 +347,9 @@ msgctxt "field:account.statement.line.group,party:"
 msgid "Party"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:account.statement.line.group,rec_name:"
-msgid "Name"
-msgstr "纳木"
+msgid "Record Name"
+msgstr ""
 
 msgctxt "field:account.statement.line.group,statement:"
 msgid "Statement"
@@ -314,6 +365,155 @@ msgctxt "field:account.statement.line.group,write_uid:"
 msgid "Write User"
 msgstr "写入帐号"
 
+msgctxt "field:account.statement.origin,account:"
+msgid "Account"
+msgstr ""
+
+msgctxt "field:account.statement.origin,amount:"
+msgid "Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,company:"
+msgid "Company"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_date:"
+msgid "Create Date"
+msgstr "创建日期:"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,create_uid:"
+msgid "Create User"
+msgstr "添加用户"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,date:"
+msgid "Date"
+msgstr "日期格式"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,description:"
+msgid "Description"
+msgstr "描述"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,id:"
+msgid "ID"
+msgstr "编号"
+
+msgctxt "field:account.statement.origin,informations:"
+msgid "Informations"
+msgstr ""
+
+msgctxt "field:account.statement.origin,lines:"
+msgid "Lines"
+msgstr ""
+
+msgctxt "field:account.statement.origin,number:"
+msgid "Number"
+msgstr ""
+
+msgctxt "field:account.statement.origin,party:"
+msgid "Party"
+msgstr ""
+
+msgctxt "field:account.statement.origin,pending_amount:"
+msgid "Pending Amount"
+msgstr ""
+
+msgctxt "field:account.statement.origin,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement:"
+msgid "Statement"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_id:"
+msgid "Statement ID"
+msgstr ""
+
+msgctxt "field:account.statement.origin,statement_state:"
+msgid "Statement State"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_date:"
+msgid "Write Date"
+msgstr "写入日期"
+
+#, fuzzy
+msgctxt "field:account.statement.origin,write_uid:"
+msgid "Write User"
+msgstr "写入帐号"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_date:"
+msgid "Create Date"
+msgstr "创建日期:"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,create_uid:"
+msgid "Create User"
+msgstr "添加用户"
+
+msgctxt "field:account.statement.origin.information,digits:"
+msgid "Digits"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,id:"
+msgid "ID"
+msgstr "编号"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,name:"
+msgid "Name"
+msgstr "纳木"
+
+msgctxt "field:account.statement.origin.information,rec_name:"
+msgid "Record Name"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection:"
+msgid "Selection"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_json:"
+msgid "Selection JSON"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,selection_sorted:"
+msgid "Selection Sorted"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,string:"
+msgid "String"
+msgstr ""
+
+msgctxt "field:account.statement.origin.information,type_:"
+msgid "Type"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_date:"
+msgid "Write Date"
+msgstr "写入日期"
+
+#, fuzzy
+msgctxt "field:account.statement.origin.information,write_uid:"
+msgid "Write User"
+msgstr "写入帐号"
+
+msgctxt "help:account.statement.origin.information,selection:"
+msgid "A couple of key and label separated by \":\" per line"
+msgstr ""
+
+msgctxt "help:account.statement.origin.information,selection_sorted:"
+msgid "If the selection must be sorted on label"
+msgstr ""
+
 msgctxt "model:account.journal.type,name:journal_type_statement"
 msgid "Statement"
 msgstr ""
@@ -322,6 +522,10 @@ msgctxt "model:account.statement,name:"
 msgid "Account Statement"
 msgstr ""
 
+msgctxt "model:account.statement.import.start,name:"
+msgid "Statement Import Start"
+msgstr ""
+
 msgctxt "model:account.statement.journal,name:"
 msgid "Statement Journal"
 msgstr ""
@@ -334,6 +538,14 @@ msgctxt "model:account.statement.line.group,name:"
 msgid "Account Statement Line Group"
 msgstr ""
 
+msgctxt "model:account.statement.origin,name:"
+msgid "Account Statement Origin"
+msgstr ""
+
+msgctxt "model:account.statement.origin.information,name:"
+msgid "Statement Origin Information"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_line_group_form"
 msgid "Statement Line Groups"
 msgstr ""
@@ -366,10 +578,18 @@ msgctxt "model:ir.action,name:act_statement_line_move_line"
 msgid "Statement Lines"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_statement_origin_form_statement"
+msgid "Origins"
+msgstr ""
+
 msgctxt "model:ir.action,name:report_statement"
 msgid "Statement"
 msgstr ""
 
+msgctxt "model:ir.action,name:wizard_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 #, fuzzy
 msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
 msgid "All"
@@ -402,6 +622,10 @@ msgctxt "model:ir.ui.menu,name:menu_statement_form"
 msgid "Statements"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_statement_import"
+msgid "Import Statement"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
 msgid "Statement Journals"
 msgstr ""
@@ -484,6 +708,10 @@ msgctxt "selection:account.statement,state:"
 msgid "Validated"
 msgstr ""
 
+msgctxt "selection:account.statement.import.start,file_format:"
+msgid ""
+msgstr ""
+
 msgctxt "selection:account.statement.journal,validation:"
 msgid "Amount"
 msgstr ""
@@ -496,27 +724,47 @@ msgctxt "selection:account.statement.journal,validation:"
 msgid "Number of Lines"
 msgstr ""
 
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Boolean"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Char"
+msgstr ""
+
 #, fuzzy
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Canceled"
-msgstr "取消"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Date"
+msgstr "日期格式"
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Draft"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "DateTime"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Posted"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Float"
 msgstr ""
 
-msgctxt "selection:account.statement.line,statement_state:"
-msgid "Validated"
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Integer"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Numeric"
+msgstr ""
+
+msgctxt "selection:account.statement.origin.information,type_:"
+msgid "Selection"
 msgstr ""
 
 msgctxt "view:account.statement.line:"
 msgid "Amount"
 msgstr ""
 
+msgctxt "view:account.statement.origin:"
+msgid "Amount"
+msgstr ""
+
 #, fuzzy
 msgctxt "view:account.statement:"
 msgid "Cancel"
@@ -541,3 +789,12 @@ msgstr ""
 msgctxt "view:account.statement:"
 msgid "Validate"
 msgstr ""
+
+#, fuzzy
+msgctxt "wizard_button:account.statement.import,start,end:"
+msgid "Cancel"
+msgstr "取消"
+
+msgctxt "wizard_button:account.statement.import,start,import_:"
+msgid "Import"
+msgstr ""
diff --git a/setup.py b/setup.py
index 66d0e5f..a9f9030 100644
--- a/setup.py
+++ b/setup.py
@@ -76,7 +76,7 @@ setup(name=name,
     package_data={
         'trytond.modules.account_statement': (info.get('xml', [])
             + ['tryton.cfg', 'view/*.xml', 'locale/*.po', 'tests/*.rst',
-                'statement.odt']),
+                '*.fodt']),
         },
     classifiers=[
         'Development Status :: 5 - Production/Stable',
@@ -103,9 +103,9 @@ setup(name=name,
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
         'Programming Language :: Python :: 2.7',
-        'Programming Language :: Python :: 3.3',
         'Programming Language :: Python :: 3.4',
         'Programming Language :: Python :: 3.5',
+        'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: Implementation :: CPython',
         'Programming Language :: Python :: Implementation :: PyPy',
         'Topic :: Office/Business',
@@ -125,5 +125,6 @@ setup(name=name,
     use_2to3=True,
     convert_2to3_doctests=[
         'tests/scenario_account_statement.rst',
+        'tests/scenario_statement_origin.rst',
         ],
     )
diff --git a/statement.fodt b/statement.fodt
new file mode 100644
index 0000000..abe4e8b
--- /dev/null
+++ b/statement.fodt
@@ -0,0 +1,563 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text">
+ <office:meta><meta:creation-date>2014-06-25T17:03:31.651095570</meta:creation-date><meta:generator>LibreOffice/5.2.7.2$Linux_X86_64 LibreOffice_project/20m0$Build-2</meta:generator><meta:editing-duration>P0D</meta:editing-duration><meta:editing-cycles>1</meta:editing-cycles><meta:document-statistic meta:character-count="1008" meta:image-count="0" meta:non-whitespace-character-count="963" meta:object-count="0" meta:page-count="3" meta:paragraph-count="43" meta:table-count="1" meta:word-count="88"/></office:meta>
+ <office:settings>
+  <config:config-item-set config:name="ooo:view-settings">
+   <config:config-item config:name="ViewAreaTop" config:type="long">0</config:config-item>
+   <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item>
+   <config:config-item config:name="ViewAreaWidth" config:type="long">43760</config:config-item>
+   <config:config-item config:name="ViewAreaHeight" config:type="long">21691</config:config-item>
+   <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item>
+   <config:config-item-map-indexed config:name="Views">
+    <config:config-item-map-entry>
+     <config:config-item config:name="ViewId" config:type="string">view2</config:config-item>
+     <config:config-item config:name="ViewLeft" config:type="long">2628</config:config-item>
+     <config:config-item config:name="ViewTop" config:type="long">5313</config:config-item>
+     <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item>
+     <config:config-item config:name="VisibleTop" config:type="long">0</config:config-item>
+     <config:config-item config:name="VisibleRight" config:type="long">43759</config:config-item>
+     <config:config-item config:name="VisibleBottom" config:type="long">21689</config:config-item>
+     <config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
+     <config:config-item config:name="ViewLayoutColumns" config:type="short">0</config:config-item>
+     <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item>
+     <config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item>
+     <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item>
+    </config:config-item-map-entry>
+   </config:config-item-map-indexed>
+  </config:config-item-set>
+  <config:config-item-set config:name="ooo:configuration-settings">
+   <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item>
+   <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintFaxName" config:type="string"/>
+   <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="SurroundTextWrapSmall" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ClippedPictures" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="FloattableNomargins" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UnbreakableNumberings" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TabOverflow" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="SmallCapsPercentage66" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="TreatSingleColumnBreakAsPageBreak" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="MathBaselineAlignment" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrinterName" config:type="string"/>
+   <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="EmbeddedDatabaseName" config:type="string"/>
+   <config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="Rsid" config:type="int">3561477</config:config-item>
+   <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintEmptyPages" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ApplyUserData" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
+   <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item>
+   <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="AddVerticalFrameOffsets" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/>
+   <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/>
+   <config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="RsidRoot" config:type="int">1454369</config:config-item>
+   <config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item>
+   <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item>
+   <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/>
+   <config:config-item config:name="PrinterSetup" config:type="base64Binary"/>
+   <config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item>
+  </config:config-item-set>
+ </office:settings>
+ <office:scripts>
+  <office:script script:language="ooo:Basic">
+   <ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/>
+  </office:script>
+ </office:scripts>
+ <office:font-face-decls>
+  <style:font-face style:name="StarSymbol" svg:font-family="StarSymbol"/>
+  <style:font-face style:name="DejaVu Sans Mono" svg:font-family="'DejaVu Sans Mono'" style:font-family-generic="modern" style:font-pitch="fixed"/>
+  <style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-adornments="Bold" style:font-family-generic="roman" style:font-pitch="variable"/>
+  <style:font-face style:name="Thorndale AMT" svg:font-family="'Thorndale AMT'" style:font-family-generic="roman" style:font-pitch="variable"/>
+  <style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
+  <style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
+  <style:font-face style:name="Andale Sans UI" svg:font-family="'Andale Sans UI'" style:font-family-generic="system" style:font-pitch="variable"/>
+  <style:font-face style:name="DejaVu Sans1" svg:font-family="'DejaVu Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
+ </office:font-face-decls>
+ <office:styles>
+  <style:default-style style:family="graphic">
+   <style:graphic-properties svg:stroke-color="#3465af" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.1181in" draw:shadow-offset-y="0.1181in" draw:start-line-spacing-horizontal="0.1114in" draw:start-line-spacing-vertical="0.1114in" draw:end-line-spacing-horizontal="0.1114in" draw:end-line-spacing-vertical="0.1114in" style:flow-with-text="false"/>
+   <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties style:use-window-font-color="true" style:font-name="Thorndale AMT" fo:font-size="12pt" fo:language="en" fo:country="US" style:letter-kerning="true" style:font-name-asian="Andale Sans UI" style:font-size-asian="10.5pt" style:language-asian="zxx" style:country-asian="none" style:font-name-complex="Andale Sans UI" style:font-size-complex="12pt" style:language-complex="zxx" style:country-complex="none"/>
+  </style:default-style>
+  <style:default-style style:family="paragraph">
+   <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="0.4925in" style:writing-mode="lr-tb"/>
+   <style:text-properties style:use-window-font-color="true" style:font-name="Thorndale AMT" fo:font-size="12pt" fo:language="en" fo:country="US" style:letter-kerning="true" style:font-name-asian="Andale Sans UI" style:font-size-asian="10.5pt" style:language-asian="zxx" style:country-asian="none" style:font-name-complex="Andale Sans UI" style:font-size-complex="12pt" style:language-complex="zxx" style:country-complex="none" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/>
+  </style:default-style>
+  <style:default-style style:family="table">
+   <style:table-properties table:border-model="collapsing"/>
+  </style:default-style>
+  <style:default-style style:family="table-row">
+   <style:table-row-properties fo:keep-together="auto"/>
+  </style:default-style>
+  <style:style style:name="Standard" style:family="paragraph" style:class="text">
+   <style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
+  </style:style>
+  <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text">
+   <style:paragraph-properties fo:margin-top="0.1665in" fo:margin-bottom="0.0835in" loext:contextual-spacing="false" fo:keep-with-next="always"/>
+   <style:text-properties style:font-name="DejaVu Sans" fo:font-family="'DejaVu Sans'" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="14pt" style:font-name-asian="DejaVu Sans1" style:font-family-asian="'DejaVu Sans'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-name-complex="DejaVu Sans1" style:font-family-complex="'DejaVu Sans'" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="14pt"/>
+  </style:style>
+  <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
+   <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0.0835in" loext:contextual-spacing="false"/>
+  </style:style>
+  <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list">
+   <style:text-properties style:font-size-asian="12pt"/>
+  </style:style>
+  <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties fo:margin-top="0.0835in" fo:margin-bottom="0.0835in" loext:contextual-spacing="false" text:number-lines="false" text:line-number="0"/>
+   <style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-size-complex="12pt" style:font-style-complex="italic"/>
+  </style:style>
+  <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0"/>
+   <style:text-properties style:font-size-asian="12pt"/>
+  </style:style>
+  <style:style style:name="Header" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0">
+    <style:tab-stops>
+     <style:tab-stop style:position="3.4626in" style:type="center"/>
+     <style:tab-stop style:position="6.9252in" style:type="right"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+   <style:text-properties fo:font-size="9pt" style:font-size-asian="10.5pt"/>
+  </style:style>
+  <style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text">
+   <style:text-properties fo:font-size="14pt" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-style-complex="italic" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Footer" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0">
+    <style:tab-stops>
+     <style:tab-stop style:position="3.4626in" style:type="center"/>
+     <style:tab-stop style:position="6.9252in" style:type="right"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+   <style:text-properties fo:font-size="9pt" style:font-size-asian="10.5pt"/>
+  </style:style>
+  <style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text">
+   <style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Table_20_Contents" style:display-name="Table Contents" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0"/>
+   <style:text-properties style:font-size-asian="10.5pt"/>
+  </style:style>
+  <style:style style:name="Table_20_Heading" style:display-name="Table Heading" style:family="paragraph" style:parent-style-name="Table_20_Contents" style:class="extra" style:master-page-name="">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false" style:page-number="auto" text:number-lines="false" text:line-number="0"/>
+   <style:text-properties style:font-name="Liberation Serif" fo:font-family="'Liberation Serif'" style:font-style-name="Bold" style:font-family-generic="roman" style:font-pitch="variable" fo:font-weight="bold" style:font-size-asian="10.5pt" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text">
+   <style:text-properties fo:font-size="14pt" fo:font-weight="bold" style:font-size-asian="14pt" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Text_20_body_20_indent" style:display-name="Text body indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
+   <style:paragraph-properties fo:margin-left="0.1965in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false"/>
+  </style:style>
+  <style:style style:name="Text" style:family="paragraph" style:parent-style-name="Caption" style:class="extra"/>
+  <style:style style:name="Preformatted_20_Text" style:display-name="Preformatted Text" style:family="paragraph" style:parent-style-name="Standard" style:class="html">
+   <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" loext:contextual-spacing="false"/>
+   <style:text-properties style:font-name="DejaVu Sans Mono" fo:font-family="'DejaVu Sans Mono'" style:font-family-generic="modern" style:font-pitch="fixed" fo:font-size="10pt" style:font-name-asian="DejaVu Sans Mono" style:font-family-asian="'DejaVu Sans Mono'" style:font-family-generic-asian="modern" style:font-pitch-asian="fixed" style:font-size-asian="10pt" style:font-name-complex="DejaVu Sans Mono" style:font-family-complex="'DejaVu Sans Mono'" style:font-family-generic-complex="modern" style:font-pitch-complex="fixed" style:font-size-complex="10pt"/>
+  </style:style>
+  <style:style style:name="Quotations" style:family="paragraph" style:parent-style-name="Standard" style:class="html">
+   <style:paragraph-properties fo:margin-left="0.3937in" fo:margin-right="0.3937in" fo:margin-top="0in" fo:margin-bottom="0.1965in" loext:contextual-spacing="false" fo:text-indent="0in" style:auto-text-indent="false"/>
+  </style:style>
+  <style:style style:name="Title" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties fo:font-size="18pt" fo:font-weight="bold" style:font-size-asian="18pt" style:font-weight-asian="bold" style:font-size-complex="18pt" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Subtitle" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties fo:font-size="14pt" fo:font-style="italic" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-size-complex="14pt" style:font-style-complex="italic"/>
+  </style:style>
+  <style:style style:name="Placeholder" style:family="text">
+   <style:text-properties fo:font-variant="small-caps" fo:color="#008080" style:text-underline-style="dotted" style:text-underline-width="auto" style:text-underline-color="font-color"/>
+  </style:style>
+  <style:style style:name="Bullet_20_Symbols" style:display-name="Bullet Symbols" style:family="text">
+   <style:text-properties style:font-name="StarSymbol" fo:font-family="StarSymbol" fo:font-size="9pt" style:font-name-asian="StarSymbol" style:font-family-asian="StarSymbol" style:font-size-asian="9pt" style:font-name-complex="StarSymbol" style:font-family-complex="StarSymbol" style:font-size-complex="9pt"/>
+  </style:style>
+  <text:outline-style style:name="Outline">
+   <text:outline-level-style text:level="1" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.3in" fo:text-indent="-0.3in" fo:margin-left="0.3in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="2" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4in" fo:text-indent="-0.4in" fo:margin-left="0.4in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="3" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.5in" fo:margin-left="0.5in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="4" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.6in" fo:text-indent="-0.6in" fo:margin-left="0.6in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="5" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.7in" fo:text-indent="-0.7in" fo:margin-left="0.7in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="6" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.8in" fo:text-indent="-0.8in" fo:margin-left="0.8in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="7" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.9in" fo:text-indent="-0.9in" fo:margin-left="0.9in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="8" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1in" fo:text-indent="-1in" fo:margin-left="1in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="9" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.1in" fo:text-indent="-1.1in" fo:margin-left="1.1in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="10" style:num-format="">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.2in" fo:text-indent="-1.2in" fo:margin-left="1.2in"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+  </text:outline-style>
+  <text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
+  <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/>
+  <text:linenumbering-configuration text:number-lines="false" text:offset="0.1965in" style:num-format="1" text:number-position="left" text:increment="5"/>
+ </office:styles>
+ <office:automatic-styles>
+  <style:style style:name="Lines" style:family="table">
+   <style:table-properties style:width="6.6931in" fo:break-before="auto" fo:break-after="auto" table:align="margins" fo:background-color="transparent" fo:keep-with-next="auto" style:may-break-between-rows="true" style:writing-mode="lr-tb">
+    <style:background-image/>
+   </style:table-properties>
+  </style:style>
+  <style:style style:name="Lines.A" style:family="table-column">
+   <style:table-column-properties style:column-width="1.1813in" style:rel-column-width="11566*"/>
+  </style:style>
+  <style:style style:name="Lines.D" style:family="table-column">
+   <style:table-column-properties style:column-width="1.9681in" style:rel-column-width="19270*"/>
+  </style:style>
+  <style:style style:name="Lines.E" style:family="table-column">
+   <style:table-column-properties style:column-width="1.1813in" style:rel-column-width="11567*"/>
+  </style:style>
+  <style:style style:name="Lines.1" style:family="table-row">
+   <style:table-row-properties fo:background-color="transparent" fo:keep-together="auto">
+    <style:background-image/>
+   </style:table-row-properties>
+  </style:style>
+  <style:style style:name="Lines.A1" style:family="table-cell">
+   <style:table-cell-properties style:vertical-align="" fo:background-color="#cccccc" fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000" style:writing-mode="lr-tb">
+    <style:background-image/>
+   </style:table-cell-properties>
+  </style:style>
+  <style:style style:name="Lines.E1" style:family="table-cell">
+   <style:table-cell-properties style:vertical-align="" fo:background-color="#cccccc" fo:padding="0.0382in" fo:border="0.05pt solid #000000" style:writing-mode="lr-tb">
+    <style:background-image/>
+   </style:table-cell-properties>
+  </style:style>
+  <style:style style:name="Lines.A2" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Lines.A3" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Lines.B3" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Lines.C3" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Lines.D3" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Lines.E3" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Lines.A4" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Lines.A5" style:family="table-cell">
+   <style:table-cell-properties fo:background-color="#e6e6e6" fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000">
+    <style:background-image/>
+   </style:table-cell-properties>
+  </style:style>
+  <style:style style:name="Lines.B5" style:family="table-cell">
+   <style:table-cell-properties fo:background-color="#e6e6e6" fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000">
+    <style:background-image/>
+   </style:table-cell-properties>
+  </style:style>
+  <style:style style:name="Lines.E5" style:family="table-cell">
+   <style:table-cell-properties fo:background-color="#e6e6e6" fo:padding="0.0382in" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000">
+    <style:background-image/>
+   </style:table-cell-properties>
+  </style:style>
+  <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Header">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties officeooo:paragraph-rsid="0032dc16"/>
+  </style:style>
+  <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Footer">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties officeooo:paragraph-rsid="0032dc16"/>
+  </style:style>
+  <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Header">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+   <style:text-properties fo:font-size="12pt" officeooo:paragraph-rsid="0032dc16" style:font-size-asian="12pt" style:font-size-complex="12pt"/>
+  </style:style>
+  <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Header">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties officeooo:paragraph-rsid="0032dc16"/>
+  </style:style>
+  <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Header">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+   <style:text-properties fo:font-size="12pt" officeooo:paragraph-rsid="0032dc16" style:font-size-asian="12pt" style:font-size-complex="12pt"/>
+  </style:style>
+  <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Footer">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties officeooo:paragraph-rsid="0032dc16"/>
+  </style:style>
+  <style:style style:name="P7" style:family="paragraph" style:parent-style-name="Standard">
+   <style:text-properties style:font-name="Liberation Sans"/>
+  </style:style>
+  <style:style style:name="P8" style:family="paragraph" style:parent-style-name="Standard">
+   <style:text-properties officeooo:paragraph-rsid="001c9bde"/>
+  </style:style>
+  <style:style style:name="P9" style:family="paragraph" style:parent-style-name="Standard">
+   <style:paragraph-properties fo:break-before="page"/>
+   <style:text-properties fo:font-size="6pt" style:font-size-asian="5.25pt" style:font-size-complex="6pt"/>
+  </style:style>
+  <style:style style:name="P10" style:family="paragraph" style:parent-style-name="Text_20_body">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+   <style:text-properties style:font-name="Liberation Sans" style:text-underline-style="none"/>
+  </style:style>
+  <style:style style:name="P11" style:family="paragraph" style:parent-style-name="Text_20_body">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+   <style:text-properties style:font-name="Liberation Sans" style:text-underline-style="none" officeooo:rsid="001a0173" officeooo:paragraph-rsid="00204b02"/>
+  </style:style>
+  <style:style style:name="P12" style:family="paragraph" style:parent-style-name="Heading_20_1">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties style:font-name="Liberation Sans" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/>
+  </style:style>
+  <style:style style:name="P13" style:family="paragraph" style:parent-style-name="Heading_20_1">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties style:font-name="Liberation Sans" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" officeooo:paragraph-rsid="001c9bde"/>
+  </style:style>
+  <style:style style:name="P14" style:family="paragraph" style:parent-style-name="Table_20_Heading">
+   <style:text-properties style:font-name="Liberation Serif" fo:font-weight="bold" officeooo:rsid="001a0173" officeooo:paragraph-rsid="001a0173" style:font-size-asian="10.5pt" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="P15" style:family="paragraph" style:parent-style-name="Table_20_Heading">
+   <style:text-properties style:font-name="Liberation Serif" fo:font-weight="bold" officeooo:rsid="00290ab7" officeooo:paragraph-rsid="00290ab7" style:font-size-asian="10.5pt" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="P16" style:family="paragraph" style:parent-style-name="Table_20_Heading">
+   <style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="P17" style:family="paragraph" style:parent-style-name="Table_20_Heading">
+   <style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
+   <style:text-properties officeooo:paragraph-rsid="00290ab7"/>
+  </style:style>
+  <style:style style:name="P18" style:family="paragraph" style:parent-style-name="Table_20_Heading">
+   <style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
+   <style:text-properties officeooo:rsid="001b6325" officeooo:paragraph-rsid="0022e7a8"/>
+  </style:style>
+  <style:style style:name="P19" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="P20" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+   <style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="P21" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="T1" style:family="text">
+   <style:text-properties officeooo:rsid="001c9bde"/>
+  </style:style>
+  <style:page-layout style:name="pm1">
+   <style:page-layout-properties fo:page-width="8.2681in" fo:page-height="11.6929in" style:num-format="1" style:print-orientation="portrait" fo:margin-top="0.7874in" fo:margin-bottom="0.7874in" fo:margin-left="0.7874in" fo:margin-right="0.7874in" style:writing-mode="lr-tb" style:footnote-max-height="0in">
+    <style:footnote-sep style:width="0.0071in" style:distance-before-sep="0.0398in" style:distance-after-sep="0.0398in" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
+   </style:page-layout-properties>
+   <style:header-style>
+    <style:header-footer-properties fo:min-height="0in" fo:margin-left="0in" fo:margin-right="0in" fo:margin-bottom="0.1965in"/>
+   </style:header-style>
+   <style:footer-style>
+    <style:header-footer-properties fo:min-height="0in" fo:margin-left="0in" fo:margin-right="0in" fo:margin-top="0.1965in"/>
+   </style:footer-style>
+  </style:page-layout>
+ </office:automatic-styles>
+ <office:master-styles>
+  <style:master-page style:name="Standard" style:page-layout-name="pm1">
+   <style:header>
+    <text:p text:style-name="P1"><text:placeholder text:placeholder-type="text"><if test="company.header"></text:placeholder></text:p>
+    <text:p text:style-name="P1"><text:placeholder text:placeholder-type="text"><for each="line in company.header.split('\n')"></text:placeholder></text:p>
+    <text:p text:style-name="P1"><text:placeholder text:placeholder-type="text"><line></text:placeholder></text:p>
+    <text:p text:style-name="P1"><text:placeholder text:placeholder-type="text"></for></text:placeholder></text:p>
+    <text:p text:style-name="P2"><text:placeholder text:placeholder-type="text"></if></text:placeholder></text:p>
+    <text:p text:style-name="P3"><text:placeholder text:placeholder-type="text"><company.rec_name></text:placeholder></text:p>
+   </style:header>
+   <style:footer>
+    <text:p text:style-name="P2"><text:placeholder text:placeholder-type="text"><if test="company.footer"></text:placeholder></text:p>
+    <text:p text:style-name="P2"><text:placeholder text:placeholder-type="text"><for each="line in company.footer.split('\n')"></text:placeholder></text:p>
+    <text:p text:style-name="P2"><text:placeholder text:placeholder-type="text"><line></text:placeholder></text:p>
+    <text:p text:style-name="P2"><text:placeholder text:placeholder-type="text"></for></text:placeholder></text:p>
+    <text:p text:style-name="P2"><text:placeholder text:placeholder-type="text"></if></text:placeholder></text:p>
+   </style:footer>
+  </style:master-page>
+ </office:master-styles>
+ <office:body>
+  <office:text text:use-soft-page-breaks="true">
+   <office:forms form:automatic-focus="false" form:apply-design-mode="false"/>
+   <text:sequence-decls>
+    <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
+   </text:sequence-decls>
+   <text:p text:style-name="P7"><text:placeholder text:placeholder-type="text"><for each="statement in records"></text:placeholder></text:p>
+   <text:p text:style-name="P9"/>
+   <text:p text:style-name="Standard"><text:placeholder text:placeholder-type="text"><choose></text:placeholder></text:p>
+   <text:p text:style-name="Standard"><text:placeholder text:placeholder-type="text"><when test="statement.state == 'draft'"></text:placeholder></text:p>
+   <text:p text:style-name="P13"><text:span text:style-name="T1">Draft </text:span>Statement</text:p>
+   <text:p text:style-name="Standard"><text:placeholder text:placeholder-type="text"></when></text:placeholder></text:p>
+   <text:p text:style-name="P8"><text:placeholder text:placeholder-type="text"><when test="statement.state == 'canceled'"></text:placeholder></text:p>
+   <text:p text:style-name="P13"><text:span text:style-name="T1">Canceled </text:span>Statement</text:p>
+   <text:p text:style-name="P8"><text:placeholder text:placeholder-type="text"></when></text:placeholder></text:p>
+   <text:p text:style-name="P8"><text:placeholder text:placeholder-type="text"><otherwise></text:placeholder></text:p>
+   <text:p text:style-name="P12">Statement</text:p>
+   <text:p text:style-name="P10"><text:placeholder text:placeholder-type="text"></otherwise></text:placeholder></text:p>
+   <text:p text:style-name="P10"><text:placeholder text:placeholder-type="text"></choose></text:placeholder></text:p>
+   <text:p text:style-name="P11">Date: <text:placeholder text:placeholder-type="text"><format_date(statement.date, user.language)></text:placeholder></text:p>
+   <text:p text:style-name="P11">Journal: <text:placeholder text:placeholder-type="text"><statement.journal.rec_name></text:placeholder></text:p>
+   <table:table table:name="Lines" table:style-name="Lines">
+    <table:table-column table:style-name="Lines.A" table:number-columns-repeated="3"/>
+    <table:table-column table:style-name="Lines.D"/>
+    <table:table-column table:style-name="Lines.E"/>
+    <table:table-header-rows>
+     <table:table-row table:style-name="Lines.1">
+      <table:table-cell table:style-name="Lines.A1" office:value-type="string">
+       <text:p text:style-name="P15">Number</text:p>
+      </table:table-cell>
+      <table:table-cell table:style-name="Lines.A1" office:value-type="string">
+       <text:p text:style-name="P14">Date</text:p>
+      </table:table-cell>
+      <table:table-cell table:style-name="Lines.A1" office:value-type="string">
+       <text:p text:style-name="P14">Party</text:p>
+      </table:table-cell>
+      <table:table-cell table:style-name="Lines.A1" office:value-type="string">
+       <text:p text:style-name="P14">Description</text:p>
+      </table:table-cell>
+      <table:table-cell table:style-name="Lines.E1" office:value-type="string">
+       <text:p text:style-name="P14">Amount</text:p>
+      </table:table-cell>
+     </table:table-row>
+    </table:table-header-rows>
+    <table:table-row>
+     <table:table-cell table:style-name="Lines.A2" table:number-columns-spanned="5" office:value-type="string">
+      <text:p text:style-name="P19"><text:placeholder text:placeholder-type="text"><for each="line in statement.grouped_lines"></text:placeholder></text:p>
+     </table:table-cell>
+     <table:covered-table-cell/>
+     <table:covered-table-cell/>
+     <table:covered-table-cell/>
+     <table:covered-table-cell/>
+    </table:table-row>
+    <table:table-row>
+     <table:table-cell table:style-name="Lines.A3" office:value-type="string">
+      <text:p text:style-name="P21"><text:placeholder text:placeholder-type="text"><line.number></text:placeholder></text:p>
+     </table:table-cell>
+     <table:table-cell table:style-name="Lines.B3" office:value-type="string">
+      <text:p text:style-name="P21"><text:placeholder text:placeholder-type="text"><format_date(line.date, user.language)></text:placeholder></text:p>
+     </table:table-cell>
+     <table:table-cell table:style-name="Lines.C3" office:value-type="string">
+      <text:p text:style-name="P19"><text:placeholder text:placeholder-type="text"><line.party.rec_name if line.party else ''></text:placeholder></text:p>
+     </table:table-cell>
+     <table:table-cell table:style-name="Lines.D3" office:value-type="string">
+      <text:p text:style-name="P19"><text:placeholder text:placeholder-type="text"><for each="description in line.descriptions"></text:placeholder></text:p>
+      <text:p text:style-name="P19"><text:placeholder text:placeholder-type="text"><description></text:placeholder></text:p>
+      <text:p text:style-name="P19"><text:placeholder text:placeholder-type="text"></for></text:placeholder></text:p>
+     </table:table-cell>
+     <table:table-cell table:style-name="Lines.E3" office:value-type="string">
+      <text:p text:style-name="P20"><text:placeholder text:placeholder-type="text"><format_currency(line.amount, user.language, statement.journal.currency) ></text:placeholder></text:p>
+     </table:table-cell>
+    </table:table-row>
+    <table:table-row>
+     <table:table-cell table:style-name="Lines.A4" table:number-columns-spanned="5" office:value-type="string">
+      <text:p text:style-name="P19"><text:placeholder text:placeholder-type="text"></for></text:placeholder></text:p>
+     </table:table-cell>
+     <table:covered-table-cell/>
+     <table:covered-table-cell/>
+     <table:covered-table-cell/>
+     <table:covered-table-cell/>
+    </table:table-row>
+    <table:table-row>
+     <table:table-cell table:style-name="Lines.A5" office:value-type="string">
+      <text:p text:style-name="P17"># <text:placeholder text:placeholder-type="text"><format_number(len(list(statement.grouped_lines)), user.language, digits=0)></text:placeholder></text:p>
+     </table:table-cell>
+     <table:table-cell table:style-name="Lines.B5" table:number-columns-spanned="3" office:value-type="string">
+      <text:p text:style-name="P18">Total</text:p>
+     </table:table-cell>
+     <table:covered-table-cell/>
+     <table:covered-table-cell/>
+     <table:table-cell table:style-name="Lines.E5" office:value-type="string">
+      <text:p text:style-name="P16"><text:placeholder text:placeholder-type="text"><format_currency(sum(l.amount for l in statement.lines), user.language, statement.journal.currency)></text:placeholder><text:soft-page-break/></text:p>
+     </table:table-cell>
+    </table:table-row>
+   </table:table>
+   <text:p text:style-name="P7"><text:placeholder text:placeholder-type="text"></for></text:placeholder></text:p>
+  </office:text>
+ </office:body>
+</office:document>
\ No newline at end of file
diff --git a/statement.odt b/statement.odt
deleted file mode 100644
index b6a4fae..0000000
Binary files a/statement.odt and /dev/null differ
diff --git a/statement.py b/statement.py
index 0b0b066..1883ba4 100644
--- a/statement.py
+++ b/statement.py
@@ -5,17 +5,22 @@ from collections import namedtuple
 from itertools import groupby
 
 from sql import Null
+from sql.conditionals import Coalesce
 from sql.aggregate import Max, Sum
 
+from trytond.config import config
 from trytond.model import Workflow, ModelView, ModelSQL, fields, Check, \
-    sequence_ordered
+    sequence_ordered, DictSchemaMixin
 from trytond.pyson import Eval, If, Bool
 from trytond.transaction import Transaction
 from trytond import backend
 from trytond.pool import Pool
+from trytond.wizard import Wizard, StateView, StateAction, Button
 from trytond.modules.company import CompanyReport
 
-__all__ = ['Statement', 'Line', 'LineGroup', 'StatementReport']
+__all__ = ['Statement', 'Line', 'LineGroup',
+    'Origin', 'OriginInformation',
+    'ImportStatementStart', 'ImportStatement', 'StatementReport']
 
 _STATES = {'readonly': Eval('state') != 'draft'}
 _DEPENDS = ['state']
@@ -48,6 +53,14 @@ STATES = [
     ('posted', 'Posted'),
     ]
 
+if config.getboolean('account_statement', 'filestore', default=False):
+    file_id = 'origin_file_id'
+    store_prefix = config.get(
+        'account_statement', 'store_prefix', default=None)
+else:
+    file_id = None
+    store_prefix = None
+
 
 class Unequal(object):
     "Always different"
@@ -106,6 +119,15 @@ class Statement(Workflow, ModelSQL, ModelView):
             'readonly': (Eval('state') != 'draft') | ~Eval('journal'),
             },
         depends=['state', 'journal'])
+    origins = fields.One2Many('account.statement.origin', 'statement',
+        "Origins", states={
+            'readonly': Eval('state') != 'draft',
+            },
+        depends=['state'])
+    origin_file = fields.Binary(
+        "Origin File", readonly=True,
+        file_id=file_id, store_prefix=store_prefix)
+    origin_file_id = fields.Char("Origin File ID", readonly=True)
     state = fields.Selection(STATES, 'State', readonly=True, select=True)
     validation = fields.Function(fields.Char('Validation'),
         'on_change_with_validation')
@@ -124,6 +146,9 @@ class Statement(Workflow, ModelSQL, ModelView):
                     'draft statements.'),
                 'debit_credit_account_statement_journal': ('Please provide '
                     'debit and credit account on statement journal "%s".'),
+                'post_with_pending_amount': ('Origin line "%(origin)s" '
+                    'of statement "%(statement)s" still has a pending amount '
+                    'of "%(amount)s".'),
                 })
         cls._transitions |= set((
                 ('draft', 'validated'),
@@ -327,7 +352,10 @@ class Statement(Workflow, ModelSQL, ModelView):
 
     @property
     def grouped_lines(self):
-        if self.lines:
+        if self.origins:
+            for origin in self.origins:
+                yield origin
+        elif self.lines:
             Line = self._get_grouped_line()
             for key, lines in groupby(self.lines, key=self._group_key):
                 yield Line(**dict(key + (('lines', list(lines)),)))
@@ -518,6 +546,14 @@ class Statement(Workflow, ModelSQL, ModelView):
     @Workflow.transition('posted')
     def post(cls, statements):
         StatementLine = Pool().get('account.statement.line')
+        for statement in statements:
+            for origin in statement.origins:
+                if origin.pending_amount:
+                    cls.raise_user_error('post_with_pending_amount', {
+                            'origin': origin.rec_name,
+                            'amount': origin.pending_amount,
+                            'statement': statement.rec_name,
+                            })
 
         lines = [l for s in statements for l in s.lines]
         StatementLine.post_move(lines)
@@ -532,53 +568,109 @@ class Statement(Workflow, ModelSQL, ModelView):
         StatementLine.delete_move(lines)
 
 
-class Line(sequence_ordered(), ModelSQL, ModelView):
+def origin_mixin(_states, _depends):
+    class Mixin:
+        statement = fields.Many2One(
+            'account.statement', "Statement",
+            required=True, ondelete='CASCADE', states=_states,
+            depends=_depends)
+        statement_state = fields.Function(
+            fields.Selection('get_statement_states', "Statement State"),
+            'on_change_with_statement_state')
+        company = fields.Function(
+            fields.Many2One('company.company', "Company"),
+            'on_change_with_company', searcher='search_company')
+        number = fields.Char("Number")
+        date = fields.Date(
+            "Date", required=True, states=_states, depends=_depends)
+        amount = fields.Numeric(
+            "Amount", required=True,
+            digits=(16, Eval('_parent_statement', {})
+                .get('currency_digits', 2)),
+            states=_states, depends=_depends)
+        party = fields.Many2One(
+            'party.party', "Party", states=_states, depends=_depends)
+        account = fields.Many2One(
+            'account.account', "Account",
+            domain=[
+                ('company', '=', Eval('company', 0)),
+                ('kind', '!=', 'view'),
+                ],
+            states=_states, depends=_depends + ['company'])
+        description = fields.Char(
+            "Description", states=_states, depends=_depends)
+
+        @classmethod
+        def get_statement_states(cls):
+            pool = Pool()
+            Statement = pool.get('account.statement')
+            return Statement.fields_get(['state'])['state']['selection']
+
+        @fields.depends('statement', '_parent_statement.state')
+        def on_change_with_statement_state(self, name=None):
+            if self.statement:
+                return self.statement.state
+
+        @fields.depends('statement', '_parent_statement.company')
+        def on_change_with_company(self, name=None):
+            if self.statement and self.statement.company:
+                return self.statement.company.id
+
+        @classmethod
+        def search_company(cls, name, clause):
+            return [('statement.' + clause[0],) + tuple(clause[1:])]
+
+    return Mixin
+
+
+_states = {
+    'readonly': Eval('statement_state') != 'draft',
+    }
+_depends = ['statement_state']
+
+
+class Line(
+        origin_mixin(_states, _depends), sequence_ordered(),
+        ModelSQL, ModelView):
     'Account Statement Line'
     __name__ = 'account.statement.line'
-    _states = {
-        'readonly': Eval('statement_state') != 'draft',
-        }
-    _depends = ['statement_state']
-
-    statement = fields.Many2One('account.statement', 'Statement',
-        required=True, ondelete='CASCADE', states=_states, depends=_depends)
-    statement_state = fields.Function(
-        fields.Selection(STATES, 'Statement State'),
-        'on_change_with_statement_state')
-    number = fields.Char('Number')
-    date = fields.Date('Date', required=True, states=_states, depends=_depends)
-    amount = fields.Numeric('Amount', required=True,
-        digits=(16, Eval('_parent_statement', {}).get('currency_digits', 2)),
-        states=_states, depends=_depends)
-    party = fields.Many2One('party.party', 'Party',
-        states=_states, depends=_depends)
-    account = fields.Many2One('account.account', 'Account', required=True,
-        domain=[
-            ('company', '=', Eval('_parent_statement', {}).get('company', 0)),
-            ('kind', '!=', 'view'),
-            ],
-        states=_states, depends=_depends)
-    description = fields.Char('Description', states=_states, depends=_depends)
+
     move = fields.Many2One('account.move', 'Account Move', readonly=True,
         domain=[
-            ('company', '=', Eval('_parent_statement', {}).get('company', -1)),
-            ])
+            ('company', '=', Eval('company', -1)),
+            ],
+        depends=['company'])
     invoice = fields.Many2One('account.invoice', 'Invoice',
         domain=[
             If(Bool(Eval('party')), [('party', '=', Eval('party'))], []),
             If(Bool(Eval('account')), [('account', '=', Eval('account'))], []),
-            If(Eval('_parent_statement', {}).get('state') == 'draft',
+            If(Eval('statement_state') == 'draft',
                 ('state', '=', 'posted'),
                 ('state', '!=', '')),
             ],
         states=_states,
         depends=['party', 'account'] + _depends)
-
-    del _states, _depends
+    origin = fields.Many2One('account.statement.origin', 'Origin',
+        readonly=True,
+        states={
+            'invisible': ~Bool(Eval('origin')),
+            },
+        domain=[
+            ('statement', '=', Eval('statement')),
+            ('date', '=', Eval('date')),
+            ],
+        depends=['statement', 'date'])
 
     @classmethod
     def __setup__(cls):
         super(Line, cls).__setup__()
+        if 'origin' not in cls.date.depends:
+            cls.date.states.update({
+                    'readonly': (cls.date.states['readonly'] |
+                        Bool(Eval('origin', 0))),
+                    })
+            cls.date.depends.append('origin')
+        cls.account.required = True
         cls._error_messages.update({
                 'amount_greater_invoice_amount_to_pay': ('Amount "%s" is '
                     'greater than the amount to pay of invoice.'),
@@ -589,11 +681,6 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
                 'Amount should be a positive or negative value.'),
             ]
 
-    @fields.depends('statement', '_parent_statement.state')
-    def on_change_with_statement_state(self, name=None):
-        if self.statement:
-            return self.statement.state
-
     @staticmethod
     def default_amount():
         return Decimal(0)
@@ -603,9 +690,9 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
         if self.party:
             if self.amount:
                 if self.amount > Decimal("0.0"):
-                    self.account = self.party.account_receivable
+                    self.account = self.party.account_receivable_used
                 else:
-                    self.account = self.party.account_payable
+                    self.account = self.party.account_payable_used
 
         if self.invoice:
             if self.party:
@@ -614,20 +701,21 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
             else:
                 self.invoice = None
 
-    @fields.depends('amount', 'party', 'account', 'invoice',
+    @fields.depends('amount', 'party', 'account', 'invoice', 'statement',
         '_parent_statement.journal')
     def on_change_amount(self):
         Currency = Pool().get('currency.currency')
         if self.party:
             if self.account and self.account not in (
-                    self.party.account_receivable, self.party.account_payable):
+                    self.party.account_receivable_used,
+                    self.party.account_payable_used):
                 # The user has entered a non-default value, we keep it.
                 pass
             elif self.amount:
                 if self.amount > Decimal("0.0"):
-                    self.account = self.party.account_receivable
+                    self.account = self.party.account_receivable_used
                 else:
-                    self.account = self.party.account_payable
+                    self.account = self.party.account_payable_used
         if self.invoice:
             if self.amount and self.statement and self.statement.journal:
                 invoice = self.invoice
@@ -657,6 +745,45 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
             if not self.account:
                 self.account = self.invoice.account
 
+    @fields.depends('origin',
+        '_parent_origin.pending_amount', '_parent_origin.date',
+        '_parent_origin.party', '_parent_origin.account',
+        '_parent_origin.number', '_parent_origin.description',
+        '_parent_origin.statement',
+        methods=['party'])
+    def on_change_origin(self):
+        if self.origin:
+            self.amount = self.origin.pending_amount
+            self.date = self.origin.date
+            self.party = self.origin.party
+            self.number = self.origin.number
+            self.description = self.origin.description
+            self.statement = self.origin.statement
+            if self.origin.account:
+                self.account = self.origin.account
+            else:
+                self.on_change_party()
+
+    @fields.depends('origin', '_parent_origin.company')
+    def on_change_with_company(self, name=None):
+        try:
+            company = super(Line, self).on_change_with_company()
+        except AttributeError:
+            company = None
+        if self.origin and self.origin.company:
+            return self.origin.company.id
+        return company
+
+    @fields.depends('origin', '_parent_origin.state')
+    def on_change_with_statement_state(self, name=None):
+        try:
+            state = super(Line, self).on_change_with_statement_state()
+        except AttributeError:
+            state = None
+        if self.origin:
+            return self.origin.statement_state
+        return state
+
     def get_rec_name(self, name):
         return self.statement.rec_name
 
@@ -719,7 +846,14 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
 
     @classmethod
     def delete_move(cls, lines):
-        Move = Pool().get('account.move')
+        pool = Pool()
+        Move = pool.get('account.move')
+        Reconciliation = pool.get('account.move.reconciliation')
+
+        reconciliations = [l.reconciliation
+            for line in lines for l in line.move.lines
+            if line.move and l.reconciliation]
+        Reconciliation.delete(reconciliations)
         Move.delete(list({l.move for l in lines if l.move}))
 
     def get_move_line(self):
@@ -750,6 +884,8 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
             amount_second_currency=amount_second_currency,
             )
 
+del _states, _depends
+
 
 class LineGroup(ModelSQL, ModelView):
     'Account Statement Line Group'
@@ -815,7 +951,7 @@ class LineGroup(ModelSQL, ModelView):
 
     @classmethod
     def search_journal(cls, name, clause):
-        return [('statement.journal',) + tuple(clause[1:])]
+        return [('statement.' + clause[0],) + tuple(clause[1:])]
 
     def get_currency(self, name):
         return self.statement.journal.currency.id
@@ -824,5 +960,113 @@ class LineGroup(ModelSQL, ModelView):
         return self.statement.journal.currency.digits
 
 
+_states = {
+    'readonly': (Eval('statement_state') != 'draft') | Eval('lines', []),
+    }
+_depends = ['statement_state']
+
+
+class Origin(origin_mixin(_states, _depends), ModelSQL, ModelView):
+    "Account Statement Origin"
+    __name__ = 'account.statement.origin'
+    _rec_name = 'number'
+
+    lines = fields.One2Many(
+        'account.statement.line', 'origin', "Lines",
+        states={
+            'readonly': ((Eval('statement_id', -1) < 0) |
+                ~Eval('statement_state').in_(['draft', 'validated'])),
+            },
+        domain=[
+            ('statement', '=', Eval('statement')),
+            ('date', '=', Eval('date')),
+            ],
+        depends=['statement', 'date', 'statement_id'])
+    statement_id = fields.Function(
+        fields.Integer("Statement ID"), 'on_change_with_statement_id')
+    pending_amount = fields.Function(
+        fields.Numeric("Pending Amount",
+            digits=(16, Eval('_parent_statement', {})
+                .get('currency_digits', 2))),
+        'on_change_with_pending_amount', searcher='search_pending_amount')
+    informations = fields.Dict(
+        'account.statement.origin.information', "Informations", readonly=True)
+
+    @fields.depends('statement')
+    def on_change_with_statement_id(self, name=None):
+        if self.statement:
+            return self.statement.id
+        return -1
+
+    @fields.depends('lines', 'amount')
+    def on_change_with_pending_amount(self, name=None):
+        lines_amount = sum(
+            getattr(l, 'amount') or Decimal(0) for l in self.lines)
+        return (self.amount or Decimal(0)) - lines_amount
+
+    @classmethod
+    def search_pending_amount(cls, name, clause):
+        pool = Pool()
+        Line = pool.get('account.statement.line')
+        table = cls.__table__()
+        line = Line.__table__()
+
+        _, operator, value = clause
+        Operator = fields.SQL_OPERATORS[operator]
+
+        query = (table.join(line, 'LEFT', condition=line.origin == table.id)
+            .select(table.id,
+                having=Operator(
+                    table.amount - Coalesce(Sum(line.amount), 0), value),
+                group_by=table.id))
+        return [('id', 'in', query)]
+del _states, _depends
+
+
+class OriginInformation(DictSchemaMixin, ModelSQL, ModelView):
+    "Statement Origin Information"
+    __name__ = 'account.statement.origin.information'
+
+
+class ImportStatementStart(ModelView):
+    "Statement Import Start"
+    __name__ = 'account.statement.import.start'
+    company = fields.Many2One('company.company', "Company", required=True)
+    file_ = fields.Binary("File", required=True)
+    file_format = fields.Selection([(None, '')], 'File Format', required=True)
+
+    @classmethod
+    def default_file_format(cls):
+        return None
+
+    @classmethod
+    def default_company(cls):
+        return Transaction().context.get('company')
+
+
+class ImportStatement(Wizard):
+    "Statement Import"
+    __name__ = 'account.statement.import'
+    start = StateView('account.statement.import.start',
+        'account_statement.statement_import_start_view_form', [
+            Button("Cancel", 'end', 'tryton-cancel'),
+            Button("Import", 'import_', 'tryton-ok', default=True),
+            ])
+    import_ = StateAction('account_statement.act_statement_form')
+
+    def do_import_(self, action):
+        pool = Pool()
+        Statement = pool.get('account.statement')
+        statements = list(getattr(self, 'parse_%s' % self.start.file_format)())
+        for statement in statements:
+            statement.origin_file = fields.Binary.cast(self.start.file_)
+        Statement.save(statements)
+
+        data = {'res_id': map(int, statements)}
+        if len(statements) == 1:
+            action['views'].reverse()
+        return action, data
+
+
 class StatementReport(CompanyReport):
     __name__ = 'account.statement'
diff --git a/statement.xml b/statement.xml
index f99ae2d..3b4e502 100644
--- a/statement.xml
+++ b/statement.xml
@@ -92,7 +92,7 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">Statement</field>
             <field name="model">account.statement</field>
             <field name="report_name">account.statement</field>
-            <field name="report">account_statement/statement.odt</field>
+            <field name="report">account_statement/statement.fodt</field>
         </record>
         <record model="ir.action.keyword" id="report_statement_keyword">
             <field name="keyword">form_print</field>
@@ -339,6 +339,132 @@ this repository contains the full copyright notices and license terms. -->
             <field name="perm_create" eval="True"/>
             <field name="perm_delete" eval="True"/>
         </record>
+        <record model="ir.ui.view" id="statement_origin_view_form">
+            <field name="model">account.statement.origin</field>
+            <field name="type">form</field>
+            <field name="name">statement_origin_form</field>
+        </record>
+        <record model="ir.ui.view" id="statement_origin_view_tree">
+            <field name="model">account.statement.origin</field>
+            <field name="type">tree</field>
+            <field name="name">statement_origin_tree</field>
+        </record>
+
+        <record model="ir.action.act_window"
+            id="act_statement_origin_form_statement">
+            <field name="name">Origins</field>
+            <field name="res_model">account.statement.origin</field>
+            <field name="domain"
+                eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('statement', '=', Eval('active_id', -1)), ('statement', 'in', Eval('active_ids', [])))]"
+                pyson="1"/>
+            <field name="search_value"
+                eval="[('pending_amount', '!=', 0)]"
+                pyson="1"/>
+        </record>
+        <record model="ir.action.act_window.view"
+            id="act_statement_origin_form_statement_view1">
+            <field name="sequence" eval="10"/>
+            <field name="view" ref="statement_origin_view_tree"/>
+            <field name="act_window" ref="act_statement_origin_form_statement"/>
+        </record>
+        <record model="ir.action.act_window.view"
+            id="act_statement_origin_form_statement_view2">
+            <field name="sequence" eval="20"/>
+            <field name="view" ref="statement_origin_view_form"/>
+            <field name="act_window" ref="act_statement_origin_form_statement"/>
+        </record>
+        <record model="ir.action.keyword"
+            id="act_statement_origin_form_statement_keyword1">
+            <field name="keyword">form_relate</field>
+            <field name="model">account.statement,-1</field>
+            <field name="action" ref="act_statement_origin_form_statement"/>
+        </record>
+
+        <record model="ir.rule.group" id="rule_group_statement_origin">
+            <field name="model"
+                search="[('model', '=', 'account.statement.origin')]"/>
+            <field name="global_p" eval="True"/>
+        </record>
+        <record model="ir.rule" id="rule_statement_origin1">
+            <field name="domain"
+                eval="[('statement.company', '=', Eval('user', {}).get('company', None))]"
+                pyson="1"/>
+            <field name="rule_group" ref="rule_group_statement_origin"/>
+        </record>
+        <record model="ir.model.access" id="access_statement_origin">
+            <field name="model"
+                search="[('model', '=', 'account.statement.origin')]"/>
+            <field name="perm_read" eval="False"/>
+            <field name="perm_write" eval="False"/>
+            <field name="perm_create" eval="False"/>
+            <field name="perm_delete" eval="False"/>
+        </record>
+        <record model="ir.model.access"
+            id="access_statement_origin_account_admin">
+            <field name="model"
+                search="[('model', '=', 'account.statement.origin')]"/>
+            <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.model.access" id="access_statement_origin_account">
+            <field name="model"
+                search="[('model', '=', 'account.statement.origin')]"/>
+            <field name="group" ref="account.group_account"/>
+            <field name="perm_read" eval="True"/>
+            <field name="perm_write" eval="True"/>
+            <field name="perm_create" eval="True"/>
+            <field name="perm_delete" eval="True"/>
+        </record>
+        <record model="ir.model.access" id="access_statement_origin_statement">
+            <field name="model"
+                search="[('model', '=', 'account.statement.origin')]"/>
+            <field name="group" ref="group_statement"/>
+            <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.model.access" id="access_statement_origin_information">
+            <field name="model"
+                search="[('model', '=', 'account.statement.origin.information')]"/>
+            <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.ui.view" id="statement_import_start_view_form">
+            <field name="model">account.statement.import.start</field>
+            <field name="type">form</field>
+            <field name="name">statement_import_start_form</field>
+        </record>
+
+        <record model="ir.action.wizard" id="wizard_statement_import">
+            <field name="name">Import Statement</field>
+            <field name="wiz_name">account.statement.import</field>
+        </record>
+        <menuitem parent="menu_statements" sequence="20"
+            action="wizard_statement_import" id="menu_statement_import"/>
+
+        <record model="ir.action-res.group"
+            id="statement_import-group_account_admin">
+            <field name="action" ref="wizard_statement_import"/>
+            <field name="group" ref="account.group_account_admin"/>
+        </record>
+        <record model="ir.action-res.group"
+            id="statement_import-group_account">
+            <field name="action" ref="wizard_statement_import"/>
+            <field name="group" ref="account.group_account"/>
+        </record>
+        <record model="ir.action-res.group"
+            id="statement_import-group_statement">
+            <field name="action" ref="wizard_statement_import"/>
+            <field name="group" ref="group_statement"/>
+        </record>
 
         <record model="ir.action.act_window" id="act_move_lines_form">
             <field name="name">Move Lines</field>
diff --git a/tests/scenario_account_statement.rst b/tests/scenario_account_statement.rst
index f26e2a5..9cbc96b 100644
--- a/tests/scenario_account_statement.rst
+++ b/tests/scenario_account_statement.rst
@@ -210,6 +210,26 @@ Validate statement::
     >>> statement.state
     u'validated'
 
+Cancel statement::
+
+    >>> statement.click('cancel')
+    >>> statement.state
+    u'cancel'
+    >>> filter(None, [l.move for l in statement.lines])
+    []
+
+Reset to draft, validate and post statement::
+
+    >>> statement.click('draft')
+    >>> statement.state
+    u'draft'
+    >>> statement.click('validate_statement')
+    >>> statement.state
+    u'validated'
+    >>> statement.click('post')
+    >>> statement.state
+    u'posted'
+
 Test posted moves::
 
     >>> statement_line = statement.lines[0]
diff --git a/tests/scenario_statement_origin.rst b/tests/scenario_statement_origin.rst
new file mode 100644
index 0000000..e923953
--- /dev/null
+++ b/tests/scenario_statement_origin.rst
@@ -0,0 +1,110 @@
+=================================
+Account Statement Origin Scenario
+=================================
+
+Imports::
+
+    >>> import datetime
+    >>> from decimal import Decimal
+    >>> from proteus import Model, Wizard
+    >>> from trytond.tests.tools import activate_modules
+    >>> from trytond.modules.company.tests.tools import create_company, \
+    ...     get_company
+    >>> from trytond.modules.account.tests.tools import create_fiscalyear, \
+    ...     create_chart, get_accounts
+    >>> from trytond.modules.account_invoice.tests.tools import \
+    ...     set_fiscalyear_invoice_sequences
+    >>> today = datetime.date.today()
+
+Install account_statement::
+
+    >>> config = activate_modules('account_statement')
+
+Create company::
+
+    >>> _ = create_company()
+    >>> company = get_company()
+
+Create fiscal year::
+
+    >>> fiscalyear = set_fiscalyear_invoice_sequences(
+    ...     create_fiscalyear(company))
+    >>> fiscalyear.click('create_period')
+
+Create chart of accounts::
+
+    >>> _ = create_chart(company)
+    >>> accounts = get_accounts(company)
+    >>> receivable = accounts['receivable']
+    >>> expense = accounts['expense']
+    >>> cash = accounts['cash']
+
+Create parties::
+
+    >>> Party = Model.get('party.party')
+    >>> customer = Party(name="Customer")
+    >>> customer.save()
+
+Create Account Journal::
+
+    >>> Sequence = Model.get('ir.sequence')
+    >>> AccountJournal = Model.get('account.journal')
+
+    >>> sequence = Sequence(name="Satement",
+    ...     code='account.journal',
+    ...     company=company,
+    ...     )
+    >>> sequence.save()
+    >>> account_journal = AccountJournal(name="Statement",
+    ...     type='statement',
+    ...     credit_account=cash,
+    ...     debit_account=cash,
+    ...     sequence=sequence,
+    ...     )
+    >>> account_journal.save()
+
+Create a statement with origins::
+
+    >>> StatementJournal = Model.get('account.statement.journal')
+    >>> Statement = Model.get('account.statement')
+    >>> journal_number = StatementJournal(name="Number",
+    ...     journal=account_journal,
+    ...     validation='number_of_lines',
+    ...     )
+    >>> journal_number.save()
+
+    >>> statement = Statement(name="number origins")
+    >>> statement.journal = journal_number
+    >>> statement.number_of_lines = 1
+    >>> origin = statement.origins.new()
+    >>> origin.date = today
+    >>> origin.amount = Decimal('50.00')
+    >>> origin.party = customer
+    >>> statement.click('validate_statement')
+
+Statement can not be posted until all origins are finished::
+
+    >>> statement.click('post')  # doctest: +IGNORE_EXCEPTION_DETAIL
+    Traceback (most recent call last):
+        ...
+    UserError: ...
+    >>> statement.click('draft')
+    >>> origin, = statement.origins
+    >>> line = origin.lines.new()
+    >>> line.date == today
+    True
+    >>> line.amount
+    Decimal('50.00')
+    >>> line.party == customer
+    True
+    >>> line.account == receivable
+    True
+    >>> line.amount = Decimal('52.00')
+    >>> line = origin.lines.new()
+    >>> line.amount
+    Decimal('-2.00')
+    >>> line.account = expense
+    >>> line.description = "Bank Fees"
+    >>> statement.click('post')
+    >>> statement.state
+    u'posted'
diff --git a/tests/test_account_statement.py b/tests/test_account_statement.py
index 151148a..0262a23 100644
--- a/tests/test_account_statement.py
+++ b/tests/test_account_statement.py
@@ -21,4 +21,8 @@ def suite():
             tearDown=doctest_teardown, encoding='utf-8',
             checker=doctest_checker,
             optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
+    suite.addTests(doctest.DocFileSuite('scenario_statement_origin.rst',
+            tearDown=doctest_teardown, encoding='utf-8',
+            checker=doctest_checker,
+            optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
     return suite
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..527d859
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,18 @@
+[tox]
+envlist = {py27,py34,py35,py36}-{sqlite,postgresql,mysql},pypy-{sqlite,postgresql}
+
+[testenv]
+commands = {envpython} setup.py test
+deps =
+    {py27,py34,py35,py36}-postgresql: psycopg2 >= 2.5
+    pypy-postgresql: psycopg2cffi >= 2.5
+    mysql: MySQL-python
+    sqlite: sqlitebck
+setenv =
+    sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://}
+    postgresql: TRYTOND_DATABASE_URI={env:POSTGRESQL_URI:postgresql://}
+    mysql: TRYTOND_DATABASE_URI={env:MYSQL_URI:mysql://}
+    sqlite: DB_NAME={env:SQLITE_NAME::memory:}
+    postgresql: DB_NAME={env:POSTGRESQL_NAME:test}
+    mysql: DB_NAME={env:MYSQL_NAME:test}
+install_command = pip install --pre --find-links https://trydevpi.tryton.org/ {opts} {packages}
diff --git a/tryton.cfg b/tryton.cfg
index 3191d3c..4b7d98e 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,8 +1,9 @@
 [tryton]
-version=4.4.1
+version=4.6.0
 depends:
     account
     account_invoice
+    bank
     company
     currency
     party
diff --git a/trytond_account_statement.egg-info/PKG-INFO b/trytond_account_statement.egg-info/PKG-INFO
index 087306b..0dea63f 100644
--- a/trytond_account_statement.egg-info/PKG-INFO
+++ b/trytond_account_statement.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-account-statement
-Version: 4.4.1
+Version: 4.6.0
 Summary: Tryton module with account statements
 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.4/
+Download-URL: http://downloads.tryton.org/4.6/
 Description: trytond_account_statement
         =========================
         
@@ -69,9 +69,9 @@ Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Office/Business
diff --git a/trytond_account_statement.egg-info/SOURCES.txt b/trytond_account_statement.egg-info/SOURCES.txt
index 85047e0..94b6580 100644
--- a/trytond_account_statement.egg-info/SOURCES.txt
+++ b/trytond_account_statement.egg-info/SOURCES.txt
@@ -1,20 +1,28 @@
+.drone.yml
+.hgtags
 CHANGELOG
 COPYRIGHT
 INSTALL
 LICENSE
 MANIFEST.in
 README
+__init__.py
+account.py
+journal.py
 journal.xml
+party.py
 setup.py
-statement.odt
+statement.fodt
+statement.py
 statement.xml
+tox.ini
 tryton.cfg
 ./__init__.py
 ./account.py
 ./journal.py
 ./journal.xml
 ./party.py
-./statement.odt
+./statement.fodt
 ./statement.py
 ./statement.xml
 ./tryton.cfg
@@ -38,15 +46,19 @@ tryton.cfg
 ./locale/zh_CN.po
 ./tests/__init__.py
 ./tests/scenario_account_statement.rst
+./tests/scenario_statement_origin.rst
 ./tests/test_account_statement.py
 ./view/line_group_form.xml
 ./view/line_group_list.xml
 ./view/statement_form.xml
+./view/statement_import_start_form.xml
 ./view/statement_journal_form.xml
 ./view/statement_journal_tree.xml
 ./view/statement_line_form.xml
 ./view/statement_line_tree.xml
 ./view/statement_line_tree_editable.xml
+./view/statement_origin_form.xml
+./view/statement_origin_tree.xml
 ./view/statement_tree.xml
 doc/index.rst
 locale/bg.po
@@ -67,7 +79,10 @@ locale/pt_BR.po
 locale/ru.po
 locale/sl.po
 locale/zh_CN.po
+tests/__init__.py
 tests/scenario_account_statement.rst
+tests/scenario_statement_origin.rst
+tests/test_account_statement.py
 trytond_account_statement.egg-info/PKG-INFO
 trytond_account_statement.egg-info/SOURCES.txt
 trytond_account_statement.egg-info/dependency_links.txt
@@ -78,9 +93,12 @@ trytond_account_statement.egg-info/top_level.txt
 view/line_group_form.xml
 view/line_group_list.xml
 view/statement_form.xml
+view/statement_import_start_form.xml
 view/statement_journal_form.xml
 view/statement_journal_tree.xml
 view/statement_line_form.xml
 view/statement_line_tree.xml
 view/statement_line_tree_editable.xml
+view/statement_origin_form.xml
+view/statement_origin_tree.xml
 view/statement_tree.xml
\ No newline at end of file
diff --git a/trytond_account_statement.egg-info/requires.txt b/trytond_account_statement.egg-info/requires.txt
index 09b863d..36c84d2 100644
--- a/trytond_account_statement.egg-info/requires.txt
+++ b/trytond_account_statement.egg-info/requires.txt
@@ -1,7 +1,8 @@
 python-sql >= 0.4
-trytond_account >= 4.4, < 4.5
-trytond_account_invoice >= 4.4, < 4.5
-trytond_company >= 4.4, < 4.5
-trytond_currency >= 4.4, < 4.5
-trytond_party >= 4.4, < 4.5
-trytond >= 4.4, < 4.5
+trytond_account >= 4.6, < 4.7
+trytond_account_invoice >= 4.6, < 4.7
+trytond_bank >= 4.6, < 4.7
+trytond_company >= 4.6, < 4.7
+trytond_currency >= 4.6, < 4.7
+trytond_party >= 4.6, < 4.7
+trytond >= 4.6, < 4.7
diff --git a/view/statement_form.xml b/view/statement_form.xml
index 72b3791..a90db4c 100644
--- a/view/statement_form.xml
+++ b/view/statement_form.xml
@@ -36,6 +36,11 @@ this repository contains the full copyright notices and license terms. -->
                 </group>
             </group>
         </page>
+        <page name="origins">
+            <field name="origins" colspan="4"/>
+            <label name="origin_file"/>
+            <field name="origin_file"/>
+        </page>
         <page string="Other Info" id="info">
             <label name="company"/>
             <field name="company"/>
diff --git a/view/statement_import_start_form.xml b/view/statement_import_start_form.xml
new file mode 100644
index 0000000..060b8ab
--- /dev/null
+++ b/view/statement_import_start_form.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!-- The COPYRIGHT file at the top level of this repository contains the full
+copyright notices and license terms. -->
+<form cursor="file_">
+    <label name="company"/>
+    <field name="company"/>
+    <newline/>
+    <label name="file_"/>
+    <field name="file_"/>
+    <label name="file_format"/>
+    <field name="file_format"/>
+</form>
diff --git a/view/statement_journal_form.xml b/view/statement_journal_form.xml
index a52cfa7..08cee57 100644
--- a/view/statement_journal_form.xml
+++ b/view/statement_journal_form.xml
@@ -10,6 +10,9 @@ this repository contains the full copyright notices and license terms. -->
     <field name="currency"/>
     <label name="company"/>
     <field name="company"/>
+    <label name="bank_account"/>
+    <field name="bank_account"/>
+    <newline/>
     <label name="validation"/>
     <field name="validation"/>
 </form>
diff --git a/view/statement_journal_tree.xml b/view/statement_journal_tree.xml
index 20c0141..44e1b7f 100644
--- a/view/statement_journal_tree.xml
+++ b/view/statement_journal_tree.xml
@@ -6,4 +6,5 @@ this repository contains the full copyright notices and license terms. -->
     <field name="journal"/>
     <field name="currency"/>
     <field name="company"/>
+    <field name="bank_account"/>
 </tree>
diff --git a/view/statement_line_form.xml b/view/statement_line_form.xml
index 88ddb09..e5ad083 100644
--- a/view/statement_line_form.xml
+++ b/view/statement_line_form.xml
@@ -23,4 +23,6 @@ this repository contains the full copyright notices and license terms. -->
     <field name="description" colspan="3"/>
     <label name="move"/>
     <field name="move"/>
+    <label name="origin"/>
+    <field name="origin"/>
 </form>
diff --git a/view/statement_line_form.xml b/view/statement_origin_form.xml
similarity index 70%
copy from view/statement_line_form.xml
copy to view/statement_origin_form.xml
index 88ddb09..9477981 100644
--- a/view/statement_line_form.xml
+++ b/view/statement_origin_form.xml
@@ -3,24 +3,23 @@
 this repository contains the full copyright notices and license terms. -->
 <form>
     <label name="statement"/>
-    <field name="statement" colspan="3"/>
+    <field name="statement"/>
+    <label name="company"/>
+    <field name="company"/>
     <label name="number"/>
     <field name="number"/>
-    <label name="sequence"/>
-    <field name="sequence"/>
     <label name="date"/>
     <field name="date"/>
     <label name="amount"/>
     <field name="amount"/>
+    <label name="pending_amount"/>
+    <field name="pending_amount"/>
     <label name="party"/>
     <field name="party"/>
     <label name="account"/>
     <field name="account"/>
-    <label name="invoice"/>
-    <field name="invoice"/>
-    <newline/>
     <label name="description"/>
     <field name="description" colspan="3"/>
-    <label name="move"/>
-    <field name="move"/>
+    <field name="informations" colspan="4"/>
+    <field name="lines" colspan="4"/>
 </form>
diff --git a/view/statement_origin_tree.xml b/view/statement_origin_tree.xml
new file mode 100644
index 0000000..d7c433d
--- /dev/null
+++ b/view/statement_origin_tree.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tree>
+    <field name="statement"/>
+    <field name="number"/>
+    <field name="date"/>
+    <field name="amount" sum="Amount"/>
+    <field name="pending_amount"/>
+    <field name="party"/>
+    <field name="account"/>
+    <field name="description"/>
+</tree>
-- 
tryton-modules-account-statement



More information about the tryton-debian-vcs mailing list