Connect Fulfil.io Sales to Pipe17

The Fulfil.io Sales connector links your Fulfil.io ERP with the app. It pulls sales orders, locations, purchase orders, and supplier shipments from Fulfil.io, and sends fulfillments, receipts, and shipment updates back. Products and inventory can sync in either direction.

With this connector, you can:

  • Pull Fulfil.io warehouses into the app as locations.
  • Pull sales orders, including cancellations, every 5 minutes.
  • Send fulfillments and tracking numbers back to the matching Fulfil.io shipment, and mark it as done.
  • Pull purchase orders and supplier shipments, and send receipts back to Fulfil.io.
  • Pull or push your product catalog and inventory.
  • Pull specific orders, purchase orders, arrivals, products, or inventory again by number, SKU, or date.

Setup

Before you begin, make sure you have:

  • An active Fulfil.io account with permission to authorize apps.
  • Your Fulfil.io portal URL, for example yourcompany.fulfil.io.
  • Optionally, a Fulfil.io personal access token. You can create one in your Fulfil.io portal under your user’s API keys, for example yourcompany.fulfil.io/client/#/model/res.user.api_key. If you don’t use a token, you authorize the app in Fulfil.io instead.
Connect Fulfil.io Sales pop-up

To connect Fulfil.io Sales:

  1. Navigate to Integrations in the app.
  2. Click Add Integration, and then select Fulfil.io Sales.
  3. Enter your portal URL in the Fulfil.io URL field, without /client, for example yourcompany.fulfil.io.
  4. Optionally, enter your token in the Personal access token (optional) field.
  5. Click Connect.
  6. If you left the token empty, sign in to Fulfil.io when prompted, and then approve access for Pipe17.

Settings

Setting Description Options/Default
Pull locations from Fulfil.io Creates a location in the app for each Fulfil.io warehouse. Locations are required for order routing and inventory. On/Off. Default: Off
Pull orders from Fulfil.io Pulls new, updated, and canceled sales orders. On/Off. Default: Off
Exclude orders created before this date Skips orders created before this date. If you leave it empty, the app uses the date you created the integration. Optional date and time
Pull only orders with specific order IDs Pulls only the orders you list. Use this while testing. Optional. Empty pulls all
Pull only orders allocated to warehouses tied with fulfillment locations in Pipe17 Skips orders that have no items shipping from a Fulfil.io warehouse linked to a fulfillment location in the app. On/Off. Default: On
Push fulfillments to Fulfil.io Sends fulfillments and tracking numbers to Fulfil.io, and sends shipping request updates to the matching Fulfil.io shipment. On/Off. Default: Off
Pull purchase orders from Fulfil.io Pulls confirmed purchase orders for warehouses that are locations in the app. On/Off. Default: Off
Exclude purchases created before this date Skips purchase orders created before this date. If you leave it empty, the app uses the date you created the integration. Optional date and time
Pull only purchase orders with specific order IDs Pulls only the purchase orders you list. Use this while testing. Optional. Empty pulls all
Pull arrivals from Fulfil.io Pulls draft supplier shipments as arrivals. On/Off. Default: Off
Exclude supplier shipments created before this date Skips supplier shipments created before this date. Optional date and time
Push receipts to Fulfil.io Sends received quantities back to the matching Fulfil.io supplier shipment. On/Off. Default: Off
Process product catalog information Sets which way products sync. Disabled, Pull product catalog from Fulfil.io, or Push product catalog to Fulfil.io. Default: Disabled
Process only products with specific SKUs Syncs only the SKUs you list. After you change this list, turn on Force product catalog resync. Optional. Empty syncs all
Force product catalog resync Syncs the whole product catalog again from the beginning. A full resync can take several days. The switch turns off when the sync is done. On/Off. Default: Off
Process inventory updates Sets which way inventory syncs. Disabled, Pull inventory information from Fulfil.io, or Push inventory information to Fulfil.io. Default: Disabled
Report inventory totals from Pipe17 to dedicated Fulfil.io location When pushing inventory, also sends the total on-hand quantity from all locations to this one Fulfil.io location. Optional location
Apply inventory updates only for SKUs matching following patterns Syncs inventory only for matching SKUs. Enter an exact SKU (not case-sensitive), or a pattern between slashes, such as /^ABC/ for SKUs that start with ABC. Optional. Empty syncs all
Apply inventory updates only for SKUs not matching following patterns Never syncs inventory for matching SKUs. Uses the same format as the previous setting. Optional
Enable periodic inventory reconciliation Sends inventory for all SKUs once a night to fix any differences between the app and Fulfil.io. On/Off. Default: Off
Force inventory catalog resync Sends all inventory again from the date you created the integration. A full resync can take several days. The switch turns off when the sync is done. On/Off. Default: Off

Flows

Flow Direction Notes
Locations Fulfil.io → Pipe17 Runs every 5 minutes. Creates a location for each new Fulfil.io warehouse. The app doesn’t update locations it already created.
Orders Fulfil.io → Pipe17 Runs every 5 minutes. Pulls sales orders in the processing or done state. Each item is assigned to the location of the Fulfil.io warehouse it ships from. Items from warehouses that aren’t fulfillment locations in the app are marked as not requiring shipping. The app updates an existing order only while it’s in an early status, such as New, On Hold, or Ready for Fulfillment.
Order cancellations Fulfil.io → Pipe17 When an order is canceled in Fulfil.io, the app cancels it too. If the order has already moved past an early status, the app adds an exception to the order instead, and you need to cancel it with your warehouse.
Shipping request updates Pipe17 → Fulfil.io When a shipping request is sent to fulfillment, the app finds the matching Fulfil.io shipment, splits it if only part of it ships, and starts picking. When you cancel a shipping request, the app cancels the matching Fulfil.io shipment.
Fulfillments Pipe17 → Fulfil.io Adds a package with the tracking number to the matching Fulfil.io shipment. When all items are fulfilled, the app marks the shipment as packed and done.
Products Fulfil.io → Pipe17 or Pipe17 → Fulfil.io Runs every 5 minutes in the direction set in Process product catalog information. Includes products with variants and bundles. When pushing a product that has no parent, the app also creates a parent template in Fulfil.io.
Inventory Fulfil.io → Pipe17 or Pipe17 → Fulfil.io Runs every 5 minutes in the direction set in Process inventory updates. When pulling, the app matches Fulfil.io warehouses to locations by name. When pushing, the app sends on-hand quantities from fulfillment locations as inventory adjustments, using your Fulfil.io lost and found location. Negative quantities are sent as 0.
Purchase orders Fulfil.io → Pipe17 Runs every 5 minutes. Pulls confirmed and processing purchase orders for warehouses that are locations in the app. The app updates an existing purchase order only while it’s new or draft.
Arrivals Fulfil.io → Pipe17 Runs every 5 minutes. Pulls draft supplier shipments as arrivals.
Receipts Pipe17 → Fulfil.io Records received quantities on the matching Fulfil.io supplier shipment. When all lines are received, the app marks the supplier shipment as done.
Orders and purchase orders Not supported: Pipe17 → Fulfil.io The app doesn’t create sales orders or purchase orders in Fulfil.io.

To pull specific records again, use the integration’s actions, such as Pull orders from Fulfil.io by external order numbers or Pull orders from Fulfil.io by date. Similar actions exist for purchases, arrivals, products, and inventory. Pulling by date covers 1 hour by default, up to 48 hours. When you pull orders by number, select Ignore filters defined for integration.


Troubleshooting

  • The connection fails when you click Connect
    The app couldn’t reach your Fulfil.io account. Check that Fulfil.io URL is your portal address, such as yourcompany.fulfil.io, without /client. If you entered a personal access token, check that it’s still active, or leave it empty and authorize with Fulfil.io instead.
  • Orders from Fulfil.io don’t appear in the app
    Check that Pull orders from Fulfil.io is on and that Pull only orders with specific order IDs is empty. With Pull only orders allocated to warehouses tied with fulfillment locations in Pipe17 on, the app skips orders that don’t ship from a fulfillment location. Turn on Pull locations from Fulfil.io and route those locations to your fulfillment partner. To learn more, see Getting Started with Locations in Pipe17.
  • An order has a “Can not find corresponding shipment in order” exception
    The app couldn’t match the shipping request to a Fulfil.io shipment. This happens when the Fulfil.io shipment was canceled, ships from a warehouse that isn’t a location in the app, or has different SKUs or quantities. Fix the shipment in Fulfil.io so it matches the shipping request.
  • A fulfillment has a “Fulfillment is split and can not be currently reported” exception
    Only part of a bundle has been fulfilled. The app sends the fulfillment once the rest of the bundle is fulfilled.
  • Inventory push fails with “Can not resolve lost and found location”
    The app records inventory changes against your Fulfil.io lost and found location. Make sure one exists in Fulfil.io. Also check that each SKU exists in Fulfil.io with the same product code.

Need Help?

If you need additional assistance:

  • Use Ask Pippen, our AI agent, located at the top of the platform page.
  • Submit a support request with as much relevant detail as possible. Learn how to submit a request.

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.