Fulfillments Flow

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:

  1. Order is created in the sales channel (e.g., Shopify)
  2. Shipping request is sent to the fulfillment provider
  3. Items are picked, packed, and shipped
  4. A Fulfillment record is created to confirm shipment
  5. 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 accepted on page load. Fulfillments with type rejected or voided are 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.

  1. Go to the Fulfillments Page
    Navigate to the Fulfillments page in your Pipe17 account.
  2. Apply Filters (Optional)
    Narrow results by fulfillment type, date range, location, integration, or tracking info.
  3. Click the Export Button
    Select Export at the top of the page to open the export setup dialog.
  4. Choose Export Properties
    Select which fields to include (e.g., Fulfillment ID, Tracking Number, Shipment ID, External Order ID).

  5. Enter Recipient Email(s)
    Add one or more email addresses to receive the exported file.
  6. 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:

  • Ensure Push Fulfillments is enabled for every selling channel integration
  • Ensure Pull Fulfillments is enabled for every fulfillment channel 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:

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

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

Comments

0 comments

Article is closed for comments.

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