Cost and Usage Report Requirements
Your AWS Cost and Usage Report (CUR) is the source of billing data that CloudZero uses to show your AWS costs. If your account already has a CUR, verify it matches the settings below. An existing report is preferred because CloudZero can access your historical cost data. If you have an existing report with historical data in a different format, reach out to your account manager to bring that data into CloudZero.
The automated setup detects a compatible Cost and Usage Report and connects to it. If it can't find one, it creates a new report for you.
Required settings
For CloudZero to ingest data from a Cost and Usage Report, the report must use these settings:
| Setting | Required value |
|---|---|
| Report type | Legacy CUR export |
| Time granularity | Hourly |
| Report versioning | Create new report version |
| Export format | CSV with GZIP compression, or Parquet |
| Include Resource IDs | On |
| Data refresh settings | Automatic |
| Split Cost Allocation Data | Off |
Recommended settings
These settings are not required but help keep your S3 bucket organized:
| Setting | Recommended value |
|---|---|
| S3 bucket name | <your-company-name>-billing |
| Report path prefix | hourly-billing |
CloudZero supports CUR 1.0 in either CSV (GZIP) or Parquet format. If you create a Cost and Usage Report manually, you must select Legacy CUR export.
If you create a new Cost and Usage Report, it can take up to 24 hours before AWS publishes billing data to the report.
For more on configuring AWS Cost and Usage Reports, see Creating reports in the AWS documentation.
Tag handling in Parquet CUR
When AWS writes a Parquet CUR, it normalizes tag column names by converting them to lowercase and replacing non-alphanumeric characters with underscores. This happens before CloudZero receives the file. CSV CUR preserves the original tag keys.
If you have multiple active cost allocation tag keys that differ only by capitalization or punctuation (for example, Environment and environment, or cz-owner and cz:owner), they collapse into a single tag in CloudZero. The surviving tag is the first one returned by AWS; the others are not visible.
- Tag values on each resource are preserved if you apply only one variant per resource (the common case).
- Filtering or grouping by the collapsed tag returns no results in CloudZero because it does not exist as a separate column.
- If both variants are applied to the same resource, AWS keeps only one value when writing the Parquet file.
To check whether any of your tags collide, open Billing > Cost allocation tags in the AWS Console, filter for Active user-defined tags, and look for keys that match after converting to lowercase and replacing non-alphanumeric characters with underscores.
To preserve full tag-key fidelity, either standardize your tag keys so each concept uses one consistent form, or use CSV CUR instead of Parquet.
Have questions or feedback? Reach out to your account manager.
Updated 16 days ago
