Buy Online Pickup In Store

Buy Online Pickup In Store (BOPIS) shipments follow a slightly different process than Ship to Home (STH). 

Where STH shipments usually print a pack sheet after stock validation, pickup shipments instead print a pick sheet before validating stock. Then, the shipment is provided for the customer to pick up instead of preparing for carrier shipment.

Begin Fulfillment

To get started:

  1. Go to Main > Fulfiller.
  2. Locate the shipment you want to fulfill, whether through the search bar or the widgets on the Fulfiller homepage.
  3. Click Finish Fulfilling Shipment at the bottom of the shipment details.
    • If you accessed this shipment's details page directly, such as by clicking a link from the Order Admin, then this button will not be displayed. Instead, the page will already show you the current shipment step. The shipment details with a close-up of the Finish Fulfilling Shipment button

At any point in this process, the shipment can be cancelled by clicking Cancel Shipment in the top right. Click View Workflow to view a flowchart of the fulfillment steps.

If an order has multiple shipments, then canceling one of its shipments does NOT cancel the other shipments nor the order itself. The order will only be canceled in one of two ways: automatically by the system when all of its shipments are canceled first, or manually by an admin or customer service representative through the Admin UI.

See the Order Admin UI documentation for more information about cancellation at the order level.

Shipment details with a callout for the View Workflow and Cancel Shipment buttons

Accept Shipment

The first step in the BOPIS fulfillment process is Accept Shipment, where you acknowledge the shipment and indicate that it is ready to start fulfillment. 

  1. Review the shipment details.
  2. Click Yes.

The Accept Shipment step with a callout for the Yes and No buttons

Print Pick Sheet 

You must print a pick sheet before you can validate the item availability at your fulfillment location.

  1. Click Print Pick Sheet to print the sheet.
  2. Click Proceed to Validate Stock.
  3. Alternatively, click Reject Shipment if you cannot fulfill this shipment.Close-up of the Print Pick Sheet step and Proceed button

Validate Stock

Stock validation indicates how many of each product you can fulfill. 

  1. In the In Stock column for each shipment, type in the quantity you have in stock.
    • Or, if you click inside the field then arrows will appear. Click these to increase or decrease the quantity by one. 
    • The barcode(s) can also be scanned to be automatically populate this field instead. For more details and configurable scanning options, see the UI overview.Example of the Validate Stock step
  2. If any item identifiers are required, then enter those in the appropriate fields.
    • During this step, additional fields for item identifiers will be displayed if they are enabled on the shipment items. These are item-level attributes that denote important unique information such as a serial number, manufacturer number, number for a gift card item to load a value to, or other identifying data point. 
    • There may be multiple identifiers, but if any were flagged as required then you will not be able to proceed until you have provided the required information.
    • Item identifiers will only be available if enabled for this item in the Order and Shipment APIs, as the fulfillmentField object in the item-level data).Example of the Validate Stock step
  3. If you have all of the required quantity in stock, click Ready for Pickup. If some quantity is not in stock, then your next action will depend on whether the site setting for BOPIS Transfer at System > Settings > General in the Admin UI is enabled. 
    • If transfers are enabled, click Transfer Shipment to create a transfer for another location to supply the the missing quantity.Example of the Validate Stock step with 0 items in stock and the Transfer Shipment button
    • If the site setting is disabled, then you will not be able to request a transfer for the missing quantity. Instead, clicking Some Items Not Available will reject the shipment. Example of the Validate Stock step with 0 items in stock and the Some Items Not Available button
    • A pop-up will require the user to select a reason before confirming the rejection and sending the shipment to Customer Care.Close-up of the rejection reason options

Provide to Customer

In the final step, you have the option to print the pick sheet if needed. For more information about picking, see the Pick Wave documentation

  1. Once the customer arrives to pick up their order, you click either Customer Accepts Entire Shipment or Customer Wants To Cancel depending on the appropriate case. 
  2. If the shipment is accepted, then it will be completed and set to the Fulfilled status.Example of the Provide to Customer step

Change Pickup Contact and Shipment Details

In cases where the customer designated an alternate pickup contact at checkout, the Fulfiller UI will display both the primary and alternate contact details above the Print Pick Sheet button in this step (as well as in the Customer Information tab in the shipment header). This information is not be editable in the Fulfiller UI and can only be changed from the order details page in the Order Admin UI or the Order API.

If the customer wants to change the quantity of an item or requires a price adjustment appeasement, you can edit those values within this step.

  1. In this case, click the Edit Shipment option before accepting or canceling the entire shipment.
  2. Click the quantity and/or unit price field and enter the new value.
  3. Click Save Changes
  4. If changing the unit price, a pop-up will prompt you to select an appeasement reason. The possible reasons include the default options of Damaged or Defective Item, Price Match, Arrived Too Late, Customer Satisfaction, Lost In Transit, and Other (which will require the user to enter the reason information in a text box, with a limit of 255 characters). However, this list can be customized via the Refund Reasons .before and .after API Extension actions.