odoo-addon-account-statement-import-sheet-file 16.0.1.1.2.3__py3-none-any.whl → 16.0.1.2.0.2__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.
- odoo/addons/account_statement_import_sheet_file/README.rst +3 -1
- 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 +29 -2
- 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 +27 -0
- 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.rst +2 -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 +92 -0
- odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml +5 -0
- {odoo_addon_account_statement_import_sheet_file-16.0.1.1.2.3.dist-info → odoo_addon_account_statement_import_sheet_file-16.0.1.2.0.2.dist-info}/METADATA +6 -4
- {odoo_addon_account_statement_import_sheet_file-16.0.1.1.2.3.dist-info → odoo_addon_account_statement_import_sheet_file-16.0.1.2.0.2.dist-info}/RECORD +22 -20
- {odoo_addon_account_statement_import_sheet_file-16.0.1.1.2.3.dist-info → odoo_addon_account_statement_import_sheet_file-16.0.1.2.0.2.dist-info}/WHEEL +1 -1
- {odoo_addon_account_statement_import_sheet_file-16.0.1.1.2.3.dist-info → odoo_addon_account_statement_import_sheet_file-16.0.1.2.0.2.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:acff5e192bc46ec467520a8d5694d21eae3835eba41353e3f965836260c88306
|
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
12
12
|
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -103,6 +103,8 @@ Contributors
|
|
|
103
103
|
|
|
104
104
|
* Alexey Pelykh <alexey.pelykh@corphub.eu>
|
|
105
105
|
|
|
106
|
+
* Sebastiano Picchi <sebastiano.picchi@pytech.it>
|
|
107
|
+
|
|
106
108
|
Maintainers
|
|
107
109
|
~~~~~~~~~~~
|
|
108
110
|
|
|
@@ -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": "16.0.1.
|
|
8
|
+
"version": "16.0.1.2.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"
|
|
@@ -234,6 +239,11 @@ msgstr ""
|
|
|
234
239
|
msgid "Header lines skip count"
|
|
235
240
|
msgstr ""
|
|
236
241
|
|
|
242
|
+
#. module: account_statement_import_sheet_file
|
|
243
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
244
|
+
msgid "Horizontal spaces to ignore before starting to parse"
|
|
245
|
+
msgstr ""
|
|
246
|
+
|
|
237
247
|
#. module: account_statement_import_sheet_file
|
|
238
248
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__id
|
|
239
249
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__id
|
|
@@ -333,6 +343,18 @@ msgstr ""
|
|
|
333
343
|
msgid "Notes Column"
|
|
334
344
|
msgstr ""
|
|
335
345
|
|
|
346
|
+
#. module: account_statement_import_sheet_file
|
|
347
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
348
|
+
msgid "Offset Column"
|
|
349
|
+
msgstr ""
|
|
350
|
+
|
|
351
|
+
#. module: account_statement_import_sheet_file
|
|
352
|
+
#. odoo-python
|
|
353
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
354
|
+
#, python-format
|
|
355
|
+
msgid "Offsets cannot be negative"
|
|
356
|
+
msgstr ""
|
|
357
|
+
|
|
336
358
|
#. module: account_statement_import_sheet_file
|
|
337
359
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
338
360
|
msgid "Original Amount Column"
|
|
@@ -394,6 +416,11 @@ msgid ""
|
|
|
394
416
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
395
417
|
msgstr ""
|
|
396
418
|
|
|
419
|
+
#. module: account_statement_import_sheet_file
|
|
420
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
421
|
+
msgid "Skip Empty Lines"
|
|
422
|
+
msgstr ""
|
|
423
|
+
|
|
397
424
|
#. module: account_statement_import_sheet_file
|
|
398
425
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
399
426
|
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"
|
|
@@ -248,6 +253,11 @@ msgstr "Recuento de líneas omitidas a pie de página"
|
|
|
248
253
|
msgid "Header lines skip count"
|
|
249
254
|
msgstr "Recuento de líneas de cabecera omitidas"
|
|
250
255
|
|
|
256
|
+
#. module: account_statement_import_sheet_file
|
|
257
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
258
|
+
msgid "Horizontal spaces to ignore before starting to parse"
|
|
259
|
+
msgstr ""
|
|
260
|
+
|
|
251
261
|
#. module: account_statement_import_sheet_file
|
|
252
262
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__id
|
|
253
263
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__id
|
|
@@ -358,6 +368,18 @@ msgstr "No hay una codificación válida para el fichero adjunto"
|
|
|
358
368
|
msgid "Notes Column"
|
|
359
369
|
msgstr "Columna de Notas"
|
|
360
370
|
|
|
371
|
+
#. module: account_statement_import_sheet_file
|
|
372
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
373
|
+
msgid "Offset Column"
|
|
374
|
+
msgstr ""
|
|
375
|
+
|
|
376
|
+
#. module: account_statement_import_sheet_file
|
|
377
|
+
#. odoo-python
|
|
378
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
379
|
+
#, python-format
|
|
380
|
+
msgid "Offsets cannot be negative"
|
|
381
|
+
msgstr ""
|
|
382
|
+
|
|
361
383
|
#. module: account_statement_import_sheet_file
|
|
362
384
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
363
385
|
msgid "Original Amount Column"
|
|
@@ -426,6 +448,11 @@ msgstr ""
|
|
|
426
448
|
"Columna distinta para débito/crédito: utilice una columna distinta para "
|
|
427
449
|
"débito y crédito"
|
|
428
450
|
|
|
451
|
+
#. module: account_statement_import_sheet_file
|
|
452
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
453
|
+
msgid "Skip Empty Lines"
|
|
454
|
+
msgstr ""
|
|
455
|
+
|
|
429
456
|
#. module: account_statement_import_sheet_file
|
|
430
457
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
431
458
|
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
|
|
@@ -264,6 +269,11 @@ msgstr ""
|
|
|
264
269
|
msgid "Header lines skip count"
|
|
265
270
|
msgstr ""
|
|
266
271
|
|
|
272
|
+
#. module: account_statement_import_sheet_file
|
|
273
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
274
|
+
msgid "Horizontal spaces to ignore before starting to parse"
|
|
275
|
+
msgstr ""
|
|
276
|
+
|
|
267
277
|
#. module: account_statement_import_sheet_file
|
|
268
278
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__id
|
|
269
279
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__id
|
|
@@ -372,6 +382,18 @@ msgstr "No hay una codificación válida para el fichero adjunto"
|
|
|
372
382
|
msgid "Notes Column"
|
|
373
383
|
msgstr "Columna de Notas"
|
|
374
384
|
|
|
385
|
+
#. module: account_statement_import_sheet_file
|
|
386
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
387
|
+
msgid "Offset Column"
|
|
388
|
+
msgstr ""
|
|
389
|
+
|
|
390
|
+
#. module: account_statement_import_sheet_file
|
|
391
|
+
#. odoo-python
|
|
392
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
393
|
+
#, python-format
|
|
394
|
+
msgid "Offsets cannot be negative"
|
|
395
|
+
msgstr ""
|
|
396
|
+
|
|
375
397
|
#. module: account_statement_import_sheet_file
|
|
376
398
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
377
399
|
#, fuzzy
|
|
@@ -437,6 +459,11 @@ msgid ""
|
|
|
437
459
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
438
460
|
msgstr ""
|
|
439
461
|
|
|
462
|
+
#. module: account_statement_import_sheet_file
|
|
463
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
464
|
+
msgid "Skip Empty Lines"
|
|
465
|
+
msgstr ""
|
|
466
|
+
|
|
440
467
|
#. module: account_statement_import_sheet_file
|
|
441
468
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
442
469
|
msgid "Statement Import Map"
|
|
@@ -7,7 +7,7 @@ msgstr ""
|
|
|
7
7
|
"Project-Id-Version: Odoo Server 14.0\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
9
|
"POT-Creation-Date: 2023-10-18 06:13+0000\n"
|
|
10
|
-
"PO-Revision-Date: 2024-
|
|
10
|
+
"PO-Revision-Date: 2024-11-26 20:06+0000\n"
|
|
11
11
|
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
|
12
12
|
"Language-Team: none\n"
|
|
13
13
|
"Language: it\n"
|
|
@@ -15,7 +15,7 @@ msgstr ""
|
|
|
15
15
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
16
16
|
"Content-Transfer-Encoding: 8bit\n"
|
|
17
17
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
18
|
-
"X-Generator: Weblate
|
|
18
|
+
"X-Generator: Weblate 5.6.2\n"
|
|
19
19
|
|
|
20
20
|
#. module: account_statement_import_sheet_file
|
|
21
21
|
#. odoo-python
|
|
@@ -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 "Consente di saltare righe vuote"
|
|
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"
|
|
@@ -248,6 +253,11 @@ msgstr "Numero righe da saltare a piè pagina"
|
|
|
248
253
|
msgid "Header lines skip count"
|
|
249
254
|
msgstr "Numero righe da saltare in intestazione"
|
|
250
255
|
|
|
256
|
+
#. module: account_statement_import_sheet_file
|
|
257
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
258
|
+
msgid "Horizontal spaces to ignore before starting to parse"
|
|
259
|
+
msgstr "Spazi orizzontali da ignorare prima di iniziare a decodificare"
|
|
260
|
+
|
|
251
261
|
#. module: account_statement_import_sheet_file
|
|
252
262
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__id
|
|
253
263
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__id
|
|
@@ -358,6 +368,18 @@ msgstr "Nessuna codifica valida è stata trovata per il file allegato"
|
|
|
358
368
|
msgid "Notes Column"
|
|
359
369
|
msgstr "Colonna Note"
|
|
360
370
|
|
|
371
|
+
#. module: account_statement_import_sheet_file
|
|
372
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
373
|
+
msgid "Offset Column"
|
|
374
|
+
msgstr "Colonna offset"
|
|
375
|
+
|
|
376
|
+
#. module: account_statement_import_sheet_file
|
|
377
|
+
#. odoo-python
|
|
378
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
379
|
+
#, python-format
|
|
380
|
+
msgid "Offsets cannot be negative"
|
|
381
|
+
msgstr "L'offset non può essere negativo"
|
|
382
|
+
|
|
361
383
|
#. module: account_statement_import_sheet_file
|
|
362
384
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
363
385
|
msgid "Original Amount Column"
|
|
@@ -426,6 +448,11 @@ msgstr ""
|
|
|
426
448
|
"Distinzione colonne Debito/Credito: una due colonne distinte per debito e "
|
|
427
449
|
"credito"
|
|
428
450
|
|
|
451
|
+
#. module: account_statement_import_sheet_file
|
|
452
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
453
|
+
msgid "Skip Empty Lines"
|
|
454
|
+
msgstr "Salta righe vuote"
|
|
455
|
+
|
|
429
456
|
#. module: account_statement_import_sheet_file
|
|
430
457
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
431
458
|
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"
|
|
@@ -242,6 +247,11 @@ msgstr ""
|
|
|
242
247
|
msgid "Header lines skip count"
|
|
243
248
|
msgstr ""
|
|
244
249
|
|
|
250
|
+
#. module: account_statement_import_sheet_file
|
|
251
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
252
|
+
msgid "Horizontal spaces to ignore before starting to parse"
|
|
253
|
+
msgstr ""
|
|
254
|
+
|
|
245
255
|
#. module: account_statement_import_sheet_file
|
|
246
256
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__id
|
|
247
257
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__id
|
|
@@ -343,6 +353,18 @@ msgstr ""
|
|
|
343
353
|
msgid "Notes Column"
|
|
344
354
|
msgstr ""
|
|
345
355
|
|
|
356
|
+
#. module: account_statement_import_sheet_file
|
|
357
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
358
|
+
msgid "Offset Column"
|
|
359
|
+
msgstr ""
|
|
360
|
+
|
|
361
|
+
#. module: account_statement_import_sheet_file
|
|
362
|
+
#. odoo-python
|
|
363
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
364
|
+
#, python-format
|
|
365
|
+
msgid "Offsets cannot be negative"
|
|
366
|
+
msgstr ""
|
|
367
|
+
|
|
346
368
|
#. module: account_statement_import_sheet_file
|
|
347
369
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
348
370
|
msgid "Original Amount Column"
|
|
@@ -404,6 +426,11 @@ msgid ""
|
|
|
404
426
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
405
427
|
msgstr ""
|
|
406
428
|
|
|
429
|
+
#. module: account_statement_import_sheet_file
|
|
430
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
431
|
+
msgid "Skip Empty Lines"
|
|
432
|
+
msgstr ""
|
|
433
|
+
|
|
407
434
|
#. module: account_statement_import_sheet_file
|
|
408
435
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
409
436
|
msgid "Statement Import Map"
|
|
@@ -61,6 +61,11 @@ msgstr "Valor absoluto"
|
|
|
61
61
|
msgid "Account: %s; "
|
|
62
62
|
msgstr "Conta: %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"
|
|
@@ -248,6 +253,11 @@ msgstr "Número de linhas de rodapé ignoradas"
|
|
|
248
253
|
msgid "Header lines skip count"
|
|
249
254
|
msgstr "Número de linhas de cabeçalho ignoradas"
|
|
250
255
|
|
|
256
|
+
#. module: account_statement_import_sheet_file
|
|
257
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
258
|
+
msgid "Horizontal spaces to ignore before starting to parse"
|
|
259
|
+
msgstr ""
|
|
260
|
+
|
|
251
261
|
#. module: account_statement_import_sheet_file
|
|
252
262
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__id
|
|
253
263
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__id
|
|
@@ -357,6 +367,18 @@ msgstr "Não foi encontrada nenhuma codificação válida para o ficheiro anexad
|
|
|
357
367
|
msgid "Notes Column"
|
|
358
368
|
msgstr "Coluna de Notas"
|
|
359
369
|
|
|
370
|
+
#. module: account_statement_import_sheet_file
|
|
371
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
372
|
+
msgid "Offset Column"
|
|
373
|
+
msgstr ""
|
|
374
|
+
|
|
375
|
+
#. module: account_statement_import_sheet_file
|
|
376
|
+
#. odoo-python
|
|
377
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
378
|
+
#, python-format
|
|
379
|
+
msgid "Offsets cannot be negative"
|
|
380
|
+
msgstr ""
|
|
381
|
+
|
|
360
382
|
#. module: account_statement_import_sheet_file
|
|
361
383
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
362
384
|
msgid "Original Amount Column"
|
|
@@ -425,6 +447,11 @@ msgstr ""
|
|
|
425
447
|
"Coluna de Crédito/débito Distinta: use colunas distintas para débitos e "
|
|
426
448
|
"créditos"
|
|
427
449
|
|
|
450
|
+
#. module: account_statement_import_sheet_file
|
|
451
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
452
|
+
msgid "Skip Empty Lines"
|
|
453
|
+
msgstr ""
|
|
454
|
+
|
|
428
455
|
#. module: account_statement_import_sheet_file
|
|
429
456
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
430
457
|
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"
|
|
@@ -247,6 +252,11 @@ msgstr "Altbilgi Satır Sayısı"
|
|
|
247
252
|
msgid "Header lines skip count"
|
|
248
253
|
msgstr "Başlık Satır Sayısı"
|
|
249
254
|
|
|
255
|
+
#. module: account_statement_import_sheet_file
|
|
256
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
257
|
+
msgid "Horizontal spaces to ignore before starting to parse"
|
|
258
|
+
msgstr ""
|
|
259
|
+
|
|
250
260
|
#. module: account_statement_import_sheet_file
|
|
251
261
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__id
|
|
252
262
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__id
|
|
@@ -356,6 +366,18 @@ msgstr "Ekteki dosya için geçerli bir kodlama bulunamadı"
|
|
|
356
366
|
msgid "Notes Column"
|
|
357
367
|
msgstr "Not Sütunu"
|
|
358
368
|
|
|
369
|
+
#. module: account_statement_import_sheet_file
|
|
370
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
371
|
+
msgid "Offset Column"
|
|
372
|
+
msgstr ""
|
|
373
|
+
|
|
374
|
+
#. module: account_statement_import_sheet_file
|
|
375
|
+
#. odoo-python
|
|
376
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
377
|
+
#, python-format
|
|
378
|
+
msgid "Offsets cannot be negative"
|
|
379
|
+
msgstr ""
|
|
380
|
+
|
|
359
381
|
#. module: account_statement_import_sheet_file
|
|
360
382
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
361
383
|
msgid "Original Amount Column"
|
|
@@ -423,6 +445,11 @@ msgstr ""
|
|
|
423
445
|
"(mutlak değer + işaret işareti)\n"
|
|
424
446
|
"Kredi/Borç Farkı Sütunu: Borç ve alacak için ayrı bir sütun kullanın"
|
|
425
447
|
|
|
448
|
+
#. module: account_statement_import_sheet_file
|
|
449
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
450
|
+
msgid "Skip Empty Lines"
|
|
451
|
+
msgstr ""
|
|
452
|
+
|
|
426
453
|
#. module: account_statement_import_sheet_file
|
|
427
454
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
428
455
|
msgid "Statement Import Map"
|
|
@@ -53,6 +53,11 @@ msgstr ""
|
|
|
53
53
|
msgid "Account: %s; "
|
|
54
54
|
msgstr "账户: %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"
|
|
@@ -243,6 +248,11 @@ msgstr ""
|
|
|
243
248
|
msgid "Header lines skip count"
|
|
244
249
|
msgstr ""
|
|
245
250
|
|
|
251
|
+
#. module: account_statement_import_sheet_file
|
|
252
|
+
#: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
253
|
+
msgid "Horizontal spaces to ignore before starting to parse"
|
|
254
|
+
msgstr ""
|
|
255
|
+
|
|
246
256
|
#. module: account_statement_import_sheet_file
|
|
247
257
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__id
|
|
248
258
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_parser__id
|
|
@@ -343,6 +353,18 @@ msgstr ""
|
|
|
343
353
|
msgid "Notes Column"
|
|
344
354
|
msgstr ""
|
|
345
355
|
|
|
356
|
+
#. module: account_statement_import_sheet_file
|
|
357
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__offset_column
|
|
358
|
+
msgid "Offset Column"
|
|
359
|
+
msgstr ""
|
|
360
|
+
|
|
361
|
+
#. module: account_statement_import_sheet_file
|
|
362
|
+
#. odoo-python
|
|
363
|
+
#: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
|
|
364
|
+
#, python-format
|
|
365
|
+
msgid "Offsets cannot be negative"
|
|
366
|
+
msgstr ""
|
|
367
|
+
|
|
346
368
|
#. module: account_statement_import_sheet_file
|
|
347
369
|
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__original_amount_column
|
|
348
370
|
msgid "Original Amount Column"
|
|
@@ -404,6 +426,11 @@ msgid ""
|
|
|
404
426
|
"Distinct Credit/debit Column: use a distinct column for debit and credit"
|
|
405
427
|
msgstr ""
|
|
406
428
|
|
|
429
|
+
#. module: account_statement_import_sheet_file
|
|
430
|
+
#: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__skip_empty_lines
|
|
431
|
+
msgid "Skip Empty Lines"
|
|
432
|
+
msgstr ""
|
|
433
|
+
|
|
407
434
|
#. module: account_statement_import_sheet_file
|
|
408
435
|
#: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.view_account_journal_form_n43
|
|
409
436
|
msgid "Statement Import Map"
|
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py
CHANGED
|
@@ -173,6 +173,14 @@ class AccountStatementImportSheetMapping(models.Model):
|
|
|
173
173
|
help="Set the Header lines number.",
|
|
174
174
|
default="0",
|
|
175
175
|
)
|
|
176
|
+
skip_empty_lines = fields.Boolean(
|
|
177
|
+
default=False,
|
|
178
|
+
help="Allows to skip empty lines",
|
|
179
|
+
)
|
|
180
|
+
offset_column = fields.Integer(
|
|
181
|
+
default=0,
|
|
182
|
+
help="Horizontal spaces to ignore before starting to parse",
|
|
183
|
+
)
|
|
176
184
|
|
|
177
185
|
@api.constrains(
|
|
178
186
|
"amount_type",
|
|
@@ -217,6 +225,12 @@ class AccountStatementImportSheetMapping(models.Model):
|
|
|
217
225
|
elif "comma" == self.float_thousands_sep == self.float_decimal_sep:
|
|
218
226
|
self.float_thousands_sep = "dot"
|
|
219
227
|
|
|
228
|
+
@api.constrains("offset_column")
|
|
229
|
+
def _check_columns(self):
|
|
230
|
+
for mapping in self:
|
|
231
|
+
if mapping.offset_column < 0:
|
|
232
|
+
raise ValidationError(_("Offsets cannot be negative"))
|
|
233
|
+
|
|
220
234
|
def _get_float_separators(self):
|
|
221
235
|
self.ensure_one()
|
|
222
236
|
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"
|
|
@@ -375,7 +379,9 @@ class AccountStatementImportSheetParser(models.TransientModel):
|
|
|
375
379
|
line["bank_name"] = bank_name
|
|
376
380
|
if bank_account is not None:
|
|
377
381
|
line["bank_account"] = bank_account
|
|
378
|
-
|
|
382
|
+
|
|
383
|
+
if line:
|
|
384
|
+
lines.append(line)
|
|
379
385
|
return lines
|
|
380
386
|
|
|
381
387
|
@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:acff5e192bc46ec467520a8d5694d21eae3835eba41353e3f965836260c88306
|
|
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/16.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-16-0/bank-statement-import-16-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=16.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 bank
|
|
@@ -455,12 +456,15 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
455
456
|
<li>Alexey Pelykh <<a class="reference external" href="mailto:alexey.pelykh@corphub.eu">alexey.pelykh@corphub.eu</a>></li>
|
|
456
457
|
</ul>
|
|
457
458
|
</li>
|
|
459
|
+
<li>Sebastiano Picchi <<a class="reference external" href="mailto:sebastiano.picchi@pytech.it">sebastiano.picchi@pytech.it</a>></li>
|
|
458
460
|
</ul>
|
|
459
461
|
</div>
|
|
460
462
|
<div class="section" id="maintainers">
|
|
461
463
|
<h2><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h2>
|
|
462
464
|
<p>This module is maintained by the OCA.</p>
|
|
463
|
-
<a class="reference external image-reference" href="https://odoo-community.org"
|
|
465
|
+
<a class="reference external image-reference" href="https://odoo-community.org">
|
|
466
|
+
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
|
467
|
+
</a>
|
|
464
468
|
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
465
469
|
mission is to support the collaborative development of Odoo features and
|
|
466
470
|
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,95 @@ 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
|
+
|
|
741
|
+
wizard = self.AccountStatementImport.with_context(journal_id=journal.id).create(
|
|
742
|
+
{
|
|
743
|
+
"statement_filename": file_name,
|
|
744
|
+
"statement_file": data,
|
|
745
|
+
"sheet_mapping_id": self.sample_statement_map.id,
|
|
746
|
+
}
|
|
747
|
+
)
|
|
748
|
+
with self.assertRaises(UserError):
|
|
749
|
+
wizard.with_context(
|
|
750
|
+
account_statement_import_txt_xlsx_test=True
|
|
751
|
+
).import_file_button()
|
|
752
|
+
statement_map_empty_line = self.sample_statement_map.copy(
|
|
753
|
+
{
|
|
754
|
+
"skip_empty_lines": True,
|
|
755
|
+
}
|
|
756
|
+
)
|
|
757
|
+
wizard = self.AccountStatementImport.with_context(journal_id=journal.id).create(
|
|
758
|
+
{
|
|
759
|
+
"statement_filename": file_name,
|
|
760
|
+
"statement_file": data,
|
|
761
|
+
"sheet_mapping_id": statement_map_empty_line.id,
|
|
762
|
+
}
|
|
763
|
+
)
|
|
764
|
+
wizard.with_context(
|
|
765
|
+
account_statement_import_txt_xlsx_test=True
|
|
766
|
+
).import_file_button()
|
|
767
|
+
statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)])
|
|
768
|
+
self.assertEqual(len(statement), 1)
|
|
769
|
+
self.assertEqual(len(statement.line_ids), 3)
|
|
770
|
+
self.assertEqual(statement.balance_start, 0.0)
|
|
771
|
+
self.assertEqual(statement.balance_end_real, 2291.5)
|
|
772
|
+
self.assertEqual(statement.balance_end, 2291.5)
|
odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml
CHANGED
|
@@ -64,8 +64,13 @@
|
|
|
64
64
|
/>
|
|
65
65
|
</group>
|
|
66
66
|
<group>
|
|
67
|
+
<field name="skip_empty_lines" />
|
|
67
68
|
<field name="header_lines_skip_count" />
|
|
68
69
|
<field name="footer_lines_skip_count" />
|
|
70
|
+
<field
|
|
71
|
+
name="offset_column"
|
|
72
|
+
attrs="{'invisible': [('no_header', '=', True)]}"
|
|
73
|
+
/>
|
|
69
74
|
</group>
|
|
70
75
|
</group>
|
|
71
76
|
<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: 16.0.1.
|
|
3
|
+
Version: 16.0.1.2.0.2
|
|
4
4
|
Summary: Import TXT/CSV or XLSX files as Bank Statements in Odoo
|
|
5
5
|
Home-page: https://github.com/OCA/bank-statement-import
|
|
6
6
|
Author: ForgeFlow, CorporateHub, Odoo Community Association (OCA)
|
|
@@ -12,8 +12,8 @@ Classifier: Framework :: Odoo :: 16.0
|
|
|
12
12
|
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
|
13
13
|
Requires-Python: >=3.10
|
|
14
14
|
Requires-Dist: chardet
|
|
15
|
-
Requires-Dist: odoo-addon-account-statement-import-file
|
|
16
|
-
Requires-Dist: odoo
|
|
15
|
+
Requires-Dist: odoo-addon-account-statement-import-file<16.1dev,>=16.0dev
|
|
16
|
+
Requires-Dist: odoo<16.1dev,>=16.0a
|
|
17
17
|
Requires-Dist: xlrd
|
|
18
18
|
|
|
19
19
|
==================================
|
|
@@ -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:acff5e192bc46ec467520a8d5694d21eae3835eba41353e3f965836260c88306
|
|
29
29
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
30
30
|
|
|
31
31
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -121,6 +121,8 @@ Contributors
|
|
|
121
121
|
|
|
122
122
|
* Alexey Pelykh <alexey.pelykh@corphub.eu>
|
|
123
123
|
|
|
124
|
+
* Sebastiano Picchi <sebastiano.picchi@pytech.it>
|
|
125
|
+
|
|
124
126
|
Maintainers
|
|
125
127
|
~~~~~~~~~~~
|
|
126
128
|
|
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
odoo/addons/account_statement_import_sheet_file/README.rst,sha256=
|
|
1
|
+
odoo/addons/account_statement_import_sheet_file/README.rst,sha256=gN98_NRf8uXEqFAhgdEHp_LFBd16SyAfoZz4dht9Oms,4552
|
|
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=qEKCPt-BJw6nTrwN9AcIUlIr0y6gzn7evVoufpbxwLo,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=DgDFbQyuR1YqR01mma0SDXDHR3HhzW4TLC3iP6EG6lY,27561
|
|
6
|
+
odoo/addons/account_statement_import_sheet_file/i18n/es.po,sha256=cc49_7j2MxAIgWW9qLkbSID5miCKh45jDqI2o3hRwbU,33023
|
|
7
|
+
odoo/addons/account_statement_import_sheet_file/i18n/es_AR.po,sha256=pkESZAa4kIJXiyoF6R_3cXnaO19ggeKPvyvft7KPZG4,31310
|
|
8
|
+
odoo/addons/account_statement_import_sheet_file/i18n/it.po,sha256=7H2FFY5LZKhnEwKlDjOvBDPwQWLBvjJMyZIdJBK84Uo,32134
|
|
9
|
+
odoo/addons/account_statement_import_sheet_file/i18n/nl.po,sha256=hnok3FltbM0qOyzVrZtSMEE7YwATT8C-9c_xojfLt1M,28459
|
|
10
|
+
odoo/addons/account_statement_import_sheet_file/i18n/pt.po,sha256=VPRwn21OjIkyQn8Maj6ghYvAGqj2hToypNS4YIRS02E,32091
|
|
11
|
+
odoo/addons/account_statement_import_sheet_file/i18n/tr.po,sha256=VTT1EMfFAS1EWJIUzchRcsRWDcut06pEdTVX2TKcxso,31710
|
|
12
|
+
odoo/addons/account_statement_import_sheet_file/i18n/zh_CN.po,sha256=PmxTM9EQpVFxOfteVRTglW8GSwgaDzLnOMXODa7IIRs,28359
|
|
13
13
|
odoo/addons/account_statement_import_sheet_file/migrations/16.0.1.0.0/pre-migration.py,sha256=RWsXKnn1oH9MM8Jl-XPXROi-qpn3sJ4tYT0GKZ1PuOc,1487
|
|
14
14
|
odoo/addons/account_statement_import_sheet_file/models/__init__.py,sha256=RsEvd89lQS7V0Mlk6D6FAWyOMDRd8YD0d9i4Xc-XcDo,240
|
|
15
15
|
odoo/addons/account_statement_import_sheet_file/models/account_journal.py,sha256=F4_deAvNErZ6o1gkw9uhDrEnHyWXUKNvk09mzCVzTIw,562
|
|
16
16
|
odoo/addons/account_statement_import_sheet_file/models/account_statement_import.py,sha256=KWDYgO9-C1ZAF7JO9Qlq2ghROcJIwKhGp1CueTnA368,1932
|
|
17
|
-
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py,sha256=
|
|
18
|
-
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py,sha256=
|
|
17
|
+
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py,sha256=5TY9PwEDJhBCKDDpNR0NQI33vIs4W16ZIkPnhcDDj-Q,9281
|
|
18
|
+
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py,sha256=GDmW5HP01IRFFLs3bDY6_rfvHzIQVkZ8mMO3VBWcbgo,17541
|
|
19
19
|
odoo/addons/account_statement_import_sheet_file/readme/CONFIGURE.rst,sha256=imX9sFGbzYnr4I07MZvHBZyyhBm8pLZ6AmpKNVY6zR4,213
|
|
20
|
-
odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.rst,sha256=
|
|
20
|
+
odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.rst,sha256=p_306T6JGwwGRrmm49r5iD5qWDZbKMdwoE6S04PdN-c,520
|
|
21
21
|
odoo/addons/account_statement_import_sheet_file/readme/DESCRIPTION.rst,sha256=lHrjCbQdpNU9QhA9vwxyRgJWJHk87YujRn6P8L2Ha3A,86
|
|
22
22
|
odoo/addons/account_statement_import_sheet_file/readme/HISTORY.rst,sha256=XHPod20o8aWCowA99NgcDKgl7r8v41_wy_MXxLhTKNQ,268
|
|
23
23
|
odoo/addons/account_statement_import_sheet_file/readme/USAGE.rst,sha256=5wVe6CMUaGqAsE-yxAuc03YSxIFnRQ9mHeFkw-UBI68,184
|
|
24
24
|
odoo/addons/account_statement_import_sheet_file/security/ir.model.access.csv,sha256=ofB5jVirJJ3FQ-uWfKFD-DIg8Lh9bYLaUDQWnb9MkgM,685
|
|
25
25
|
odoo/addons/account_statement_import_sheet_file/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
26
|
-
odoo/addons/account_statement_import_sheet_file/static/description/index.html,sha256=
|
|
26
|
+
odoo/addons/account_statement_import_sheet_file/static/description/index.html,sha256=nzve1szWeZ-7wRjd5d22ygtQQuqvdjviVNANUvahHT0,15515
|
|
27
27
|
odoo/addons/account_statement_import_sheet_file/tests/__init__.py,sha256=f7vTpmONnfbbcMp5wZ1p7muSkyLC2vcDONaw2VGyiBw,121
|
|
28
|
-
odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py,sha256=
|
|
28
|
+
odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py,sha256=PkXANUAenVSGLZwT3CtMBnPqWUUi9ccwDUWsjOpw_4Q,31320
|
|
29
29
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/balance.csv,sha256=-7VrGM_IbKhOJzbX-bUMIsnd99uDIBkalTytlj2jVtk,209
|
|
30
30
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/debit_credit.csv,sha256=AaVQ9G5gqsLhxtAsYXCmFCTxpBPonKA1uxy7ue5gYYE,223
|
|
31
31
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/debit_credit_amount.csv,sha256=y-VoBcF_7WaUZhnmOqSuCv7ElCKSHRbsqKWpCH49Ams,369
|
|
32
|
+
odoo/addons/account_statement_import_sheet_file/tests/fixtures/empty_lines_statement.csv,sha256=xdz79S_wAaS4gbUWHuB-AbRSBMsVszmbjDHQ3Mw-6Cg,307
|
|
32
33
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/empty_statement_en.csv,sha256=rSO7KWfNGFl4Npw2HisF6Ke3Sbj2MVnzbTxKhovoxS8,83
|
|
33
34
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/empty_statement_en.xlsx,sha256=GHF5ZWjQNgyPGlHlxgtO4bRbMG4S18O5g5tkPPq9pPg,9041
|
|
34
35
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/meta_data_separated_credit_debit.csv,sha256=bP9oAVsyozBXsT1nfQ4sw9c0Y-YPdEk8TOPxoUrQSIE,512
|
|
@@ -41,10 +42,11 @@ odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_
|
|
|
41
42
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en.csv,sha256=6WexRDEog728ur2DK7J_xI056FCrX5CkB-3xK6LixAM,265
|
|
42
43
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en.xlsx,sha256=eOpaIIiKh6hTE_ebGwCgIaJBpoehKEQAqrXjHiMklVQ,5101
|
|
43
44
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en_empty_values.xlsx,sha256=hNsBB9zBQG11On56axs8nZRrzff9d6DFVyQGsyuRb_M,6501
|
|
45
|
+
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_offsets.xlsx,sha256=zfuCnPrKeXQmZ3VV3FgdMY59ZDt7WOQx5PYNchNbUp0,5993
|
|
44
46
|
odoo/addons/account_statement_import_sheet_file/views/account_journal_views.xml,sha256=iROLliBEfXvtXNsyHg5Ycvx9Rw9uuNWaXxdJsk8V1V4,670
|
|
45
47
|
odoo/addons/account_statement_import_sheet_file/views/account_statement_import.xml,sha256=KhgiMxHjI5tq1RlkmDYOhejqrxN4mXLc5nT9EM9gQ5s,842
|
|
46
|
-
odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml,sha256=
|
|
47
|
-
odoo_addon_account_statement_import_sheet_file-16.0.1.
|
|
48
|
-
odoo_addon_account_statement_import_sheet_file-16.0.1.
|
|
49
|
-
odoo_addon_account_statement_import_sheet_file-16.0.1.
|
|
50
|
-
odoo_addon_account_statement_import_sheet_file-16.0.1.
|
|
48
|
+
odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml,sha256=elKRDmvg21mpbHlfrI1LuIjEGaJei2FX6JxF1KQo2IY,7262
|
|
49
|
+
odoo_addon_account_statement_import_sheet_file-16.0.1.2.0.2.dist-info/METADATA,sha256=AqhB-hSgCQEVqGdQ6K1uZfqbWjQ7ubGv_lSuHksQC0g,5258
|
|
50
|
+
odoo_addon_account_statement_import_sheet_file-16.0.1.2.0.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
51
|
+
odoo_addon_account_statement_import_sheet_file-16.0.1.2.0.2.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
|
52
|
+
odoo_addon_account_statement_import_sheet_file-16.0.1.2.0.2.dist-info/RECORD,,
|