Billing Data Upload Schema
This guide explains how Cloudaware expects billing data to be structured when it is ingested, how records are normalized into the FinOps module data model, and how they flow into downstream analytics.
End‑to‑end flow
At a high level, Cloudaware:
Ingests provider exports and uploads
Reads raw billing exports from cloud providers (for example, AWS CUR/Data Exports, Azure EA/MCA, GCP Billing Export) and other billing systems.
Supports both scheduled pulls from cloud storage (S3, Blob, GCS, etc.) and API‑based ingestion, depending on the integration.
Normalizes records into a unified schema
Maps provider‑specific columns to a common cost and usage schema.
Standardizes identifiers (account, subscription, project), services, usage types, and regions.
Derives multiple cost metrics (for example, list/on‑demand, effective, blended) where supported.
Enriches with CMDB and allocation metadata
Joins records with CMDB objects (applications, owners, environments, customers).
Applies allocation and business mapping rules so costs can be attributed to business units, products, and teams.
Publishes datasets to analytics
Exposes line‑item and aggregated cost tables to FinOps dashboards, exports, APIs, and the Advanced Analytics module.
Logical Record Structure
While the exact column names differ by provider, Cloudaware expects billing records to contain the following logical groups of fields:
Identity and scope
Billing account/payer, linked subscription or project.
Cloud account identifiers (for example, AWS account ID, Azure subscription ID, GCP project ID).
Tenant or organization identifiers used in your Cloudaware tenant.
Service and usage
Cloud service family and product (for example, EC2, Azure Virtual Machines, BigQuery).
Usage type or meter (instance type, storage class, API call, etc.).
Region, zone, and other locality attributes.
Time
Usage start and end timestamps.
Billing or invoice period (day, month).
Cost metrics
Original list or on‑demand cost.
Effective or amortized cost (after discounts, commitments, credits).
Quantity and unit of measure.
Currency and exchange‑rate context where applicable.
Discounts and commitments
Reservation or commitment identifiers (RIs, SPs, CUDs, etc.).
Allocation of discounts or savings across usage lines.
Tags and labels
Provider tags (AWS, Azure), labels (GCP), or equivalent metadata.
Any additional classification keys used for allocation or reporting.
Cloudaware uses this information to construct consistent line‑item and aggregated datasets regardless of the original provider format.
For more details on standard billing tables configurations in provider systems, see also:
Normalization and Mapping
During ingestion, Cloudaware applies a series of transformations:
Field mapping
Each provider’s native fields are mapped to the unified cost schema.
Provider‑specific nuances (for example, how discounts are represented) are normalized so that analytics can compare costs across clouds.
Dimensional standardization
Regions, services, and usage types are mapped to canonical names and categories.
Account, subscription, and project identifiers are linked to CMDB objects and organizational structures.
Cost derivations
Effective, blended, or amortized costs are calculated where supported, using provider exports and commitment data.
Additional metrics (for example, unit cost per day, per account, per tag) are pre‑computed for reporting and optimization.
These steps ensure that FinOps and Advanced Analytics can use the same coherent dimensional model when querying costs.
Here is the table showing cross-cloud billing export field type mapping (AWS, Azure, Google Cloud):
Field type | AWS example | Azure example | Google Cloud example |
|---|---|---|---|
Identity |
|
|
|
Bill |
|
|
|
Line Item |
|
|
|
Product |
|
|
|
Pricing |
|
|
|
Reservation / Savings Plans |
|
|
|
Resource Tags |
|
|
|
Split / Allocation |
|
|
|
Relationship to Advanced Analytics
Normalized billing data is one of the primary input streams into the Advanced Analytics module:
Cost line‑items and aggregates become metrics and facts that can be combined with operational, CMDB, and telemetry data.
Business mappings and tags become attributes used for segmentation (for example, by BU, product, environment, customer).
Time‑series cost metrics feed dashboards, KPI calculations, and advanced analyses where applicable.
Because the same underlying schema is used, you can join cost data with other datasets in Advanced Analytics without custom one‑off transformations.
Best Practices for Uploads and Exports
When configuring billing exports and uploads for use with Cloudaware:
Prefer standard, provider‑recommended export formats (for example, AWS CUR/Data Exports, Azure MCA/EA exports, GCP Billing Export).
Ensure exports include:
All in‑scope accounts, subscriptions, and projects.
Sufficient granularity (typically daily or hourly) for your reporting needs.
Full sets of cost, discount, and tax fields where applicable.
Enable and maintain consistent tagging or labeling on resources that will drive allocation and showback.
Avoid manual edits to provider billing files before Cloudaware ingestion. Apply any custom adjustments as separate datasets or via integrations where possible.