[tryton-debian-vcs] tryton-modules-account-statement branch upstream updated. upstream/3.2.0-1-g330ac50
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Thu Oct 23 12:14:13 UTC 2014
The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-account-statement.git;a=commitdiff;h=upstream/3.2.0-1-g330ac50
commit 330ac509d861e0de4f2d2c86d6104f96d39d56a3
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Oct 21 11:29:07 2014 +0200
Adding upstream version 3.4.0.
Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>
diff --git a/CHANGELOG b/CHANGELOG
index 7c13179..2448d8f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,11 @@
+Version 3.4.0 - 2014-10-20
+* Bug fixes (see mercurial logs for details)
+* Add different validation type on journal
+* Add explicit name on statement
+* Add report to statement
+* Add number and sequence on statement line
+* Switch journal debit/credit account usage
+
Version 3.2.0 - 2014-04-21
* Bug fixes (see mercurial logs for details)
* Append new line under the original one
diff --git a/MANIFEST.in b/MANIFEST.in
index 5abcf8d..b3463bd 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -6,5 +6,7 @@ include LICENSE
include tryton.cfg
include *.xml
include view/*.xml
+include *.odt
include locale/*.po
include tests/*.rst
+include doc/*.rst
diff --git a/PKG-INFO b/PKG-INFO
index 10e9944..4fb4dc4 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond_account_statement
-Version: 3.2.0
+Version: 3.4.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/3.2/
+Download-URL: http://downloads.tryton.org/3.4/
Description: trytond_account_statement
=========================
diff --git a/__init__.py b/__init__.py
index ec6972d..246d390 100644
--- a/__init__.py
+++ b/__init__.py
@@ -14,3 +14,6 @@ def register():
Line,
Move,
module='account_statement', type_='model')
+ Pool.register(
+ StatementReport,
+ module='account_statement', type_='report')
diff --git a/doc/index.rst b/doc/index.rst
new file mode 100644
index 0000000..00fa451
--- /dev/null
+++ b/doc/index.rst
@@ -0,0 +1,69 @@
+Account Statement Module
+########################
+
+The account_statement module allows to book statements. Statement can be used
+for bank statement, cash daybook etc.
+
+Statement
+*********
+
+A statement groups many lines under a journal for a date. It is mainly defined
+by:
+
+- Name.
+- Journal.
+- Date.
+
+The statement can be in one of this states:
+
+* Draft
+
+ The statement is waiting for validation
+
+* Validated
+
+ The statement is validated and is waiting to be posted. The moves for each
+ line are already created in draft state.
+
+* Posted
+
+ The statement is posted which means all the moves have been posted.
+
+* Canceled
+
+ The statement is canceled which means all the moves previously created have
+ been deleted.
+
+Line
+****
+
+A Statement Line is mainly defined by:
+
+- Date.
+- Amount.
+- Party.
+- Account.
+- Invoice.
+- Description.
+
+Journal
+*******
+
+A Statement Journal is mainly defined by:
+
+- Name.
+- Journal (from account).
+- Currency.
+- Validation Type:
+ - Balance
+ - Amount
+ - Number of Lines
+
+The statements are validated following the validation type of the journal.
+The Balance validation requests to set the start and end balance (the start is
+automaticaly filled with the end balance of the last statement on the same
+journal) and the difference is checked against the total amount of the lines.
+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.
diff --git a/journal.py b/journal.py
index 15a4c2b..10cd2af 100644
--- a/journal.py
+++ b/journal.py
@@ -16,6 +16,11 @@ class Journal(ModelSQL, ModelView):
currency = fields.Many2One('currency.currency', 'Currency', required=True)
company = fields.Many2One('company.company', 'Company', required=True,
select=True)
+ validation = fields.Selection([
+ ('balance', 'Balance'),
+ ('amount', 'Amount'),
+ ('number_of_lines', 'Number of Lines'),
+ ], 'Validation Type', required=True)
@staticmethod
def default_currency():
@@ -27,3 +32,7 @@ class Journal(ModelSQL, ModelView):
@staticmethod
def default_company():
return Transaction().context.get('company')
+
+ @staticmethod
+ def default_validation():
+ return 'balance'
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index 1f60a0b..1e03722 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -25,11 +25,19 @@ msgid "End Balance must be \"%s\"."
msgstr ""
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr ""
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
+msgid "There are paid invoices on draft statements."
+msgstr ""
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
msgstr ""
msgctxt "field:account.statement,balance:"
@@ -68,10 +76,20 @@ msgctxt "field:account.statement,journal:"
msgid "Journal"
msgstr "Дневник"
+#, fuzzy
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
+msgid "Lines"
msgstr "Транзакции"
+#, fuzzy
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Условие за плащане"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr ""
+
msgctxt "field:account.statement,rec_name:"
msgid "Name"
msgstr "Име"
@@ -84,6 +102,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Състояние"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr ""
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr ""
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Променено на"
@@ -124,6 +150,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Име"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr ""
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Променено на"
@@ -168,6 +198,11 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Движение по сметка"
+#, fuzzy
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Номер"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Партньор"
@@ -176,6 +211,11 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Име"
+#, fuzzy
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Последователност"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Отчет"
@@ -217,6 +257,11 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Дневник за отчети"
+#, fuzzy
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Отчет"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr ""
@@ -260,6 +305,79 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Отчет"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr ""
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Сума"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Отказан"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Дата"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Дата:"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Описание"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Проект"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "E-Mail:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr ""
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Номер"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Управление на партньор"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Телефон:"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Отчет"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Общо"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "ДДС номер:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Отказан"
@@ -276,6 +394,20 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Проверен"
+#, fuzzy
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Сума"
+
+#, fuzzy
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Баланс"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr ""
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Дневник за отчети"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index abbbfb1..b9e7def 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -27,12 +27,20 @@ msgid "End Balance must be \"%s\"."
msgstr "El saldo final ha de ser \"%s\"."
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr "El nombre de línies ha de ser \"%s\"."
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr "Heu de cancel·lar l'extracte \"%s\"abans de ser eliminat."
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
-msgstr "Hi ha factures pagades a extractes esborrany, voleu continuar? "
+msgid "There are paid invoices on draft statements."
+msgstr "Hi ha factures pagades en extractes en esborrany."
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
+msgstr "L'import total ha de ser \"%s\"."
msgctxt "field:account.statement,balance:"
msgid "Balance"
@@ -71,8 +79,16 @@ msgid "Journal"
msgstr "Diari"
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
-msgstr "Transaccions"
+msgid "Lines"
+msgstr "Línies"
+
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr "Nombre de línies"
msgctxt "field:account.statement,rec_name:"
msgid "Name"
@@ -86,6 +102,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Estat"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr "Import"
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr "Validació"
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Data modificació"
@@ -126,6 +150,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Nom"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr "Tipus de validació"
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Data modificació"
@@ -170,6 +198,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Assentament comptable"
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Número"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Tercer"
@@ -178,6 +210,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Nom"
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Seqüència"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Extracte"
@@ -218,6 +254,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Diaris d'extracte"
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Extracte"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr "Tot"
@@ -257,6 +297,66 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Extracte"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr "#"
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Import"
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Cancel·lat"
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Data"
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Data:"
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Descripció"
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Esborrany"
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "Correu electrònic:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr "Diari:"
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Número"
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Tercer"
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Telèfon:"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Extracte"
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Total"
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "CIF/NIF:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Cancel·lat"
@@ -273,6 +373,18 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Validat"
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Import"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Saldo"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr "Nombre de línies"
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Diari d'extracte"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index c7f1745..0e36f08 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -25,11 +25,19 @@ msgid "End Balance must be \"%s\"."
msgstr ""
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr ""
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
+msgid "There are paid invoices on draft statements."
+msgstr ""
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
msgstr ""
msgctxt "field:account.statement,balance:"
@@ -69,7 +77,15 @@ msgid "Journal"
msgstr ""
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
+msgid "Lines"
+msgstr ""
+
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
msgstr ""
msgctxt "field:account.statement,rec_name:"
@@ -84,6 +100,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr ""
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr ""
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr ""
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr ""
@@ -124,6 +148,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr ""
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr ""
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr ""
@@ -168,6 +196,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr ""
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr ""
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr ""
@@ -176,6 +208,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr ""
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr ""
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr ""
@@ -216,6 +252,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr ""
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr ""
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr ""
@@ -255,6 +295,66 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr ""
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr ""
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr ""
@@ -271,6 +371,18 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr ""
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr ""
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr ""
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr ""
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 02e92bd..c188f4d 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -28,14 +28,20 @@ msgid "End Balance must be \"%s\"."
msgstr "Endsaldo muss \"%s\" sein."
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr "Anzahl der Zeilen muss \"%s\" sein."
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr "Bankauszug \"%s\" muss annulliert werden, bevor er gelöscht werden kann."
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
-msgstr ""
-"Es existieren bezahlte Rechnungen in Entwürfen von Bankauszügen.\n"
-"Trotzdem fortfahren?"
+msgid "There are paid invoices on draft statements."
+msgstr "Es existieren bezahlte Rechnungen in Zahlungen im Status 'Entwurf'."
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
+msgstr "Gesamtbetrag muss \"%s\" sein."
msgctxt "field:account.statement,balance:"
msgid "Balance"
@@ -74,8 +80,16 @@ msgid "Journal"
msgstr "Journal"
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
-msgstr "Transaktionen"
+msgid "Lines"
+msgstr "Zeilen"
+
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr "Anzahl Zeilen"
msgctxt "field:account.statement,rec_name:"
msgid "Name"
@@ -89,6 +103,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Status"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr "Gesamtbetrag"
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr "Validierung"
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Zuletzt geändert"
@@ -129,6 +151,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Name"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr "Validierungstyp"
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Zuletzt geändert"
@@ -173,6 +199,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Buchungssatz"
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Nummer"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Partei"
@@ -181,6 +211,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Name"
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Reihenfolge"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Bankauszug"
@@ -221,6 +255,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Bankauszugsjournale"
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Zahlung"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr "Alle"
@@ -260,6 +298,66 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Bankauszug"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr "Nr."
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Betrag"
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Annulliert"
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Datum"
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Datum:"
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Beschreibung"
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Entwurf"
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "E-Mail:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr "Journal:"
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Nummer"
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Partei"
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Telefon:"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Zahlung"
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Gesamt"
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "USt-ID-Nr.:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Annulliert"
@@ -276,6 +374,18 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Geprüft"
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Betrag"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Saldo"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr "Anzahl Zeilen"
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Bankauszugsjournal"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 0cca9b9..2bd398e 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -28,12 +28,20 @@ msgid "End Balance must be \"%s\"."
msgstr "El saldo final debe ser «%s»."
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr "Número de Líneas debe ser «%s»."
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr "Debe cancelar el extracto «%s» antes de eliminar."
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
-msgstr "Hay facturas pagadas en extractos en borrador, ¿desea continuar?"
+msgid "There are paid invoices on draft statements."
+msgstr "Hay facturas pagadas sobre los extractos en borrador."
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
+msgstr "Importe Total debe ser «%s»."
msgctxt "field:account.statement,balance:"
msgid "Balance"
@@ -72,9 +80,17 @@ msgid "Journal"
msgstr "Diario"
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
+msgid "Lines"
msgstr "Transacciones"
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr "Número de Líneas"
+
msgctxt "field:account.statement,rec_name:"
msgid "Name"
msgstr "Nombre"
@@ -87,6 +103,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Estado"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr "Importe Total"
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr "Validación"
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Fecha modificación"
@@ -127,6 +151,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Nombre"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr "Tipo de validación"
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Fecha modificación"
@@ -171,6 +199,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Asiento contable"
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Número"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Entidad"
@@ -179,6 +211,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Nombre"
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Secuencia"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Extracto"
@@ -219,6 +255,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Diarios de extracto"
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Extracto"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr "Todo"
@@ -258,6 +298,66 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Extracto"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr "#"
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Importe"
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Cancelado"
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Fecha"
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Fecha:"
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Descripción"
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "Correo electrónico:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr "Diario:"
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Número"
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Entidad"
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Teléfono:"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Extracto"
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Total"
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "CUIT:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Cancelado"
@@ -274,6 +374,18 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Validado"
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Importe"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Saldo"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr "Número de Líneas"
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Diario de extracto"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 0d23d38..60026ad 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -29,13 +29,20 @@ msgid "End Balance must be \"%s\"."
msgstr "El Saldo Final debe ser \"%s!\"."
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr "El número de líneas debe ser \"%s\"."
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr "El estado de cuenta \"%s\" debe ser cancelado antes de ser eliminado."
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
-msgstr ""
-"Hay facturas pagadas en estados de cuenta en borrador, desea continuar?"
+msgid "There are paid invoices on draft statements."
+msgstr "Hay facturas pagadas en estados en borrador."
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
+msgstr "El valor total debe ser \"%s\"."
msgctxt "field:account.statement,balance:"
msgid "Balance"
@@ -74,9 +81,17 @@ msgid "Journal"
msgstr "Libro Contable"
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
+msgid "Lines"
msgstr "Transacciones"
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr "Número de Lineas"
+
msgctxt "field:account.statement,rec_name:"
msgid "Name"
msgstr "Nombre"
@@ -89,6 +104,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Estado"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr "Valor Total"
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr "Validación"
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Fecha de Modificación"
@@ -129,6 +152,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Nombre"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr "Tipo de Validación"
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Fecha de Modificación"
@@ -173,6 +200,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Asiento Contable"
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Número"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Tercero"
@@ -181,6 +212,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Nombre"
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Secuencia"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Estado de Cuenta"
@@ -221,6 +256,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Libros de Estados de Cuenta"
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Estado de Cuenta"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr "Todo"
@@ -260,6 +299,66 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Estado de Cuenta"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr "#"
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Valor"
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Anulado"
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Fecha"
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Fecha:"
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Descripción"
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "Correo electrónico:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr "Libro Contable:"
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Número"
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Terceros"
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Teléfono:"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Estado de Cuenta"
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Total"
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "Número Identificación:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Anulado"
@@ -276,6 +375,18 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Validado"
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Valor"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Saldo"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr "Número de Líneas"
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Libro de Estados de Cuenta"
diff --git a/locale/es_CO.po b/locale/es_EC.po
similarity index 68%
copy from locale/es_CO.po
copy to locale/es_EC.po
index 0d23d38..55e075f 100644
--- a/locale/es_CO.po
+++ b/locale/es_EC.po
@@ -7,43 +7,51 @@ msgid ""
"Account \"%(account)s\" in statement line \"%(line)s\" is the same as the "
"one configured as credit or debit on journal \"%(journal)s\"."
msgstr ""
-"Cuenta \"%(account)s\" en linea de declaración \"%(line)s\" es la misma que "
-"la configurada como crédito o débito en diario \"%(journal)s\"."
+"La cuenta \"%(account)s\" en la línea de estado de cuenta \"%(line)s\" es la"
+" misma que la configurada como crédito o débito en el libro diario "
+"\"%(journal)s\"."
msgctxt "error:account.statement.line:"
msgid "Amount \"%s\" is greater than the amount to pay of invoice."
-msgstr "El valor \"%s\" es mayor que el valor a pagar en la factura."
+msgstr "El valor \"%s\" es mayor que el valor a pagar de la factura."
msgctxt "error:account.statement.line:"
msgid "Amount should be a positive or negative value."
-msgstr "El valor debería ser positivo o negativo!"
+msgstr "El valor debería ser positivo o negativo."
msgctxt "error:account.statement.line:"
msgid "Please provide debit and credit account on statement journal \"%s\"."
msgstr ""
-"Por favor indique las cuentas débito y crédito en el libro de estado de "
-"cuentas \"%s\"."
+"Por favor proporcione una cuenta de débito y de crédito en el libro diario "
+"de estado de cuenta \"%s\"."
msgctxt "error:account.statement:"
msgid "End Balance must be \"%s\"."
-msgstr "El Saldo Final debe ser \"%s!\"."
+msgstr "El Saldo Final debe ser \"%s\"."
+
+msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr "El Número de Líneas debe ser \"%s\"."
msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr "El estado de cuenta \"%s\" debe ser cancelado antes de ser eliminado."
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
-msgstr ""
-"Hay facturas pagadas en estados de cuenta en borrador, desea continuar?"
+msgid "There are paid invoices on draft statements."
+msgstr "Hay facturas pagadas en los estados de cuenta borrador."
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
+msgstr "La Cantidad Total debe ser \"%s\"."
msgctxt "field:account.statement,balance:"
msgid "Balance"
-msgstr "Balance"
+msgstr "Saldo"
msgctxt "field:account.statement,company:"
msgid "Company"
-msgstr "Compañía"
+msgstr "Empresa"
msgctxt "field:account.statement,create_date:"
msgid "Create Date"
@@ -71,24 +79,40 @@ msgstr "ID"
msgctxt "field:account.statement,journal:"
msgid "Journal"
-msgstr "Libro Contable"
+msgstr "Libro Diario"
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
+msgid "Lines"
msgstr "Transacciones"
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr "Número de Líneas"
+
msgctxt "field:account.statement,rec_name:"
msgid "Name"
msgstr "Nombre"
msgctxt "field:account.statement,start_balance:"
msgid "Start Balance"
-msgstr "Balance Inicial"
+msgstr "Saldo Inicial"
msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Estado"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr "Valor Total"
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr "Validación"
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Fecha de Modificación"
@@ -99,7 +123,7 @@ msgstr "Modificado por Usuario"
msgctxt "field:account.statement.journal,company:"
msgid "Company"
-msgstr "Compañía"
+msgstr "Empresa"
msgctxt "field:account.statement.journal,create_date:"
msgid "Create Date"
@@ -119,7 +143,7 @@ msgstr "ID"
msgctxt "field:account.statement.journal,journal:"
msgid "Journal"
-msgstr "Libro Contable"
+msgstr "Libro Diario"
msgctxt "field:account.statement.journal,name:"
msgid "Name"
@@ -129,6 +153,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Nombre"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr "Tipo de Validación"
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Fecha de Modificación"
@@ -173,6 +201,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Asiento Contable"
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Número"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Tercero"
@@ -181,6 +213,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Nombre"
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Secuencia"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Estado de Cuenta"
@@ -195,15 +231,15 @@ msgstr "Modificado por Usuario"
msgctxt "model:account.journal.type,name:journal_type_statement"
msgid "Statement"
-msgstr "Estado de Cuenta"
+msgstr "Extracto"
msgctxt "model:account.statement,name:"
msgid "Account Statement"
-msgstr "Estado de Cuentas"
+msgstr "Estado de Cuenta"
msgctxt "model:account.statement.journal,name:"
msgid "Statement Journal"
-msgstr "Diario de Estados de Cuenta"
+msgstr "Libro Diario de Estados de Cuenta"
msgctxt "model:account.statement.line,name:"
msgid "Account Statement Line"
@@ -219,7 +255,11 @@ msgstr "Estados de Cuenta"
msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
-msgstr "Libros de Estados de Cuenta"
+msgstr "Libros Diarios de Estados de Cuenta"
+
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Estado de Cuenta"
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
@@ -250,7 +290,7 @@ msgstr "Estados de Cuenta"
msgctxt "model:ir.ui.menu,name:menu_statement_journal_form"
msgid "Statement Journals"
-msgstr "Libros de Estados de Cuenta"
+msgstr "Libros Diarios de Estados de Cuenta"
msgctxt "model:ir.ui.menu,name:menu_statements"
msgid "Statements"
@@ -260,9 +300,69 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Estado de Cuenta"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr "#"
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Valor"
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Cancelado"
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Fecha"
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Fecha:"
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Descripción"
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "Correo electrónico:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr "Libro Diario:"
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Número"
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Tercero"
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Teléfono:"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Estado de Cuenta"
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Total"
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "Número de RUC:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
-msgstr "Anulado"
+msgstr "Cancelado"
msgctxt "selection:account.statement,state:"
msgid "Draft"
@@ -276,13 +376,25 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Validado"
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Valor"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Saldo"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr "Número de Líneas"
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
-msgstr "Libro de Estados de Cuenta"
+msgstr "Libro Diario de Estados de Cuenta"
msgctxt "view:account.statement.journal:"
msgid "Statement Journals"
-msgstr "Libros de Estados de Cuenta"
+msgstr "Libros Diarios de Estados de Cuenta"
msgctxt "view:account.statement.line:"
msgid "Amount"
@@ -290,7 +402,7 @@ msgstr "Valor"
msgctxt "view:account.statement.line:"
msgid "Statement Line"
-msgstr "Libros de Estados de Cuenta"
+msgstr "Línea de Estado de Cuenta"
msgctxt "view:account.statement.line:"
msgid "Statement Lines"
@@ -306,7 +418,7 @@ msgstr "Borrador"
msgctxt "view:account.statement:"
msgid "Other Info"
-msgstr "Info Adicional"
+msgstr "Información Adicional"
msgctxt "view:account.statement:"
msgid "Post"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index a6e20a0..9176758 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -28,12 +28,20 @@ msgid "End Balance must be \"%s\"."
msgstr "El saldo final debe ser \"%s\"."
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr "El número de líneas debe ser \"%s\"."
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr "Debe cancelar el extracto \"%s\" antes de borrarlo."
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
-msgstr "Existen facturas pagadas en extractos borrador, quiere continuar?"
+msgid "There are paid invoices on draft statements."
+msgstr "Hay facturas pagadas en extractos en borrador."
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
+msgstr "El importe total debe ser \"%s\"."
msgctxt "field:account.statement,balance:"
msgid "Balance"
@@ -72,8 +80,16 @@ msgid "Journal"
msgstr "Diario"
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
-msgstr "Transacciones"
+msgid "Lines"
+msgstr "Líneas"
+
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr "Número de líneas"
msgctxt "field:account.statement,rec_name:"
msgid "Name"
@@ -87,6 +103,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Estado"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr "Importe"
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr "Validación"
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Fecha modificación"
@@ -127,6 +151,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Nombre"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr "Tipo de validación"
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Fecha modificación"
@@ -171,6 +199,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Asiento contable"
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Número"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Tercero"
@@ -179,6 +211,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Nombre"
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Secuencia"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Extracto"
@@ -219,6 +255,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Diarios de extracto"
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Extracto"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr "Todo"
@@ -258,6 +298,66 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Extracto"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr "#"
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Importe"
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Cancelado"
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Fecha"
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Fecha:"
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Descripción"
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "Correo electrónico:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr "Diario:"
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Número"
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Tercero"
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Teléfono:"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Extracto"
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Total"
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "CIF/NIF:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Cancelado"
@@ -274,6 +374,18 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Validado"
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Importe"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Saldo"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr "Número de líneas"
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Diario de extracto"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 0829d7e..e1216ab 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -7,13 +7,13 @@ msgid ""
"Account \"%(account)s\" in statement line \"%(line)s\" is the same as the "
"one configured as credit or debit on journal \"%(journal)s\"."
msgstr ""
-"Le compte \"%(account)s\" sur la ligne de relevé \"%(line)s\" que celui "
-"configuré comme crédit ou débit sur le journal \"%(journal)s\"."
+"Le compte « %(account)s » sur la ligne de relevé « %(line)s » que celui "
+"configuré comme crédit ou débit sur le journal « %(journal)s »."
msgctxt "error:account.statement.line:"
msgid "Amount \"%s\" is greater than the amount to pay of invoice."
msgstr ""
-"Le montant \"%s\" est plus grand que le montant restant à payer de la "
+"Le montant « %s » est plus grand que le montant restant à payer de la "
"facture."
msgctxt "error:account.statement.line:"
@@ -23,22 +23,28 @@ msgstr "Le montant doit être une valeur positive ou négative."
msgctxt "error:account.statement.line:"
msgid "Please provide debit and credit account on statement journal \"%s\"."
msgstr ""
-"Veuillez remplir les comptes de débit et crédit sur le journal des relevés "
-"\"%s\"."
+"Veuillez remplir les comptes de débit et crédit sur le journal des relevés «"
+" %s »."
msgctxt "error:account.statement:"
msgid "End Balance must be \"%s\"."
-msgstr "La balance de fin doit valoir \"%s\""
+msgstr "La balance de fin doit valoir « %s »."
+
+msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr "Le nombre de lignes doit être « %s »."
msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
-msgstr "Le relevé \"%s\" doit être annulé avant suppression."
+msgstr "Le relevé « %s » doit être annulé avant suppression."
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
-msgstr ""
-"Il y a des factures payées sur des relevés en brouillon, souhaitez-vous "
-"continuer ?"
+msgid "There are paid invoices on draft statements."
+msgstr "Il y a des factures payées sur des relevés brouillons."
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
+msgstr "Le montant total doit être de « %s »."
msgctxt "field:account.statement,balance:"
msgid "Balance"
@@ -77,8 +83,16 @@ msgid "Journal"
msgstr "Journal"
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
-msgstr "Transactions"
+msgid "Lines"
+msgstr "Lignes"
+
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr "Nombre de lignes"
msgctxt "field:account.statement,rec_name:"
msgid "Name"
@@ -92,6 +106,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "État"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr "Montant total"
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr "Validation"
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Date de mise à jour"
@@ -132,6 +154,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Nom"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr "Type de validation"
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Date de mise à jour"
@@ -176,6 +202,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Mouvement comptable"
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Numéro"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Tiers"
@@ -184,6 +214,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Nom"
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Séquence"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Relevé"
@@ -224,6 +258,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Journaux de relevés"
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Relevé"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr "Tous"
@@ -263,6 +301,66 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Relevé"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr ""
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Montant"
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Annulé"
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Date"
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Date :"
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Description"
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Brouillon"
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "E-Mail:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr "Journal :"
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Numéro"
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Tiers"
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Téléphone :"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Relevé"
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Total"
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "Numéro TVA :"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Annulé"
@@ -279,6 +377,18 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Validé"
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Montant"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Balance"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr "Nombre de lignes"
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Journal de relevés"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index d873fdd..2834ecd 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -25,11 +25,19 @@ msgid "End Balance must be \"%s\"."
msgstr ""
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr ""
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
+msgid "There are paid invoices on draft statements."
+msgstr ""
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
msgstr ""
#, fuzzy
@@ -70,10 +78,20 @@ msgctxt "field:account.statement,journal:"
msgid "Journal"
msgstr "Dagboek"
+#, fuzzy
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
+msgid "Lines"
msgstr "Transacties"
+#, fuzzy
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Naam bijlage"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr ""
+
msgctxt "field:account.statement,rec_name:"
msgid "Name"
msgstr "Naam"
@@ -86,6 +104,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Status"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr ""
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr ""
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr ""
@@ -126,6 +152,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Naam"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr ""
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr ""
@@ -170,6 +200,11 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Boeking"
+#, fuzzy
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Nummer"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Relatie"
@@ -178,6 +213,11 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Naam"
+#, fuzzy
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Reeks"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Bankafschrift"
@@ -219,6 +259,11 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Dagboeken bankafschriften"
+#, fuzzy
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Bankafschrift"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr ""
@@ -262,6 +307,79 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Bankafschrift"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr ""
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Bedrag"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Geannuleerd"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Vervaldatum"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Datum:"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Specificatie"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Concept"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "E-mail:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr ""
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Nummer"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Relaties"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Telefoon:"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Bankafschrift"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Totaal"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "BTW-nummer:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Geannuleerd"
@@ -278,6 +396,20 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Goedgekeurd"
+#, fuzzy
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Bedrag"
+
+#, fuzzy
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Balans"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr ""
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Dagboek bankafschriften"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 4def06c..d5396fd 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -25,11 +25,19 @@ msgid "End Balance must be \"%s\"."
msgstr ""
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr ""
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr ""
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
+msgid "There are paid invoices on draft statements."
+msgstr ""
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
msgstr ""
#, fuzzy
@@ -77,8 +85,18 @@ msgctxt "field:account.statement,journal:"
msgid "Journal"
msgstr "Журнал"
+#, fuzzy
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
+msgid "Lines"
+msgstr "Строки"
+
+#, fuzzy
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Правило оплаты"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
msgstr ""
#, fuzzy
@@ -96,6 +114,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Статус"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr ""
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr ""
+
#, fuzzy
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
@@ -146,6 +172,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Наименование"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr ""
+
#, fuzzy
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
@@ -202,6 +232,11 @@ msgid "Account Move"
msgstr "Проводка"
#, fuzzy
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Номер"
+
+#, fuzzy
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Организации"
@@ -211,6 +246,11 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Наименование"
+#, fuzzy
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Последовательность"
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr ""
@@ -253,6 +293,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr ""
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr ""
+
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
@@ -296,6 +340,78 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr ""
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr ""
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Сумма"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Отменено"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Дата"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Дата:"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Описание"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "Черновик"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "Эл.почта:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr ""
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Номер"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Организации"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Телефон:"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr ""
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Итого"
+
+#, fuzzy
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "ИНН:"
+
#, fuzzy
msgctxt "selection:account.statement,state:"
msgid "Canceled"
@@ -316,6 +432,20 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Утвержденный"
+#, fuzzy
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Сумма"
+
+#, fuzzy
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Баланс"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr ""
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr ""
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index 7b85bfd..0038784 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -28,12 +28,20 @@ msgid "End Balance must be \"%s\"."
msgstr "Končni saldo mora biti \"%s\"."
msgctxt "error:account.statement:"
+msgid "Number of Lines must be \"%s\"."
+msgstr "Število postavk mora biti \"%s\"."
+
+msgctxt "error:account.statement:"
msgid "Statement \"%s\" must be cancelled before deletion."
msgstr "Izpisek \"%s\" mora biti pred izbrisom preklican."
msgctxt "error:account.statement:"
-msgid "There are paid invoices on draft statements, do you want to proceed?"
-msgstr "Na pripravljenih izpiskih so plačani računi. Ali želite nadaljevati?"
+msgid "There are paid invoices on draft statements."
+msgstr "Na pripravljenih izpiskih obstajajo plačani računi."
+
+msgctxt "error:account.statement:"
+msgid "Total Amount must be \"%s\"."
+msgstr "Skupni znesek mora biti \"%s\"."
msgctxt "field:account.statement,balance:"
msgid "Balance"
@@ -45,11 +53,11 @@ msgstr "Družba"
msgctxt "field:account.statement,create_date:"
msgid "Create Date"
-msgstr "Ustvarjeno"
+msgstr "Izdelano"
msgctxt "field:account.statement,create_uid:"
msgid "Create User"
-msgstr "Ustvaril"
+msgstr "Izdelal"
msgctxt "field:account.statement,currency_digits:"
msgid "Currency Digits"
@@ -72,8 +80,16 @@ msgid "Journal"
msgstr "Dnevnik"
msgctxt "field:account.statement,lines:"
-msgid "Transactions"
-msgstr "Transakcije"
+msgid "Lines"
+msgstr "Postavke"
+
+msgctxt "field:account.statement,name:"
+msgid "Name"
+msgstr "Plačilni rok"
+
+msgctxt "field:account.statement,number_of_lines:"
+msgid "Number of Lines"
+msgstr "Število postavk"
msgctxt "field:account.statement,rec_name:"
msgid "Name"
@@ -87,6 +103,14 @@ msgctxt "field:account.statement,state:"
msgid "State"
msgstr "Stanje"
+msgctxt "field:account.statement,total_amount:"
+msgid "Total Amount"
+msgstr "Skupni znesek"
+
+msgctxt "field:account.statement,validation:"
+msgid "Validation"
+msgstr "Odobritev"
+
msgctxt "field:account.statement,write_date:"
msgid "Write Date"
msgstr "Zapisano"
@@ -101,11 +125,11 @@ msgstr "Družba"
msgctxt "field:account.statement.journal,create_date:"
msgid "Create Date"
-msgstr "Ustvarjeno"
+msgstr "Izdelano"
msgctxt "field:account.statement.journal,create_uid:"
msgid "Create User"
-msgstr "Ustvaril"
+msgstr "Izdelal"
msgctxt "field:account.statement.journal,currency:"
msgid "Currency"
@@ -127,6 +151,10 @@ msgctxt "field:account.statement.journal,rec_name:"
msgid "Name"
msgstr "Ime"
+msgctxt "field:account.statement.journal,validation:"
+msgid "Validation Type"
+msgstr "Vrsta odobritve"
+
msgctxt "field:account.statement.journal,write_date:"
msgid "Write Date"
msgstr "Zapisano"
@@ -145,11 +173,11 @@ msgstr "Znesek"
msgctxt "field:account.statement.line,create_date:"
msgid "Create Date"
-msgstr "Ustvarjeno"
+msgstr "Izdelano"
msgctxt "field:account.statement.line,create_uid:"
msgid "Create User"
-msgstr "Ustvaril"
+msgstr "Izdelal"
msgctxt "field:account.statement.line,date:"
msgid "Date"
@@ -171,6 +199,10 @@ msgctxt "field:account.statement.line,move:"
msgid "Account Move"
msgstr "Knjižba"
+msgctxt "field:account.statement.line,number:"
+msgid "Number"
+msgstr "Številka"
+
msgctxt "field:account.statement.line,party:"
msgid "Party"
msgstr "Partner"
@@ -179,6 +211,10 @@ msgctxt "field:account.statement.line,rec_name:"
msgid "Name"
msgstr "Ime"
+msgctxt "field:account.statement.line,sequence:"
+msgid "Sequence"
+msgstr "Zap.št."
+
msgctxt "field:account.statement.line,statement:"
msgid "Statement"
msgstr "Izpisek"
@@ -219,6 +255,10 @@ msgctxt "model:ir.action,name:act_statement_journal_form"
msgid "Statement Journals"
msgstr "Dnevniki izpiskov"
+msgctxt "model:ir.action,name:report_statement"
+msgid "Statement"
+msgstr "Izpisek"
+
msgctxt "model:ir.action.act_window.domain,name:act_statement_form_domain_all"
msgid "All"
msgstr "Vse"
@@ -258,6 +298,66 @@ msgctxt "model:res.group,name:group_statement"
msgid "Statement"
msgstr "Izpisek"
+msgctxt "odt:account.statement:"
+msgid "#"
+msgstr "#"
+
+msgctxt "odt:account.statement:"
+msgid "Amount"
+msgstr "Znesek"
+
+msgctxt "odt:account.statement:"
+msgid "Canceled"
+msgstr "Preklicano"
+
+msgctxt "odt:account.statement:"
+msgid "Date"
+msgstr "Datum"
+
+msgctxt "odt:account.statement:"
+msgid "Date:"
+msgstr "Datum:"
+
+msgctxt "odt:account.statement:"
+msgid "Description"
+msgstr "Opis"
+
+msgctxt "odt:account.statement:"
+msgid "Draft"
+msgstr "V pripravi"
+
+msgctxt "odt:account.statement:"
+msgid "E-Mail:"
+msgstr "E-pošta:"
+
+msgctxt "odt:account.statement:"
+msgid "Journal:"
+msgstr "Dnevnik:"
+
+msgctxt "odt:account.statement:"
+msgid "Number"
+msgstr "Številka"
+
+msgctxt "odt:account.statement:"
+msgid "Party"
+msgstr "Partner"
+
+msgctxt "odt:account.statement:"
+msgid "Phone:"
+msgstr "Telefon:"
+
+msgctxt "odt:account.statement:"
+msgid "Statement"
+msgstr "Izpisek"
+
+msgctxt "odt:account.statement:"
+msgid "Total"
+msgstr "Skupaj"
+
+msgctxt "odt:account.statement:"
+msgid "VAT Number:"
+msgstr "DDV številka:"
+
msgctxt "selection:account.statement,state:"
msgid "Canceled"
msgstr "Preklicano"
@@ -274,6 +374,18 @@ msgctxt "selection:account.statement,state:"
msgid "Validated"
msgstr "Odobreno"
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Amount"
+msgstr "Znesek"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Balance"
+msgstr "Bilanca"
+
+msgctxt "selection:account.statement.journal,validation:"
+msgid "Number of Lines"
+msgstr "Število postavk"
+
msgctxt "view:account.statement.journal:"
msgid "Statement Journal"
msgstr "Dnevnik izpiskov"
diff --git a/setup.py b/setup.py
index fa87e64..75b9d76 100644
--- a/setup.py
+++ b/setup.py
@@ -46,6 +46,7 @@ for dep in info.get('depends', []):
if not re.match(r'(ir|res|webdav)(\W|$)', dep):
requires.append(get_require_version('trytond_%s' % dep))
requires.append(get_require_version('trytond'))
+requires.append('python-sql')
tests_require = [get_require_version('proteus')]
@@ -65,7 +66,8 @@ setup(name=name,
],
package_data={
'trytond.modules.account_statement': (info.get('xml', [])
- + ['tryton.cfg', 'view/*.xml', 'locale/*.po', 'tests/*.rst']),
+ + ['tryton.cfg', 'view/*.xml', 'locale/*.po', 'tests/*.rst',
+ 'statement.odt']),
},
classifiers=[
'Development Status :: 5 - Production/Stable',
diff --git a/statement.odt b/statement.odt
new file mode 100644
index 0000000..c85d075
Binary files /dev/null and b/statement.odt differ
diff --git a/statement.py b/statement.py
index 6692b3c..39bd11a 100644
--- a/statement.py
+++ b/statement.py
@@ -1,21 +1,63 @@
#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 decimal import Decimal
+from collections import namedtuple
+from itertools import groupby
+
+from sql.aggregate import Sum
+
from trytond.model import Workflow, ModelView, ModelSQL, fields
from trytond.pyson import Eval, If, Bool
from trytond.transaction import Transaction
from trytond import backend
from trytond.pool import Pool
+from trytond.modules.company import CompanyReport
+from trytond.tools import reduce_ids
-__all__ = ['Statement', 'Line']
+__all__ = ['Statement', 'Line', 'StatementReport']
_STATES = {'readonly': Eval('state') != 'draft'}
_DEPENDS = ['state']
+_BALANCE_STATES = _STATES.copy()
+_BALANCE_STATES.update({
+ 'invisible': ~Eval('validation', '').in_(['balance']),
+ 'required': Eval('validation', '').in_(['balance']),
+ })
+_BALANCE_DEPENDS = _DEPENDS + ['validation']
+
+_AMOUNT_STATES = _STATES.copy()
+_AMOUNT_STATES.update({
+ 'invisible': ~Eval('validation', '').in_(['amount']),
+ 'required': Eval('validation', '').in_(['amount']),
+ })
+_AMOUNT_DEPENDS = _DEPENDS + ['validation']
+
+_NUMBER_STATES = _STATES.copy()
+_NUMBER_STATES.update({
+ 'invisible': ~Eval('validation', '').in_(['number_of_lines']),
+ 'required': Eval('validation', '').in_(['number_of_lines']),
+ })
+_NUMBER_DEPENDS = _DEPENDS + ['validation']
+
+
+class Null(object):
+ "Always different"
+
+ def __eq__(self, other):
+ return False
+
+ def __ne__(self, other):
+ return True
+
+ def __str__(self):
+ return ''
+
class Statement(Workflow, ModelSQL, ModelView):
'Account Statement'
__name__ = 'account.statement'
+ name = fields.Char('Name', required=True)
company = fields.Many2One('company.company', 'Company', required=True,
select=True, states=_STATES, domain=[
('id', If(Eval('context', {}).contains('company'), '=', '!='),
@@ -35,19 +77,25 @@ class Statement(Workflow, ModelSQL, ModelView):
'on_change_with_currency_digits')
date = fields.Date('Date', required=True, states=_STATES, depends=_DEPENDS,
select=True)
- start_balance = fields.Numeric('Start Balance', required=True,
+ start_balance = fields.Numeric('Start Balance',
digits=(16, Eval('currency_digits', 2)),
- states=_STATES, depends=['state', 'currency_digits'])
- end_balance = fields.Numeric('End Balance', required=True,
+ states=_BALANCE_STATES, depends=_BALANCE_DEPENDS + ['currency_digits'])
+ end_balance = fields.Numeric('End Balance',
digits=(16, Eval('currency_digits', 2)),
- states=_STATES, depends=['state', 'currency_digits'])
+ states=_BALANCE_STATES, depends=_BALANCE_DEPENDS + ['currency_digits'])
balance = fields.Function(
fields.Numeric('Balance',
digits=(16, Eval('currency_digits', 2)),
- depends=['currency_digits']),
+ states=_BALANCE_STATES,
+ depends=_BALANCE_DEPENDS + ['currency_digits']),
'on_change_with_balance')
+ total_amount = fields.Numeric('Total Amount',
+ digits=(16, Eval('currency_digits', 2)),
+ states=_AMOUNT_STATES, depends=_AMOUNT_DEPENDS + ['currency_digits'])
+ number_of_lines = fields.Integer('Number of Lines',
+ states=_NUMBER_STATES, depends=_NUMBER_DEPENDS)
lines = fields.One2Many('account.statement.line', 'statement',
- 'Transactions', states={
+ 'Lines', states={
'readonly': (Eval('state') != 'draft') | ~Eval('journal'),
},
depends=['state', 'journal'])
@@ -57,6 +105,8 @@ class Statement(Workflow, ModelSQL, ModelView):
('cancel', 'Canceled'),
('posted', 'Posted'),
], 'State', readonly=True, select=True)
+ validation = fields.Function(fields.Char('Validation'),
+ 'on_change_with_validation')
@classmethod
def __setup__(cls):
@@ -64,10 +114,12 @@ class Statement(Workflow, ModelSQL, ModelView):
cls._order[0] = ('id', 'DESC')
cls._error_messages.update({
'wrong_end_balance': 'End Balance must be "%s".',
+ 'wrong_total_amount': 'Total Amount must be "%s".',
+ 'wrong_number_of_lines': 'Number of Lines must be "%s".',
'delete_cancel': ('Statement "%s" must be cancelled before '
'deletion.'),
'paid_invoice_draft_statement': ('There are paid invoices on '
- 'draft statements, do you want to proceed?'),
+ 'draft statements.'),
})
cls._transitions |= set((
('draft', 'validated'),
@@ -95,6 +147,7 @@ class Statement(Workflow, ModelSQL, ModelView):
def __register__(cls, module_name):
TableHandler = backend.get('TableHandler')
cursor = Transaction().cursor
+ sql_table = cls.__table__()
# Migration from 1.8: new field company
table = TableHandler(cursor, cls, module_name)
@@ -117,6 +170,15 @@ class Statement(Workflow, ModelSQL, ModelView):
table = TableHandler(cursor, cls, module_name)
table.not_null_action('company', action='add')
+ # Migration from 3.2: remove required on start/end balance
+ table.not_null_action('start_balance', action='remove')
+ table.not_null_action('end_balance', action='remove')
+
+ # Migration from 3.2: add required name
+ cursor.execute(*sql_table.update([sql_table.name],
+ [sql_table.id.cast(cls.name.sql_type().base)],
+ where=sql_table.name == None))
+
@staticmethod
def default_company():
return Transaction().context.get('company')
@@ -162,28 +224,6 @@ class Statement(Workflow, ModelSQL, ModelView):
return self.journal.currency.digits
return 2
- @classmethod
- def get_rec_name(cls, statements, name):
- Lang = Pool().get('ir.lang')
-
- lang, = Lang.search([
- ('code', '=', Transaction().language),
- ])
-
- res = {}
- for statement in statements:
- res[statement.id] = (statement.journal.name + ' '
- + Lang.currency(lang, statement.start_balance,
- statement.journal.currency, symbol=False, grouping=True)
- + ' - '
- + Lang.currency(lang, statement.end_balance,
- statement.journal.currency, symbol=False, grouping=True))
- return res
-
- @classmethod
- def search_rec_name(cls, name, clause):
- return [('journal',) + tuple(clause[1:])]
-
def get_end_balance(self, name):
end_balance = self.start_balance
for line in self.lines:
@@ -266,6 +306,47 @@ class Statement(Workflow, ModelSQL, ModelView):
})
return res
+ @fields.depends('journal')
+ def on_change_with_validation(self, name=None):
+ if self.journal:
+ return self.journal.validation
+
+ def _group_key(self, line):
+ key = (
+ ('number', line.number or Null()),
+ ('date', line.date),
+ ('party', line.party),
+ )
+ return key
+
+ def _get_grouped_line(self):
+ "Return Line class for grouped lines"
+ assert self.lines
+
+ keys = [k[0] for k in self._group_key(self.lines[0])]
+
+ class Line(namedtuple('Line', keys + ['lines'])):
+
+ @property
+ def amount(self):
+ return sum((l.amount for l in self.lines))
+
+ @property
+ def descriptions(self):
+ done = set()
+ for line in self.lines:
+ if line.description and line.description not in done:
+ done.add(line.description)
+ yield line.description
+ return Line
+
+ @property
+ def grouped_lines(self):
+ if 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)),)))
+
@classmethod
def delete(cls, statements):
# Cancel before delete
@@ -281,32 +362,51 @@ class Statement(Workflow, ModelSQL, ModelView):
def draft(cls, statements):
pass
+ def validate_balance(self):
+ pool = Pool()
+ Lang = pool.get('ir.lang')
+
+ end_balance = (self.start_balance
+ + sum(l.amount for l in self.lines))
+ if end_balance != self.end_balance:
+ lang, = Lang.search([
+ ('code', '=', Transaction().language),
+ ])
+ amount = Lang.format(lang,
+ '%.' + str(self.journal.currency.digits) + 'f',
+ end_balance, True)
+ self.raise_user_error('wrong_end_balance', amount)
+
+ def validate_amount(self):
+ pool = Pool()
+ Lang = pool.get('ir.lang')
+
+ amount = sum(l.amount for l in self.lines)
+ if amount != self.total_amount:
+ lang, = Lang.search([
+ ('code', '=', Transaction().language),
+ ])
+ amount = Lang.format(lang,
+ '%.' + str(self.journal.currency.digits) + 'f',
+ amount, True)
+ self.raise_user_error('wrong_total_amount', amount)
+
+ def validate_number_of_lines(self):
+ number = len(list(self.grouped_lines))
+ if number != self.number_of_lines:
+ self.raise_user_error('wrong_number_of_lines', number)
+
@classmethod
@ModelView.button
@Workflow.transition('validated')
def validate_statement(cls, statements):
pool = Pool()
- Lang = pool.get('ir.lang')
Line = pool.get('account.statement.line')
- statement_lines = []
for statement in statements:
- computed_end_balance = statement.start_balance
- for line in statement.lines:
- computed_end_balance += line.amount
- if computed_end_balance != statement.end_balance:
- lang, = Lang.search([
- ('code', '=', Transaction().language),
- ])
-
- amount = Lang.format(lang,
- '%.' + str(statement.journal.currency.digits) + 'f',
- computed_end_balance, True)
- cls.raise_user_error('wrong_end_balance',
- error_args=(amount,))
+ getattr(statement, 'validate_%s' % statement.validation)()
for line in statement.lines:
line.create_move()
- statement_lines.append(line.id)
cls.write(statements, {
'state': 'validated',
})
@@ -345,6 +445,8 @@ class Line(ModelSQL, ModelView):
__name__ = 'account.statement.line'
statement = fields.Many2One('account.statement', 'Statement',
required=True, ondelete='CASCADE')
+ sequence = fields.Integer('Sequence')
+ number = fields.Char('Number')
date = fields.Date('Date', required=True)
amount = fields.Numeric('Amount', required=True,
digits=(16, Eval('_parent_statement', {}).get('currency_digits', 2)))
@@ -369,6 +471,7 @@ class Line(ModelSQL, ModelView):
@classmethod
def __setup__(cls):
super(Line, cls).__setup__()
+ cls._order.insert(0, ('sequence', 'ASC'))
cls._error_messages.update({
'debit_credit_account_statement_journal': ('Please provide '
'debit and credit account on statement journal "%s".'),
@@ -384,6 +487,11 @@ class Line(ModelSQL, ModelView):
]
@staticmethod
+ def order_sequence(tables):
+ table, _ = tables[None]
+ return [table.sequence == None, table.sequence]
+
+ @staticmethod
def default_amount():
return Decimal(0)
@@ -578,16 +686,16 @@ class Line(ModelSQL, ModelView):
debit=amount < zero and -amount or zero,
credit=amount >= zero and amount or zero,
account=self.account,
- party=self.party,
+ party=self.party if self.account.party_required else None,
second_currency=second_currency,
amount_second_currency=amount_second_currency,
))
journal = self.statement.journal.journal
if self.amount >= zero:
- account = journal.credit_account
- else:
account = journal.debit_account
+ else:
+ account = journal.credit_account
if not account:
self.raise_user_error('debit_credit_account_statement_journal',
(journal.rec_name,))
@@ -602,8 +710,12 @@ class Line(ModelSQL, ModelView):
debit=amount >= zero and amount or zero,
credit=amount < zero and -amount or zero,
account=account,
- party=self.party,
+ party=self.party if account.party_required else None,
second_currency=second_currency,
amount_second_currency=amount_second_currency,
))
return move_lines
+
+
+class StatementReport(CompanyReport):
+ __name__ = 'account.statement'
diff --git a/statement.xml b/statement.xml
index ffaa854..1d2780f 100644
--- a/statement.xml
+++ b/statement.xml
@@ -84,6 +84,19 @@ this repository contains the full copyright notices and license terms. -->
<field name="rule_group" ref="rule_group_statement"/>
</record>
+ <record model="ir.action.report" id="report_statement">
+ <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="style">company/header_A4.odt</field>
+ </record>
+ <record model="ir.action.keyword" id="report_statement_keyword">
+ <field name="keyword">form_print</field>
+ <field name="model">account.statement,-1</field>
+ <field name="action" ref="report_statement"/>
+ </record>
+
<record model="ir.ui.view" id="statement_line_view_form">
<field name="model">account.statement.line</field>
<field name="type">form</field>
diff --git a/tests/scenario_account_statement.rst b/tests/scenario_account_statement.rst
index 45943f9..2fcaf0c 100644
--- a/tests/scenario_account_statement.rst
+++ b/tests/scenario_account_statement.rst
@@ -11,7 +11,7 @@ Imports::
>>> import datetime
>>> from dateutil.relativedelta import relativedelta
>>> from decimal import Decimal
- >>> from proteus import config, Model, Wizard
+ >>> from proteus import config, Model, Wizard, Report
>>> today = datetime.date.today()
Create database::
@@ -222,10 +222,12 @@ Create statement::
>>> statement_journal = StatementJournal(name='Test',
... journal=account_journal,
+ ... validation='balance',
... )
>>> statement_journal.save()
- >>> statement = Statement(journal=statement_journal,
+ >>> statement = Statement(name='test',
+ ... journal=statement_journal,
... start_balance=Decimal('0'),
... end_balance=Decimal('80'),
... )
@@ -304,6 +306,11 @@ Test invoice state::
>>> supplier_invoice.state
u'paid'
+Test statement report::
+
+ >>> report = Report('account.statement')
+ >>> _ = report.execute([statement], {})
+
Let's test the negative amount version of the supplier/customer invoices::
>>> customer_invoice3 = Invoice(type='out_invoice')
@@ -335,7 +342,8 @@ Let's test the negative amount version of the supplier/customer invoices::
>>> supplier_invoice2.state
u'posted'
- >>> statement = Statement(journal=statement_journal,
+ >>> statement = Statement(name='test negative',
+ ... journal=statement_journal,
... end_balance=Decimal('0'),
... )
@@ -379,7 +387,7 @@ Testing the use of an invoice in multiple statements::
>>> customer_invoice4.state
u'posted'
- >>> statement1 = Statement(journal=statement_journal)
+ >>> statement1 = Statement(name='1', journal=statement_journal)
>>> statement1.end_balance = Decimal(380)
>>> statement_line = statement1.lines.new()
>>> statement_line.date = today
@@ -389,7 +397,7 @@ Testing the use of an invoice in multiple statements::
>>> statement_line.invoice = customer_invoice4
>>> statement1.save()
- >>> statement2 = Statement(journal=statement_journal)
+ >>> statement2 = Statement(name='2', journal=statement_journal)
>>> statement2.end_balance = Decimal(680)
>>> statement_line = statement2.lines.new()
>>> statement_line.date = today
@@ -416,3 +424,88 @@ Testing the use of an invoice in multiple statements::
>>> statement2.reload()
>>> bool(statement2.lines[0].invoice)
False
+
+Testing balance validation::
+
+ >>> journal_balance = StatementJournal(name='Balance',
+ ... journal=account_journal,
+ ... validation='balance',
+ ... )
+ >>> journal_balance.save()
+
+ >>> statement = Statement(name='balance')
+ >>> statement.journal = journal_balance
+ >>> statement.start_balance = Decimal('50.00')
+ >>> statement.end_balance = Decimal('150.00')
+ >>> line = statement.lines.new()
+ >>> line.date = today
+ >>> line.amount = Decimal('60.00')
+ >>> line.account = receivable
+ >>> line.party = customer
+ >>> statement.click('validate_statement') # doctest: +IGNORE_EXCEPTION_DETAIL
+ Traceback (most recent call last):
+ ...
+ UserError: ...
+
+ >>> second_line = statement.lines.new()
+ >>> second_line.date = today
+ >>> second_line.amount = Decimal('40.00')
+ >>> second_line.account = receivable
+ >>> second_line.party = customer
+ >>> statement.click('validate_statement')
+
+Testing amount validation::
+
+ >>> journal_amount = StatementJournal(name='Amount',
+ ... journal=account_journal,
+ ... validation='amount',
+ ... )
+ >>> journal_amount.save()
+
+ >>> statement = Statement(name='amount')
+ >>> statement.journal = journal_amount
+ >>> statement.total_amount = Decimal('80.00')
+ >>> line = statement.lines.new()
+ >>> line.date = today
+ >>> line.amount = Decimal('50.00')
+ >>> line.account = receivable
+ >>> line.party = customer
+ >>> statement.click('validate_statement') # doctest: +IGNORE_EXCEPTION_DETAIL
+ Traceback (most recent call last):
+ ...
+ UserError: ...
+
+ >>> second_line = statement.lines.new()
+ >>> second_line.date = today
+ >>> second_line.amount = Decimal('30.00')
+ >>> second_line.account = receivable
+ >>> second_line.party = customer
+ >>> statement.click('validate_statement')
+
+Test number of lines validation::
+
+ >>> journal_number = StatementJournal(name='Number',
+ ... journal=account_journal,
+ ... validation='number_of_lines',
+ ... )
+ >>> journal_number.save()
+
+ >>> statement = Statement(name='number')
+ >>> statement.journal = journal_number
+ >>> statement.number_of_lines = 2
+ >>> line = statement.lines.new()
+ >>> line.date = today
+ >>> line.amount = Decimal('50.00')
+ >>> line.account = receivable
+ >>> line.party = customer
+ >>> statement.click('validate_statement') # doctest: +IGNORE_EXCEPTION_DETAIL
+ Traceback (most recent call last):
+ ...
+ UserError: ...
+
+ >>> second_line = statement.lines.new()
+ >>> second_line.date = today
+ >>> second_line.amount = Decimal('10.00')
+ >>> second_line.account = receivable
+ >>> second_line.party = customer
+ >>> statement.click('validate_statement')
diff --git a/tests/test_account_statement.py b/tests/test_account_statement.py
index 674ba1a..0384bf6 100644
--- a/tests/test_account_statement.py
+++ b/tests/test_account_statement.py
@@ -3,7 +3,8 @@
import unittest
import doctest
import trytond.tests.test_tryton
-from trytond.tests.test_tryton import test_view, test_depends, doctest_dropdb
+from trytond.tests.test_tryton import test_view, test_depends
+from trytond.tests.test_tryton import doctest_setup, doctest_teardown
class AccountStatementTestCase(unittest.TestCase):
@@ -26,6 +27,6 @@ def suite():
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
AccountStatementTestCase))
suite.addTests(doctest.DocFileSuite('scenario_account_statement.rst',
- setUp=doctest_dropdb, tearDown=doctest_dropdb, encoding='utf-8',
+ setUp=doctest_setup, tearDown=doctest_teardown, encoding='utf-8',
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
return suite
diff --git a/tryton.cfg b/tryton.cfg
index 815cef9..49acb9d 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
[tryton]
-version=3.2.0
+version=3.4.0
depends:
account
account_invoice
diff --git a/trytond_account_statement.egg-info/PKG-INFO b/trytond_account_statement.egg-info/PKG-INFO
index 75cc4d5..7daf031 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: 3.2.0
+Version: 3.4.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/3.2/
+Download-URL: http://downloads.tryton.org/3.4/
Description: trytond_account_statement
=========================
diff --git a/trytond_account_statement.egg-info/SOURCES.txt b/trytond_account_statement.egg-info/SOURCES.txt
index c415379..12837aa 100644
--- a/trytond_account_statement.egg-info/SOURCES.txt
+++ b/trytond_account_statement.egg-info/SOURCES.txt
@@ -6,20 +6,47 @@ MANIFEST.in
README
journal.xml
setup.py
+statement.odt
statement.xml
tryton.cfg
./__init__.py
./account.py
./journal.py
+./journal.xml
+./statement.odt
./statement.py
+./statement.xml
+./tryton.cfg
+./locale/bg_BG.po
+./locale/ca_ES.po
+./locale/cs_CZ.po
+./locale/de_DE.po
+./locale/es_AR.po
+./locale/es_CO.po
+./locale/es_EC.po
+./locale/es_ES.po
+./locale/fr_FR.po
+./locale/nl_NL.po
+./locale/ru_RU.po
+./locale/sl_SI.po
./tests/__init__.py
+./tests/scenario_account_statement.rst
./tests/test_account_statement.py
+./view/statement_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_tree.xml
+doc/index.rst
locale/bg_BG.po
locale/ca_ES.po
locale/cs_CZ.po
locale/de_DE.po
locale/es_AR.po
locale/es_CO.po
+locale/es_EC.po
locale/es_ES.po
locale/fr_FR.po
locale/nl_NL.po
diff --git a/trytond_account_statement.egg-info/requires.txt b/trytond_account_statement.egg-info/requires.txt
index f01eb95..08bc460 100644
--- a/trytond_account_statement.egg-info/requires.txt
+++ b/trytond_account_statement.egg-info/requires.txt
@@ -1,6 +1,7 @@
-trytond_account >= 3.2, < 3.3
-trytond_account_invoice >= 3.2, < 3.3
-trytond_company >= 3.2, < 3.3
-trytond_currency >= 3.2, < 3.3
-trytond_party >= 3.2, < 3.3
-trytond >= 3.2, < 3.3
\ No newline at end of file
+trytond_account >= 3.4, < 3.5
+trytond_account_invoice >= 3.4, < 3.5
+trytond_company >= 3.4, < 3.5
+trytond_currency >= 3.4, < 3.5
+trytond_party >= 3.4, < 3.5
+trytond >= 3.4, < 3.5
+python-sql
\ No newline at end of file
diff --git a/view/statement_form.xml b/view/statement_form.xml
index 9f2aadb..4d8a901 100644
--- a/view/statement_form.xml
+++ b/view/statement_form.xml
@@ -2,6 +2,8 @@
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form string="Statement">
+ <label name="name"/>
+ <field name="name" colspan="3"/>
<label name="journal"/>
<field name="journal"/>
<label name="date"/>
@@ -10,6 +12,12 @@ this repository contains the full copyright notices and license terms. -->
<field name="start_balance"/>
<label name="end_balance"/>
<field name="end_balance"/>
+ <label name="total_amount"/>
+ <field name="total_amount"/>
+ <newline/>
+ <label name="number_of_lines"/>
+ <field name="number_of_lines"/>
+ <newline/>
<notebook colspan="4">
<page string="Statement Lines" col="4" id="statement_lines">
<field name="lines" colspan="4"
@@ -33,5 +41,4 @@ this repository contains the full copyright notices and license terms. -->
<field name="company"/>
</page>
</notebook>
- <field name="currency_digits" colspan="4" invisible="1"/>
</form>
diff --git a/view/statement_journal_form.xml b/view/statement_journal_form.xml
index 87c89a9..dbc226a 100644
--- a/view/statement_journal_form.xml
+++ b/view/statement_journal_form.xml
@@ -10,4 +10,6 @@ this repository contains the full copyright notices and license terms. -->
<field name="currency"/>
<label name="company"/>
<field name="company"/>
+ <label name="validation"/>
+ <field name="validation"/>
</form>
diff --git a/view/statement_line_form.xml b/view/statement_line_form.xml
index 8b65af0..9d2932e 100644
--- a/view/statement_line_form.xml
+++ b/view/statement_line_form.xml
@@ -4,6 +4,10 @@ this repository contains the full copyright notices and license terms. -->
<form string="Statement Line">
<label name="statement"/>
<field name="statement" colspan="3"/>
+ <label name="number"/>
+ <field name="number"/>
+ <label name="sequence"/>
+ <field name="sequence"/>
<label name="date"/>
<field name="date"/>
<label name="amount"/>
diff --git a/view/statement_line_tree.xml b/view/statement_line_tree.xml
index 78f984f..caa227f 100644
--- a/view/statement_line_tree.xml
+++ b/view/statement_line_tree.xml
@@ -3,6 +3,7 @@
this repository contains the full copyright notices and license terms. -->
<tree string="Statement Lines">
<field name="statement"/>
+ <field name="number"/>
<field name="date"/>
<field name="amount"/>
<field name="party"/>
diff --git a/view/statement_line_tree_editable.xml b/view/statement_line_tree_editable.xml
index 5aac57e..46a9856 100644
--- a/view/statement_line_tree_editable.xml
+++ b/view/statement_line_tree_editable.xml
@@ -1,7 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
-<tree string="Statement Lines" editable="bottom">
+<tree string="Statement Lines" editable="bottom" sequence="sequence">
+ <field name="number"/>
<field name="date"/>
<field name="amount" sum="Amount"/>
<field name="party"/>
diff --git a/view/statement_tree.xml b/view/statement_tree.xml
index d2dd5c0..3c3ef9a 100644
--- a/view/statement_tree.xml
+++ b/view/statement_tree.xml
@@ -3,8 +3,7 @@
this repository contains the full copyright notices and license terms. -->
<tree string="Statements">
<field name="journal"/>
+ <field name="name"/>
<field name="date"/>
- <field name="start_balance"/>
- <field name="end_balance"/>
<field name="state"/>
</tree>
--
tryton-modules-account-statement
More information about the tryton-debian-vcs
mailing list