Apex Trading is a wholesale cannabis marketplace that optimizes buying and selling processes for the cannabis industry. Apex Trading provides private storefronts and an open marketplace with features around CRM, Email Marketing, Task Management, Reporting, and more.
Canix's integration automatically syncs your active package inventory based on settings you configure in Apex. To configure these settings and complete your integration set up, follow the steps below in your Apex Trading account.
Orders do not currently integrate between Apex and Canix, but is currently planned for early 2025.
Table of Contents
Integration Set Up
Contact Apex Trading to initially connect your Canix integration for you. You'll need to provide them with your Facility License Number and your Canix User's API key (see here for steps).
Once set up, follow the steps below.
- In your Apex Trading account, navigate to Company > Settings to set your Grams to Pound Conversion
- Optional - select the option to Automatically Archive Batches when Sold Out to automatically remove batches with 0 quantity remaining from your marketplace.
- Navigate to Company > Integrations and select Canix from the options in the top right
Note - you will need to provide Apex Trading with your Canix API key and Facility License Number to set up your integration initially if you do not see your facility here.
- Follow the steps below to complete your set up for each license
- Select Add Room to specify which Canix locations you want to sync inventory from.
Note - packages will be synced to Apex if they match both the Associated Rooms and Associated Statuses configured here. Packages with locations in Canix that match the Associated Rooms but have a different package status than selected in Associated Statuses will not be synced until the status is added as an Associated Status in Apex.
- Select which Canix package status (including custom statuses) you want to sell from under Associated Statuses.
Note - packages will be synced to Apex if they match both the Associated Rooms and Associated Statuses. Packages that match the Associated Statuses but are in a different Canix location than configured for Associated Rooms, will not be synced until the location is added as an Associated Room in Apex.
- Optional - additional settings can be managed per Associated Status. Select the checkbox next to the Associated Status to view the modal below with the following options:
- Create a separate batch for packages with this status - select this option to separate inventory quantities by package status in Apex's marketplace. If packages of the same production batch have different statuses in Canix, they will be displayed separately in Apex. Deselect this option if you want all package quantities of the same production batch to be displayed together, regardless of package statuses in Canix.
- Set batches with this status restricted - select this option to restrict packages of this status from being visible automatically in your marketplace when initially synced from Canix. Packages and quantities will instead be displayed in your Apex account for you to manage and enable for sale in your marketplace when ready, but will not automatically be visible to customers when initially synced. If deselected, all packages that match this Associated Status and Associated Rooms configured will automatically be available for sale in your marketplace once synced initially with Canix.
- Set batches with this status on deck if other batches are available for sale - Select this option to use FIFO when fulfilling orders. Deselect this option to manually specify which package to use when fulfilling orders.
- Select Update to save any changes made
- Select Add Room to specify which Canix locations you want to sync inventory from.
Follow the steps below to get your Canix API key to provide Apex if you do not already have an API key
- In another tab, log into your Canix account (an Admin user is recommended as they may have more permissions enabled in Canix)
- Confirm the Canix user that is generating the API key has the correct permissions in Admin > User Permission Groups
- User must have View or Edit access in Permission Groups to Packages
- User must have Edit access in Permission Groups to API (under Admin)
- Navigate to Admin > API and select Generate Key
Note - if you already have 5 keys listed in the table on this page, you will need delete one. To delete an API key, select the 3 dots to the left of one of the keys and then select Delete. You will then be able to select Generate Key.
- Copy the API key to provide to Apex
Note - you can only view this key one time. Make sure you save this key, or you will need to delete it and generate a new one.
Syncing and Managing Inventory in Apex
Sync Inventory from Canix
Packages that match the Associated Rooms and Associated Status settings configured in Apex will be initially synced from Canix every 15 minutes.
Once a package that matches the Associated Rooms and Associated Status settings is synced from Canix, that package does not auto-update in Apex based on changes made in Canix or Metrc. Any changes made to a package in Canix or Metrc will also need to be updated in Apex (i.e. a Package Adjustment made in Canix/Metrc). Quantity will only automatically decrease in Apex when an order is placed in Apex or manually updated by a user in Apex.
Note - packages that do not match your Apex settings are not yet synced from Canix and will only sync once they match the Associated Rooms and Associated Statuses configured.
The following data from Canix is synced for packages that match the status and rooms selected in Apex settings:
- Canix Locations
- Canix Statuses (default and custom statuses)
- Package tags
- Item Name
- SKU
- Brand
- Production Batch
- Quantity - This only syncs from Canix once when a package initially meets the configured Associated Rooms and Associated Statuses settings. Any changes made outside of Apex will need to also be made manually in Apex (i.e. package adjustment made in Canix/Metrc)
- Lab Results (COA documents are not synced from Canix but can be manually added to Apex)
To manually sync inventory before the next 15 minute sync, navigate to Company > Integrations > Canix > Select the Facility in the modal > Select Sync Inventory button.
Mapping Inventory in Apex
Once packages matching the Associated Rooms and Associated Statuses are synced from Canix, they will auto-map to products in Apex based on the following logic:
- Packages will automatically map to the Apex product if the package item name, SKU and Brand matches the Apex product name, SKU and Brand.
- If the SKU or Brand is different in Canix than in Apex, the package will not be mapped automatically
- If there is no SKU or Brand on the Apex product, but there is a SKU or Brand on the package synced from Canix, the package will not be mapped automatically
- If there is a SKU or Brand on the Apex product, but there is not a SKU or Brand on the package synced from Canix, the package will not be mapped automatically
Any packages that could not be auto-mapped will be found in the Unmapped section in Apex (explained further in the next section)
Managing Apex Product Listings
- In your Apex account, navigate to Inventory
- To edit product details displayed in Apex, select the edit icon for that product
- Product Name - update the display name for the product sold in Apex. This will not update the name in Canix.
- Category - this is synced from the package details and cannot be edited
- SKU - Set the SKU in Apex to match the SKU on the package in Canix in order to auto-assign inventory to this product listing.
-
Brand - Set the Brand in Apex to match the Brand on the item in Canix in order to map inventory to this product listing.
- Production Batches that are mapped to the Apex product listings can be viewed by selecting the product name in the Inventory table to expand rows with production batch information listed. Package quantities are summed per production batch in this view.
Production Batches can also be viewed by selecting the edit icon for the product listing, and viewing the Batches tab. Package quantities are summed per production batch in this view.
From the edit product modal, select the Canix icon next to the Batch Name to view the packages if multiple packages match a production batch.
Viewing Unmapped Inventory
Packages that cannot be mapped automatically by Apex will be listed in the Unmapped section. Once the errors listed in the Unmapped section are resolved, Apex will auto-map the package to the correct product listing.
To view unmapped inventory:
- Navigate to Company > Integrations > Canix
- Select the icon under Unmapped in the table at the bottom
- The reason inventory could not be mapped is listed under Reason in the modal that appears. Once the error is resolved, Apex will map the package to the Apex product.
In the example below, the package's SKU cannot be found on a product in Apex. To correct this, the SKU must be added to an Apex product listing, and then the package will be mapped automatically by Apex.