Overview
AWS reseller billing is not one problem. It's at least five, and they're easier to solve when you name them separately.
1. Account hierarchy mapping
Customer environments rarely match how AWS Organizations is structured. One customer might span four linked accounts; another might share an account with a sibling business unit. The first job of any reseller billing system is to turn the AWS hierarchy into the customer hierarchy.
Done well, this is a one-time setup with periodic reconciliation. Done badly, it produces a category of bug ("billing showed up on the wrong customer") that never quite goes away.
2. CUR ingestion and normalization
The Cost and Usage Report is the source of truth for AWS spend. It's also several gigabytes a day for a mid-sized reseller, with schema variations between providers and over time. Treat CUR ingestion as a data-engineering problem with monitoring, schema validation, and reprocessing — not as an after-thought.
3. Savings Plan and Reserved Instance allocation
The hardest decision in AWS resale is: when a Savings Plan applies to usage that crossed two customer accounts, who gets the benefit? There's no single right answer. There are defensible policies:
- Originating customer. The customer whose usage triggered the SP gets the full benefit. Simple, often unfair.
- Pro-rata. Benefit distributes by share of covered usage. Fair, requires explanation.
- Reseller-retained. The reseller keeps the SP benefit; customers see list price. Maximum margin, harder sell.
Pick a policy, document it, and apply it consistently. The biggest source of disputes is inconsistency, not the policy itself.
4. Customer-facing reporting
Customers do not want to see CUR. They want a monthly statement with the services they used, the discounts that applied, and the total they owe. Anything beyond that is a feature; the statement is the floor.
If you find yourself emailing screenshots of Cost Explorer to customers, that's a sign your customer reporting hasn't been productized yet.
5. Margin attribution
AWS reports won't tell you whether a customer is profitable. They tell you what each AWS service cost. Margin attribution requires joining AWS cost to the customer pricing rules that produced their invoice — usually in your own platform, not in AWS.
This is the area where most resellers under-invest. AWS gives you cost. You have to bring the pricing. Margin only shows up when both are joined.
Where this lands
Solve those five problems with five different mental models, not one. The teams that treat AWS reseller billing as a single monolithic problem keep finding bugs that cross categories. The teams that treat it as a pipeline with named stages — ingest, allocate, price, report, attribute — solve issues at the stage they originated.