We pull data as frequently as we can and use webhooks wherever we can to make sure the data is always correct on your dashboard. Products, Suppliers, and Stocks use this.
Product information
Optiply gathers products and product info from Brightpearl.
On the first import, we only get and save on our end the ones with the status: live.
Optiply | Brightpearl |
skuCode | identity/sku |
article_code | id |
ean | identity/ean |
price | quantityPrice (*1) |
status | If status = LIVE Then “enabled” Otherwise “disabled” |
stockLevel | total/onHand |
unlimitedStock | If (stockTracked = true) or (bundle = true) Then “false” Otherwise “true” |
assembled | If bundle = true Then “true” Otherwise “false” |
(*1) - This depends on quantity from the sales pricelist.
We choose the minor tier of the list (it should be the highest value for the product on that list).
Product Variants
Variants are treated by Brightpearl as a normal Product, so each Variant is a new Product and has its own normal Product ID.
Bundle Products
Products built as a Bundle on Brightpearl are flagged as
Assembled = true and unlimitedStock = false on Optiply.
Also, when you delete a product from your shop we will get that info and update it on your dashboard.
Suppliers
Optiply | Brightpearl |
name | organisation/name |
communication/emails/PRI |
If organisation/name is Empty then SupplierName = firstName + lastName
Supplier Products
Optiply | Brightpearl |
supplier_product.Id | id on OP database |
article_code | ProductID (id) |
ean | identity/ean |
supplierId | supplierId |
preferred true | primarySupplierId |
We support:
Multiple SupplierProducts
Disable/enable SupplierProduct according to customer changes
Buy Orders
We sync BuyOrders between Brightpearl and Optiply several times a day.
Optiply | Brightpearl |
placed | placedOn |
supplierId | supplier/contactId |
remoteId | id |
Buy Order Lines
Optiply | Brightpearl |
quantity | quantity/magnitude |
subtotalValue | rowNet/value + rowTax/value |
productRemoteid | productId |
Sell Orders
We only get salesorders with status = 4 (completed) on the first import.
On the daily syncs, we also look for canceled to update the status on our end
(status = 5).
Optiply | Brightpearl |
placed | placedOn |
completed | placedOn |
totalValue | total/net |
Sell Order Lines
Optiply | Brightpearl |
product_id | rows/id |
product_id | rows/productId |
quantity | rows/quantity |
subtotalValue | rows/net |