BigCommerce Multi Location Inventory

Multi Location Inventory by MyIntegrator

This document outlines all of the information needed for the setup and usage of the BigCommerce Product Availability Solution.

Installation

This add-on is a one-click install. However, depending on your BigCommerce store theme, you may need to style it accordingly. If you need help to style the app to your business needs, contact us for a quote.

General Settings

  • Store Hash
    • This is a technical field, used by us (MyIntegrator) to help identify your store should you need support.
  • Location Label
    • The label is used on the location modal list. i.e. Store, Warehouse
  • Default Location
    • Used for customers not assigned any location value.
  • Enable Get Location By GeoIP
    • Assign a location based on a customer IP address. The below settings are still valid if the IP address doesn’t match to any location. ‘Address Mapping’ must be filled in Locations Settings.  Please see the Edit location section below.
  • Location Attribute Name
    • The customer attribute field name for location mapping.
  • Create Customer Attribute
    • Create ‘Customer Attribute’ with the entered name in the left column. The operation cannot be reverted.
  • Enable Address Lookup
    • Assign a location based on a customer address if ‘Location Attribute’ value is empty. ‘Address Mapping’ must be filled in Locations Settings. Please see the Edit location section below.

Customer attribute fields

Once the ‘Create Customer Attribute’ button is hit, you can see the ‘Location Attribute Name’ on the Customer Details page for each customer.

Here you can specify which ‘Location’ the customer is assigned to by the ‘Location Code’. See the Location section below.

Stock Availability Settings

  • Display Stock Availability
    • Display stock availability on product pages. Products and its stock quantity should be updated. Please see the Products section below.
  • Hide Out of Stock
    • Hide locations where stock is less than Out of Stock Threshold or unset.
  • Out of Stock Threshold
    • The amount of inventory that is considered “out of stock”, for all products.
  • Out of Stock Label
    • The label to show if the amount of stock reaches the above “out of stock” threshold (default “Out Of Stock”).
  • Low Stock Threshold
    • The amount of inventory that is considered “low stock”, for all products.
  • Low Stock Label
    • The label to show if the amount of stock reaches the above “low stock” threshold (default “Low Stock, Contact Store”)
  • In Stock Label
    • The label to show if the product is in stock
  • Display Stock Quantity
    • Display stock quantity figures, instead of “in stock”, “low stock” or “out of stock”.
  • Display Location Address
    • Display location addresses on the modal list.
  • Hidden Products
    • Product SKU’s here will be considered unavailable to find in store (will not show the button to find in store).
  • Enable Back Order Button
    • If a product has no stock, display “Back Order Button Label” text on the add to cart button.
  • Back Order Button Label
    • The text shown on the add to cart button.
  • Enable Inventory Control
    • Check and modify the shopping cart items’ quantities for the customer’s location or selected location to ensure a no-over ordering. For example, if the SKU A in the Location A has 10 stocks, but a customer who’s location is the Location A added 11 quantities of the SKU A to the cart, this function will adjust the cart item quantity for the SKU A to 10 instead of 11 to avoid over ordering.
  • Checkout loading message
    • The message shown when the cart item stocks are checked on the checkout page. i.e. Checking the stock availability
  • Ignore Non-Synced Sku
    • Make product skus which are not imported to products ignored for Stock Availability and Inventory Control.

Stock Availability Samples

On the product page, the Stock Availability app is shown below the add to cart button. The customer’s location or default location is displayed with its stock availability.

Click ‘View more stores’ to open the detail modal window where the all locations’ stock availability and information.

  • Setting Options

  • Enable Select Location

  • Setting Options

  • Display Stock Quantity

  • Display Location Address

  • Enable Select Location

  • Setting Options

  • Enable Select Location

  • Google Maps API Key

  • Display Stock Quantity

  • Setting Options

  • Enable Select Location

  • Display Stock Quantity

Click & Collect Settings

  • Enable Click & Collect
    • Display the ‘Click & Collect’ feature on the checkout page.
  • Enable Select Location
    • Let customer to choose Click & Collect locations on product pages. Locations should be setup. Please see the Locations section below.
  • Pickup In Store Options Display Name
    • Enter the ‘Display name’ for the ‘Pickup In Store Options’ in the BigCommerce Store Shipping Setup. The Click & Collect app will be displayed on the shipping method.
  • Overwrite Shipping Address
    • Overwrite order’s shipping address to Click & Collect location address
  • Restrict to customer location
    • Display only the location where the customer is assigned to. Disable this to display the dropdown list which a customer can choose a pick up location from multiple choices on the checkout page.
  • Show All Locations
    • Enable to select any locations from the location dropdown list on the checkout page regardless item stock quantity. This setting does not affect the product page location list modal. Please make sure item stocks are set via Products if set this to disabled.
  • Use Imperial
    • Display distance in imperial (mi) Default unit is metric (km)
  • Select Location Label
    • Label shown on product page for the Click & Collect component
  • Note Tooltip Label
    • Label shown on product page location modal for the location note tooltip
  • Google Maps API Key
    • Your Google Maps API key that is used for geolocation services on the model for the Select Location feature.
  • Restrict Searchable Regions
    • Restrict the searchable regions that the customer can use (default empty)
  • Order Confirmation Messages
    • Overwrite Click & Collect status messages on the confirmation page
      • Sending Request
      • Confirmation Success
      • Confirmation Failure

Click & Collect Samples

On the checkout page, the ‘Click & Collect’ app is displayed under the Shipping Method.

When the ‘Restrict to customer location’ is on, the only one location is displayed where the customer is assigned to.

The dropdown list is displayed when the ‘Restrict to customer location’ is off. All locations are displayed, however, only locations where all cart item stocks are selectable.

The customer can see the Click & Collect location at the Thank you page and you can see the location on the order’s staff note.

  • Setting Options

  • Restrict to customer location

  • Show All Locations

  • Setting Options

  • Show All Locations

  • Restrict to customer location

  • Setting Options

  • Restrict to customer location

  • Show All Locations

Locations

Every single product must be linked to a location. This allows customers to see what locations have the product that they want, along with the location’ information.

  • Location Code
  • Location Name
    • Display name on the Stock Availability and Click & Collect apps.
  • Hidden
    • An option to hide/show the store, in case the store is closed or shut temporarily.

Edit location

You can edit the location information after inserting one by clicking the edit link to the side.

  • Location Address
    • Displayed on the Stock Availability and Click & Collect apps.
  • Location E-mail, Location Phone
    • For the location management purpose only.
  • Notes
    • Displayed below the Location Address on the Click & Collect at the checkout page and the modal window. Ideally used for a message or opening hours.
    • Google Maps Embedded Code is supported. (Additional styling may require.)
  • Address Mapping
    • ‘Address Lookup’ must be enabled to use this function. See the General Settings section above.
    • Match the location with the BigCommerce customer’s address information if there is no location code in the ‘Customer Attributes’.
    • Zip/Postcode, Suburb/City, State/Province and Country are valid values.
    • Enter multiple values by separating them with a comma.
  • Service Zones
    • ‘Enable Get Location By GeoIP’ must be enabled to use this function. See the General Settings section above.
    • Match the location information retrieved from the client IP address.
    • State/Province and Country are valid values.
    • Select values from the dropdown list or enter to create new.
  • Latitude, Longitude
    • When the Enable Select Location option at Click & Collect Settings is on, those fields are mandatory. Simply enter address in the Location Address section. The Google places autocomplete dropdown shows up and select the address. The latitude and longitude values should be  automatically filed.

Products

Import Products

In order to import products, you must upload a CSV file in the corresponding format.

Uploading CSV file is available via the CSV File Upload form directory or enter the file URL to the CSV File URL field.

The CSV File URL will be called everyday at UTC 0:00 to import products via the URL.

Optionally, you can specify particular thresholds (no stock, low stock) for specific products in the 4th and 5th field. These thresholds will override the global thresholds.

Optionally, you can specify custom messages (no stock, low stock, in stock) for specific products in the 6th, 7th and 8th field respectively. Available after version 2.0.7

 

All products imported will insert OR update (if the SKU already exists). It may take up to a minute for several thousands of products.

Alternatively, you can import products using our API. See the API section below.

Export Products

An export of all your products can easily be created by clicking its corresponding button.

This is useful for cross checking data sent to our side, or backups.

Maintenance

Additionally, you can delete all products. This does not delete your BigCommerce products. This simply removes the product inventory levels (that you imported) for the locations that are hosted on our secure servers.

Advanced

  • Disable App Completely
    • Self explanatory, disables the whole app. Useful when inventory preparing to go live or debugging issues to your store website.
  • Script Version
    • This by default will always be set to the latest version. Changing the script version may have effects on the behaviour of the app, so it is best kept to the latest.
  • Restrict App To IP Address
    • You can restrict the app to only show for particular IP Addresses. This is useful if you are preparing to go live.
  • Store API Token Secret
    • This should be kept in secret. Required when communicating with our API.
  • Custom Styling
    • You can insert CSS code here. Useful if you want to override default styling.
  • Custom Javascript
    • You can insert JS code here. Useful if you want to add google analytics tracking.

Display locations without modal

/* Display locations without modal */
.multi-location-inventory--body {
    margin: 0;
}

.multi-location-inventory-main {
    display: none;
}

.multi-location-inventory-modal {
    display: block;
    position: relative;
    opacity: 1;
    padding: 0;
    visibility: visible;
    z-index: unset;
}

.multi-location-inventory-modal--data {
    border: none;
    border-radius: unset;
}
.modal-container {
    border: none !important;
}

.modal-header {
    display: none;
}

.multi-location-inventory-modal .modal-content {
    margin: 0;
    padding: 0;
    height: unset;
}

.multi-location-inventory-modal--filter {
    display: none;
}

Subscription

All prices are in U.S. dollars. The app runs on a metered basis. The number of requests made will be charged against your account and automatically billed at the end of the month.

The first time you place your card details will establish the authorisation. There is no fixed fee.

You can track the usage and live in this section, and all your past invoices.

Pricing

Tiers

QUANTITY PRICE PER UNIT FLAT AMOUNT
If the total quantity is 1 to 75,000 US$0.00 US$99.00
If the total quantity is 75,001 to 199,999 US$0.0027 US$0.00
If the total quantity is 200,000 to 399,999 US$0.002 US$0.00
If the total quantity is 400,000 to 1,199,999 US$0.0015 US$0.00
If the total quantity is 1,200,000 or more US$0.001 US$0.00
  • Each unit is a request made to check the product availability of a product. 
  • At the end of each day, you are able to see how many requests are made.
  • Prices are as of 14 December 2020 and may be subject to change

API

Preliminaries

Our API endpoint is https://bc-wh.myintegrator.com.au/api/store/{store_code}

 There are no limitations as of now. It can take some time to push thousands of products.

Operations

Bulk Upsert (Insert or Update)

POST https://bc-wh.myintegrator.com.au/api/store/{store_code}/products/bulk

Example Request:

Body

{
    "products": [
        {
            "sku": "ABC001",
            "stock": [
                {
                    "location_code": "MELBOURNE",
                    "quantity": 10,
                    "zero_threshold": 5, // optional
                    "low_threshold": 10, // optional
                    "zero_message": "Stock unavailable until Jan 1st, 2022", // optional
                    "low_message": "Please contact store" // optional
                    "stock_message": "Stock in Shelf A" // optional
                },
                {
                    "location_code": "SYDNEY",
                    "quantity": 20
                }
            ]
        },
        {
            "sku": "BCE001",
            "stock": [
                {
                    "location_code": "TOKYO",
                    "quantity": 5
                }
            ]
        }
    ]
}

Response

{
    "data": {
        "records_affected": 1
    },
    "errors": {
        "products": [
            [
                "location_code.TOKYO not found"
            ]
        ]
    }
}

There are some additional fields for products that can be leveraged as below (although, optional to send across). 

  • “zero_threshold” (optional) → the threshold in which the stock item is considered “Out of Stock” 
  • “low_threshold” (optional) → the threshold in which the stock item is considered “Low Stock, Contact Store”
  • “zero_message” (optional) → the custom message in which the stock item is considered “Out of Stock”
  • “low_message” (optional) → the custom message in which the stock item is considered “Low Stock, Contact Store”
  • “stock_message” (optional) → the custom message in which the stock item is considered “In Stock”

Bulk Delete

DELETE https://bc-instore.myintegrator.com.au/api/store/{store_code}/products/bulk

Will delete all the product inventory data for all the products. Same behaviour has “Delete All Products” in the Products tab.

You can delete by specific location by specifying the store_code in the request.

Body

{
    "location_code": "PERTH"
}

Response

{
    "data": [],
    "message": "",
    "success": true
}

Bulk Delete (v2)

DELETE https://bc-instore.myintegrator.com.au/api/store/{store_code}/products/bulk/v2

Will delete products specified by sku and location_code.

If location_code is set, only delete the sku for the specific locations, otherwise delete the sku from all locations.

Body

{
    "products": [
        {
            "sku": "ABC001",
            "stock": [ // Delete "ABC001" from "PERTH" and "SYDNEY" only
                { "location_code": "PERTH" },
                { "location_code": "SYDNEY" }
            ]
        },
        {
            "sku": "BCE001" // Will delete from all locations
        }
    ]
}

Response

{
    "data": {
        "records_affected": 2
    },
    "errors": {
        "products": [
            [
                "(sku.ABC001) location_code.PERTH not found"
            ]
        ]
    }
}

Support

Please send an email to [email protected] or call us on +61 (0) 3 9005 0823.