{"id":13930020,"url":"https://github.com/nl2go/hetzner-invoice","last_synced_at":"2025-04-28T15:32:16.726Z","repository":{"id":101457903,"uuid":"224417232","full_name":"nl2go/hetzner-invoice","owner":"nl2go","description":"Automatically download and transform Hetzner invoices.","archived":false,"fork":false,"pushed_at":"2020-05-28T09:00:05.000Z","size":61,"stargazers_count":12,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T09:24:48.254Z","etag":null,"topics":["etl","etl-automation","hetzner","hetzner-cloud","hetzner-invoice"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nl2go.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-11-27T11:40:17.000Z","updated_at":"2024-06-28T08:10:46.000Z","dependencies_parsed_at":"2024-01-17T05:26:56.864Z","dependency_job_id":"dc452cb6-81a2-454a-9efa-4d5dddf9e40f","html_url":"https://github.com/nl2go/hetzner-invoice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nl2go%2Fhetzner-invoice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nl2go%2Fhetzner-invoice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nl2go%2Fhetzner-invoice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nl2go%2Fhetzner-invoice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nl2go","download_url":"https://codeload.github.com/nl2go/hetzner-invoice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251338779,"owners_count":21573611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["etl","etl-automation","hetzner","hetzner-cloud","hetzner-invoice"],"created_at":"2024-08-07T18:02:40.982Z","updated_at":"2025-04-28T15:32:11.691Z","avatar_url":"https://github.com/nl2go.png","language":"Python","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"[![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Build Status](https://travis-ci.com/nl2go/hetzner-invoice.svg?branch=master)](https://travis-ci.com/nl2go/hetzner-invoice)\n[![Codecov](https://codecov.io/gh/nl2go/hetzner-invoice/branch/master/graphs/badge.svg)](https://codecov.io/gh/nl2go/hetzner-invoice)\n\n# hetzner-invoice\nAutomatically download and transform Hetzner invoices.\n\n## What is it?\nThis tool is intended to help analyze Hetzner invoices with regards to cost distribution between different \nproducts used as well as infrastructure cost over time, in an automated way.\n The [Hetzner website](https://www.hetzner.de/) (to date) does not provide any means for that.\n \n## Quick Start\n**Dependencies:**\n- docker-compose\n\nClone the project and edit the `docker-compose.yml` file to contain your credentials of your Hetzner account.\n```\nHETZNER_INVOICE_ACCOUNT_USER: \u003cinsert your username\u003e\nHETZNER_INVOICE_ACCOUNT_PW: \u003cinsert your password\u003e\nHETZNER_INVOICE_ACCOUNT_2FA_SECRET: \u003cinsert your 2FA secret\u003e\n```\n\nNow, running `docker-compose run app` will trigger the following:\n1) Scraping the Hetzner website for the last invoice in your account\n2) Downloading latest invoice and augmenting it with some more info\n3) Saving the data to a database.\n\n\n### Contributing\nTo install the [pre-commit hook](https://pre-commit.com), run `pip install pre-commit` and then `pre-commit install`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnl2go%2Fhetzner-invoice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnl2go%2Fhetzner-invoice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnl2go%2Fhetzner-invoice/lists"}