This article provides troubleshooting tips when you notice inventory quantities are inaccurate.
Inventory Transaction History
The Inventory Transaction History screen in Core is your first step when troubleshooting incorrect inventory relieves. Open the screen from Core - Inventory - Transactions.
Filter this screen down to the troublesome part. Review the transactions for the part and find those that are incorrect to narrow down the source of the problem.
- Is this an older part which was fine in the past, but recently started relieving incorrectly? That could mean that the configuration changed. Find the oldest date when it started going wrong and review configuration changes from that time period.
- If the inventory relieves are good, then a couple bad relieves, then good again, then it is a real possibility this part is optimized and someone forgot to release an interface. This is more common when not using realtime inventory, and users forget to release the interface prior to schedule relieve in Scheduler Maintenance.
- Verify something on an interface (an optimized part such as lineal, glass, interlayer) has the interface generated BEFORE relieving inventory. Review When is Inventory Relieved?
- If the part has never been good, then go back to basics and review its unit of measure schedule and inventory setup.
- Verify the part is assigned to an interface, if necessary, and the files for that interface are being generated at the point of schedule release.
- Verify the correct quantity of parts is being pulled into the BOM.
- Sometimes the relieve is correct, but the purchasing and receiving steps do not update quantity on hand properly, so verify purchasing and receiving for the part. See Purchasing Setup and Configuration.
- For the part, enter a test po, receipt, order, schedule, optimization, production through the system and verify numbers (Quantity on Sales Order, Quantity on Purchase Order, Quantity Allocated for non-realtime, Quantity on Hand) are correct at each step in the process.
- Compare inventory setup to similar parts. Are most of your vinyl parts relieving well? Then compare the setup of your incorrect part to those that are relieving well, and correct its setup.
For more information about inventory setup and useful troubleshooting screens and reports, see the detailed best practice guide in Inventory Setup and Configuration.
Making Adjustments
Once you found the cause of the issue, made configuration adjustments and tested to verify future relieves are accurate, get past transaction numbers in line by using cycle counts or manual adjustments. See Creating Inventory Adjustments.
Units of Measure (UOM) Schedule
One area that can throw off inventory relieve is incorrect UOM conversions. Verify the Units of Measure Schedule used by the part is accurate. UOM Schedules can be opened from Core - Setup - Inventory - Units of Measure.
The UOM Schedule must represent every UOM needed by the part in the system, for stocking, pulling BOM, purchasing/costing, selling and even weight if you want to track that.
In this simple vinyl example, vinyl is pulled by INCH in the BOM, optimized by STICK, stocked by STICK, but could be priced by FT or STICK. The example schedule below informs the system how to convert between these units.
UOM Schedule Name: 192INCHSTICK
| UOM | Conversion Factor | Equivalent UOM |
| INCH | 1.0000 | INCH |
| FT | 12.0000 | INCH |
| STICK | 16.0000 | FT |
BOM Primary UOM vs BOM Secondary UOM
These two UOM settings can be particularly confusing. More than likely, the inventoried part being worked with will fall into one of these categories below. The descriptions below should help with determining how to set up these UOMs.
- Optimized part – When using a part that is optimized with a linear positioner or Opti-Glass, the BOM Primary UOM and BOM Secondary UOMs will not be the same. For vinyl, the BOM Primary UOM will be a piece (i.e., stick). The BOM Secondary UOM will be determined by the measurement of the part (typically length), such as inches or mm. When ordering units through Order Entry, the system will calculate the inches or mm to be used but will optimize by piece. The amount relieved will be based on the BOM Primary UOM (i.e., stick) upon optimization
- Non-optimized part – When using a part that does not get optimized, the BOM Secondary UOM and the BOM Primary UOM are the same.
Part Item Type and BOM Level
Consider what level of the BOM the part is on. Inventoried parts are typically the lowest level parts in the BOM. Inventoried parts beneath a {None} part or a Purchased part may be ignored by the system during inventory transactions, and are not relieved even if they are marked inventoried.
Common Types of Materials
Each/Piece
This is the simplest type of part. Everything is done by piece or each. Example parts are nuts, bolts, screws, springs, etc.
Common mistakes:
- Adding an H or W attribute onto the part
- These parts should be dimensionless.
- Forgetting the quantity attribute (typically Q) for quantities greater than one.
Vinyl
For a lineally optimized item, such as vinyl, the Width field in inventory setup is critical. This represents the length of the item that will be used by the optimizer. This length should be provided the BOM Secondary UOM, or in this case, inches. In the screenshot below, the interface will optimize using the fact that a stick is 192 inches. If the stick was actually 210 inches, then this length will throw off inventory relieve.
Notice that the BOM Primary UOM and BOM Secondary UOM do not match. This occurs in optimized parts like vinyl. Prior to optimization, the amount of vinyl needed on a sales order (QOSO) is calculated in inches, which is the BOM Secondary UOM. During optimization, the conversion from inches (IN) to stick (STICK) occurs. Then, during schedule allocation and relief, the quantity transactions occur in the STICK UOM.
Common mistakes:
- Not releasing interface files prior to schedule allocation and relief
- Causes inventory transactions to occur using the BOM Secondary UOM instead of the Primary
- Adding a new part, but not adding it to the optimizer interface
- When parts are placed on an interface by part path, not placing the part with a path in the interface
- Assigning both H and W attributes, when there should only be one
- A piece of vinyl should only have 1 dimension in the BOM
Glass
Glass parts have a parent and child relationship in inventory setup.
Child (Stock Sheet) Glass Parts
Child or stock sheet glass parts should be configured using the following UOM schedule configuration. Glass Setup will do this automatically.
- SQM/SQFT – Weight, Cost
- SQMM/SQIN – BOM Secondary
- SHEET – Stock, BOM Primary, Selling
Parent Glass Parts
Parent glass parts should be configured using the following UOM schedule configuration. Glass Setup will do this automatically.
- SQM/SQFT – Weight, Cost, Stock
- SQMM/SQIN – BOM Primary, BOM Secondary, Selling
Example Glass UOM Schedule
Glass Considerations
Below are some special cases to watch out for concerning glass.
- Glass parts have a parent and child relationship in inventory setup (see the Child Parts column in the Details tab). This is due to the fact that there can be multiple sheet sizes for each type of glass. The parent part is added into the BOM, and then the glass optimization selects the best sheet size (child part) for the best yield.
- Glass is an optimized part, so the BOM Primary UOM is set to sheet. The BOM Secondary UOM is set to square inches or square mm. Inventory will be deducted by sheet via Opti. Same for optimized interlayer parts.
- Unlike lineal parts which only require an H or W attribute and not both, glass is an area part and requires both and H and W attributes.
- Core must be installed at the cutting tables running Opti-Break, in order for glass inventory to be relieved.
- When realtime inventory is off, quantity allocated occurs during optimization in Opti-Glass. Glass sheet inventory is relieved by right-clicking on a release in the View Glass Cutting screen and selecting "Set All Complete" and the user is prompted to enter the number of sheets used.
Common Mistakes in BOM and Order Entry
- Adding W or H to a non-dimensional (EACH/Piece) part in the BOM, thus pulling a large amount of stock.
- Adding both W and H to a lineal part in the BOM, thus pulling a large multiple of stock.
- When selling stock glass sheets, entering height and width on the lineitem in order entry, thus pulling a large multiple of stock. The dimension is in the sheet name so entering height and width are unnecessary in Order Entry. The same issue can occur for other EACH/Piece parts.
Example Problems and Solutions
- Why is glass is not relieving at one cutting table, but is at another? Core must be installed at the cutting tables running Opti-Break, in order for glass inventory to be relieved.
- Why are my vinyl relieves greatly inflated last week, but are ok this week? Likely the vinyl interface was not released prior to inventory relieve.
- Why is the quantity on hand adjustment incorrect for one Receipt? The UOM selected on the receipt was incorrect. Also be careful with UOMs on purchase orders.
- My new part is not relieving correct quantities. Check a part breakdown and verify the correct amount is being pulled in the BOM. Compare new part's inventory setup and Unit of Measure Schedule to similar parts. An often-overlooked step is verifying purchasing and receiving numbers are correct.
- My new part is not relieving at all. Check a part breakdown and verify the correct amount is being pulled in the BOM. Verify the part is not beneath a {None} or Purchased part (see previous section Part Item Type and BOM Level).
- I corrected my part's UOM schedule, but am still getting some bad inventory transaction numbers. UOM changes are a day forward change, they won't automatically impact orders that were entered prior to the change. You can try recalculating old orders. However, if the inventoried part is also purchased, your options will be limited depending on how far you are in the processing of the purchase order.