Written by Wayne on December 20, 2012

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 

Written by John on October 24, 2012

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


Written by Richard on October 5, 2012

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.

Written by John on September 28, 2012

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.

Written by Richard on July 30, 2012

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

Written by Richard on June 6, 2012

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

Written by Richard on May 1, 2012

Keeping tabs on your off-site inventory

VISUAL has this great little report called the Inventory Out Report - and it details all your inventory that you own that's currently off-site.  This could be material that you have with a supplier that's providing an OUTSIDE SERVICE or it could be inventory that's IN TRANSIT to one of your warehouses across the country.

InvOutDialogThe report allows you the flexibility to focus only on inventory transfers (IBTs) or only on inventory dispatched to your suppliers for a service.

The Inventory Out Report is fast and simple - providing you with a quick reference to all that you have "out there" beyond your 4 walls.

You can find this report under the INVENTORY menu near the bottom of the list.

If you happen to find yourself without this report in the menu - it's only because Infor buried it for you to uncover.  You'll need to free the report through Application Global Maintenance (under the ADMIN menu).  Go to the Shipment Trk tab and check the Shipment Tracking Enabled option.  Then save the changes.  You may have to log out and log back into VISUAL for the report option to appear.

Now go and print the report and see how much $ in inventory you got "out there".

Written by Richard on April 4, 2012

Including purchase burden in your cost estimates

Are your purchase burdens being applied when calculating your cost estimates on quotes masters, engineering masters and work orders?

Not sure?

First things first...my accounting hat please.

Infor ERP VISUAL - Issue Burden
In PART MAINTENANCE under the "Costing" tab, you'll find the option to apply a Purchase Burden for a part.  This particular burden allows you to account for outside costs relating to handling the part.  It can be entered as a percentage of the material cost OR as dollar amount per unit.


 Infor ERP VISUAL - Part Maintenance

If you're not using purchase burdens, then you can move on to more pressing things http://t.co/yMigkLTW

But if you are using purchase burden, then you may want to verify whether it should be used when calculating your cost estimates in your quote masters, eng masters and work orders. 

You can have VISUAL use this burden (or not) by flicking the switch in the PREFERENCES under the OPTIONS menu of the MATERIAL CARD.

Infor ERP VISUAL - work order material card

This setting is USER SPECIFIC, so if you decide as a company that purchase burden should be applied (or vice versa) - you need to ensure that every user has the proper setting in place.

In the VISUAL.ini file:

[Visual Mfg]
IncludePurcBur={Y or N}

Or, if using the Preferences Maintenance module:

Infor ERP VISUAL - Preferences Maintenance

If you do decide to change this setting, be sure to "Reset Material Requirement Costs..." (Part Maintenance) to update your existing Quote Masters, Engineering Master, and Work Orders (where needed) so that they reflect this new cost setting.

Infor ERP VISUAL - Reset Material Requirements Cost

Written by Richard on January 18, 2012

"You cannot receive this part into a non-hold location"

Are you getting the following popup message when try to do a purchase receipt for a particular line item?


And is your reaction like this?

Infor ERP Express - Say What

Why is VISUAL not allowing the receipt of a part in a valid AVAILABLE location?

Well it's because the part has been identified as requiring inspection.  All parts that are needing inspection are to be received in locations marked ON HOLD.   Once the parts have been inspected and passed, only then will they become available for production.

The Inspection Required setting can be found in PART MAINTENANCE under the Default tab.

Infor ERP Express Visual - Part Maintenance

When Inspection Required is set for a part, you need to assign a location with a status of ON HOLD

Infor ERP Express Visual - Part Location

With that set, you can now receive the part into this ON HOLD location for inspection.

No more popup.

btw...if you set the default Inspection Warehouse & Location for the part in PART MAINTENANCE - you won't need to enter this location when you do a purchase receipt as they will be automatically entered for you.

Infor ERP Express Visual - Part Maintenance Inspection


Written by Richard on October 13, 2010

Purchasing material without part ids and charging them to a workorder

VISUAL allows you to easily purchase material without part ids and charge them directly to a workorder.  This is great option for those situations where you don't want to assign part ids for materials that are specific to a job - and that they don't necessarily need to be under inventory control.

To demonstrate:

  1. In the Manufacturing Window, create a workorder with an operation.
  2. Add a material card and leave the PART ID blank.  I usually add "Misc. Purchases (Non-Part IDs)" in the specifications to reference miscellaneous purchases.
    Infor ERP Visual - Manufacturing Window 
  3. Create a purchase order.  For the PO line item be sure to enter the following columns (at a minimum) for materials without part ids:

            Vendor Part ID (do not use the Part ID column)
            Base ID
            Lot ID
            Split ID
            Sub ID
            Seq #  (operation card #  - in my example #10)
            Piece # (material card # of non-part ids - in my example #10)

    Infor ERP Visual - Purchase Order Entry 
  4. Receive the purchase order
  5. Return to the Manufacturing Window and retrieve the workorder you created in step 1 (ie: 40023/1)
  6. You'll notice that material card has now be issued (from the PO receipt) and the costs have been charged to the workorder. 

    Infor ERP Visual - Manufacturing Window