How to measure Customer Satisfaction and grow your business

Using VISUAL to manage customer satisfaction
So you managed to convert a prospect into a customer and an order - good stuff! 

Now what are you going to do to keep them as a customer?  One thing for sure is that you want to keep them happy.

Happy Customer = Profitable Customer

Building up loyalty fosters repeat business - which reduces the cost of sales in customer acquisitions.  Happy customers are also most likely to refer you to others; acting as your champion and bringing in more sales....bonus!

How do you know if your customers are happy? 

You need to measure it.

And after you measure it, you need to manage it

And then you need to report and act on it.

You may already have a process and methodology in place (or maybe not).  Either way, you can have VISUAL be part of the process and help facilitate and manage accordingly.

Let's walkthrough how we can do this with VISUAL ERP.

Let's say we want to measure our customer's satisfaction based on Price, Quality and Delivery on each sales order.  So after each shipment of an order, someone will follow up with the customer and have them rate the service based on Price, Quality and Delivery.  The customer can rate each as "Great", "Okay" or "Not Good".

Simple metrics - I leave it to you on what the definitions should be.

Now to configure VISUAL ERP, go in Customer Order Entry, and bring up the User Defined Field Maintenance window from the EDIT menu (Edit > Customizable UDFs...).

From there, you will want to click on the Insert Tab UDF toolbar icon (or select it from the EDIT menu).  We'll first start by adding the first customer satisfaction metric "Price".  Set the following parameters:

  • Data Type: select String List (which will contain the 3 possible values Great, Okay and Not Good)
  • Tab: enter "Customer Satisfaction" - this is the tab that will appear in the customer order header area
  • Label: enter "Price" - this is the caption of the first metric
  • Seq No: accept the default value

Customizable User Defined Field in VISUAL ERP


As mentioned earlier - Price can be either "Great", "Okay" or "Not Good" - so we will need to create a pre-defined List containing these values. 

Check the LIST checkbox on the right...and click on the SET LIST button.

In the following window, use the INSERT button to enter the 3 values.  You may notice in the screenshot - I also refer to a number range - so that customers can be asked to rate on a numbered scale too.  Again - your company's metric definitions may be different.


Customizable UDF String List in VISUAL ERP

Once you have created the above list.  Click Save to continue

You will want to repeat the above steps for the Quality and Delivery metrics (fields)

We'll also create an extra field to capture any additional information a customer may provide (a free form field). 

So, in the same manner as you did previously, click on the Insert Tab UDF toolbar icon and set the following parameters:

  • Data Type: select String
  • Tab: enter/select "Customer Satisfaction"
  • Label: enter "Comments"
  • Seq No: accept the default value

Adding a Custom UDF in VISUAL ERP


Your User Defined Field Maintenance window should now contain the 4 fields created (shown below).  Click on the Save toolbar icon to save everything to VISUAL - which will create these new fields to the Customer Order Enter user interface.


List of Customizable UDFs in VISUAL ERP

Your Customer Order Entry window should now have a "Customer Satisfaction" Tab in the header area - with the 4 fields we created.

Customer Satisfaction Metrics in VISUAL
Custom "Customer Satisfaction" Tab in Customer Order Entry window

So now you have a place to capture and maintain Customer Satisfaction at the customer order level.

Having a place to capture this information is great - BUT how can we ensure that someone from customer service will remember to follow through and contact the customer? 

Well, one way to help facilitate this is through using VISUAL's Workflow.

With Workflow, you can have VISUAL send an email reminder as well as create a task for customer service after the customer order has been shipped and closed

The workflow structure could look like this (simplified):

  Customer Satisfaction Workflow in VISUAL ERP


The above is one example on how you can leverage VISUAL's features and functions to measure and manage customer satisfaction.  I hope this get's you thinking on how you can incorporate something similar into your practice.


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.


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

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

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.


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


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. 

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 


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 

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




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.