Centralized (Self-Managed Billing) Implementation Guide
The Centralized (Self-Managed Billing) white-label option in Forge is designed for platforms and marketplaces that want to maintain complete payment and pricing control.
Under this option:
- The platform controls carrier configurations.
- All billing flows through the platform.
- Pricing strategy remains centralized.
- Sub-accounts transact under the platform’s carrier accounts.
For this option, the sub-account object type is the Child User.
IMPORTANT: Before starting, review the prerequisites section of the Get Started with Forge guide to understand white-label implementations with EasyPost.
This section outlines how Child Users are created, managed, and used for shipping operations.
Production OnlyThis call will only work with your Production API Key.Child Users are created using the Users API or through the Forge Dashboard.
A Child User is a dependent account linked to a Parent User. The Child User inherits carrier configuration and billing structure while remaining under the platform’s control.
All billing, carrier configuration, and rate adjustments remain managed by the Parent User.
Child Users can only be created in Production mode using the platform’s API Key and the POST /users endpoint, or through the Forge Dashboard Sub Accounts page.
Once a Child User is created, securely store the API keys for future use. If API keys are lost, they can be retrieved from the Sub Account Details page.
1curl -X POST https://api.easypost.com/v2/users \
2 -u "EASYPOST_API_KEY": \
3 -H 'Content-Type: application/json' \
4 -d '{
5 "user": {
6 "name": "Child Account Name"
7 }
8 }'Customer Portals provide EasyPost-hosted, platform-branded experiences that allow Child Users to self-manage account settings.
Portal access is created using the POST /customer_portal/account_link endpoint.
A co-branded, conversion-optimized flow used to collect contact information and address details for each Child User.
A customizable portal for managing carrier accounts and other account settings.
1curl -X POST https://api.easypost.com/v2/customer_portal/account_link \
2 -u "EASYPOST_API_KEY": \
3 -H 'Content-Type: application/json' \
4 -d '{
5 "session_type": "account_management",
6 "user_id": "user_...",
7 "refresh_url": "https://example.com/refresh",
8 "return_url": "https://example.com/return",
9 "metadata": {"target": "wallet"}
10 }'Upon creation, a Child User automatically inherits:
- The Parent User’s USPS account
- Select Wallet Carrier Accounts
These accounts are billed through the platform’s wallet.
Note: Child Users do not maintain independent carrier billing relationships in the Centralized option. Carrier charges flow through the Parent User’s Wallet and billing methods.
Additional carriers may be added by:
- Using the Carrier Account API with the Child User's Production API key.
- Add carriers manually through the Forge Dashboard.
- Enabling carrier account management through the Customer Portal using the
POST /customer_portal/account_linkendpoint.
For more information, visit Carrier Management within the Forge section of the Help Center.
Shipment creation for Child Users follows the same process as shipment creaiton for Parent Users. The Child User’s API Keys must be used.
A shipment object consists of:
- A valid
to_addressandfrom_address - A
parcelwith shipping details - Any required
formsfor international deliveries
Once a shipment is created, a shipment object is used to retrieve shipping rates and purchase a label.
All postage, insurance fees, and carrier adjustment charges generated by Child Users are billed to the Parent User’s Wallet and billing methods.
This structure enables:
- Centralized pricing strategy
- Controlled margin management
- Simplified reconciliation
All activity is tracked to each individual Child User, simplifying financial reporting and reconciliation for the marketplace or platform.
Billing settings can be managed through the Forge Billing Page or via API.
Forge FlexRate allows platform administrators to apply percentage-based or fixed-amount adjustments to carrier rates displayed to Child Users. This feature supports transactional revenue generation and pricing flexibility without requiring custom code or manual rate manipulation.
When enabled, rate adjustments are returned in the adjusted_rate field in the API response. The underlying rate object remains unchanged
in the response. The adjusted_rate field is included in addition to the original carrier rate.
Adjustments can be configured:
- Globally (Standard FlexRate)
- By carrier and service level
- By shipment attributes such as weight, zone, and surcharge type
Supported evaluation models include:
- Standard (single-rule)
- Hierarchical (precedence-based)
- Cumulative (additive).
Sub Account Groups can be used in combination with FlexRate to segment pricing strategies across cohorts of Child Users.
For detailed configuration guidance, see the Forge FlexRate article in the Help Center.
Forge Advanced Shipping allows Child Users to access a white-labeled shipping interface for purchasing labels, viewing rates, and managing shipments.
When Advanced Shipping is used with the Centralized (Self-Managed Billing) option, displayed shipping rates reflect any pricing adjustments configured through Forge FlexRate.
Advanced Shipping provides an EasyPost-hosted interface powered by ShipBlink while maintaining the platform’s self-managed billing and carrier configuration.
For setup instructions and configuration details, see the Forge Advanced Shipping article in the Help Center.
Please visit the Help Center for more information.