Pricing Configuration
PromoSync offers flexible pricing options to match your business model. This guide covers all pricing strategies and configuration options.
Pricing Strategies
MQ (Minimum Quantity)
Uses the lowest quantity tier price from the supplier’s pricing table.
Best for: Distributors selling to end consumers or businesses ordering small quantities.
// Example supplier pricing table
{
"tiers": [
{"minQuantity": 24, "price": 12.50},
{"minQuantity": 48, "price": 11.00},
{"minQuantity": 144, "price": 9.50},
{"minQuantity": 288, "price": 8.25}
]
}
// MQ strategy selects: $12.50 (24 unit tier)HUNDREDS
Calculates price per 100 units, useful for high-volume pricing.
Best for: Businesses that quote prices per hundred or per thousand units.
// Same pricing table
// HUNDREDS calculation:
// Uses 144-tier: $9.50/unit × 100 = $950.00 per hundredMAP (Manufacturer’s Advertised Price)
Uses the manufacturer’s suggested retail price when available. For now, we are only processing SanMar’s MAP pricing.
Best for: Retail stores maintaining manufacturer pricing agreements.
// Product with MAP pricing
{
"mapPrice": 24.99,
"msrp": 29.99
}
// MAP strategy uses: $24.99Setting Your Default Strategy
- Navigate to Settings > Pricing
- Select your Default Pricing Strategy from the dropdown
- Click Save
The default strategy applies to all new product imports unless overridden.
Markup and Discount Configuration
Global Markup
Apply a markup to all products:
| Setting | Description | Example |
|---|---|---|
| Markup Type | Percentage or Fixed Amount | Percentage |
| Markup Value | The markup amount | 40 |
| Apply To | Cost or Retail | Cost |
// 40% markup on $10.00 cost
{
"cost": 10.00,
"markupType": "percentage",
"markupValue": 40,
"finalPrice": 14.00 // $10 × 1.40
}Fixed Amount Markup
Add a fixed dollar amount:
// $5.00 fixed markup on $10.00 cost
{
"cost": 10.00,
"markupType": "fixed",
"markupValue": 5.00,
"finalPrice": 15.00 // $10 + $5
}Discount Configuration
Apply discounts instead of markups:
// 15% discount on $20.00 price
{
"price": 20.00,
"discountType": "percentage",
"discountValue": 15,
"finalPrice": 17.00 // $20 × 0.85
}Price Rounding
Configure how final prices are rounded:
| Option | Example | Result |
|---|---|---|
| None | $14.37 | $14.37 |
| Nearest Cent | $14.374 | $14.37 |
| Nearest 5 Cents | $14.37 | $14.35 |
| Nearest 10 Cents | $14.37 | $14.40 |
| Nearest Dollar | $14.37 | $14.00 |
| Charm Pricing (.99) | $14.37 | $14.99 |
| Charm Pricing (.95) | $14.37 | $14.95 |
Charm Pricing Example
// Charm pricing rounds up to .99
{
"calculatedPrice": 14.37,
"roundTo": 0.99,
"finalPrice": 14.99
}Compare-At Pricing
Set original prices to show discounts:
Automatic Compare-At
Automatically set compare-at price based on a higher tier:
{
"price": 12.50, // MQ tier price
"compareAtPrice": 15.99, // From MSRP or calculated
"savings": "22%"
}Manual Compare-At Markup
Set compare-at as a percentage above your selling price:
| Setting | Value | Result |
|---|---|---|
| Selling Price | $14.00 | |
| Compare-At Markup | 30% | |
| Compare-At Price | $18.20 | $14.00 × 1.30 |
Tier Pricing Display
Store complete pricing tiers in metafields for storefront display:
// Stored in product.metafields.psrestful.tier_pricing
{
"tiers": [
{"minQuantity": 24, "price": 12.50, "pricePerUnit": 12.50},
{"minQuantity": 48, "price": 11.00, "pricePerUnit": 11.00},
{"minQuantity": 144, "price": 9.50, "pricePerUnit": 9.50},
{"minQuantity": 288, "price": 8.25, "pricePerUnit": 8.25}
],
"currency": "USD",
"lastUpdated": "2024-01-20T12:00:00Z"
}Display in your theme:
{% raw %}{% assign tiers = product.metafields.psrestful.tier_pricing.value.tiers %}
<table class="tier-pricing-table">
<thead>
<tr>
<th>Quantity</th>
<th>Price Each</th>
</tr>
</thead>
<tbody>
{% for tier in tiers %}
<tr>
<td>{{ tier.minQuantity }}+</td>
<td>{{ tier.price | money }}</td>
</tr>
{% endfor %}
</tbody>
</table>{% endraw %}Currency Settings
| Setting | Description |
|---|---|
| Source Currency | Currency from supplier (usually USD) |
| Target Currency | Your store’s currency |
| Exchange Rate | Manual or automatic conversion |
Note: PromoSync uses Shopify’s currency settings for display. Supplier prices are typically in USD.
Pricing Calculation Order
PromoSync calculates final prices in this order:
- Get Base Price - From pricing strategy (MQ, HUNDREDS, MAP)
- Apply Markup/Discount - Percentage or fixed amount
- Apply Rounding - Based on rounding settings
- Set Compare-At - If configured
Supplier Cost: $10.00
→ MQ Strategy: $10.00
→ 40% Markup: $14.00
→ Charm Pricing: $14.99
→ Compare-At (30%): $19.49 → $19.99
Final: $14.99 (was $19.99)Advanced: Per-Supplier Pricing
For supplier-specific pricing rules, see Custom Pricing (MDP).
Troubleshooting
Prices Not Updating
- Check that the product is still syncing (not removed from sync)
- Verify the supplier has updated pricing
- Manually trigger a sync from the product page
- Check for pricing errors in the sync log
Incorrect Pricing
- Verify your pricing strategy selection
- Check markup/discount configuration
- Review rounding settings
- Compare with supplier’s actual pricing table
MAP Pricing Unavailable
Not all suppliers provide MAP pricing. If MAP is selected but unavailable:
- PromoSync falls back to MQ pricing
- A warning is logged in the sync report