Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update readme #256

Merged
merged 1 commit into from
Nov 28, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 61 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,42 +8,67 @@
[![Test Coverage](https://api.codeclimate.com/v1/badges/f3bad303efd4200ebee2/test_coverage)](https://codeclimate.com/github/ChrisRBe/PP-P2P-Parser/test_coverage)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)

## Overview
## Introduction

Application to read account statement files from different peer to peer lending sites,
e.g. Mintos.com and produce a Portfolio Performance readable csv file. Input format needs to be csv!
e.g. mintos.com, and produces a Portfolio Performance readable csv file.

## Requirements
Input format needs to be a csv file as well!

Python 3 (implemented with python 3.6.4)
## Usage

## Dependencies
```
parse-account-statements.py --help
usage:
An application to read account statement files from different peer to peer lending sites, e.g. Mintos.com and creates
a Portfolio Performance readable csv file.

The configuration for this application is stored in yaml files. The module used for
loading yaml files is [ruamel.yaml](https://yaml.readthedocs.io/en/latest/).
Install via:
NOTE: The output only contains interest and interest like payments received. No other statements are currently parsed.

`pip install ruamel.yaml`
List of currently supported providers:
- Bondora
- Bondora Grow Go
- Estateguru
- Mintos
- Robocash
- Swaper
- Debitum Network

## Usage
Control the way how account statements are processed via the aggregate parameter:
- daily: Currently does not process the input data beyond making it Portfolio Performance compatible.
- monthly: This aggregates all bookings of the same type into one statement per type and month. Sets
the last day of the month as transaction date.

```
parse-account-statements.py --help
usage: parse-account-statements.py [-h] [--type TYPE] [--debug] infile
Default behaviour for now is 'daily'.

Copyright 2018-03-17 ChrisRBe

positional arguments:
infile CSV file containing the downloaded data from the P2P site
infile CSV file containing the downloaded data from the P2P site

optional arguments:
-h, --help show this help message and exit
--type TYPE Specifies the p2p lending operator
--debug enables debug level logging if set
-h, --help show this help message and exit
--aggregate {daily,monthly}
specify how account statements should be summarized
--type TYPE Specifies the p2p lending operator
--debug enables debug level logging if set
```

```
parse-account-statements.py --type mintos src/test/testdata/mintos.csv
```

> ⚠ If you are using the --aggregate=monthly option, please note that this application aggregates always on the
> last day of the month. This can lead to import issues in Portfolio Performance when importing data for
> the current month.
>
> E.g. import date is the 15th of a July, the account statement contains data with a date of 31st of July.
>
> Account activity for a "future date" will be ignored/ not imported by Portfolio Performance.
>
> Please note, that this behaviour on this application side is intentional to avoid importing account activity multiple
> times in Portfolio Performance.

## Currently supported formats

* mintos - Supports current account-statement.csv file format
Expand All @@ -55,7 +80,9 @@ parse-account-statements.py --type mintos src/test/testdata/mintos.csv
* debitumnetwork - Supports current account statement format (as of 2020-09-08) exported to csv

### Alternative solution for Auxmoney
Unfortunately, the output file of Auxmoney's reports is not suitable for being parsed by PP-P2P-Parser in a senseful way. As an alternative, you can check out the [PP-Auxmoney-Parser](https://github.com/StegSchreck/PP-Auxmoney-Parser) project.

Unfortunately, the output file of Auxmoney's reports is not suitable for being parsed by PP-P2P-Parser in a meaningful way.
As an alternative, you can check out the [PP-Auxmoney-Parser](https://github.com/StegSchreck/PP-Auxmoney-Parser) project.

## Configuration files

Expand Down Expand Up @@ -83,7 +110,22 @@ csv_fieldnames:

## Output

CSV file format compatible with Performance Portfolio (German language setting)
CSV file format compatible with Performance Portfolio (German language setting).

## Dependencies

To use this application the following dependencies need to be installed:

* Python 3.6+ (unit test are run against Python 3.6, 3.7, 3.8, 3.9)
* PyYaml

Installation of Python dependencies can be handled in two ways:

* Install dependencies via `pip install -r requirements.txt`
* Create a virtual environment using pipenv

pipenv install
pipenv shell

## Legal

Expand Down