bankinter-converter


Namebankinter-converter JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryA CLI tool to convert Bankinter bank statements (checking accounts and credit cards) from Excel to CSV
upload_time2025-08-13 10:33:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords banking bankinter converter csv excel finance
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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)

```bash
# Install and run directly
uvx bankinter-converter --help

# Or install globally
uvx install bankinter-converter
```

### Using uv

```bash
# Install globally as a tool
uv tool install bankinter-converter

# Or install in development mode
uv sync
```

### Alternative: Using pip

```bash
pip install bankinter-converter
```

## Usage

### Checking Account Conversion

```bash
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:**
```bash
bankinter-converter checking statement.xls transactions.csv --skip-rows 5 --columns A-D
```

### Credit Card Conversion

```bash
bankinter-converter credit input.xls output.csv
```

**Options:**
- `--verbose`: Show detailed processing information

**Example:**
```bash
bankinter-converter credit credit_statement.xls credit_transactions.csv
```

## Credit Card Converter Logic

The credit card converter automatically:

1. **Removes metadata**: Card number, available balance, arranged balance, and blank lines
2. **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)
3. **Removes totals**: Total credit/debit sections and pending transactions
4. **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)

```bash
# 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

```bash
# 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

```bash
# With uv
uv run pytest

# With pip (after activating virtual environment)
pytest
```

### Code Quality

```bash
# 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

```bash
# 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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "bankinter-converter",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "banking, bankinter, converter, csv, excel, finance",
    "author": null,
    "author_email": "Joan Perez Guerrero <joanperezguerrero@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/dc/d6/a2e822ab7d741957b55b7e12fa8c1f2d82c0e56c35db8c65eaa3bd07bdfb/bankinter_converter-0.1.0.tar.gz",
    "platform": null,
    "description": "# Bankinter Converter\n\nA CLI tool to convert Bankinter bank statements (checking accounts and credit cards) from Excel to CSV format.\n\n## Features\n\n- **Checking Account Conversion**: Convert checking account statements by removing specified rows and selecting columns\n- **Credit Card Conversion**: Convert credit card statements with automatic column detection and clean output\n- **Language Agnostic**: Works with statements in different languages\n- **Flexible Column Selection**: Automatically detects transaction structure\n\n## Installation\n\n### Using uvx (Recommended)\n\n```bash\n# Install and run directly\nuvx bankinter-converter --help\n\n# Or install globally\nuvx install bankinter-converter\n```\n\n### Using uv\n\n```bash\n# Install globally as a tool\nuv tool install bankinter-converter\n\n# Or install in development mode\nuv sync\n```\n\n### Alternative: Using pip\n\n```bash\npip install bankinter-converter\n```\n\n## Usage\n\n### Checking Account Conversion\n\n```bash\nbankinter-converter checking input.xls output.csv\n```\n\n**Options:**\n- `--skip-rows N`: Number of rows to skip at the beginning (default: 3)\n- `--columns A-E`: Columns to include (default: A-E)\n- `--sheet SHEET`: Sheet name or index (default: 0)\n- `--verbose`: Show detailed processing information\n\n**Example:**\n```bash\nbankinter-converter checking statement.xls transactions.csv --skip-rows 5 --columns A-D\n```\n\n### Credit Card Conversion\n\n```bash\nbankinter-converter credit input.xls output.csv\n```\n\n**Options:**\n- `--verbose`: Show detailed processing information\n\n**Example:**\n```bash\nbankinter-converter credit credit_statement.xls credit_transactions.csv\n```\n\n## Credit Card Converter Logic\n\nThe credit card converter automatically:\n\n1. **Removes metadata**: Card number, available balance, arranged balance, and blank lines\n2. **Detects transaction structure**: \n   - If Column D contains transaction types \u2192 Output: Date, Description, Type, Amount (A-D)\n   - If Column D is empty \u2192 Output: Date, Description, Amount (A-C)\n3. **Removes totals**: Total credit/debit sections and pending transactions\n4. **Outputs clean CSV**: Only transaction data with proper headers\n\nThe detection is language-agnostic and relies on data content rather than header names.\n\n## Development\n\n### Setup with uv (Recommended)\n\n```bash\n# Clone the repository\ngit clone https://github.com/barbarity/bankinter-converter.git\ncd bankinter-converter\n\n# Create virtual environment and install dependencies (uses Python 3.13)\nuv sync --extra dev\n```\n\n### Alternative Setup with pip\n\n```bash\n# Clone the repository\ngit clone https://github.com/barbarity/bankinter-converter.git\ncd bankinter-converter\n\n# Create virtual environment (Python 3.8+ required)\npython -m venv .venv\nsource .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n\n# Install dependencies\npip install -e \".[dev]\"\n```\n\n### Running Tests\n\n```bash\n# With uv\nuv run pytest\n\n# With pip (after activating virtual environment)\npytest\n```\n\n### Code Quality\n\n```bash\n# Check code with ruff\nuv run ruff check .\n\n# Format code with ruff\nuv run ruff format .\n\n# Fix issues automatically\nuv run ruff check --fix .\n```\n\n### Testing the Tool\n\n```bash\n# With uv\nuv run bankinter-converter --help\n\n# With pip (after activating virtual environment)\nbankinter-converter --help\n```\n\n## Project Structure\n\n```\nbankinter-converter/\n\u251c\u2500\u2500 src/\n\u2502   \u2514\u2500\u2500 bankinter_converter/\n\u2502       \u251c\u2500\u2500 __init__.py\n\u2502       \u251c\u2500\u2500 cli.py              # Command-line interface\n\u2502       \u251c\u2500\u2500 checking_account.py # Checking account conversion logic\n\u2502       \u2514\u2500\u2500 credit_card.py      # Credit card conversion logic\n\u251c\u2500\u2500 tests/\n\u2502   \u251c\u2500\u2500 test_checking_account.py\n\u2502   \u2514\u2500\u2500 test_credit_card.py\n\u251c\u2500\u2500 pyproject.toml          # Project configuration\n\u251c\u2500\u2500 README.md              # This file\n\u251c\u2500\u2500 LICENSE                # MIT License\n\u2514\u2500\u2500 .gitignore\n```\n\n## License\n\nThis project is licensed under the MIT License.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A CLI tool to convert Bankinter bank statements (checking accounts and credit cards) from Excel to CSV",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/barbarity/bankinter-converter",
        "Issues": "https://github.com/barbarity/bankinter-converter/issues",
        "Repository": "https://github.com/barbarity/bankinter-converter"
    },
    "split_keywords": [
        "banking",
        " bankinter",
        " converter",
        " csv",
        " excel",
        " finance"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "df60d575886ae7f9861d054532f865cbb45997f11287fa7da919137d8134f87c",
                "md5": "ed41b7c6144f57e6c1c71e5d1e2845d7",
                "sha256": "22ff670402b229d1b3a1794bc725e23fd0cf851b4119beca891e62e31fb3362d"
            },
            "downloads": -1,
            "filename": "bankinter_converter-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ed41b7c6144f57e6c1c71e5d1e2845d7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 9253,
            "upload_time": "2025-08-13T10:33:53",
            "upload_time_iso_8601": "2025-08-13T10:33:53.625091Z",
            "url": "https://files.pythonhosted.org/packages/df/60/d575886ae7f9861d054532f865cbb45997f11287fa7da919137d8134f87c/bankinter_converter-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dcd6a2e822ab7d741957b55b7e12fa8c1f2d82c0e56c35db8c65eaa3bd07bdfb",
                "md5": "96ca3b132e40ffefc9831ab58d095b37",
                "sha256": "4648138d62995100bf33297d4d82a2ae0054895427483434c3c47a6502f386e1"
            },
            "downloads": -1,
            "filename": "bankinter_converter-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "96ca3b132e40ffefc9831ab58d095b37",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 48467,
            "upload_time": "2025-08-13T10:33:55",
            "upload_time_iso_8601": "2025-08-13T10:33:55.009661Z",
            "url": "https://files.pythonhosted.org/packages/dc/d6/a2e822ab7d741957b55b7e12fa8c1f2d82c0e56c35db8c65eaa3bd07bdfb/bankinter_converter-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-13 10:33:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "barbarity",
    "github_project": "bankinter-converter",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "bankinter-converter"
}
        
Elapsed time: 1.60666s