Fulfillments in Pipe17 represent the actual shipment of products to customers. While Shipping Requests are instructions sent to fulfillment providers about what needs to be shipped, Fulfillments are the confirmation that those instructions have been executed. They are records of completed shipping activities that include tracking information and shipping details.
A single order can result in multiple shipping requests, and each shipping request can result in multiple fulfillments. This one-to-many relationship exists because warehouses may partially fulfill items or reject parts of an order. Fulfillments are always tied to shipping requests, and shipping requests are linked to orders.
Fulfillments Flow in the Order Lifecycle
Understanding where Fulfillments sit in your order operations is critical:
- Order is created in the sales channel (e.g., Shopify)
- Shipping request is sent to the fulfillment provider
- Items are picked, packed, and shipped
- A Fulfillment record is created to confirm shipment
- Tracking data is returned and synced to the sales channel
Fulfillments serve as proof of delivery execution and are critical for customer communication and internal accountability.
Partial and Rejected Fulfillments
A shipping request may result in multiple fulfillments due to partial shipments. For example, if a warehouse only has part of the requested inventory, it may fulfill some items immediately and the rest later, creating multiple fulfillment records tied to the same shipping request.
Additionally, some fulfillments may be marked as rejected if the warehouse cannot ship certain items due to inventory shortages or configuration issues. These fulfillments carry the type rejected and should not be confused with canceled shipping requests.
Viewing Fulfillments
Access the Fulfillments page from the Orders section to see a list of fulfillment records. Use filters to narrow down results by criteria relevant to your operations.
The Fulfillments table displays fulfillment data in a structured table. Clickable fields allow quick access to related entities.
| Column | Description | Clickable | Redirects To | Schema Field |
|---|---|---|---|---|
| Fulfillment ID | Unique identifier of the fulfillment | Yes | Fulfillments Flow | fulfillmentId |
| Order | Associated order number | Yes | Using the Order Details Page | orderId |
| Ext Fulfillment ID | Fulfillment ID from the external system | Conditionally - when present | Using the Order Details Page | extFulfillmentId |
| Shipping Requests | Associated shipping request | Yes | Shipping Requests Flow | shipmentId |
| Location | Warehouse or fulfillment location | Yes | Location details pageUsing Locations | locationId |
| Exception Category | Exception categories related to the fulfillment | No | — | exceptionCategories |
| Type | Fulfillment type (accepted, rejected, voided) | No | — | fulfillmentType |
| Tracking Number | Tracking number(s) | Yes | Carrier tracking page | trackingNumber |
| Shipped | Actual shipping date | No | — | actualShipDate |
| Source Integration | Integration that created the fulfillment | Yes | Integration details page | sourceIntegration |
Additional columns:
- Shipping Method
- Created
- Updated
- Expected Arrival
- Order Integration
- Routing Source (clickable, links to the Integration details page for the integration that created the shipping request)
- Shipping Carrier
- Shipping Class
- Shipping Charge
- Track at Source
- Order Status
- Exception Type
You can customize visible rows using the column selector (squares icon in the top right corner). Use drag-and-drop to reorder columns or the refresh icon to reload data. Adjust the layout using view modes: Comfortable (default), Compact, or Full, and enable or disable Word Wrap as needed. Restore default settings at any time with the Restore Defaults option.
Filtering Fulfillments
| Filter | Description | Component Type | Schema Field | Notes |
|---|---|---|---|---|
| Created | Filters by creation date | Date range picker | createdAt |
Use to locate fulfillments by date |
| Location | Filters by fulfillment center or warehouse | Multi-select dropdown | locationId |
Lists all available locations |
| Type | Filters by fulfillment type (outcome) | Multi-select dropdown | fulfillmentType |
Options: accepted (default), rejected, voided |
| Integration | Filters by originating integration | Multi-select dropdown | integration |
Useful for multi-source accounts |
| Exception Categories | Filters by exception type | Multi-select dropdown | exceptionCategories |
Highlights fulfillment issues |
The Type filter defaults to
acceptedon page load. Fulfillments with typerejectedorvoidedare hidden by default. To view them, open the Type filter and select the desired types.
Advanced Filtering
For more granular control, use the Advanced filter to query fulfillments by schema-level fields, including relationships, timestamps, shipping metadata, and line item attributes.
| Category | Filter Fields |
|---|---|
| Basic Information |
fulfillmentId, fulfillmentType, integration, orderIntegration, shipmentIntegration, locationId, orderId, shipmentId, extOrderId, extFulfillmentId
|
| Dates & Timing |
actualShipDate, expectedArrivalDate, createdAt, updatedAt
|
| Shipping Details |
trackingNumber, shippingCarrier, shippingClass, weight, dimensions
|
| Status & Exceptions |
autoEngUpdateStatus, exceptions, exceptionCategories, tags
|
| Line Items |
lineItems.sku, lineItems.quantity, lineItems.lotNumber, lineItems.serialNumbers
|
You can combine multiple filters using AND/OR logic. For fields containing arrays (e.g., line items, tags), you can define whether ANY or ALL values must match your criteria.
Example Use Case:
Find all fulfillments created by a specific 3PL integration in the last 7 days with exceptions and a particular SKU in the shipment.
Pipe17 allows you to save frequently used filters for quick reuse, just click Save Filter, name it, and access it later from the dropdown in the filter panel. You can also click Clear All to instantly remove all applied filters and start fresh.
Exporting Fulfillments
Fulfillments export in Pipe17 allows you to extract fulfillment data in CSV format for analysis, record-keeping, or integration with other systems.
-
Go to the Fulfillments Page
Navigate to the Fulfillments page in your Pipe17 account. -
Apply Filters (Optional)
Narrow results by fulfillment type, date range, location, integration, or tracking info. -
Click the Export Button
Select Export at the top of the page to open the export setup dialog. -
Choose Export Properties
Select which fields to include (e.g., Fulfillment ID, Tracking Number, Shipment ID, External Order ID). -
Enter Recipient Email(s)
Add one or more email addresses to receive the exported file. -
Start the Export
Click Export to begin the background job. Progress can be tracked in the Events section.
Once complete, the CSV file will be emailed to the specified addresses for download.
Fulfillment Details Page
The Fulfillment Details Page provides full visibility into a fulfillment record’s lifecycle, including status, tracking, linked entities, and technical data. This information is essential for verifying shipping completion, tracing product movement, and resolving issues.
| Section | Description |
|---|---|
| Status with Dates | Displays the fulfillment’s current status, type, and key timestamps including creation, last update, ship date, and expected arrival. |
| Fulfillment Details | Shows how the fulfillment was processed, including the carrier, service level, shipping charge, weight, and source integration. |
| Order Context | Connects the fulfillment to its related order, shipping request, and location, with identifiers from both the app and external systems. |
| Shipping Identifiers | Provides tracking numbers and links to the carrier’s tracking pages to monitor shipment progress. |
| Products in Fulfillment | Lists all items included in the fulfillment, showing SKU, name, quantity, units, and unique line item IDs. |
| Tags | Displays tags used to categorize or filter the fulfillment based on workflows or integration context. |
| Custom Fields | Shows custom metadata passed from the source system, useful for troubleshooting, fraud detection, or channel-specific data tracking. |
Actions Options
These actions allow you to intervene when manual updates:
| Action | Details |
|---|---|
| Push Fulfillment | Sends the fulfillment record (including tracking info) to the sales channel. Used when automatic sync fails or needs to be forced. |
| When pushed successfully, tracking info and fulfillment status are synced to the sales channel and the customer's order is updated. Marks the order as fulfilled in the sales channel.When you click Push Fulfillment, the fulfillment is not sent immediately. Instead, it is queued and picked up by the next scheduled background job (typically runs every 5 minutes). | |
| To confirm whether the push succeeded, check the Events page for an outbound fulfillment event. If the event exists, the fulfillment has been successfully sent to the selling channel. | |
| View JSON | Displays the complete JSON structure of the fulfillment. Useful for developers or support teams needing to audit raw data. |
| Mark as Rejected | Changes the fulfillment type to rejected. Used when fulfillment fails due to inventory issues, damage, or cancellation. Clicking this action opens a dialog requiring you to enter a rejection reason. The reason is saved as a note on the fulfillment record. The action is disabled if the fulfillment is already rejected.After marking as rejected, review order routing or initiate a new fulfillment to re-attempt shipping. |
| Clone | Creates a new fulfillment pre-populated with the current fulfillment's data. Useful for correcting a rejected or voided fulfillment without manually re-entering all details. Navigates to the new fulfillment creation page. |
After filtering, you can select multiple fulfillments and take bulk actions such as Push Fulfillment or Update Exception Status. This is helpful when working with large batches of fulfillment records.
Troubleshooting
If Fulfillments exist in the app but are not appearing in your selling channels, follow the steps below to identify and resolve the issue.
| Step | Action | Where to Check |
|---|---|---|
| 1 | Verify integration connection status Go to the Integrations page and confirm that all integrations (selling and fulfillment) are in a Connected state. | Integrations page |
| 2 |
Confirm fulfillment sync settings Open the Settings for each integration:
|
Integration Settings |
| 3 | Check location mappings Open the Locations page and verify that each fulfillment location is mapped to one or more selling channel locations. These mappings ensure order fulfillment flows are correctly linked to sales orders. If no selling channel location is listed, the system won’t sync fulfillments for those orders. | Locations page → Scroll to mapping table |
| 4 | Inspect fulfillment events Go to the Events page and filter by Entity = Fulfillment. Look for any failed events. Select one and click Retry to manually reattempt sending it to the selling channel. If the retry is successful, the fulfillment should now appear. | Events page → Filter for Fulfillments |
Example:
In the Locations page, a properly configured fulfillment location will show at least one linked selling channel location in the bottom table. This mapping is required for fulfillment data to be routed correctly.
If the fulfillment still does not appear after retrying, proceed to contact support.
Need Help?
If you need additional assistance:
- Use Ask Pippen, our AI agent, located at the top of the app page.
- Submit a support request with as much relevant detail as possible. Learn how to submit a request.
- For urgent issues, email us directly at support@pipe17.com.
We're here to help you succeed with your operations.
Comments
0 comments