Skip to main content

inFlow Inventory

inFlow Inventory is a cloud-based inventory management platform built for small and mid-sized businesses in wholesale, ecommerce, manufacturing, and field service. It enables teams to track stock levels in real time, create and fulfill sales orders and purchase orders, manage products with SKUs and barcodes, run manufacturing workflows with bills of materials, and generate comprehensive reports on sales, purchasing, and stock movement. With over 95 integrations and a REST API, inFlow Inventory connects seamlessly with accounting tools, ecommerce platforms, and automation workflows.

inFlow Inventory icon

Power end-to-end data operations for your inFlow Inventory API with Nexla. Our bi-directional inFlow Inventory connector is purpose-built for inFlow Inventory, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to inFlow Inventory or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your inFlow Inventory workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating an inFlow Inventory credential in Nexla, you must have an active inFlow Inventory subscription with the API add-on enabled and generate an API key from your inFlow Inventory account.

inFlow Inventory Subscription and API Add-On

The inFlow Inventory API requires an active subscription that includes the API add-on. The API add-on is not included in all subscription tiers, so you may need to enable or upgrade it from your account settings.

  1. Sign in to your inFlow Inventory account at app.inflowinventory.com.

  2. Navigate to your Account page by clicking your account name or avatar in the top navigation.

  3. Locate the API add-on option. If it is not already enabled, follow the on-screen prompts to enable it for your subscription.

Generate an API Key and Obtain Your Company ID

Once the API add-on is active, you can generate an API key and find your Company ID from the Integrations page in inFlow Inventory.

  1. In your inFlow Inventory account, navigate to the Integrations page. This is typically accessible from the Account menu or the main Settings area.

  2. In the API section, click Add new API key.

  3. Enter a descriptive name for the key (for example, "Nexla Integration") so you can identify it later, and click Create or Save.

  4. Copy the API key immediately and store it securely. The full API key value is only displayed once — it cannot be retrieved again after you leave this screen.

    If you lose your API key before saving it, you will need to delete the key and create a new one. Treat your API key like a password — store it in a secure secrets manager or vault.

  5. On the same Integrations page, locate and copy your Company ID. This is a unique identifier for your inFlow Inventory account and is required alongside the API key for all API requests.

For additional reference, see the inFlow Inventory API documentation.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your inFlow Inventory API key in the API Key field. This is the key you generated and copied from the inFlow Inventory Integrations page in Prerequisites. Nexla uses this key to authenticate all API requests to your inFlow Inventory account by sending it as a Bearer token in the Authorization request header.

    The API key must be kept secure. Anyone with access to this key can read and write data in your inFlow Inventory account. Avoid sharing it or storing it in plain text.

  4. Enter your inFlow Inventory Company ID in the Company ID field. This identifier is used to scope all API requests to your specific inFlow Inventory organization. You can find your Company ID on the inFlow Inventory Integrations page alongside your API keys.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the inFlow Inventory connector tile, then select the credential that will be used to connect to the inFlow Inventory instance, and click Next; or, create a new inFlow Inventory credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common inFlow Inventory endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Adjustment Reasons

Returns a list of all adjustment reasons available in the inFlow Inventory system. Use this endpoint to retrieve the reference data needed to categorize stock adjustments.

  • Sends a GET request to /adjustment-reasons (prefixed with your Company ID) and returns all configured adjustment reasons.
  • Response data is nested under $.data[*]; each element represents a single adjustment reason record.

This is a reference data endpoint. Use the returned adjustment reason IDs when creating or validating stock adjustment records.

List Categories

Returns a list of all product categories in the inFlow Inventory system. Use this endpoint to synchronize category structures with external systems or build category-level reports.

  • Sends a GET request to /categories (prefixed with your Company ID) and returns all product categories.
  • Response data is returned as a top-level JSON array at $[*]; each element represents a single category record.

Category IDs returned by this endpoint can be used to filter product listings or group inventory reports by category in downstream Nexla flows.

List Currencies

Returns a list of all supported currencies in the inFlow Inventory system. Use this endpoint to retrieve currency reference data for multi-currency pricing or financial reporting workflows.

  • Sends a GET request to /currencies (prefixed with your Company ID) and returns all supported currencies.
  • Response data is returned as a top-level JSON array at $[*]; each element represents a single currency record.

Currency codes returned by this endpoint follow standard ISO 4217 format and can be used for currency conversion or multi-currency reporting in downstream flows.

List Custom Fields

Returns a list of all custom fields configured in the inFlow Inventory system. Use this endpoint to discover the custom field definitions available for products, orders, and other inFlow entities.

  • Sends a GET request to /custom-fields (prefixed with your Company ID) and returns all custom field definitions.
  • Response data is returned as a top-level JSON array at $[*]; each element describes a custom field including its name, type, and applicable entity.

Custom field definitions are useful for understanding the structure of custom data on inFlow records before building transformations in Nexla.

List Locations

Returns a list of all warehouse and inventory locations in the inFlow Inventory system. Use this endpoint to retrieve location data for multi-location inventory reporting or stock transfer workflows.

  • Sends a GET request to /locations (prefixed with your Company ID) and returns all configured locations.
  • Response data is returned as a top-level JSON array at $[*]; each element represents a single location record.

Location IDs returned by this endpoint are required when creating stock transfers or stock adjustments scoped to a specific warehouse or storage location.

List Operation Types

Returns a list of all operation types available in the inFlow Inventory system. Use this endpoint to retrieve reference data for categorizing inventory operations.

  • Sends a GET request to /operation-types (prefixed with your Company ID) and returns all available operation types.
  • Response data is nested under $.data[*]; each element represents a single operation type record.

Operation type IDs can be used when filtering or categorizing inventory transaction records in downstream Nexla flows.

List Payment Terms

Returns a list of all payment terms configured in the inFlow Inventory system. Use this endpoint to retrieve payment term reference data for order processing or financial reporting workflows.

  • Sends a GET request to /payment-terms (prefixed with your Company ID) and returns all configured payment terms.
  • Response data is nested under $.data[*]; each element represents a single payment term record.

Payment term IDs are used when creating or updating sales orders and purchase orders in inFlow Inventory.

List Pricing Schemes

Returns a list of all pricing schemes available in the inFlow Inventory system. Use this endpoint to retrieve pricing structure reference data for product or order configuration.

  • Sends a GET request to /pricing-schemes (prefixed with your Company ID) and returns all available pricing schemes.
  • Response data is nested under $.data[*]; each element represents a single pricing scheme record.

Pricing scheme IDs are used when configuring customer-specific pricing on sales orders or product records in inFlow Inventory.

List Products

Returns a list of all products in the inFlow Inventory system. Use this endpoint to synchronize product catalogs with e-commerce platforms, ERPs, or analytics systems.

  • Sends a GET request to /products (prefixed with your Company ID) and returns all product records.
  • Response data is returned as a top-level JSON array at $[*]; each element represents a single product including SKU, pricing, and stock information. The inFlow API returns 20 results per page by default (max 100); use the skip and count parameters to paginate.

For catalogs with many products, configure pagination using the skip and count query parameters. The inFlow API returns a maximum of 100 records per page.

List Product Cost Adjustments

Returns a list of all product cost adjustments recorded in the inFlow Inventory system. Use this endpoint to track cost basis changes for inventory valuation and financial reporting.

  • Sends a GET request to /product-cost-adjustments (prefixed with your Company ID) and returns all cost adjustment records.
  • Response data is nested under $.data[*]; each element represents a single cost adjustment record.

Product cost adjustments affect inventory valuation. Regularly syncing this data ensures accurate cost reporting in downstream financial analytics.

List Purchase Orders

Returns a list of all purchase orders in the inFlow Inventory system. Use this endpoint to track inbound inventory orders, monitor vendor fulfillment, or sync purchasing data with accounting systems.

  • Sends a GET request to /purchase-orders (prefixed with your Company ID) and returns all purchase order records.
  • Response data is nested under $.data[*]; each element represents a single purchase order including status, vendor, line items, and dates.

Use date-based filtering query parameters where available to retrieve only recent or open purchase orders, reducing response size for accounts with large order histories.

List Sales Orders

Returns a list of all sales orders in the inFlow Inventory system. Use this endpoint to sync order data with CRM or accounting systems, build revenue reports, or monitor fulfillment status.

  • Sends a GET request to /sales-orders (prefixed with your Company ID) and returns all sales order records.
  • Response data is nested under $.data[*]; each element represents a single sales order including customer, line items, status, and payment information.

For high-volume order environments, paginate using the skip and count parameters and consider filtering by order status to reduce data volume per run.

List Stock Adjustments

Returns a list of all stock adjustments recorded in the inFlow Inventory system. Use this endpoint to audit inventory corrections, track shrinkage, or reconcile physical counts with system quantities.

  • Sends a GET request to /stock-adjustments (prefixed with your Company ID) and returns all stock adjustment records.
  • Response data is nested under $.data[*]; each element represents a single stock adjustment record including the reason, quantity change, and affected product.

Stock adjustment records are important for inventory audit trails. Sync this data regularly to maintain an accurate history of inventory corrections in your analytics systems.

List Stock Counts

Returns a list of all stock counts in the inFlow Inventory system. Use this endpoint to retrieve physical count data for reconciliation reporting or audit workflows.

  • Sends a GET request to /stock-counts (prefixed with your Company ID) and returns all stock count records.
  • Response data is nested under $.data[*]; each element represents a single stock count session including count date, location, and variance data.

Stock count data includes variance information that can be used to identify discrepancies between physical and system inventory quantities.

List Stock Transfers

Returns a list of all stock transfers in the inFlow Inventory system. Use this endpoint to track inventory movements between warehouse locations for supply chain visibility.

  • Sends a GET request to /stock-transfers (prefixed with your Company ID) and returns all stock transfer records.
  • Response data is nested under $.data[*]; each element represents a single stock transfer including source location, destination location, and product details.

Stock transfer records can be used to build inter-location inventory movement reports and identify supply chain bottlenecks.

List Tax Codes

Returns a list of all tax codes configured in the inFlow Inventory system. Use this endpoint to retrieve tax reference data for order processing or financial reporting workflows.

  • Sends a GET request to /tax-codes (prefixed with your Company ID) and returns all configured tax codes.
  • Response data is nested under $.data[*]; each element represents a single tax code record.

Tax code IDs and rates are used when calculating taxes on sales orders and purchase orders in inFlow Inventory.

List Taxing Schemes

Returns a list of all taxing schemes configured in the inFlow Inventory system. Use this endpoint to retrieve taxing structure reference data for multi-jurisdiction tax reporting.

  • Sends a GET request to /taxing-schemes (prefixed with your Company ID) and returns all configured taxing schemes.
  • Response data is nested under $.data[*]; each element represents a single taxing scheme record.

Taxing scheme IDs can be referenced when configuring tax settings on customer records or order templates in inFlow Inventory.

List Team Members

Returns a list of all team members in the inFlow Inventory account. Use this endpoint to sync user data with HR systems or build user activity reports.

  • Sends a GET request to /team-members (prefixed with your Company ID) and returns all team member records.
  • Response data is nested under $.data[*]; each element represents a single team member including their name, email, and role.

Team member records include role and permission data that can be used to audit user access or build compliance reports.

List Vendors

Returns a list of all vendors in the inFlow Inventory system. Use this endpoint to synchronize vendor records with accounting systems or build vendor performance reports.

  • Sends a GET request to /vendors (prefixed with your Company ID) and returns all vendor records.
  • Response data is returned as a top-level JSON array at $[*]; each element represents a single vendor record including contact information and payment terms.

Vendor records can be used as lookup tables in other inFlow Inventory data flows to enrich purchase order records with vendor contact or payment term details.

List Customers

Returns a list of all customers in the inFlow Inventory system. Use this endpoint to synchronize customer records with CRM systems or build customer-level sales reports.

  • Sends a GET request to /customers (prefixed with your Company ID) and returns all customer records.
  • Response data is returned as a top-level JSON array at $[*]; each element represents a single customer record including contact information and payment terms.

Customer IDs returned by this endpoint are required when creating or updating sales orders in inFlow Inventory. Use this endpoint to populate customer lookup tables for downstream order creation flows.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

inFlow Inventory sources can also be manually configured to ingest data from any valid inFlow Inventory API endpoint not covered by the pre-built templates, including chained API calls or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

The inFlow Inventory API base URL is https://cloudapi.inflowinventory.com, and all endpoints are prefixed with your Company ID (for example, https://cloudapi.inflowinventory.com/{'{companyId}'}/products). The API returns 20 results per page by default, with a maximum of 100 results per page — for large datasets, use the skip and count pagination parameters. You do not need to include the Authorization header; Nexla automatically adds the Bearer token from your inFlow Inventory credential to every API request.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new inFlow Inventory data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the inFlow Inventory destination, and select the Send to Destination option from the menu. Select the inFlow Inventory connector from the list of available destination connectors, then select the credential that will be used to connect to the inFlow Inventory organization, and click Next; or, create a new inFlow Inventory credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common inFlow Inventory endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Product

Creates a new product record in inFlow Inventory. Use this endpoint to onboard new products from e-commerce platforms, supplier feeds, or product information management systems.

  • Sends a POST request to /products (prefixed with your Company ID) with a JSON payload describing the new product.
  • No path parameters are required for product creation; all product fields (name, SKU, pricing, etc.) are provided in the request body.

The inFlow API enforces a rate limit of 60 requests per minute. For large product catalogs, enable record batching to reduce API calls and avoid hitting this limit.

Create Sales Order

Creates a sales order in inFlow Inventory from an external source such as an e-commerce platform or CRM. Use this endpoint to centralize order management in inFlow from external sales channels.

  • Sends a POST request to /sales-orders (prefixed with your Company ID) with a JSON payload containing order details including customer, line items, and payment information.
  • No path parameters are required for order creation; all order fields are provided in the request body.

Customer IDs and product IDs referenced in the order must exist in inFlow before the order is created. Use lookup-based Nexla flows to validate these IDs before writing.

Update Product

Updates an existing product record in inFlow Inventory. Use this endpoint to sync product name, cost, pricing, or reorder point changes from external systems.

  • Sends a PUT or PATCH request to /products/{id} (prefixed with your Company ID) with a JSON payload containing the fields to update.
  • Configure the following parameters: Id — the inFlow Inventory product ID to update. This value must be included in the API URL path.

Use PATCH for partial updates (only the fields provided in the body will be modified) and PUT for full record replacement. Ensure the correct product ID is mapped from your Nexset before activating this destination.

Create Customer

Creates a customer record in inFlow Inventory. Use this endpoint to sync customer data from CRM or e-commerce systems into inFlow for order processing.

  • Sends a POST request to /customers (prefixed with your Company ID) with a JSON payload describing the new customer.
  • No path parameters are required for customer creation; all customer fields (name, contact, payment terms, etc.) are provided in the request body.

Newly created customers are immediately available for use in sales orders. Ensure that customer names and contacts are correctly mapped from your source Nexset to avoid duplicate records.

Create Purchase Order

Creates a purchase order in inFlow Inventory to restock inventory from a vendor. Use this endpoint to automate reorder point-triggered purchasing from procurement or planning systems.

  • Sends a POST request to /purchase-orders (prefixed with your Company ID) with a JSON payload containing vendor, line items, and expected delivery details.
  • No path parameters are required for purchase order creation; all order fields are provided in the request body.

Vendor IDs referenced in the purchase order must exist in inFlow before the order is created. Use the List Vendors source endpoint to retrieve and validate vendor IDs in advance.

Create Stock Adjustment

Creates a stock adjustment in inFlow Inventory to correct inventory quantities. Use this endpoint to synchronize physical count results or apply inventory corrections from external audit systems.

  • Sends a POST request to /stock-adjustments (prefixed with your Company ID) with a JSON payload specifying the product, location, quantity change, and adjustment reason.
  • No path parameters are required for adjustment creation; all adjustment fields are provided in the request body.

Adjustment reasons must match a valid reason ID from inFlow. Use the List Adjustment Reasons source endpoint to retrieve valid IDs before mapping them into this destination.

Create Stock Transfer

Creates a stock transfer in inFlow Inventory to move inventory between locations. Use this endpoint to automate inter-warehouse transfers triggered by replenishment rules or distribution planning systems.

  • Sends a POST request to /stock-transfers (prefixed with your Company ID) with a JSON payload specifying the source location, destination location, product, and quantity.
  • No path parameters are required for transfer creation; all transfer fields are provided in the request body.

Both the source and destination location IDs must be valid inFlow locations. Use the List Locations source endpoint to retrieve and validate location IDs before building transfer flows.

Update Customer

Updates an existing customer record in inFlow Inventory. Use this endpoint to keep inFlow customer profiles synchronized with CRM or external contact management systems.

  • Sends a PUT or PATCH request to /customers/{id} (prefixed with your Company ID) with a JSON payload containing the fields to update.
  • Configure the following parameters: Id — the inFlow Inventory customer ID to update. This value must be included in the API URL path.

Ensure the correct customer ID is mapped from your Nexset. Customer IDs can be retrieved using the List Customers source endpoint.

Update Purchase Order

Updates a purchase order in inFlow Inventory, such as receiving stock, changing status, or editing line items. Use this endpoint to sync purchase order updates from receiving or procurement systems.

  • Sends a PUT or PATCH request to /purchase-orders/{id} (prefixed with your Company ID) with a JSON payload containing the fields to update.
  • Configure the following parameters: Id — the inFlow Inventory purchase order ID to update. This value must be included in the API URL path.

Purchase order IDs can be retrieved using the List Purchase Orders source endpoint. Verify order status before attempting updates, as completed or cancelled orders may not accept modifications.

Update Sales Order

Updates a sales order in inFlow Inventory, such as marking it as shipped, updating quantities, or changing status. Use this endpoint to sync order fulfillment updates from shipping or WMS systems back into inFlow.

  • Sends a PUT or PATCH request to /sales-orders/{id} (prefixed with your Company ID) with a JSON payload containing the fields to update.
  • Configure the following parameters: Id — the inFlow Inventory sales order ID to update. This value must be included in the API URL path.

Sales order IDs can be retrieved using the List Sales Orders source endpoint. Verify order status before attempting updates, as fully shipped or closed orders may not accept modifications.

Once the selected endpoint template has been configured, Nexla can send a test payload to the inFlow Inventory API to ensure that the destination is configured correctly. Click the Test button to the right of the endpoint selection menu; sample data will be fetched and displayed in the Endpoint Test Result panel on the right.

Manual configuration

inFlow Inventory destinations can also be manually configured to send data to any valid inFlow Inventory API endpoint. You can also configure Nexla to automatically send the response received from the inFlow Inventory API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

The inFlow Inventory API base URL is https://cloudapi.inflowinventory.com and expects data in JSON format for write operations. Use POST to create new records (products, customers, sales orders, purchase orders), PUT or PATCH to update an existing record, and DELETE to remove one — for update or upsert operations, include the record ID at the end of the URL (for example, https://cloudapi.inflowinventory.com/{'{companyId}'}/sales-orders/{'{orderId}'}). The API enforces a rate limit of 60 requests per minute; for large data loads, enable record batching to reduce the number of API calls and avoid hitting this limit. You do not need to include the Authorization header; Nexla automatically adds the Bearer token from your inFlow Inventory credential to every API request.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to inFlow Inventory, open the destination resource menu, and select Activate.

The Nexset data will not be sent to inFlow Inventory until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.