Skip to main content

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 date
  • payee: Name of the transaction payee
  • description: Transaction description
  • amount: 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

  1. Clone the repository
  2. Create and activate a virtual environment
  3. 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

transactions_chile-0.4.0.tar.gz (68.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

transactions_chile-0.4.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

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

Hashes for transactions_chile-0.4.0.tar.gz
Algorithm Hash digest
SHA256 b65710adfe336fb6f71b4a0c0d8024b7118faf3898ee1c557b170a57dbfcd572
MD5 8afd3b4a719367068c03bc5497b3f59a
BLAKE2b-256 ac6427ed3f62ded57f904575346d6e499ea9a773fdc30a39da57411a8ca312a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for transactions_chile-0.4.0.tar.gz:

Publisher: python-package.yml on josecannete/transactions-chile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file transactions_chile-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for transactions_chile-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 676d235a138f704a6ad9f7c037867126978ce2599d97554e96a65df1e1e9f93e
MD5 7f790c1eaafa08848d8110ed0a9e3cce
BLAKE2b-256 65c9c03620af5e93289f3198b99211f210c04d34ef655db345740e41884336fa

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page