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 4 months 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 + Suppliers + Supplier Products

Logic4 → Optiply

Sunday to Thursday at 21:00 (*2)

Saturday at 01:00 (*3)

Products (Disable)

Logic4 → Optiply

Sunday at 16:00 (*4)

Stocks

Logic4 → Optiply

Sunday to Thursday at 07:55, 15:55 and 23:55 (*1) and (*1.1-Extra syncs for blokpackaging)

Buy Orders

Creation:

Optiply → Logic4

Every 15 min from 5:00 to 20:00

(*Every 5min for blokpackaging)

Creation + Sync + Closing:

Logic4 -> Optiply

Creation + full Sync:

daily at 20:00

Closing:

twice a day at 12:00 and 23:00

Sell Orders

Logic4 → Optiply

Between 05:00 and 20:00, every hour


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 (*1)

status

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

notBeingBought

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

eanCode

BarCode1

assembled

If IsComposedProduct = true or IsAssembledProduct = true Then “true”

Otherwise “false”

Product information

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

With the implementation of rate limits by Logic4, we can guarantee to work with a maximum of 32k active products. Beyond that, the rate limit will most likely be exceeded, resulting in a fee by Logic4 for each additional call.

 

Product Statuses

Logic4 has several statuses for products by default, or you may want to customize them. If they are not customized, we map the defaults from Logic4.

 

However, if you have them customized, let us know to guarantee data integrity.

In this situation, we won't map them to Optiply.

Due to Logic4 data implementation, we don’t get information when a Supplier and SupplierProduct are changed. This info will only be updated when a product is changed.
This means that if the product is kept the same in any of its fields, we will only update SupplierProduct with a sync that is done by default once a week.

 

Below is a list of default statuses that we map:

L4 Status ID

Optiply

1

status = 'disabled' , notbeingBought = false

2

status = 'enabled' , notbeingBought = true

10

status = 'disabled' , notbeingBought = false

11

status = 'enabled' , notbeingBought = true

Other

status = 'enabled' , notbeingBought = false


Product Deletions


Once a week, we check the products in Logic4 by looking if they are visible on Logic4 and on the webshop and what is the product status. We will check for this and synchronize it on Saturday.

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 weekly synchronization, the product will no longer be visible in Optiply.

 

LotSize, MOQ, and Purchase price

We synchronize Lotsize, MinimumPurchaseQuantity, and Purchase price from Logic4.

But you may decide that you don't want to synchronize any of these by letting us know which ones we should synchronize.

Preferred Supplier

If the preferred is Active, when we get the suppliers from the products, we set this as accurate in Optiply.


Synchronization stocks

Every night we check all the products and update the ones with a stock change.

Optiply

Logic4

stockLevel

FreeStock


Suppliers

Optiply

Logic4

name

CompanyName

remoteId

Id


Supplier Products

Optiply

Logic4

name

Concat (ProductName1, ProductName2)

price

BuyPrice or CreditorBuyPrice (*1) (*2)

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 (*1)

minimumPurchaseQuantity

MinBuyAmount (*1)

article_code

ProductId

ean

Barcode1


Buy Orders

Optiply

Logic4

placed

CreatedAt

buyOrderId

BuyOrderLine

buyOrderRemoteId

Id

totalValue

0

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


Buy Order Lines

Optiply

Logic4

quantity

QtyToOrder

buyOrderLineRemoteId

BuyOrderRowId

subtotalValue (Logic4->Optiply)

Price

subtotalValue/quantity (Optiply-> Logic4)

Price


Sell Orders

We can also get Sell Invoices (getting Invoices from sales that have no Order created (direct sales)).

Optiply

Logic4

totalValue

AmountEx

placed

CreationDate

completed

CreationDate

sellOrderId

SellOrderLine

sellOrderRemoteId

Id

Did this answer your question?