Bankinter Converter
A CLI tool to convert Bankinter bank statements (checking accounts and credit cards) from Excel to CSV format.
Features
- Checking Account Conversion: Convert checking account statements by removing specified rows and selecting columns
- Credit Card Conversion: Convert credit card statements with automatic column detection and clean output
- Language Agnostic: Works with statements in different languages
- Flexible Column Selection: Automatically detects transaction structure
Installation
Using uvx (Recommended)
# Install and run directly
uvx bankinter-converter --help
# Or install globally
uvx install bankinter-converter
Using uv
# Install globally as a tool
uv tool install bankinter-converter
# Or install in development mode
uv sync
Alternative: Using pip
pip install bankinter-converter
Usage
Checking Account Conversion
bankinter-converter checking input.xls output.csv
Options:
--skip-rows N: Number of rows to skip at the beginning (default: 3)--columns A-E: Columns to include (default: A-E)--sheet SHEET: Sheet name or index (default: 0)--verbose: Show detailed processing information
Example:
bankinter-converter checking statement.xls transactions.csv --skip-rows 5 --columns A-D
Credit Card Conversion
bankinter-converter credit input.xls output.csv
Options:
--verbose: Show detailed processing information
Example:
bankinter-converter credit credit_statement.xls credit_transactions.csv
Credit Card Converter Logic
The credit card converter automatically:
- Removes metadata: Card number, available balance, arranged balance, and blank lines
- Detects transaction structure:
- If Column D contains transaction types → Output: Date, Description, Type, Amount (A-D)
- If Column D is empty → Output: Date, Description, Amount (A-C)
- Removes totals: Total credit/debit sections and pending transactions
- Outputs clean CSV: Only transaction data with proper headers
The detection is language-agnostic and relies on data content rather than header names.
Development
Setup with uv (Recommended)
# Clone the repository
git clone https://github.com/barbarity/bankinter-converter.git
cd bankinter-converter
# Create virtual environment and install dependencies (uses Python 3.13)
uv sync --extra dev
Alternative Setup with pip
# Clone the repository
git clone https://github.com/barbarity/bankinter-converter.git
cd bankinter-converter
# Create virtual environment (Python 3.8+ required)
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -e ".[dev]"
Running Tests
# With uv
uv run pytest
# With pip (after activating virtual environment)
pytest
Code Quality
# Check code with ruff
uv run ruff check .
# Format code with ruff
uv run ruff format .
# Fix issues automatically
uv run ruff check --fix .
Testing the Tool
# With uv
uv run bankinter-converter --help
# With pip (after activating virtual environment)
bankinter-converter --help
Project Structure
bankinter-converter/
├── src/
│ └── bankinter_converter/
│ ├── __init__.py
│ ├── cli.py # Command-line interface
│ ├── checking_account.py # Checking account conversion logic
│ └── credit_card.py # Credit card conversion logic
├── tests/
│ ├── test_checking_account.py
│ └── test_credit_card.py
├── pyproject.toml # Project configuration
├── README.md # This file
├── LICENSE # MIT License
└── .gitignore
License
This project is licensed under the MIT License.
Metadata
Release files for bankinter-converter 0.1.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 | Provenance | |
|---|---|---|---|---|
| bankinter_converter-0.1.0.tar.gz | 48.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bankinter_converter-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.7 kB
Release files / bankinter_converter-0.1.0.tar.gz
| Download URL | bankinter_converter-0.1.0.tar.gz |
|---|---|
| Size | 48.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4648138d62995100bf33297d4d82a2ae0054895427483434c3c47a6502f386e1
|
|
BLAKE2b-256 checksum How to use checksums |
dcd6a2e822ab7d741957b55b7e12fa8c1f2d82c0e56c35db8c65eaa3bd07bdfb
|
| 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 Aug 13, 2025.
Transparency logRelease files / bankinter_converter-0.1.0-py3-none-any.whl
| Download URL | bankinter_converter-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22ff670402b229d1b3a1794bc725e23fd0cf851b4119beca891e62e31fb3362d
|
|
BLAKE2b-256 checksum How to use checksums |
df60d575886ae7f9861d054532f865cbb45997f11287fa7da919137d8134f87c
|
| 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 Aug 13, 2025.
Transparency logSecurity for bankinter-converter 0.1.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for bankinter_converter-0.1.0.tar.gz
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 Aug 13, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.