topics
January 7, 2025
CloudHealth can help you streamline the billing and invoicing process for your AWS customers.
All partners receive a consolidated billing statement of the costs that all their customers have accrued over the billing period. The CloudHealth platform then processes these consolidated bills to generate separate bills for each customer.
Partners and their customers are organized as tenants in a hierarchical, multi-tenant system in the Partner Platform. Customer tenants are subordinates of their corresponding Partner Tenant.

Each partner has access to a CloudHealth account, which they can use to add, edit, and delete an unlimited number of customers under them.
Under each partner tenant, customer tenants are isolated and cannot access each other’s configuration or data. Partner tenants, on the other hand, can view and manage the data and configurations of all customer tenants under them.
The Partner Platform supports multiple Partner–Customer deployment scenarios. This broad support exists because customers have single or multiple AWS accounts. Large enterprise customers can have complex setups with both standalone and linked accounts that include multiple consolidated bills.
Broadly, Partner–Customer deployment scenarios belong to one of these categories.
CloudHealth generates individual billing records for a partner’s customers by processing AWS billing records after each new deposit from the partner's AWS main consolidated bill. The billing records are generated in the Cost and Usage Report (CUR) format that AWS employs for reporting detailed usage along with resources and tags. Effectively, the billing records represent artifacts that AWS would have produced for a customer were they not linked to the partner’s consolidated bill. This process is internal to the CloudHealth platform and does not in any way change the consolidated bills that AWS generates for the partner.
CloudHealth deposits the generated customer-specific CURs in an S3 bucket created for partner billing that is accessible only to the partner. CURs uses the following output path target:
[bucket_region]:[bucket_name]:cur/[cloudhealth_client_api_id]/pgb-processed-cur/[cloudhealth_aws_account_id]/[report_prefix]/[report_path]/20180601-20180701/[assembly_id]/[report_name]-[report_segment_file_number].csv.gz
[bucket_region]:[bucket_name]:cur/[cloudhealth_client_api_id]/pgb-processed-cur/[cloudhealth_aws_account_id]/[report_prefix]/[report_path]/20180601-20180701/[assembly_id]/[report_name]-Manifest.json
[bucket_region]:[bucket_name]:cur/[cloudhealth_client_api_id]/pgb-processed-cur/[cloudhealth_aws_account_id]/[report_prefix]/[report_path]/20180601-20180701/[report_name]-Manifest.json
During the generation of individual customer CURs, the following adjustments are introduced:
Partner-generated billing (PGB) can help you easily manage and bill large groups of related accounts.
Customers can have single or multiple billing configurations depending on their need by organizing accounts into Billing Blocks.
Within AWS, there are two types of account structures: consolidated and standalone.
Either account structure is recommended for customers who are resold an AWS service by a partner, which is determined by customer need and preference.
Additionally, CloudHealth has a third option for Billing Blocks called Full Family. This option is designed for customers who have their own AWS Organizations. Full Family configured customers still have partner credits removed, but tiered discounts and other benefits are not adjusted.
You can create Billing Blocks - or subsets of accounts - for a single customer, which combines multiple accounts into one group. Billing Blocks can consist of consolidated accounts, with linked accounts under them where RI/SPs and tiering is applied across all accounts. One statement is produced for the entire billing block. Billing Blocks can also consist of standalone accounts, which generate statements per account but do not share RI/SPs and tiering between accounts.
For example, you could create a Billing Block for the Finance group and a Billing Block for the Engineering group within the same company. Because the Finance group has a separate cost center from Engineering, they require a separate bill.
Billing Blocks only expose billing data to the account that requires access to it. In the previous example, even though Engineering and Finance are in the same company, CloudHealth can be configured so that Finance sees only the bill or bills related to their usage.
To enable PGB:
Custom price books (CPB) give you more control, visibility, and transparency into unique pricing arrangements with your customer base. You can create CPB for each customer to reflect different pricing agreements.
CPB can help you automate complex line items, such as resource type discounts, percent increase based on a specific product, regional discounts, flat rates for resources, and percent increase on service types and operations.
During the partner generated billing process, CPB are applied as post-processing, and reflected in the final CUR.
To create a custom price book, you must use the REST API. To create, test, and assign custom price books using the REST API, refer to Introduction to Price Book API.