Demand-Driven Replenishment
Last updated
Was this helpful?
Last updated
Was this helpful?
Summary
This page describes use cases where replenishments for items are made in specific time intervals based on demand or where products can be produced on demand. In that case, systems should often allow customer orders to be accepted without being limited by current stock levels until the point in time when the purchase order is placed or production schedules are defined.
A company offers lots of seasonal products which, naturally, are subject to high fluctuations in demand. In addition, these products can be replenished in a short time and the user knows already when orders will arrive. Thus, purchasing agents monitor already accepted customer orders and place purchase orders based on demand to avoid over-stock. As a result, there is no stock limit on the number of customer orders that can be accepted until the purchase order is placed.
A company produces some goods internally. To prevent overproduction, the production schedule is made based on current demand levels. As a result, there is no stock limit on the number of customer orders that can be accepted until the production schedule is defined.
The described use case is mapped by creating purchase orders with a very high amount of products and allowing shop systems to access the thereby created expected stock.
In most set-ups, listings should already be created for all products that are managed via fulfillmenttools' systems. Still, make sure that a listing exists for each relevant product. If goods are perishable and/or should only be available for a certain time frame, stockProperties and/or stockAvailableUntil must be configured. See here for more details.
Create a purchaseOrder including all items that have not been ordered yet but should be already available for sale and not be limited by current stock levels.
Choose a high number for the quantity.value
of requestedItems
Define the date when the delivery is expected to arrive in requestedDate.value
and set requestedDate.type
to "TIMEPOINT"
Include as many items as possible in one purchaseOrder rather than creating one purchaseOrder for each item for that a very high stock should be assumed. However, please consider the limit of 200 tenantArticleIds per purchaseOrder.
Use one of the below endpoints to query stock availability in your shop's detail pages and in the checkout journey. By that, it is ensured that expected stock is considered in the shop availability. Go here to get more information on the checkout options endpoints.
Before using the delivery/earliest and delivery/timeperiod endpoints, the transit time in the carrier country service mapping for the requested carrier(s) must be configured.
Before patching the existing purchaseOrder (created in step 2) with the actually ordered quantity, a new purchaseOrder with large quantities needs to be created. This ensures that the systems can already accept customer orders that should be fulfilled within next production or replenishment cycle. See step 2 for this.
Once the purchase order was placed or the production schedule was defined, patch requested items in purchase order with quantities that were actually ordered or planned to be produced. Adjust stock properties such as expiry date if necessary.
If there are more reservations than (expected) stock for reasons such as problems during production or defective items in a delivery, our systems try to distribute these abandoned reservations to other stock. If no alternative stock is available, the reservation is still tracked and will be shifted to a stock as soon as some stock becomes available.
If the delivery of the ordered products has arrived or the production was finished, a receipt needs to be added to the inbound process of the purchase order to create stock. Use the GET /api/purchaseorders/{purchaseOrderId}
endpoint to query the inboundProcessRef if not sure about the inboundProcess that the purchase order belongs to.
This field is deprecated. Set the status to 'CANCELED' Set the purchaseOrder to 'cancelled'. No further deliveries will be expected. Already received goods are unaffected.
Attributes that can be added to this entity. These attributes cannot be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.
Time and date at which the order was placed. Note: This does not refer to the creation date of this entity in the system.
Time and date at which the order is expected to arrive. Use 'ASAP' for deliveries with unknown date, but be aware that some features will not include these orders.
Line items which are expected to be delivered.
OPEN
, CANCELED
The list of items depicts the items you would like to get information about their earliest possbile delivery. The provided list of tenant article ids are considered individual (as if not in a basket together, but seperately ordered). Additionally you can add information about the address these items should be delivered to to further refine the response.
The date from which to search for the earliest potential delivery date. Defaults to "now" (timestamp of the request)
2024-06-01T00:00:00.000Z
The tenant articleIds for which the check is performed. The provided items are considered individually.
DE-ZGT-4711
Set this flag to true to get additional information about the availability of the requested articles
The basket attribute depicts the items you would like to get details about their possbile delivery. All the provided tenantArticleIds within the basket are considered together (as if they are in the same basket/order). Additionally you can add information about the address these items should be delivered to to further refine the quality of the response.
The start of the evaluated time period. Defaults to "now" (timestamp of the request)
2024-06-03T00:00:00.000Z
The end of the evaluated time period. Default is the start date + 30 days. Please note that the maximum time period can not exceed 45 days.
2024-07-13T00:00:00.000Z
Items, that are considered to be delivered together.
Set this flag to true to get additional information about the availability of the requested articles
The desired delivery date. (timestamp of the request)
2024-06-03T00:00:00.000Z
The tenant articleIds for which the check is performed. The provided items are considered individually.
DE-ZGT-4711
Pair of facilityRef and latestPickingStart values
This field is deprecated. Set the status to 'CANCELED' Set the purchaseOrder to 'cancelled'. No further deliveries will be expected. Already received goods are unaffected.
Attributes that can be added to this entity. These attributes cannot be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.
OPEN
, CANCELED
enables mapping a receipt to one of the ASNs in this inbound process
comments regarding the receipt itself
Attributes that can be added to this entity. These attributes cannot be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.
date-time of the arrival of the items in the facility
list of item that arrived in the facility
status of this receipt, only receipts with status 'FINISHED' are booked. IN_PROGRESS can be used to save partial receipts.
OPEN
, IN_PROGRESS
, FINISHED
ID of facility you want to get its listing
No body