Skip to main content

Tilroy - Data Mapping & Synchronisation

A comprehensive technical guide to the Tilroy integration. Covers the 30-minute sync schedule, shop filtering, language settings, and detailed field mappings for products, orders, and receipts.

Carla Domingos avatar
Written by Carla Domingos
Updated this week

πŸ”— Tilroy: Data Mapping & Synchronisation

This guide details the data flow between Tilroy and Optiply. It outlines the synchronisation frequency, required configuration parameters, and the specific logic used to map data entities.

⏱️ Synchronisation General Board

The following table outlines the data entities and their update frequency.

Entity

Direction

Frequency

Products

Tilroy β†’ Optiply

Every 30 minutes

Suppliers

Tilroy β†’ Optiply

Every 30 minutes

Supplier Products

Tilroy β†’ Optiply

Every 30 minutes

Sell Orders

Tilroy β†’ Optiply

Every 30 minutes

Buy Orders

Tilroy β†’ Optiply

Every 30 minutes

Receipt Lines

Tilroy β†’ Optiply

Every 30 minutes

⚠️ Exclusions:

The following entities are not currently synced:

  • Product Compositions

  • Product Deletions

  • Supplier Deletions


βš™οΈ Options and Features (Configuration)

Before running the integration, the following parameters must be configured. Please contact Customer Support to adjust these variables.

1. Language Code

  • Variable: languageCode (Default: "NL")

  • Description: Controls which language description from Tilroy is used for the Product Name (e.g., NL, FR, EN).

2. Shop Filtering (Stock & Prices)

  • Variable: shop_ids (Default: "" - Syncs All)

  • Description:

    • All Shops: If left empty, Optiply syncs stock, prices, and sales from all Tilroy shops/warehouses.

    • Specific Shops: You can provide specific Shop IDs (e.g., 1656, 1672). Stock will be aggregated (summed) across these selected shops.

  • Note: Prices that do not have a specific shop assigned are always included, regardless of this filter.

3. Use Product Details (SKU Logic)

  • Variable: use_product_details (Default: false)

  • Description: Switches the integration to a richer data source.

    • False: Uses internal Tilroy IDs (colours.skus.tilroyId) as the SKU Code.

    • True: Uses the actual SKU Codes (colours.skus.code) from Tilroy.

  • ⚠️ Limitation: Enabling this mode restricts the system to support only one supplier per product.


πŸ—ΊοΈ Data Mapping Details

1. Products

Endpoint: https://api.tilroy.com/product-bulk/production/products

Optiply

Tilroy

Logic / Notes

Name

descriptions[languageCode].standard + " - " + colours.skus.size.code

Uses the configured languageCode. If a size exists, it is appended (e.g., "Blue T-Shirt - XL").

SKU Code

colours.skus.tilroyId

Unless use_product_details is true.

EAN Code

colours.skus.barcodes.code

-

Price

From prices endpoint (type='standard')

If a valid Promo Price < Regular Price, we use Promo.

Otherwise, Regular Price.

Old/Future prices are ignored.

Article Code

code

-

Stock Level

qty.available

Summed across configured shop_ids.

Remote ID

tilroyId + _ + colours.skus.tilroyId

Composite ID.

2. Suppliers

Endpoint: https://api.tilroy.com/product-bulk/production/suppliers

Optiply

Tilroy

Logic

Name

name

-

Remote ID

code

-

Emails

email

Invalid emails are ignored (supplier created without email).

Delivery Time

deliverytime

A value of 0 is treated as empty.

3. Supplier Products

Endpoint: https://api.tilroy.com/product-bulk/production/products

Optiply

Tilroy

Notes

Name

descriptions[languageCode].standard + colours.skus.size.code

The languageCode must be defined in your configuration before use.

Remote ID

tilroyId + skuCode + supplierId

Composite identifier.

SKU Code

colours.skus.tilroyId

-

EAN Code

colours.skus.barcodes.code

-

Price

colours.skus.costPrice

-

Product ID

optiplyWebshopProductId

Internal link.

Supplier ID

optiplyWebshopSupplierId

Internal link.

Article Code

code

-

Preferred

Calculated

-

Note: There is no dedicated endpoint for supplier products. Data is extracted from the products endpoint, which includes supplier information.

4. Sell Orders

Endpoint: https://api.tilroy.com/saleapi/production/export/sales

Optiply

Tilroy

Notes

Total Value

vat.amountNet

-

Placed Date

saleDate

-

Remote ID

idTilroySale

-

Shop Filtering: If shop_ids are configured, we only process sales where shop.number matches your list.

⚠️ No Updates: We do not sync changes to existing orders. Line changes, deletions, or additions are ignored after the initial sync.

5. Sell Order Lines

Endpoint: https://api.tilroy.com/saleapi/production/export/sales

Optiply

Tilroy

Product ID

lines.sku.idTilroy

Quantity

lines.quantity

Subtotal Value

lines.lineTotalCost

6. Buy Orders (Import: Tilroy β†’ Optiply)

Endpoint: https://api.tilroy.com/purchaseapi/production/purchaseorders

Optiply

Tilroy

Logic

Placed Date

orderDate

-

Supplier ID

supplier.code

-

Total Value

prices.supplierCurrency.standardVatExc

-

Completed

modified

Only set if status is "received".

Expected Delivery

requestedDeliveryDate

-

Remote ID

tilroyId

-

7. Buy Order Lines (Import: Tilroy β†’ Optiply)

Endpoint: https://api.tilroy.com/purchaseapi/production/purchaseorders

Optiply

Tilroy

Remote ID

lines.id

Product ID

lines.sku.tilroyId

Quantity

lines.qty.ordered

Subtotal Value

lines.prices.supplierCurrency.vatExc

Expected Delivery

lines.requestedDeliveryDate

8. Buy Orders (Export: Optiply β†’ Tilroy)

Endpoint: https://api.tilroy.com/purchaseapi/production/import/purchaseorders

Optiply

Tilroy

Buy Order ID

reference

Placed Date

orderDate

Expected Delivery

requestedDeliveryDate

Supplier ID

supplier.tilroyId

9. Buy Order Lines (Export: Optiply β†’ Tilroy)

Endpoint: https://api.tilroy.com/purchaseapi/production/import/purchaseorders

Optiply

Tilroy

Notes

Quantity

qty.ordered

-

SKU Code

sku.tilroyId

-

Subtotal Value

prices.supplierCurrency.vatExc

-

Expected Delivery

expectedDeliveryDate

-

Note: Each line must include a warehouse_id. This value can be defined in the configuration and will be used when sending Purchase Orders.

10. Receipt Lines (Item Deliveries)

Endpoint: https://api.tilroy.com/purchaseapi/production/purchaseorders

Optiply

Tilroy

Quantity

lines.qty.delivered

Occurred

lines.requestedDeliveryDate

Remote ID

lines.id

Note: Derived from Purchase Order API by tracking delivered lines.


❓ Frequently Asked Questions (FAQs)

Why are my Sell Order updates not showing?

The integration does not sync changes to sales orders after they are first imported. If you modify an order line, delete a line, or add a new item to an existing order in Tilroy, these changes will not be reflected in Optiply.

What does "Use Product Details" do?

By default (false). We use Tilroy's internal ID as the SKU. If you set this to true, we map the actual SKU code (colours.skus.code).

  • Warning: Enabling this option restricts you to one supplier per product. If you have multiple suppliers for a single item, keep this setting false.

How is delivery time handled?

If a supplier's delivery time is set to 0 in Tilroy, Optiply treats this as "empty" or "not configured," rather than instant delivery.

Did this answer your question?