+1-757-461-3022 x124

Constraint Management


Constraint management is one of the planning systems implemented in xTuple ERP. Designed as a response to the well-known theory of constraints, xTuple ERP's constraint management system is both intuitive and easy to use.


What is a buffer? In short, a buffer is a little extra of something that we maintain to ensure we can handle unexpected fluctuations. xTuple ERP's constraint management system reports on three types of buffers: stock, time, and capacity. The following examples from daily life may help explain the three different kinds of buffers:

Stock Buffer

  • A stock buffer is like the extra coffee we keep in the cupboard to make certain we have enough should company drop in. For example, let's say we want to always keep at least three pounds of coffee on hand. Three pounds, then, is our buffer quantity. As long as we have this buffer, we’re confident we’ll have enough to serve unexpected guests. Whenever our supply drops below three pounds, we'll put coffee on our shopping list and buy more. Just because the coffee falls below three pounds doesn’t mean we’re in a critical situation. However, if we fall significantly below that level, we need to act immediately.

Note: The critical buffer status in the xTuple ERP constraint management system is 66%. In other words, any time we consume 66% of a buffer, then it's time to act immediately to resolve the situation. Using the coffee example, if our supply drops to one pound (and our buffer quantity is three pounds), then we've used up two-thirds of our buffer — or 66%. With that much of our buffer consumed, we need to buy more coffee right away. The 66% value is a percentage that is widely used in academic research and practical real-world implementations of the "Theory of Constraints" — a theory pioneered by Eliyahu Goldratt.

Time Buffer

Capacity Buffer

  • A time buffer is like the time we factor into a trip to the airport to catch a flight. Let’s say we allow ourselves three hours to reach the airport, check bags, pass through security and proceed to the gate ready to board. That means our time buffer is three hours. If we get stuck in traffic for two hours, then we’ve used up 66% of our buffer. This is now a critical situation requiring our full attention. We must act immediately to either get out of traffic, take an alternate route, or reschedule our flight.
  • A capacity buffer is like the surface on your barbecue grill which can hold up to 12 hamburgers at one time. In this scenario, the grill's capacity buffer is 12. If each hamburger takes 15 minutes to cook — and you can cook 12 at a time — then you can produce 48 hamburgers in an hour. Now, let's say you've got 100 guests coming for dinner. If your plan is to feed everyone in one hour, you've got a capacity problem. You’ll either need to fire up an extra grill, or start cooking an hour early to build up your stock burger buffer ahead of time.

Now that we have gained a basic understanding of the different buffer types, we can begin to look at how these buffers function in xTuple ERP.

Stock Buffer Scenario

Note: The scenarios described in this section refer to items and other data found in the xTuple ERP demo database. The demo database is available for download from the xTuple website.

First let's take at look at how the stock buffer operates. Before we begin, we will need to do some initial setup on the item site record for item TBODY1. We will be adjusting its reorder level to 1,000, then make a miscellaneous adjustment to set its quantity on hand to 300, and finally, we will run constraint management to discover the system-defined value for the item site's stock buffer status.

To access the "Item Site" window, follow these steps:

  • Go to "Inventory" from the top menu
  • Select the "Item Site" submenu
  • Choose the "List" option
  • Double-click on item "TBODY1"
  • Click on the "Planning" tab
  • Change the value in the "Reorder Level" field to "1,000"
  • Click the SAVE button

By setting a reorder level of 1,000 for item TBODY1, we are saying that when available quantity for this item site drops below 1,000 units, it is time to resupply. We are also saying that the stock buffer for this item site is 1,000 units.

Next we will make a miscellaneous adjustment to the quantity on hand for item TBODY1. Making this adjustment will allow us to see how the constraint management system handles discrepancies between reorder levels and available quantities. To adjust quantity on hand for this item site, follow these steps:

  • Go to "Inventory" from the top menu
  • Select the "Transactions" submenu
  • Choose the "Adjustment" option
  • Enter the following values:
    • Item Number = TBODY1
    • Site = WH1
    • Adjustment Qty. = 300
    • Absolute = CHECKED
    • Document # = Constraint Management
  • Click POST

Quantity on hand for item TBODY1 in the WH1 site is now set to 300 units.

Note: A stock buffer, as the name implies, is an accumulation of items stored in inventory that act as a hedge against demand where the required service time is shorter than a time buffer for that item would allow. For example: If we have a standard part that takes two weeks to produce, but which we must be able to ship in one day, we would stock that item to ensure the one-day service level. In another case, we may be able to produce the item in a day, but sometimes seasonal load changes result in a production bottleneck where the backlog on a critical resource for that item is greater than a day. The stock buffer allows us to continue shipping the item under those circumstances. It is important to note that due dates are irrelevant for orders with stock buffers. The buffer size is determined by the reorder level at the item site.

With that, we are finished with the setup needed for our scenario. We are now ready to run the constraint management system — and to learn the buffer status of our newly-adjusted item site. 

To run the constraint management system by planner code, follow these steps:

  • Go to "Schedule" from the top menu
  • Select the "Constraint Management" submenu
  • Select the "Update Status" submenu
  • Choose the "by Planner Code" option 
  • The "Run Buffer Status by Planner Code" window will open

  • Check the "All Planner Codes" and "All Sites" radio buttons
  • Click the CREATE button

The constraint management results displayed for this scenario assume you have completed all the work orders created in the previous sections of this demo guide. If you have not already completed those work orders, then your results will differ from those shown here.

Now that we have run the constraint management system, we can display the results. To display the results of our buffer status run, follow these steps:

  • Go to "Schedule" from the top menu
  • Select the "Constraint Management" submenu
  • Select the "Inventory" submenu
  • Choose the "by Class Code" option
  • Click the QUERY button

Inventory Buffer Status by Class Code Display


Note: The color red is a signal that an item has consumed at least 66% of its buffer. Items in this category are considered to be "red hot." This means they require immediate attention. The best remedy for red hot item sites is to expedite any associated work orders or purchase orders.

As you can see in the example, the buffer status calculation is shown in the "Status" column. If an item has a buffer status of 66 or greater, it will display in red. Let's say the buffer status for item TBODY1 = 70. To review how this number was arrived at, we use the following equation:

  1,000 units (Reorder/Buffer Level) - 300 units (QOH) - 0 Units (Allocated) = 700 units

This equation shows us that the stock buffer for this item site has been depleted by 700 units — or 70%. Keep in mind that this calculation also subtracts out allocated quantities, which in this case are 0. Hence, the buffer status for Item TBODY1 in site WH1 = 70.

  • Click the CLOSE button to exit the display

Time Buffer Scenario

Next we will look at a time buffer scenario. Please note that time buffers are calculated only for make-to-order items. In xTuple ERP terms, a make-to-order item is an item whose item site record leaves the "Stocked at this Site" flag unchecked. Work orders for make-to-order Items are generated automatically during sales order entry to meet demand.

The item site lead time determines the initial buffer size for make-to-order work orders. That lead time should include a "Murphy" factor — that is, time for things that might go wrong. Orders with short lead times will increase in status faster than those with long lead times. This helps to ease the problem where operators concentrate just on work order start/finish dates, when the total amount of work involved (and corresponding time allotment) has a lot to do with what should be worked on first.

Note: The steps required for entering a sales order and creating new line items are covered in detail in the basic business process flow section of the xTuple ERP demo guide.

To perform the setup for this time buffer scenario, you will need to follow these steps:

  • Go to "Sales" from the top menu
  • Select "Sales Order" and choose "New"
  • For "Customer #" type in "TTOYS"
  • Select the "Line Items" tab and click the NEW button
  • For "Item Number" type in "YTRUCK1"
  • Specify a "Qty. Ordered" of 1,000
  • Specify a "Scheduled Date" +7 days from today
  • Save the line Item

Once you have completed your sales order setup — and the resulting work order has been automatically created — we are ready to run the constraint management system again, this time to collect information about our work order's time buffer. Refer to earlier steps to see how to run the constraint management system.

Now that constraint management has been run, we can display the results. Again, it is important to note that the results displayed for this scenario assume you have completed all the work orders created in the previous sections of this demo guide. If you have not already completed those work orders, then your results will differ from those shown here. To display the results of our current buffer status run, follow these steps:

  • Go to "Schedule" from the top menu
  • Select the "Constraint Management" submenu
  • Select the "Work Order" submenu
  • Choose the "by Class Code" option
  • Click the QUERY button

W/O Buffer Status by Class Code Display


As you can see in the example, the next-to last column "Buffer Type" shows that xTuple ERP has calculated a "Time" buffer for our work order. The value of this time buffer is shown in the "Buffer Status" column. Since the buffer status for the work order is 100 it appears red. Remember, the magic number for the constraint management system is 66, and, as long as the buffer status of a work order is less than 66, then the system does not consider the order to be in a critical state.

Your results may vary from those displayed above since there is no way to predict what day of the week you may run this scenario. To learn which days the WH1 site is open, select the "Site Week" option from the schedule module's "Master Information" section.

Note: A time buffer is the lead time, measured in working days, of a supply order for an item that is not stocked. By working days we mean the days that the shop is available to work, which may exclude weekends or holidays. For example: If a shop typically has a three-week lead time, but does not work weekends, then the time buffer for that shop would typically be 15 working days. The xTuple ERP constraint management system looks at the start and finish dates of a discrete purchase order or work order, removes non-working days for the order’s site, and then calculates the time buffer.

If you want to, you can simulate the passage of time to see the impact on our work order's buffer status. To simulate the passage of time, follow these steps:

  • Open the "W/O Buffer Status by Class Code" display
  • Right-click on the work order
  • Select the "Reschedule Work Order" option
  • Enter a "Start Date" -2 days from today
  • Enter a "Due Date" +1 days from today
  • Click the RESCHEDULE button.
  • Re-run "Buffer Status by Planner Code," as described above
  • Re-open the "W/O Buffer Status by Class Code" display
  • Click QUERY
  • The following screen will appear:

W/O Buffer Status by Class Code display


Note that the order's buffer status has now changed. The more time that passes from the start date of a work order to the due date of the order, the more the order's time buffer is consumed. Keep in mind that your results will vary depending on the current day of the week. The constraint management system uses a site's work week defined in the schedule module's "Master Information" section. The site week functionality enables you to define the days of the week your plant is open. Closed days, such as weekends in the demo database, are factored into the constraint management time buffer calculation.

Info: Here are some helpful benchmarks:

  • < 40 and color = black: Not yet critical
  • >= 66 and color = red: Critical and requires immediate attention to ensure the order is in process and will be delivered on time
  • =100 and color = red: Order is due today
  • >100 and color = red: Order is late

Monitoring time buffers helps us avoid falling into the "First In First Out" (FIFO) trap that many shops get stuck in. The start time of a work order is irrelevant. It is its completion on its due date which enables us to achieve a high degree of customer satisfaction for on-time delivery. Constraint management shows us the orders for which we risk missing the delivery date because we have already used up 66% of their time buffer.

Capacity Buffer Scenario

Finally, let's examine a capacity buffer scenario. The work order we created in the previous section enabled us to get familiar with the concept of time buffers. Well, in addition to time factors, we must also consider the impact — or load — that a work order places on work centers. In the case of production for the YTRUCK1 item, three work centers will be affected.

Nearly all manufacturers have one bottleneck work center that constrains their entire operation. It is the load on this work center that warrants close monitoring. The capacity buffer screen enables us to view the current load in relation to a definable number of days of capacity. To view the capacity buffer status for our current work centers, follow these steps:

  • Go to "Schedule" from the top menu
  • Select the "Capacity Planning" submenu
  • Choose the "Capacity Buffer Status" option
  • Set the following:
    • "All Work Centers" = CHECKED 
    • "All Sites" = CHECKED 
    • "Max Days Load" = 5.
  • Click the QUERY button

Capacity Buffer Status display


The "Total Setup" and "Total Run" columns show the current load on each work center orders that pass through each, regardless of their scheduled dates. The sixth column shows the daily capacity of each work center, as defined in the master information for each work center's definition. The "Days Load" column shows the sum of total setup and total run (total load in minutes) divided by a work center's daily capacity. The final "Buffer Status" column takes into account the value you set in the "Max Days Load" field before you clicked the QUERY button.

Here is another example to illustrate how the capacity buffer is calculated. Suppose that the daily capacity of the stamping work center is 480 minutes, and we set the display with a "Max Days Load" = 5 days. The numerator in our calculation would be 5 * 480 = 2400 minutes. If the total setup for all work orders going through stamping is 60 minutes and the total run time is 2000 minutes, the numerator will be 2060 minutes. The buffer status would then be 2060 / 2400, or 85%. This tells us that we have loaded the stamping operation with 85% of the capacity available over a 5-day period of time. We would see the value "85" displayed in the "Buffer Status" column.

Note: The capacity buffer is the relative load of a resource compared to the desired lead time of items coming out of that resource. For example, suppose we have a shop with a typical lead time of two weeks that has a milling department heavily loaded. Perhaps we have identified milling as our shop's bottleneck and will use the constraint management system to monitor it. The capacity buffer would be two-weeks worth of load, meaning that the milling department can be loaded with up to two-weeks worth of work before it is considered fully-consumed. The capacity buffer size is entered as "Max Days Load" by the user when they run the capacity buffer status report. When the buffer column in the display for milling equals 100 we know it is fully consumed.

The capacity buffer is an excellent tool for monitoring your shop's bottleneck work center(s). Using the system, you can help ensure that the shop as a whole is able to achieve complete work orders, and, ultimately, deliver orders successfully to your customers within the stated lead times.

Other Constraint Management Displays

Keep in mind that you must run the constraint management utilities (i.e., "Run Buffer Status by Planner Code" and "Run Buffer Status by Item") for the information in the buffer status screens to be updated. Best practice would be to submit the job "Run Buffer Status by Planner Code" to the batch manager on a nightly basis, scheduling it to run each night after midnight. In this way, you will be able to monitor the updated buffer status results when you arrive in the morning — allowing you to then set appropriate priorities for the rest of the day.

Also recall that time buffers are only calculated for make-to-order items. The appropriate buffer for items that are not make-to-order is the stock buffer. By definition, items that are not make-to-order are sold from stock. The reorder level for stock buffer items will ensure you can meet your desired service levels.

To review, in this supplement, we have scenarios describing the three types of buffers recognized by the xTuple ERP constraint management system:

  • Stock
  • Time
  • Capacity

If you are curious to see more displays related to constraint management, take a look at the schedule module's "Constraint Management" submenu. There you will find numerous displays not covered here. These other displays provide additional ways of monitoring the results of a buffer update. As always, the goal is to provide you with a means to prioritize the actions you need to take in order to meet or exceed customer requirements for service levels and on-time deliveries.

More on xTuple for Manufacturers.

25 users have voted.