Skip to main content

Data Source

The inFlow Inventory connector enables you to ingest inventory, order, customer, vendor, and product data directly from your inFlow Inventory account into Nexla. Follow the instructions below to create a new data flow that ingests data from an inFlow Inventory source in Nexla.
inflowinventory_api.png

inFlow Inventory

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the inFlow Inventory connector tile from the list of available connectors. 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.

  3. In Nexla, inFlow Inventory data sources can be created using pre-built endpoint templates, which expedite source setup for common inFlow Inventory endpoints. Each template is designed specifically for the corresponding inFlow Inventory endpoint, making data source setup easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    inFlow Inventory sources can also be configured manually, allowing you to ingest data from inFlow Inventory endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common inFlow Inventory endpoints. Each template is designed specifically for the corresponding inFlow Inventory endpoint, making data source setup easy and efficient.

Endpoint Settings

  • 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. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    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.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

inFlow Inventory sources can also be configured to ingest data from any valid inFlow Inventory API endpoint. Configuration options available for inFlow Inventory sources allow them to be fully customized to suit any use case—including using chained API calls to fetch data from multiple endpoints or sources that require custom authentication headers or request parameters.

First, select the method that will be used for calls to the inFlow Inventory API from the Method pulldown menu. The most common methods are:

  • GET: For retrieving data from the API
  • POST: For sending data to the API or triggering actions
  • PUT: For updating existing data
  • PATCH: For partial updates to existing data
  • DELETE: For removing data

API Endpoint URL

  1. Enter the URL of the inFlow Inventory API endpoint from which this source will fetch data in the Set API URL field. The inFlow Inventory API base URL is https://cloudapi.inflowinventory.com, and all endpoints are prefixed with your Company ID. For example:

    • Products: https://cloudapi.inflowinventory.com/{'{companyId}'}/products
    • Sales Orders: https://cloudapi.inflowinventory.com/{'{companyId}'}/sales-orders
    • Purchase Orders: https://cloudapi.inflowinventory.com/{'{companyId}'}/purchase-orders
    • Customers: https://cloudapi.inflowinventory.com/{'{companyId}'}/customers
    • Vendors: https://cloudapi.inflowinventory.com/{'{companyId}'}/vendors
    • Locations: https://cloudapi.inflowinventory.com/{'{companyId}'}/locations
    • Categories: https://cloudapi.inflowinventory.com/{'{companyId}'}/categories

    Replace {'{companyId}'} with your inFlow Inventory Company ID, which can be found on the Integrations page of your inFlow Inventory account.

The inFlow Inventory API returns 20 results per page by default, with a maximum of 100 results per page. For large datasets, use the pagination parameters (skip and count) to retrieve additional pages. Ensure the API endpoint URL is correct and accessible with your current credentials before proceeding.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Macros are particularly useful for inFlow Inventory endpoints that support date-based filtering, such as retrieving orders or inventory adjustments created after a specific date.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful when you need to create inFlow Inventory API endpoints that reference specific product IDs, order numbers, or customer IDs from other data sources in your Nexla environment.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data returned by the inFlow Inventory API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful when inFlow Inventory API responses contain metadata, pagination information, or other data that you don't need for your analysis.

For example, when fetching a list of products or orders, the inFlow Inventory API returns an array of records along with pagination metadata. By entering the path to the relevant data, you can configure Nexla to treat each element of the returned array as a record.

Path to Data is essential when inFlow Inventory API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.data.items[*] to access an array of items within a data object).

    • For responses in XML format, enter the XPath that points to the object/array containing relevant data. XPath uses slash notation (e.g., /response/data/item to access item elements within a data element).

    Path to Data Example:

    If the inFlow Inventory API response is in JSON format and includes a top-level array named data that contains the relevant records (such as products or orders), the path to the data would be entered as $.data[*].

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve important contextual information that applies to all records but isn't part of the main data array.

For example, when fetching a list of inFlow Inventory sales orders, the API response typically includes an array of order records along with pagination metadata such as total count and page size. If you have specified the path to the order records but need to preserve the pagination metadata, you can specify a path to that metadata to include it with each record.

Metadata paths are particularly useful for preserving inFlow Inventory API response context like pagination details, total record counts, or request timestamps that apply to all records in the response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata, and for responses in XML format, enter the XPath.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers may be required for API versioning or content type specifications.

    You do not need to include the Authorization header or any authentication headers already present in the credentials. Nexla automatically adds the Bearer token from your inFlow Inventory credential to every API request.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, 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.