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.
To connect Fulfil.io Sales:
- Navigate to Integrations in the app.
- Click Add Integration, and then select Fulfil.io Sales.
- Enter your portal URL in the Fulfil.io URL field, without
/client, for exampleyourcompany.fulfil.io. - Optionally, enter your token in the Personal access token (optional) field.
- Click Connect.
- 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 asyourcompany.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.
Comments
0 comments