This script downloads payslips from adpworld.de's ePayslip application. It does not require any manual link extraction and supports the download of all availible documents. Just configure you company, username and password, run the script and find all downloads conveniently placed on you HDD.
Note: this script was developed with and for accounts @SUSE. If you do not work for SUSE be warned that it might break and does not work at all. Feel free to try it anyway and report your findings as github issues :+1:.
git clone https://github.com/nicksinger/adp_downloader.git
cd adp_downloader
mkdir downloads
Note for openSUSE users: Make sure you've installed python3-requests
and python3-beautifulsoup4
.
Alternatively and for development you can get all development requirements with
pip install -r requirements.txt
Create a config.ini in the same directory. The file has the following format:
[credentials]
company = yourcompanyname
username = yourusername
passwordb64 = base64_encoded_password
where "yourcompanyname" and "yourusername" are the separate company name and user name without the "_" character, for example company "sus" and username "johdoe".
The base64 encoding is purely to ease handling of special characters in your password and DOES NOT serve any protection or encryption. Only store your credentials on a well secured system which you trust. Adjust permissions to the config file accordingly.
To generate the base64 encoded password, you can use echo -n "yourpassword" | base64
.
Make sure the -n
parameter is present so echo doesn't add a "\n" at
the end of your password as it will break the login.
Simply run python downloader.py
and watch it fetch your documents.
By default the downloader will create a local sqlite database to remember already downloaded files. Each new execution of the downloader will only download newly added files to your disk. This allows you to easily run the downloader in a cron job.
This project lives in https://github.com/nicksinger/adp_downloader
Feel free to add issues in github or send pull requests.
If this is too much hassle for you feel free to provide incomplete pull requests for consideration or create an issue with a code change proposal.
There are currently some limited automatic tests available. Call
make test
to execute all tests.
This project is licensed under the MIT license, see LICENSE file for details.