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
Metadata
Release files for transactions-chile 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| transactions_chile-0.4.0.tar.gz | 68.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| transactions_chile-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.9 kB
Release files / transactions_chile-0.4.0.tar.gz
| Download URL | transactions_chile-0.4.0.tar.gz |
|---|---|
| Size | 68.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b65710adfe336fb6f71b4a0c0d8024b7118faf3898ee1c557b170a57dbfcd572
|
|
BLAKE2b-256 checksum How to use checksums |
ac6427ed3f62ded57f904575346d6e499ea9a773fdc30a39da57411a8ca312a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 27, 2025.
Transparency logRelease files / transactions_chile-0.4.0-py3-none-any.whl
| Download URL | transactions_chile-0.4.0-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
676d235a138f704a6ad9f7c037867126978ce2599d97554e96a65df1e1e9f93e
|
|
BLAKE2b-256 checksum How to use checksums |
65c9c03620af5e93289f3198b99211f210c04d34ef655db345740e41884336fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 27, 2025.
Transparency log