Inventory

MRP Fundamentals - How to set up part planning

The most important piece in setting up MRP in VISUAL falls under the PLANNING tab in Part Maintenance.

The first thing you need to be aware of is that you can have a unique set of planning parameters for each of your Independently Planned Warehouses AND one set of planning parameters for your other warehouses deemed Universal

What the difference between Universal and Independently planned warehouses? Read this

MRP Fundamentals - How to set up part planning in part maintenance

 

Warehouse ID
Select the Warehouse ID or Universal you are wanting to set the planning parameters for. Please note that VISUAL will always default to Universal when you first call up a part.

Planner User ID
This is a free form field that can be used for searching and reporting. Basically, you can enter values that you can easily filter on.

Buyer User ID
As with the Planner User ID, this is a free form field that can be used for filtering - however values entered in this field will be maintained in the VISUAL database and existing values can be selected from a dropdown box.

Safety Stock Qty
This is used where you would like to maintain a certain quantity level for a part. You may want to consider this for parts with long lead times. MRP will look at upcoming demand and supply and your projected qty always wants to meet this safety stock quantity.

Leadtime (in Days)
This is the number of days it takes between the time you place a supply order and when the part is received into inventory. Leadtime is always in days. This value is used to compute when to release an order and set the want date of supply orders.

Min/Max/Multiples Of
These fields are here to help you make better decisions and plan more efficiently.

Min - the minimum quantity that MRP will generate a planned order

Max - the maximum amount that the MRP will generate a planned order

NOTE – for clarification, this only caps the quantity of an individual planned order. So, if you have demand for a 1000 units for a part and you have a Max value of 200. MRP will generate 5 planned orders for 200 each. This allows you to better manage your orders.  For instance, you may shop floor constraints where you can only manufacture 200 units at a time – so you would not want your work orders with build quantities greater than 200.

Multiples of – allows you to define the multiple to use when MRP plans an order. For example, if Part A is ordered in multiples of 10, and you have demand for 7, then MRP will generate a planned order for 10.

 

Order Policy
This is the key indicator that will determine how MRP will plan for the part.

Not Planned
MRP will not generate planned orders. It will completely ignore this part. FYI – This is the default setting when creating a part.

Discrete
Most commonly used when first starting with MRP. This setting will have MRP replenish exactly the quantity by which demand exceeds supply. It will plan the supply order to match each element of demand. 

So if you have 3 orders creating demand, one for 2, one for 5 and one for 10 ... MRP will create 3 planned supply orders - with quantities of 2, 5, and 10 respectively

It’s a one to one relationship unless you use min/max/multiple of – then planned orders will reflect those parameters.

Period Supply
MRP will generate planned order to meet a shortfall on a given date – PLUS the number of days you specify in the Days of Supply field

Fixed and EOQ
These settings a basically the same. Regardless of the amount of the shortage – MRP will plan for orders using the fixed amount specified in the Order Qty field

Master Scheduled
Planned orders are generated to meet quantities and dates specified in the Master Production Scheduled. This option is only available if you are using Advanced MRP and dealing with forecasts

 

 

Days of Supply
Used with period of supply

Order Qty
Used with Fixed and EOQ

Order Point Qty
If the part is NOT PLANNED, you can use this field to enter the minimum quantity you want to keep on hand. When it falls below that amount it will appear on the Order Point Report (in the Material Planning Window) for you to place an order. NOTE – MRP WILL NOT plan the order – you need to manually create it when needed

Order Up to Qty
If the part is NOT PLANNED – you can use this field in conjunction with the Order Point Qty field to determine quantity to use to create a supply order.

 

Next: The Inherit Demand Warehouse Option

 

How to effectively reconcile your inventory in VISUAL ERP

In my experience, I found that there is a misconception related to inventory and WIP reconciliation process. This is why I want to provide more information on how Visual works in this area. I believe it will give you the knowledge on how to take the right approach in order to validate your published numbers.

The core of your Visual inventory resides in the accumulation of transactions. This happens to be in the Manufacturing side of the system. Typically, raw material is purchased and it is then used in the manufacturing process before being received into inventory and finally sold or shipped to consumers. The sequence of entering these transactions is critical for the guarantee of a proper cost allocation. When the sequence of this order is broken, discrepancies between the different Visual reports appear. This is when the confusion begins and you are left wandering which report has the correct numbers.

Let’s review the proper steps to take in order to validate those values:

How to effectively reconcile your inventory in VISUAL ERPThe Inventory Valuation Report will contain the most accurate picture at month-end. You may, however, encounter errors if there is an incorrect FIFO layer or if a part has a negative quantity on hand at month-end. These issues must be fixed because it is crucial to have a trustworthy Inventory Valuation report at month-end in order to progress to the next step.
Compare Inventory Valuation with Inventory BalancesThe Inventory Balances Report is a secondary table that is updated when Costing Utilities is run and MFG Journals are prepared. I often see a tendency for users to adjust the GL to the numbers shown in this report and this is incorrect. You should keep in mind that, according to the first step, the correct values are already in the Inventory Valuation report. Once you have verified that the Inventory Valuation report has no issues, you can compare it to the Inventory Balances Report. This allows you to identify any parts that are not displayed correctly in the Financial Subledger. Any differences must be fixed before progressing to the next step.
Compare Inventory Balances to GLThe GL (Inventory Control Account Balances) should reflect what is happening on the Manufacturing side. The GL almost always contains the correct values and should not be adjusted to the Inventory Balances too quickly, unless you have proven that the Inventory Valuation and Inventory Balances Subledgers are in sync. There might be times where the GL reports incorrect postings. These may include when a GJ has been posted to control accounts, if the inventory control account has been used in the wrong journal or if a change in product codes at Part ID level occurs without following the proper process. These issues are, however, a topic for a future blog.

Stay tuned, as I continue onto the next topic. Month-end quality: How fast can you close the month?

 


Valeria Vicco, CDDP - Financial Consultant, is our special guest author at visualnuggets.com and is an active participant in the VISUAL community.  Valeria is part of BMS Business Monitoring Systems Inc (BMS 365) - who focus on Innovative solutions that move Visual ERP users forward.

Connect with Valeria online at LinkedIn and BMS365.com

 

How to leverage SmartViews in your Material Planning

Here's an example on how you can take advantage of SmartViews to drive VISUAL in your Material Planning efforts.

More on SmartViews

Schedule your demo in a click!

Auto-Issuing from multiple locations for a single Part

Yes it is possible.

VISUAL allows you the capability to setup a part to be automatically issued to a work order as labor is reported against an operation.  To do this there are a couple of settings that you need to have in place for this to happen.  At a minimum, you need to flag the part as being AUTO ISSUE and specify the Warehouse and Location to issue from.  These settings can be found in the PART MAINTENANCE module

Infor VISUAL ERP - Part Maintenance
Part Maintenance in VISUAL 7.1.2

Now you may have situations where you need the ability to auto issue a part from multiple locations.  From the onset it may appear that you are limited to only having one - but it is possible to configure VISUAL to have more. 

Here's how...

  1. Call up the part in PART MAINTENANCE.
  2. Go into "Warehouse Locations..." from the MAINTAIN menu to bring up all the warehouse locations assigned to the part
  3. Now your first instinct would be to check the checkbox in the Auto Issue column.  DON'T because you may find yourself in a frustrating game of "Whack-A-Mole"!  Go ahead and try - you'll see what I mean.

    Whack a mole
    A Classic!
    Instead, simply select the checkbox under the Default Part Auto Issue column (the AUTO ISSUE checkbox will check automatically).  Once you have all your auto issue locations set - save and close the window

    Infor VISUAL ERP - Part Maintenance Warehouse Locations 
  4. Now you have configured the part to have multiple auto issue locations.  The only step left is indicating which location VISUAL should auto issue from on your work orders and/or engineering masters.  You can do this in the MATERIAL (REQUIREMENT) card of the auto issued part in the WO/EM under the PLANNING tab.

    Infor VISUAL ERP - Work Order Requirement Material Card Location ID 
    Note: The locations available will only be those that belong to the WAREHOUSE specified on the Work Order Header.  Also, if you choose not to override the location - then VISUAL will auto issue from the Default Auto Issue Warehouse and Location in PART MAINTENANCE.
     

Now you're all set.

  

What is the Inventory Balance Report used for?

Infor VISUAL ERP - Inventory Balance ReportThe purpose of the Inventory Balance Report (IBR) is to show the value of inventory on hand at each month end period. You can print it in summary or by FIFO layer.

The report is driven solely by the INVENTORY_BALANCE table which is updated by the cost utilities.

If you're in a STANDARD COSTING environment then the IBR really does not serve a purpose.  Basically, the inventory balance for any given month is the quantity on hand  x  the total unit standard cost in effect at that time.

Unfortunately the INVENTORY_BALANCE table in a FIFO database eventually closes FIFO layers off and they are removed from the table for the next period.  In a standard cost database this never occurs and the table continues to grow.  At one of our client more than 50GB (yes GB with a G!) of the database was in the inventory balance table and it was providing no benefit what so ever. The table was truncated and guess what…costing performance improved dramatically, especially for the first run of the month when this table is updated for the new period.

If you are standard cost consider truncating the data from the INVENTORY_BALANCE table.

Physical inventory count and "found" inventory with trace profile

Infor VISUAL ERP - Physical Count
You just know that this guy plays keyboard in some 80s Rock Band
Whenever you go through a physical count, you're likely to hear a variation of one of the following:

  • Where did that come from?
  • That's where it is!
  • I didn't know we had that?!
  • What the heck is this?

In each case, you make the decision as to whether to include the item or not in your physical count (or cycle count). 

If you do decide to include the "found" inventory, you can do so in VISUAL using a blank inventory ticket or adding to an existing ticket.   No problem.

But what if this inventory has a trace profile?  When it comes to traced parts during physical counts, VISUAL requires you to match the trace id to the trace record in VISUAL.  So chances are, the trace on the "found" inventory does not exist in VISUAL.  And if you try to enter a ticket for it you'll be faced with the following message:

Infor VISUAL ERP - Trace record error in physical count

Yeah, sure you do as you're told and enter the "found" inventory using the Inventory Transaction Entry window as an ADJUST IN after the Physical Count - But I want this inventory transaction to be part of the Physical Count process.

Here's what you can do.

  1. Ignore the message
  2. From the INVENTORY menu, select Part Trace Maintenance
  3. Enter the PART ID in the appropriate field

    Infor VISUAL ERP - Part Trace Maintenance
  4. From the MAINTAIN menu, select "Pre-assigned numbers..."

    Infor VISUAL ERP - Part Trace Maintenance
  5. Enter the quantity of your found inventory in the "pre-assign quantity" field.

    Infor VISUAL ERP - Pre Assign Quantity
  6. You can then enter the TRACE ID(s) in the Traceability window.

    Infor VISUAL ERP - Traceability
  7. Hit the SAVE button.

Now go ahead and enter that physical count inventory ticket for your "found" items.

Macro-level Adjust-In control for Inventory Transaction Entry

VISUAL installations that run in Actual Costing live and die with the control of transactional costs and inventory layers in the system, and under normal conditions this is mostly a no-brainer with a little training and running some semi-automatic periodic processes. 

Sooner or later, you’ll have to manually Adjust In parts because of inventory, material moves, or some other reason.

And then there’s the human element.   Sigh.

infor ERP VISUAL - Inventory Adjustments
"Not a problem"

When you have non-consumable parts that you carry in your own inventory, these should generally be assigned a cost (if they don’t already have one) if you adjust them in through Inventory Transaction Entry, in order to make sure your inventory layers show the correct value.  If you have Customer-Supplied parts (or other materials you technically aren’t carrying inventory cost on), these typically SHOULD NOT have a cost entered in at transaction time.

Sounds easy, right? 

But since Inventory Transaction Entry has no controls to differentiate these parts by default, someone can accidentally enter in values for Customer-Supplied parts and zero value for regular inventoried goods.  If you don’t find these kinds of mistakes early, your part costing, and eventually your estimating / Engineering Masters will not reflect reality, inventory costs can get pretty screwy, and Accounting may show up at Receiving’s door with torches and pitchforks.

What to do?

We ran into this issue early on after migrating to VISUAL from our legacy ERP.  Since we were already coding our Customer-Supplied parts with a prefix of ‘CS’ to make them easy to spot, we came up with an easy way to help prevent the issues altogether with a simple macro:


*******************************
' Inventory Transaction Entry - OnSave Macro
' Prevent saving of a transaction entry with zero cost
' Erik Kjellquist

if (ADJUSTMENT_IN = True) then

    dim text
    dim prefix

    prefix = Left(PART_ID,2)   ' Determine if part has a ‘CS’ prefix

    ' Flag non-CS parts that have a zero cost
    if ((MATERIAL_UNIT_COST + FIXED_COST) = 0) AND (NOT (prefix = "CS")) then

        MACRO_MESSAGE="Total cost for an Adjust In cannot be zero for " & PART_ID & _
        " because it is NOT a customer-supplied part."
        MACRO_SUCCESS=False

    ' Flag CS parts that have a greater than zero cost
    elseif ((MATERIAL_UNIT_COST + FIXED_COST) > 0) AND (prefix = "CS") then

        MACRO_MESSAGE="Total cost for an Adjust In MUST be zero for " & PART_ID & _
        " because it is a customer-supplied part."
        MACRO_SUCCESS=False

    end if

end if
*******************************
 

This macro uses the OnSave function to allow or prevent a user from saving a transaction based on the details.  We’re looking only at Adjust Ins, in this case the ADJUSTMENT_IN variable, and evaluating whether a CS part is being adjusted in with a zero cost or a non-CS part with a non-zero cost, respectively.  If either is false, MACRO_MESSAGE is given an appropriate string, and MACRO_SUCCESS is set to false, which prevents the transaction from saving.

The macro assumes that parts with a ‘CS’ prefix are customer-supplied in our case, but many companies may not be able to label their parts as such.  You could also label parts as Customer-Supplied using User-Defined fields, Commodity codes, store them in a specific warehouse/location, etc in Part Maintenance or another linked table.

However you define CS parts, this will help anyone adjusting in inventory from making mistakes relative to costing, should help relieve a few headaches down the road, and will prevent those square pegs from going into round holes!


Erik Kjellquist is our special guest author at visualnuggets.com and is the IT Manager at Audiosears Corporation. You'll find Erik contributing and assisting fellow VISUAL users on LinkedIn and Yahoo forums.

Connect with him online at LinkedIn 

 

Setting the default expense account for consumables

You and I both know that, out of the box, VISUAL does not allow you to specify a default GL expense account on a consumable part.  And that you have to manually specify the expense GL account every time you purchase it.   AUGH!

Yes, there is a work around where you can set the default GL expense account at the VENDOR level.  This may be okay if you expense all consumables to the one GL account.

Infor VISUAL ERP - Vendor Maintenance
Setting the "Default Expense Account ID" in Vendor Maintenance (under the ACCOUNTING tab)

However, this workaround doesn't work if you buy more than one type of consumable from the same vendor and each type of consumable needs to be expensed differently.  It would be great if VISUAL allowed us to define the GL expense account at the PART level - this wouldn't be an issue.

Here's one way to get around this. 

It involves using a user defined field (UDF) in PART MAINTENANCE and a OnSave macro in the PURCHASE ORDER ENTRY window.  The UDF can be used to enter the expense account and we can have the macro look this up when entering a purchase order for a consumable part. 

  1. In PART MAINTENANCE, designate one of the standard UDFs to be used to enter the expense GL account for a consumable part.  You could also use a custom user defined field and create a drop down list linked to your GL accounts table.

    Infor VISUAL ERP - Part Maintenance

  2. Create an OnSave macro in the PURCHASE ORDER ENTRY window that will look up and use the GL account entered in the UDF (created in step 1) to populate the GL Expense Account ID column of the purchase order.

An OnSave macro like the following would work: (mind the line wraps!)

strServerName="E N T E R    N A M E    O F    D A T A B A S E    S E R V E R"
strDatabase="E N T E R    N A M E    O F    D A T A B A S E"
strUserName="E N T E R    U S E R N A M E"
strPassword="E N T E R    P A S S W O R D"

strcnn="Driver={SQL Server};Server=" & strServerName & ";Database=" & strDatabase & ";Uid=" & strUsername & ";Pwd=" & strPassword & ";"

set rs = CreateObject("ADODB.Recordset")

Set ORDERLINES = Lines.Value
LCnt = ORDERLINES.Count

If LCnt>0 then
    For i = 0 To (LCnt - 1)
        Set ORDERLINE = ORDERLINES(i)

        if len(Orderline("PART_INFO") & "")>0 then

            PartID=Split(Orderline("PART_INFO")," - ")

            SQL="SELECT USER_1, CONSUMABLE FROM PART WHERE ID='" & PartID(0) & "';"
            rs.open sql, strcnn

            ExpAcctID=""

            if not rs.eof then
                rs.movefirst

                if rs("CONSUMABLE")="Y" then
                    ExpAcctID=rs("USER_1")
                end if

            end if

            if len(ExpAcctID & "")>0 then
                Orderline("EXPENSE_GL_ACCT_INFO")=ExpAcctID
            end if

            rs.close

        end if

    Next

end if

This macro assumes that we're using the standard user defined field 1 for the expense GL account.  You may want to beef up this script to include validation checks - ie ensure that the expense GL account id exists, prevent the changing of the GL accounts on PO lines that have already been received, etc.  This should get you going in the right direction.

Now you're able to set your default expense account on each consumable part.

What’s in a part number?

Infor VISUAL ERP - Part NumberMoving forward with the re-implementation we faced some key decisions.  One of them was to decide how to handle our part numbers.  Our existing part numbers were a mess.  They ranged anywhere from 1 to 30 characters and had variations of numbers, letters, and characters.  Some had some logic built into them, some were random, some were brought in as the vendor/customer part numbers, and some parts were represented by multiple part IDs of different numbering schemes.  Everyone seemed to have a different method for creating part numbers and, needless to say, it had become a mess.  We were all in agreement, this had to be cleaned up and standardized. 

The numbering system we decided to go with is a 7-digit numeric ID where the first 2 digits designate the product type (product line, hardware, etc.).  The other 5 digits are random numbers.  We plan to use the settings in part maintenance to define the rest of the part qualities. 

I’ve been with other companies where a larger smart-part-numbering system was the way to go.  In those situations the parts “are what they are” with very little (if any) changes that take place and can be easily defined within the part ID itself.

Convincing everyone to adapt to the all 7-digit, numeric part IDs wasn’t easy.  We set up a sandbox database and took a few part samples that we re-numbered and the corresponding components that went into making them.  We created Customer Acknowledgements, work orders, and dispatch reports to show the team how much ‘cleaner’ these reports looked.  We also demonstrated that we can display all the important info on these reports using the part description.  Should any changes be necessary to the part, we can just tweak the description instead of creating a whole new part number.  We had to transition everyone off their dependency of just knowing the part numbers and needing that knowledge of the history behind each part number.


Jason Snoeyink is a special guest author at visualnuggets.com and is an active participant in the VISUAL community.


Connect with Jason online at LinkedIn 

Zero cost layers. Got ‘em? Know why? Me either....

We’re running on Visual 7.0, actual cost, FIFO by part location.  We changed from FIFO by part to FIFO by part location with our Infor Channel Partner over a year ago. 

Since that time, we’ve had some unexplained $0 cost layers with some of our parts.  When we find them, we verify that part maintenance has a cost, and that the end-user didn’t blank out the cost field on an adjust in to inventory.  Upon further research with Infor’s technical support, Infor believes some of these cost layers are related to driving locations negative with auto-issue, and then doing issue/returns of work orders to put the quantity on the location back to zero.  Since the adjust out drove the location negative, there is no cost with that transaction.  The issue/return makes the quantity in the location 0, but there is no cost with this transaction either, as there is no transactions in the location to use as a cost basis. 

Infor10 Visual ERP Express - Confused

Sound confusing?  (You may need to re-read that last paragraph more than once!!)

Infor recommends backdating an adjust in to the location, before the date of the first transaction that drove the location negative, and then an adjust out of the location after the issue/return date.  The adjust in and adjust out quantity have to be larger than the initial transaction that drove the location negative, but must match each other to keep our inventory count the same. 

Is this how you have handled similar situations?  If not, how would you fix them?


Peter Boers is our special guest author at visualnuggets.com and is an active participant in the VISUAL community.  Peter has recently taken on the responsibility for maintaining the web site for the newly formed Visual Enterprise Global User Group (VEGUG).

Connect with him online at LinkedIn 

 

WHO IS VISUALNUGGETS?

Rich Ferlatte
Results Driven VISUAL Specialist

CONSULTING SERVICES

Of course, I am available for hire!

ERP Implementations & Upgrades
Analytics & Reporting
Integrations & Macros
General VISUAL Support

ONLINE VISUAL WORKSHOPS

Taking it to the next level and designing a program around "Hands On VISUAL Training".

Check them out - there's sure to be one to interest you!

Operational Workshops
Reporting Workshops
Financial Workshops
Inventory Workshops
Quality Workshops

VISUAL EXTENSIONS

BOM Xploder
Drastically improve your BOM visibility and discover shortages at ANY level of your bill of material no matter how deep.
SmartViews
See, analyze, and track information that helps you better support individual, departmental, and your company’s performance metrics and goals.
eBoard - Financial Power App
Developed for accounting professionals looking for powerful and easy-to-use GL reporting software. Access live financial data, drill down to support details and export financial statements to Excel in one click.
Inventory App
This Inventory Reconciliation App provides a systematic approach to control and manage your Visual inventory effectively and efficiently
Credit Card Integration
Easily accept and process credit card payments right from within VISUAL.
ACH Document Processing
Leveraging VISUAL's payment scheduling and batch payment functions, with the added convenience, performance, and security of Electronic Funds Transfer payment processing.
Latitude Manifest & Shipping System
A seamless multi-carrier shipping solution that integrates to Infor VISUAL ERP. See how it can simplify your small parcel and LTL shipping and package tracking.
Sales Tax Automation with AvaTax
Easily automate sales and use tax in VISUAL with AvaTax. No more manually entering data or uploading rate tables and tax information.
Workforce Management with Kebrite Solutions
Streamlines the collection of Job, Labor, Payroll, Time & Attendance, and a vast array of HR related data-- with live VISUAL integration.