Purpose and scope

Use this guide to interpret a documented Logic4 field for the entity and direction shown. It includes inbound mappings (Logic4 to Optiply) and outbound Buy Order mappings (Optiply to Logic4). The source also describes invoices without an associated order as a Sell Order input; the documented invoice fields are listed with Sell Orders below.

Prerequisites

Identify the entity and direction you want to interpret before selecting a table. Have the field name you are checking available; this guide explains documented mappings, not the settings or results of an individual connection.

Direction and documented schedule

Read each row's direction literally. The documented schedule lists a default interval, not a guarantee for an individual shop.

EntityDirectionDocumented interval
ProductsLogic4 → OptiplyEvery 2 hours
SuppliersLogic4 → OptiplyEvery 2 hours
SupplierProductsLogic4 → OptiplyEvery 2 hours (*2)
StocksLogic4 → OptiplyEvery 2 hours
Sell OrdersLogic4 → OptiplyEvery 2 hours
Buy OrdersLogic4 → OptiplyEvery 2 hours
Receipt Lines (Item Deliveries)Logic4 → OptiplyEvery 2 hours

The source says the interval may need to increase for large shops or shops with many open Buy Orders, and may need to change because of Logic4 rate limits. SupplierProducts deletions are described as occurring in every job after the bulk endpoint change. These schedule notes do not establish a shop's actual timing or active flows.

Steps

  1. Identify the exact entity: Product, Supplier, SupplierProduct, Sell Order, Sell Order Line, Buy Order, Buy Order Line, or Receipt Line.
  2. Confirm the direction in the schedule and in the relevant table heading. For inbound mappings, Logic4 is the source and Optiply is the destination; for outbound Buy Orders, Optiply is the source and Logic4 is the destination.
  3. Read the matching row and retain its expression, option, and qualification. Do not apply a similarly named field or a rule from another entity or direction.
  4. If comparing an example, use a record you are authorized to view. Treat a difference that is not explained below as not explained by this documented mapping; this reference cannot verify a shop's settings or runtime result.

Fields and options

Products — Logic4 to Optiply

Optiply fieldLogic4 field / documented expression
nameConcat (ProductName1, ProductName2)
skuCodeProductCode
articleCodeProductId
priceSellPriceGross
UnlimitedStock“false”
stockLevelFreeStock (*1)
statusCustomer can choose to “Map Default Logic4 Status” or not (*2)
notBeingBoughtCustomer can choose to “Map Default Logic4 Status” or not (*3)
eanCodeBarCode1
created_at_remoteDateTimeAdded
assembledIf IsComposedProduct = true or IsAssembledProduct = true, then assembled = true; otherwise assembled = false

(*1) Stock can be mapped from a set of warehouse IDs; by default, stock is mapped from all warehouses. The documented option is to provide IDs in stock_warehouse_ids.

(*2) The documented status rules are: status=disabled if Logic4.IsVisibleOnWebShop<>customFlag.IsVisibleOnWebShop; status=disabled if Logic4.productStatusId is one of the custom IDs in prod_disabled_statusIds; otherwise status=enabled. The source describes the prod_disabled_statusIds default as null and IsVisibleOnWebShop default as true.

(*3) With map_notBeingBought=false (documented default), the attribute is not mapped. With map_notBeingBought=true, it is mapped as notBeingBought=false by default, except for custom status IDs configured in notBeingBought_statusIds. The source says this option only applies when map_notBeingBought=true; the status-ID list default is null.

Suppliers — Logic4 to Optiply

Optiply fieldLogic4 field / documented expression
nameCompanyName
remoteIdId

SupplierProducts — Logic4 to Optiply

Optiply fieldLogic4 field / documented expression
nameConcat (ProductName1, ProductName2)
priceBuyPrice or CreditorBuyPrice (*1) (*2)
webshop_product_IdoptiplyProductId (from Optiply)
skuCodeCreditorProductCode
statusIf Product.StatusId =1 or 10 then “disabled”; otherwise “enabled”
supplierIdoptiplySupplierId (from Optiply)
preferredIf IsActive (on GetSuppliersForProduct) == true, preferred = true
lotSize (purchase_in_quantities_of)BuyCountIncrement (*1)
minimumPurchaseQuantityMinBuyAmount (*1)
article_codeProductId
eanBarcode1

(*1) The source says price, lotSize, and MOQ are synced by default, but the customer can choose whether to sync them. The documented defaults for map_MOQ and map_lotSize are true.

(*2) The customer can choose BuyPrice or CreditorBuyPrice. If CreditorBuyPrice is selected and null in Logic4, BuyPrice is mapped. If a SupplierProduct has multiple CreditorBuyPrices, the first price on the list is mapped. This reference does not identify the purchase-price option selected for your shop.

Sell Orders and Sell Order Lines — Logic4 to Optiply

The source describes optional invoice syncing for invoices from sales without an associated order. It says invoices with InvoiceBelongsToOrderNumber: null are included for this invoice flow. sync_invoices is documented with default false.

Optiply fieldLogic4 field / documented expression
totalValueAmountEx
placedCreationDate
completedCreationDate
sellOrderIdSellOrderLine
sellOrderRemoteIdId
Sell Order Line productIdProductId
Sell Order Line quantityQty
Sell Order Line subtotalValueNettPrice

The source also documents sellorders_create_statusIds and sellorders_delete_statusIds as customer-defined Logic4 StatusId lists controlling which Sell Orders are created or deleted in Optiply; both are described with default null.

Buy Orders and Buy Order Lines — Optiply to Logic4

Logic4 destination fieldOptiply source field / documented expression
CreatedAtplaced
remarksop-buyOrderId based on optiplyBuyOrderId
CreditorIdoptiplySupplierId
BranchIdremarks
Buy Order Line ProductIdproduct.articleCode
Buy Order Line QtyToOrderquantity
Buy Order Line QtyToDeliverquantity
Buy Order Line OrderedOnDateByDistributorplaced (*1)
Buy Order Line ExpectedDeliveryDateexpectedDeliveryDate

(*1) The source documents send_OrderedOnDateByDistributor with default true. Without OrderedOnDateByDistributor, the Buy Order appears in Logic4 as a draft and requires manual approval. The source says this option cannot be changed in the user interface and advises contacting Customer Support. It also documents export_BranchId as a customer-defined BranchId, with default null.

Buy Orders and Buy Order Lines — Logic4 to Optiply

Optiply fieldLogic4 field / documented expression
placedCreatedAt
buyOrderRemoteIdId
totalValue0
completed“BuyOrderClosed”:true (*1)
Buy Order Line quantityQtyToOrder
Buy Order Line buyOrderLineRemoteIdBuyOrderRowId
Buy Order Line subtotalValueQtyToOrder * Price
Buy Order Line expectedDeliveryDateExpectedDeliveryDate

(*1) Logic4 does not provide a completed date in this mapping; now() is mapped to completed when an order arrives with “BuyOrderClosed”:true.

Receipt Lines — Logic4 to Optiply

This table is the source's mapping from the Logic4 Deliveries data. The source says it was added on 27/06/2025; information from before that date was preserved as it was.

Optiply fieldLogic4 field / documented expression
quantityRecords.Rows.Qty_Delivered
occurredRecords.DateTimeProcessed
remoteIDRecords.Rows.Id

Expected result

You can identify the documented source and destination field, expression, and relevant qualification for the selected entity. A listed mapping or interval is reference information only; it does not show which options are selected, which flows are enabled, or whether a synchronization succeeded for a particular shop.

Limitations

  • The source says synchronization intervals may be changed due to shop size, open Buy Orders, or Logic4 rate limits. Do not treat the listed interval as a tenant-specific schedule or guarantee.
  • Option defaults shown here are documented defaults, not evidence of a shop's selected values. Purchase-price selection must be checked separately for your shop.
  • The source documents two quantity rows for outbound Buy Order Lines (QtyToOrder and QtyToDeliver). This guide preserves both and does not assign separate meanings not stated by the source.
  • The Receipt Lines table covers the Deliveries mapping added on 27/06/2025. Earlier delivery data was preserved and is outside this table's scope.
  • Outbound Buy Order fields are listed separately from the inbound schedule. No outbound timing guarantee or additional field behavior is implied.

Errors and recovery

Check the exact entity, direction, and any qualification shown in the matching table before comparing fields. If the example still differs, this reference does not explain it; contact Optiply Support with the specific entity and field. This check cannot confirm or change a shop's configuration, diagnose runtime behavior, or promise a successful correction.