beancount-ing


Namebeancount-ing JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/siddhantgoel/beancount-ing
SummaryBeancount Importer for ING (DE) CSV exports
upload_time2024-07-09 17:45:01
maintainerNone
docs_urlNone
authorSiddhant Goel
requires_python<4.0,>=3.8
licenseMIT
keywords banking beancount cli-accounting finance
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Beancount ING Importer

[![image](https://github.com/siddhantgoel/beancount-ing/workflows/beancount-ing/badge.svg)](https://github.com/siddhantgoel/beancount-ing/workflows/beancount-ing/badge.svg)

[![image](https://img.shields.io/pypi/v/beancount-ing.svg)](https://pypi.python.org/pypi/beancount-ing)

[![image](https://img.shields.io/pypi/pyversions/beancount-ing.svg)](https://pypi.python.org/pypi/beancount-ing)

[![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

`beancount-ing` provides an Importer for converting CSV exports of
[ING] (Germany) account summaries to the [Beancount] format.

## Installation

```sh
$ pip install beancount-ing
```

In case you prefer installing from the Github repository, please note that
`main` is the development branch so `stable` is what you should be installing
from.

Note that v1.x will *only* work with Beancount 3.x, while v0.x will *only* work with
Beancount 2.x, due to incompatibilities between Beancount 3.x and 2.x.

## Usage

If you're not familiar with how to import external data into Beancount, please
read [this guide] first.

### Beancount 3.x

Beancount 3.x has replaced the `config.py` file based workflow in favor of having a
script based workflow, as per the [changes documented here]. As a result, the importer's
initialization parameters have been shifted to `pyproject.toml`.

Add the following to your `pyproject.toml` in your project root.

```toml
[tool.beancount-ing.ec]
iban = "DE99 9999 9999 9999 9999 99"
account_name = "Assets:ING:EC"
user = "Erika Mustermann"
file_encoding = "ISO-8859-1"  # optional
```

Run `beancount-ing-ec` to call the EC importer. The `identify` and `extract` subcommands
would identify the file and extract transactions for you.

```sh
$ beancount-ing-ec extract transaction.csv >> you.beancount
```

### Beancount 2.x

Adjust your [config file] to include the provided `ECImporter`. A sample configuration
might look like the following:

```python
from beancount_ing import ECImporter

CONFIG = [
    # ...

    ECImporter(
        IBAN_NUMBER,
        "Assets:ING:EC",
        "Erika Mustermann",
        file_encoding="ISO-8859-1",
    ),

    # ...
]
```

Once this is in place, you should be able to run `bean-extract` on the command
line to extract the transactions and pipe all of them into your Beancount file.

```sh
$ bean-extract /path/to/config.py transaction.csv >> you.beancount
```

## Contributing

Contributions are most welcome!

Please make sure you have Python 3.8+ and [Poetry] installed.

1. Clone the repository: `git clone https://github.com/siddhantgoel/beancount-ing`
2. Install the packages required for development: `poetry install`
3. That's basically it. You should now be able to run the test suite: `poetry
   run pytest tests/`.

[Beancount]: http://furius.ca/beancount/
[ING]: https://www.ing.de/
[Poetry]: https://python-poetry.org/
[changes documented here]: https://docs.google.com/document/d/1O42HgYQBQEna6YpobTqszSgTGnbRX7RdjmzR2xumfjs/edit#heading=h.hjzt0c6v8pfs
[config file]: https://beancount.github.io/docs/importing_external_data.html#configuration
[this guide]: https://beancount.github.io/docs/importing_external_data.html

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/siddhantgoel/beancount-ing",
    "name": "beancount-ing",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "banking, beancount, cli-accounting, finance",
    "author": "Siddhant Goel",
    "author_email": "me@sgoel.dev",
    "download_url": "https://files.pythonhosted.org/packages/64/f8/51a47cbf9d58c8b6cb0fff86b6e480b26f55d8f888efe7c05bf101292705/beancount_ing-1.0.0.tar.gz",
    "platform": null,
    "description": "# Beancount ING Importer\n\n[![image](https://github.com/siddhantgoel/beancount-ing/workflows/beancount-ing/badge.svg)](https://github.com/siddhantgoel/beancount-ing/workflows/beancount-ing/badge.svg)\n\n[![image](https://img.shields.io/pypi/v/beancount-ing.svg)](https://pypi.python.org/pypi/beancount-ing)\n\n[![image](https://img.shields.io/pypi/pyversions/beancount-ing.svg)](https://pypi.python.org/pypi/beancount-ing)\n\n[![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n`beancount-ing` provides an Importer for converting CSV exports of\n[ING] (Germany) account summaries to the [Beancount] format.\n\n## Installation\n\n```sh\n$ pip install beancount-ing\n```\n\nIn case you prefer installing from the Github repository, please note that\n`main` is the development branch so `stable` is what you should be installing\nfrom.\n\nNote that v1.x will *only* work with Beancount 3.x, while v0.x will *only* work with\nBeancount 2.x, due to incompatibilities between Beancount 3.x and 2.x.\n\n## Usage\n\nIf you're not familiar with how to import external data into Beancount, please\nread [this guide] first.\n\n### Beancount 3.x\n\nBeancount 3.x has replaced the `config.py` file based workflow in favor of having a\nscript based workflow, as per the [changes documented here]. As a result, the importer's\ninitialization parameters have been shifted to `pyproject.toml`.\n\nAdd the following to your `pyproject.toml` in your project root.\n\n```toml\n[tool.beancount-ing.ec]\niban = \"DE99 9999 9999 9999 9999 99\"\naccount_name = \"Assets:ING:EC\"\nuser = \"Erika Mustermann\"\nfile_encoding = \"ISO-8859-1\"  # optional\n```\n\nRun `beancount-ing-ec` to call the EC importer. The `identify` and `extract` subcommands\nwould identify the file and extract transactions for you.\n\n```sh\n$ beancount-ing-ec extract transaction.csv >> you.beancount\n```\n\n### Beancount 2.x\n\nAdjust your [config file] to include the provided `ECImporter`. A sample configuration\nmight look like the following:\n\n```python\nfrom beancount_ing import ECImporter\n\nCONFIG = [\n    # ...\n\n    ECImporter(\n        IBAN_NUMBER,\n        \"Assets:ING:EC\",\n        \"Erika Mustermann\",\n        file_encoding=\"ISO-8859-1\",\n    ),\n\n    # ...\n]\n```\n\nOnce this is in place, you should be able to run `bean-extract` on the command\nline to extract the transactions and pipe all of them into your Beancount file.\n\n```sh\n$ bean-extract /path/to/config.py transaction.csv >> you.beancount\n```\n\n## Contributing\n\nContributions are most welcome!\n\nPlease make sure you have Python 3.8+ and [Poetry] installed.\n\n1. Clone the repository: `git clone https://github.com/siddhantgoel/beancount-ing`\n2. Install the packages required for development: `poetry install`\n3. That's basically it. You should now be able to run the test suite: `poetry\n   run pytest tests/`.\n\n[Beancount]: http://furius.ca/beancount/\n[ING]: https://www.ing.de/\n[Poetry]: https://python-poetry.org/\n[changes documented here]: https://docs.google.com/document/d/1O42HgYQBQEna6YpobTqszSgTGnbRX7RdjmzR2xumfjs/edit#heading=h.hjzt0c6v8pfs\n[config file]: https://beancount.github.io/docs/importing_external_data.html#configuration\n[this guide]: https://beancount.github.io/docs/importing_external_data.html\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Beancount Importer for ING (DE) CSV exports",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/siddhantgoel/beancount-ing",
        "Repository": "https://github.com/siddhantgoel/beancount-ing"
    },
    "split_keywords": [
        "banking",
        " beancount",
        " cli-accounting",
        " finance"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9fa2217e5ca5975a5729862f7877cd7ab02e970185171c7fe6d63cb638fd9b2a",
                "md5": "e2f523b91e93049d48b51b0391b880ea",
                "sha256": "7cc36ad03ef9766db7552f20a57716b6fd3dd520aee3808e6a239ba11ca6735d"
            },
            "downloads": -1,
            "filename": "beancount_ing-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e2f523b91e93049d48b51b0391b880ea",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 9371,
            "upload_time": "2024-07-09T17:44:59",
            "upload_time_iso_8601": "2024-07-09T17:44:59.290373Z",
            "url": "https://files.pythonhosted.org/packages/9f/a2/217e5ca5975a5729862f7877cd7ab02e970185171c7fe6d63cb638fd9b2a/beancount_ing-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "64f851a47cbf9d58c8b6cb0fff86b6e480b26f55d8f888efe7c05bf101292705",
                "md5": "581edc96fbd5eea83293a5f2f7414731",
                "sha256": "cbd5cb32dae67574aa90f97333c56e76c3a98087b2596b0bbe130e8bb026e647"
            },
            "downloads": -1,
            "filename": "beancount_ing-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "581edc96fbd5eea83293a5f2f7414731",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 6150,
            "upload_time": "2024-07-09T17:45:01",
            "upload_time_iso_8601": "2024-07-09T17:45:01.684265Z",
            "url": "https://files.pythonhosted.org/packages/64/f8/51a47cbf9d58c8b6cb0fff86b6e480b26f55d8f888efe7c05bf101292705/beancount_ing-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-09 17:45:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "siddhantgoel",
    "github_project": "beancount-ing",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "beancount-ing"
}
        
Elapsed time: 0.28140s