Skip to content

Cloud costs ​

Contrixt pulls the costs from your cloud providers automatically and assigns them to applications — per provider you choose the appropriate mapping attribute in the setup wizard.

Supported providers & mapping attributes ​

ProviderData sourceMapping attributes
Microsoft AzureCost Management APISubscription → application · Resource group → application · Tag
AWSCost ExplorerAccount → application · Tag
Google CloudBigQuery billing exportProject → application · Tag
Hetzner CloudResources × official price listProject → application · Label
OVH Public CloudConsumption overview (calculated)Project → application

Scope mapping (subscription/resource group/account/project): you assign each scope to an application once — great when your cloud structure is already cut along application lines.

Tag-based (automatic): you define a tag key (e.g. contrixt-app); as the value, resources carry the app tag of the application. Costs are then assigned fully automatically — including new resources.

Multiple connections per provider ​

You can create any number of connections per provider — each with its own display name, credentials, mapping attribute and automatic month-end booking. This matters especially for Hetzner: API tokens there are valid per project, so you create one connection per project. Multiple Azure tenants, AWS accounts or GCP billing exports can be connected in parallel the same way.

Cost entries belong to their connection: each connection syncs and books separately, and deleting a connection removes only its cost entries.

Setup (administrator) ​

What you need — read access per provider:

  • Azure: app registration in Entra (directory ID, application ID, client secret) with the “Cost Management Reader” role on the desired subscriptions
  • AWS: IAM access key with the ce:GetCostAndUsage permission (Cost Explorer enabled)
  • Google Cloud: billing export to BigQuery, a service account JSON with BigQuery read access and the export table
  • Hetzner Cloud: API token of the project (read permission) and a project name
  • OVH Public Cloud: Application Key, Application Secret and Consumer Key with read access GET /cloud/* (created via https://www.ovh.com/auth/api/createToken) plus the endpoint choice (Europe, Canada or US)

How to set up the connection

  1. Open Administration → Integrations (group “Cloud costs”), choose the provider and click New connection — the wizard explains every step.
  2. Assign a display name (e.g. “Project Production”) and enter the credentials.
  3. Choose the mapping attribute — in tag mode, also the tag key.
  4. Save — Contrixt verifies the connection — and click Sync now.

How to check that everything works

After the sync, the page shows the last sync time and the Cost entries table with the monthly costs per scope. With scope mapping, assign the detected scopes once under Scopes → applications. From then on the sync keeps running automatically.

The sync runs in the background

Sync now only triggers the retrieval — Contrixt then fetches the data in the background. While it runs, the connection shows the status Sync in progress; depending on the number of subscriptions or projects this can take several minutes. You can safely leave or close the page in the meantime: the retrieval keeps running, and the page shows the result on its own as soon as it is available — no manual reload needed. A second click does not start a duplicate sync. Error messages are shown with the timestamp of the run they belong to, so you can tell old messages from new ones.

Azure specifics for large environments

Microsoft throttles the Cost Management API (error 429), so environments with a very large number of subscriptions may not be retrieved in a single pass. In that case Contrixt keeps the partial results it already received and remembers which subscriptions are still outstanding; the connection shows how many are pending. Contrixt then retrieves the missing subscriptions automatically every hour until all of them are in. A manual retry via Sync now also resumes with the missing subscriptions instead of starting over. The status then reads being retrieved instead of showing an error — this is normal operation and requires no action.

Hetzner specifics

Hetzner has no cost API. Contrixt calculates the monthly costs from the running resources (servers, volumes, load balancers) multiplied by the official price list — including the backup surcharge. The result is a very accurate estimate of the monthly invoice.

OVH specifics

Contrixt derives the calculated monthly costs per public cloud project from the running consumption overview of the OVH account. You assign each project to an application; on request, Contrixt books the monthly costs automatically.

Automatic monthly booking ​

Administrators can configure each connection to record the cloud costs automatically on the last day of the month as actual bookings — per cost center according to the application mapping of the cost entries. Enable the Automatic monthly booking card on the provider page and choose the category for the bookings; optionally a fallback cost center for costs that are not (yet) assigned to an application with a cost center. The bookings appear under Bookings with the source Cloud.

If there are unmapped costs and no fallback cost center is selected, Contrixt skips the booking and shows a status note on the card — once you complete the mapping or choose a fallback cost center, the next run catches up on the month automatically.

Automatic refresh ​

In addition to the manual Sync now action, Contrixt automatically refreshes the cloud costs for all configured connections once a day, overnight. This way, the automatic monthly booking always works with up-to-date figures. You can see the last sync time per connection on the provider page.

Result ​

  • Cost entries per month and scope with automatic application assignment
  • Unassigned scopes are listed separately — you see immediately where mapping is missing
  • The costs flow into the application cost structure and the reports

Visibility. Intelligence. Control.