TIP: You can type at any time to perform a new search.
Bank Statement TXT/CSV Import (Base)
account_statement_import_sheet_file · OCA/bank-statement-import
- Repository
- OCA/bank-statement-import · module folder · Try on Runboat
- Module version
- 2.0.2
- Category
- Accounting
- Folder size
- 0.38 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/bank-statement-import
- Last tracking update
- 2026-08-07 09:06:25
- Authors
- Odoo Community Association (OCA), ForgeFlow, CorporateHub
- Maintainers
- Odoo Community Association (OCA), ForgeFlow, CorporateHub
- Committers
- Víctor Martínez, OCA-git-bot, oca-ci, Andrii9090-tecnativa, Luis Rodriguez, roger
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- account_statement_import_sheet_file_xls, account_statement_import_sheet_file_xlsx
- Description
This module is the base for a system for importing sheet-like files, and includes the direct support for TXT/CSV. Other formats like XLS, XLSX will be added by additional modules.
Code Analysis ⓘ
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_statement_import_form |
account.statement.import | account.statement.import | form | Inherits account_statement_import_file.account_statement_import_form |
account_statement_import_sheet_mapping_form |
account.statement.import.sheet.mapping.form | account.statement.import.sheet.mapping | list | New |
account_statement_import_sheet_mapping_tree |
account.statement.import.sheet.mapping.tree | account.statement.import.sheet.mapping | form | New |
view_account_journal_form_n43 |
account.journal | form | Inherits account.view_account_journal_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (1)
-
default_sheet_mapping_idMany2one → account.statement.import.sheet.mappingcomodel_name='account.statement.import.sheet.mapping'
No public methods.
New fields (1)
-
sheet_mapping_idMany2one → account.statement.import.sheet.mappingcomodel_name='account.statement.import.sheet.mapping'default=<expr>string='Sheet mapping'
No public methods.
New fields (33)
-
amount_columnCharhelp="Amount of transaction in journal's currency" -
amount_columnCharhelp='Used if amount type is "Simple value" or "Absolute value"\nAmount of transaction in journal\'s currency\nSome statement formats use credit/debit columns'string='Amount column' -
amount_credit_columnCharhelp="Credit amount of transaction in journal's currency"string='Credit amount column' -
amount_debit_columnCharhelp="Debit amount of transaction in journal's currency"string='Debit amount column' -
amount_inverse_signBooleanhelp='In some cases such as in credit card statements the amounts are expressed in the inverse sign. By setting this flag during the upload the amounts will be inverted in sign.'string='Inverse sign of amount' -
amount_typeSelectiondefault='simple_value'help='Simple value: use igned amount in amount column\nAbsolute Value: use a same column for debit and credit\n(absolute value + indicate sign)\nDistinct Credit/debit Column: use a distinct column for debit and credit'required=Trueselection=[('simple_value', 'Simple value'), ('absolute_value', 'Absolute value'), ('distinct_credit_debit', 'Distinct Credit/debit Column')]string='Amount type' -
balance_columnCharhelp="Balance after transaction in journal's currency" -
bank_account_columnCharhelp="Partner's bank account" -
bank_name_columnCharhelp="Partner's bank" -
credit_valueChardefault='C'help="Value of debit/credit column that indicates if it's a credit" -
currency_columnCharhelp='In case statement is multi-currency, column to get currency of transaction from' -
debit_credit_columnCharhelp='Used if amount type is "Absolute value"\nSome statement formats use absolute amount value and indicate sign\nof the transaction by specifying if it was a debit or a credit one'string='Debit/credit column' -
debit_valueChardefault='D'help="Value of debit/credit column that indicates if it's a debit" -
delimiterSelectiondefault='comma'selection=[('dot', 'dot (.)'), ('comma', 'comma (,)'), ('semicolon', 'semicolon (;)'), ('tab', 'tab'), ('space', 'space'), ('n/a', 'N/A')] -
description_columnChar -
file_encodingSelectiondefault='utf-8'selection=[('utf-8', 'UTF-8'), ('utf-8-sig', 'UTF-8 (with BOM)'), ('utf-16', 'UTF-16'), ('utf-16-sig', 'UTF-16 (with BOM)'), ('windows-1252', 'Western (Windows-1252)'), ('iso-8859-1', 'Western (Latin-1 / ISO 8859-1)'), ('iso-8859-2', 'Central European (Latin-2 / ISO 8859-2)'), ('iso-8859-4', 'Baltic (Latin-4 / ISO 8859-4)'), ('big5', 'Traditional Chinese (big5)'), ('gb18030', 'Unified Chinese (gb18030)'), ('shift_jis', 'Japanese (Shift JIS)'), ('windows-1251', 'Cyrillic (Windows-1251)'), ('koi8_r', 'Cyrillic (KOI8-R)'), ('koi8_u', 'Cyrillic (KOI8-U)')]string='Encoding' -
float_decimal_sepSelectiondefault='comma'help="When the separator is 'none', the value will be shifted according to the currency decimals. For example, 12345 will be converted to 123.45"selection=[('dot', 'dot (.)'), ('comma', 'comma (,)'), ('none', 'none')]string='Decimals Separator' -
float_thousands_sepSelectiondefault='dot'selection=[('dot', 'dot (.)'), ('comma', 'comma (,)'), ('quote', "quote (')"), ('none', 'none')]string='Thousands Separator' -
footer_lines_skip_countIntegerdefault='0'help='Set the Footer lines number.Used in some csv/xlsx file that integrate meta data inlast lines.'string='Footer lines skip count' -
header_lines_skip_countIntegerdefault='0'help='Set the Header lines number.'string='Header lines skip count' -
nameCharrequired=True -
no_headerBooleanhelp='When this occurs please indicate the column number in the Columns section instead of the column name, considering that the first column is 0'string='File does not contain header line' -
notes_columnChar -
offset_columnIntegerdefault=0help='Columns to ignore before starting to parse' -
original_amount_columnCharhelp='In case statement provides original currency for transactions with automatic currency conversion, column to get original transaction amount in original transaction currency from' -
original_currency_columnCharhelp='In case statement provides original currency for transactions with automatic currency conversion, column to get original currency of transaction from' -
partner_name_columnChar -
quotecharChardefault='"'size=1string='Text qualifier' -
reference_columnChar -
skip_empty_linesBooleandefault=Truehelp='Allows to skip empty lines' -
timestamp_columnCharrequired=True -
timestamp_formatCharrequired=True -
transaction_id_columnCharstring='Unique transaction ID column'
-
onchange_decimal_separator(self)@api.onchange('float_decimal_sep') -
onchange_thousands_separator(self)@api.onchange('float_thousands_sep')
New fields (0)
No new fields.
Public methods (2)-
parse(self, data_file, mapping, filename)@api.modelParse an uploaded sheet file into account statement import data. :param bytes data_file: Uploaded file content. :param recordset mapping: Sheet mapping used to read columns and formats. :param str filename: Original upload filename :return: Tuple with currency code, account number, and statement values. :rtype: tuple(str, str, list[dict]) -
parse_header_csv(self, rows, mapping)@api.modelReturn the CSV header row after applying configured skips and offset.
Loading…
Loading…
Loading…