This is the second in a two-part exploration of order promising functionality in Business Central. In the first post, we covered the setup required in Order Promising Setup, Company Information and Locations. If you missed that post, it’s definitely worth reading before you dive into this one. Click here to give it a read. In this post, we will continue on with the necessary setup, namely that of the Customer and Item Card. We will then explore how to use order promising when you are selling different versions of Production BOMs. Next, we will run a demonstration of order promising date calculations, especially focusing on Capable-to-Promise. Finally, we will show the Planning Worksheet to create the orders.
Shipping details on the Customer Card
On a Customer Card, go to the Shipping tab. The important fields to look at here are the ‘Agent’, ‘Agent’ and ‘Shipping Time’. The Agent defines which couriers we are using when shipping goods. For example, DHL.
The Agent Service defines what service is provided. This could be ‘next day delivery’ or ‘standard delivery’. This Agent Service needs to be correlated with an amount of time required to ship the goods to the customer.
Finally, the Shipping Time is something which will be defaulted by the Agent Service configuration. It’s worth mentioning, this can be altered manually on a Sales Order, if necessary. For example, if you know a particular delivery is going to take longer but it isn’t worth setting up a new Agent Service for.
Shipping details on the Item Card
The next steps will differ in relation to items which are obtained in the different ways. We will start with items that are being purchased in and used in the order promising calculation.
Regardless of whether your company buys and resells the item whole or whether just a component is being purchased for the purpose of creating a BOM, the ‘Lead Time Calculation’ field will have to be filled in for purchased items. Using the relevant date formula (e.g 5D or 1M), use this field to specify the length of time needed to take the item to ship to your warehouse (not including Inbound Whse. Time). If the vendor takes the same amount of time to ship all their items, you can instead set the Lead Time on the Vendor Card and save yourself setting it on every item they sell to you. The Item Lead Time will not be important for items you are manufacturing.
You then must fill in the Vendor No. field to say who you are buying the item from.
Vendor Card details
You must make sure that the appropriate details are filled out on the Vendor Card. As we are talking about order promising, we will focus on date-related fields.
Finally, make sure there’s a Base Calendar attached to the Vendor. For example, if you know they work a traditional five-day-week, attaching a calendar would prevent the system from starting the clock on their inputted item lead time on a Saturday, even if the order was made then. It will instead begin shipping on Monday. To make the base calendar, click into the field and either ‘new’ or ‘Select from Full List’ and then ‘New’.
Base Calendar configuration
From here, enter the basic name and code. There are two tabs, the ‘Related’, ‘Base Calendar’ and ‘Where-Used List’ will take you to a page showing every entity (Customer, Vendor) that this calendar is used for. Obviously where you want calendars specific, each will need their own to get in dates where the company’s not working etc. The ‘Actions’, ‘Functions’, ‘Maintain Base Calendar Changes’ option will take you a page where you can input the calendar has for working and non-working days.
For the weekly standard, set the ‘Recurring System’ to ‘Weekly Recurring’ and then in the ‘Day’ column, input which standard days of the week the entity is open. For days where they are closed, perhaps a bank holiday which won’t be on the same date next year, leave the ‘Recurring System’ column blank and manually enter in the date in the relevant column. And for dates which will be closed/unavailable every year, make it an ‘Annual Recurring’ and enter the dates. On the right-hand side, you can see there are descriptions available for each and a check-box for whether it’s a working or non-working day. It’s worth mentioning you don’t actually need to put standard working days in there, only the non-working days as it will just assume those without non-working ticks will be working days.
Order promising in production orders
Not all companies simply buy and resell. Usually, there’s a degree of configuration to make the item truly their own product. If there are four components to make this example item and three of those components are purchasable, then they would follow the instructions from the ‘purchasing’ part. Where either a component or the full item is being manufactured, there are differences in process. That is what this step will cover.
Where we are using production orders to manufacture our finished Item or a phantom as a component of the finished Item, we will need to configure our Production BOM. Once you have certified the Production BOM, attach it to the relevant Item in the Replenishment tab on the Item Card.
The ‘Critical’ field
A fundamental step in configuring order promising when you are using production orders is the Critical field. In the Planning tab on the Item Card, the Critical field establishes that components of the BOM that will have its production time incorporated into the order promising calculation. If this field isn’t enabled, any lead or production times required for obtaining the components won’t be factored in. To clarify, this doesn’t need to be enabled for the finished Item you are selling, just the components.
Where we are making a phantom or a finished good, the routing will of course be important in determining when the customer receives the goods as this determines how long it takes to create. Again, this must be attached to the Replenishment tab on the Item Card. To read our post on Routings, click here.
Order promising BOM versions
This is using order promising for different BOM versions of the same product when you are manufacturing the item. The only difference is here you are establishing which variant of the BOM/Item you are selling.
On a Production BOM Card, to see or make Versions, click ‘Related’ and then ‘Versions’.
Here you establish the relevant components for the BOM. Similar to Routings, make sure to have it set to either ‘New’ or ‘Under Development’ when making changes and ‘Certified’ when it’s finished. The ‘Starting Date’ field is key. The most recent Starting Date on a Version for a BOM will be assumed to be the active version. This will be the case until a new Version with a later Starting Date is created.
When it comes to creating the sales order for this BOM version, make sure the ‘Requested Delivery Date’ is after the version ‘Starting Date’. The ‘Requested Delivery Date’ may be behind a ‘More’ option. Be careful as despite the ‘Requested Delivery Date’ being entered, if it takes so long that it pushes the dates on the Planning Worksheet to be before then, then it will use the previous BOM version. So, perform order promising, click ‘accept’ and then see the Planning Worksheet Lines to check the ‘Starting Date – Time’ field is after the designated BOM version Starting Date.
To read our guide on BOM versions, click here.
Order promising in Assembly Orders
If you haven’t already, the first step here is to go to Assembly Setup and establish a number series for Assembly Orders.
Next establish the item you wish to assemble before selling. On the Item Card, go to the ‘Replenishment’ tab. Like with a Production BOM you can ignore fields like Item Lead Time for the assembled item. This may be a relevant field for any of the components however, if you need to purchase them beforehand.
The process after the BOM is configured is much the same; make sure any component items are set to ‘Critical’ and have their replenishment methods and times incorporated. it’s important to remember that whilst this parent item is assembled, the components might be purchased or manufactured.
Running order promising
Let’s now run order promising and show it from start to finish. The total number of time factors we might need to consider, dependant on if they have assigned values, are:
- Base Calendar Code (Customer and Vendor)
- Shop Calendar Code (Work Centre)
- Item Lead Times
- Inbound Warehouse Time
- Outbound Warehouse Time
- Shipping Time
- Agent Service Shipping Time (dependant on whether it’s a standard value determined by the Agent Service or if it’s a custom figure manually inputted)
- Offset Time
- Check-Avail. Period Calc.
- Check-Avail. Time Bucket
On the Sales Order Line, input the relevant Item you are looking to sell, with a Location and with any requested delivery dates necessary. To run order promising, click ‘Actions’ on the top bar, then ‘Plan’, then ‘Order Promising’. From here, select either ‘Capable to Promise’ or ‘Available to Promise’. Remember that with ATP, it will not provide dates where the system can’t see available or incoming stock. Also, if you select one and then would like to select the other (perhaps to see if there’s a quicker way of completing the Sales Order), you will have to close the order promising window and reopen it, as you will get a message saying “the order promising lines are already calculated. You must close and open the window again to perform a new calculation.”
When the dates are appropriate, click ‘Accept’ and close the order promising window. From here, go to the Planning Worksheet.
Start to finish example of Order Promising
For this demonstration, I will create a new Item, Gift Box. This will be a very simple BOM. There will be no existing stock for this item or its components. One of each component will be required to manufacture the finished product. The components are: ‘Ribbon’ and ‘Box’.
- Check-Avail. Period Calc.: 3M
- Check-Avail. Time Bucket: Day
Ribbon availability date
Let’s start by talking about the Ribbon. We don’t make these ribbons, we just buy them in as finished goods. There’s a set supplier who we purchase them from. We know that vendor’s opening hours are Monday to Friday, 9-5pm. Each time we buy from them, there’s a two day lead time.
- Replenishment System: Purchase
- Lead Time Calculation: 2D
- Vendor No.: V00020
- Vendor Base Calendar Code: 5D-WEEK
Box availability date
The Box is slightly more complex. We are manufacturing this item. So the first thing we need to think about is what are we manufacturing it from and how are we obtaining the components. As mentioned previously, we have no available stock for any of the items involved. The components are aptly named Component A and Component B. To not overcomplicate things, both of these are replenished by way of purchasing. Component A is purchased from the vendor who provides the Ribbon, but with a 1D lead time. Component B is purchased from a different vendor, still working a Monday to Friday, 9-5 calendar. But for Component B, the Vendor has a five day lead time.
The difference in lead time between the two components means that where the two orders are made to bring stock in, the production of the parent BOM can only take place after both parts arrive. We are setting the Critical field against both components so these lead times are factored in.
- Replenishment System: Prod. Order
- Routing No.: BOX-ROUTING
- Work Centre: WC0006
- Capacity: 1
- Efficiency: 100
- Shop Calendar Code: SHOPCAL (Mon-Fri, 9-5)
- Work Centre: WC0006
- Production BOM No.: BOX BOM
- Component A
- Replenishment System: Purchase
- Vendor No.: V00020
- Item Lead Time: 1D
- Component B
- Replenishment System: Purchase
- Vendor No.: V00030
- Item Lead Time: 5D
- Component A
The Routing Run Time for the Gift Box is 16 hours, equating to two working days. Below is the configuration of the BOM for our parent item, the Gift Box. The BOM is produced in the same Work Centre the Box is made from, which runs five days a week, from 9-5pm.
So let’s create a Sales Order and see what dates we get back. A very important step to mention before we start is to mention that the Work Date is Wednesday 8th December, 2021. This will be integral to calculating the dates we get, especially factoring in calendars.
The Available-to-Promise calculation
As we’d expect, using Available-to-Promise will return blank results. This is because we have no available or incoming stock at this point. When there is available or incoming stock, you will get a loading pop-up like the one below.
In this instance there isn’t as there’s nothing available.
The Capable-to-Promise calculation
Capable to Promise returns us these results:
- Order made on the 8th.
- The Offset Time pushes the order sending date out by one day which brings us to Friday 9th
- For the Ribbon, there’s a two day lead time. As there is a weekend in between, this means the Ribbon will arrive by the 13th. The Inbound Whse. Handling Time means that the Ribbon will be ready by the 14th
- The Box is made of two parts:
- For Component A, due to the Offset Time, the order reaches the supplier on the 9th. As there’s a one day lead time and a weekend in between, this will arrive on the 13th. Again, the Inboung Whse. Handling Time means the item will be stored away by Tuesday 14th
- For Component B, there’s a five day lead time starting from the 9th. With the weekend and Inbound Whse. Handling Time factored in, this will be ready by Friday 17th
- As the components will be ready by the 17th, production can begin. The Run Time on the Routing is one day so it will be ready by end of play on the 17th.
- The Gift Box can start production on the 20th, the following working day, after production finishes for the Box. There’s a two day Run Time which means it’ll be ready by the end of Tuesday 21st. On Wednesday 22nd, the two day Outbound Whse. Handling Time for this Location starts. This will finish by the end of play on the 23rd. So by Friday 24th, it’ll be ready to ship. This is why the Earliest Shipment Date is 24th December. Finally, there’s a three day Shipping Time so the finished Item should reach the customer by the 30th, as the 25th and 26th fall on a weekend.
December calendar and other points to consider
I’ve attached a calendar of December 2021 below to help you run through this example.
Obviously, we have neglected the reality of Christmas and holidays here but this is how the dates work. We haven’t factored in the Work Centre being closed during this period like you’d expect in a real life situation. However, I hope that example helped to demonstrate the large amount of theory and dates we have gone through in this blog and the previous one.
Creating the Orders using the Planning Worksheet
Once you have ran order promising and have confirmed the dates in the Planning Worksheet are what you expect, it’s time to make the order. In the Planning Worksheet, there should be generated lines (the number of lines dependant on the number of separate activities that are being planned). These Lines will map out how it’s calculated the dates it has roughly. Ideally, it would give a formula stating how it specifically reached each individual date. For example, ‘Outbound Whse. Time’ + ‘Shipping Time’ = X. Unfortunately, this isn’t the case.
Carry Out Action Message
After generating the Lines, to complete your order, click ‘Process’, then ‘Carry Out Action Message’. This essentially looks at what has been suggested on the Planning Worksheet and you are confirming that you want those actions to take place.
After clicking this, you’ll get a subpage with options. All of them default to carrying out the suggested action on the Planning Worksheet Lines however, within the dropdowns there are additional options alongside that. It’s only relevant for the types of Orders we are making. For example, it’s pointless establishing what will happen in the ‘Assembly Order’ field if there’s no Line on the Planning Worksheet for Assembly Orders. When you click ‘ok’ to this, it will delete the line on the planning worksheet and create the order line of whichever type you needed for the relevant item.
Moving data to an alternate Worksheet
After clicking this, you’ll get a subpage with options. All of them default to carrying out the suggested action on the Planning Worksheet Lines however, within the dropdowns there are additional options alongside that. It’s only relevant for the types of Orders we are making. For example, here you can print the document as well or alternatively not make the order but copy the details to the Requisition Worksheet instead. This might be done by a larger company who uses both the Planning and Requisition Worksheets to separate out the job roles of staff (purchasing might not have a say in the actions of the sales or manufacturing team).
In summary, order promising is a very powerful tool that the business can use to establish realistic dates that can be shared with the Customer. However, it is critical to build these order promising functions into your sales order processing routine. Any questions, feel free to contact us.