The GetfullfillmentLines API on the Order fulfilment form on the POS terminal is poor performing when processing 150+ order lines.

The API is also called after every process on the order fulfilment form, and at 'mark as packed' stage it is called twice. This results in delays across the picking and packing process.

A configuration in the functionality profile should allow the user to define the maximum number of order lines to retrieve with each API call

This should not affect the notification framework setting that tells the user the total number of order lines.

The API should reach that number and then ensure the rest of that order is retrieved. For example a setting of 100, if the RTS gets to 100 and is part way through an order, and that order has other lines that are allocated to the store, it should complete that order and then stop. This is to avoid partial packing of an order.

Needs Votes
Ideas Administrator

Thank you Richard for sharing your feedback.

Regarding your comment about GetFulfillmentLines API being called twice during the "mark as packed" stage, we haven't observed the same behavior in our out-of-the-box code. Could you please provide more details? As this doesn't seem to be a new feature request, please log a support case so we could investigate further.

Regarding performance issue with the GetFulfillmentLines API. We're considering to reduce the default page size for this API from 80 (current) to a smaller number. However, at the moment, we don't feel making it configurable is a good design that we'd explore.

To avoid partial packing, we suggest you to use the "Find and manage orders" function on the order list view or "sales order based filtering" function on the lines details view to load fulfillment lines for a specific sales order.

- Boyce Zhu, Principal Product Manager for Dynamics 365 Commerce