Metadata-Version: 2.4
Name: powens-firefly
Version: 0.0.2
Summary: Transfer transactions from Powens to Firefly III.
Author: Jules Anderson
License-Expression: AGPL-3.0
Project-URL: Repository, https://github.com/Azurennn/powens-firefly
Project-URL: Issues, https://github.com/Azurennn/powens-firefly/issues
Keywords: bank,Firefly-III,Powens
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: py-powens
Requires-Dist: firefly-iii-api
Requires-Dist: python-dateutil
Requires-Dist: aioconsole
Dynamic: license-file

# Powens-Firefly

![demo](./assets/demo.gif)

This package transfers Powens transactions into Firefly III
transactions using both tools' API.

This package stores no banking information, only tokens and information to access both APIs in a `credentials.yml` file
which can be specified by the user.


---------
## Install

```commandline
pip install powens-firefly
```


---------
## Use

```commandline
powens-firefly
```
This will store credentials in the default path "credentials.yml"
which can be changed with the option "--credentials-path"


---------
## Banks

Tested and Customised with
- Credit-Agricole
- Revolut (limitation with Exchanges)

Listing all transactions works for all banks, but transfers need to be tested.

### Revolut's Exchanges limitation

Example: If your base account is in EUR and you transfer GBP into USD and a comission/fee is applied in EUR.
Exchange transfer will likely be wrong, possibly creating the transfer as from your EUR account to your USD account
and a widthdrawal transaction in your GBP account.


## Configuration YAML

```yaml
firefly:
  token: <firefly_token>
  token_type: BearerToken
  url: http://<firefly_url>/api

mapping:
  <powens_account_id1>: <firefly_account_id1>
  <powens_account_id2>: <firefly_account_id2>
  <powens_account_id3>: <firefly_account_id3>
  <powens_account_id4>: <firefly_account_id4>

powens:
  client_id: <powens_client_id>
  date_acquired_utc: <automatically-filled-date>
  domain: <powens_domain>.biapi.pro
  expires_in: <automatically-filled-int>
  token: <powens token>
  user_id: <powens_user_id>
```


---------
## Note
This package was developed very quickly,
I should be able to maintain it but improvements will take time.

Feel free to fork it and make merge requests.
