Shopify as a Channel

Shopify is a leading eCommerce platform that allows businesses to sell products online and manage their sales channels efficiently. Integrating Shopify into Flxpoint as a channel allows you to automate order processing, inventory syncing, and product publishing between Flxpoint and Shopify. It helps streamline operations, ensuring that your product data and inventory levels are always up-to-date across your sales platforms.
 

How to Connect

We recommend selecting OAuth as the preferred connection method for Shopify as a sales channel, as it provides enhanced security and simplicity. If you're connecting to another party's Shopify store as a source, we suggest using the standard connection to ensure proper access and management of the store.

This connection will go over how to install the Flxpoint app via the OAuth2 version. This will automatically set the proper permissions you will need for Flxpoint and your Shopify store to interact.

Installing the App

  • Click on Customize Your Store towards the top right corner
  • Type in "Flxpoint"
  • Click on Flxpoint App
  • Click "Add app"
  • Click "Add app" once more on the permissions page
  • Authorize the app connection after login

The green pop-up box indicates that the connection is successful, and you can now proceed to setting up the OAuth2 process.

Connection Issues? You can always go back to your "Apps" section in Shopify and "Delete" the Flxpoint app to redo the process to re-establish a connection if your Shopify access token is not granted.

OAuth2 Setup

  • Go to your "Apps" in Shopify and click on the Flxpoint app
  • Click on Channels and setup a new connection by clicking the blue and white + button
  • Select "Start Creating Integrations" then choose "Shopify" and the OAuth2 option

Repeat the process for additional fields for that channel setup (Sync Listings, Get Orders, etc.).

This connection will go over how to install and set up the app manually, rather than just installing it through the OAuth2 version.

If you are not doing the OAuth2 version, Flxpoint will require you to set up a custom app on your Shopify store.

  • Click Settings in the bottom left corner of the screen
  • Select Apps and Sales Channels
  • Click Develop Apps for Your Store

Once on the Custom Apps page, click the Create an app button and name the new app "Flxpoint".

The next screen after the app is created will show two options to set permissions for what our app can do.

Important: Access Token Viewable Once - When your Shopify credentials are generated, the access token will only be viewable once. If you mistakenly exit the page, you will need to delete the app and reinstall to generate a new access token.

Rate Limits for Shopify API

Shopify uses a leaky bucket algorithm to manage rate limits for API requests. Here’s a breakdown of how it works:

Shopify's Leaky Bucket Algorithm:

  • Bucket Size: Limited to 40 calls.
  • Leak Rate: Empties at a rate of 2 calls per second.
  • Adding Requests: Requests are processed instantly if there's room in the bucket. If full, you'll receive a 429 TOO MANY REQUESTS error.
  • Making Requests:
    • For fewer than 40 requests, you can make them all at once.
    • For more than 40 requests, you should only make 2 requests per second to avoid errors.

keynotes on Shopify's Variant Creation Limits:

  • You can create up to 1,000 new variants per day.
  • If you exceed the limit, you'll need to wait 24 hours to create more variants.
  • Plus stores are exempt from this limit.
  • Using Shopify Apps, you can extend the 100 variant limit without requiring technical knowledge.
  • Shopify also restricts the upload of 1,000 new products or variants every 24 hours after you hit 50,000 products/variants in the store.

To learn more about Shopify Rate Limits, please click here.


Listing Operations

Import Listings

Supported
Operations Details

Import Listings Operations Breakdown

Import Listings can import pre-existing Shopify listings into Flxpoint. For more information, please see:

Import Listings Documentation

Key Points

  • Parent and Variant metafields are imported as custom fields.
  • Quantity is imported as an aggregate value for all locations.
  • Location selection is not available.
  • Product Dimensions are not available as a default field.

Manual Integration

The import listings integration cannot be scheduled. You will need to manually run the import listings integration when you want to import listings.

Potential Listings Duplication

Warning: Import listings will only link Flxpoint's SKU to Shopify's Barcode and/or SKU. Mismatched SKUs will result in duplicate listings and products. Linking to Flxpoint channel listings and product catalog based on ASIN, GTIN, MPN, or UPC is not supported.

Fields That Can Be Imported

Listing Parent:
  • externalListingId
  • sku (e.g. Handle)
  • title
  • description
  • manufacturer
  • images
  • customField (e.g. product metafields)
  • attributes (e.g. convert tags to attributes)
  • category1 (e.g. CustomCollection1)
  • category2 (e.g. CustomCollection2)
  • category3 (e.g. CustomCollection3)
Listing Variant:
  • externalListingId
  • sku
  • UPC (e.g. Barcode)
  • Title
  • price
  • msrp (e.g. Compare at price)
  • salePrice (e.g. Compare at price)
  • quantity
  • customFields (e.g. variant Metafields)
  • options
  • weight unit (default LBS)
  • weight
  • Note: Weight will be converted from grams to pounds if weight is listed as grams on your store.

Listing Management:

Applies to listings at the Channel Listings level in Flxpoint.

  • Create Only: Shopify listings will be imported and linked to existing Flxpoint listings based on SKU. If there is not a SKU match to an existing Flxpoint listing, a new listing will be created.
  • Create & Overwrite Existing: Shopify listings will be imported and linked to existing Flxpoint listings based on SKU. For all SKU matches, the listing data in Flxpoint will be overwritten by the imported Shopify listing data. If there is not a SKU match to an existing Flxpoint listing, a new listing will be created.

Set New Listings to Paused:

If enabled, this setting will automatically set all newly imported listings to a Paused status.

Pausing newly imported listings allows you space to connect your imported listings to sources before orders flow into Flxpoint. This step is important in ensuring fields, such as pricing and quantity, are accurate.

If you choose to enable this setting, you will need to manually unpause the imported listings when you are ready to do so. You can unpause the listings by clicking Actions → Edit → Unpause as shown below:

Import Listings Recent Notifications:

Once the Import Listings job has completed, you can view the results of the job in the Recent Notifications log. The recent notification log will provide a breakdown of how many parent and variant items were created or updated, as well as any errors encountered.

You can find the Recent Notifications log by navigating to the following:

Shopify Channel Settings Gear → Integrations → Import Listings → Scroll to the bottom of the integration screen

 
 

Sync & Link Listings

 
 

Publish Listings

Supported
Operations Details

Publish Listings Operations Breakdown

This will publish any listing variants that have not been previously published, and are queued to publish.

Additional Information

  • Listing attributes are published as "Tags" on a Shopify store.
  • Tags can be published on a product using comma-separated values in the mapping template. (e.g., "Tag1,Tag2,Tag3")
  • Shopify Meta-fields can be used to publish fields that don't exist on Shopify. Ensure the correct Namespace, Key, and Value, or the publish operation will fail.
  • Categories are supported at a single level. Additional levels must be uploaded as tags.

Limitations

  • Shopify allows a product to have at most 3 options.
  • Attributes and Custom Field Titles must be at most 30 characters long.
  • Attributes and Custom Fields must be uploaded as metafields.
  • Maximum image size: 4472 x 4472 with a file size of 20 MB or less.

 
 

 

Order Operations

Get Orders

Supported
Operations Details

Get Orders Operations Breakdown

This will get any new orders from Shopify that have not yet been imported into Flxpoint and will send back acknowledgments for those orders if needed.

Key Points

  • We support unique customer shipping methods, which must be mapped in shipping management.
  • Custom Fields for order line items can be imported if configured in the mapping template.
  • We support digital items in orders.
  • If a SKU is unavailable for an order line item, the order will not be saved.

Tag to Notes Field

Supported Order Statuses

You can choose which order status Flxpoint imports from Shopify. Most users default to importing all statuses. Specific statuses like Unfulfilled and Unshipped are also available.

If the product does not have a SKU, Flxpoint imports the product as Non-Managed with the “Title” of the product as the SKU.

Financial Statuses

You can also select an order's "Payment Status" to filter order imports based on the payment status.

Shopify Locations

If you use Shopify to manage internal inventory, Shopify's location settings allow fulfillment from internal inventory first before making the order available to Flxpoint.

For more information, see the Shopify guide: Setting up your locations.

Order Tags

Flxpoint supports sending back an order tag to successfully imported orders. You can input any string value (up to 20 characters) to tag an order with a desired indicator on your Shopify store.

Limitations

  • A "Linked" SKU may import as "Not Managed". Please unlink and relink the SKU to update the Internal_Id value.
  • Flxpoint requires a Location ID for order imports.
  • Flxpoint only imports order data once. Changes made to an imported order on Shopify will not update the order in Flxpoint.
  • Order items without SKUs will not be imported by Flxpoint.

Fulfillment Status

Unfulfilled: Order has not been processed.

Unshipped: Order hasn't been shipped yet.

Partially Fulfilled: Order has been fulfilled or shipped partially.

Shipped: Order has been fulfilled and shipped.

Important Information:

Flxpoint will not import orders with 'Scheduled' or 'On hold' fulfillment statuses. These statuses are not supported, and any orders with these statuses will not be pulled into Flxpoint. If you require further clarification on these statuses, see the details below:

  • Scheduled: Used for prepaid subscription orders until the fulfillment date is reached. Once the date is reached, the order will switch to 'Unfulfilled' and Flxpoint can then import it.
  • On hold: Used for upsell offers or manual fulfillment holds. These orders are not processed in Flxpoint until the hold is removed and the status is changed to 'Unfulfilled'.
 
 

Sync Orders

Supported
Operations Details
In-Store Orders

Sync Orders Operations Breakdown

Sync Orders will sync any changes made to orders since the last sync performed to Shopify channel.

Specifically, this will sync back components like tracking information, shipping information, and carrier information.

Location ID

This Shopify support doc breaks down the location ID in more detail.

Shipping Mapping

This ensures orders are being imported from Shopify and mapped to a central shipping policy in Flxpoint. You will need to provide the shipping text associated with the Shipping Rates currently offered on your Shopify account.

Sync "Closed" Order Status

Will send back to Shopify with a "Closed" status if orders have partial or no fulfillment data.

Troubleshooting: Why isn't My Shipment syncing back to my channel?

The most common reason this happens is due to Shopify not recognizing an item on the shipment we are trying to submit.

Example Scenario:

Product X was ordered on Tuesday → Deleted off of the website on Wednesday → Shipment came in on Thursday.

On Thursday, Flxpoint attempts to sync tracking information back for the ordered product. Shopify will now throw an error saying Product X cannot be located.

Resolution:

Manually update the tracking information for Product X to resolve the issue.

 
 

 

Multi-Location information

The multi-location use case is supported with advanced features like Custom Aggregate Fields (CAFs), which enable powerful capabilities for businesses managing inventory across multiple locations.

Key Features of Multi-Location Capabilities:

  • Manage inventory across multiple warehouses or fulfillment locations.
  • Customize workflows using CAFs for precise inventory and order management.