Welcome to Zuora Product Documentation

Explore our rich library of product information

Upload pricing

Learn how to upload and map pricing data files to Zuora for efficient rate plan management.

Use the Upload screen to upload a .csv or .xlsx pricing file for a specific rate plan. This allows you to bulk upload static pricing data using a spreadsheet or *.csv file. This is useful when:

  • You have multiple products or rate plans to update quickly.

  • Each product/attribute combination has a fixed price.

  • You are not using attribute-based rules or segmentation.

You can upload a file containing region-based or attribute-based pricing data for a product rate plan. After uploading, you will map the headers in the file to the appropriate pricing attributes in Zuora before finalizing the setup.

Note:

The file must include a header row with columns corresponding to attribute fields such as State, Currency, Price, Min, and Max.

To upload a file:

  1. In the Upload screen, drag and drop the .csv or .xlsx file, or click Select File to upload it. The Source File Header Fields section will remain empty until the file is successfully uploaded. Once uploaded, the header fields are displayed.
  2. (optional) Provide a description of the file.
  3. Click Next to proceed to the Mapping step. The Mapping screen allows you to match your uploaded file's header fields to Zuora's supported pricing attributes, such as Country, Segment, or Product. When you upload pricing for a Dynamic Pricing rate card, you can map an Effective Date column from the uploaded CSV or XLSX file during the Mapping step. Zuora lets you match source headers to supported pricing attributes, preview mapped values, review the uploaded data before saving, and display validation feedback inline during the upload flow. If Effective Date is not mapped, Zuora applies the default EffectiveDate behavior when the rate card is saved. These attributes must be pre-defined in Zuora (created under the Context and Attributes section under the Extension Studio option).
    Note:

    All required fields are marked with an asterisk (*). You must map these fields to continue. For example, Price is mandatory and must be mapped to a column in your file.

  4. Select the corresponding column name from your uploaded file that matches each target field. For example, if your CSV file has a column called Region, map it to the Country or County field. The Target fields are predefined attributes in Zuora used to filter and apply pricing dynamically, for example, Product, Country, Term length, Segment, and so on. You can view the raw values from your uploaded file for the currently selected mapping. This preview helps confirm you've chosen the correct source field.
    You can use range operators in CSV uploads for mapped attributes with the Number, Integer, Date, or DateTime data type. Enter the range operator directly in the column value for the mapped attribute. Supported operators include:

    Operator

    Meaning

    Example

    >=

    Greater than or equal to

    >=100

    >

    Greater than

    >50

    <=

    Less than or equal to

    <=500

    <

    Less than

    <1000

    [ ]

    Inclusive range, including both bounds

    [100, 500]

    ( )

    Exclusive range, excluding both bounds

    (100, 500)

    Range operators are supported only for attributes whose data type is Number, Integer, Date, or DateTime. Attributes with unsupported data types, such as Boolean or String, support exact-match values only. After uploading the file, review the mapped values during the preview step to confirm that the range expressions were interpreted correctly.

    Example: Suppose your uploaded file includes the following headers: url, region, product_code, term_months, tier1_price. You can map them as:

    Target Field

    Source Header

    Countyurl
    Countryregion
    Product*product_code
    Term lengthterm_months
    Price*`unitPrice
  5. Click Next to proceed to the Review screen.
  6. Verify the uploaded pricing data before applying it to the product catalog.
  7. Click Save to save your changes. Or, click Back to return to the Mapping step and adjust your selections.
  8. Before saving, ensure that:
    • File headers do not contain spaces.

    • There are no duplicate rows in the file.

    • Field mappings are accurate.

    • If you need to update a Charge with uploaded pricing, you can upload a new file.

      Note:

      If a Dynamic Pricing rate card contains more than 1,000 rows, use CSV or XLSX upload to make row-level updates. Manual row editing is disabled for these rate cards, and upload is the supported update method.

      When updating a large rate card, include only the rows that need to change. Uploading unchanged rows can create additional row versions with the current timestamp for the same attribute combination.

      Formula updates remain available in the UI, even when manual row editing is unavailable. Each upload supports up to 1,000 rows.

      When updating rate card rows through CSV upload, set the Price value to Ineligible to retire the row and exclude it from pricing evaluation. Zuora preserves the original row for historical reference and creates a new effective-dated row with the Ineligible price value.

      Only Ineligible is supported for retiring a row. Other string values are not accepted as price inputs for this purpose. The value is case-insensitive, but its spelling must otherwise match Ineligible exactly.

      Note that:

      • Condition columns cannot be added or removed.

      • New rows can be added.

      • Column values can be updated.

      • Adjustment and price limits can be added or removed.

      • Column mapping must remain the same.