Just getting started? Start here
If you want the core Amazon Multi-Channel Fulfillment loop up and running — inventory sync, order submission, and shipment tracking — you only need a handful of flows. Follow the sections in order: Prerequisites → Install → Configure Settings → enable the core flows. You can add returns and cancellations later.
What this template does
The Amazon MCF – NetSuite template integrates Amazon Multi-Channel Fulfillment (MCF) with NetSuite through Celigo's integrator.io platform. It automates the full fulfillment lifecycle: inventory sync, order submission, fulfillment tracking, returns, and cancellations — keeping inventory, orders, and shipment records automatically in sync between the two systems.
Amazon MCF lets merchants use Amazon's fulfillment network to ship orders that originate from any sales channel — Shopify, Walmart, your own website, or any other storefront, not just Amazon.com. This template connects that fulfillment network to your NetSuite ERP.
The template is delivered as an unmanaged solution. Unlike a managed integration app, it gives you full control: you can directly modify flows, mappings, settings, and business logic to align the integration with your operational requirements. It ships as eight pre-built flows that you install, configure, and enable — no custom development required for standard MCF operations.
What you gain
- Operations teams stop submitting orders to Amazon by hand. Eligible NetSuite sales orders are exported to Amazon MCF as fulfillment orders automatically.
- Warehouse and inventory teams keep NetSuite item quantities aligned with what is physically fulfillable in Amazon's fulfillment centers.
- Customer service sees tracking numbers and fulfillment status flow back into NetSuite as Item Fulfillment records the moment Amazon ships.
- Finance and support get a clean returns and cancellations trail: NetSuite RMAs create Amazon return requests, and cancelled orders are withdrawn from Amazon before they ship.
Who this guide is for
This guide is written for:
- Operations and fulfillment teams who are setting up the integration themselves or overseeing an implementation.
- Support teams who need to understand how each flow works in order to diagnose issues and answer questions.
- NetSuite administrators who are preparing NetSuite for the integration (bundle installation, roles, saved searches, and eTail custom fields).
This guide assumes you know what a NetSuite Sales Order, Item Fulfillment, Inventory Adjustment, and Return Authorization are, and that you are familiar with Amazon MCF concepts such as fulfillment orders, seller SKUs, and shipping speed categories. Where a concept needs clarification for integration purposes, it is explained in context.
All eight flows at a glance
The template ships with eight flows organized into five functional modules. All flows are disabled by default after installation: you enable them in a specific order after completing setup. The Enable flows and schedule section walks through the exact sequence.
| # | Flow name | Direction | Trigger |
|---|---|---|---|
| Inventory | |||
| 1 | Inventory Adjustment Sync from Amazon to NetSuite (Auto Serial Numbers) | AMZ → NS | Scheduled |
| Orders | |||
| 2 | NetSuite to Amazon MCF Orders Fulfillment Preview Optional | NS → AMZ | Scheduled |
| 3 | NetSuite Order to Amazon (MCF) Order Add | NS → AMZ | Scheduled |
| 4 | NetSuite to Amazon MCF – Release Order Hold | NS → AMZ | Scheduled |
| Fulfillments | |||
| 5 | Amazon (MCF) Shipment to NetSuite Fulfillment Add | AMZ → NS | Scheduled |
| 6 | Amazon (MCF) Shipment to NetSuite Fulfillment Add (with Package Info) | AMZ → NS | Scheduled |
| Returns | |||
| 7 | NetSuite RMA to Amazon Returns | NS → AMZ | Scheduled |
| Cancellations | |||
| 8 | NetSuite Cancellation to Amazon (MCF) Cancellation Add | NS → AMZ | Scheduled |
NS → AMZ means data originates in NetSuite and is pushed to Amazon. AMZ → NS means data is pulled from Amazon and written into NetSuite. Every flow in this template runs on a schedule once enabled; several also support an on-demand run for initial loads or backfills.
Prerequisites
Before installing the template, ensure that all prerequisites are met across your NetSuite, Amazon Seller Central, and Celigo accounts. Skipping prerequisites is the single most common cause of errors on new installations.
Both the Amazon SP-API connection and the NetSuite connection must be configured and online before you enable any flow. If you enable a flow with an offline connection, every record it processes will fail with an authentication error.
NetSuite requirements
Install the Celigo integrator.io bundle
Sign in to NetSuite as an administrator and go to
Customization > SuiteBundler > Search & Install Bundles.
Search for Bundle ID
169116
(Celigo integrator.io), click Install, accept
the permissions, and confirm installation. This bundle installs
the base Celigo restlets needed for all NetSuite communication.
Install the Celigo Amazon MCF connector bundle
In the same bundle installer, search for the Celigo Amazon MCF connector bundle and install it. This bundle deploys all required Saved Searches, the eTail custom fields, and the SuiteScript restlets the template relies on. Do not rename, modify, or delete any search or field installed by this bundle.
Enable Token-Based Authentication
Go to Setup > Company > Enable Features > SuiteCloud. Under Manage Authentication, check Token-Based Authentication and save. This is required for Celigo to connect securely to NetSuite.
Create a dedicated integration role
Go to Setup > Users/Roles > Manage Roles. Next to Celigo eTail SmartConnectors, click Customize to clone it, enter a name for the cloned role, and configure permissions as required. Assign this role to the NetSuite user that will run the integration. Do not use an Administrator role for the integration user — it is a security risk and can cause unexpected behavior.
Create an access token
Go to Setup > Users/Roles > Access Tokens > New. Select the integrator.io application, then select the integration user and the custom role you created in the previous step. Save and copy the Token ID and Token Secret — you will need these when configuring the NetSuite connection in Celigo.
NetSuite shows the Token Secret only once. If you navigate away without copying it, you must create a new token.
Verify the eTail custom fields are enabled on NetSuite forms
Ensure that the Amazon MCF custom fields are visible on the relevant NetSuite forms (Sales Order > eTail tab). The connector bundle adds the fields listed below. If they are not visible, enable them manually on the form.
| Field name | Purpose |
|---|---|
| eTail Channel | Checkbox. When checked, flags the sales order (or line item) for export to Amazon MCF. |
| eTail Order ID | Stores the Amazon MCF Fulfillment Order ID after the order is created in Amazon. |
| Amazon Remove Hold | Checkbox. When checked, triggers the Release MCF Order Hold flow to move the Amazon order from hold to ship status. |
| Amazon Fulfillment Status | Updated by Celigo to reflect the current MCF fulfillment status (Received, Planning, Processing, Shipped, or Complete). |
| Shipping Speed Category | Stores the selected shipping speed (Standard or Expedited) for the MCF order. |
| Fulfillment Preview – Standard Fee | Populated by the Fulfillment Preview flow. Shows the estimated fee for standard shipping. |
| Fulfillment Preview – Expedited Fee | Populated by the Fulfillment Preview flow. Shows the estimated fee for expedited shipping. |
| Fulfillment Preview – Earliest Delivery | Populated by the Fulfillment Preview flow. Shows the earliest estimated delivery date. |
If the eTail custom fields are not enabled and populated on the Sales Order, the Saved Search used by the order export flow will not return the correct records, and lookup failures will occur. Confirm these fields are visible and writable before enabling any order flow.
Amazon Seller Central requirements
You must have an active Amazon Seller Central account with Multi-Channel Fulfillment (MCF) enabled. Ensure the following before configuring the Amazon SP-API connection in Celigo:
- An Amazon Seller Central account with MCF activated.
- Your Marketplace ID (for example,
ATVPDKIKX0DERfor the US). - SP-API credentials: client ID, client secret, and refresh token (obtained via the Amazon developer console).
- At least one FBA/MCF-enabled ASIN with inventory at an Amazon fulfillment center.
- Seller SKUs in Amazon must match (or be mappable to) item identifiers in NetSuite.
Amazon MCF Sandbox is available for testing. However, real-time inventory event notifications (webhooks/SQS) are not available in the Sandbox environment. Test fulfillment flows using existing shipped or completed orders, or by manually setting order statuses via the Sandbox Update Fulfillment Order Status API.
Celigo requirements
- An active integrator.io subscription with a valid Amazon MCF – NetSuite template license.
- Account owner role in integrator.io to authorize the Amazon SP-API and NetSuite connections.
- Both connections (Amazon SP-API and NetSuite) must be configured and online before enabling any flows.
Install the template
Once every prerequisite is met, install the template from the integrator.io Marketplace. You must be signed in as an account owner.
Sign in and open the Marketplace
Sign in to integrator.io as an account owner. Navigate to the Marketplace and search for the Amazon MCF – NetSuite template.
Click Install now
On the template preview page, click Install now to begin. The installer walks you through connecting both systems and installing the supporting resources.
Configure the Amazon SP-API connection
Configure a connection to Amazon SP-API.
The connection uses OAuth 2.0 — authorize Celigo against
your Amazon Seller Central account and provide your SP-API
credentials and Marketplace ID. The base endpoint for a North
America account is
https://sellingpartnerapi-na.amazon.com.
Configure the NetSuite connection
Configure a connection to NetSuite using Token-Based Authentication. Enter your NetSuite Account ID and the Token ID and Token Secret you copied while creating the access token.
Install the Integrator SuiteApp and resources
Install the Integrator SuiteApp, then install the resources bundled with the template (flows, exports, imports, scripts, and settings). Finally, complete the template installation.
After installation, all eight flows are disabled. Do not enable them yet — first configure settings, then enable flows in the order described below. Enabling a flow before its dependencies are ready generates errors that are difficult to diagnose after the fact.
Post-installation sequence
Complete the following steps in order before relying on the integration for production traffic. Each step is expanded in later sections.
Configure integration settings
Open the Integration tile > Settings and configure the Inventory, Orders, Fulfillments, and Cancellations settings. See Configure settings.
Enable the inventory flow
Enable Inventory Adjustment Sync from Amazon to NetSuite. Run it once manually with the quantity window set for a full initial sync, then let it run on schedule for ongoing delta updates.
Enable the fulfillment preview flow (optional)
Enable NetSuite to Amazon MCF Orders Fulfillment Preview if you want to review shipping fees and estimated delivery dates before submitting orders.
Enable the order export flow
Enable NetSuite Order to Amazon (MCF) Order Add. Verify the Saved Search filter correctly picks up only MCF-eligible orders (eTail Channel checked and not yet exported).
Enable the release hold flow (if applicable)
Enable NetSuite to Amazon MCF – Release Order Hold if your workflow requires creating orders in hold status first and releasing them later.
Enable the fulfillment update flow
Enable Amazon (MCF) Shipment to NetSuite Fulfillment Add (or the Package Info variant) to begin receiving tracking numbers and fulfillment status updates from Amazon.
Enable returns and cancellations last
Enable NetSuite RMA to Amazon Returns and NetSuite Cancellation to Amazon (MCF) Cancellation Add after the core order and fulfillment flows are stable.
Configure settings
Settings are grouped by module and configured from the Integration tile > Settings. Configure each module's settings before enabling that module's flows. This section documents every setting field, its type, whether it is required, and how it affects flow behavior.
Inventory settings
Access and configure all inventory settings from Settings > Inventory before enabling the inventory flow. The settings are split across two tabs: Inventory and Location.
Tab: Inventory
| Setting | Type | Required | Default | Description |
|---|---|---|---|---|
| Specify the Amazon field to search for matching items in NetSuite | Select | Yes | — |
Controls how Amazon SKUs are matched to NetSuite
items. Options:
sellerSku,
fnSku,
asin,
productName.
See the
item-matching reference.
|
| Select the Amazon quantity fields that should be considered as the total fulfillable quantity | Multiselect | No |
fulfillableQuantity
|
Defines which Amazon quantity fields sum to the sellable quantity synced to NetSuite. See the quantity fields reference. |
| Select the Amazon quantity fields that should be considered as the total unfulfillable quantity | Multiselect | No |
totalUnfulfillableQuantity
|
Defines which Amazon quantity fields sum to the damaged/unfulfillable quantity synced to NetSuite. |
| NetSuite Adjustment Account Internal ID | Text | Yes | — | Enter the internal ID of the NetSuite account to be applied to the inventory adjustment record. |
| Specify the NetSuite Item field ID that matches the Amazon SKU | Text | Yes | — |
Enter the NetSuite field ID (for example,
itemid
or
custitem_sku)
that holds the value matching the selected Amazon
SKU field.
|
| Offset time to sync Amazon inventory | Number (minutes) | No | 1 | Sets the offset (look-back) window in minutes for the delta inventory sync. The recommended value is 4320 (72 hours). Example: if the flow start date is 08:00 AM January 4th, today is 05:00 PM January 7th, and the offset is 4320, inventory is synced from 08:00 AM January 1st to 05:00 PM January 4th. |
| Search for Item Alias | Checkbox | No | Unchecked | When selected, the flow also searches the NetSuite item alias table when the primary item lookup does not return a match. |
| Update Amazon Quantity fields into NetSuite Item | Checkbox | No | Unchecked | When selected, writes the raw Amazon quantity field values back to the NetSuite item record in addition to creating the inventory adjustment. |
| Auto-assign number to Lot Numbered/Serialized items | Checkbox | No | Unchecked | When selected, automatically assigns inventory numbers to Lot Numbered or Serialized items in NetSuite during the adjustment. |
| Add a prefix for Lot Numbered/Serialized items | Text | No | — | Visible only when Auto-assign number is checked. Enter a prefix value that is prepended to the system-generated number when the adjustment is an increase. |
Tab: Location
| Setting | Type | Required | Description |
|---|---|---|---|
| Warehouse location Internal ID for sellable inventory | Text | Yes | Enter the internal ID of the NetSuite warehouse location where sellable (fulfillable) inventory quantities will be tracked. |
| Warehouse location Internal ID for damaged inventory | Text | No | Enter the internal ID of the NetSuite warehouse location where damaged (unfulfillable) inventory quantities will be tracked. |
Quantity fields reference
Amazon reports inventory across several quantity buckets. Use this reference to decide which buckets to include in the fulfillable and unfulfillable totals.
| Amazon quantity field | API value | Description | When to use |
|---|---|---|---|
| Fulfillable Quantity |
fulfillableQuantity
|
Units currently in Amazon's fulfillment center and available to ship immediately. | Default and recommended. This is the quantity Amazon can fulfill today. |
| Inbound Working Quantity |
inboundWorkingQuantity
|
Units in a shipment created but not yet shipped to Amazon. | Not recommended for order availability. Goods have not left your warehouse yet. |
| Inbound Shipped Quantity |
inboundShippedQuantity
|
Units in a shipment in transit to Amazon. | Use only if your warehouse is very close to Amazon and you have high confidence in arrival time. |
| Inbound Receiving Quantity |
inboundReceivingQuantity
|
Units at an Amazon fulfillment center being processed/received. | Not recommended for order availability. Goods are at Amazon but not yet fulfillable. |
| Total Reserved Quantity |
totalReservedQuantity
|
Units reserved for existing orders and not available for new fulfillment. | Informational only. Do not include unless you explicitly want to account for reserved stock. |
| Total Unfulfillable Quantity |
totalUnfulfillableQuantity
|
Sum of all unfulfillable/damaged quantity types. | Default unfulfillable setting. Use for tracking total damaged inventory in NetSuite. |
The unfulfillable multiselect also exposes finer-grained buckets — Customer Damaged (customerDamagedQuantity), Warehouse Damaged (warehouseDamagedQuantity), Distributor Damaged (distributorDamagedQuantity), Carrier Damaged (carrierDamagedQuantity), Defective (defectiveQuantity), and Expired (expiredQuantity) — for merchants who track damage reasons separately.
Item matching
The Specify the Amazon field to search for matching items in NetSuite setting controls how each Amazon SKU is resolved to a NetSuite item.
| Option value | Amazon field | When to use |
|---|---|---|
sellerSku
|
Seller SKU | Most common. Ensure Seller SKUs in Amazon match the SKU or external ID on your NetSuite item records. |
fnSku
|
FNSKU | Matches on the Fulfillment Network SKU assigned by Amazon. |
asin
|
ASIN | Matches on the Amazon Standard Identification Number. Use if your NetSuite items store the ASIN. |
productName
|
Product Name | Matches on the item display name. Use only if SKUs are not consistently maintained. |
Orders settings
Access and configure all order settings from Settings > Orders before enabling the order flows.
| Setting | Type | Required | Description |
|---|---|---|---|
| NetSuite Saved Search For Syncing Orders | Export Select (Saved Search picker) | Yes |
Select the NetSuite saved search that controls which
sales orders are exported to Amazon MCF. The template
ships pre-configured with saved search ID
5777,
which filters for orders where the eTail Channel
checkbox is checked and the order has not yet been
exported. Customize the saved search in NetSuite
to add additional filters (for example, by location,
warehouse, or order source channel).
|
| NetSuite Order ID field | Text | No |
Provide the internal ID of the NetSuite field that
will hold the ID of the MCF order after it is created
in Amazon (for example,
custbody_celigo_amzmcf_etailorderid).
This field is written back to the sales order after
successful order creation in Amazon.
|
Fulfillments settings
Access and configure all fulfillment settings from Settings > Fulfillments before enabling the fulfillment flows.
| Setting | Type | Required | Description |
|---|---|---|---|
| Amazon Seller Fulfillment Order Id | Text | No | Provide an Amazon Seller Fulfillment Order ID and click Save to trigger an on-demand import of a specific shipment from Amazon into NetSuite, bypassing the scheduled delta run. Leave blank for normal scheduled operation. |
| Add shipments updated after | Datetime | No | Specify a date and time to filter fulfillment orders that were last updated after (or at) this time. An update is any change in fulfillment order status, including the creation of a new fulfillment order. Used for backfill or one-time reconciliation runs. |
| Automatically assign Lot/Serialised numbers | Checkbox | No | When selected, automatically assigns Lot or Serial numbers to Serialized/Lot Numbered item types when creating Item Fulfillment records in NetSuite. Serial numbers created first, or Lot Item numbers nearing expiry (or created first if expiry is unavailable), are used for allocation. |
| Select inventory location present in NetSuite | Text | No | Enter the NetSuite inventory or fulfillment location internal ID to set at both the body and line level of the Item Fulfillment record when setting fulfillment inventory detail. |
Cancellations settings
Access and configure the cancellations setting from Settings > Cancellations before enabling the cancellations flow.
| Setting | Type | Required | Description |
|---|---|---|---|
| NetSuite saved search for syncing cancelled orders | Export Select (Saved Search picker) | Yes | Select the NetSuite saved search that identifies cancelled sales orders with a corresponding Amazon MCF fulfillment order (the eTail Order ID is populated). The flow uses this search to determine which orders to send cancellation requests for in Amazon. |
Flows: Inventory
The inventory module keeps NetSuite item quantities aligned with what is physically available for fulfillment in Amazon's fulfillment centers.
Fetches Amazon MCF inventory data via the SP-API Inventory Summaries API and creates an Inventory Adjustment record in NetSuite for each item whose quantity has changed since the last run.
How the flow works
-
Export Inventory from Amazon. Calls the SP-API
getInventorySummariesendpoint. Runs in delta mode by default, using the Offset time setting to control the look-back window. Returns fulfillable and unfulfillable quantity fields per seller SKU. -
Lookup Items from NetSuite. For each Amazon SKU returned, searches NetSuite for the matching item using the configured item-matching field (
sellerSku,fnSku,asin, orproductName). - Lookup Item Aliases from NetSuite. If Search for Item Alias is enabled, performs an additional lookup in the NetSuite item alias table when the primary lookup does not return a match.
- Adjust Inventory in NetSuite. Creates a NetSuite Inventory Adjustment record for the sellable-quantity location, setting the item's quantity to match the Amazon value based on the configured fulfillable quantity fields. Damaged quantities post to the damaged location if configured.
- Update Amazon Quantities into NetSuite Item. If Update Amazon Quantity fields into NetSuite Item is enabled, writes the raw Amazon quantity field values (fulfillable, unfulfillable, and so on) back to the NetSuite item record.
For the initial load, run this flow once manually with a look-back window wide enough to capture every SKU (for example, temporarily raise the Offset time). After the first full sync completes, return the offset to your steady-state value (4320 minutes / 72 hours is recommended) and let the flow run on schedule for ongoing delta updates.
Enable Auto-assign number to Lot Numbered/Serialized items so NetSuite can auto-generate inventory numbers during the adjustment. On increases, the optional prefix is prepended to the system-generated number. Without this option, adjustments for serialized/lot items require manual number assignment and will error if left unset.
Flows: Orders
The Orders module exports eligible sales orders from NetSuite to Amazon MCF as fulfillment orders. It includes an optional Fulfillment Preview flow, the primary Order Add flow, and a Release Hold flow for orders submitted in a held state.
Calls the Amazon Get Fulfillment Preview API for each eligible NetSuite sales order and writes estimated shipping fees and earliest delivery dates back to the order, so your team can review costs and delivery options before committing an order to Amazon MCF.
How the flow works
-
Get Amazon MCF Sales Orders for Fulfillment Preview (Export). Uses a NetSuite saved search (Search ID
5745, record typesalesorder, delta mode) to retrieve sales orders flagged for MCF that have not yet been submitted. -
Get Amazon Fulfillment Preview Data (Lookup). For each order, calls the Amazon
createFulfillmentPreviewAPI (POST) with the order's items, quantities, and destination address. Returns available shipping speeds, estimated delivery windows, and fulfillment fees per speed option. - Update Sales Order with Amazon Fulfillment Preview Data (Import). Updates the NetSuite sales order with the Fulfillment Preview – Standard Fee, Fulfillment Preview – Expedited Fee, and Fulfillment Preview – Earliest Delivery fields.
The fulfillment preview flow is optional. If skipped, orders are submitted to Amazon using the default shipping speed configured in Orders settings. Amazon's available shipping speeds are Standard and Expedited. Priority shipping has been discontinued and is not supported.
The primary order flow. Exports eligible NetSuite sales orders to Amazon as MCF fulfillment orders on a scheduled basis and writes the returned Fulfillment Order ID back to the sales order.
5777),
eTail fields populated
How the flow works
-
Get Amazon MCF Sales Orders from NetSuite (Export). Uses the saved search configured in Orders settings (Search ID
5777, record typesalesorder,oncemode using thecustbody_celigo_amzmcf_order_exportedboolean field to prevent re-export). Runs in batches of 100 records. -
Create MCF Order in Amazon (Import). Calls the Amazon
createFulfillmentOrderAPI with the seller fulfillment order ID, displayable order ID and date, destination address, shipping speed category, fulfillment action, line items, feature constraints, and fulfillment policy.
The order saved search must return Document Number, Date Created, the shipping address fields, Ship Method, Memo, Amazon Blank Box, Amazon Block AMZL, Amazon Signature on Delivery, Amazon Fulfillment Action, Amazon Fulfillment Policy, Amazon Shipping Speed, and Line ID. Missing columns cause incomplete payloads and order-creation failures in Amazon.
When orders are submitted to Amazon in hold status, this flow releases the hold and begins fulfillment. It monitors NetSuite for orders flagged for hold release and calls the Amazon Update Fulfillment Order API to change the status to Ship.
How the flow works
-
Get Amazon MCF Sales Orders to Release HOLD (Export). Uses a NetSuite saved search (Search ID
6389, record typesalesorder, delta mode bylastmodifieddate) to find sales orders where the Amazon Remove Hold checkbox is checked. -
Update Amazon MCF Order to remove Hold (Import). Calls the Amazon
updateFulfillmentOrderAPI withfulfillmentAction = Ship, releasing the order for fulfillment.
The hold/release pattern supports any approval workflow in NetSuite: time-based delays, manual review queues, multi-step approvals, or fraud-detection integrations. Celigo only handles the API call to Amazon; all logic for when to release lives in NetSuite. To use it, submit orders with the fulfillment action set to Hold, then check Amazon Remove Hold when the order is cleared to ship.
Flows: Fulfillments
The Fulfillments module polls Amazon for completed shipments and creates Item Fulfillment records in NetSuite. The template includes two fulfillment flows: the standard flow, and a variant that also retrieves per-package tracking data. Enable only one of them for a given fulfillment stream.
Polls Amazon for fulfilled orders and creates Item Fulfillment records in NetSuite with tracking numbers. Handles partial fulfillments and multi-package shipments.
How the flow works
-
Amazon MCF List Fulfillment Export (Export). Calls the Amazon
listFulfillmentOrdersAPI in delta mode. Returns MCF fulfillment orders with status changes since the last run. -
Amazon MCF Get Fulfillment Export (Lookup). For each fulfillment order ID, calls
getFulfillmentOrderto retrieve the full fulfillment record including fulfilled items, quantities, shipment details, and tracking numbers. - Create ItemFulfillment in NetSuite (Import). Creates a NetSuite Item Fulfillment record linked to the originating sales order with the items shipped, quantities, tracking numbers, carrier information, and ship date.
A variant that adds an extra step to retrieve per-package tracking data from Amazon before creating the Item Fulfillment record. Use this flow when you need package-level detail (dimensions, weight, package number) in addition to standard tracking numbers.
How the flow works
-
Amazon MCF List Fulfillment Export_HTTP (Export). Calls the same
listFulfillmentOrdersAPI in delta mode. - Amazon MCF Get Fulfillment Export (Lookup). Retrieves the full fulfillment order record per order ID.
- Amazon MCF Get Package Data (Lookup). For each package in the shipment, calls the Amazon tracking API to retrieve per-package tracking detail.
- Create ItemFulfillment in NS (Import). Creates the NetSuite Item Fulfillment record with all package-level data included.
Use the standard flow if tracking numbers and carrier are all you need — it makes fewer Amazon API calls per shipment. Choose the Package Info variant only when you require per-package dimensions, weight, or package numbers.
Partial fulfillments
Both flows fully support partial fulfillments at the line-item level and at the quantity level.
| Scenario | Behavior |
|---|---|
| Order has three items; Amazon ships the first two. | An Item Fulfillment is created for the two shipped items. The sales order status changes to Partially Fulfilled. When the third item ships, a second Item Fulfillment is created automatically on the next flow run. |
| Order has one item, quantity 10; Amazon ships the first seven. | An Item Fulfillment is created for quantity 7. When the remaining 3 units ship, a second Item Fulfillment is created. |
| All items ship in one shipment. | A single Item Fulfillment is created. The sales order status changes to Fulfilled. |
| Fill All Available policy; some items cancelled. | Item Fulfillments are created only for the shipped items. Cancelled item lines remain open on the sales order. |
Flows: Returns and cancellations
These two flows close the reverse-logistics loop. Returns move accepted RMAs from NetSuite into Amazon's returns network; cancellations withdraw orders from Amazon before they ship.
Reads NetSuite Return Merchandise Authorization (RMA) records and creates the corresponding Amazon MCF return requests via the SP-API.
How the flow works
-
Get NetSuite Returns (Export). Uses a NetSuite saved search (Search ID
6387, record typereturnauthorization,oncemode) to fetch return authorization records not yet exported to Amazon. - Create Amazon Fulfillment Return (Import). For each RMA, calls the Amazon Returns API with the return items and quantities.
Ensure the originating sales order exists and has a corresponding Item Fulfillment record in NetSuite before the returns flow runs. The return is linked to the Amazon fulfillment order via the sellerFulfillmentOrderId (the NetSuite sales order number).
Sends order cancellation requests from NetSuite to Amazon MCF. Orders can only be cancelled before they enter the Processing status.
How the flow works
-
Get NetSuite Amazon MCF Order Cancellations (Export). Uses a NetSuite saved search (Search ID
6390, record typesalesorder,oncemode) to find cancelled sales orders with a corresponding Amazon MCF fulfillment order. -
Cancel MCF Order in Amazon (Import). Calls the Amazon
cancelFulfillmentOrderAPI to cancel the fulfillment order if it is still in a cancellable state.
Cancellability by Amazon MCF order status
| Amazon MCF order status | Can be cancelled? | Notes |
|---|---|---|
| Received | Yes | Order submitted to Amazon but not yet assigned to a fulfillment center. |
| Planning | Yes | Amazon is planning the shipment but has not started physical fulfillment. |
| Processing | No | Amazon has started picking and packing. Contact Amazon Seller Support if cancellation is critical. |
| Shipped | No | Order is on its way to the customer. Initiate a return instead. |
| Complete | No | Order is delivered. Initiate a return instead. |
| Unfulfillable | No | Amazon could not fulfill the order. Already inactive. |
Always cancel MCF orders as soon as possible after the cancellation decision is made. If an order cannot be cancelled, the fulfillment will complete, and you will need to process a return once the customer receives the package.
Returns and cancellations decision guide
| Situation | Action |
|---|---|
| Order submitted but not yet in Processing status. | Cancel via the NetSuite Cancellation to Amazon (MCF) Cancellation Add flow. No return needed. |
| Order shipped; customer wants to return. | Wait for delivery, then initiate a return via the NetSuite RMA to Amazon Returns flow. |
| Order in Processing status; customer wants to cancel. | Cannot cancel via API. Contact Amazon Seller Support. If it ships, process a return after delivery. |
| Order created in Hold status and no longer needed. | Cancel via the cancellations flow. Hold orders are in Received status and are cancellable. |
Enable flows and schedule
Enabling flows in the wrong order is the most common cause of errors on new installations. The post-installation sequence lists the order in which to switch flows on; this section explains the dependencies behind that order and how to schedule each flow for production.
All eight flows ship disabled. Enable them one at a time, in dependency order, verifying that each processes records cleanly before enabling the next.
Dependency order
Each flow depends on records or settings created by an earlier step.
| Flow | Depends on | Notes |
|---|---|---|
| Inventory Adjustment Sync | Inventory settings; items in NetSuite with matching SKUs | Independent of the order flows. Run a full initial sync first, then delta. |
| Fulfillment Preview (optional) | eTail fields + Fulfillment Preview fields on the sales order | Run before Order Add if you want fee/delivery estimates on the order first. |
| Order Add (core) | Orders settings (saved search 5777); eTail fields populated | The pivotal flow. Writes the eTail Order ID back to the sales order. |
| Release Order Hold | Order Add (order created in Hold status) | Enable only if you submit orders with the Hold fulfillment action. |
| Shipment to Fulfillment Add | Order Add (fulfillment order exists in Amazon and NetSuite) | Enable one fulfillment variant per stream. |
| Shipment to Fulfillment Add (Package Info) | Order Add (fulfillment order exists in Amazon and NetSuite) | Alternative to the standard flow — do not enable both for the same stream. |
| RMA to Amazon Returns | Sales order + Item Fulfillment record exist in NetSuite | Enable after the core order and fulfillment flows are stable. |
| Cancellation Add | Order Add (MCF order exists); Cancellations settings | Enable after the core flows. Schedule frequently enough to beat Processing status. |
Scheduling best practices
Most flows filter source records by a modification or creation timestamp. Choose an interval that balances data freshness against API volume on both platforms.
| Flow | Recommended cadence | Reason |
|---|---|---|
| Inventory Adjustment Sync | Every few hours, with a 4320-minute (72-hour) offset | A wide look-back window avoids missing late-posting inventory events without re-syncing the entire catalog each run. |
| Order Add (and Fulfillment Preview) | 10–15 minutes | Gives orders time to be finalized and approved in NetSuite before they are submitted to Amazon. |
| Release Order Hold | 15–30 minutes | Picks up orders promptly as approvers check the Amazon Remove Hold box. |
| Shipment to Fulfillment Add | 15–30 minutes | Allows Amazon to finalize the shipment and tracking details before the Item Fulfillment is created. |
| Cancellation Add | 15–30 minutes | Cancellations must reach Amazon before the order moves into Processing. |
| RMA to Amazon Returns | 30–60 minutes | Reverse logistics is less time-sensitive; a longer interval keeps API volume low. |
When you pause a flow and then re-enable it, verify that the delta timestamp advanced correctly. A stuck delta is the most common cause of "missing" records after a maintenance window.
Troubleshooting
For each issue, the fastest path to diagnosis is to open the failing record in the Celigo flow dashboard, examine both the source payload and the error response, and identify which step failed (export, lookup, or import).
Orders not exporting to Amazon MCF
-
Confirm the eTail fields are set. The order saved search (ID
5777) only returns orders where the eTail Channel checkbox is checked. -
Check the "already exported" flag. The export runs in
oncemode usingcustbody_celigo_amzmcf_order_exported. Clear it to force a re-export. - Verify the saved search columns. If saved search 5777 is missing any required column, the generated payload is incomplete and Amazon rejects the order.
- Check SKU eligibility in Amazon. Each line's seller SKU must correspond to an FBA/MCF-enabled ASIN with inventory at an Amazon fulfillment center.
- Confirm the Amazon connection is online. A 403 from SP-API means the connection is offline or the refresh token is invalid.
Inventory not adjusting in NetSuite
- Check the item lookup. Verify the Specify the Amazon field to search… setting and the NetSuite Item field ID that matches the Amazon SKU setting point at the right fields.
- Verify the required IDs. The NetSuite Adjustment Account Internal ID and the sellable Warehouse location Internal ID are required.
- Serialized / lot-numbered items. If the item is Serialized or Lot Numbered and Auto-assign number is off, the adjustment errors. Enable auto-assignment.
- Widen the offset for backfills. Temporarily raise the Offset time to re-capture a missing window.
Fulfillments not creating in NetSuite
- Confirm the originating sales order exists. The Item Fulfillment is linked to the NetSuite sales order created by the Order Add flow.
- Check the delta window. Use Add shipments updated after, or the on-demand Amazon Seller Fulfillment Order Id setting, to reprocess a specific shipment.
- Set the inventory location. If Select inventory location present in NetSuite is blank and inventory detail is required, the Item Fulfillment can fail.
Cancellation rejected by Amazon
- Check the Amazon order status. Orders can only be cancelled while in Received or Planning status. See the cancellability matrix.
- Confirm the eTail Order ID is populated. If the eTail Order ID is empty, the order was never successfully created in Amazon and there is nothing to cancel.
- Cancel earlier. Shorten the cancellation flow's schedule so requests reach Amazon before the order enters Processing.
Returns not processing
- Verify the original fulfillment. The originating sales order and its Item Fulfillment must exist in NetSuite before the RMA can be sent.
-
Check the "already exported" state. The returns export runs in
oncemode. A return authorization already marked as exported will not be re-sent.
Amazon SP-API authentication and throttling
- 403 authentication failures. Only a Celigo account owner can reauthorize the Amazon SP-API connection. A connection outage cascades into errors across every Amazon-bound flow at once.
- Rate limiting. If flows report throttling, lengthen the schedule interval and reduce concurrency so requests spread out over time.
- Sandbox limitations. Real-time inventory event notifications are not available in the Amazon MCF Sandbox.
NetSuite connection issues
- Token-Based Authentication errors. Confirm Token-Based Authentication is enabled in NetSuite and that the Token ID and Token Secret in the connection are current.
- Permission errors. Verify the cloned Celigo eTail SmartConnectors role retains all required permissions and is assigned to the integration user.
General debugging approach
- Find the failing record. In the Celigo flow dashboard, open the run that contains the error and locate the specific record(s) that failed.
- Identify the failing step. Export failures usually indicate a connection or saved-search issue; lookup failures indicate a missing or non-matching record; import failures indicate a payload, eligibility, or permission problem.
- For lookup failures, preview the saved search. Open the referenced NetSuite saved search with the same values the flow used. If it returns nothing, the problem is the underlying data.
- For import failures, inspect the payload. Copy the generated payload from the error log and compare it against the target API's requirements.
- Fix before retrying in bulk. Resolve the underlying issue first, then retry. Retrying against an unresolved root cause only generates noise and partial records.
```