odoo-addon-account-statement-import-sheet-file 16.0.1.0.0.4__py3-none-any.whl → 16.0.1.1.0__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.

Files changed (13) hide show
  1. odoo/addons/account_statement_import_sheet_file/README.rst +1 -1
  2. odoo/addons/account_statement_import_sheet_file/__manifest__.py +1 -1
  3. odoo/addons/account_statement_import_sheet_file/i18n/account_statement_import_sheet_file.pot +13 -0
  4. odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py +7 -0
  5. odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py +10 -3
  6. odoo/addons/account_statement_import_sheet_file/static/description/index.html +1 -2
  7. odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_credit_card_inverse_sign_en.csv +3 -0
  8. odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py +32 -0
  9. odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml +2 -0
  10. {odoo_addon_account_statement_import_sheet_file-16.0.1.0.0.4.dist-info → odoo_addon_account_statement_import_sheet_file-16.0.1.1.0.dist-info}/METADATA +2 -2
  11. {odoo_addon_account_statement_import_sheet_file-16.0.1.0.0.4.dist-info → odoo_addon_account_statement_import_sheet_file-16.0.1.1.0.dist-info}/RECORD +13 -12
  12. {odoo_addon_account_statement_import_sheet_file-16.0.1.0.0.4.dist-info → odoo_addon_account_statement_import_sheet_file-16.0.1.1.0.dist-info}/WHEEL +1 -1
  13. {odoo_addon_account_statement_import_sheet_file-16.0.1.0.0.4.dist-info → odoo_addon_account_statement_import_sheet_file-16.0.1.1.0.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:987e1d38f2275461270dcb08917d239239dc18849a4ea903f46639d9363f2189
10
+ !! source digest: sha256:c8e0097cb830a29effa292f9506517867878e72a0d0fffbc8974ecf6a68fb34f
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -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.0.0",
8
+ "version": "16.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)",
@@ -267,6 +267,19 @@ msgid ""
267
267
  "transaction currency from"
268
268
  msgstr ""
269
269
 
270
+ #. module: account_statement_import_sheet_file
271
+ #: model:ir.model.fields,help:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_inverse_sign
272
+ msgid ""
273
+ "In some cases such as in credit card statements the amounts are expressed in"
274
+ " the inverse sign. By setting this flag during the upload the amounts will "
275
+ "be inverted in sign."
276
+ msgstr ""
277
+
278
+ #. module: account_statement_import_sheet_file
279
+ #: model:ir.model.fields,field_description:account_statement_import_sheet_file.field_account_statement_import_sheet_mapping__amount_inverse_sign
280
+ msgid "Inverse sign of amount"
281
+ msgstr ""
282
+
270
283
  #. module: account_statement_import_sheet_file
271
284
  #: model:ir.model.fields.selection,name:account_statement_import_sheet_file.selection__account_statement_import_sheet_mapping__file_encoding__shift_jis
272
285
  msgid "Japanese (Shift JIS)"
@@ -79,6 +79,13 @@ class AccountStatementImportSheetMapping(models.Model):
79
79
  string="Credit amount column",
80
80
  help="Credit amount of transaction in journal's currency",
81
81
  )
82
+ amount_inverse_sign = fields.Boolean(
83
+ string="Inverse sign of amount",
84
+ help="In some cases such as in credit card statements the "
85
+ "amounts are expressed in the inverse sign. "
86
+ "By setting this flag during the upload the amounts "
87
+ "will be inverted in sign.",
88
+ )
82
89
  balance_column = fields.Char(
83
90
  help="Balance after transaction in journal's currency",
84
91
  )
@@ -4,6 +4,7 @@
4
4
 
5
5
  import itertools
6
6
  import logging
7
+ from collections.abc import Iterable
7
8
  from datetime import datetime
8
9
  from decimal import Decimal
9
10
  from io import StringIO
@@ -97,7 +98,11 @@ class AccountStatementImportSheetParser(models.TransientModel):
97
98
 
98
99
  def _get_column_indexes(self, header, column_name, mapping):
99
100
  column_indexes = []
100
- if mapping[column_name] and "," in mapping[column_name]:
101
+ if (
102
+ mapping[column_name]
103
+ and isinstance(mapping[column_name], Iterable)
104
+ and "," in mapping[column_name]
105
+ ):
101
106
  # We have to concatenate the values
102
107
  column_names_or_indexes = mapping[column_name].split(",")
103
108
  else:
@@ -319,7 +324,6 @@ class AccountStatementImportSheetParser(models.TransientModel):
319
324
  if columns["bank_account_column"]
320
325
  else None
321
326
  )
322
-
323
327
  if currency != currency_code:
324
328
  continue
325
329
 
@@ -342,7 +346,10 @@ class AccountStatementImportSheetParser(models.TransientModel):
342
346
  ).copy_sign(amount)
343
347
  else:
344
348
  original_amount = 0.0
345
-
349
+ if mapping.amount_inverse_sign:
350
+ amount = -amount
351
+ original_amount = -original_amount
352
+ balance = -balance if balance is not None else balance
346
353
  line = {
347
354
  "timestamp": timestamp,
348
355
  "amount": amount,
@@ -1,4 +1,3 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
1
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
2
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
3
  <head>
@@ -367,7 +366,7 @@ ul.auto-toc {
367
366
  !! This file is generated by oca-gen-addon-readme !!
368
367
  !! changes will be overwritten. !!
369
368
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370
- !! source digest: sha256:987e1d38f2275461270dcb08917d239239dc18849a4ea903f46639d9363f2189
369
+ !! source digest: sha256:c8e0097cb830a29effa292f9506517867878e72a0d0fffbc8974ecf6a68fb34f
371
370
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372
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/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&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
373
372
  <p>This module allows you to import any TXT/CSV or XLSX file in Odoo as bank
@@ -0,0 +1,3 @@
1
+ "Date","Label","Currency","Amount","Amount Currency","Partner Name","Bank Account"
2
+ "12/15/2018","LABEL 1","USD","33.50","0.0","John Doe","123456789"
3
+ "12/15/2018","LABEL 2","EUR","-1,525.00","-1,000.00","Azure Interior",""
@@ -506,3 +506,35 @@ class TestAccountStatementImportSheetFile(common.TransactionCase):
506
506
  line4 = statement.line_ids.filtered(lambda x: x.payment_ref == "LABEL 4")
507
507
  self.assertEqual(line1.amount, 50)
508
508
  self.assertEqual(line4.amount, -1300)
509
+
510
+ def test_amount_inverse_sign(self):
511
+ self.sample_statement_map.amount_inverse_sign = True
512
+ journal = self.AccountJournal.create(
513
+ {
514
+ "name": "Bank",
515
+ "type": "bank",
516
+ "code": "BANK",
517
+ "currency_id": self.currency_usd.id,
518
+ "suspense_account_id": self.suspense_account.id,
519
+ }
520
+ )
521
+ filename = "fixtures/sample_statement_credit_card_inverse_sign_en.csv"
522
+ data = self._data_file(filename, "utf-8")
523
+ wizard = self.AccountStatementImport.with_context(journal_id=journal.id).create(
524
+ {
525
+ "statement_filename": filename,
526
+ "statement_file": data,
527
+ "sheet_mapping_id": self.sample_statement_map.id,
528
+ }
529
+ )
530
+ wizard.with_context(
531
+ account_statement_import_sheet_file_test=True
532
+ ).import_file_button()
533
+ statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)])
534
+ self.assertEqual(len(statement), 1)
535
+ self.assertEqual(len(statement.line_ids), 2)
536
+ line1 = statement.line_ids.filtered(lambda x: x.payment_ref == "LABEL 1")
537
+ self.assertEqual(line1.amount, -33.50)
538
+ line2 = statement.line_ids.filtered(lambda x: x.payment_ref == "LABEL 2")
539
+ self.assertEqual(line2.amount, 1525.00)
540
+ self.assertEqual(line2.amount_currency, 1000.00)
@@ -89,6 +89,7 @@
89
89
  'invisible': [('amount_type', '=', 'distinct_credit_debit')],
90
90
  }"
91
91
  />
92
+
92
93
  <field
93
94
  name="amount_debit_column"
94
95
  attrs="{
@@ -103,6 +104,7 @@
103
104
  'invisible': [('amount_type', '!=', 'distinct_credit_debit')],
104
105
  }"
105
106
  />
107
+ <field name="amount_inverse_sign" />
106
108
  <field name="balance_column" />
107
109
  <field name="original_currency_column" />
108
110
  <field name="original_amount_column" />
@@ -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.0.0.4
3
+ Version: 16.0.1.1.0
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)
@@ -26,7 +26,7 @@ Bank Statement TXT/CSV/XLSX Import
26
26
  !! This file is generated by oca-gen-addon-readme !!
27
27
  !! changes will be overwritten. !!
28
28
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29
- !! source digest: sha256:987e1d38f2275461270dcb08917d239239dc18849a4ea903f46639d9363f2189
29
+ !! source digest: sha256:c8e0097cb830a29effa292f9506517867878e72a0d0fffbc8974ecf6a68fb34f
30
30
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
31
31
 
32
32
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -1,8 +1,8 @@
1
- odoo/addons/account_statement_import_sheet_file/README.rst,sha256=wZMSZ5UhVVIVtUz27igOlwDBJuRI7Bgi-MwubCXQ5A0,4501
1
+ odoo/addons/account_statement_import_sheet_file/README.rst,sha256=1eETNe66QPAfE_HW9idKWGhIy2BEs4eqkkUDL9zAhQU,4501
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=DskRrFOizP7HHJQujN6cLVe8SvS8wNOjdH4_B_QVAcE,934
3
+ odoo/addons/account_statement_import_sheet_file/__manifest__.py,sha256=F455kc9oeOvNvJ8LBhB4X8j5F_oLmEJndR7lA-OSVQ4,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=lWNGFnksDzA9shX-cTCFYa5B9rwEszMeNhK5FckTAsA,25580
5
+ odoo/addons/account_statement_import_sheet_file/i18n/account_statement_import_sheet_file.pot,sha256=PIm2N4VRo7DvqVRDmGYEaPzVCFcLecDr1unil6sizqs,26193
6
6
  odoo/addons/account_statement_import_sheet_file/i18n/es.po,sha256=OF-Gie4P1WUVU6z5YOW7dBkLsSFvfcSOSmtPTpFlNWw,29300
7
7
  odoo/addons/account_statement_import_sheet_file/i18n/es_AR.po,sha256=v8E6XLp2jkFI_93VulvQhKNjshFDwhK6_3mUpS8w_o0,28849
8
8
  odoo/addons/account_statement_import_sheet_file/i18n/it.po,sha256=5xxPHAfa44QlKqjUevsKgPazw7_fvhY0in5QSa1HL48,27236
@@ -13,8 +13,8 @@ odoo/addons/account_statement_import_sheet_file/migrations/16.0.1.0.0/pre-migrat
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=linubo1ab3LI3EWIimB4hA0WJc1N-bI1Oi6-lHeX7eo,8411
17
- odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py,sha256=uSWzTBB6GppJWngtBmxtjWMIY6ZNZ-sTDaFMtxRliM4,16755
16
+ odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py,sha256=bAIOCeu0UV0patilHI2n4uBoetePlVjNQCst_C2qagk,8721
17
+ odoo/addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py,sha256=3kYbRDSMKETnAXOfwlv8NVFs1f5RePSLDkVryVoKlBI,17084
18
18
  odoo/addons/account_statement_import_sheet_file/readme/CONFIGURE.rst,sha256=imX9sFGbzYnr4I07MZvHBZyyhBm8pLZ6AmpKNVY6zR4,213
19
19
  odoo/addons/account_statement_import_sheet_file/readme/CONTRIBUTORS.rst,sha256=IK3_tHCu2A5OhQq1TbYtOURyUOzywj7htdWpjbo07fw,469
20
20
  odoo/addons/account_statement_import_sheet_file/readme/DESCRIPTION.rst,sha256=lHrjCbQdpNU9QhA9vwxyRgJWJHk87YujRn6P8L2Ha3A,86
@@ -22,9 +22,9 @@ odoo/addons/account_statement_import_sheet_file/readme/HISTORY.rst,sha256=XHPod2
22
22
  odoo/addons/account_statement_import_sheet_file/readme/USAGE.rst,sha256=5wVe6CMUaGqAsE-yxAuc03YSxIFnRQ9mHeFkw-UBI68,184
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=VH_d0wS6Qy0tbQKvOdUvZHdFCfc2LUN8YwSJ8KUgreM,15324
25
+ odoo/addons/account_statement_import_sheet_file/static/description/index.html,sha256=exC0IfYAGEQcJ5FpCa1-UaXI-VEp23NXlCyzL6QfwIs,15285
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=1pl5FDg9VhaCiGU0_U72QEXxAfSCeWuTgpyZnN916Ts,20899
27
+ odoo/addons/account_statement_import_sheet_file/tests/test_account_statement_import_sheet_file.py,sha256=6B5XWNNefvnd4baSAOf3dDgn226mghxl4gQ4e0xY5bM,22328
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
@@ -36,12 +36,13 @@ odoo/addons/account_statement_import_sheet_file/tests/fixtures/multi_currency.cs
36
36
  odoo/addons/account_statement_import_sheet_file/tests/fixtures/original_currency.csv,sha256=NDZzU6a0rnl1RD0zpzFJw0lqSa9XEGlTXGJoR2dpKeY,160
37
37
  odoo/addons/account_statement_import_sheet_file/tests/fixtures/original_currency_empty.csv,sha256=eN6LKwvafe4j6IAvlB75-EHpGpEJvof6IIyDECd7zzY,144
38
38
  odoo/addons/account_statement_import_sheet_file/tests/fixtures/original_currency_no_header.csv,sha256=Jtebhwmi9TSeD2RK-3G-1OUcbhFhYCNrh7lBHfeK3go,87
39
+ odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_credit_card_inverse_sign_en.csv,sha256=19xKZlVxR6yqSGGC2WR6_YpBKfev6pMTMThENamE8DA,222
39
40
  odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en.csv,sha256=6WexRDEog728ur2DK7J_xI056FCrX5CkB-3xK6LixAM,265
40
41
  odoo/addons/account_statement_import_sheet_file/tests/fixtures/sample_statement_en.xlsx,sha256=eOpaIIiKh6hTE_ebGwCgIaJBpoehKEQAqrXjHiMklVQ,5101
41
42
  odoo/addons/account_statement_import_sheet_file/views/account_journal_views.xml,sha256=iROLliBEfXvtXNsyHg5Ycvx9Rw9uuNWaXxdJsk8V1V4,670
42
43
  odoo/addons/account_statement_import_sheet_file/views/account_statement_import.xml,sha256=KhgiMxHjI5tq1RlkmDYOhejqrxN4mXLc5nT9EM9gQ5s,842
43
- odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml,sha256=IldEIIF26kcOMsPOeuludv8zg-03S64uhw7apqEDpZI,6933
44
- odoo_addon_account_statement_import_sheet_file-16.0.1.0.0.4.dist-info/METADATA,sha256=cba1CeTYzHozmWaokQj9fn3ptU7vzc2eHJOlZjVxZ8M,5229
45
- odoo_addon_account_statement_import_sheet_file-16.0.1.0.0.4.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
46
- odoo_addon_account_statement_import_sheet_file-16.0.1.0.0.4.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
47
- odoo_addon_account_statement_import_sheet_file-16.0.1.0.0.4.dist-info/RECORD,,
44
+ odoo/addons/account_statement_import_sheet_file/views/account_statement_import_sheet_mapping.xml,sha256=1MoNt2wsvb2qHaYzrh7iVMHMjBEfwq2caRJ5mLCeEBc,6999
45
+ odoo_addon_account_statement_import_sheet_file-16.0.1.1.0.dist-info/METADATA,sha256=2_loqU-2UnqGTYivWky0-lUdDs_AdApB7SxVeDqq_PU,5227
46
+ odoo_addon_account_statement_import_sheet_file-16.0.1.1.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
47
+ odoo_addon_account_statement_import_sheet_file-16.0.1.1.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
48
+ odoo_addon_account_statement_import_sheet_file-16.0.1.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.2)
2
+ Generator: bdist_wheel (0.42.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5