Skip to main content
All CollectionsIntegrationsLogic4
Logic4 synchronization
Logic4 synchronization

We synchronize data from Logic 4 to Optiply and vice-versa.

Ricardo Guerreiro avatar
Written by Ricardo Guerreiro
Updated over a week ago

We synchronize the status of products, product deletions, Lot size, MOQ, prices, stocks, supplier products, and purchase orders.

Synchronisation General Board

This is an overview of what and when we synchronise data.

Entity

Sync FROM -> TO

Frequency

Products

Logic4 → Optiply

Every 2 hours

Suppliers

Logic4 → Optiply

Every 2 hours

SupplierProducts

Logic4 → Optiply

Every 2 hours

Stocks

Logic4 → Optiply

Every 2 hours

Sell Orders

Logic4 → Optiply

Every 2 hours

Buy Orders

Logic4 → Optiply

Every 2 hours

Buy Orders

Optiply → Logic4

Every hour at minute 10, 20, 30, 40, 50

Receipt Lines (Item Deliveries)

Logic4 → Optiply

Every 2 hours


Mapping Information

Now we show the specifics of how we map data for each entity.

Products

Optiply

Logic4

name

Concat (ProductName1, ProductName2)

skuCode

ProductCode

articleCode

ProductId

price

SellPriceGross

UnlimitedStock

“false”

stockLevel

FreeStock

status

Customer can choose to “Map Default Logic4 Status” or not.

notBeingBought

Customer can choose to “Map Default Logic4 Status” or not.

eanCode

BarCode1

created_at_remote

DateTimeAdded

assembled

If IsComposedProduct = true or IsAssembledProduct = true

Then assembled = true

Otherwise assembled = false

Product information

We get only products set to be visible in Logic4 or Webshop. We synchronize the status of products, product deletions, Lot size, MOQ, prices, stocks, and purchase orders.

Options, features and product statuses

Products with Status disabled based on Status Id from Logic4

An option that allows a customer to define a list of Status Id from Logic4 that we should map with status=disabled to Optiply.

(prod_disabled_statusIds by default is null)

Products with Status enabled based on "IsVisibleOnWebShop" from Logic4

An option that allows a customer to decide if the property in Logic4 IsVisibleOnWebShop:false should be mapped with status=enabled to Optiply.

(IsVisibleOnWebShop by default is true)

Products - StockLevel from a set of Warehouse Ids

An option that allows a customer to define a list of WarehouseId from Logic4 that we should get stock level to Optiply.

(stock_warehouse_ids by default is null)

Products - Sync not being bought from Logic4

An option that allows a customer to decide if we should sync or not the "notBeingBought" from Logic4.

(map_notBeingBought by default is false)

Products - Set notBeingBought=true based on StatusId from Logic4

An option that allows a customer to define a list of "StatusId" from Logic4 that we should map with "notBeingBought=true" to Optiply. Only applied if map_notBeingBought:true

(notBeingBought_statusIds by default is null)

It is not possible to change these options in your App, please report to our Customer Support to request them.

 

Stock can be mapped from a set of warehouses of a given ids list. By default the stock is mapped from all warehouses.
(see Options, features and product statuses)

Tip: Do you no longer want to receive advice for a product?

Set the product to not available in Logic4. We will then no longer give advice. After the synchronization, the product will no longer be visible in Optiply.

 


Suppliers

Optiply

Logic4

name

CompanyName

remoteId

Id

Supplier Products

Optiply

Logic4

name

Concat (ProductName1, ProductName2)

price

BuyPrice or CreditorBuyPrice

webshop_product_Id

optiplyProductId (from Optiply)

skuCode

CreditorProductCode

status

If Product.StatusId =1 or 10 Then “disabled”

Otherwise “enabled”

supplierId

optiplySupplierId (from Optiply)

preferred

if IsActive (on GetSuppliersForProduct) == true, preferred = true

lotSize (purchase_in_quantities_of)

BuyCountIncrement

minimumPurchaseQuantity

MinBuyAmount

article_code

ProductId

ean

Barcode1

By default, we will sync these fields (price, lotSize and MOQ), but the Customer can decide if we should sync them or not.

Customers can choose if we sync BuyPrice or CreditorBuyPrice.
By default, we will map BuyPrice from the product.
If the CreditorBuyPrice is set to true, we will get CreditorBuyPrice, if not we will get the BuyPrice.
If the CreditorBuyPrice value is null in Logic4 we map it at 0 on Optiply. If a SupplierProduct has multiple CreditorBuyPrices, we will map the first price on the list.


Buy Orders - Optiply to Logic4

Optiply

Logic4

placed

CreatedAt

optiplyBuyOrderId

remarks as op-buyOrderId (example op-12345)

optiplySupplierId

CreditorId

remarks

BranchId

Buy Order Lines - Optiply to Logic4

Optiply

Logic4

product.articleCode

ProductId

quantity

QtyToOrder

quantity

QtyToDeliver

placed

OrderedOnDateByDistributor

expectedDeliveryDate

ExpectedDeliveryDate

When you have received a delivery, you must enter the purchase orders in Logic4. Regularly, the stocks of these delivered products are synchronized.

Buy Orders - Logic4 to Optiply

Optiply

Logic4

placed

CreatedAt

buyOrderRemoteId

Id

totalValue

0

Buy Order Lines - Logic4 to Optiply

Optiply

Logic4

quantity

QtyToOrder

buyOrderLineRemoteId

BuyOrderRowId

subtotalValue

QtyToOrder * Price

expectedDeliveryDate

ExpectedDeliveryDate


Receipt Lines - Logic4 to Optiply

Optiply

Logic4

quantity

QtyToOrder - QtyToDeliver

occurred

now()

remoteID

Logic4.BuyOrderId_Logic4.BuyOrderRowId_Logic4.ProductId

Did this answer your question?