https://github.com/denysvitali/postfinance-sync
A small CLI to get your PostFinance bookings in JSON format.
https://github.com/denysvitali/postfinance-sync
booking cli finance postfinance
Last synced: 6 months ago
JSON representation
A small CLI to get your PostFinance bookings in JSON format.
- Host: GitHub
- URL: https://github.com/denysvitali/postfinance-sync
- Owner: denysvitali
- License: other
- Created: 2022-10-03T23:29:35.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-09-03T16:34:52.000Z (about 2 years ago)
- Last Synced: 2025-03-27T04:11:17.698Z (7 months ago)
- Topics: booking, cli, finance, postfinance
- Language: Go
- Homepage:
- Size: 10.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# postfinance-sync
A small CLI to get you bookings in JSON format.
## Disclaimer
This tool is not officially provided nor connected
in any way with PostFinance Ltd. The use of this tool can constitute a breach
of PostFinance's Terms of Service.### Friendly Disclaimer
Although I haven't found anything related to scraping your own data,
PostFinance might not like you to scrape them like we're doing with this
tool.
Please use the tool responsibly and limit your requests.## What is this for?
Given a PostFinance account, this tool helps you to
export the transactions in a JSON format, so that you can
then import them in your favorite tool.The resulting JSON is an array of `Booking`s that can be later used
to perform your analysis.Here is an anonymized JSON:
```json
{
"actions": [
"MovementDetailSimple"
],
"type": 0,
"bancsUniqueSeqNr": "19c1e114-d8ae-4296-a852-33bae64f99e1",
"bookingRequestId": "becdca95-4de9-4ebe-9268-0ab360e204bf",
"date": "2022-10-04",
"valueDate": "2022-10-03",
"bookingType": 2,
"storno": false,
"debit": {
"amount": 58.2,
"currency": 756
},
"balance": {
"amount": 0,
"currency": 0
},
"shorttext": "Acquisto/servizio del 03.10.2022, Lidl 111",
"text": "ACQUISTO/SERVIZIO DEL 03.10.2022\nCARTA N° XXXX1234\nLIDL 111\nZURICH\nSVIZZERA\n",
"compiledShortText": "Acquisto/servizio del 03.10.2022, Lidl 111",
"categorisation": {},
"location": {
"address": {
"city": ""
},
"country": 0
},
"transactionPartner": {
"name": ""
},
"credit": {
"amount": 0,
"currency": 0
}
}```
## Requirements
- Go
- Make
- A [PostFinance](https://www.postfinance.ch/) account
- Access to [E-Finance](https://www.postfinance.ch/ap/ba/ob/html/finance/home)## Building
```bash
make bin
```## Getting started
1. Connect to your E-Finance account
2. Open the network tab of your browser
3. Retrieve the `MSILAD` cookie value and the `csrfpid` header valueUsing these two information, you're ready to start
```bash
read -s -r EF_MSILAD # paste the `MSILAD` cookie value and press enter
export EF_MSILADread -s -r EF_CSRFPID # paste the `csrfpid` value and press enter
export EF_CSRFPID# Start downloading your bookings!
# --from cannot be older than 2 years from the current date
./bin/postfinance-sync --from "2020-01-01" --to "2022-01-01" --output bookings.json
```