odoo-addon-account-statement-import-sheet-file 16.0.1.1.1.3__py3-none-any.whl → 17.0.1.0.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.
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 +35 -32
- 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 +1 -7
- odoo/addons/account_statement_import_sheet_file/i18n/es.po +3 -19
- odoo/addons/account_statement_import_sheet_file/i18n/es_AR.po +11 -42
- odoo/addons/account_statement_import_sheet_file/i18n/it.po +3 -3
- odoo/addons/account_statement_import_sheet_file/i18n/nl.po +5 -36
- odoo/addons/account_statement_import_sheet_file/i18n/pt.po +5 -36
- odoo/addons/account_statement_import_sheet_file/i18n/zh_CN.po +6 -36
- odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py +5 -3
- odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py +45 -16
- odoo/addons/account_statement_import_sheet_file/readme/CONFIGURE.md +6 -0
- odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.md +12 -0
- odoo/addons/account_statement_import_sheet_file/readme/{DESCRIPTION.rst → DESCRIPTION.md} +2 -2
- odoo/addons/account_statement_import_sheet_file/readme/HISTORY.md +7 -0
- odoo/addons/account_statement_import_sheet_file/readme/USAGE.md +5 -0
- odoo/addons/account_statement_import_sheet_file/static/description/index.html +12 -9
- odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en_empty_values.xlsx +0 -0
- odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py +140 -0
- odoo/addons/account_statement_import_sheet_file/views/account_journal_views.xml +1 -4
- odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml +12 -28
- {odoo_addon_account_statement_import_sheet_file-16.0.1.1.1.3.dist-info → odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.2.dist-info}/METADATA +44 -44
- {odoo_addon_account_statement_import_sheet_file-16.0.1.1.1.3.dist-info → odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.2.dist-info}/RECORD +25 -25
- {odoo_addon_account_statement_import_sheet_file-16.0.1.1.1.3.dist-info → odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.2.dist-info}/WHEEL +1 -1
- odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.2.dist-info/top_level.txt +1 -0
- odoo/addons/account_statement_import_sheet_file/migrations/16.0.1.0.0/pre-migration.py +0 -45
- odoo/addons/account_statement_import_sheet_file/readme/CONFIGURE.rst +0 -4
- odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.rst +0 -17
- odoo/addons/account_statement_import_sheet_file/readme/HISTORY.rst +0 -7
- odoo/addons/account_statement_import_sheet_file/readme/USAGE.rst +0 -4
- odoo_addon_account_statement_import_sheet_file-16.0.1.1.1.3.dist-info/top_level.txt +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
- Alexis de Lattre \<<alexis.delattre@akretion.com>\>
|
|
2
|
+
- Sebastien BEAU \<<sebastien.beau@akretion.com>\>
|
|
3
|
+
- Katherine Zaoral
|
|
4
|
+
- Tecnativa (<https://www.tecnativa.com>)
|
|
5
|
+
- Vicent Cubells
|
|
6
|
+
- Victor M.M. Torres
|
|
7
|
+
- Víctor Martínez
|
|
8
|
+
- ForgeFlow (<https://www.forgeflow.com>)
|
|
9
|
+
- Jordi Ballester Alomar \<<jordi.ballester@forgeflow.com>\>
|
|
10
|
+
- Miquel Raïch Regué \<<miquel.raich@forgeflow.com>\>
|
|
11
|
+
- [CorporateHub](https://corporatehub.eu/)
|
|
12
|
+
- Alexey Pelykh \<<alexey.pelykh@corphub.eu>\>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
This module allows you to import any TXT/CSV or XLSX file in Odoo as
|
|
2
|
-
statements.
|
|
1
|
+
This module allows you to import any TXT/CSV or XLSX file in Odoo as
|
|
2
|
+
bank statements.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## 12.0.2.0.0
|
|
2
|
+
|
|
3
|
+
- \[BREAKING\] New mapping, please review mappings after upgrade.
|
|
4
|
+
- \[BREAKING\] Different bank accounts have to be used per each
|
|
5
|
+
currency.
|
|
6
|
+
- \[ADD\] Support for both Statement and Activity reports.
|
|
7
|
+
- \[ADD\] Separate fee and currency exchange parsing.
|
|
@@ -366,11 +366,11 @@ ul.auto-toc {
|
|
|
366
366
|
!! This file is generated by oca-gen-addon-readme !!
|
|
367
367
|
!! changes will be overwritten. !!
|
|
368
368
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
369
|
-
!! source digest: sha256:
|
|
369
|
+
!! source digest: sha256:90ec58274c675f5d4eb830271ef275cb5cd09e5c62babf88fd1ee82e5f228368
|
|
370
370
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
371
|
-
<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/
|
|
372
|
-
<p>This module allows you to import any TXT/CSV or XLSX file in Odoo as
|
|
373
|
-
statements.</p>
|
|
371
|
+
<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
|
+
<p>This module allows you to import any TXT/CSV or XLSX file in Odoo as
|
|
373
|
+
bank statements.</p>
|
|
374
374
|
<p><strong>Table of contents</strong></p>
|
|
375
375
|
<div class="contents local topic" id="contents">
|
|
376
376
|
<ul class="simple">
|
|
@@ -393,8 +393,10 @@ statements.</p>
|
|
|
393
393
|
<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
|
|
394
394
|
<p>To create TXT/CSV/XLSX statement sheet columns mapping:</p>
|
|
395
395
|
<ol class="arabic simple">
|
|
396
|
-
<li>Open <em>Invoicing > Configuration > Accounting > Statement Sheet
|
|
397
|
-
|
|
396
|
+
<li>Open <em>Invoicing > Configuration > Accounting > Statement Sheet
|
|
397
|
+
Mappings</em></li>
|
|
398
|
+
<li>Create mapping(s) according to your online banking software statement
|
|
399
|
+
format</li>
|
|
398
400
|
</ol>
|
|
399
401
|
</div>
|
|
400
402
|
<div class="section" id="usage">
|
|
@@ -402,7 +404,8 @@ statements.</p>
|
|
|
402
404
|
<p>To use this module, you need to:</p>
|
|
403
405
|
<ol class="arabic simple">
|
|
404
406
|
<li>Get statement in TXT/CSV or XLSX from your online banking software</li>
|
|
405
|
-
<li>Go to Odoo and and import the statement file, selecting corresponding
|
|
407
|
+
<li>Go to Odoo and and import the statement file, selecting corresponding
|
|
408
|
+
format</li>
|
|
406
409
|
</ol>
|
|
407
410
|
</div>
|
|
408
411
|
<div class="section" id="changelog">
|
|
@@ -422,7 +425,7 @@ statements.</p>
|
|
|
422
425
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/bank-statement-import/issues">GitHub Issues</a>.
|
|
423
426
|
In case of trouble, please check there if your issue has already been reported.
|
|
424
427
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
425
|
-
<a class="reference external" href="https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_sheet_file%0Aversion:%
|
|
428
|
+
<a class="reference external" href="https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_sheet_file%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
|
426
429
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
|
427
430
|
</div>
|
|
428
431
|
<div class="section" id="credits">
|
|
@@ -466,7 +469,7 @@ mission is to support the collaborative development of Odoo features and
|
|
|
466
469
|
promote its widespread use.</p>
|
|
467
470
|
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
|
|
468
471
|
<p><a class="reference external image-reference" href="https://github.com/alexey-pelykh"><img alt="alexey-pelykh" src="https://github.com/alexey-pelykh.png?size=40px" /></a></p>
|
|
469
|
-
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/bank-statement-import/tree/
|
|
472
|
+
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_sheet_file">OCA/bank-statement-import</a> project on GitHub.</p>
|
|
470
473
|
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
|
471
474
|
</div>
|
|
472
475
|
</div>
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en_empty_values.xlsx
ADDED
|
Binary file
|
odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
4
4
|
|
|
5
5
|
from base64 import b64encode
|
|
6
|
+
from decimal import Decimal
|
|
6
7
|
from os import path
|
|
8
|
+
from unittest.mock import Mock
|
|
7
9
|
|
|
8
10
|
from odoo import fields
|
|
9
11
|
from odoo.exceptions import UserError
|
|
@@ -45,6 +47,12 @@ class TestAccountStatementImportSheetFile(common.TransactionCase):
|
|
|
45
47
|
"account_type": "asset_current",
|
|
46
48
|
}
|
|
47
49
|
)
|
|
50
|
+
self.parser = self.env["account.statement.import.sheet.parser"]
|
|
51
|
+
# Mock the mapping object to return predefined separators
|
|
52
|
+
self.mock_mapping_comma_dot = Mock()
|
|
53
|
+
self.mock_mapping_comma_dot._get_float_separators.return_value = (",", ".")
|
|
54
|
+
self.mock_mapping_dot_comma = Mock()
|
|
55
|
+
self.mock_mapping_dot_comma._get_float_separators.return_value = (".", ",")
|
|
48
56
|
|
|
49
57
|
def _data_file(self, filename, encoding=None):
|
|
50
58
|
mode = "rt" if encoding else "rb"
|
|
@@ -538,3 +546,135 @@ class TestAccountStatementImportSheetFile(common.TransactionCase):
|
|
|
538
546
|
line2 = statement.line_ids.filtered(lambda x: x.payment_ref == "LABEL 2")
|
|
539
547
|
self.assertEqual(line2.amount, 1525.00)
|
|
540
548
|
self.assertEqual(line2.amount_currency, 1000.00)
|
|
549
|
+
|
|
550
|
+
def test_import_xlsx_empty_values(self):
|
|
551
|
+
sample_statement_map_empty_values = (
|
|
552
|
+
self.AccountStatementImportSheetMapping.create(
|
|
553
|
+
{
|
|
554
|
+
"name": "Sample Statement with empty values",
|
|
555
|
+
"amount_type": "distinct_credit_debit",
|
|
556
|
+
"float_decimal_sep": "comma",
|
|
557
|
+
"delimiter": "n/a",
|
|
558
|
+
"no_header": 0,
|
|
559
|
+
"footer_lines_skip_count": 1,
|
|
560
|
+
"amount_inverse_sign": 0,
|
|
561
|
+
"header_lines_skip_count": 1,
|
|
562
|
+
"quotechar": '"',
|
|
563
|
+
"float_thousands_sep": "dot",
|
|
564
|
+
"reference_column": "REF",
|
|
565
|
+
"description_column": "DESCRIPTION",
|
|
566
|
+
"amount_credit_column": "DEBIT",
|
|
567
|
+
"amount_debit_column": "CREDIT",
|
|
568
|
+
"balance_column": "BALANCE",
|
|
569
|
+
"timestamp_format": "%d/%m/%Y",
|
|
570
|
+
"timestamp_column": "DATE",
|
|
571
|
+
}
|
|
572
|
+
)
|
|
573
|
+
)
|
|
574
|
+
journal = self.AccountJournal.create(
|
|
575
|
+
{
|
|
576
|
+
"name": "Bank 2",
|
|
577
|
+
"type": "bank",
|
|
578
|
+
"code": "BAN2",
|
|
579
|
+
"currency_id": self.currency_usd.id,
|
|
580
|
+
"suspense_account_id": self.suspense_account.id,
|
|
581
|
+
}
|
|
582
|
+
)
|
|
583
|
+
data = self._data_file("fixtures/sample_statement_en_empty_values.xlsx")
|
|
584
|
+
wizard = self.AccountStatementImport.with_context(journal_id=journal.id).create(
|
|
585
|
+
{
|
|
586
|
+
"statement_filename": "fixtures/sample_statement_en_empty_values.xlsx",
|
|
587
|
+
"statement_file": data,
|
|
588
|
+
"sheet_mapping_id": sample_statement_map_empty_values.id,
|
|
589
|
+
}
|
|
590
|
+
)
|
|
591
|
+
wizard.with_context(
|
|
592
|
+
account_statement_import_sheet_file_test=True
|
|
593
|
+
).import_file_button()
|
|
594
|
+
statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)])
|
|
595
|
+
self.assertEqual(len(statement), 1)
|
|
596
|
+
self.assertEqual(len(statement.line_ids), 3)
|
|
597
|
+
|
|
598
|
+
def test_parse_decimal(self):
|
|
599
|
+
# Define a series of test cases
|
|
600
|
+
test_cases = [
|
|
601
|
+
(
|
|
602
|
+
"1,234.56",
|
|
603
|
+
1234.56,
|
|
604
|
+
self.mock_mapping_comma_dot,
|
|
605
|
+
), # standard case with thousands separator
|
|
606
|
+
(
|
|
607
|
+
"1,234,567.89",
|
|
608
|
+
1234567.89,
|
|
609
|
+
self.mock_mapping_comma_dot,
|
|
610
|
+
), # multiple thousands separators
|
|
611
|
+
(
|
|
612
|
+
"-1,234.56",
|
|
613
|
+
-1234.56,
|
|
614
|
+
self.mock_mapping_comma_dot,
|
|
615
|
+
), # negative value
|
|
616
|
+
(
|
|
617
|
+
"$1,234.56",
|
|
618
|
+
1234.56,
|
|
619
|
+
self.mock_mapping_comma_dot,
|
|
620
|
+
), # prefixed with currency symbol
|
|
621
|
+
(
|
|
622
|
+
"1,234.56 USD",
|
|
623
|
+
1234.56,
|
|
624
|
+
self.mock_mapping_comma_dot,
|
|
625
|
+
), # suffixed with currency code
|
|
626
|
+
(
|
|
627
|
+
" 1,234.56 ",
|
|
628
|
+
1234.56,
|
|
629
|
+
self.mock_mapping_comma_dot,
|
|
630
|
+
), # leading and trailing spaces
|
|
631
|
+
(
|
|
632
|
+
"not a number",
|
|
633
|
+
0,
|
|
634
|
+
self.mock_mapping_comma_dot,
|
|
635
|
+
), # non-numeric input
|
|
636
|
+
(" ", 0, self.mock_mapping_comma_dot), # empty string
|
|
637
|
+
("", 0, self.mock_mapping_comma_dot), # empty space
|
|
638
|
+
("USD", 0, self.mock_mapping_comma_dot), # empty dolar
|
|
639
|
+
(
|
|
640
|
+
"12,34.56",
|
|
641
|
+
1234.56,
|
|
642
|
+
self.mock_mapping_comma_dot,
|
|
643
|
+
), # unusual thousand separator placement
|
|
644
|
+
(
|
|
645
|
+
"1234,567.89",
|
|
646
|
+
1234567.89,
|
|
647
|
+
self.mock_mapping_comma_dot,
|
|
648
|
+
), # missing one separator
|
|
649
|
+
(
|
|
650
|
+
"1234.567,89",
|
|
651
|
+
1234567.89,
|
|
652
|
+
self.mock_mapping_dot_comma,
|
|
653
|
+
), # inverted separators
|
|
654
|
+
]
|
|
655
|
+
|
|
656
|
+
for value, expected, mock_mapping in test_cases:
|
|
657
|
+
with self.subTest(value=value):
|
|
658
|
+
result = self.parser._parse_decimal(value, mock_mapping)
|
|
659
|
+
self.assertEqual(result, expected, f"Failed for value: {value}")
|
|
660
|
+
|
|
661
|
+
def test_decimal_and_float_inputs(self):
|
|
662
|
+
# Test direct Decimal and float inputs
|
|
663
|
+
self.assertEqual(
|
|
664
|
+
self.parser._parse_decimal(-1234.56, self.mock_mapping_comma_dot),
|
|
665
|
+
-1234.56,
|
|
666
|
+
)
|
|
667
|
+
self.assertEqual(
|
|
668
|
+
self.parser._parse_decimal(1234.56, self.mock_mapping_comma_dot),
|
|
669
|
+
1234.56,
|
|
670
|
+
)
|
|
671
|
+
self.assertEqual(
|
|
672
|
+
self.parser._parse_decimal(
|
|
673
|
+
Decimal("-1234.56"), self.mock_mapping_comma_dot
|
|
674
|
+
),
|
|
675
|
+
-1234.56,
|
|
676
|
+
)
|
|
677
|
+
self.assertEqual(
|
|
678
|
+
self.parser._parse_decimal(Decimal("1234.56"), self.mock_mapping_comma_dot),
|
|
679
|
+
1234.56,
|
|
680
|
+
)
|
|
@@ -5,10 +5,7 @@
|
|
|
5
5
|
<field name="inherit_id" ref="account.view_account_journal_form" />
|
|
6
6
|
<field name="arch" type="xml">
|
|
7
7
|
<xpath expr="//page[@name='advanced_settings']/group" position="inside">
|
|
8
|
-
<group
|
|
9
|
-
string="Statement Import Map"
|
|
10
|
-
attrs="{'invisible': [('type','!=','bank')]}"
|
|
11
|
-
>
|
|
8
|
+
<group string="Statement Import Map" invisible="type != 'bank'">
|
|
12
9
|
<field name="default_sheet_mapping_id" />
|
|
13
10
|
</group>
|
|
14
11
|
</xpath>
|
odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml
CHANGED
|
@@ -44,24 +44,16 @@
|
|
|
44
44
|
<div
|
|
45
45
|
class="alert alert-warning"
|
|
46
46
|
role="alert"
|
|
47
|
-
|
|
47
|
+
invisible="not no_header"
|
|
48
48
|
>
|
|
49
49
|
<span
|
|
50
50
|
class="fa fa-info-circle"
|
|
51
51
|
/> indicate the column number in the Columns section. The first column is 0.
|
|
52
52
|
</div>
|
|
53
53
|
</group>
|
|
54
|
-
<group
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<field
|
|
58
|
-
name="debit_value"
|
|
59
|
-
attrs="{'required': [('debit_credit_column', '!=', False)]}"
|
|
60
|
-
/>
|
|
61
|
-
<field
|
|
62
|
-
name="credit_value"
|
|
63
|
-
attrs="{'required': [('debit_credit_column', '!=', False)]}"
|
|
64
|
-
/>
|
|
54
|
+
<group invisible="not debit_credit_column">
|
|
55
|
+
<field name="debit_value" required="debit_credit_column" />
|
|
56
|
+
<field name="credit_value" required="debit_credit_column" />
|
|
65
57
|
</group>
|
|
66
58
|
<group>
|
|
67
59
|
<field name="header_lines_skip_count" />
|
|
@@ -84,25 +76,19 @@
|
|
|
84
76
|
<field name="amount_type" />
|
|
85
77
|
<field
|
|
86
78
|
name="amount_column"
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
'invisible': [('amount_type', '=', 'distinct_credit_debit')],
|
|
90
|
-
}"
|
|
79
|
+
invisible="amount_type == 'distinct_credit_debit'"
|
|
80
|
+
required="amount_type != 'distinct_credit_debit'"
|
|
91
81
|
/>
|
|
92
82
|
|
|
93
83
|
<field
|
|
94
84
|
name="amount_debit_column"
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
'invisible': [('amount_type', '!=', 'distinct_credit_debit')],
|
|
98
|
-
}"
|
|
85
|
+
invisible="amount_type != 'distinct_credit_debit'"
|
|
86
|
+
required="amount_type == 'distinct_credit_debit'"
|
|
99
87
|
/>
|
|
100
88
|
<field
|
|
101
89
|
name="amount_credit_column"
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
'invisible': [('amount_type', '!=', 'distinct_credit_debit')],
|
|
105
|
-
}"
|
|
90
|
+
invisible="amount_type != 'distinct_credit_debit'"
|
|
91
|
+
required="amount_type == 'distinct_credit_debit'"
|
|
106
92
|
/>
|
|
107
93
|
<field name="amount_inverse_sign" />
|
|
108
94
|
<field name="balance_column" />
|
|
@@ -110,10 +96,8 @@
|
|
|
110
96
|
<field name="original_amount_column" />
|
|
111
97
|
<field
|
|
112
98
|
name="debit_credit_column"
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
'invisible': [('amount_type', '!=', 'absolute_value')],
|
|
116
|
-
}"
|
|
99
|
+
invisible="amount_type != 'absolute_value'"
|
|
100
|
+
required="amount_type == 'absolute_value'"
|
|
117
101
|
/>
|
|
118
102
|
<field name="transaction_id_column" />
|
|
119
103
|
<field name="description_column" />
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
|
-
Name: odoo-addon-
|
|
3
|
-
Version:
|
|
2
|
+
Name: odoo-addon-account_statement_import_sheet_file
|
|
3
|
+
Version: 17.0.1.0.0.2
|
|
4
|
+
Requires-Python: >=3.10
|
|
5
|
+
Requires-Dist: chardet
|
|
6
|
+
Requires-Dist: odoo-addon-account_statement_import_file>=17.0dev,<17.1dev
|
|
7
|
+
Requires-Dist: odoo>=17.0a,<17.1dev
|
|
8
|
+
Requires-Dist: xlrd
|
|
4
9
|
Summary: Import TXT/CSV or XLSX files as Bank Statements in Odoo
|
|
5
10
|
Home-page: https://github.com/OCA/bank-statement-import
|
|
11
|
+
License: AGPL-3
|
|
6
12
|
Author: ForgeFlow, CorporateHub, Odoo Community Association (OCA)
|
|
7
13
|
Author-email: support@odoo-community.org
|
|
8
|
-
License: AGPL-3
|
|
9
|
-
Platform: UNKNOWN
|
|
10
14
|
Classifier: Programming Language :: Python
|
|
11
15
|
Classifier: Framework :: Odoo
|
|
12
|
-
Classifier: Framework :: Odoo ::
|
|
16
|
+
Classifier: Framework :: Odoo :: 17.0
|
|
13
17
|
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
|
14
|
-
Requires-Python: >=3.10
|
|
15
|
-
Requires-Dist: chardet
|
|
16
|
-
Requires-Dist: odoo-addon-account-statement-import-file <16.1dev,>=16.0dev
|
|
17
|
-
Requires-Dist: odoo <16.1dev,>=16.0a
|
|
18
|
-
Requires-Dist: xlrd
|
|
19
18
|
|
|
20
19
|
==================================
|
|
21
20
|
Bank Statement TXT/CSV/XLSX Import
|
|
@@ -26,7 +25,7 @@ Bank Statement TXT/CSV/XLSX Import
|
|
|
26
25
|
!! This file is generated by oca-gen-addon-readme !!
|
|
27
26
|
!! changes will be overwritten. !!
|
|
28
27
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
29
|
-
!! source digest: sha256:
|
|
28
|
+
!! source digest: sha256:90ec58274c675f5d4eb830271ef275cb5cd09e5c62babf88fd1ee82e5f228368
|
|
30
29
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
31
30
|
|
|
32
31
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -36,19 +35,19 @@ Bank Statement TXT/CSV/XLSX Import
|
|
|
36
35
|
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
|
37
36
|
:alt: License: AGPL-3
|
|
38
37
|
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbank--statement--import-lightgray.png?logo=github
|
|
39
|
-
:target: https://github.com/OCA/bank-statement-import/tree/
|
|
38
|
+
:target: https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_sheet_file
|
|
40
39
|
:alt: OCA/bank-statement-import
|
|
41
40
|
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
|
42
|
-
:target: https://translation.odoo-community.org/projects/bank-statement-import-
|
|
41
|
+
:target: https://translation.odoo-community.org/projects/bank-statement-import-17-0/bank-statement-import-17-0-account_statement_import_sheet_file
|
|
43
42
|
:alt: Translate me on Weblate
|
|
44
43
|
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
|
45
|
-
:target: https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&target_branch=
|
|
44
|
+
:target: https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&target_branch=17.0
|
|
46
45
|
:alt: Try me on Runboat
|
|
47
46
|
|
|
48
47
|
|badge1| |badge2| |badge3| |badge4| |badge5|
|
|
49
48
|
|
|
50
|
-
This module allows you to import any TXT/CSV or XLSX file in Odoo as
|
|
51
|
-
statements.
|
|
49
|
+
This module allows you to import any TXT/CSV or XLSX file in Odoo as
|
|
50
|
+
bank statements.
|
|
52
51
|
|
|
53
52
|
**Table of contents**
|
|
54
53
|
|
|
@@ -60,27 +59,30 @@ Configuration
|
|
|
60
59
|
|
|
61
60
|
To create TXT/CSV/XLSX statement sheet columns mapping:
|
|
62
61
|
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
1. Open *Invoicing > Configuration > Accounting > Statement Sheet
|
|
63
|
+
Mappings*
|
|
64
|
+
2. Create mapping(s) according to your online banking software statement
|
|
65
|
+
format
|
|
65
66
|
|
|
66
67
|
Usage
|
|
67
68
|
=====
|
|
68
69
|
|
|
69
70
|
To use this module, you need to:
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
1. Get statement in TXT/CSV or XLSX from your online banking software
|
|
73
|
+
2. Go to Odoo and and import the statement file, selecting corresponding
|
|
74
|
+
format
|
|
73
75
|
|
|
74
76
|
Changelog
|
|
75
77
|
=========
|
|
76
78
|
|
|
77
79
|
12.0.2.0.0
|
|
78
|
-
|
|
80
|
+
----------
|
|
79
81
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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.
|
|
84
86
|
|
|
85
87
|
Bug Tracker
|
|
86
88
|
===========
|
|
@@ -88,7 +90,7 @@ Bug Tracker
|
|
|
88
90
|
Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-statement-import/issues>`_.
|
|
89
91
|
In case of trouble, please check there if your issue has already been reported.
|
|
90
92
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
91
|
-
`feedback <https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_sheet_file%0Aversion:%
|
|
93
|
+
`feedback <https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_sheet_file%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
92
94
|
|
|
93
95
|
Do not contact contributors directly about support or help with technical issues.
|
|
94
96
|
|
|
@@ -96,34 +98,34 @@ Credits
|
|
|
96
98
|
=======
|
|
97
99
|
|
|
98
100
|
Authors
|
|
99
|
-
|
|
101
|
+
-------
|
|
100
102
|
|
|
101
103
|
* ForgeFlow
|
|
102
104
|
* CorporateHub
|
|
103
105
|
|
|
104
106
|
Contributors
|
|
105
|
-
|
|
107
|
+
------------
|
|
106
108
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
- Alexis de Lattre <alexis.delattre@akretion.com>
|
|
110
|
+
- Sebastien BEAU <sebastien.beau@akretion.com>
|
|
111
|
+
- Katherine Zaoral
|
|
112
|
+
- Tecnativa (https://www.tecnativa.com)
|
|
111
113
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
- Vicent Cubells
|
|
115
|
+
- Victor M.M. Torres
|
|
116
|
+
- Víctor Martínez
|
|
115
117
|
|
|
116
|
-
|
|
118
|
+
- ForgeFlow (https://www.forgeflow.com)
|
|
117
119
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
- Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
|
|
121
|
+
- Miquel Raïch Regué <miquel.raich@forgeflow.com>
|
|
120
122
|
|
|
121
|
-
|
|
123
|
+
- `CorporateHub <https://corporatehub.eu/>`__
|
|
122
124
|
|
|
123
|
-
|
|
125
|
+
- Alexey Pelykh <alexey.pelykh@corphub.eu>
|
|
124
126
|
|
|
125
127
|
Maintainers
|
|
126
|
-
|
|
128
|
+
-----------
|
|
127
129
|
|
|
128
130
|
This module is maintained by the OCA.
|
|
129
131
|
|
|
@@ -143,8 +145,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|
|
|
143
145
|
|
|
144
146
|
|maintainer-alexey-pelykh|
|
|
145
147
|
|
|
146
|
-
This module is part of the `OCA/bank-statement-import <https://github.com/OCA/bank-statement-import/tree/
|
|
148
|
+
This module is part of the `OCA/bank-statement-import <https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_sheet_file>`_ project on GitHub.
|
|
147
149
|
|
|
148
150
|
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
|
149
|
-
|
|
150
|
-
|
|
@@ -1,31 +1,30 @@
|
|
|
1
|
-
odoo/addons/account_statement_import_sheet_file/README.rst,sha256=
|
|
1
|
+
odoo/addons/account_statement_import_sheet_file/README.rst,sha256=Lw7S1WeTRzM3_gz13ntoeZuo0zSaD5FRwvtlzUTbH98,4532
|
|
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=FqlF20VsYw9vR4lculShyHKtDyY2tD3lczkROP6X_cQ,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=
|
|
5
|
+
odoo/addons/account_statement_import_sheet_file/i18n/account_statement_import_sheet_file.pot,sha256=TIkEks-xCLy5oIlvtP3vm2GS9bMQGjcUGiwwsei12Ec,26063
|
|
6
|
+
odoo/addons/account_statement_import_sheet_file/i18n/es.po,sha256=THoLN8Y6STBARFhQc_yqklqE4XpwA02NCA_B_1FXOR4,31160
|
|
7
|
+
odoo/addons/account_statement_import_sheet_file/i18n/es_AR.po,sha256=cKvwfPJtNH3Uk63Jio4xBt9LEKvDstJG2rzH61BgqhM,29079
|
|
8
|
+
odoo/addons/account_statement_import_sheet_file/i18n/it.po,sha256=TVgrORETWZj6duN7iCSeN18Mmr3ogL1FU7AiRHo1MIA,30842
|
|
9
|
+
odoo/addons/account_statement_import_sheet_file/i18n/nl.po,sha256=fWjOMQHE4qWtTe4bEYdPiQmfcSjMT5T3Sz3-fDdE2-s,26141
|
|
10
|
+
odoo/addons/account_statement_import_sheet_file/i18n/pt.po,sha256=Rmh2gUAWMWe_lZA0Q9qkpRO5SZi69XhyR5PIGcHmnbA,25622
|
|
11
11
|
odoo/addons/account_statement_import_sheet_file/i18n/tr.po,sha256=E7RAI-7QCrsGc9LK9KP1DXaKbBUNeomHRoZ94a1mZBU,30547
|
|
12
|
-
odoo/addons/account_statement_import_sheet_file/i18n/zh_CN.po,sha256=
|
|
13
|
-
odoo/addons/account_statement_import_sheet_file/migrations/16.0.1.0.0/pre-migration.py,sha256=RWsXKnn1oH9MM8Jl-XPXROi-qpn3sJ4tYT0GKZ1PuOc,1487
|
|
12
|
+
odoo/addons/account_statement_import_sheet_file/i18n/zh_CN.po,sha256=GKk_DwaWLV23EMo1Zxwb09WXhjTi16Fm7ZILQ0qKAIM,26072
|
|
14
13
|
odoo/addons/account_statement_import_sheet_file/models/__init__.py,sha256=RsEvd89lQS7V0Mlk6D6FAWyOMDRd8YD0d9i4Xc-XcDo,240
|
|
15
14
|
odoo/addons/account_statement_import_sheet_file/models/account_journal.py,sha256=F4_deAvNErZ6o1gkw9uhDrEnHyWXUKNvk09mzCVzTIw,562
|
|
16
15
|
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=
|
|
19
|
-
odoo/addons/account_statement_import_sheet_file/readme/CONFIGURE.
|
|
20
|
-
odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.
|
|
21
|
-
odoo/addons/account_statement_import_sheet_file/readme/DESCRIPTION.
|
|
22
|
-
odoo/addons/account_statement_import_sheet_file/readme/HISTORY.
|
|
23
|
-
odoo/addons/account_statement_import_sheet_file/readme/USAGE.
|
|
16
|
+
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py,sha256=J-V5iXnkwlk88hxeizcsqoTIDk7Tie6D-ep-4oAV9a4,8868
|
|
17
|
+
odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py,sha256=qr7ZiqrwhfeDueamVtgmCYhUEzfINrnNmC5QmpkeiUU,18126
|
|
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=0HSPXu9dLttzvX3dzg5ALEUOB5g_NcDMPJwSnAWNVfs,485
|
|
20
|
+
odoo/addons/account_statement_import_sheet_file/readme/DESCRIPTION.md,sha256=VFlOJ-nljwNW6S9uaZVNb_x6Gw1P0FLr6gHcV2-dHk4,86
|
|
21
|
+
odoo/addons/account_statement_import_sheet_file/readme/HISTORY.md,sha256=7y-Qd00CnGzaFNX1N4w-TiCAzeubOmsKDXQ-otIfjFQ,270
|
|
22
|
+
odoo/addons/account_statement_import_sheet_file/readme/USAGE.md,sha256=KcCNrSS7xVkRrpqfoZoL6VVkysu1dpOgRRNTfn2QH0c,190
|
|
24
23
|
odoo/addons/account_statement_import_sheet_file/security/ir.model.access.csv,sha256=ofB5jVirJJ3FQ-uWfKFD-DIg8Lh9bYLaUDQWnb9MkgM,685
|
|
25
24
|
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=
|
|
25
|
+
odoo/addons/account_statement_import_sheet_file/static/description/index.html,sha256=y2PkJptlhxZRl2EOa8w7MBRxUK33rnBwNVkn-ykscjY,15285
|
|
27
26
|
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=
|
|
27
|
+
odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py,sha256=3V98ug6c9xjrSMMhUAk5bXWgBjjgmZzIkx0ttFju62g,27703
|
|
29
28
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/balance.csv,sha256=-7VrGM_IbKhOJzbX-bUMIsnd99uDIBkalTytlj2jVtk,209
|
|
30
29
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/debit_credit.csv,sha256=AaVQ9G5gqsLhxtAsYXCmFCTxpBPonKA1uxy7ue5gYYE,223
|
|
31
30
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/debit_credit_amount.csv,sha256=y-VoBcF_7WaUZhnmOqSuCv7ElCKSHRbsqKWpCH49Ams,369
|
|
@@ -40,10 +39,11 @@ odoo/addons/account_statement_import_sheet_file/tests/fixtures/original_currency
|
|
|
40
39
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_credit_card_inverse_sign_en.csv,sha256=19xKZlVxR6yqSGGC2WR6_YpBKfev6pMTMThENamE8DA,222
|
|
41
40
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en.csv,sha256=6WexRDEog728ur2DK7J_xI056FCrX5CkB-3xK6LixAM,265
|
|
42
41
|
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en.xlsx,sha256=eOpaIIiKh6hTE_ebGwCgIaJBpoehKEQAqrXjHiMklVQ,5101
|
|
43
|
-
odoo/addons/account_statement_import_sheet_file/
|
|
42
|
+
odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en_empty_values.xlsx,sha256=hNsBB9zBQG11On56axs8nZRrzff9d6DFVyQGsyuRb_M,6501
|
|
43
|
+
odoo/addons/account_statement_import_sheet_file/views/account_journal_views.xml,sha256=h3A5JmNGunmCybjD_Gx_v6PghhHy0TOqos3Bu5PHhTk,594
|
|
44
44
|
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-
|
|
47
|
-
odoo_addon_account_statement_import_sheet_file-
|
|
48
|
-
odoo_addon_account_statement_import_sheet_file-
|
|
49
|
-
odoo_addon_account_statement_import_sheet_file-
|
|
45
|
+
odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml,sha256=iM2d-xg3aX6cmd2nI0RDl1Do5XSX2_2RKV9KvVbCAQQ,6231
|
|
46
|
+
odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.2.dist-info/METADATA,sha256=5_XCOQ2SPr_Baw9ugH-3J4UmrzuEZNX4a9vc4zX0k3Y,5238
|
|
47
|
+
odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.2.dist-info/WHEEL,sha256=8Rd4enx1PCuyDWP4SABqO5Fv8rpaknqp3VzjoFFLa6c,83
|
|
48
|
+
odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
49
|
+
odoo_addon_account_statement_import_sheet_file-17.0.1.0.0.2.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
odoo
|