odoo-addon-account-statement-import-sheet-file 17.0.1.0.0.6__py3-none-any.whl → 17.0.1.1.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of odoo-addon-account-statement-import-sheet-file might be problematic. Click here for more details.
- odoo/addons/account_statement_import_sheet_file/README.rst +19 -17
- odoo/addons/account_statement_import_sheet_file/__manifest__.py +1 -1
- odoo/addons/account_statement_import_sheet_file/i18n/account_statement_import_sheet_file.pot +27 -0
- odoo/addons/account_statement_import_sheet_file/i18n/es.po +27 -0
- odoo/addons/account_statement_import_sheet_file/i18n/es_AR.po +27 -0
- odoo/addons/account_statement_import_sheet_file/i18n/it.po +27 -0
- odoo/addons/account_statement_import_sheet_file/i18n/nl.po +27 -0
- odoo/addons/account_statement_import_sheet_file/i18n/pt.po +27 -0
- odoo/addons/account_statement_import_sheet_file/i18n/tr.po +27 -0
- odoo/addons/account_statement_import_sheet_file/i18n/zh_CN.po +31 -2
- odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py +14 -0
- odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py +9 -3
- odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.md +1 -0
- odoo/addons/account_statement_import_sheet_file/static/description/index.html +9 -5
- odoo/addons/account_statement_import_sheet_file/tests/fixtures/empty_lines_statement.csv +5 -0
- odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_offsets.xlsx +0 -0
- odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py +91 -0
- odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml +2 -0
- {odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.6.dist-info → odoo_addon_account_statement_import_sheet_file-17.0.1.1.0.1.dist-info}/METADATA +20 -18
- {odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.6.dist-info → odoo_addon_account_statement_import_sheet_file-17.0.1.1.0.1.dist-info}/RECORD +22 -20
- {odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.6.dist-info → odoo_addon_account_statement_import_sheet_file-17.0.1.1.0.1.dist-info}/WHEEL +1 -1
- {odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.6.dist-info → odoo_addon_account_statement_import_sheet_file-17.0.1.1.0.1.dist-info}/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ Bank Statement TXT/CSV/XLSX Import
|
|
|
7
7
|
!! This file is generated by oca-gen-addon-readme !!
|
|
8
8
|
!! changes will be overwritten. !!
|
|
9
9
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
10
|
-
!! source digest: sha256:
|
|
10
|
+
!! source digest: sha256:152e396ff6868978b165509c50726b88efd20d31f40c58c6c7a59384e8df4fbf
|
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
12
12
|
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -61,10 +61,10 @@ Changelog
|
|
|
61
61
|
12.0.2.0.0
|
|
62
62
|
----------
|
|
63
63
|
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
64
|
+
- [BREAKING] New mapping, please review mappings after upgrade.
|
|
65
|
+
- [BREAKING] Different bank accounts have to be used per each currency.
|
|
66
|
+
- [ADD] Support for both Statement and Activity reports.
|
|
67
|
+
- [ADD] Separate fee and currency exchange parsing.
|
|
68
68
|
|
|
69
69
|
Bug Tracker
|
|
70
70
|
===========
|
|
@@ -88,23 +88,25 @@ Authors
|
|
|
88
88
|
Contributors
|
|
89
89
|
------------
|
|
90
90
|
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
91
|
+
- Alexis de Lattre <alexis.delattre@akretion.com>
|
|
92
|
+
- Sebastien BEAU <sebastien.beau@akretion.com>
|
|
93
|
+
- Katherine Zaoral
|
|
94
|
+
- Tecnativa (https://www.tecnativa.com)
|
|
95
95
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
- Vicent Cubells
|
|
97
|
+
- Victor M.M. Torres
|
|
98
|
+
- Víctor Martínez
|
|
99
99
|
|
|
100
|
-
-
|
|
100
|
+
- ForgeFlow (https://www.forgeflow.com)
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
- Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
|
|
103
|
+
- Miquel Raïch Regué <miquel.raich@forgeflow.com>
|
|
104
104
|
|
|
105
|
-
-
|
|
105
|
+
- `CorporateHub <https://corporatehub.eu/>`__
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
- Alexey Pelykh <alexey.pelykh@corphub.eu>
|
|
108
|
+
|
|
109
|
+
- Sebastiano Picchi sebastiano.picchi@pytech.it
|
|
108
110
|
|
|
109
111
|
Maintainers
|
|
110
112
|
-----------
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
{
|
|
6
6
|
"name": "Bank Statement TXT/CSV/XLSX Import",
|
|
7
7
|
"summary": "Import TXT/CSV or XLSX files as Bank Statements in Odoo",
|
|
8
|
-
"version": "17.0.1.
|
|
8
|
+
"version": "17.0.1.1.0",
|
|
9
9
|
"category": "Accounting",
|
|
10
10
|
"website": "https://github.com/OCA/bank-statement-import",
|
|
11
11
|
"author": "ForgeFlow, CorporateHub, Odoo Community Association (OCA)",
|
odoo/addons/account_statement_import_sheet_file/i18n/account_statement_import_sheet_file.pot
CHANGED
|
@@ -47,6 +47,11 @@ msgstr ""
|
|
|
47
47
|
msgid "Account: %s; "
|
|
48
48
|
msgstr ""
|
|
49
49
|
|
|
50
|
+
#. module: account_statement_import_sheet_file
|
|
51
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
52
|
+
msgid "Allows to skip empty lines"
|
|
53
|
+
msgstr ""
|
|
54
|
+
|
|
50
55
|
#. module: account_statement_import_sheet_file
|
|
51
56
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_column
|
|
52
57
|
msgid "Amount column"
|
|
@@ -116,6 +121,11 @@ msgstr ""
|
|
|
116
121
|
msgid "Columns"
|
|
117
122
|
msgstr ""
|
|
118
123
|
|
|
124
|
+
#. module: account_statement_import_sheet_file
|
|
125
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
126
|
+
msgid "Columns to ignore before starting to parse"
|
|
127
|
+
msgstr ""
|
|
128
|
+
|
|
119
129
|
#. module: account_statement_import_sheet_file
|
|
120
130
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__create_uid
|
|
121
131
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__create_uid
|
|
@@ -327,6 +337,18 @@ msgstr ""
|
|
|
327
337
|
msgid "Notes Column"
|
|
328
338
|
msgstr ""
|
|
329
339
|
|
|
340
|
+
#. module: account_statement_import_sheet_file
|
|
341
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
342
|
+
msgid "Offset Column"
|
|
343
|
+
msgstr ""
|
|
344
|
+
|
|
345
|
+
#. module: account_statement_import_sheet_file
|
|
346
|
+
#. odoo-python
|
|
347
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
348
|
+
#, python-format
|
|
349
|
+
msgid "Offsets cannot be negative"
|
|
350
|
+
msgstr ""
|
|
351
|
+
|
|
330
352
|
#. module: account_statement_import_sheet_file
|
|
331
353
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
332
354
|
msgid "Original Amount Column"
|
|
@@ -388,6 +410,11 @@ msgid ""
|
|
|
388
410
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
389
411
|
msgstr ""
|
|
390
412
|
|
|
413
|
+
#. module: account_statement_import_sheet_file
|
|
414
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
415
|
+
msgid "Skip Empty Lines"
|
|
416
|
+
msgstr ""
|
|
417
|
+
|
|
391
418
|
#. module: account_statement_import_sheet_file
|
|
392
419
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
393
420
|
msgid "Statement Import Map"
|
|
@@ -61,6 +61,11 @@ msgstr "Valor absoluto"
|
|
|
61
61
|
msgid "Account: %s; "
|
|
62
62
|
msgstr "Cuenta: %s; "
|
|
63
63
|
|
|
64
|
+
#. module: account_statement_import_sheet_file
|
|
65
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
66
|
+
msgid "Allows to skip empty lines"
|
|
67
|
+
msgstr ""
|
|
68
|
+
|
|
64
69
|
#. module: account_statement_import_sheet_file
|
|
65
70
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_column
|
|
66
71
|
msgid "Amount column"
|
|
@@ -130,6 +135,11 @@ msgstr "Central European (Latin-2 / ISO 8859-2)"
|
|
|
130
135
|
msgid "Columns"
|
|
131
136
|
msgstr "Columnas"
|
|
132
137
|
|
|
138
|
+
#. module: account_statement_import_sheet_file
|
|
139
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
140
|
+
msgid "Columns to ignore before starting to parse"
|
|
141
|
+
msgstr ""
|
|
142
|
+
|
|
133
143
|
#. module: account_statement_import_sheet_file
|
|
134
144
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__create_uid
|
|
135
145
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__create_uid
|
|
@@ -352,6 +362,18 @@ msgstr "No hay una codificación válida para el fichero adjunto"
|
|
|
352
362
|
msgid "Notes Column"
|
|
353
363
|
msgstr "Columna de Notas"
|
|
354
364
|
|
|
365
|
+
#. module: account_statement_import_sheet_file
|
|
366
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
367
|
+
msgid "Offset Column"
|
|
368
|
+
msgstr ""
|
|
369
|
+
|
|
370
|
+
#. module: account_statement_import_sheet_file
|
|
371
|
+
#. odoo-python
|
|
372
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
373
|
+
#, python-format
|
|
374
|
+
msgid "Offsets cannot be negative"
|
|
375
|
+
msgstr ""
|
|
376
|
+
|
|
355
377
|
#. module: account_statement_import_sheet_file
|
|
356
378
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
357
379
|
msgid "Original Amount Column"
|
|
@@ -415,6 +437,11 @@ msgid ""
|
|
|
415
437
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
416
438
|
msgstr ""
|
|
417
439
|
|
|
440
|
+
#. module: account_statement_import_sheet_file
|
|
441
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
442
|
+
msgid "Skip Empty Lines"
|
|
443
|
+
msgstr ""
|
|
444
|
+
|
|
418
445
|
#. module: account_statement_import_sheet_file
|
|
419
446
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
420
447
|
msgid "Statement Import Map"
|
|
@@ -63,6 +63,11 @@ msgstr ""
|
|
|
63
63
|
msgid "Account: %s; "
|
|
64
64
|
msgstr "Cuenta: %s; "
|
|
65
65
|
|
|
66
|
+
#. module: account_statement_import_sheet_file
|
|
67
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
68
|
+
msgid "Allows to skip empty lines"
|
|
69
|
+
msgstr ""
|
|
70
|
+
|
|
66
71
|
#. module: account_statement_import_sheet_file
|
|
67
72
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_column
|
|
68
73
|
#, fuzzy
|
|
@@ -136,6 +141,11 @@ msgstr "Centro Europeo (Latin-2 / ISO 8859-2)"
|
|
|
136
141
|
msgid "Columns"
|
|
137
142
|
msgstr "Columnas"
|
|
138
143
|
|
|
144
|
+
#. module: account_statement_import_sheet_file
|
|
145
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
146
|
+
msgid "Columns to ignore before starting to parse"
|
|
147
|
+
msgstr ""
|
|
148
|
+
|
|
139
149
|
#. module: account_statement_import_sheet_file
|
|
140
150
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__create_uid
|
|
141
151
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__create_uid
|
|
@@ -366,6 +376,18 @@ msgstr "No hay una codificación válida para el fichero adjunto"
|
|
|
366
376
|
msgid "Notes Column"
|
|
367
377
|
msgstr "Columna de Notas"
|
|
368
378
|
|
|
379
|
+
#. module: account_statement_import_sheet_file
|
|
380
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
381
|
+
msgid "Offset Column"
|
|
382
|
+
msgstr ""
|
|
383
|
+
|
|
384
|
+
#. module: account_statement_import_sheet_file
|
|
385
|
+
#. odoo-python
|
|
386
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
387
|
+
#, python-format
|
|
388
|
+
msgid "Offsets cannot be negative"
|
|
389
|
+
msgstr ""
|
|
390
|
+
|
|
369
391
|
#. module: account_statement_import_sheet_file
|
|
370
392
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
371
393
|
#, fuzzy
|
|
@@ -431,6 +453,11 @@ msgid ""
|
|
|
431
453
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
432
454
|
msgstr ""
|
|
433
455
|
|
|
456
|
+
#. module: account_statement_import_sheet_file
|
|
457
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
458
|
+
msgid "Skip Empty Lines"
|
|
459
|
+
msgstr ""
|
|
460
|
+
|
|
434
461
|
#. module: account_statement_import_sheet_file
|
|
435
462
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
436
463
|
msgid "Statement Import Map"
|
|
@@ -61,6 +61,11 @@ msgstr "Valore assoluto"
|
|
|
61
61
|
msgid "Account: %s; "
|
|
62
62
|
msgstr "Conto: %s; "
|
|
63
63
|
|
|
64
|
+
#. module: account_statement_import_sheet_file
|
|
65
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
66
|
+
msgid "Allows to skip empty lines"
|
|
67
|
+
msgstr ""
|
|
68
|
+
|
|
64
69
|
#. module: account_statement_import_sheet_file
|
|
65
70
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_column
|
|
66
71
|
msgid "Amount column"
|
|
@@ -130,6 +135,11 @@ msgstr "Europeo centrale (Latin-2 / ISO 8859-2)"
|
|
|
130
135
|
msgid "Columns"
|
|
131
136
|
msgstr "Colonne"
|
|
132
137
|
|
|
138
|
+
#. module: account_statement_import_sheet_file
|
|
139
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
140
|
+
msgid "Columns to ignore before starting to parse"
|
|
141
|
+
msgstr ""
|
|
142
|
+
|
|
133
143
|
#. module: account_statement_import_sheet_file
|
|
134
144
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__create_uid
|
|
135
145
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__create_uid
|
|
@@ -352,6 +362,18 @@ msgstr "Nessuna codifica valida è stata trovata per il file allegato"
|
|
|
352
362
|
msgid "Notes Column"
|
|
353
363
|
msgstr "Colonna Note"
|
|
354
364
|
|
|
365
|
+
#. module: account_statement_import_sheet_file
|
|
366
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
367
|
+
msgid "Offset Column"
|
|
368
|
+
msgstr ""
|
|
369
|
+
|
|
370
|
+
#. module: account_statement_import_sheet_file
|
|
371
|
+
#. odoo-python
|
|
372
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
373
|
+
#, python-format
|
|
374
|
+
msgid "Offsets cannot be negative"
|
|
375
|
+
msgstr ""
|
|
376
|
+
|
|
355
377
|
#. module: account_statement_import_sheet_file
|
|
356
378
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
357
379
|
msgid "Original Amount Column"
|
|
@@ -420,6 +442,11 @@ msgstr ""
|
|
|
420
442
|
"Colonna distinta credito/debito: usare una colonna distitna per debiti e "
|
|
421
443
|
"crediti"
|
|
422
444
|
|
|
445
|
+
#. module: account_statement_import_sheet_file
|
|
446
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
447
|
+
msgid "Skip Empty Lines"
|
|
448
|
+
msgstr ""
|
|
449
|
+
|
|
423
450
|
#. module: account_statement_import_sheet_file
|
|
424
451
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
425
452
|
msgid "Statement Import Map"
|
|
@@ -53,6 +53,11 @@ msgstr ""
|
|
|
53
53
|
msgid "Account: %s; "
|
|
54
54
|
msgstr "Rekening: %s; "
|
|
55
55
|
|
|
56
|
+
#. module: account_statement_import_sheet_file
|
|
57
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
58
|
+
msgid "Allows to skip empty lines"
|
|
59
|
+
msgstr ""
|
|
60
|
+
|
|
56
61
|
#. module: account_statement_import_sheet_file
|
|
57
62
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_column
|
|
58
63
|
msgid "Amount column"
|
|
@@ -124,6 +129,11 @@ msgstr "Central European (Latin-2 / ISO 8859-2)"
|
|
|
124
129
|
msgid "Columns"
|
|
125
130
|
msgstr "Kolommen"
|
|
126
131
|
|
|
132
|
+
#. module: account_statement_import_sheet_file
|
|
133
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
134
|
+
msgid "Columns to ignore before starting to parse"
|
|
135
|
+
msgstr ""
|
|
136
|
+
|
|
127
137
|
#. module: account_statement_import_sheet_file
|
|
128
138
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__create_uid
|
|
129
139
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__create_uid
|
|
@@ -337,6 +347,18 @@ msgstr ""
|
|
|
337
347
|
msgid "Notes Column"
|
|
338
348
|
msgstr ""
|
|
339
349
|
|
|
350
|
+
#. module: account_statement_import_sheet_file
|
|
351
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
352
|
+
msgid "Offset Column"
|
|
353
|
+
msgstr ""
|
|
354
|
+
|
|
355
|
+
#. module: account_statement_import_sheet_file
|
|
356
|
+
#. odoo-python
|
|
357
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
358
|
+
#, python-format
|
|
359
|
+
msgid "Offsets cannot be negative"
|
|
360
|
+
msgstr ""
|
|
361
|
+
|
|
340
362
|
#. module: account_statement_import_sheet_file
|
|
341
363
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
342
364
|
msgid "Original Amount Column"
|
|
@@ -398,6 +420,11 @@ msgid ""
|
|
|
398
420
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
399
421
|
msgstr ""
|
|
400
422
|
|
|
423
|
+
#. module: account_statement_import_sheet_file
|
|
424
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
425
|
+
msgid "Skip Empty Lines"
|
|
426
|
+
msgstr ""
|
|
427
|
+
|
|
401
428
|
#. module: account_statement_import_sheet_file
|
|
402
429
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
403
430
|
msgid "Statement Import Map"
|
|
@@ -53,6 +53,11 @@ msgstr ""
|
|
|
53
53
|
msgid "Account: %s; "
|
|
54
54
|
msgstr ""
|
|
55
55
|
|
|
56
|
+
#. module: account_statement_import_sheet_file
|
|
57
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
58
|
+
msgid "Allows to skip empty lines"
|
|
59
|
+
msgstr ""
|
|
60
|
+
|
|
56
61
|
#. module: account_statement_import_sheet_file
|
|
57
62
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_column
|
|
58
63
|
msgid "Amount column"
|
|
@@ -122,6 +127,11 @@ msgstr ""
|
|
|
122
127
|
msgid "Columns"
|
|
123
128
|
msgstr ""
|
|
124
129
|
|
|
130
|
+
#. module: account_statement_import_sheet_file
|
|
131
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
132
|
+
msgid "Columns to ignore before starting to parse"
|
|
133
|
+
msgstr ""
|
|
134
|
+
|
|
125
135
|
#. module: account_statement_import_sheet_file
|
|
126
136
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__create_uid
|
|
127
137
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__create_uid
|
|
@@ -339,6 +349,18 @@ msgstr ""
|
|
|
339
349
|
msgid "Notes Column"
|
|
340
350
|
msgstr ""
|
|
341
351
|
|
|
352
|
+
#. module: account_statement_import_sheet_file
|
|
353
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
354
|
+
msgid "Offset Column"
|
|
355
|
+
msgstr ""
|
|
356
|
+
|
|
357
|
+
#. module: account_statement_import_sheet_file
|
|
358
|
+
#. odoo-python
|
|
359
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
360
|
+
#, python-format
|
|
361
|
+
msgid "Offsets cannot be negative"
|
|
362
|
+
msgstr ""
|
|
363
|
+
|
|
342
364
|
#. module: account_statement_import_sheet_file
|
|
343
365
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
344
366
|
msgid "Original Amount Column"
|
|
@@ -400,6 +422,11 @@ msgid ""
|
|
|
400
422
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
401
423
|
msgstr ""
|
|
402
424
|
|
|
425
|
+
#. module: account_statement_import_sheet_file
|
|
426
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
427
|
+
msgid "Skip Empty Lines"
|
|
428
|
+
msgstr ""
|
|
429
|
+
|
|
403
430
|
#. module: account_statement_import_sheet_file
|
|
404
431
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
405
432
|
msgid "Statement Import Map"
|
|
@@ -60,6 +60,11 @@ msgstr "Mutlak Tutar"
|
|
|
60
60
|
msgid "Account: %s; "
|
|
61
61
|
msgstr "Hesap: %s; "
|
|
62
62
|
|
|
63
|
+
#. module: account_statement_import_sheet_file
|
|
64
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
65
|
+
msgid "Allows to skip empty lines"
|
|
66
|
+
msgstr ""
|
|
67
|
+
|
|
63
68
|
#. module: account_statement_import_sheet_file
|
|
64
69
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_column
|
|
65
70
|
msgid "Amount column"
|
|
@@ -129,6 +134,11 @@ msgstr "Orta Avrupa (Latin-2 / ISO 8859-2)"
|
|
|
129
134
|
msgid "Columns"
|
|
130
135
|
msgstr "Sütunlar"
|
|
131
136
|
|
|
137
|
+
#. module: account_statement_import_sheet_file
|
|
138
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
139
|
+
msgid "Columns to ignore before starting to parse"
|
|
140
|
+
msgstr ""
|
|
141
|
+
|
|
132
142
|
#. module: account_statement_import_sheet_file
|
|
133
143
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__create_uid
|
|
134
144
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__create_uid
|
|
@@ -350,6 +360,18 @@ msgstr "Ekteki dosya için geçerli bir kodlama bulunamadı"
|
|
|
350
360
|
msgid "Notes Column"
|
|
351
361
|
msgstr "Not Sütunu"
|
|
352
362
|
|
|
363
|
+
#. module: account_statement_import_sheet_file
|
|
364
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
365
|
+
msgid "Offset Column"
|
|
366
|
+
msgstr ""
|
|
367
|
+
|
|
368
|
+
#. module: account_statement_import_sheet_file
|
|
369
|
+
#. odoo-python
|
|
370
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
371
|
+
#, python-format
|
|
372
|
+
msgid "Offsets cannot be negative"
|
|
373
|
+
msgstr ""
|
|
374
|
+
|
|
353
375
|
#. module: account_statement_import_sheet_file
|
|
354
376
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
355
377
|
msgid "Original Amount Column"
|
|
@@ -417,6 +439,11 @@ msgstr ""
|
|
|
417
439
|
"(mutlak değer + işaret işareti)\n"
|
|
418
440
|
"Kredi/Borç Farkı Sütunu: Borç ve alacak için ayrı bir sütun kullanın"
|
|
419
441
|
|
|
442
|
+
#. module: account_statement_import_sheet_file
|
|
443
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
444
|
+
msgid "Skip Empty Lines"
|
|
445
|
+
msgstr ""
|
|
446
|
+
|
|
420
447
|
#. module: account_statement_import_sheet_file
|
|
421
448
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
422
449
|
msgid "Statement Import Map"
|
|
@@ -55,6 +55,11 @@ msgstr "绝对值"
|
|
|
55
55
|
msgid "Account: %s; "
|
|
56
56
|
msgstr "科目: %s; "
|
|
57
57
|
|
|
58
|
+
#. module: account_statement_import_sheet_file
|
|
59
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
60
|
+
msgid "Allows to skip empty lines"
|
|
61
|
+
msgstr ""
|
|
62
|
+
|
|
58
63
|
#. module: account_statement_import_sheet_file
|
|
59
64
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_column
|
|
60
65
|
msgid "Amount column"
|
|
@@ -124,6 +129,11 @@ msgstr "中欧 (Latin-2 / ISO 8859-2)"
|
|
|
124
129
|
msgid "Columns"
|
|
125
130
|
msgstr "列名"
|
|
126
131
|
|
|
132
|
+
#. module: account_statement_import_sheet_file
|
|
133
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
134
|
+
msgid "Columns to ignore before starting to parse"
|
|
135
|
+
msgstr ""
|
|
136
|
+
|
|
127
137
|
#. module: account_statement_import_sheet_file
|
|
128
138
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__create_uid
|
|
129
139
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__create_uid
|
|
@@ -273,7 +283,8 @@ msgid ""
|
|
|
273
283
|
"In case statement provides original currency for transactions with automatic "
|
|
274
284
|
"currency conversion, column to get original transaction amount in original "
|
|
275
285
|
"transaction currency from"
|
|
276
|
-
msgstr "
|
|
286
|
+
msgstr ""
|
|
287
|
+
"如果对账单提供了带有自动货币转换的交易的原货币,从该列获取原交易货币中的原交"
|
|
277
288
|
"易金额"
|
|
278
289
|
|
|
279
290
|
#. module: account_statement_import_sheet_file
|
|
@@ -282,7 +293,8 @@ msgid ""
|
|
|
282
293
|
"In some cases such as in credit card statements the amounts are expressed in "
|
|
283
294
|
"the inverse sign. By setting this flag during the upload the amounts will be "
|
|
284
295
|
"inverted in sign."
|
|
285
|
-
msgstr "
|
|
296
|
+
msgstr ""
|
|
297
|
+
"在某些情况下,例如在信用卡对账单中,金额的表达方式是符号相反的。在上传时设置"
|
|
286
298
|
"此标志,金额的符号将被反转。"
|
|
287
299
|
|
|
288
300
|
#. module: account_statement_import_sheet_file
|
|
@@ -337,6 +349,18 @@ msgstr "未找到文件的合法编码"
|
|
|
337
349
|
msgid "Notes Column"
|
|
338
350
|
msgstr "备注列"
|
|
339
351
|
|
|
352
|
+
#. module: account_statement_import_sheet_file
|
|
353
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
354
|
+
msgid "Offset Column"
|
|
355
|
+
msgstr ""
|
|
356
|
+
|
|
357
|
+
#. module: account_statement_import_sheet_file
|
|
358
|
+
#. odoo-python
|
|
359
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
360
|
+
#, python-format
|
|
361
|
+
msgid "Offsets cannot be negative"
|
|
362
|
+
msgstr ""
|
|
363
|
+
|
|
340
364
|
#. module: account_statement_import_sheet_file
|
|
341
365
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
342
366
|
msgid "Original Amount Column"
|
|
@@ -401,6 +425,11 @@ msgstr ""
|
|
|
401
425
|
"绝对值:在借方和贷方使用同一列 (绝对值 + 指示符号)\n"
|
|
402
426
|
"不同的贷方/借方列:为借方和贷方使用不同的列"
|
|
403
427
|
|
|
428
|
+
#. module: account_statement_import_sheet_file
|
|
429
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
430
|
+
msgid "Skip Empty Lines"
|
|
431
|
+
msgstr ""
|
|
432
|
+
|
|
404
433
|
#. module: account_statement_import_sheet_file
|
|
405
434
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
406
435
|
msgid "Statement Import Map"
|
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py
CHANGED
|
@@ -174,6 +174,14 @@ class AccountStatementImportSheetMapping(models.Model):
|
|
|
174
174
|
help="Set the Header lines number.",
|
|
175
175
|
default="0",
|
|
176
176
|
)
|
|
177
|
+
skip_empty_lines = fields.Boolean(
|
|
178
|
+
default=True,
|
|
179
|
+
help="Allows to skip empty lines",
|
|
180
|
+
)
|
|
181
|
+
offset_column = fields.Integer(
|
|
182
|
+
default=0,
|
|
183
|
+
help="Columns to ignore before starting to parse",
|
|
184
|
+
)
|
|
177
185
|
|
|
178
186
|
@api.constrains(
|
|
179
187
|
"amount_type",
|
|
@@ -219,6 +227,12 @@ class AccountStatementImportSheetMapping(models.Model):
|
|
|
219
227
|
elif "comma" == self.float_thousands_sep == self.float_decimal_sep:
|
|
220
228
|
self.float_thousands_sep = "dot"
|
|
221
229
|
|
|
230
|
+
@api.constrains("offset_column")
|
|
231
|
+
def _check_columns(self):
|
|
232
|
+
for mapping in self:
|
|
233
|
+
if mapping.offset_column < 0:
|
|
234
|
+
raise ValidationError(_("Offsets cannot be negative"))
|
|
235
|
+
|
|
222
236
|
def _get_float_separators(self):
|
|
223
237
|
self.ensure_one()
|
|
224
238
|
separators = {
|
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py
CHANGED
|
@@ -188,6 +188,8 @@ class AccountStatementImportSheetParser(models.TransientModel):
|
|
|
188
188
|
else:
|
|
189
189
|
[next(csv_or_xlsx) for _i in range(header_line)]
|
|
190
190
|
header = [value.strip() for value in next(csv_or_xlsx)]
|
|
191
|
+
if mapping.offset_column:
|
|
192
|
+
header = header[mapping.offset_column :]
|
|
191
193
|
|
|
192
194
|
# NOTE no seria necesario debit_column y credit_column ya que tenemos los
|
|
193
195
|
# respectivos campos related
|
|
@@ -226,7 +228,7 @@ class AccountStatementImportSheetParser(models.TransientModel):
|
|
|
226
228
|
footer_line = numrows - mapping.footer_lines_skip_count
|
|
227
229
|
|
|
228
230
|
if isinstance(csv_or_xlsx, tuple):
|
|
229
|
-
rows = range(
|
|
231
|
+
rows = range(label_line, footer_line)
|
|
230
232
|
else:
|
|
231
233
|
rows = csv_or_xlsx
|
|
232
234
|
|
|
@@ -236,7 +238,7 @@ class AccountStatementImportSheetParser(models.TransientModel):
|
|
|
236
238
|
book = csv_or_xlsx[0]
|
|
237
239
|
sheet = csv_or_xlsx[1]
|
|
238
240
|
values = []
|
|
239
|
-
for col_index in range(
|
|
241
|
+
for col_index in range(mapping.offset_column, sheet.row_len(row)):
|
|
240
242
|
cell_type = sheet.cell_type(row, col_index)
|
|
241
243
|
cell_value = sheet.cell_value(row, col_index)
|
|
242
244
|
if cell_type == xlrd.XL_CELL_DATE:
|
|
@@ -246,6 +248,8 @@ class AccountStatementImportSheetParser(models.TransientModel):
|
|
|
246
248
|
if index >= footer_line:
|
|
247
249
|
continue
|
|
248
250
|
values = list(row)
|
|
251
|
+
if mapping.skip_empty_lines and not any(values):
|
|
252
|
+
continue
|
|
249
253
|
|
|
250
254
|
timestamp = self._get_values_from_column(
|
|
251
255
|
values, columns, "timestamp_column"
|
|
@@ -395,7 +399,9 @@ class AccountStatementImportSheetParser(models.TransientModel):
|
|
|
395
399
|
line["bank_name"] = bank_name
|
|
396
400
|
if bank_account is not None:
|
|
397
401
|
line["bank_account"] = bank_account
|
|
398
|
-
|
|
402
|
+
|
|
403
|
+
if line:
|
|
404
|
+
lines.append(line)
|
|
399
405
|
return lines
|
|
400
406
|
|
|
401
407
|
@api.model
|
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
|
|
9
9
|
/*
|
|
10
10
|
:Author: David Goodger (goodger@python.org)
|
|
11
|
-
:Id: $Id: html4css1.css
|
|
11
|
+
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
|
|
12
12
|
:Copyright: This stylesheet has been placed in the public domain.
|
|
13
13
|
|
|
14
14
|
Default cascading style sheet for the HTML output of Docutils.
|
|
15
|
+
Despite the name, some widely supported CSS2 features are used.
|
|
15
16
|
|
|
16
17
|
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
17
18
|
customize this style sheet.
|
|
@@ -274,7 +275,7 @@ pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
|
274
275
|
margin-left: 2em ;
|
|
275
276
|
margin-right: 2em }
|
|
276
277
|
|
|
277
|
-
pre.code .ln { color:
|
|
278
|
+
pre.code .ln { color: gray; } /* line numbers */
|
|
278
279
|
pre.code, code { background-color: #eeeeee }
|
|
279
280
|
pre.code .comment, code .comment { color: #5C6576 }
|
|
280
281
|
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
@@ -300,7 +301,7 @@ span.option {
|
|
|
300
301
|
span.pre {
|
|
301
302
|
white-space: pre }
|
|
302
303
|
|
|
303
|
-
span.problematic {
|
|
304
|
+
span.problematic, pre.problematic {
|
|
304
305
|
color: red }
|
|
305
306
|
|
|
306
307
|
span.section-subtitle {
|
|
@@ -366,7 +367,7 @@ ul.auto-toc {
|
|
|
366
367
|
!! This file is generated by oca-gen-addon-readme !!
|
|
367
368
|
!! changes will be overwritten. !!
|
|
368
369
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
369
|
-
!! source digest: sha256:
|
|
370
|
+
!! source digest: sha256:152e396ff6868978b165509c50726b88efd20d31f40c58c6c7a59384e8df4fbf
|
|
370
371
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
371
372
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_sheet_file"><img alt="OCA/bank-statement-import" src="https://img.shields.io/badge/github-OCA%2Fbank--statement--import-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/bank-statement-import-17-0/bank-statement-import-17-0-account_statement_import_sheet_file"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
372
373
|
<p>This module allows you to import any TXT/CSV or XLSX file in Odoo as
|
|
@@ -458,12 +459,15 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
458
459
|
<li>Alexey Pelykh <<a class="reference external" href="mailto:alexey.pelykh@corphub.eu">alexey.pelykh@corphub.eu</a>></li>
|
|
459
460
|
</ul>
|
|
460
461
|
</li>
|
|
462
|
+
<li>Sebastiano Picchi <a class="reference external" href="mailto:sebastiano.picchi@pytech.it">sebastiano.picchi@pytech.it</a></li>
|
|
461
463
|
</ul>
|
|
462
464
|
</div>
|
|
463
465
|
<div class="section" id="maintainers">
|
|
464
466
|
<h2><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h2>
|
|
465
467
|
<p>This module is maintained by the OCA.</p>
|
|
466
|
-
<a class="reference external image-reference" href="https://odoo-community.org"
|
|
468
|
+
<a class="reference external image-reference" href="https://odoo-community.org">
|
|
469
|
+
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
|
470
|
+
</a>
|
|
467
471
|
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
468
472
|
mission is to support the collaborative development of Odoo features and
|
|
469
473
|
promote its widespread use.</p>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"Date","Label","Currency","Amount","Amount Currency","Partner Name","Bank Account"
|
|
2
|
+
"02/25/2018","AAAOOO 1","EUR","-33.50","0.0","John Doe","123456789"
|
|
3
|
+
"02/26/2018","AAAOOO 2","EUR","1,525.00","1,000.00","Azure Interior",""
|
|
4
|
+
,,,,,,
|
|
5
|
+
"02/27/2018","AAAOOO 3","EUR","800.00","800.00","Azure Interior","123456789"
|
|
Binary file
|
odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py
CHANGED
|
@@ -678,3 +678,94 @@ class TestAccountStatementImportSheetFile(common.TransactionCase):
|
|
|
678
678
|
self.parser._parse_decimal(Decimal("1234.56"), self.mock_mapping_comma_dot),
|
|
679
679
|
1234.56,
|
|
680
680
|
)
|
|
681
|
+
|
|
682
|
+
def test_offsets(self):
|
|
683
|
+
journal = self.AccountJournal.create(
|
|
684
|
+
{
|
|
685
|
+
"name": "Bank",
|
|
686
|
+
"type": "bank",
|
|
687
|
+
"code": "BANK",
|
|
688
|
+
"currency_id": self.currency_usd.id,
|
|
689
|
+
"suspense_account_id": self.suspense_account.id,
|
|
690
|
+
}
|
|
691
|
+
)
|
|
692
|
+
file_name = "fixtures/sample_statement_offsets.xlsx"
|
|
693
|
+
data = self._data_file(file_name)
|
|
694
|
+
wizard = self.AccountStatementImport.with_context(journal_id=journal.id).create(
|
|
695
|
+
{
|
|
696
|
+
"statement_filename": file_name,
|
|
697
|
+
"statement_file": data,
|
|
698
|
+
"sheet_mapping_id": self.sample_statement_map.id,
|
|
699
|
+
}
|
|
700
|
+
)
|
|
701
|
+
with self.assertRaises(UserError):
|
|
702
|
+
wizard.with_context(
|
|
703
|
+
account_statement_import_txt_xlsx_test=True
|
|
704
|
+
).import_file_button()
|
|
705
|
+
statement_map_offsets = self.sample_statement_map.copy(
|
|
706
|
+
{
|
|
707
|
+
"offset_column": 1,
|
|
708
|
+
"header_lines_skip_count": 3,
|
|
709
|
+
}
|
|
710
|
+
)
|
|
711
|
+
wizard = self.AccountStatementImport.with_context(journal_id=journal.id).create(
|
|
712
|
+
{
|
|
713
|
+
"statement_filename": file_name,
|
|
714
|
+
"statement_file": data,
|
|
715
|
+
"sheet_mapping_id": statement_map_offsets.id,
|
|
716
|
+
}
|
|
717
|
+
)
|
|
718
|
+
wizard.with_context(
|
|
719
|
+
account_statement_import_txt_xlsx_test=True
|
|
720
|
+
).import_file_button()
|
|
721
|
+
statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)])
|
|
722
|
+
self.assertEqual(len(statement), 1)
|
|
723
|
+
self.assertEqual(len(statement.line_ids), 2)
|
|
724
|
+
self.assertEqual(statement.balance_start, 0.0)
|
|
725
|
+
self.assertEqual(statement.balance_end_real, 1491.5)
|
|
726
|
+
self.assertEqual(statement.balance_end, 1491.5)
|
|
727
|
+
|
|
728
|
+
def test_skip_empty_lines(self):
|
|
729
|
+
journal = self.AccountJournal.create(
|
|
730
|
+
{
|
|
731
|
+
"name": "Bank",
|
|
732
|
+
"type": "bank",
|
|
733
|
+
"code": "BANK",
|
|
734
|
+
"currency_id": self.currency_usd.id,
|
|
735
|
+
"suspense_account_id": self.suspense_account.id,
|
|
736
|
+
}
|
|
737
|
+
)
|
|
738
|
+
file_name = "fixtures/empty_lines_statement.csv"
|
|
739
|
+
data = self._data_file(file_name, "utf-8")
|
|
740
|
+
statement_map_empty_line = self.sample_statement_map.copy(
|
|
741
|
+
{
|
|
742
|
+
"skip_empty_lines": False,
|
|
743
|
+
}
|
|
744
|
+
)
|
|
745
|
+
wizard = self.AccountStatementImport.with_context(journal_id=journal.id).create(
|
|
746
|
+
{
|
|
747
|
+
"statement_filename": file_name,
|
|
748
|
+
"statement_file": data,
|
|
749
|
+
"sheet_mapping_id": statement_map_empty_line.id,
|
|
750
|
+
}
|
|
751
|
+
)
|
|
752
|
+
with self.assertRaises(UserError):
|
|
753
|
+
wizard.with_context(
|
|
754
|
+
account_statement_import_txt_xlsx_test=True
|
|
755
|
+
).import_file_button()
|
|
756
|
+
wizard = self.AccountStatementImport.with_context(journal_id=journal.id).create(
|
|
757
|
+
{
|
|
758
|
+
"statement_filename": file_name,
|
|
759
|
+
"statement_file": data,
|
|
760
|
+
"sheet_mapping_id": self.sample_statement_map.id,
|
|
761
|
+
}
|
|
762
|
+
)
|
|
763
|
+
wizard.with_context(
|
|
764
|
+
account_statement_import_txt_xlsx_test=True
|
|
765
|
+
).import_file_button()
|
|
766
|
+
statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)])
|
|
767
|
+
self.assertEqual(len(statement), 1)
|
|
768
|
+
self.assertEqual(len(statement.line_ids), 3)
|
|
769
|
+
self.assertEqual(statement.balance_start, 0.0)
|
|
770
|
+
self.assertEqual(statement.balance_end_real, 2291.5)
|
|
771
|
+
self.assertEqual(statement.balance_end, 2291.5)
|
odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml
CHANGED
|
@@ -56,8 +56,10 @@
|
|
|
56
56
|
<field name="credit_value" required="debit_credit_column" />
|
|
57
57
|
</group>
|
|
58
58
|
<group>
|
|
59
|
+
<field name="skip_empty_lines" />
|
|
59
60
|
<field name="header_lines_skip_count" />
|
|
60
61
|
<field name="footer_lines_skip_count" />
|
|
62
|
+
<field name="offset_column" invisible="no_header" />
|
|
61
63
|
</group>
|
|
62
64
|
</group>
|
|
63
65
|
<group string="Columns">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-account_statement_import_sheet_file
|
|
3
|
-
Version: 17.0.1.
|
|
3
|
+
Version: 17.0.1.1.0.1
|
|
4
4
|
Requires-Python: >=3.10
|
|
5
5
|
Requires-Dist: chardet
|
|
6
6
|
Requires-Dist: odoo-addon-account_statement_import_file>=17.0dev,<17.1dev
|
|
@@ -25,7 +25,7 @@ Bank Statement TXT/CSV/XLSX Import
|
|
|
25
25
|
!! This file is generated by oca-gen-addon-readme !!
|
|
26
26
|
!! changes will be overwritten. !!
|
|
27
27
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
28
|
-
!! source digest: sha256:
|
|
28
|
+
!! source digest: sha256:152e396ff6868978b165509c50726b88efd20d31f40c58c6c7a59384e8df4fbf
|
|
29
29
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
30
30
|
|
|
31
31
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -79,10 +79,10 @@ Changelog
|
|
|
79
79
|
12.0.2.0.0
|
|
80
80
|
----------
|
|
81
81
|
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
82
|
+
- [BREAKING] New mapping, please review mappings after upgrade.
|
|
83
|
+
- [BREAKING] Different bank accounts have to be used per each currency.
|
|
84
|
+
- [ADD] Support for both Statement and Activity reports.
|
|
85
|
+
- [ADD] Separate fee and currency exchange parsing.
|
|
86
86
|
|
|
87
87
|
Bug Tracker
|
|
88
88
|
===========
|
|
@@ -106,23 +106,25 @@ Authors
|
|
|
106
106
|
Contributors
|
|
107
107
|
------------
|
|
108
108
|
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
109
|
+
- Alexis de Lattre <alexis.delattre@akretion.com>
|
|
110
|
+
- Sebastien BEAU <sebastien.beau@akretion.com>
|
|
111
|
+
- Katherine Zaoral
|
|
112
|
+
- Tecnativa (https://www.tecnativa.com)
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
- Vicent Cubells
|
|
115
|
+
- Victor M.M. Torres
|
|
116
|
+
- Víctor Martínez
|
|
117
117
|
|
|
118
|
-
-
|
|
118
|
+
- ForgeFlow (https://www.forgeflow.com)
|
|
119
119
|
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
- Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
|
|
121
|
+
- Miquel Raïch Regué <miquel.raich@forgeflow.com>
|
|
122
122
|
|
|
123
|
-
-
|
|
123
|
+
- `CorporateHub <https://corporatehub.eu/>`__
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
- Alexey Pelykh <alexey.pelykh@corphub.eu>
|
|
126
|
+
|
|
127
|
+
- Sebastiano Picchi sebastiano.picchi@pytech.it
|
|
126
128
|
|
|
127
129
|
Maintainers
|
|
128
130
|
-----------
|
|
@@ -1,33 +1,34 @@
|
|
|
1
|
-
odoo/addons/account_statement_import_sheet_file/README.rst,sha256=
|
|
1
|
+
odoo/addons/account_statement_import_sheet_file/README.rst,sha256=k0H6MFKwBQ7tKqzKFQ7TV0aAXR0Lj9KXGbnG5gL38uk,4559
|
|
2
2
|
odoo/addons/account_statement_import_sheet_file/__init__.py,sha256=X9EJGOE2GtZbS0G82PtSXmWSZ_R8jEM0rlJTDliQjp4,21
|
|
3
|
-
odoo/addons/account_statement_import_sheet_file/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/account_statement_import_sheet_file/__manifest__.py,sha256=QXs_2Nd-yBGzGehqq8vZ9MVzcIg7QwVOmL9q8cLhSFc,934
|
|
4
4
|
odoo/addons/account_statement_import_sheet_file/data/map_data.xml,sha256=nz_4CchVMF9pb_SI4I6UZAt2IBPxWapX37lU6J6sTJ0,1225
|
|
5
|
-
odoo/addons/account_statement_import_sheet_file/i18n/account_statement_import_sheet_file.pot,sha256=
|
|
6
|
-
odoo/addons/account_statement_import_sheet_file/i18n/es.po,sha256=
|
|
7
|
-
odoo/addons/account_statement_import_sheet_file/i18n/es_AR.po,sha256=
|
|
8
|
-
odoo/addons/account_statement_import_sheet_file/i18n/it.po,sha256=
|
|
9
|
-
odoo/addons/account_statement_import_sheet_file/i18n/nl.po,sha256=
|
|
10
|
-
odoo/addons/account_statement_import_sheet_file/i18n/pt.po,sha256=
|
|
11
|
-
odoo/addons/account_statement_import_sheet_file/i18n/tr.po,sha256=
|
|
12
|
-
odoo/addons/account_statement_import_sheet_file/i18n/zh_CN.po,sha256=
|
|
5
|
+
odoo/addons/account_statement_import_sheet_file/i18n/account_statement_import_sheet_file.pot,sha256=0bOWoJHO8rwi8ouPB7ui-M2O7Ht80-pXCZkJTq3k2Tg,27191
|
|
6
|
+
odoo/addons/account_statement_import_sheet_file/i18n/es.po,sha256=AZXEocNT6Gp7W8ZpanJ0MENVamkH-nXANZtiu7Y_fB4,32246
|
|
7
|
+
odoo/addons/account_statement_import_sheet_file/i18n/es_AR.po,sha256=HWVBRxFW7P1g2XunUS8wCyYW9mg0opw-IB8VvTK_mqY,30982
|
|
8
|
+
odoo/addons/account_statement_import_sheet_file/i18n/it.po,sha256=Q4GnGQMh993nbPFkGmw68wjsRaXOEHjg7ykBxlzlF7A,32175
|
|
9
|
+
odoo/addons/account_statement_import_sheet_file/i18n/nl.po,sha256=fSlXjDI2lvODK-PzlwiEFa8zww1_GqtgANMSLriHxD8,28131
|
|
10
|
+
odoo/addons/account_statement_import_sheet_file/i18n/pt.po,sha256=fC01rVr5XDk5p6eWc11HG4PLve_I2u1uhNxT0vv9Is4,27612
|
|
11
|
+
odoo/addons/account_statement_import_sheet_file/i18n/tr.po,sha256=ywXWa4dSz1J2IZQg9v5vbJHi0T12tLFqe-pmtZjFJ2c,31357
|
|
12
|
+
odoo/addons/account_statement_import_sheet_file/i18n/zh_CN.po,sha256=AdXlAUPY3-6Gv6TNrB-xrX6if5c2Os8XQWBFb677FBA,30449
|
|
13
13
|
odoo/addons/account_statement_import_sheet_file/models/__init__.py,sha256=RsEvd89lQS7V0Mlk6D6FAWyOMDRd8YD0d9i4Xc-XcDo,240
|
|
14
14
|
odoo/addons/account_statement_import_sheet_file/models/account_journal.py,sha256=F4_deAvNErZ6o1gkw9uhDrEnHyWXUKNvk09mzCVzTIw,562
|
|
15
15
|
odoo/addons/account_statement_import_sheet_file/models/account_statement_import.py,sha256=KWDYgO9-C1ZAF7JO9Qlq2ghROcJIwKhGp1CueTnA368,1932
|
|
16
|
-
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py,sha256=
|
|
17
|
-
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py,sha256=
|
|
16
|
+
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py,sha256=HDR7tcbzw-I6h_hKRNpCFTDiHvOtfgHeAgoFV-Fg_yY,9308
|
|
17
|
+
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py,sha256=aHMiiWiN6QTLE_pFhnmjrYRZBUXI0qBlpuoUY80Sl7U,18332
|
|
18
18
|
odoo/addons/account_statement_import_sheet_file/readme/CONFIGURE.md,sha256=1Z-fR-OJrU8oshmBIcFA3yBd4evqZSgfqezqPRs8RpY,226
|
|
19
|
-
odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.md,sha256=
|
|
19
|
+
odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.md,sha256=Xuy8w1BQ1Nh6eVxGLjqVWXlzIMK7EAGf3whVsycey_Q,535
|
|
20
20
|
odoo/addons/account_statement_import_sheet_file/readme/DESCRIPTION.md,sha256=VFlOJ-nljwNW6S9uaZVNb_x6Gw1P0FLr6gHcV2-dHk4,86
|
|
21
21
|
odoo/addons/account_statement_import_sheet_file/readme/HISTORY.md,sha256=7y-Qd00CnGzaFNX1N4w-TiCAzeubOmsKDXQ-otIfjFQ,270
|
|
22
22
|
odoo/addons/account_statement_import_sheet_file/readme/USAGE.md,sha256=KcCNrSS7xVkRrpqfoZoL6VVkysu1dpOgRRNTfn2QH0c,190
|
|
23
23
|
odoo/addons/account_statement_import_sheet_file/security/ir.model.access.csv,sha256=ofB5jVirJJ3FQ-uWfKFD-DIg8Lh9bYLaUDQWnb9MkgM,685
|
|
24
24
|
odoo/addons/account_statement_import_sheet_file/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
25
|
-
odoo/addons/account_statement_import_sheet_file/static/description/index.html,sha256=
|
|
25
|
+
odoo/addons/account_statement_import_sheet_file/static/description/index.html,sha256=WlRlq-ywWXpstlcjtSprdESjORsK9ly7e8I6CKmN5kE,15507
|
|
26
26
|
odoo/addons/account_statement_import_sheet_file/tests/__init__.py,sha256=f7vTpmONnfbbcMp5wZ1p7muSkyLC2vcDONaw2VGyiBw,121
|
|
27
|
-
odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py,sha256=
|
|
27
|
+
odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py,sha256=qLDrS6cmMQZnh1yKkuhToFD1vKXr19s33Rb-TDKPRUY,31320
|
|
28
28
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/balance.csv,sha256=-7VrGM_IbKhOJzbX-bUMIsnd99uDIBkalTytlj2jVtk,209
|
|
29
29
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/debit_credit.csv,sha256=AaVQ9G5gqsLhxtAsYXCmFCTxpBPonKA1uxy7ue5gYYE,223
|
|
30
30
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/debit_credit_amount.csv,sha256=y-VoBcF_7WaUZhnmOqSuCv7ElCKSHRbsqKWpCH49Ams,369
|
|
31
|
+
odoo/addons/account_statement_import_sheet_file/tests/fixtures/empty_lines_statement.csv,sha256=xdz79S_wAaS4gbUWHuB-AbRSBMsVszmbjDHQ3Mw-6Cg,307
|
|
31
32
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/empty_statement_en.csv,sha256=rSO7KWfNGFl4Npw2HisF6Ke3Sbj2MVnzbTxKhovoxS8,83
|
|
32
33
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/empty_statement_en.xlsx,sha256=GHF5ZWjQNgyPGlHlxgtO4bRbMG4S18O5g5tkPPq9pPg,9041
|
|
33
34
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/meta_data_separated_credit_debit.csv,sha256=bP9oAVsyozBXsT1nfQ4sw9c0Y-YPdEk8TOPxoUrQSIE,512
|
|
@@ -40,10 +41,11 @@ odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_
|
|
|
40
41
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en.csv,sha256=6WexRDEog728ur2DK7J_xI056FCrX5CkB-3xK6LixAM,265
|
|
41
42
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en.xlsx,sha256=eOpaIIiKh6hTE_ebGwCgIaJBpoehKEQAqrXjHiMklVQ,5101
|
|
42
43
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en_empty_values.xlsx,sha256=hNsBB9zBQG11On56axs8nZRrzff9d6DFVyQGsyuRb_M,6501
|
|
44
|
+
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_offsets.xlsx,sha256=zfuCnPrKeXQmZ3VV3FgdMY59ZDt7WOQx5PYNchNbUp0,5993
|
|
43
45
|
odoo/addons/account_statement_import_sheet_file/views/account_journal_views.xml,sha256=h3A5JmNGunmCybjD_Gx_v6PghhHy0TOqos3Bu5PHhTk,594
|
|
44
46
|
odoo/addons/account_statement_import_sheet_file/views/account_statement_import.xml,sha256=KhgiMxHjI5tq1RlkmDYOhejqrxN4mXLc5nT9EM9gQ5s,842
|
|
45
|
-
odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml,sha256=
|
|
46
|
-
odoo_addon_account_statement_import_sheet_file-17.0.1.
|
|
47
|
-
odoo_addon_account_statement_import_sheet_file-17.0.1.
|
|
48
|
-
odoo_addon_account_statement_import_sheet_file-17.0.1.
|
|
49
|
-
odoo_addon_account_statement_import_sheet_file-17.0.1.
|
|
47
|
+
odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml,sha256=_NrwpFVmFcugUBoWBMTkHXp_s_Y1oZN9dec0ya-gkbc,6374
|
|
48
|
+
odoo_addon_account_statement_import_sheet_file-17.0.1.1.0.1.dist-info/METADATA,sha256=TooS8xWJj79ICiGoFZGcT2Z4h1Jic6DPkdXg1de-Drg,5265
|
|
49
|
+
odoo_addon_account_statement_import_sheet_file-17.0.1.1.0.1.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
|
|
50
|
+
odoo_addon_account_statement_import_sheet_file-17.0.1.1.0.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
51
|
+
odoo_addon_account_statement_import_sheet_file-17.0.1.1.0.1.dist-info/RECORD,,
|