> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Workflow

> Learn how to build a product catalog with Attribute-based Pricing, including creating products, rate plans, and charge definitions, and subscribing customers to rate plans.

Learn how to build a product catalog with Attribute-based Pricing, including creating products, rate plans, and charge definitions, and subscribing customers to rate plans.

When you build your product catalog with Attribute-based Pricing enabled, the major steps to build your product catalog are outlined as follows:

Create a product .

Create product rate plans for the product .

Add rate plan charges to the product rate plan.

For each rate plan charge, create as many charge definitions as needed to build the attribute-based pricing structure.

Subscribe to the product rate plan for your end customers in the same way as before.

* When an order or order preview is submitted either from the UI or with REST APIs, Zuora Billing automatically determines the valid charge definition to be associated with the subscription. This automated process is done by the price lookup function .
* When the order or order preview is submitted with REST API, if the price lookup function fails, the [Create an order](https://developer.zuora.com/api-references/api/operation/POST_Order/) or [Preview an order](https://developer.zuora.com/api-references/api/operation/POST_PreviewOrder/#!path=previewOptions\&t=request) operation will return an error.
* For Subscribe and Amend tenants, you can use the charge definitions defined by the Attribute-based Pricing feature to override the charge information specified in the subscribe() call.

(Optional): Use Dynamic Offers with Attribute-based Pricing.