GuidesDecoration Listings

Decoration Listings

Decoration Listings publishes a supplier’s Possible Decorations (Setup and Run charges) as real Shopify products, with volume pricing tiers as variants. Add them to a cart line alongside the decorated item and the order total reflects the true imprint cost, without running into Shopify’s per-product variant limits.

Why It Exists

PromoStandards suppliers describe decoration costs as two pieces:

  • A Setup Fee, charged once per imprint
  • A Run Charge, charged per piece, often with tiered (volume) pricing

Shopify does not model these as product attributes. If you tried to encode every decoration option as a variant on the parent product, you would blow past the variant limit on any product with more than a few colors or sizes. Decoration Listings sidesteps that by creating standalone charge products you can attach to the order.

What Gets Created

For the supplier you select, PromoSync creates one product per decoration name, twice over:

ProductShopify productTypeVariants
Setup FeeSetup FeeSingle variant
Run ChargeRun ChargeSingle variant

Both products are created with:

  • Status: Active
  • Vendor: the supplier’s name
  • Product metafields: psrestful.charge_type (Setup or Run Charge) and psrestful.supplier_code

Charge products are identified by productType (Setup Fee or Run Charge), not by tags.

Volume Pricing on Run Charges

Run Charge variants carry the psrestful.part_price_array (Part Price Array) variant metafield with the supplier’s tiered pricing, the same shape PromoSync uses on regular products:

[
  {"quantityMin": 1, "price": 225},
  {"quantityMin": 50, "price": 175},
  {"quantityMin": 100, "price": 125}
]

Prices are in cents. Storefront widgets and other PromoSync tools read the tiers from this metafield, so the run charge stays a single variant in Shopify regardless of how many price breaks the supplier publishes.

Creating the Products

  1. Open your Shopify admin, then go to Apps > PromoSync
  2. From the main menu, click Decoration Listings
  3. Pick a supplier from the dropdown. Only suppliers that publish Possible Decorations data are listed.
  4. Click Create Decoration Products

The job runs in the background. You will receive a summary email when it completes, and the new products will appear in your Shopify catalog with the product type and vendor described above.

Run the action once per supplier you work with. Re-running it for the same supplier will refresh the existing decoration products with the latest data.

Using the Charge Products in Orders

Once the decoration products exist, you can add them to a cart or draft order alongside the decorated item:

  1. Add the customer’s chosen apparel/product
  2. Add the matching Setup Fee product (one per imprint)
  3. Add the Run Charge product, then set its line price using the tier that matches the order quantity in part_price_array

Shopify totals the line items normally, so taxes, discounts, and reporting all work without custom code.

⚠️

The Run Charge tier is not applied automatically based on the apparel line quantity. Whoever builds the order (your team, a draft-order automation, or a storefront flow) needs to read psrestful.part_price_array and set the correct unit price. Volume pricing is published so the right number is available, not so it is selected for you.

When to Use It

  • You quote and invoice decorated apparel and need accurate order totals
  • You sell through draft orders, quotes, or B2B flows that benefit from itemized charges
  • You want a single, supplier-aware source for setup and run pricing across staff and tools

When Not to Use It

  • You only display decoration options on the storefront (without billing for them). The Decoration Selector and location_decorations metafield are a better fit.
  • The supplier does not expose Possible Decorations data. In that case the supplier will not appear in the dropdown.

How It Fits With Other Features

  • Location Rules assigns decoration locations and methods to your decorated products. Decoration Listings complements this by giving you billable charge products to match.
  • Storefront Widgets and Theme App Extensions can read the same psrestful.part_price_array metafield on Run Charge variants if you want to surface tier pricing on the storefront.

Troubleshooting

The supplier I want is not in the dropdown

PromoSync only lists suppliers that publish Possible Decorations data via PromoStandards. If a supplier is missing, they likely do not expose decoration pricing through the API. Confirm with the supplier or check the PromoStandards Service Coverage Matrix.

Run Charge product has no price tiers in part_price_array

The Run Charge product is created with a single default variant either way, but if the supplier publishes no tier data the part_price_array metafield will be empty. Verify the supplier’s pricing data in PSRESTful and re-run the action.

Re-running the action created duplicates

Decoration products are matched by handle (a slug of the title). If a previous run created products with a different naming convention, you may end up with duplicates. Delete the older versions in Shopify or contact support to reconcile.