Articles in this section

Sync Amazon FBA inventory adjustments to NetSuite

The FBA Inventory Adjustments add-on for the Amazon MCF - NetSuite integration app records the inventory adjustments Amazon makes in its fulfillment centers as inventory adjustments in NetSuite, so your NetSuite inventory levels account for lost or damaged stock. Its flow, Amazon (FBA) Inventory Adjustments to NetSuite Inventory Adjustments, runs on a schedule and separates sellable from damaged inventory based on the disposition Amazon reports. This article covers how the flow works, how to read Amazon's adjustment report, and how to configure, run, and check the flow.

Prerequisites:

  • Install the FBA Inventory Adjustments add-on. For details, see Add-ons.
  • In NetSuite, add the Adjust Inventory permission to the role that the integration app's NetSuite connection uses. For details, see Create a role for the integration app.

How the flow works

Each run, the flow requests Amazon's FBA inventory adjustment report. If Amazon cancels the report or returns it with no data, the run ends. Otherwise, the flow looks up each item in NetSuite and creates an inventory adjustment record with the items it finds. Items it can't find in NetSuite appear as errors on the dashboard.

Amazon generates the report no more than once every 30 minutes, so allow at least 30 minutes between requests.

NetSuite allows up to 1,000 lines in a single inventory adjustment record. If a report has more than 1,000 lines, the flow creates several inventory adjustment records of up to 1,000 lines each.

Supported items

The add-on supports these NetSuite item types:

  • Inventory items
  • Assembly items
  • Lot-numbered items
  • Serialized items
  • Matrix items
  • Bin items
  • Items with inventory status enabled

Kit items aren't supported because of a NetSuite limitation.

Note: Item aliases don't apply to MCF orders, because MCF doesn't manage a product catalog. Orders come from different sales channels, and each order line points to a single SKU in the Amazon warehouse. For aliases on transfer orders, see Map item aliases and case pack quantities on transfer orders.

Read an inventory adjustment report

Amazon categorizes each adjustment by quantity and reason code. These columns tell you what changed:

  • quantity: The sign shows whether the adjustment increases (+) or decreases (-) the inventory level.
  • reason: The type of adjustment.
  • disposition: The physical state of the units, such as SELLABLE or WAREHOUSE_DAMAGED.

For example:

adjusted-date transaction-item-id fnsku sku product-name fulfillment-center-id quantity reason disposition
2019-07-31T00:00:00-07:00 9249864 X001K0P99R 83542-01-N Wireless Headset RIC2 -1 M SELLABLE
2019-07-31T00:00:00-07:00 92537164 B00EA07B0I 506007-N Telephone Headset RIC2 1 F SELLABLE
2019-07-31T00:00:00-07:00 92500164 B00EA07B0I 506007-N Telephone Headset RIC2 -1 O SELLABLE
2019-07-29T00:00:00-07:00 9869952533 B00O1ANTD0 201500-01-N Headset Mono FTW6 -1 O WAREHOUSE_DAMAGED

A report can contain several entries for the same item, reason, disposition, or transaction item ID. The reason code and disposition show whether inventory is sellable or damaged. Damaged inventory can be defective, customer damaged, distributor damaged, warehouse damaged, carrier damaged, or expired. For the full list of adjustment types and reason codes, see Inventory Adjustments in Amazon Seller Central help.

Turn on the flow

  1. Open the Amazon MCF - NetSuite integration app, and go to Flows > Inventory (FBA).
  2. Turn on Amazon (FBA) Inventory Adjustments to NetSuite Inventory Adjustments.
  3. In the flow's Settings, select Select a start date for this flow to choose a start date for this delta flow. Do this for the first run, so the flow fetches historical adjustments. The start date doesn't change the flow's schedule.
  4. Select Save, and then refresh the page.

Configure the inventory settings

  1. In the integration app, go to Settings > Inventory (FBA) > FBA Inventory.
  2. Set these settings, and then select Save:

    • Define criteria to search the matching items in NetSuite: The lookup criteria for finding each Amazon item in NetSuite. By default, the item's Name (internal) must match the Amazon SKU and the item must be active.
    • NetSuite adjustment account: The NetSuite account for the adjustments. It's set as the Adjustment Account on each inventory adjustment record.
    • Specify the item field ID that matches with Amazon SKU: The ID of the NetSuite item field that matches the Amazon SKU, for example itemid for the Item Name/Number field. Enter only one field ID.
    • Auto-assign number to Lot Numbered/Serialized items: Automatically assigns inventory numbers to lot-numbered and serialized items in NetSuite. For an adjustment increase, a unique system-generated number is assigned as the inventory detail. For an adjustment decrease, the flow allocates serial numbers created first, or lot numbers nearing expiration (or created first, if there's no expiration date).
    • Add a prefix for Lot Numbered/Serialized items: Optional. A value added before the system-generated number when an adjustment is an increase.

Configure the FBA locations

Use different NetSuite locations for sellable and damaged inventory, so you can track them separately. When inventory is damaged at an Amazon fulfillment center, the flow creates two adjustments: one decreases the quantity in the sellable location, and one increases it in the damaged location.

  1. In the integration app, go to Settings > Inventory (FBA) > FBA Location.
  2. For Select the FBA warehouse location for sellable inventory, select the location for sellable inventory.
  3. For Select the FBA warehouse location for damaged inventory, select the location for damaged inventory. If you leave it empty, the inventory adjustment records include only sellable inventory.
  4. Select Save.

To sync only records of the Adjustments event type, or only records for one country or for specific fulfillment centers, also add an input filter to the flow. For details, see Filter FBA inventory adjustments by event type, country, or fulfillment center.

Run the flow

  1. In the integration app, go to Flows > Inventory (FBA), and select Run for the flow.
  2. To import earlier FBA inventory adjustment reports, select a custom start date.
  3. Select Run.

Find the adjustments in NetSuite

Each run creates one or more inventory adjustment records in NetSuite. With the default mappings, the Adjustments section of each record shows:

  • The quantity, in Adjust Qty. By.
  • The Amazon reason code, in Celigo Amazon Reason Code.

To show other report columns, such as disposition and fulfillment-center-id, map them to NetSuite custom fields in the flow's mappings.

Negative adjustments for bin and serialized items

To keep inventory accurate in Amazon and NetSuite, the flow syncs negative adjustments even when the NetSuite location doesn't have the quantity available. This applies when the location doesn't use bins (Use Bins is cleared) and inventory status is turned off. For serialized and lot-numbered items:

  • If the adjustment is less than the available quantity, the flow adjusts the quantity without an error.
  • If the adjustment is more than the available quantity, the flow returns an error.

Note: NetSuite shows Use Bins on a location only if Advanced Bin / Numbered Inventory Management is selected under Setup > Company > Enable Features > Items & Inventory.

If Inventory Status is turned on in your NetSuite account (Setup > Company > Enable Features > Items & Inventory > Inventory), configure subrecord mappings so that each adjustment gets the right inventory status. For steps, see Assign status details to Amazon inventory.