Visual CRM

Macros in VISUAL CRM? Well, not exactly...

The use of macros in VISUAL is common practice as it allows you to do many things inside and outside of VISUAL, such as, automate tasks, enforce business rules, interact with external applications, validate data, and much more.


Why Not
Why Not?!

But VISUAL Macros are only available from within the VISUAL Enterprise application modules - i.e. Manufacturing.  You will not find the MACRO menu in VISUAL CRM


But don't fret...there something else.

It's called ACTION MENUS.  While they may not be exactly macros - you can do quite a bit with a little programming know how.  Action Menus allow you to run executables from VISUAL CRM and pass parameters.  The available parameters are dependent of the area you happen to be in within CRM.

As usual, I always like to show features/functions using examples.   And this post is no different...

A while back in the VISUAL forums, someone asked whether VISUAL CRM had any macro capabilities as they were wanting to push account information from the Contact Center of CRM to the  Estimation Window of VISUAL.  Responses quickly came back stating that MACROs were not available in CRM (a true fact).

But David Sheriff, from Visual Business Solution, offered up his solution of using CRM's Action Menu - which, I'm sure, opened up a whole new world of opportunities for VISUAL users.

So, making it simple, let's say I want to create new quote using VISUAL's Estimation window from the accounts grid in CRM's Contact Center.  I also want CRM to "push" the account ID, NameContact First and Last Name into the new estimating window.

The solution involves the following elements:

  1. An executable file to "push" the CRM data
  2. An Action Menu item in CRM
  3. A VMX file to launch the VISUAL's Estimation window
  4. An OnLoad macro which will execute and read the flat file containing the "pushed" data

The Executable File

The executable file is written in vbscript to do the following:

  1. Query the database using the ID parameter passed by the ACTION MENU.  The query will return the information needed to be pushed - Account Name, Contact First and Last Name.
  2. Create a flat file of the data that will, in turn be read by the Estimation Window's OnLoad macro.
  3. Create and execute a VMX file to launch the Estimating Window.

Download the the zipped executable file
Be sure to modify the script to include you database credentials and file directory path

The OnLoad macro

The Onload macro file is fired automatically when the Estimating Window loads from the CRM call.  The macro reads the data from the flat file that was created from the executable file and places the values in the following fields:

  • USER DEFINED 1 --> CRM's Account ID
  • NAME --> CRM's Account Name
  • Contact Information --> CRM's Contact First and Last Name

Download the zipped Onload macro
You will need to create a quote in the Estimation window using Quote ID "CRM_QUOTE".  You only need to do this once in your setup and nothing should be in this quote.  It's simply used as a template to fire up the OnLoad macro.

Infor ERP VISUAL - CRM navigationPutting it all together

  1. Place the OnLoad macro file in the proper VISUAL directory so that the system recognizes it
  2. In the navigation area of CRM, select the "Navbar and Plug-Ins" item from the ADMIN men.
  3. In the Navigation Bar and Plug-In Customization window, click on the ACTION MENU tab to add the new MENU that will launch the executable file.
  4. Be sure to enter the following parameters.  Please note that some information will need to be changed as per your VISUAL environment.  The hit the OK button to complete.

    Menu Text: New Estimate for Account   <-- change text if you like
    Show For: Account
    Command: "C:\visual\VMX\NEW_ESTIMATE.vbs" %USER% %ID% %DB%

    *** The path to the executable file - change as necessary ***

    The %USER% %ID% %DB% are the parameters that we're passing to the executable file.  Be sure to place in exact order as shown

    Infor ERP VISUAL - CRM Navigation Bar and Plug-In Customization

Seeing it in action

  1. From the CONTACT CENTER, hightlight one of your prospects or accounts in ACCOUNTS window grid.
  2. Now if you go to the ACTIONS menu, you should now see the menu item you created.  -  In this case "New Estimate for Account".  Go ahead and select it.

    Infor ERP VISUAL - CRM Accounts
  3. You will then see VISUAL launch the ESTIMATING window with information pre-populated with the information "pushed" from CRM.  In this case, the name, contact and the CRM account id.

    Infor ERP VISUAL - Estimating Window


This was obviously a simple example (using basic fields) - but I'm sure you can see how powerful this can be.


The CRM App Builder...finally a need for it.

Nav I've been in the VISUAL space for over 10 years now...and for the life of me I was never able to find a real use (or need) for CRM's App Builder.  And frankly, I never really looked into it because there was so little documentation on it.

I've recently taken another look at this under-appreciated (or misunderstood - at least from me) feature of CRM. 

The App Builder allows you to build your own custom CRM module to enter records and cross-reference them to items in other CRM modules (like accounts and contacts).

Monkey  Huh? 

OK...Let me go through an example instead and you'll get it.

Let say I want to maintain marketing campaigns in CRM.  And for each campaign, I would like to create and assign tasks.  I would also like to keep track of any opportunities uncovered related to the campaigns. 

At first glance, you may think that you could probably achieve this using EVENTS (Marketing module).  But for some strange reason you cannot associate events with opportunities.

The App Builder allows you to meet this requirement.  Let walk through it.

  1. From the ADMIN menu, select App Builder.

    Infor VISUAL ERP - CRM Menu 
  2. In the Define Custom Module window, enter "Campaign" and "Campaigns" respectively (as shown).  Then click on the "Define Relationships" button.

    Infor VISUAL ERP - CRM App Builder 
  3. The Define Relationships for Campaign window allows you to cross-reference individual campaigns to other records in CRM.  In this case, we want to assign tasks to campaigns and to link any campaign-related opportuntities.  Select "Opportunity" from the Module to relate to dropdown list and set the Type of Relationship to "M-M" (Many to Many).  Do the same thisng for "Task".  Hit the OK button to finish.

    Infor VISUAL ERP - CRM App Builder
  4. Now we want to build the User Interface for Campaigns.  Select User Defined Fields under the ADMIN menu.

    Infor VISUAL ERP 
  5. For simplicity sake, we're only going to add 2 fields: Start and End Dates for a Campaign.  Click OK when done.

    Infor VISUAL ERP - CRM App Builder 
  6. If you haven't already noticed, Campaigns is now a menu item under the App Builder section of the CRM Navigation.  Click on it to open the Campaigns module

    Infor VISUAL ERP - CRM App Builder 
  7. So now you have your very own custom made Campaign Module.  In the menu bar of the Camapign module, you will find related Tasks and Opportunities (as shown).
    Infor VISUAL ERP - CRM App Builder 
    Infor VISUAL ERP - CRM App Builder 
    Infor VISUAL ERP - CRM App Builder 

There you have it.

Auto numbering in VISUAL CRM

Infor ERP VISUAL - CRM Auto NumberingAs you may have already figured out, VISUAL CRM does not have an option to set the numbering scheme for its various modules (Opportunities, Quotes, Service Orders, Events, etc).  By default each CRM module starts at 00001.  Now just because VISUAL CRM doesn't offer a user interface to set the auto numbering - it doesn't mean that it can't be done. 

It just has to be done from the back end within the VISUAL database.

VISUAL CRM actually uses the same database table (NEXT_NUMBER_GEN) used by VISUAL ERP to maintain its numbering system.  So with a simple update query you can easily set the prefix, suffix, and/or starting number for any CRM module.

To set the auto numbering for a CRM module, you need to update the record relating to that module which would be referenced in the TABLE_NAME field of the table.


The following query will set the auto numbering for OPPORTUNITIES to start at 500 with a prefix of "PP":


This query will set the suffix for EVENTS to "S":



CRM modules referenced in the TABLE_NAME field (the main ones anyway):

  • V_OPPORTUNITY  (Opportunities)
  • V_EVENT  (Events)
  • V_TASK  (Tasks)
  • V_SRVC_ORDER  (Field Service Orders)
  • V_ACCOUNT  (Accounts)
  • V_HISTORY  (History)
  • V_QUOTE  (Quotes)
  • V_CALL  (Calls)



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.