Suppli Suppli

Tutorials & help

Setup guides, troubleshooting, and debugging for Suppli

πŸ›’
Connect Shopify
Get your API key using the legacy app method
  1. 1Go to your Shopify admin β†’ Settings β†’ Apps and sales channels β†’ Develop apps
  2. 2Click "Allow custom app development" if prompted, then "Create an app"
  3. 3Name it "Suppli Sync" and click Create
  4. 4Go to Configuration β†’ Admin API integration β†’ click Edit
  5. 5Enable these scopes: read_productswrite_productsread_inventorywrite_inventoryread_locationswrite_locations
  6. 6Click Save β†’ then go to API credentials tab β†’ Install app
  7. 7Copy the Admin API access token β€” you only see it once
  8. 8In Suppli β†’ Channels β†’ Add channel β†’ Select Shopify β†’ paste token + shop domain
  9. 9Click Fetch Locations β†’ select your warehouse location β†’ Save
⚠ Shop domain format: auksales.myshopify.com β€” not your custom domain
πŸͺ
Connect eBay β€” Full Setup Guide
Developer account, keyset, RuName, and OAuth token
  1. 1
    Create eBay Developer Account
    Go to developer.ebay.com and create a NEW account using a different email than your seller account. Your seller account login will not work here. Wait for the approval email (usually a few hours).
  2. 2
    Create Production Keyset
    Log in to developer.ebay.com β†’ Application Keys β†’ type your app name β†’ click Create a keyset under PRODUCTION (not Sandbox). Copy your App ID (Client ID), Cert ID (Client Secret), and Dev ID.
  3. 3
    Fix the "Non Compliant" keyset
    After creating the keyset it shows Non Compliant and is disabled. Click Alerts & Notifications next to your keyset β†’ select the Marketplace Account Deletion tab β†’ toggle ON Exempted from Marketplace Account Deletion β†’ select reason "I do not persist eBay data" β†’ Save. The keyset becomes active.
  4. 4
    Get your RuName (OAuth Redirect)
    Click User Tokens next to your App ID β†’ scroll to "Get a Token from eBay via Your Application" β†’ click Add eBay Redirect URL β†’ fill in:
    • β€’ Display Title: your app name
    • β€’ Privacy Policy URL: https://yourdomain.com/privacy/
    • β€’ Auth Accepted URL: https://yourdomain.com/ebay/callback/
    • β€’ Auth Declined URL: https://yourdomain.com/ebay/
    Make sure the OAuth tab is selected β†’ Save. Copy the RuName (looks like: yourname-appname-PRD-xxxxxxxx).
  5. 5
    Connect in Suppli
    Go to Suppli β†’ Channels β†’ eBay Integration β†’ select your supplier β†’ enter App ID, Cert ID, Dev ID, RuName β†’ click Save credentials β†’ click Connect with eBay β†’ sign in with your seller account (not developer) β†’ click Agree/Authorize β†’ green Connected badge appears.

βœ“ Developer account and seller account are two different accounts β€” use the right one for each step
βœ“ Token expires after 2 hours but auto-refreshes using the refresh token (lasts 18 months)
βœ“ Suppli caches the eBay ItemID automatically on first sync β€” no manual work needed
βœ“ When qty hits 0, eBay automatically hides the listing. When stock is restored, it shows again
⚠ Make sure your eBay listing has the correct SKU in the Custom label field β€” this is how Suppli finds and updates your listing
⚠ Only listings with a matching Custom Label (SKU) will sync. Listings without a Custom Label are ignored
⚠ Use Production keys only β€” Sandbox won't affect real listings
🏬
Connect Walmart
Marketplace seller API credentials
  1. 1Go to developer.walmart.com β†’ sign in with your Walmart Marketplace seller account
  2. 2Go to API Keys section β†’ copy Client ID and Client Secret
  3. 3In Suppli β†’ Channels β†’ Add channel β†’ Select Walmart β†’ paste credentials β†’ Save
⚠ Walmart API access is tied directly to your seller account. No separate approval needed.
🚚
Add a supplier
Connect a supplier and set up their feed
  1. 1Go to Suppliers β†’ Add supplier β†’ enter name and email
  2. 2Go to IMAP settings β†’ Add connection β†’ enter the mailbox that receives supplier feed emails
  3. 3Set the sender filter to the supplier's email address (e.g. feed@twhouse.com)
  4. 4Suppli polls that mailbox every 1 minute for CSV attachments from that sender
  5. 5Go to Product mapping β†’ map supplier SKUs to your internal SKUs
βœ“ Multiple suppliers can map to the same internal SKU β€” Suppli will sum all quantities and push the total to your channels
πŸ“Š
CSV feed format
Required column names for supplier feeds

Suppli looks for these column names in supplier CSV files:

SKU column: itemcode
Qty column: totalQty (must come before ohioQty, floridaQty etc.)
Price column: price
MAP price column: onlinemap
⚠ Column names are case-sensitive. If your supplier uses different names, update the column aliases in the supplier settings.
πŸ’±
Price modes
How Suppli calculates prices
  1. 1Cost Γ— multiplier β€” takes supplier cost and multiplies by your set value (e.g. 1.3 = 30% markup)
  2. 2MAP enforcement β€” never goes below the supplier's minimum advertised price
  3. 3Keep Shopify price β€” never changes the price, only updates inventory
  4. 4Only the supplier with is_price_primary set controls the price. Others contribute inventory only.
πŸ›
Inventory didn't update in Shopify
Step-by-step checklist
1. Check if the sync run completed
Go to Sync logs β†’ check if there's a recent run for your supplier. If status is Failed, read the error message.
2. Check SKU matching
The SKU in your supplier CSV must match the SKU on the Shopify variant exactly (case-insensitive). Check both:
  • Shopify admin β†’ product β†’ variant β†’ SKU field β€” make sure it's not blank
  • Supplier CSV β†’ the itemcode column value for that product
  • Product mapping β†’ confirm internal_sku matches the Shopify variant SKU
3. Check the product mapping
Go to Product mapping β†’ search for the SKU. If it doesn't exist, Suppli will never sync that product. Add the mapping.
4. Check the channel connection
Go to Channels β†’ confirm your Shopify connection is Active. If the API token expired or scopes changed, reconnect.
5. Check Shopify location
Suppli updates inventory at a specific location. If the location ID is wrong, it may be updating a different warehouse than expected.
βœ• Still not working? Go to Sync logs β†’ open the failed run β†’ expand the error to see the exact message and details.
πŸ“§
Feed not being picked up from email
IMAP troubleshooting
  • Check IMAP settings β†’ confirm mailbox credentials are correct
  • Check sender filter β€” must exactly match the supplier's from address
  • Gmail accounts need "Less secure app access" or an App Password enabled
  • The email must have a CSV file attached β€” not pasted in body
  • Check Failed feeds count on dashboard β€” if it's increasing, the CSV format may be wrong
  • Suppli polls every 1 minute β€” wait at least 2 minutes after sending
⚠
SKU not found in Shopify warning
What causes it and how to fix
  • The supplier CSV has a SKU that is mapped in Suppli but missing from Shopify variants
  • Go to Shopify β†’ find the product β†’ check the variant SKU field is filled in
  • Common cause: Shopify variant SKU is blank or has different capitalization
  • Fix: update the Shopify variant SKU to exactly match the internal_sku in Suppli
  • Example: Suppli has CANCUN990 but Shopify has Cancun990 β€” update Shopify to CANCUN990
⚠
Common warnings explained
What each dashboard warning means
"Some Shopify items were skipped"
One or more SKUs in the sync run could not be matched to a Shopify variant. Check the sync log details to see which SKUs were skipped and why.

"SKU not found in Shopify: XXXXX (N units unsynced)"
A mapped SKU exists in Suppli but has no matching variant in Shopify. Those units are not being tracked anywhere. Fix the Shopify variant SKU.

"Unmatched SKUs stored"
The supplier CSV contained SKUs that have no product mapping in Suppli. These are stored in Unmapped SKUs. Review them and add mappings for products you sell.

"Feed processing failed"
The sync run crashed during processing. Open the run in Sync logs for the full error. Common causes: bad CSV format, Shopify API timeout, missing channel connection.

Errors count keeps going up on dashboard
These are cumulative historical errors β€” not all active. The number will look large over time. Check Recent errors panel for anything from the last 24 hours only.

Auto-hide not working (product not going to Draft when qty=0)
Check channel connection settings β†’ Auto-hide products when inventory hits 0 must be enabled. Also confirm the product is Active in Shopify β€” Draft products are ignored.
βœ“
Pre-launch checklist
Make sure everything is set up correctly
  1. βœ“Supplier added with correct email
  2. βœ“IMAP connection active with correct sender filter
  3. βœ“Product mappings created for all SKUs you sell
  4. βœ“Shopify channel connected with correct scopes and location ID
  5. βœ“All Shopify variant SKU fields filled in (no blanks)
  6. βœ“Price rules configured (multiplier or MAP)
  7. βœ“Send a test CSV and confirm sync run completes with green status