Fulfillment Request
A fulfillment request transaction acts as an intermediary step between the sales order and the fulfillment stage of the order fulfillment workflow. It is a request or demand to fulfill a sales order.
Using Fulfillment Requests
Most common use case for using fulfillment request is when we integrate sales order with 3PL. If requirement is to only send committed items to 3PL and if same document number cannot be sent multiple time to 3PL, we can create fulfillment request whenever items are committed and send the fulfillment request to 3PL instead of sending sales order
We can create multiple fulfillment requests from a single sales order. Similarly while fulfilling the order from fulfillment request, we can create multiple item fulfillment records or store pickup fulfillment records from one fulfillment request.
Fulfillment requests can be created manually after a sales order is saved and approved, or automatically using automation process.
Fulfillment Requests Setup Steps
1.Enable Fulfillment Request feature
To enable the Fulfillment request feature, log in as Administrator and go to Setup -> Company -> Enable Features and select the Transactions subtab.

Now in the Enable Features page go to the Transactions sub tab.

Under Shipping and Receiving, check the Fulfillment Request box.

This will open up a popup box. Now click on the I Agree button to proceed.

Now click on the Save button to save the changes.

The above steps apply to Shipping Orders only. For the Store Pickup Orders, the Store Pickup feature should be enabled. To enable the Store Pickup feature, go to Setup -> Company -> Enable Features and select the Transactions subtab. From the Transactions subtab mark the Store Pickup checkbox and click Save.

Once the Fulfillment request feature is enabled, we can see the Advanced Order Management Setup, Fulfillment Exception Reason pages.
To access the Advanced Order Management Setup page, goto Setup -> Order Management -> Advanced Order Management.

Similarly to access the Fulfillment Exception Reason page, goto Setup -> Order Management -> Fulfillment Exception Reason
2.Choose which types of locations will use fulfillment requests
You can limit fulfillment request usage based on location type. By default, fulfillment requests are limited to Store locations.
To set which location types use fulfillment requests go to Setup -> Order Management -> Advanced Order Management and click on Fulfillment Requests sub tab and choose the location types with which you want to use fulfillment requests and click Save. The Store location type is selected by default.


3.Verify that location records have the correct location type
Location records must have the same location type as one of the location types you selected for fulfillment requests on the Advanced Order Management Setup page.
To verify the location type of the location record, go to Setup -> Company -> Locations (under Classifications)

This will open the Locations page. Now click Edit next to the location you want to check.
Verify that the Location Type field matches the fulfillment requests setting on the Advanced Order Management Setup page. If not, edit the location record, select the relevant location type, and save the changes.
4. Create fulfillment exception reasons
This is an optional step. You can log a fulfillment exception in the system when a problem occurs with the fulfillment of an order. If you want to enter exceptions on fulfillment requests, you must create fulfillment exception reasons. To save exceptions, go to Setup -> Order Management -> Fulfillment Exception Reasons -> New.

Enter the Name, Exception Type and Description (Optional) of the Exception and click Save.
5.Automate creation of fulfillment requests
This is also an optional step.You can configure NetSuite to create fulfillment requests automatically after a sales order is saved in the system.
Fulfillment Request Creation
By default, when you create a fulfillment request,the status will be New. The New status indicates that the request is assigned to a location, but employees at the location have not yet decided to accept it and fulfill it. When employees are ready to work on the request, they mark the request as In Progress.
To create a fulfillment request from a sales order, lines on the sales order must have a fulfillment location, which is specified in the Location column on each line.
Fulfillment requests can be created manually after a sales order is saved and approved, or automatically when fulfillment request creation is set as an automation process.
Creating Fulfillment Request Manually
To create fulfillment request manually, follow the steps
1.Go to Transactions > Sales > Enter Sales Orders > List.
2. Click View next to the sales order from which you want to create the fulfillment request.
3.Click the Request Fulfillment button. The Fulfillment Request page is displayed.
4.Set the status of the fulfillment request.
5.Check the Fulfill box next to the line items you want to request.
6.In the Quantity column, enter the quantity you want to request. The quantity entered on the sales order appears by default.
7.Click Save.



Creating Fulfillment Request Automatically
To create fulfillment request automatically, follow the steps
1.Go to Setup -> Order Management -> Advanced Order Management.

2. On the Fulfillment Requests tab, choose the location types that will use fulfillment requests. Make sure you have set the correct location type on location records.

3.To create fulfillment requests automatically for shipping orders:
- On the Automation tab, select the Shipping Orders subtab
- Check the Run Automation Checkbox

Click I Agree and proceed to the following.
- Under Automation Process, ensure Fulfillment Request Creation is selected.
- Under Fulfillment Request Creation, choose the business events that will trigger the creation of fulfillment requests. The options available are:
- Sales Order Approved
- Payment Hold Released
- Expected Ship Date is Reached
- To delay the creation of fulfillment requests, check the Enable wait period between Sales Order creation and Fulfillment Request creation box and enter the delay interval (in minutes) in the Wait Period Duration field

4. To create fulfillment requests automatically for store pickup orders:
- On the Automation tab, select the Pickup Orders subtab.
- Check the Run Automation Checkbox

Click I Agree and proceed to the following.
- Under Fulfillment Request Creation, choose the business events that will trigger the creation of fulfillment requests. The options available are:
- Sales Order Approved
- Payment Hold Released

5.Click Save.
Creating Fulfillment Request via Script
createFR = record.transform({ fromType: record.Type.SALES_ORDER, fromId: SOId, toType: record.Type.FULFILLMENT_REQUEST });
createFR.save({ ignoreMandatoryFields: true })
Difference between Fulfillment Request and Item Fulfillment.
A fulfillment request transaction acts as an intermediary step between the sales order and the fulfillment stage of the order fulfillment workflow. It is a request or demand to fulfill a sales order. Fulfillment request is just a request and does not affect the inventory. The record type is fulfillmentrequest.
An Item fulfillment is an actual act of fulfilling (picking/packing/shipping) the items from a Sales Order. It is created when a fulfillment request is accepted and items are physically fulfilled. The inventory gets reduced when an item is fulfilled. The record type is itemfulfillment.