SettingsInventory & Scheduling

Inventory & Scheduling

PromoSync keeps your Shopify inventory synchronized with supplier stock levels. This guide covers inventory settings and scheduling options.

Inventory Overview

PromoSync syncs inventory data from PromoStandards suppliers:

  • Real-time stock quantities
  • Warehouse availability
  • Estimated restock dates (when available)

Location Configuration

Primary Location

Select the Shopify location that receives inventory updates:

  1. Go to Settings > Inventory
  2. Under Primary Location, select your location
  3. Click Save
// Inventory sync payload
{
  "productId": "gid://shopify/Product/123456",
  "variantId": "gid://shopify/ProductVariant/789",
  "locationId": "gid://shopify/Location/12345",
  "quantity": 150,
  "available": true
}

Multi-Location Setup

For stores with multiple locations, see Multi-Location Inventory.

Sync Scheduling

Default Schedule

Set your default inventory update frequency:

FrequencyDescriptionBest For
Real-timeUpdates on each page loadHigh-velocity items
HourlyUpdates every hourPopular products
DailyUpdates once per dayStandard inventory
WeeklyUpdates once per weekSlow-moving items
ManualOnly when triggeredSpecial cases

Setting Default Schedule

  1. Navigate to Settings > Inventory
  2. Select Default Sync Frequency
  3. Choose your preferred schedule
  4. Click Save

Sync Window

Configure when inventory syncs run:

SettingDescription
Start TimeEarliest time syncs can run (e.g., 6:00 AM)
End TimeLatest time syncs can run (e.g., 10:00 PM)
TimezoneYour store’s timezone

This prevents syncs during peak traffic hours if desired.

Collection-Based Scheduling

Set different sync frequencies for different collections:

Configuration

// Collection sync rules
{
  "rules": [
    {
      "collection": "Best Sellers",
      "frequency": "hourly"
    },
    {
      "collection": "New Arrivals",
      "frequency": "hourly"
    },
    {
      "collection": "Standard Products",
      "frequency": "daily"
    },
    {
      "collection": "Clearance",
      "frequency": "weekly"
    }
  ]
}

Setting Collection Schedules

  1. Go to Settings > Inventory
  2. Scroll to Collection-Based Scheduling
  3. Click Add Rule
  4. Select a collection and frequency
  5. Click Save

Stock Buffer Settings

Safety Stock

Set a buffer to prevent overselling:

SettingDescriptionExample
Buffer AmountUnits to hold back5
Buffer TypeFixed or PercentageFixed
// With 5 unit buffer
{
  "supplierStock": 100,
  "bufferAmount": 5,
  "displayedStock": 95
}

Low Stock Threshold

Get alerts when inventory drops below a threshold:

{
  "lowStockThreshold": 10,
  "notification": "email",
  "notifyEmail": "inventory@yourstore.com"
}

Inventory Sync Settings

Sync Options

SettingDescription
Track InventoryEnable inventory tracking in Shopify
Continue SellingAllow sales when out of stock
Update Zero StockSet to 0 when supplier has no stock

Out of Stock Handling

Configure what happens when products go out of stock:

OptionBehavior
Set to ZeroInventory shows as 0
Hide ProductProduct becomes unavailable
Tag ProductAdd “out-of-stock” tag
Keep Last ValueDon’t update (risky)

Manual Sync Operations

Sync Individual Products

  1. Navigate to the product in PromoSync
  2. Click Sync Inventory
  3. Wait for confirmation

Bulk Sync

  1. Select multiple products in the product list
  2. Choose Bulk Actions > Sync Inventory
  3. Confirm the operation

Full Catalog Sync

  1. Go to Settings > Inventory
  2. Click Sync All Products
  3. Note: This may take significant time for large catalogs

Sync Status and Logs

Viewing Sync Status

The inventory dashboard shows:

  • Last sync time per product
  • Sync success/failure status
  • Queue length for pending syncs

Sync Log

Access detailed logs:

// Example sync log entry
{
  "timestamp": "2024-01-20T14:30:00Z",
  "product": "Basic Tee",
  "variantCount": 24,
  "status": "success",
  "duration": "1.2s",
  "changes": [
    {"variant": "Black/S", "oldQty": 45, "newQty": 38},
    {"variant": "Black/M", "oldQty": 62, "newQty": 55}
  ]
}

Error Handling

Common sync errors and solutions:

ErrorCauseSolution
Supplier timeoutSlow supplier responseRetry automatically
Invalid locationLocation deletedUpdate location settings
Rate limitedToo many requestsWait and retry
Product not foundProduct removedRemove from sync

Inventory Metafields

PromoSync stores inventory metadata in metafields:

// product.metafields.psrestful.inventory_data
{
  "lastSync": "2024-01-20T14:30:00Z",
  "supplierCode": "SanMar",
  "warehouses": [
    {"location": "Dallas", "qty": 100},
    {"location": "Phoenix", "qty": 75}
  ],
  "totalAvailable": 175,
  "restockDate": null
}

Access in Liquid:

{% raw %}{% assign inv = product.metafields.psrestful.inventory_data.value %}
{% if inv.totalAvailable > 0 %}
  <span class="in-stock">In Stock ({{ inv.totalAvailable }} available)</span>
{% else %}
  <span class="out-of-stock">Out of Stock</span>
{% endif %}{% endraw %}

Performance Considerations

Sync Volume Limits

PlanMax ProductsSync Frequency
Basic500Daily
Professional5,000Hourly
EnterpriseUnlimitedReal-time

Optimization Tips

  1. Use collection-based scheduling - Sync popular items more frequently
  2. Set appropriate buffers - Prevent overselling without over-holding
  3. Monitor sync logs - Identify and fix errors promptly
  4. Stagger sync times - Avoid syncing all products at once

Troubleshooting

Inventory Not Updating

  1. Check sync schedule settings
  2. Verify the product is in sync
  3. Review sync logs for errors
  4. Test with a manual sync

Incorrect Quantities

  1. Compare with supplier’s live inventory
  2. Check buffer settings
  3. Verify location mapping
  4. Look for recent sync errors

Sync Taking Too Long

  1. Reduce sync frequency for low-priority products
  2. Use collection-based scheduling
  3. Contact support if persistent