Wednesday, December 30, 2009

2010 US Payroll Tax Updates Round 1 now available

Microsoft has released the 2,010 Payroll Tax Updates - Round 1, available for download un CustomerSource and PartnerSource and has communicated that Round 2 will be out the week of January 18th to include changes to Rhode Island and EIC. As many of you have been sending comments and emails about Payroll Tax Updates and Year-End procedures, here is a compiled list of resources for both US and Canada.

Featured on this site

Payroll Year-End Close and W-2 Forms Supportability
US Payroll Tax Update Rounds*
2009 Payroll Tax Update for Microsoft Dynamics GP 8.0

* The following is the complete list of Payroll Tax Update rounds for 2009.

External resources
Version 9
CustomerSource/PartnerSource 2010 U.S. Payroll Tax Update for Microsoft Dynamics GP 9.0 (Round 1)
CustomerSource/PartnerSource 2009 U.S. Payroll Year End Update for Microsoft Dynamics GP 9.0
CustomerSource/PartnerSource 2009 Canadian Payroll Year End Update for Microsoft Dynamics GP 9.0

Version 10
CustomerSource/PartnerSource 2010 U.S. Payroll Tax Update for Microsoft Dynamics GP 10.0 (Round 1)
CustomerSource/PartnerSource 2009 U.S. Payroll Year End Update for Microsoft Dynamics GP 10.0
CustomerSource/PartnerSource 2009 Canadian Payroll Year End Update for Microsoft Dynamics GP 10.0

KB Articles US Payroll

KB Article 850663 - Year-end closing procedures for Microsoft Dynamics GP Payroll
KB Article 856808 - How to process a test "payroll year-end" close by using live payroll data in Microsoft Dynamics GP
KB Article 954154 - Information about the tax fields and year-end update fields in Payroll in Microsoft Dynamics GP

KB Articles Canadian Payroll

KB Article 861806 - Year-end closing procedures for the Canadian Payroll module in Microsoft Dynamics GP

Please comment back with your own tips or issues found during the closing process. Finally, backup, backup, and backup at each step of the way.

Until next post!

Mariano Gomez, MIS, MCP, MVP
Maximum Global Business, LLC

Tuesday, December 29, 2009

The Dynamics GP Blogster's best articles of 2009

Another years is gone by and as it's customary around the last days of the year the media always seems to have some list with "The best this" or "The best that" of the outgoing year. I figured I won't stay behind and, while by no stretch of the imagination I am some media conglomerate, I would join in with the best articles or series of articles published on this site during the 2009 year. Hope you enjoy the selection and chime in with the ones you believe were the best. So let's get the ball rolling!

1. Sending emails with Collaboration Data Objects (CDO) and Dexterity (Jan 19). This article became a hit with the Dynamics GP development community and formed the base for the SMTP email capabilities built into the Support Debugging Tool.

2. Displaying Hijri dates in Microsoft Dynamics GP (Feb 19). What was once thought impossible -- displaying Hijri dates -- was accomplished with a couple lines of code. Now the Dynamics GP community in the Middle East is able to accomodate this simple script and use it on some of their reports.

3. Fargo Flooding (March series). Not every article was Dynamics GP technical or functional in nature. Many of us were very concerned about the well being of our friends in the plains and I believe I was able to communicate a bit of this during those tough times with the invaluable help of my friend Tom Irsfeld.

4. Modifier with VBA Workshop (March series). I believe this was the first time anyone has ever used a blog to deliver training content like this. Nonetheless, many of you had rave reviews about this workshop and expressed wanting to see more content like this delivered.

5. Are you a "Musgravion" follower? (Apr 17). Simple, if your not then we have a problem :-)

6. Is there a maximum number of lines that can be inserted in any given scrolling window? (May 11). What started as a brain teaser was quickly embraced by many of you as a good article that clearly explained the role of line sequence numbers in scrolling window.

7. How does Check Links work? (Jun 18). This article was created based on numerous newsgroup questions asking about Microsoft Dynamics GP maintenance procedures and why check links removed records in the process.

8. Microsoft Dynamics GP in Russian - Microsoft Dynamics Г.П. на русском языке (Jul 28). Controversy? Excitement? You choose, but this article caught the attention of my Eastern European friends and everyone who was interested in knowing if it was even possible to see a Cyrilic version of GP. Being this a pet project, it has been placed on hold indefinitely.

9. Microsoft Dynamics GP v10 and supported virtualization platforms (Sep 21). The topic of virtualization eluded the Community for a while and I tried to provide some info and source where you could go for platform compatibility with Microsoft Dynamics GP. A start nonetheless!

10. Microsoft Dynamics GP Technical Conference 2009 (Nov series). I really enjoyed my time at the Conference and well, most of you are still talking about it so here it is again.

I hope you enjoyed the selection and if you think I missed something just chime in with some of your best articles.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Thursday, December 24, 2009

Happy Holidays!

Merry Christmas! Happy Hanukkah! Happy Kwanzaa! Happy Al-Hijira!

Best wishes throughout the Holiday season in company of your friends and family from The Dynamics GP Blogster. Once again, thanks for all your support and comments throughout the year and for confirming what I always knew: the more information you have, the better you can perform your job. That's the objective of this blog and the reason I strive to deliver a variety of information and topics always revolving around Dynamics GP.

2010 will sure bring exciting stuff! We have the long awaited GP "11" release coming out, the new Microsoft Office 2010, incredible features being delivered in Microsoft SharePoint 2010, the new and spectacular, feature-rich Microsoft Visual Studio 2010, the promising Power Pivot, and last but not lease, the new Microsoft SQL Server 2010.

To accompany this array of applications and tools, we have spectacular events like Convergence, right in my backyard here in Atlanta. In addition, and as most of you already know, my first book will also be available around the August 2010 timeframe.

As you can see, all this should keep this humble author busy just as much as it will keep you coming back for more. Don't forget to take advantage of other colleagues sites: MVP Mark Polino's DynamicAccounting, MVP Frank Hamelly's gp2TheMax, MVP Victoria Yudin's Ramblings and Musings, MVP Leslie Vail's Dynamics Confessor, David Musgrave's Developing for Dynamics GP, and the list goes on and on (see the left pane of this site).

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Wednesday, December 23, 2009

New article on MSDynamicsWorld: "Putting to Rest Four Myths About Microsoft Dynamics GP Integration Manager"

Folks, this time I take a hard swing at four common myths around the *beloved* Integration Manager. I know there are a lot of mixed feelings out there when it comes to poor IM, but this tool has saved my *ss in more than one occasion and in this article I make a case for its use in serious mission critical application integrations.

So head over to MSDynamicsWorld and read up! After reading the article, I would like to get your comments and experiences with IM.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Sunday, December 20, 2009

MSDynamicsWorld releases Top 10 Microsoft Dynamics Stories of 2009

Fresh out of the oven is MSDynamicsWorld's Top 10 Microsoft Dynamics Stories of 2009. I am honored to have one of the most read stories of this year with my article Four Microsoft Dynamics GP Project Team Blunders and How I Become a Hero. I have received numerous inquiries on the subject since the article was published and it's safe to say the Microsoft Dynamics ecosystem is always looking to maximize its implementation dollars, while making sure projects will be delivered on time.

Once again, thank you for your support and readership, and please drop me a comment letting me know what stories you would like me to cover in 2010.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Hybrid - SOP Batch Splitting

Two weeks ago, I began working on a Microsoft CRM to Microsoft Dynamics GP integration project. Sales orders initiated in CRM and are transferred to GP once they are submitted in CRM. Once the orders got to GP they must be placed on automatic hold for document verification. However, once the hold was removed, the client wanted to be able to transfer all verified orders in bulk... so far good! The problem though was, when orders were transferred to invoices, the invoices remained mixed with the orders that did not get transferred in the same batch. This presented a control issue for the client as the staff performing the documentation is not the same staff transferring the orders.

Last year I posted the article Moving SOP Transactions from One Batch to Another. This article demonstrated a SQL script that would allow a database administrator to move SOP documents from one batch to another. The script in that article forms the basis for this customization. However, to make it more user friendly, I decided to provide the client with a way of running it from the Microsoft Dynamics GP interface by adding a Split button with Modifier to the SOP Batch Entry window. The following is a modified version of the SOP Batch Entry window with the Split button.

The Split button in turn, prompts the user for a new batch that will host the invoices. Upon entering the new batch number, the VBA script instantiates the UserInfo object to create an ADO connection. The connection executes a stored procedure to move the invoices into the batch entered by the user.

While the customization has been designed specifically to move invoices into a new batch, it can be adapted to move same SOP document types out of a batch containing other SOP document types.


SOP Split Batch - Click here to download package file and SQL stored procedure.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Thursday, December 17, 2009

My interview with DynamicsWorld

The good folks over at DynamicsWorld in UK has a post up interview with ... me! Please take some time to read up as I trace back to the roots of my career and a few comments about the Microsoft Dynamics ecosystem.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Tuesday, December 15, 2009

Payroll Year-End Close and W-2 Forms Supportability

Yep, it's that time of the year again! And no, I am not referring to Christmas, Hannukah, Kwanzaa, or 1st of Muharram, though I respect all these celebrations. I am referring to the not-so-celebrated Payroll year-end close and submissions of W-2s -- at least here in the United States.

So here are a few things to keep in mind for a successful Payroll year-end close and printing of W-2 forms:

1. Apply the 2009 US Payroll Year-End Update

Just don't do it by yourself! If you use Microsoft Dynamics GP v10.0 Extender, do not install the 2009 U.S Payroll Year End Update. If you use U.S. Payroll in addition to Extender and need the country code changes or the 1099-R Distribution code changes, please contact Microsoft Technical Support to assist you in installing the update. This should be a free support case.

If you use Web Services for Microsoft Dynamics GP v10.0, the latest hotfix for Web Services must be installed prior to installing the 2009 U.S Payroll Year End Update above. Click HERE to download the latest hotfix for Web Services.

If you use Olympic Project Cost with Microsoft Dynamics GP v10.0, click HERE to download version PC1002.07. This release must be installed prior to installing 10.0 SP 4 or any later patch release including the Year End Update.

Finally, please review all installation instructions carefully and backup all your databases, reports and forms dictionaries BEFORE applying any of these patches.

Payroll Year-End Update Links:

Microsoft Dynamics GP 10.0 - 2009 U.S. Payroll Year End Update MicrosoftDynamicsGP-KB975174-v10-ENU.msp (Includes Service Pack 4)

Microsoft Dynamics GP 9.0 - 2009 US Payroll Year-end MicrosoftDynamicsGP-KB975177-v9-ENU.msp (Includes Service Pack 4)

2. Note on W-2 Forms

For W-2 forms supportability Microsoft has only tested Deluxe forms. If you use or purchase any other forms, chances are YOU WILL NOT get support in case something does not fit correctly.

You can visit Deluxe's page at If you go to the link choose "Search by" and then choose Microsoft Dynamics. Choose GP version 10 (all should be the same) and choose Laser or Continuous and click continue.You can use this page to compare it to other forms as this page will contain forms that are compatible with Dynamics GP. Deluxe even has available 4-up forms compatible with GP, nonetheless, this is one of those where you would like to check with Microsoft before committing to a particular format

Happy Payroll Year-End Closing!

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Friday, December 11, 2009

Why my PO Number seems to skip randomly?

The opening goes something like this:

I upgraded from version X.XX [typically 7.x, 8.x] to Microsoft Dynamics GP 10.0 and now we are having a problem where the next PO number will sometimes jump back in sequence, often many numbers. What's happening to our PO Numbers?

In my previous article, Why does my next document number change randomly? I gave some insight into why Microsoft Dynamics GP 10.0 seems to randomly skip document numbers, sometimes backwards. Here is more information on PO Numbers and another method of preventing this behavior.

In Microsoft Dynamics GP 10.0 Purchase Order Processing module, it is possible that a user may have a purchase order number that is completely different from the next number found in the Purchase Order Processing Setup window. Although the next number for purchase orders is set up in the Purchase Order Processing Setup window, Microsoft Dynamics GP will look for unused PO numbers that precede that number. The system will be able to re-use a purchase order number in the following circumstances:

1. If you are not keeping purchase order history and void a purchase order.
2. If you are not keeping purchase order history and delete a purchase order.
3. If you are keeping purchase order history and remove historical purchase orders.

If PO Numbers lower than the one specified are still available, Microsoft Dynamics GP will use this PO Number instead of the one you have set up.

To resolve this, you can use the Minimum PO/Receipt Number utility from the Professional Services Tools Library (PSTL). This tool will allow you to prevent Purchase Order Processing from defaulting the PO Number or Receipt Number to a number that is previous to the currently set up next PO.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Wednesday, December 9, 2009

The Technology Corner: Finding your way around Dynamics GP with Mentor

If you are an end user you probably already know that one of the most frustrating aspects of working with GP has to be navigating through the menu structure. Granted, improvements to the navigation bar introduced since version 9 have made things a lot easier. Nonetheless, remembering where to find an option that will take you to a specific window can be very challenging at times for both experienced and novice users. Also, what if the window you are trying to access is not a main window? What if you don't even have security to the window you are trying to access? What if all you know of the window is a portion of the name?

I have to say, I rarely get into blogging about specific ISV solutions, but I had a chance to play around with Mentor by Rockton Software. Mentor answers the questions above and some more about any window, whether in the Dynamics dictionary or any integrating or third party product and is able to provide the exact menu path to follow to access said window.

The Installation Process

I began by downloading Mentor from Rockton Software's website. After filling out a short registration the download process began. I extracted the downloaded zip file into my Microsoft Dynamics GP installation folder. After launching Dynamics GP, the standard dialog to acknowledge the new code was presented. Mentor is fully enabled for the Fabrikam company.

Upon accessing Fabrikam, the Mentor Setup window opened to begin the installation of the database objects. Clicking the Process button triggered the setup process.

After clicking the Yes button in the dialog window the installation process began. In addition to installing the database objects, Mentor collects information about the menu navigation for each window for all products installed on your system.

Using Mentor

Upon completing the installation you will see a new entry on your navigation menu.

By clicking on this entry you immediately gain access to the main Mentor window.

The window is pretty straight forward. I began by testing something pretty obvious. I typed Customer in the search bar. Mentor did exactly what I expected. It searched for all windows that had the word "Customer" in the title, finding 36 items in the process. In addition, Mentor presented all the navigation options for each window and provided visual cues for all windows that can only be opened from a main window.

Mentor is capable of presenting security information for each window displayed, but it also allows you to create shortcuts for these on the navigation bar and provides a quick way to establish the security tasks and roles associated to the window. Mentor is also able to establish whether you have access to a window or not.

Mentor also offers a sidekick called Inspector, which presents information about each individual field being navigated along with information on the tables associated to the form.

Mentor increases your productivity during the first weeks after going live with Dynamics GP and can even offer valuable information to experienced users. Hat tips to the folks at Rockton Software.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

VST - Working with the Action Button in SOP

Last year in May, I worked on a number of VBA SOP customization upgrades from v9 to v10. As a result of the experiences I blogged about the one issue that I ran into in my article Upgrading SOP Entry VBA Customizations from Dynamics GP 9.0 to Dynamics GP 10.0. The main issue was the sudden switch from the individual push button controls to the new Action Button, which is a Dexterity Button Drop List control. Of course, this made the SOP Entry window interface a lot cleaner for v10, but brought its own challenges for developers.

SOP Entry window, GP 9.0

SOP Entry window, GP 10.0

While it is relatively feasible to work with the Action Button from VST, a few things need to be taken into account:

1) Unlike push button controls, button drop list controls do not expose Click Before Original and Click After Original events in Visual Studio. This is because the button drop list control has the menu items selection action to deal with.

2) As a result of the above, the button drop list change event will execute prior to the change event registered in VST, hence, there is a slight chance that certain actions like a clear window or restart form may prevent you from retrieving the option selected by the user in a timely manner.

3) Unfortunately, the only way to access the numeric value associated with an item occupying a specified position in the button drop list is by using passthrough sanScript with the Dynamics Continuum Integration Library. The Value property in VST will return the actual ordinal value of the item selected.

The following code illustrates one method, with a pitfall -- the Transfer action clears out the window before a value can be gathered for the user selection. If you have found a better method to access the Action Button from VST, I would like to hear about your solution.


using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using Microsoft.Dexterity.Bridge;
using DynamicsAssembly = Microsoft.Dexterity.Applications;
using Microsoft.Dexterity.Applications.DynamicsDictionary;

namespace SOPActionButton
public class GPAddIn : IDexterityAddIn
// IDexterityAddIn interface

// setup all Action Button constants
const int ACTION_POST = 1;
const int ACTION_TRANSFER = 2;
const int ACTION_PURCHASE = 3;
const int ACTION_COPY = 7;
const int ACTION_DELETE = 8;
const int ACTION_VOID = 9;

SopEntryForm sopEntry;

public void Initialize()
sopEntry = DynamicsAssembly.Dynamics.Forms.SopEntry;
sopEntry.SopEntry.ActionButton.Change += new EventHandler(ActionButton_Change);


void ActionButton_Change(object sender, EventArgs e)
// define variables to use with Continuum Library
int compilerErrorCode;
string compilerErrorMsg;
string compilerCmd;

if ((sopEntry.SopEntry.SopNumber != "") && (sopEntry.SopEntry.ActionButton.Value != 0))

// create an instance of the Dynamics Application and clear the DDL
Dynamics.Application compilerApp = (Dynamics.Application)Activator.CreateInstance(Type.GetTypeFromProgID("Dynamics.Application"));

// fill the DDL with company name
compilerCmd = "'(L) LATAM LineItemSequence_Return' of window SOP_Entry of form SOP_Entry = itemdata('Action Button' of window SOP_Entry of form SOP_Entry, 'Action Button' of window SOP_Entry of form SOP_Entry);";

compilerApp.CurrentProductID = 0; //Dynamics
compilerErrorCode = compilerApp.ExecuteSanscript(compilerCmd, out compilerErrorMsg);

if (compilerErrorCode != 0)


The above code requires adding a reference to the Dynamics Continuum Integration Library COM library. As a result, it is necessary to alias out the Microsoft.Dexterity.Applications namespace.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Tuesday, December 8, 2009

Meet Mohammad R. Daoud, Dynamics MVP from Amman, Jordan

Folks, it's real cool to be a part of the Microsoft Dynamics GP MVP family, but even more rewarding when you can follow the accomplishments of your colleagues who wear the same badge you do. Microsoft Feed recently featured MVP Mohammad Daoud from Amman, Jordan in an interview examining his personal and professional accomplishments and life as a Microsoft MVP.

Mohammad has been very involved in the Microsoft Dynamics GP community in the Middle East and can now be considered a veteran in the field. In reference to my opening statement for this article, Mohammad is the proud father of a baby boy, one of few born in what could be considered a Microsoft Dynamics GP Community Baby Boom 2009.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Friday, December 4, 2009

New Article on MVP Mark Polino alerts everyone on GP Alerts

"This disk will self destruct in 5 seconds"

As with the movies, MVP Mark Polino makes a theatrical appearance on MSDynamicsWorld showing Microsoft Dynamics GP alert mechanisms. He takes a quick run down through Reminders, SmartList Reminders, Business Alerts and SQL Server alerts. It's very easy to forget that Microsoft Dynamics GP offers a range of mechanisms to work proactively, instead of spending tons of hours at crunch time trying to figure out why AR does not tie with GL.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Inventory BOM vs Manufacturing BOM

I salvaged this post from the Microsoft Dynamics GP Partner Forum comparing the features in Inventory BOM versus those in Manufacturing BOM. The props go out to Microsoft's Jim Shauer for the detailed explanation.

The core Bill of Materials module works closely with the Inventory subledger. You can define bills and assemble the bills in this module. This module works best for companies with a very simple assembly/production process where the finished good production is normally recorded after the fact.

The Manufacturing BOM module stores the definition of the BOMs. It does require the use of the Inventory subledger and you must use this module together with Manufacturing Order Processing. This Order Processing module is used to record the production of the finished goods. The Manufacturing BOM (together with Manufacturing Order Processing) provides more functionality related to the definition of the BOMs and the methods in which those finished goods can be produced. These modules also provide the ability to track labor costs.

Below is a more detailed explanation of the two modules.

GP (Core) Bill Of Materials features:

  • Does not Track Work in Progress (WIP) for Material, Labor and Machine Time
  • Ability to enter a design quantity on the Bill Of Materials (BOM) along with a standard quantity
  • Create a link to associate the lot and serial numbers of components with the lot and serial numbers of finished goods
  • Ability to keep historical information for BOM assemblies BOM types are limited to sales inventory or kits (phantoms)
  • Copy components from one Bill of Materials to another
  • Each line item entered on the BOM (components) can have an effective and obsolete date
  • Use substitute components during assembly quantity shortages
  • Lead times are not tracked Quantities can only be entered in Base Unit of Measure
  • Ability to override quantity shortages during assembly
  • User defined fields for the assembly document
  • Visual indicators for Serial\Lot tracked and Overrides
  • No Integration with Sales Order Processing or Purchase Order Processing
Manufacturing Bill Of Materials features:

  • Tracks Work in Progress (WIP) for Material, Labor and Machine time
  • Ability to enter a fixed quantity on the BOM along with a variable quantity
  • Create a link with the item on the BOM to a particular routing sequence
  • Ability to keep a revision level of all changes made on a BOM
  • Multiple BOM Types and categories (Manufacturing, Engineering, Archived, Configured and Super)
  • Maintain history of BOMs by using BOM Copy
  • Each line item entered on the BOM (components) has an effective in date and effective out date
  • Label a component as being an alternate part
  • Lead Times for components can be calculated by the date entered on the BOM
  • Quantities can be entered using the U of M schedule (doesn't require the use of BASE U of M)
  • Choose to have a lot tracked item pull the quantity from one single lot
  • User defined fields for the components on the BOM Visual indicators for BOM items (Alternates, Serial/Lot tracked, or Phantom)
  • Ability to automatically update changes to BOMs by using the BOM Mass Update feature
  • Ability to mark items as Floor stock; value of the item goes to an expense account during the posting of a Manufacturing Order Receipt
  • Ability to enter Reference Designators Position numbers

Hope you get the value in a short and detailed explanation about the two modules, but at the same time be able to articulate the obvious differences between the two.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC