What you need to know about running MRP

So now that we covered some of the basic setups for MRP - let's run MRP and see what happens.

(remember, we're just scratching the surface here...one step at a time)

From VISUAL's Material Planning Window, select Material Requirement Planning from the FILE menu

Visual Material Planning Window

In the following window, you have several options to choose from that will affect how MRP will execute and plan your supply orders. 

VISUAL Material Requirements Planning Window

On the left, you have the options on WHERE you want to run MRP  ...

  • across ALL your warehouses, OR
  • plan each INDEPENDENTLY planned warehouse separately, OR
  • just plan your UNIVERSAL warehouses


As for the options on the right, let's start with the first 2 radio buttons ...

Regeneration OR New Change?

Regeneration (1st radio button) processes ALL parts (from the top down) to determine any shortfalls between supply and demand and will generate planned orders for parts accordingly based the defined Order Policy under the part's Planning Tab

Net Change (2nd radio button) looks at only those parts which have had activity since the last time you ran MRP.   Note:  Deleting a planned order of a part is not considered an "activity" on its own - so just know that this activity alone will not flag a part to be included in a Net Change MRP run.

Regeneration should be run at least once a week to ensure that all parts are processed


Single Pass

MRP is an interactive and dynamic process - it will evaluate ALL parts until planned orders cover ALL supply shortfalls. 

When MRP generates planned supply orders - these planned supply orders themselves can create demand (for sub-components) that will in turn generate additional planned supply orders

If you select Single Pass - MRP will only do one pass, which could result in parts having newly created demand but may not have planned orders created for them if MRP created the demand after the first pass.

Clear as mud?

Let's say that part ABC is used in part XYZ and there is demand on part XYZ...

MRP will evaluate ABC first and see no demand, it will then move on to XYZ and create a planned order.

Only in the second pass will MRP find that there is now demand for ABC and create a planned order for it.

MRP will keep running passes until there is no more shortfalls in supply

So, in a Single Pass scenario, only a planned order for XYZ will be created

Why use single pass?  Well - you may want this if you are wanting to run MRP during production hours and don't want to use up too much system resources evaluating - especially if you have complex, deep and multi-level BOMs - that would require many, many many passes.


MRP Exception Marking Limits

This allows you to configure MRP to evaluate based on a horizon or time frame - which you may consider as a "firm" schedule. 

I suggest selecting NO HORIZON - basically have MRP evaluate all demand - regardless of how far out they may be in the future.  You can then easily focus on the amount of orders to look at by filtering on a date range/time frame. 

If you do want to set a horizon for MRP to evaluate- you are free to do so.  The option Plus part leadtime ensures that MRP evaluates demand for a part within the part's leadtime so that planned orders will be created in time - so the horizon then varies for each part.


Other Options

The next 2 options, Net on-hand quantities and Apply Min/Max/Multiple, are available to use if you use Advanced MRP and have parts that are Master Scheduled.

If you happen to use Advanced MRP...

  • Net on-hand quantities for master scheduled parts - MRP will subtract nettable, on-hand balances from the total demand.
  • Apply Min/Max/Multiple to master scheduled parts - MRP will use these values (if present) in evaluating and creating planned orders.


Exclude On-hold Customer Orders - MRP will exclude these customer orders when evaluating demand

Exclude Unreleased Work Orders - MRP will exclude these work orders when evaluating supply and demand.

Enable netting message - This will display a message if the processing of a part exceeds 10 seconds.  Don't enable this - it just slows down everything

Log MRP - This option will create a log file detailing MRP process and steps taken.  Great source/tool for troubleshooting issues (if any) with MRP and unexpected results


Part of the MRP Fundamentals Series (for Infor VISUAL ERP). Be sure to check back soon as I continue further into using MRP in VISUAL


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!

How to easily handle vendor deposits in VISUAL ERP

You can easily process vendor deposits in VISUAL - it's quite simple. 

But before you can do anything - you first need to configure VISUAL to allow for it.  To do this, add the following entry in Preference Maintenance

Vendor Deposits
Set EnableVendorDeposits =Y in the Visual Financials section

  OR, you can add the following to your VISUAL.ini file:

[Visual Financials]

Once done - you are good to go with the following steps to process a deposit.

Let's say your vendor requires a deposit of $6250 (half the value of the purchase) 

  1. First create the purchase order for the goods/service.

    VISUAL ERP Purchase Order

  2. Next, to record and process the deposit - create an AP voucher in the Payables Invoice Entry window. 

    Enter the respective vendor information in the header area.  Then insert a line item for the deposit as follows:
    ♦  Enter a description for the line in the Reference column (if needed)

    ♦  Enter the purchase order number in the Order ID column.
         A must for this to work!

    ♦  Enter a GL account to use in the G/L Account ID column - it should be a GL account where you want to manage deposits and prepayments. - Please don't use the default PO accrual GL account

    ♦  Enter the deposit amount in the Amount column.

    Vendor Invoice for Deposit

    Note - If you DO use the PO accrual GL account you will likely mess up your accruals when reconciling.

    Visual Accounting

  3. Save & Pay the deposit invoice as required
  4. When the goods/services have been received - do the PO receipt.

    Purchase Order Receipt

  5. Now when you receive the vendor invoice, proceed to voucher it in the Payables Invoice Entry window.  Use the F6 key to call up the receiver(s) associated with the purchase.  Select the appropriate receiver(s) and click OK.

    Purchase Order Receipts to Voucher

  6. VISUAL will populate the grid with the lines associated with the receipts - AS WELL AS add an additional line item for the deposit (or prepayment) as a deduction to the total amount owed.


As I said - simple.


Using Notifications to keep your customers and vendors up to date on their orders - and your internal staff too!

VISUAL's email capabilities have been further enhanced in Version 9 with the introduction of Notifications.  In fact, it should be noted that VISUAL's entire email system has been updated and now works with multiple email systems including Office365, Gmail, Thunderbird, etc. 

For those of you using Workflow to send emails - this is awesome news.  Workflow and emails were sometimes a hit and miss depending on your environment - and a PITA to troubleshoot!

So, Notifications in VISUAL allows you to communicate updates to your customers and vendors on:

  • when a New Order is entered;
  • when there is a Change Order, and/or
  • when there's a Shipment/Receipt on the order.

These notifications can ALSO be sent to people within your company as well - think of notifying...

  • salesperson of shipments
  • production/planning department of order changes
  • accounting of an invoice payment of a large order

And all of this can all be done automatically and behind the scenes.

Notifications can be set globally at the customer and vendor level as well as at the order level.

In the Customer Order Entry window, under the Notifications tab in header area - you can indicate whether notifications should be processed. 

Infor VISUAL ERP - Order Notification


You can also bring up the following window by selecting Order Notifications under the EDIT menu:

Infor VISUAL ERP - Email Notification

Notifications to your customers and vendors will always be sent to the contact tied to the specific order.  Internal communications (your employees) are specified in the window above (right area) or can be set globally at the customer and vendor level. 

To set these parameters at the customer and vendor level - look for the Notifications option under the MAINTAIN menu of the respective module (Customer Maintenance/Vendor Maintenance)

The amount of details in these notifications are entirely up to you and can be easily configured - using templates.  Managing these templates can be done in the Notification Maintenance window, which can be found under the ADMIN menu

Infor VISUAL ERP - Notification Maintenance

You will notice across the top are the various templates particular to the notification type (business event) - ie: customer order, purchase order, shipment, receipt, etc. 

The right area lists all the available tokens (placeholders) to personalize the content of the notification.  These tokens will be replaced with content from your data of the related document when the email is created.

The main area of the window allows you to define the content for:

  • Subject Line
  • Header Message
  • Line Details
  • Footer Message

Once set - you are good to go.  It's another option to keep everyone apprised of what's going on - externally and internally.


Purchase requisition approval by G/L account

Infor VISUAL ERP - PurchasingA few years ago Triumph Gear Systems of Macomb Michigan was in the process of implementing the purchase requisition module for requesting expensed items.  The company was using a manual system that would allow users to fill out either a paper form or an electronic form in Microsoft Excel for requisitioning expense items.  Once this requisition form was filled out the appropriate signatures based on the G/L account number or work order was needed for the purchasing department to issue a purchase order.  This was a daunting job to determine who needed to sign-off on each line of the requisition multiple account numbers.  They decided that an electronic solution was needed that would allow them to retain their level of approval by G/L account number.  The current Visual software allowed for sign-offs using messaging and workflows but not to the level of complexity that was desired for their company. 

Infor VISUAL ERP - Purchase Requisition Entry

A solution was designed to satisfy this need.  A custom developed application was designed for the approval system.  The users still use Visual Manufacturing to enter purchase requisitions just as it was designed.  All users have access to place these requisition lines in either “Draft” or “In-Process” status.  No users have rights to change the status to “Approved” within Visual Manufacturing.  Only by using the custom application can a requisition status be changed from In-Process to Approved.  This forces the signers to use the custom application to approve requisition lines that they have the right to do so.  Each signer is given one or more accounts that they are responsible for.  For each of these accounts they are issued a “Max” value equal to their signing authority.  This allows for tiered approvals on each account based on approval levels.

Infor VISUAL ERP - ApproversThe example shown here displays the approvers for the “SUPP AND EXP ASSEMBLY” account.  There are four signers that are authorized to signoff for this type of expense, as long as the line amount is less than their “Max Amt.”   If the line had been valued at $3,000 only one signer has the proper authority to approve.

Once a requisition is placed in the “In-process” status it is waiting for approval from the appropriate signer(s).  The signer has the ability to either accept or decline any requisition line they are authorized for.  Once this is decided the line status is changed to either Accepted or Cancelled. Once all lines have been approved or declined the purchase requisition status is changed to Approved.

Below is a screen capture of the approval system that is used to achieve the goals set forth by Triumph Gear Systems.  This solution is using a combination of Visual Manufacturing and a custom application to accomplish this.  The application has been in use since 2009 and has since processed approximately 8,000 requisitions using this system. 

This goes to show that Visual is only limited by your imagination and just about anything can be accomplished given the right tools and time.

Infor VISUAL ERP - Approval System

Wayne Bourdage is our special guest author at visualnuggets.com and is an active participant in the VISUAL community.  He has custom developed several software solutions to enhance the Visual product, allowing it to run more efficiently by simplifying and automating redundant tasks 

Connect with Wayne online at LinkedIn 

Why your PURCHASED parts material cost reset to zero after a cost implosion

Purchased parts are NOT affected by a cost implosion, only manufactured parts are. 

However it is critical to note that the purchased and fabricated flags (in the settings area) DO NOT drive this behavior.  The cost implosion behavior is driven by the Engineering Master field.

Infor VISUAL ERP - Part Maintenance Window
Part Maintenance Window

If this field is blank (NULL) then the part is considered purchased regardless of the purchased/fabricated check box setting.   If the Engineering Master field is not blank (NOT NULL) then the part is considered to be fabricated and costs will be updated by the cost implosion function. This is true regardless of the purchased/fabricated check box settings.

So if you are getting ZERO costs on a part that has its PURCHASED check box checked, it is likely that:

  1. the part's Engineering Master field is populated
  2. and that the EM exists (or it would throw an error during the implosion)
  3. and that the EM is empty (no operation or material cards)
  4. or that the EM is not empty but all the cards have zero qty / run rates or zero costs


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

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

        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


            if not rs.eof then

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

            end if

            if len(ExpAcctID & "")>0 then
            end if


        end if


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.

Allow multiple AP invoices per receiver line

Infor VISUAL ERP - Application Global MaintenanceThis option enables the concept of landed cost in your database.

The main reason you would want to do this is to allow you to track costs in addition to the direct purchased cost of material through inventory rather than using a burden.

For example say I buy a qty of 3 of PART ID ABC for $1000 each = 3 x $1000 = $3000 USD.\

Now I have to pay for FEDEX to deliver the parts from the supplier in Texas to our plant….courier cost $200 USD

Now I have to pay for customs broker to clear the part across the border….customs broker cost $50 CAD

If you leave this option box unchecked

You can only voucher AP against the original purchased material receipt. You voucher the receiver for $3000 USD. Of course this values the inventory at the USD amount converted to CAD…let’s say that is $2700 CAD (or 900 per each unit)

The freight cost and the brokerage cost are then charged to an overhead expense account or possibly directly to the project or work order if the materials are bought to a job. In our case the materials are bought to inventory but we really want to track the full cost of getting the parts to the plant as our inventory. The only way we could do this is to apply a general burden rate. Since we want to track the actual cost of those parts being purchased this just isn’t good enough.

So we check the box

Now when the parts are received for the part we do a normal PO receipt, receive the invoice from the supplier and voucher the PO receipt just as we normally do.

When the invoice comes from FEDEX, we charge the $200 to the PO Receiver ID associated with the receipt of the goods. Now the inventory value of the part will increase to $3200 USD (or 1,066.67 each USD). Of course there may be different exchange rates applied to these two invoices depending on timing of the transactions but I won’t complicate this further.

When the invoice for the customs broker comes in we can again charge the original material PO Receiver ID with additional costs and the inventory value of the parts will increase again.

As each of these changes occur, in an actual cost database, the FIFO layers are updated and the costs are traced through any subsequent inventory transactions.

So what is the downside?

Costing can be more complex to reconcile.

You must determine a reasonable way to apportion the cost of these additional charges to the various parts being received so this can increase the complexity of AP invoice entry.

You must be able to determine the original PO receipt ID that relates to the additional landed cost charges in some way and setup a system to manage this.

Some additional complexity can be expected for any kind return or credit.

The upside

More accurate actual cost tracking. This can be especially helpful in a project or defense contractor or cost plus pricing scenario.

Setting your preferred order entry program

VISUAL offers 2 modules to manage you customer sales orders - Customer Order Entry and Order Management Window.  You can use either one of them to add and modify your sales orders.  If you don't know the difference between the two - just know that the Order Management Window is a pimped up version of the Customer Order Entry window.  VISUAL also offers 2 modules to manage your purchasing - Purchase Order Entry and Purchase Management Window.  Again the Purchase Management Window is the suped up version of the two

So what am I getting at?  Well, I'm sure you've probably decided, based on your operation and your business requirements, which modules are your company's preferred order entry windows.  But did you let VISUAL know?

If you're using the standard customer order entry and purchase order entry windows then you have nothing to worry about as VISUAL assumes that you will be using these out of the box.

But...if you're using either the Order Management Window or Purchasing Management Windows  - then you definitely need to let VISUAL know because it affects what module will open when you drill down on records.  For example, if you're in Customer Inquiry and view a customer's order history, you can drill down on the ORDER ID column - the system will either open the order in Customer Order Entry or Order Management Window depending on the preferred setting.

So where can set your preferred order entry module?  Go to the APPLICATION GLOBAL MAINTENANCE window and select "Preferences" under the OPTIONS menu.

Infor ERP VISUAL - Application Global Maintenance - Order Entry Preferences

Reengineering the outside service dispatch browse window

The Outside Service Dispatch Entry window is one module I don't spend too much time in, but when I do, I always find myself scrolling (more like scrambling) through the different windows and screens - trying to get answers for any one of the following questions (if not more).

  • Where is it?
  • Who has it? What else do they have?
  • When can we expect it
  • What else do we have out for that job?
  • Where did we dispatch that part out to?
  • and the list goes on...

So I decided to do a little "retooling" of the dispatch BROWSE window and have it display the information that tends to be asked over and over and over again. 

So I now have a browse window that allows me to search dispatches at the order line level (details) as oppose to only the header information.  This enables me to now search by part id, work order, back order qty, dates and so on.

Click on the following screenshot to view a "stripped down" version of the my modified browse window

Infor ERP VISUAL - Ourside Service Dispatch Browse window

NOW the browse window allows me to filter as needed and drill down to the individual dispatches.  I actually have ALL the information I need straight from the browse window (just like a report). On top of all that, because I'm using the browse window, I can export my filtered results to excel for further analysis and reporting.

All this within the VISUAL interface.

So if you find yourself in this position when ask about your dispatched outside services...


Try this:

  1. Create a SQL VIEW named zview_DISPATCH_BROWSE using the query in this download.
  2. Find and open your VMBROWSE.ini file (should be located in you local VISUAL directory).
  3. Replace the entire [Dispatch] section with the following:

    title=Service Dispatches

    colA=SERVICE_DISPATCH.ID,Dispatch ID,1,1.08,5,0,
    colB=zview_DISPATCH_BROWSE.WORKORDER_BASE_ID,Base ID,2,1.05,5,0,
    colE=VENDOR.ID,Vendor ID,5,1.10,5,0,
    colF=zview_DISPATCH_BROWSE.STATUS,PO Status,6,0.90,5,0,
    colG=zview_DISPATCH_BROWSE.PART_ID,Part ID,7,1.07,5,0,
    colH=zview_DISPATCH_BROWSE.USER_ORDER_QTY,Qty Ordered,8,1.13,3,0,FORMAT_Decimal
    colI=zview_DISPATCH_BROWSE.TOTAL_USR_RECD_QTY,Qty Received,9,1.18,3,0,FORMAT_Decimal
    colJ=zview_DISPATCH_BROWSE.LN_BACKORDER_QTY,Backorder Qty,10,1.32,3,0,FORMAT_Decimal
    colK=zview_DISPATCH_BROWSE.LN_DESIRED_RECV_DATE,Desired Recv Date,11,1.90,5,0,
    colL=zview_DISPATCH_BROWSE.LN_PROMISE_DATE,Promise Date,12,1.87,5,0,

    If you don't want to replace the entire section, then just be sure to modify the lines HIGHLIGHTED in YELLOW

You should be good to go


Rich Ferlatte
Results Driven VISUAL Specialist


Of course, I am available for hire!

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


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


BOM Xploder
Drastically improve your BOM visibility and discover shortages at ANY level of your bill of material no matter how deep.
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.