Written by Richard on February 22, 2018

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.


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 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 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

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 September 20, 2011

You should never change the part's Product Code except...

I'm sure you are well aware that you shouldn't haphazardly change the product code of a part as it can have a significant accounting impact ---> VISUAL will reclassify all past transactions.  But there is one area where you can change the product code without issue - and that's in the Customer Order Entry.

Infor ERP Visual Enterprise - Customer Order Entry - Product Code
VISUAL allows you to change the specified Product Code of a line item in the customer order.  But why would you want to change the product code in a customer order? 

Well, one reason could be that you want the line item to hit a different set of Revenue and COGS accounts.  --> One set of accounts for when the item is sold by the SALES dept and another set of accounts when the item is sold by the SERVICE Dept.

Rest assured VISUAL will refer to the Inventory GL accounts of product code specified in PART MAINTENANCE for the line item when preparing the journals.


Written by Richard on September 13, 2011

Usings the RMA module to manage your Service Repair business

Infor ERP VISUAL - RMAThe Return Material Authorization (RMA) module in VISUAL isn't only reserved for returning items originally shipped/sold by you.  It can be a viable solution to manage you service business where items are sent to you for servicing (repairs).

The RMA process allows you to track the customer's property when it arrives on site.  It will create a work order for the service (repair).  This allows you to capture labour and material used.  And when the job is complete, VISUAL will calculate the associated costs so that you can charge the customer accordingly.

A customer calls in and asks whether you service Widgets.  Of course you do - you don't sell them but you'll provide services on anything and everything.  He mentions that he has a problem with the doohickey and that it appears to be an electrical issue.

You ask the customer to hold on a second while you obtain an RMA # for them to reference so that your Service Dept knows what to do with it when it comes in.

Here's what you do.

1. From the RMA window, enter the following:

  • Customer ID
  • Type - Select REPAIR from the drop down list.
  • Reason - Select the the reason for the repair.  In this case, "Electrical" is selected.  You can maintain the REASON list through APPLICATION GLOBAL MAINTENANCE under the MAINTAIN menu

Infor VISUAL ERP - Return Material Authorization

2. Then hit the SAVE icon.


You'll now have an RMA ID (RMA-00002) that you can give to your Customer to reference when they ship the Widget.  You should also see a NEW ORDER (02020) which will be used to Invoice the service/repair work.

3. Click on the "Show New Order" icon in the toolbar

Infor VISUAL ERP - RMA Show New Order
4. The Customer Order Entry window should appear displaying the new order 02020.  Notice that the order status is ON HOLD.  This is OK.  It will stay ON HOLD until the customer's Widget is received by your Service Dept.  You now have to enter a line on the order to indicate the service work you will be doing.  At a minimum, enter the following line information:

  • Quantity - 1
  • Misc Ref/Descr - enter description of the service (ie: Doohickey repair)
  • New W/O- Place a checkmark.  This creates a new workorder and links it to this order.  With this, we can capture all labour and material used to service the Widget.

Infor ERP VISUAL - RMA New Order Line Item

5. Hit the SAVE icon.

6. Be sure to set the new workorder to UNRELEASED.

Infor ERP VISUAL - Unreleased work order
7. Close the customer order window and go back to the RMA window and refresh the screen.  You should see that the RMA now has the line item you created on the customer order (02020).  Enter "1" in the Rtn Qty Authorized column (as shown).

Infor VISUAL ENTERPRISE - RMA - Line item 

8. Widget arrives.  What do you do? .... You need to let VISUAL know that it's here to be serviced.  To do this, go to the Shipping Entry window and select SHIPMENT RETURN.

Infor ERP VISUAL - RMA - Shipment Return 

9. Pull up the RMA ID from the dropdown list and enter "1" in the Qty Return column

 Infor VISUAL Enterprise - RMA- Shipment Return

You'll be asked whether to release the work order - Click YES.

In this example, the work order relating to this service is 40025/1.  You can now build the work order accordingly -- charging all LABOUR and MATERIAL used.

If you go back to the RMA window and pull up the RMA (RMA-00002) - you will see that it's been updated.  The RMA's status is now RECEIVED and the respective Widget (line item) has been received (Qty Returned column).


10. You got the Widget working using a thingamajig -- it's ready to be sent back to the customer.  Go to the Shipping Entry window and bring up the customer order (02020).  Be sure to enter the RMA ID (RMA-00002) in the header area (as shown) and ship the respective line item.

Infor ERP VISUAL Enterprise - RMA Shipping Entry 
You'll notice that the Ship Status field remains at SHIPPED.  That's because we're not finished yet.  It's not ready to be invoiced because we still have to specify what we'll be charging the customer. 

11. From the RMA window, select "Price Repair Orders..." from the EDIT menu.

Infor ERP VISUAL Enterprise - RMA Price Repair Orders

12. In the PRICE REPAIR CUSTOMER ORDER window, enter the RMA ID (RMA-00002) to set the price you want to charge the customer, which will be based on the costs of the workorder (40025/1). 

In this case, only 1 hour of labour was changed to the workorder ($15) - The customer will be billed $150.  I manually entered this price into the New Unit Price column - BUT you could also use the Hourly Rate and Markup functions (top right area) that will calculate the unit price to bill the customer.  Click on the SAVE button to commit changes.

Infor ERP Visual Enterprise - RMA Price Repair Orders 
13. Finally, click on the APPROVE SHIPMENTS button to send it for invoicing (in Invoice Forms).


Written by Richard on June 8, 2011

How to handle that down payment in VISUAL

There's a number of ways that you can tackle this in VISUAL.  And one way is through Progress Billings.  

Progress billing allows you to invoice a customer in one or more increments for good/services before you actually make good on them.  It was designed to meet almost any billing scheme --- such as down payments!

 Let's say we have a sales order for $10K and you require a down payment of 25%.

Infor VISUAL ERP - Sales Order

  1. Select Progress Billing Entry from the SALES menu.  Then enter the Order ID of the sales order you want to invoice for the down payment.  You'll notice that this window is similar to the Customer Order Entry window.

    Infor ERP VISUAL - Progress Billing 
  2. Highlight the line item and click on the Edit Billing Events icon from the toolbar (as shown).  You could also access this area under the EDIT menu

    Infor ERP VISUAL - Progress Billings
  3. In the Edit Billing Events window, click on the INSERT button to enter the following:

    Seq #  =  Keep the default (should be 10)

    Description  =  Enter description of down payment

    Billing  =  Enter $ value of down payment (you could indicate a % if you prefer - be sure to select appropriate option to the right)

    Event Date = Today's date (or a date you would like the invoice for down payment to be issued) 

    Infor ERP VISUAL - Progress Billings 
  4. Save and Close the window.
  5. Now we need the system to generate the invoice for the down payment.  To do this, select Print Invoices from the FILE menu of the Progress Billing Entry window.

    Infor ERP VISUAL - Progress Billings 
  6. You should accept the defaults and PRINT.  

    Infor ERP VISUAL - Progress Billings
  7. An invoice for the down payment will be generated and will look similar to the following:

    Infor ERP VISUAL - Progress Billings Down payment  
    This down payment invoice has now been processed in VISUAL and can be accessed from the AR Invoice Entry window.  I should mention that since I kept the defaults in Progress Billings - the down payment amount will be posted as Deferred Revenue.
  8. So time goes by and you eventually get around to shipping this order.  There is no change in how you process this shipment in VISUAL.  So go ahead and enter the shipment and generate the packlist.  The invoice when generated through INVOICE FORM should look similar to the following:

    Infor ERP VISUAL - Progress Billings Down payment 
    Notice the DOWN PAYMENT line just after the SUB TOTAL?  The down payment has been applied to the invoice and only the balance is remaining to be paid. 

Not bad. 

Written by Richard on April 5, 2011

Sales Document Lifecycle for VISUAL 6.x and earlier

Infor ERP VISUAL - Macro Document LifecycleIf you're not quite ready to upgrade to VISUAL 7 to experience the new Document Lifecycle feature - you can "sort of" replicate it using a macro that queries the database, displays the results on a web page which you can then drill down into VISUAL with the help of VMX files.

Before you can use the macro you need to configure a couple things on the workstation that will be using it. 

This macro can be used in either the Customer Order Entry window or the Order Management window.

  1. Associate VMX files to VISUAL application
    In order for VISUAL VMX files to work, windows needs to know that they are to be opened using the main VISUAL application (VM.exe). 

    To do this, simply right click on a VMX file and select "Open with..." from the popup menu.  Browse to the VM.exe and select it.  Be sure to also check the Always use this program to open these files check box.

    Infor ERP VISUAL - Open with
    If you don't have a VMX file to select, create one.  You can do this by creating a text file from NOTEPAD and renaming the extension to VMX (instead of txt).

    Note: You will also need to associate VFX files to the VISUAL application.  Follow the same instructions as above.
  2. Create a VMX folder
    The macro will be creating VMX files that will be used to drill down from the web page.  VISUAL users will need read/write permissions to this folder.  And each user should have the own VMX folder
  3. Download the macro
    After you download and unzip the file, you will need to modify the macro and provide the following parameters (which can be found near the beginning or the script):

       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"

       strPathVMX = "P A T H    T O    V M X    F O L D E R"     ' ie "C:\Visual\VMX"

Go ahead and give it a shot.

Once you get this working - it shouldn't take much effort to modify the script and have it working from the other sales modules:

  • Estimating Window
  • Return Material Authorization
  • Shipment Entry
  • AR Invoices
  • AR Payments 


Written by Richard on March 28, 2011

Macro Mondays: Letting the user know of order notations

MM This is a perfect example on how a simple macro can improve your VISUAL experience.  I came across this requirement in the VISUAL user group forum.

As most VISUAL users know, there is no flag or indicator to let you know that there are notations attached to an order you happen to be in.  You would have to manually hit the Notation icon or menu item to see whether there's important notes relating to the order.  This obviously leaves room for human error - forgetting to check if the order has notes.

Infor ERP VISUAL - Order Notation

The following OnLoad macro does a quick database lookup to check if the order has notes.  If notes do exist, the macro will then open the Order Notation window using SendKeys method.  This way, you can be sure that the user see any important notes.  This assumes that their eyes are open and directed towards the monitor!

'Insert this macro in Customer Order Entry module
'Save the macro as OnLoad

Dim wshShell

Dim x
Dim strCnn
Dim rs

Dim OrderHasNotations

Dim strServerName
Dim strDatabase
Dim strUserName
Dim strPassword

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")



if not rs.eof then
    if rs(0)>0 then
    end if
end if

set rs=nothing

if OrderHasNotations=1 then
    Set wshShell = CreateObject("WScript.Shell")
    wshShell.AppActivate("Customer Order Entry")

    wshShell.Sendkeys "+{F7}"
end if

'End of Macro

Macro Mondays is a series highlighting macros that I use to validate, automate and enforce business processes within the VISUAL application.  If you have any macros that you wish to share, please feel free to send them to me at  I'll be sure to post them on your behalf. 

The Visual Manufacturing International User Group (VMIUG) is a great resource for VISUAL-related topics 

Written by Richard on September 30, 2010

Macro: Did we make any money on that?

Now that's a question you don't hear too often...yeah right!

Here's a macro that you can easily execute from within a customer order to determine whether you made money on it or not.  You can then save the results with the order for future reference.

Download VMORDENT_ Did We Make Any Money On This macro

Be sure to modify the macro to include your database connection information.  Look for the following variables to change:

strServerName="E N T E R   N A M E   O F   S Q L   S E R V E R"
strDatabase="E N T E R   D A T A B A S E   N A M 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"

 you need to first create 5 Customizable UDFs under a new TAB of the Customer Order Entry window.


1. Start by selecting "Customizable UDF's..." from the EDIT menu of Customer Order Entry window

2. Click on the "Insert Tab" icon (as shown below), and enter the following fields:

Field LABEL value:            Revenue
Field TAB value:               Gross Profit Analysis
Field SQL NO value:          10 
Field DATA TYPE value:    Number


3. Repeat step 2 for the following 4 custom fields

Field LABEL value:            Costs
Field TAB value:               Gross Profit Analysis
Field SQL NO value:          20  
Field DATA TYPE value:    Number

Field LABEL value:            Gross Profit
Field TAB value:               Gross Profit Analysis
Field SQL NO value:          30  
Field DATA TYPE value:    Number

Field LABEL value:            Gross Profit (%)
Field TAB value:               Gross Profit Analysis
Field SQL NO value:          40  
Field DATA TYPE value:    String

Field LABEL value:            Last Update
Field TAB value:               Gross Profit Analysis
Field SQL NO value:          50  
Field DATA TYPE value:    String

You should now have something similar to the follow screenshot:

Infor ERP VISUAL - Custimizable UDFs 
4. Hit the SAVE button and close the screen

5. Your Customer Order Entry window should now be displaying in the header area an extra TAB called Gross Profit Analysis.

Infor ERP VISUAL - Customizable UDFs 

Now the macro, when executed, will populate the fields you just created.  You will then either giggle at the huge margins you made or weep at the disappointing loss.

 Infor ERP VISUAL - Customer Order Entry Macro Gross Profit



Written by Richard on July 6, 2010

How to add a NEW line item to the customer order using a macro

I'm sure I'm not alone with this one...

You succumb to the challenge and admit defeat in finding a solution or workaround within the Visual framework.  One of these challenges I believed couldn't be done was adding new lines to an order using a macro

Until now....thanks to Dave Giusto

This neat trick involves 2 macros. 

The first macro will insert a new line item to the order using sendkeys of INSERT


Then this macro will call onto another macro to enter the details of this new line item.  How will this call be done?  With a little magic...

Create the second macro but name it something like "&WoW_it_Works".  Notice the & (ampersand) before the W (this causes the W to be the hot-key for that menu pick).  Now that you have a hot key, you can use an Alt sequence to activate the menu. You will notice that in the Macro Menu the W will be underlined indicating that it is a hot key.

So what this allows us to do is use "sendkeys" in the first macro to launch the second macro, in this case, the "WoW_it_Works" macro


% = Alt
M = The main menu bar item with the M hot key (for order entry this is the Macro menu but not every window has M as Macros - look at Part Maintenance, M is for Maintain and 'a' is for Macros.
W = the menu item with the W hot Key -> WoW_it_Works

So now you have the first macro just sending keystrokes to insert a new line (or lines if you want more) and the ALT sequence to kick off another macro.

The reason why the 2 macro-combo (say that 3 times!) works is because after the 1st macro runs the control is handed back to the application and it consumes the keystroke information, this allows for the creation of new line object so that by the time the second macro runs the new line exists for processing.

Main Macro (call it what ever name you want)

Set ObjShell = CreateObject ("")
objShell.AppActivate("Customer Order Entry")

' Send an INSERT to add a Line Item

'Send the Alt-M-W sequence to launch the "Wow_it_Works" Macro

In the second macro you can load the lines with what ever data you want using the standard LINES object.

Second Macro (named "&Wow_it_Works")
'Go to last line in the LINES object



'Test to make sure that the line IS EMPTY (This macro can be manually run on its own so you need to 'do this so you don't overwrite a line of real data)


'Line is not empty


'Line is empty
'Enter new line details


End if

And there you have it!!

Dave currently works out of the New York office of Synergy Resources and can be reached there or via the Visual Manufacturing International User Group (VMIUG) under the handle dave_giusto.



Richard Ferlatte
Results Driven VISUAL Specialist


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.
Credit Card Integration
Easily accept and process credit card payments right from within VISUAL.
CAD Integration with CADLink
Reduce rework, minimize scrap, and work more efficiently with CADLink - a fully automated, two-way connection between VISUAL and your CAD system.
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.
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.