Skip to main content
All CollectionsIntegrations
Configuring Inventory Planner with a custom integration (CSV)
Configuring Inventory Planner with a custom integration (CSV)

Configure warehouses, purchase orders, transfers, forecasts, replenishment, bundles, assemblies, and more.

Jasper avatar
Written by Jasper
Updated over a month ago

This guide explains how Inventory Planner can be configured when connected to an Inventory Management System. For information on how to launch Inventory Planner, please see the launch guide.

What if I have connections to other systems?

This guide is focused on configuring Inventory Planner with a custom CSV integration. If you have multiple connections with Inventory Planner beyond a custom CSV integration, please refer to the following specialized guides:

Configuring connections and warehouses

To sync products and stock information from a custom ERP, users can set up a custom connector using a CSV integration. Doing so requires two to three separate CSV files stored at a public link (e.g. Google Drive, Dropbox) to define products and stock, sales orders, and (optionally) purchase orders.

Note: If you are using a CSV integration, we recommend working with an external developer to extract data from your ERP and automatically update the required CSV files. From there, Inventory Planner will sync the data automatically or whenever a manual sync is initiated from the interface, as it would for a direct integration.​

A single CSV integration can only support one warehouse at a time. In order to configure multiple warehouses, you will need to use multiple CSV connections. When you connect multiple CSV integrations with Inventory Planner, the locations appear in Inventory Planner as warehouses you can enable/disable in Account > Settings > Connections & warehouses. Only enable warehouses that you need to evaluate independently for forecasting and replenishment planning purposes.

For warehouses that don't need to be independently evaluated, you can create a combined warehouse to aggregate sales (and/or stock) information from multiple warehouses into a single view. Doing so allows you to generate forecasted needs and replenishment recommendations based on totaled data.

Note: You do not need to enable individual warehouses if it's enough to include them in a combined warehouse.

In this example, sales are combined from all three warehouses, while stock is only taken from the main "CSV" warehouse. With this configuration, the 'combined warehouse' view considers all sales orders for forecasting and replenishment planning purposes, but ignores the stock in "CSV 2" and "CSV 3" since the sales are fulfilled from the "CSV" warehouse.

Note: If you have multiple connections and/or duplicate listings for a single variant/SKU, it is important to combine listings first in order to maintain accurate reports using a combined warehouse.

Forecasting, replenishment, and reporting

Here are some videos and resources to reference related to forecasting, replenishment, purchase orders, and reports in Inventory Planner.

Replenishment and Edit Forecast are the key areas of Inventory Planner to configure and generate your forecast and replenishment recommendations. Use the Replenishment Report for variant/SKU level forecasting and replenishment analysis, and to create purchase orders using replenishment recommendations. Replenishment is an output of your forecast method and settings, forecast edits, and your planning period (lead time + days of stock).

The Edit Forecast section shows a monthly breakdown of forecasted sales. Select the date range in the top right for your Report, then click on Columns (using the gear icon in the top right) and Filters to see the information you need. Metrics are calculated at the Variant (SKU) level. Use the top left dropdown to aggregate reports and/or override forecasts in different dimensions (e.g. by category, by vendor, etc).

Purchase orders and transfer orders

There are three methods that can be used for generating and managing purchase orders and transfers using a custom CSV connection. We recommend using either approach "A" or "B", but not both. Approach "C" is not recommended, since it is manual and can cause duplication.


Method A

Generate purchase orders within Inventory Planner and work with a third party developer to access the purchase orders with our Inventory Planner Public API. The API includes purchase order details and information about receiving, so you can generate purchase orders in Inventory Planner then receive them your ERP to send the receiving information back to Inventory Planner.


Method B

Export replenishment recommendations from Inventory Planner, import them into your ERP, then send the purchase orders back into Inventory Planner through the CSV Integration purchase order file. As purchase orders are received and closed in your ERP with this scenario, your developer can update the information in the CSV purchase order file accordingly so we can sync from there.

Method C (not recommended)

Generate purchase orders within Inventory Planner, then after receiving them into stock in your ERP, simultaneously close them in Inventory Planner to reduce the "on order" quantity (stock levels would update after the next sync based on the CSV connection).

Bundles and assemblies (pre-kitted goods)

A bundle can also be referred to as a kit, a virtual bundle, or a gift set. Bundles are simply different ways of selling variants - e.g. 10 total shirts could be sold as (1) 10PK or (2) 5PK or (10) 1PK. With bundles, all of the stock is tied together - and goods are bundled after the sale occurs when the customer order is fulfilled.

Inventory Planner considers the sales from bundles with the sales of individual components/variants when producing forecasts and replenishment recommendations at the variant level.

Bundle relationships cannot be automated when using a custom CSV integration. These relationships should be configured directly within Inventory Planner.

An assembly must be produced from components (variants) before it can be placed into stock and available for sale. These goods are pre-assembled before the sale and fulfillment of an item.

Assemblies include any produced goods with a bill of materials (BOM), and bundles/kits that must be produced before sending to Amazon (or a different fulfillment warehouse).

Planning for assemblies should only take place in warehouses where there are forecasted sales and accurate stock levels. If components are stocked and/or assembled in a different facility from where customer orders are fulfilled, configuring a combined warehouse allows you to aggregate the stock and/or sales information from multiple warehouses into a single warehouse for assemblies replenishment planning.

Whether you create a new purchase order, assembly order, or transfer order using recommendations from a combined warehouse or an individual warehouse view, you can select the 'true' destination warehouse once the new order is created.

Replenishment for assemblies​

Understanding forecasting and how replenishment is calculated for any item is key to understanding replenishment recommendations for assemblies and variants (components). Learn more about forecasting for assemblies here.

In order to calculate replenishment for assemblies and generate a schedule, the planning period and cycle details must be defined:

  • Select "assemblies" in the top left of Replenishment, then configure your forecast method, forecast edits (if applicable), assembly time, and assembly cycle.

  • Select "variants" in the top left of Replenishment, then configure your lead time and days of stock for component variants.

Note: If components are sold on their own, configure the forecast method and/or forecast edits at the variant level as well.

Recommended workflow for CSV integrations

  1. Create assembly orders (production orders) to create new assemblies from component stock. Receive assembly orders in Inventory Planner to close the "on assembly" quantity once stock levels have been adjusted in your CSV product file.

  2. Create purchase orders (POs) to purchase component variants from vendors. Receive purchase orders in Inventory Planner to close the "on order" quantity once stock levels have been adjusted in your CSV product file.

Developers can access purchase order information using the Inventory Planner public API. The API includes PO details and information about receiving stock, so users can generate POs in Inventory Planner and receive them in an external system. The same API can be used to send information of those receipts back to Inventory Planner.

Vendors and vendor attributes

Vendors and vendor attributes (e.g. cost prices, vendor references) can be synced automatically to Inventory Planner from a CSV integration. Alternatively, they can be input (or uploaded directly) into Inventory Planner. Check the integrations page to see which attributes are supported for a CSV integration.

Additional resources for custom CSV integrations

  • Vendors / Set Variants with Vendors: Configure vendors and associate variants with vendors in order to automatically populate information on purchase orders as they are created.​

  • IP Warehouse: Manually track extra stock. IP Warehouses can be added with other warehouses as part of a combined warehouse configuration.

  • Combined warehouse: Used to aggregate sales (and/or stock) information from multiple warehouses into a single view, to generate forecasted needs and replenishment recommendations based on totaled data.​​

  • Listings: Connect multiple listings of the same exact variant/SKU (if you have multiple connections, or duplicated listings within a single connection).

  • Compare warehouses report: Compare metrics across multiple warehouses and optionally generate warehouse transfer recommendations.

Explanations of metrics, columns/filters, or other features:

Visit the integrations page for a full list of details Inventory Planner syncs from every integration, or experiment with features anytime in the Inventory Planner demo store.

Feel free to contact Inventory Planner directly at [email protected] to review any other questions.

Did this answer your question?