Connect ROM v2 Fulfillment to Pipe17

ROM V2 is a logistics connector that enables the app to integrate with ROM, a warehouse management system. The ROM V2 Fulfillments integration supports bidirectional data exchange for orders, fulfillments, inventory, and locations using a hybrid communication model:

- APIs and webhooks for shipping requests and fulfillments

- SFTP for inventory file ingestion

- Manually configured warehouse locations in the app

Compared to ROM v1, ROM v2 uses webhooks for fulfillments, enabling near real-time shipment updates instead of scheduled polling.


Prerequisites

Before configuring the integration, request the following information from the ROM team:

  • API base URL (environment- and customer-specific)

  • Store ID

  • API key

  • Connection Protocol/Type: SFTP or FTPS preferably

  • Host: Provided by ROM

  • Username: Provided by ROM

  • Password: Provided by ROM

  • Location IDs used in ROM inventory files

  • ID prefixes for orders, fulfillments, customers, or SKUs (if required)

All values are provided by ROM and are unique per customer.


Connect ROM V2 Fulfillments

  1. Sign in to the app.

  2. Go to ConnectionsAdd ConnectionROM V2 Fulfillments.

  3. Fill in the corresponding fields mentioned in Prerequisites, or add the integrations without credentials that can be inserted later.


How the Integration Works

The ROM v2 integration manages multiple independent data flows between the app and ROM:

  • Orders are sent to ROM as shipping requests using APIs.

  • ROM gets shipping request status updates from the app.

  • When orders ship, ROM sends fulfillment data to the app via webhooks.

  • Inventory updates are delivered as files over SFTP and processed on a schedule.

  • Locations are configured in the app and referenced during routing and inventory updates.

Each flow can be enabled or disabled independently to support phased onboarding and controlled go-live.


Understanding Integration Flow Status

In the app, each ROM v2 data flow, except Locations, can be turned on or off. This allows you to control which parts of the integration are active at any given time.

Common Flow States

  • Fulfillments (In)
    When disabled, shipment confirmations and tracking details are not received. This flow is usually enabled after webhook validation.

  • Inventory (In)
    When disabled, inventory files from ROM are not processed. This flow is typically enabled after SFTP validation.

  • Locations (In)
    Warehouse locations are available for routing and inventory association. This flow is typically enabled by default.

  • Shipping Requests (Out)
    When disabled, orders are not sent from the app to ROM. This is common during initial setup, testing, or when ROM is not yet ready to accept orders.


ROM v2 Fulfillment Connector Settings

Connection Details

These settings define how the app connects to ROM’s API and file servers.

Setting

 

Purpose

 

How It’s Used

 

API Base URL

Base endpoint for all ROM API interactions

Used for authentication validation, sending shipping requests, and receiving webhook-based updates. ROM provides different URLs for testing and production environments.

Store ID

Identifies your store or account within ROM

ROM uses this value to route requests to the correct customer account. Provided by ROM during onboarding.

API Key

Authenticates API and webhook requests

Included in all API calls to verify access permissions. Provided securely by ROM.

Communication Protocol

Defines how files are transferred between systems

Supported options include FTP, FTPS, and SFTP. SFTP and FTPS are recommended for inventory transfers due to stronger security.

Disable TLS Validation

Controls SSL/TLS certificate verification

When enabled, certificates are validated (recommended for production). When disabled, validation is skipped (testing only).

Host

Identifies ROM’s FTP/SFTP server

Required for inventory and other file-based integrations. Provided by ROM.

Port

Specifies the network port used for file transfers

Common ports include 22 (SFTP), 21 (FTP), and 990 (FTPS). Provided by ROM.

Username

Authenticates access to ROM’s file server

Required to download inventory files and other inbound data. Provided by ROM.

Password/Key

Completes FTP/SFTP authentication

Supports password-based or SSH key-based authentication (SFTP).

Inbound File Processing Action

Determines what happens to files after download

Files can be deleted, moved to a processed or archive folder, or left in place. Choose the Add '.processing' Extension (Rename) option from the dropdown. Proper handling prevents duplicate processing.

Post-Processing Action

Defines optional actions after successful file processing

May trigger downstream workflows or notifications, depending on configuration. Choose the Move to './processed' Folder option from the dropdown.

Upload Results for Incoming Files

Controls whether processing results are sent back to ROM

Used when ROM requires confirmation that inbound files were successfully processed.

Order ID Prefix

Adds a prefix to order IDs sent to ROM

Helps ROM distinguish orders from the app and avoid ID conflicts.

Customer ID Prefix

Adds a prefix to customer identifiers

Used when ROM requires customer IDs in a specific format. If blank, IDs are sent as-is.

SKU Prefix

Adds a prefix to product SKUs

Helps ROM identify products originating from the app.


Integration Settings

These settings control which data flows are active and how data is processed.

Core Data Flows

Setting

 

Purpose

 

How It’s Used

 

Shipping Requests (Out)

Sends orders to ROM for fulfillment

Orders are transformed and sent via ROM’s API once routed to ROM. Enable when ROM is ready to receive live orders.

Fulfillments (In)

Receives shipment confirmations and tracking details

ROM sends fulfillment data via webhooks when orders ship. Keeps orders and sales channels in sync.

Inventory (In)

Pulls inventory data from ROM

Inventory snapshots are delivered via SFTP and synced into the app. Enable after SFTP validation.

Location (In)

Syncs warehouse locations into the app

Locations are required for order routing and inventory association. Typically enabled early in setup.

ROM v2 Fulfillment Settings

Setting

 

Purpose

 

How It’s Used

 

Pull Shipping Request Statuses from ROM

Retrieves order and fulfillment status updates from ROM and syncs them back to the app

The connector monitors inbound order status data from ROM and processes updates for orders previously sent for fulfillment.

Shipping Requests

Setting

 

Purpose

 

How It’s Used

 

Process only shipping requests with specific order IDs

Limits which shipping requests are sent to ROM based on order identifiers

When configured, only shipping requests whose order IDs match the defined criteria are processed. This helps control order routing when multiple fulfillment providers are used, prevents duplicate submissions, and supports phased rollouts or testing scenarios. If not configured, all eligible shipping requests are sent to ROM.

When a line in a shipping request is canceled in ROM Fulfillment, create a rejection fulfillment in Pipe17

Handles partial line-item cancellations reported by ROM

When enabled, the connector detects canceled line items from ROM status updates. For each canceled line, the app creates an exception on the shipping request and generates a rejected fulfillment record for the affected quantities. This allows canceled items to be tracked, rerouted, or handled manually.

ROM supports cancellations at the line-item level only. Full order cancellations are reported as exceptions.

Inventory Settings

Setting

 

Purpose

 

How It’s Used

 

Specify the path where inventory should be downloaded from

Specifies where ROM places inventory files

The app monitors this directory and processes new files on a schedule.

Supported pattern rules:

  • Wildcards (*) for multiple characters

  • Question marks (?) for a single character

  • Partial string matching anywhere in the filename

Use a pattern that uniquely identifies ROM inventory files to avoid ingesting unrelated data.

Enter the filename pattern used to detect inventory files

Identifies inventory files and parsing rules

Used when ROM places multiple file types in the same directory.

Inventory SKUs

Limits inventory processing to specific SKUs

Useful for large catalogs or phased rollouts. If empty, all SKUs are processed.

Force Inventory Resync

Triggers a full inventory refresh

Overwrites existing inventory with a complete snapshot. Use temporarily, then disable.

Location Settings

Setting

 

Purpose

 

How It’s Used

 

ROM Locations

Limits which ROM locations are synced

Useful when ROM manages multiple warehouses but only some are used. If empty, all locations are synced.

Mappings and Defaults

  • Inventory quantity mappings may differ between ROM v1 and v2.

  • Some required fields are populated with default values when ROM does not supply them.

  • Shipping methods and fulfillment channels may default when line-level values are not provided.

  • Locations and products are managed within the app and not retrieved via ROM APIs.


Typical Setup Workflow

  1. Configure API and SFTP connection details

  2. Create locations using ROM location IDs

  3. Enable shipping requests (outbound)

  4. Enable shipping request status updates

  5. Enable fulfillments (inbound)

  6. Enable inventory ingestion

  7. Apply filters and prefixes as needed


Troubleshooting

Inventory Not Updating

  • Confirm the processed folder exists on the SFTP server

  • Verify the inventory path matches the SFTP directory

  • Check that the file pattern matches ROM inventory files

  • Confirm location IDs match the app configuration

Fulfillments Not Appearing

  • Verify API base URL, Store ID, and API key

  • Confirm webhooks are enabled and reachable

  • Validate ID prefixes with ROM

Repeated Inventory Updates

  • Ensure processed files are moved to the processed folder

  • Avoid leaving inbound files unprocessed


Need Help?

If you need additional assistance:

We're here to help you succeed with your operations.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.