https://github.com/nl2go/hetzner-invoice
Automatically download and transform Hetzner invoices.
https://github.com/nl2go/hetzner-invoice
etl etl-automation hetzner hetzner-cloud hetzner-invoice
Last synced: about 1 year ago
JSON representation
Automatically download and transform Hetzner invoices.
- Host: GitHub
- URL: https://github.com/nl2go/hetzner-invoice
- Owner: nl2go
- License: mit
- Created: 2019-11-27T11:40:17.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-05-28T09:00:05.000Z (about 6 years ago)
- Last Synced: 2025-04-05T09:24:48.254Z (about 1 year ago)
- Topics: etl, etl-automation, hetzner, hetzner-cloud, hetzner-invoice
- Language: Python
- Homepage:
- Size: 59.6 KB
- Stars: 12
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - nl2go/hetzner-invoice - Automatically download and transform Hetzner invoices. (others)
README
[](https://github.com/ambv/black)
[](https://travis-ci.com/nl2go/hetzner-invoice)
[](https://codecov.io/gh/nl2go/hetzner-invoice)
# hetzner-invoice
Automatically download and transform Hetzner invoices.
## What is it?
This tool is intended to help analyze Hetzner invoices with regards to cost distribution between different
products used as well as infrastructure cost over time, in an automated way.
The [Hetzner website](https://www.hetzner.de/) (to date) does not provide any means for that.
## Quick Start
**Dependencies:**
- docker-compose
Clone the project and edit the `docker-compose.yml` file to contain your credentials of your Hetzner account.
```
HETZNER_INVOICE_ACCOUNT_USER:
HETZNER_INVOICE_ACCOUNT_PW:
HETZNER_INVOICE_ACCOUNT_2FA_SECRET:
```
Now, running `docker-compose run app` will trigger the following:
1) Scraping the Hetzner website for the last invoice in your account
2) Downloading latest invoice and augmenting it with some more info
3) Saving the data to a database.
### Contributing
To install the [pre-commit hook](https://pre-commit.com), run `pip install pre-commit` and then `pre-commit install`.