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:
| Product | Shopify productType | Variants |
|---|---|---|
| Setup Fee | Setup Fee | Single variant |
| Run Charge | Run Charge | Single variant |
Both products are created with:
- Status: Active
- Vendor: the supplier’s name
- Product metafields:
psrestful.charge_type(SetuporRun Charge) andpsrestful.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
- Open your Shopify admin, then go to Apps > PromoSync
- From the main menu, click Decoration Listings
- Pick a supplier from the dropdown. Only suppliers that publish Possible Decorations data are listed.
- 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:
- Add the customer’s chosen apparel/product
- Add the matching Setup Fee product (one per imprint)
- 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_decorationsmetafield 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_arraymetafield 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.