A command-line tool for converting bank statements from Excel to CSV format with support for several Chilean banks.
Project description
Transactions Chile
A command-line tool for converting bank statements from Excel to CSV format with support for several Chilean banks.
Features
- Convert bank statements from Excel (.xlsx, .xls) files to CSV format
- Support for multiple banks:
- Santander (Checking Account)
- Itau (Checking Account, Credit Card - Billed and Unbilled)
- Banco de Chile (Checking Account, Credit Card - Billed and Unbilled)
- Account type selection:
- Checking accounts
- Credit card billed transactions
- Credit card unbilled (pending) transactions
- Standardized output format with common fields across all banks
- Validation of transaction data
- Customizable delimiter and encoding
- Rich command-line interface with progress indicators
- Force overwrite option
Installation
From PyPI
pip install transactions-chile
From Source
Clone the repository and install in development mode:
git clone https://github.com/yourusername/transactions-chile.git
cd transactions-chile
pip install -e .
Usage
Once installed, you can use the tool in the following ways:
Convert bank statements
Convert a bank statement from Excel to CSV:
transactions-chile convert path/to/your/bank-statement.xlsx --bank bchile
List supported banks
View all supported banks and their supported account types:
transactions-chile supported-banks
Command Line Options
Usage: transactions-chile convert [OPTIONS] INPUT_FILE
Convert an Excel file to CSV format using specific bank transaction processors.
INPUT_FILE: Path to the Excel file to convert.
Options:
-o, --output-file PATH Output CSV file path. If not specified, will use
the input filename with .csv extension.
-s, --sheet-name TEXT Sheet name or index (0-based) to convert.
Defaults to first sheet.
-d, --delimiter TEXT Delimiter to use in the CSV file. Defaults to
comma.
-e, --encoding TEXT Encoding for the output CSV file. Defaults to
utf-8.
-f, --force Overwrite output file if it already exists.
-b, --bank [santander|itau|bchile]
Bank type (required)
-a, --account-type [checking|credit-billed|credit-unbilled]
Account type (checking for 'Cuenta Corriente',
credit-billed for 'Tarjeta de Crédito Facturada',
credit-unbilled for 'Tarjeta de Crédito No Facturada').
If not specified, defaults to the most common type for the selected bank.
--validate / --no-validate Validate output against schema before saving
(default: validate)
--help Show this message and exit.
Examples
Convert a Santander bank statement (only supports checking account):
transactions-chile convert santander-checking.xlsx --bank santander
Convert a Banco de Chile credit card billed statement (default account type):
transactions-chile convert bchile-credit-billed.xls --bank bchile
Convert a Banco de Chile checking account statement:
transactions-chile convert bchile-checking.xls --bank bchile --account-type checking
Convert a Banco de Chile unbilled credit card statement:
transactions-chile convert bchile-credit-unbilled.xls --bank bchile --account-type credit-unbilled
Convert an Itau credit card statement with a specific output file:
transactions-chile convert itau-credit-billed.xls --bank itau --output-file itau-credit-processed.csv
Convert an Itau statement with a specific sheet:
transactions-chile convert itau-checking.xlsx --bank itau --sheet-name "Movimientos" --account-type checking
Use a different delimiter:
transactions-chile convert santander-checking.xlsx --bank santander --delimiter ";" --output-file santander_semicolon.csv
Force overwrite of existing file:
transactions-chile convert itau-credit-billed.xlsx --bank itau -f
Skip validation:
transactions-chile convert bchile-checking.xlsx --bank bchile --no-validate
Output Format
The converted CSV files will have the following standardized columns:
date: Transaction datepayee: Name of the transaction payeedescription: Transaction descriptionamount: Transaction amount (positive for credits, negative for debits)city: Location or branch where transaction occurred (when available)balance: Account balance after transaction (when available, 0 for credit cards)
Development
Setting up development environment
- Clone the repository
- Create and activate a virtual environment
- Install development dependencies:
pip install -e ".[dev]"
Running tests
pytest
Building the package
python -m build
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file transactions_chile-0.4.0.tar.gz.
File metadata
- Download URL: transactions_chile-0.4.0.tar.gz
- Upload date:
- Size: 68.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b65710adfe336fb6f71b4a0c0d8024b7118faf3898ee1c557b170a57dbfcd572
|
|
| MD5 |
8afd3b4a719367068c03bc5497b3f59a
|
|
| BLAKE2b-256 |
ac6427ed3f62ded57f904575346d6e499ea9a773fdc30a39da57411a8ca312a4
|
Provenance
The following attestation bundles were made for transactions_chile-0.4.0.tar.gz:
Publisher:
python-package.yml on josecannete/transactions-chile
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
transactions_chile-0.4.0.tar.gz -
Subject digest:
b65710adfe336fb6f71b4a0c0d8024b7118faf3898ee1c557b170a57dbfcd572 - Sigstore transparency entry: 203384420
- Sigstore integration time:
-
Permalink:
josecannete/transactions-chile@3f8e66058ec781e22768ba3010f167d27ebe91a1 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/josecannete
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-package.yml@3f8e66058ec781e22768ba3010f167d27ebe91a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file transactions_chile-0.4.0-py3-none-any.whl.
File metadata
- Download URL: transactions_chile-0.4.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
676d235a138f704a6ad9f7c037867126978ce2599d97554e96a65df1e1e9f93e
|
|
| MD5 |
7f790c1eaafa08848d8110ed0a9e3cce
|
|
| BLAKE2b-256 |
65c9c03620af5e93289f3198b99211f210c04d34ef655db345740e41884336fa
|
Provenance
The following attestation bundles were made for transactions_chile-0.4.0-py3-none-any.whl:
Publisher:
python-package.yml on josecannete/transactions-chile
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
transactions_chile-0.4.0-py3-none-any.whl -
Subject digest:
676d235a138f704a6ad9f7c037867126978ce2599d97554e96a65df1e1e9f93e - Sigstore transparency entry: 203384422
- Sigstore integration time:
-
Permalink:
josecannete/transactions-chile@3f8e66058ec781e22768ba3010f167d27ebe91a1 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/josecannete
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-package.yml@3f8e66058ec781e22768ba3010f167d27ebe91a1 -
Trigger Event:
push
-
Statement type: