🔗 Sherpaan: Data Mapping & Synchronisation
This guide details the data flow between Sherpaan and Optiply. It outlines the synchronisation frequency, available configuration options, and specific field mappings for each entity.
⏱️ Synchronisation General Board
The following table outlines the data entities and their update frequency.
Entity | Direction | Frequency |
Products | Sherpaan → Optiply | Every 60 min |
Suppliers | Sherpaan → Optiply | Every 60 min |
Supplier Products | Sherpaan → Optiply | Every 60 min |
Sell Orders | Sherpaan → Optiply | Every 60 min * |
Buy Orders | Sherpaan → Optiply | Every 60 min |
Receipt Lines | Sherpaan → Optiply | Every 60 min |
* Deletions: We handle Sell Order deletions (including status="Cancelled"). However, we do not process deletions of individual lines within an order.
⚙️ Options and Features
The following settings can be customised for your integration.
1. Products - Get stock from specific WarehouseCodes (1*)
An option that allows a customer set a list of WarehouseCodes from where we should sync the stocks. By default, we sync stocks from all warehouses (stockLevel will be the sum of all warehouses).
(stock_warehouse_codes default all)
2. Products - Get stock from one specific WarehouseGroupCode (1*)
An option that allows a customer set one WarehouseGroupCode from where we should sync the stocks.
(warehouse_group_code default None)
3. Suppliers - Enable/Disable sync specific attributes for Suppliers (1*)
If the customer doesn’t want us to sync attributes for Suppliers, we can add them into the variable as a list.
Example:
Customer doesn’t want us to sync
deliveryTimenorReorderPeriodso the variable will be set as“not_sync_suppliers_attributes":"deliveryTime,userReplenishmentPeriod"
(not_sync_suppliers_attributes default None)
4. SupplierProducts - Enable/Disable sync specific attributes for SupplierProducts (1*)
If the customer doesn’t want us to sync attributes for SupplierProducts, we can add them into the variable as a list.
Example:
Customer doesn’t want us to sync
lotSizenorminimumPurchaseQuantityso the variable will be set as“not_sync_supProds_attributes":"lotSize,minimumPurchaseQuantity"
(not_sync_supProds_attributes default None)
5. SellOrders - Sync only Completed Orders (1*)
An option that allows a customer to decide if we should sync all order statuses to Optiply or only “Completed” (Status Processed in Sherpaan). By default, we pull all orders.
(pullAllOrders default true)
6. SellOrders - Get sellOrders from specific WarehouseCodes (1*)
An option that allows a customer set a list of WarehouseCodes from where we should sync the sellOrders. By default, we sync data from all warehouses.
(sellOrders_warehouse_codes default all)
7. BuyOrders - Get buyOrders from specific WarehouseCodes (1*)
An option that allows a customer set a list of WarehouseCodes from where we should sync the buyOrders. By default, we sync data from all warehouses.
(buyOrders_warehouse_codes default all)
(1*) Note: These options cannot be changed in the front-end. Please contact Customer Support to adjust these variables.
🗺️ Data Mapping Details
1. Products
Endpoints: ChangedItemsInformation, ChangedStock, ChangedStockByWarehousegroupCode
Optiply | Sherpaan | Logic / Notes |
Name |
| - |
SKU Code |
| - |
EAN Code |
| - |
Price |
| - |
Stock Level |
| Or |
Status |
| If "Active" → Enabled. Else → Disabled. |
Remote ID |
| - |
createdAtRemote |
| - |
Filter: We only sync products where ItemType is Stock or Assembly.
2. Suppliers
Endpoints: ChangedSuppliers, SupplierInfo
Optiply Field | Sherpaan Field | Notes |
Name |
| Concatenated. |
Remote ID |
| - |
Replenishment Period |
| - |
Delivery Time |
| - |
Emails |
| - |
3. Supplier Products
Endpoint: ChangedItemSuppliersWithDefaults
Optiply Field | Sherpaan Field | Logic / Notes |
Name |
| - |
SKU Code |
| - |
Delivery Time |
| Optional (Default: Not mapped). |
Price |
| - |
Min. Purchase Qty |
| - |
Product ID |
| - |
Supplier ID |
| - |
Free Stock |
| - |
Status |
| If "Active" → Enabled. Else → Disabled. |
Preferred |
| - |
Lot Size |
| - |
remoteId |
|
|
4. Sell Orders
Endpoint: ChangedOrdersInformation
Optiply Field | Sherpaan Field | Notes |
Total Value |
| - |
Remote ID |
| - |
Placed Date |
| - |
Lines: QuantityOrdered, ItemCode, and Amount are mapped to line items.
⚠️ Limitation: We do not sync order changes (line deletions/additions) after the initial sync.
5. Sell Order Lines
Optiply | Sherpaan |
quantity |
|
productId |
|
subTotalValue |
|
6. Buy Orders (Import: Sherpaan → Optiply)
Endpoints: ChangedPurchases, PurchaseInfo
Optiply | Sherpaan | Logic |
Supplier ID |
| - |
Placed Date |
| - |
Total Value | Calculated | Sum of lines |
Remote ID |
| - |
Completed Date | Calculated | Max( |
7. Buy Order Lines - Sherpaan to Optiply
Optiply | Sherpaan |
quantity |
|
subTotalValue |
|
productId |
|
expectedDeliveryDate |
|
remoteId | CONCAT( |
8. Buy Orders (Export: Optiply → Sherpaan)
Endpoints: AddOrderedPurchase, ChangePurchase2
Optiply Field | Sherpaan Parameter | Notes |
ID |
| - |
Supplier ID |
| - |
Warehouse |
| Required: Must be configured during setup. |
Placed Date | - | Set by Sherpaan upon creation. |
Expected Date |
| Sent on the line level. |
9. Receipt Lines (Derived)
Endpoint: PurchaseInfo
Since Sherpaan does not have a native "Receipt" entity, Optiply derives this data from the Purchase Order Lines.
Optiply | Sherpaan | Logic |
Quantity |
| Updates as the received count increases. |
Occurred |
| - |
Remote ID | Calculated | Concatenation: |
❓ Frequently Asked Questions (FAQs)
Why is the "Placed Date" on my exported Buy Order different?
When exporting to Sherpaan, we cannot dictate the "Placed" date. Sherpaan automatically sets this to the date/time the order was created in their system.
Can I sync stock from just one warehouse?
Yes. You can request to filter stock (and orders) by specific WarehouseCodes. This configuration must be done by Optiply Support.
How are receipts handled if Sherpaan has no receipt lines?
Optiply creates a single "virtual" receipt line for each item on a Buy Order. As you receive more items in Sherpaan (QuantityReceived increases), we update the quantity of that virtual receipt line in Optiply.
Why are my cancelled orders being deleted?
Optiply is configured to delete Sell Orders if their status changes to "Cancelled" in Sherpaan. This ensures your sales history in Optiply reflects only valid demand.
