Choosing a Development Tool

David Meego - Click for blog homepageThis is a reposting of an article I originally wrote on my Developing for Dynamics GP blog.

One of the great things about Microsoft Dynamics GP is the fact that there so many options available to integrate with or customise the application.

There is a range from full development environments, to tools for consultants to utilities for the end user.

The list includes Dexterity, Modifier, Visual Basic for Applications, eConnect, Visual Studio Tools, Web Services, Continuum, Integration Manager, Extender, ODBC.  So which is best to use… Well that answer depends on a number of variables. This was the topic that I co-presented with Mike LoPatriello at the Microsoft Dynamics GP Technical Airlift 2008 recently (follow the link for the session materials).

Here are some points to think about:

  • Exactly what you are trying to achieve?
  • Do I need to modify the user interface?
  • Am I modifying a core (Dynamics.dic) or third party window?
  • Do I need to change the existing behaviour of the application?
  • Am I only extending the functionality without changing existing functionality?
  • Do I just need some additional fields stored against an object?
  • Am I only reading and writing data from an external application?
  • Does my table level integration need to be real-time?
  • Do I want to ensure that the business rules are still checked?
  • Which tool(s) can achieve this?
  • What tool(s) do I already have experience with?
  • Do I need to use more than one tool to achieve a hybrid solution?

As well as the materials from the Technical Airlift session, the following white papers are an excellent comparison of the various tools with their abilities, strengths and weaknesses.

Another great resource to look at is the Microsoft Dynamics GP Developer Center, many materials and links can be found from the Developer Center.

Download links for training materials for Dexterity can be found on the Training Links page. Links for developer knowledge base articles can be found on the Developer Article Links page.

You can also refer to the Dex – How to get started with Dexterity post for information on developing with Dexterity.

Don’t be afraid to consider working with more than one tool at the same time as each tool has advantages, disadvantages and limitations. Sometimes one tool can handle one aspect of your customisation better than another.  Have a look at Developing Outside of the Box post and the Hybrid tag for more information and examples. Sometimes a hybrid approach can be the most elegant solution.

Please post your thoughts or comments on choosing a development tool as comments.


30-Oct-2008: Added Developer Documentation links.

03-Nov-2008: Added links to training materials.

24-Apr-2008: Added link to the Dex – How to get started with Dexterity and Developing Outside of the Box posts.

21-Apr-2011: Added Link for Microsoft Dynamics GP 2010 White Paper: Choosing a Development Tool.

14-Mar-2020: Added link to local copy of White Paper as old links are broken.

This article was originally posted on the Developing for Dynamics GP Blog and has been reposted on

8 thoughts on “Choosing a Development Tool

  1. Hi Spalterpea
    Dexterity, VBA and Visual Studio Tools don't have the ability to create Forms, windows or controls on the fly.
    However, some clever development can fake this.  You can have generic windows with generic fields and just hide, show and move the fields as required.  This is exactly how the Extender product "creates" windows on the fly.


  2. Hi Dave
    Thank you for your reply. 🙂
    Would you recommend using DEX or VS Tools.
    I recall Dex not being able to open more than one instance of a form/window at a time. If you created a set of generic windows you would be limited by the number of windows you could have.
    Does VS tools allow you to open multiple instances of the same window, each with it's own set of attributes?


  3. Hi Spalterpea
    Dexterity is still limited to a single instance of a form.  That's why Extender has 15 of each type of form.  Once you have one you can just duplicate the form and write code that will open the next available form.
    With Visual Studio Tools and a WinForm it should be possible to open more than one instance of a form, but I have not tested this.  It would be worth testing this with a prototype before spending much time going down this path.


  4. Hi David
    please could you help me with this, i am developing a web app for purchase order integration with web services
    but when i execute the examples i always get this error
    The request failed with HTTP status 401: Unauthorized.
    in all examples i get the error, always in the GetPolicyByOperation method
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("…/GetPolicyByOperation", RequestNamespace="…/01", ResponseNamespace="…/01", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    Line 7883:        public Policy GetPolicyByOperation(string operation, [System.Xml.Serialization.XmlElementAttribute(Namespace="…/01", IsNullable=true)] Context Context) {
    Line 7884:            object[] results = this.Invoke("GetPolicyByOperation", new object[] {
    Line 7885:                        operation,
    Line 7886:                        Context});
    do you know how to solve this?
    thanks a lot


Please post feedback or comments

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.