FOCUS billing export
What Plutus imports
Section titled “What Plutus imports”- BilledCost by service, region, sub-account and charge category
- Per-resource spend, from a resource-level export
- Credits and refunds as their own charge category
Connecting
Section titled “Connecting”Method: Billing Export (S3 / GCS / Azure Blob) or FOCUS CSV URL
This connector reads a FOCUS-conformant billing export. Set it up one of two ways: point it at a cloud billing-export bucket for per-resource spend, or paste a FOCUS CSV URL for a simpler, bucket-free setup.
Bucket-backed export (recommended — unlocks per-resource spend):
- AWS: In Billing and Cost Management, go to Data exports > Create. Choose the “Standard data export” type with CUR 2.0 as its table.
- Turn on the resource ID column. This is what unlocks per-resource spend in Plutus, and it can’t be added retroactively — an export created without it has to be re-created, and only collects resource detail from that day forward.
- Set time granularity to Daily or Hourly. Either works; Hourly produces a much larger export and is only worth it if you need hour-level detail.
- Set compression to Parquet or gzipped CSV — Plutus reads both. Leave “Overwrite existing data export file” on. With it off, AWS keeps every past execution in the bucket and the bucket grows without limit.
- Choose or create the delivery S3 bucket, then note its name, the prefix you gave the export, and its region — you’ll enter these in Plutus.
- Grant your existing
PlutusCostReaderroles3:GetObjectands3:ListBucketon that bucket. This is the same cross-account role the AWS connector uses, with no new credential to create. Setbilling_export_bucketon the Terraform module, or theBillingExportBucketparameter on the CloudFormation stack — left empty, neither grants anything on S3. - GCP: In Billing, go to Billing export > FOCUS export to Cloud Storage, then note the bucket and prefix it writes to. (The BigQuery billing export is a different feature and belongs on the GCP connector, not here.)
- Azure: In Cost Management, go to Exports > Create, and choose the FOCUS dataset with a storage account container as the destination.
- In Plutus, open the FOCUS connector and enter the Export Bucket, Export Prefix, Bucket Region, and Role ARN (for S3-backed exports) from the steps above. Leave Export URL blank.
- Save. AWS writes the first export within 24 hours of creating it, so the first sync immediately after setup may look empty — that’s the export not having landed yet, not a connection problem.
FOCUS CSV URL (no bucket, no per-resource spend):
- Get the stable HTTPS URL your provider publishes its FOCUS-conformant CSV at. Gzip-compressed
files (
.csv.gz) are handled automatically. - In Plutus, open the FOCUS connector and paste the URL into Export URL. Leave the bucket fields blank.
- If the endpoint requires authentication, enter the full header value (for example,
Bearer <token>) in Authorization Header. - Save. Plutus re-downloads the export on every sync, so a presigned URL has to either not expire or be refreshed by your own tooling.
Only BilledCost (the actual charged amount) is imported, broken down by service, region, sub-account and charge category (Usage/Purchase/Tax/Credit/Adjustment) where present in the export \u2014 provider-specific x_* extension columns are ignored. Both CSV and Parquet exports are read. A bucket-backed export additionally yields per-resource spend on paid plans, read from the export manifest so that restated months replace rather than add to earlier ones.