Supply Lens

Control what gets imported

Lesson 3 of 30 7 min read

The start date, import watermark, import delay and status filters that decide which orders reach Supply Lens, and how they combine.

The first question on any receive Configuration is "which records should come in?" Get it wrong one way and you import two years of history on day one. Get it wrong the other way and orders silently never arrive. The good news is that almost every connector answers the question with the same small set of settings.

By the end of this lesson you'll be able to read any connector's import settings and predict exactly which orders it will bring in.

The import window: setupDate and lastImportDate

Two settings define when an import looks.

setupDateOnly records created on or after this date are imported. Set automatically when the Integration is first configured, so history isn't pulled in at go-live. Not normally changed afterwards.
lastImportDateThe watermark: the time of the most recently imported record. Updated after every run, so the next run only fetches records modified after it. Managed by the system; don't edit it.
Rendering diagram...

Together they mean an Integration starts at go-live and then walks forward run by run.

Connectors that use a different window

A few connectors use their own window instead. Linnworks orders use lastReceivedDate (orders created on or after it), and Linnworks purchase orders look back over a searchWindow that defaults to 30 days. Coda Commerce shipments have an importTimeSpan, so 24:00:00 means only shipments created in the last 24 hours.

The import delay

importDelayWait this long after a record arrives before importing it, so other apps or the platform itself can finish updating it. Written as a duration, for example 00:05:00 for five minutes.

Use a delay when something else touches orders just after they're placed: a fraud or pricing app, a 3PL app, or (on Mirakl) the marketplace filling in the customer once payment clears. Without the delay, Supply Lens may pick up the order before it's finished.

Status and state filters

Most order Configurations let you include or exclude records by status. The names vary but the rules don't:

ConnectorIncludeExclude
MagentostatusesToImport (default ["processing"])none
BigCommerceincludeStatusesexcludeStatuses
FairestatesIncludedstatesExcluded
MiraklincludeOrderStatusesnone
WiximportStatuses, importPaymentStatuses, importFulfillmentStatusesnone
Epos NowimportStatusesnone
Cin7 CoreincludeSaleStatuses, includeSaleOrderStatusesexcludeSaleStatuses, excludeSaleOrderStatuses
eBayorderFulfillmentStatus (default NotStartedOrInProgress)none

The rules, as the configuration guides describe them:

  • An empty include list means everything. Only when you add values does it start to filter.
  • An exclude list wins. A record in an excluded status is skipped "even if it would otherwise be imported".
  • Some connectors filter on other things in the same way: Cin7 Core on customer IDs, Cin7 Omni on member IDs and stages, Itsperfect on warehouse IDs, HubSpot on pipeline stages.

Watch the default

Magento's default is ["processing"] and eBay's is NotStartedOrInProgress. If a customer's orders sit in a different status when they're ready, nothing will import until you change it.

What happens to an order that's filtered out?

The Mirakl guide is explicit: an order left out because of its state is picked up on a later import once it moves into an included state. Other guides don't say, so if a customer relies on an order being picked up later after a status change, test it in their account before go-live.

Hilltop Coffee's BigCommerce filters

Hilltop Coffee sells on BigCommerce. Their payment app moves orders to Awaiting Fulfillment a minute or two after checkout, and staff sometimes mark test orders Cancelled.

The implementer sets:

  • includeStatuses to Awaiting Fulfillment, so unpaid orders never reach the ERP.
  • excludeStatuses to Cancelled, as a safety net.
  • importDelay to 00:05:00, so the payment app has finished before Supply Lens looks.

setupDate and lastImportDate are left alone. On go-live day only new, paid orders arrive.

Recap

  • setupDate stops history coming in; lastImportDate is the watermark that moves forward each run. Leave both to the system.
  • importDelay gives other apps time to finish with a record before it's imported.
  • Empty include lists mean everything; exclude lists win over include lists.
  • Check the defaults: Magento imports only processing and eBay only NotStartedOrInProgress unless you change them.
  • Only the Mirakl guide confirms a filtered-out order is picked up later; test this elsewhere.
Complete and continue

Your progress is saved in this browser. Create a free account to keep it everywhere, take quizzes and earn certificates.