# FinOps and FOCUS Billing

**Who this is for:** FinOps practitioners, cloud finance teams, platform engineers, and any finance team who wants to export <code class="expression">space.vars.ionos\_cloud</code> cost data to third-party tools (Apptio, CloudHealth, Finout, custom dashboards) or build cost attribution reports without provider-specific transformations.

{% hint style="info" %}
**Note:** If you want to check invoices, compare months, or review usage, see [<mark style="color:blue;">Query Billing and Cost Data</mark>](/cloud/ai/mcp-server/use-cases/query-billing-data.md) first; it requires no knowledge of FOCUS. This page is for teams building standards-compliant cost pipelines or integrating with FinOps tools.
{% endhint %}

The MCP server ships a **FOCUS v1.3** (FinOps Open Cost and Usage Specification) column mapping as an MCP resource. The billing tools themselves return native IONOS API fields; the mapping is what your AI assistant (or pipeline) applies to produce a FOCUS-compliant dataset. FOCUS is the open standard that the FinOps Foundation publishes for cloud billing data interoperability.

## Why FOCUS?

Every cloud provider uses different field names for the same billing concepts. Moving from one FinOps tool to another, or adding a second cloud provider, means rewriting your cost models and reports from scratch. FOCUS eliminates this: once your data conforms to the standard schema, it works with any compliant tool without changes.

In practice: IONOS billing data mapped to FOCUS can be loaded directly into Apptio Cloudability, CloudHealth, Finout, or a custom dashboard alongside AWS and Azure data, using the same column names, the same filters, and the same rollup logic.

## What is FOCUS?

FOCUS defines a common schema for cloud cost and usage data, standardising field names, data types, and charge categories across providers. Any FinOps tool (Apptio, CloudHealth, Finout, custom pipelines) can consume a FOCUS-compliant dataset without provider-specific transformations.

## FOCUS v1.3 support in IONOS CLOUD

The MCP server exposes the full FOCUS v1.3 column mapping as a readable resource:

```
ionos://billing/focus-v1.3
```

Ask your AI assistant to read this resource before building FOCUS-compliant pipelines:

> Read the resource ionos\://billing/focus-v1.3 and show me the full column mapping for the IONOS billing tools.

### Supported FOCUS column families

| Column family  | Supported fields                                                                                                |
| -------------- | --------------------------------------------------------------------------------------------------------------- |
| Account        | `BillingAccountId`, `BillingAccountName`, `SubAccountId`, `SubAccountName`                                      |
| Billing & Cost | `BilledCost`, `BillingCurrency`, `EffectiveCost`, `ConsumedQuantity`, `ConsumedUnit`                            |
| Charge         | `ChargeCategory`, `ChargeClass`, `ChargeDescription`, `ChargeFrequency`, `ChargePeriodStart`, `ChargePeriodEnd` |
| Resource       | `ResourceId`, `ResourceName`, `ResourceType`                                                                    |
| Service        | `ServiceCategory`, `ServiceName`, `ServiceSubcategory`                                                          |
| Location       | `RegionId`, `RegionName`, `AvailabilityZone`                                                                    |
| Pricing        | `PricingCategory`, `PricingQuantity`, `PricingUnit`                                                             |

### Tool → FOCUS mapping

| Tool                                                     | `ChargeCategory`                                        | Key FOCUS fields                                                       |
| -------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------- |
| `list_billing_invoices`                                  | `Usage`, `Tax`, `Credit`, or `Adjustment` per line type | `BilledCost`, `BillingCurrency`, `ChargePeriodStart/End`               |
| `list_billing_usage` / `get_billing_usage_by_datacenter` | `Usage`                                                 | `ConsumedQuantity`, `ConsumedUnit` (CPU-hours, GB-hours), `ResourceId` |
| `list_billing_utilization` (all variants)                | `Usage`                                                 | `ConsumedQuantity`, `ConsumedUnit`, `ResourceId`                       |
| `list_billing_traffic` (all variants)                    | `Usage`                                                 | `ConsumedQuantity` (bytes in/out), `ConsumedUnit` (`Byte`)             |
| `list_billing_evn` (all variants)                        | `Usage`                                                 | `ChargePeriodStart/End`, `ResourceId`                                  |
| `list_billing_products`                                  | —                                                       | `SkuId`, `ListUnitPrice`, `PricingUnit` reference                      |
| `get_billing_profile`                                    | —                                                       | `BillingAccountId` (contract ID), `SubAccountId` (customer ID)         |

## Example queries

### Building a FOCUS-compliant cost dataset

> Read the resource ionos\://billing/focus-v1.3. Then retrieve my billing usage for the current month and map each record to the corresponding FOCUS v1.3 fields. Present the result as a table with FOCUS column names.

> Using the FOCUS v1.3 mapping from ionos\://billing/focus-v1.3, get my billing usage for the last three months grouped by data center and format it as a FOCUS-compliant dataset with BilledCost, ConsumedQuantity, ConsumedUnit, ResourceId, and ChargePeriodStart/End.

### Cost attribution

> Get the billing usage for all data centers this month. Group by RegionId and ServiceCategory (using the FOCUS mapping) to produce a cost attribution breakdown by location and service type.

> List all EVN provisioning intervals for the current billing period. Map to FOCUS fields and group by ResourceType to show which resource types are driving the most charge intervals.

### Invoice reconciliation

> List my last three invoices and map each line item to its FOCUS ChargeCategory (Usage, Tax, Credit, or Adjustment). Show the total BilledCost per category for each invoice and highlight any changes month over month.

### Pricing catalog lookups

> List the <code class="expression">space.vars.ionos\_cloud</code> product pricing catalog. For each product, show the SkuId, ListUnitPrice, and PricingUnit in FOCUS format. Filter to Compute Engine products only.

### Combining documentation and live data

Add the [<mark style="color:blue;">IONOS CLOUD Documentation MCP</mark>](https://docs.ionos.com/cloud/~gitbook/mcp) alongside the infrastructure server to answer questions that span both:

> Look up the FOCUS v1.3 specification in the <code class="expression">space.vars.ionos\_cloud</code> docs, then pull my actual billing usage for this month and map each record to the FOCUS column names the docs describe.

> Read the <code class="expression">space.vars.ionos\_cloud</code> billing documentation and check whether my current token has sufficient permissions to access all billing tools. Then pull my invoices for the last three months.

### FinOps pipeline validation

> Read the resource ionos\://billing/focus-v1.3 and check my current billing usage data against the FOCUS v1.3 schema. Identify any fields that are null where the FOCUS spec marks them as mandatory (M) or conditional (C), and flag the records that would fail a FOCUS compliance check.

## Integration with FinOps tooling

The MCP server returns raw IONOS API field names. To produce FOCUS-compliant output for external FinOps tools:

1. Ask the AI assistant to read `ionos://billing/focus-v1.3` to load the column mapping.
2. Request billing data using the relevant tools.
3. Ask the assistant to transform the output using the mapping and export it in a format your FinOps tool accepts (CSV, JSON, etc.).

For automated pipelines, combine the MCP server with a file-write tool or drive it headlessly from any MCP client SDK (for example, the [<mark style="color:blue;">Python</mark>](https://github.com/modelcontextprotocol/python-sdk) or [<mark style="color:blue;">TypeScript</mark>](https://github.com/modelcontextprotocol/typescript-sdk) MCP SDKs) to orchestrate the retrieval and transformation programmatically.

## Next steps

* [<mark style="color:blue;">Security Audit with AI</mark>](/cloud/ai/mcp-server/use-cases/security-audit.md): use billing anomaly detection as part of a broader security audit
* [<mark style="color:blue;">Tool Reference: Billing</mark>](/cloud/ai/mcp-server/tool-reference.md#billing): full list of billing tools and their inputs
* [<mark style="color:blue;">Query Billing and Cost Data</mark>](/cloud/ai/mcp-server/use-cases/query-billing-data.md): simpler billing queries without FOCUS formatting


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ionos.com/cloud/ai/mcp-server/use-cases/finops-focus-billing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
