Microsoft Management Reporter End of Live

Every accountant can verify that reports are a necessary evil. Microsoft Dynamic GP first supplemented its internal reports with FRx. Which was transitioned out to Management Reporter to the relief of the GP world? Even experts, such as Mark Polino have written since 2016 about how it is time to rethink Management Reporter, as seen in his article here.

Issues with the datamart have failed consultants consistently. I cannot count the number of times I have received a call that their datamart database is over 100GB. We patch it and provide guidance on report retention. Legacy mode, which works the best for most of my clients, has been discouraged. Microsoft has also removed its road-map for the product, essentially putting it in a graveyard for development. What you see is what you will get. There are no new features coming our way. Updates are only to fix the known bugs and issues with the product.

If Management Reporter is now a functionally dead product, we must ask ourselves what product will replace it? My theory is Jet Global. Here are my top 4 reasons. (

4. Gain some of your time back. Many companies spend hours upon hours every week manually recreating the reports from information pulled from Microsoft Dynamics GP. With Jet Global you set up the report once to pull and calculate from certain fields. The next time your, team opens the report and selects a refresh button. Voila. You got your report and all of your calculations.

3. It is Microsoft Excel based. Every customer I have worked with lives within Microsoft Excel. Whenever I set up an SSRS, Smartlist, or even Management Reporter reports the first question I get is “How do I get this into Excel?” Why go through all that hassle and not just skip directly to Microsoft Excel. Jet Global acts as an Excel Add-on that allows you to securely pull your data into Microsoft Excel. Power Pivot does the same, without the encryption.

2. Which brings me to my third reason…security. As a data professional, I would be remiss to provide any option without consideration to the security of the data. I have had other clients utilize Microsoft Excel data connections. These are not secure and can often have the password for the ODBC within the connection when it refreshes. With Jet Global, everything is encrypted. Even after you are connected, you can have row-level security on the report. Microsoft Excel that uses the data connection doesn’t offer the same level of control over the security.

1. And finally, Jet Global offers additional data connections that will allow your team to connect to multiple data sources at once. Meaning you can have SalesForce and Microsoft Dynamics GP data within the same refreshable Excel report. Additionally, the formulas that you place in from the Excel worksheet will auto-refresh from all connected data sources.

Case Study

I have had several clients come to me with the following error: GplPostBatch returned the following results: DBMS:0, Microsoft Dynamics GP 20052. This typically occurs when they are posting a Journal Entry in the GL or printing an edit list. The one thing that they all have in common is that they used the Excel Copy Paste Feature.

Solution; To prevent this error:
1. Always have the cursor in the first entry position when you paste from Excel.
2. Only the data that is being copied needs to be highlighted. This would leave the header information blank.
3. If your cursor ends up anywhere other than the blank account after pasting the data, then you will need to delete the blank line that appears at the bottom. Data is still in the line and is only appearing blank.

Solution; After the error already accrued:
1. Go to the end of the journal entry. If you expand the blank entry the entry should be blank. If you expand and its information in the Distribution reference then the entry is reading data in the field. Delete this line.
2. If the error still occurs after the line is deleted, then recreate the Journal entry by repasting it in. Delete the old journal entry.
3. If this is a persistent issue, then consider upgrading to GP2018 R2. In their most recent release, they included a fix list and this error was marked as repaired.


Hello Everyone!

I noticed I have been wanting to write more about other topics than just Microsoft Dynamics GP.  I will be expanding to Power BI, Power Apps, and SQL.  Because of this, I changed the name of my blog from Straightforward Dynamics GP to Straightforward IT Talk.  Anyone have any topics they want to learn about, please feel free to reach out.

Top 5 Window Changes to Microsoft Dynamics GP 2018 R2

Its that time again where Microsoft releases a new update for our beloved product. Here is the countdown of my favorite top 5.

5. Retain the Ship-To-Address with Customer Modifier. In prior versions of Microsoft Dynamics GP, the Ship-To-Address name field was removed whenever a customer was modified with the modifier utility or the customer combiner.

4. A new smartlist that shows “Deposits on Unposted Sales Transactions.” This can be found in the smartlists by going to Sales -> Sales Transactions-> Deposits on Unposted Sales Transactions. This will allow your users to save time by not searching through sales transactions to see if any deposits exist. It is programmed to look at the Sales Order WORK table (SOP10100) with a ‘Deposit Received’ (DEPRECVD) greater than zero.


3. Excluding Inactive checkbooks in your lookup. I had a customer ask for this feature two months ago and Microsoft has delivered. It can make your users spot the correct checkbook even faster!


2. Add Vendor Document Number to Purchasing All-In-One View. When I did not think the All-In-One view could get better. This tool allows users to track related documents through the system. Where I ran into trouble when troubleshooting documents is that the vendor document number is the one known and not the document number. With this update, it has been added to the payments and credit documents columns.

1. The Vendor Hold Status will produce a warning when a user enters a transaction. Many clients complain that after they entered transactions they found that the vendor was on hold. Microsoft added a warning, “Vendor XXXX is currently on hold. Do you want to continue?,” to the Payables Vendor Inquiry, Payables Transaction Inquiry – Vendor, the Purchasing All-In-One View, and Payables Transaction Entry Zoom. These windows show a red stop sign after the vendor ID and show a clear indication that the Vendor has issues.


These are my Top 5 favorites. Has anyone else had a chance to review the changes?

SSRS Error: “This page might not function correctly because either your browser does not support scripts or active scripting is disabled”


Recently I have logged into a client’s new server. They recently upgraded and have a new report server. They requested that I edit an SSRS report for them. This was delayed because of the error: “This page might not function correctly because either your browser does not support scripts or active scripting is disabled.”

After some trial and error, looking at permissions and tech guides. I found that this was resolved in an IT 101 troubleshooting task. I added it to the Trusted Sites in Internet Explorer.

SQL Error: “Unclosed quotation mark after the character string”

One of the most frustrating thing that happended to me recently was looking for an unenclosed quotation mark after a character.   The error message “Unclosed quotation mark after the character string” appeared when a client ran a Historical Aged Trial Balance for Payables Management in Microsoft Dynamics GP.  Microsoft offered a solution here.   My initial thought that I would be able to find the problem voucher with little effort.  It should have been a simple select statement filtered to look for a wildcard and single quotation.  I was wrong.

I found that T-SQL likes the single quotes as much as my cat likes water.  I still have scratches from the last bath (not pretty).  Here is a screenshot of my first attempt.


The syntax wasn’t compatible with my theory.  After about an hour of attempting different solutions, I found that you had to search for wildcards before and after the quotations. Here is the SQL solution.
Select * from PM30200 where Doctype=’6′ and VCHRNMBR like ‘%”%’

Error Tuesday: Workflow errors & EXEC wfDeployClrAssemblies

There are many issues that can occur with workflow within Microsoft Dynamics GP. The first step should always be to run the following script on your database (After a backup).

EXEC wfDeployClrAssemblies

If this does not resolve your issue, then I would recommend checking your setup. Sometimes a manager will be removed or an email changed.  I had one instance where workflow was being used and the email server was changed and this caused an error that the script would not resolve.

If you ran the script and went through the setup steps to verify that all setup is correct, then I would open a case with Microsoft.

Jet Reports Prerequisites and Prebuilt Reports

The Prerequisites for Jet Express are low. If your Microsoft Dynamics GP, office and Operating system are on a supported version then you will be able to run Jet Express. The only item that may need to be completed is verifying .NET Framework 4.5 is installed. Here are the following requirements from Jet Report’s website.

Database: Microsoft Dynamics GP (Version 9.0 and Newer)
Microsoft Office: Microsoft Office 2007, 2010, 2013, 2016, Microsoft Office 365 Desktop Edition
Operating System: Microsoft Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2008 through 2012R2
Prerequisites: Microsoft .NET Framework 4.5**
**Microsoft .NET Framework will be installed with Jet Express.

Pre-Built Reports
Another benefit of the link above is the pre-built reports. With Jet Express and Jet Professional, you will receive a list of templates that are ready to be implemented.

IT Friday: Top 3 Reasons You Need to use a Phishing Simulators

Despite all your network protections, all it takes is one click from your end user to open your network.

Imagine, it is three o’clock on a Friday afternoon. Joe opened his email to check the responses from his clients. He sees an email from FedX saying his tracking number is available. Perplexed, Joe opens the e-mail to find what it is about. He wasn’t expecting something from a client. He opens the tracking PDF and sees a generic looking document that doesn’t appear like anything he is working on. Rolling his eyes, after confirming it has nothing to do with his job, he closes it and then deletes it.

After a relaxing weekend. Joe comes into the office and logs into his computer. He goes to open his sales document to be told that it is in an unrecognizable format. Document after document after document produces the same result.   After a 1/2 hour of frustration he finally reaches out to his IT.

His computer and shared drives were encrypted by CryptoLocker.

I would request a raise of hands if this has happened to your company but in this day and age, it probable that your company already has dealt with this horrible virus.

What can we do to protect ourselves?

Typically, a good firewall and anti-virus are recommended. These are the first line of defense against any intruders trying to brute force their way onto your network. Scammers are getting clever and going to old reliable tactics.  Spamming your inboxes with fake messages that launch viruses directly on your end user’s PC. Even a properly setup spam filter will miss a few of the items coming into your network. Which leads us to the last line of your networks defense.

Often the last line of defense against viruses are your users. Users can be tricky. Many end users are savvy and are able to keep up with technological advancements. Others don’t know the first thing about a computer except to turn them on and complete their daily work functions.  With various degrees of technological know-how, they are your last line of defense and it’s your responsibility to verify all of them are trained to not click on that one suspicious email.  If they do click on it, then to reach out to your IT ASAP to immediately start cleaning the PC.

How to provide effective training?

Knowing that it only takes one user, there is a better way to train all employees to reduce the risk of your company becoming a statistic. People learn best by doing. If you want to learn anything then active learning is best. You can send lists to your employees until you are blue in the face and all they will accomplish is a passive understanding. There are several options out there. The one that I have used in the past is knowbe4.   Knowbe4 is only one example of a phishing simulator.  Here are some more:

These types of services allow you to send test emails mimicking phishing emails.  They can be used in conjunction with training and a way to train how well your team is listening and applying what they learned.  If your team is struggling with one concept you can use the simulators to nudge them to remember.  The benefit is that you can train your users in a safe, secure method.  It also allows you to see the likelihood of someone in your network clicking on something they should not.  This is by providing proactive training instead of reactive training.

To summarize the article above:

1. Scammers are not going anywhere.
2. Firewalls, antivirus, and spam filters cannot catch everything and your users will be your last/first line of defense.
3. People learn best by doing.  Using the simulators will only allow your users to train in a safe way while expanding their security awareness knowledge.

Error: “You Can’t complete this process while transactions are being edited”


“You can’t complete this process while transactions are being edited,” is a common error that I see at least 3-4 times a month from various clients. This error can happen on almost any screen or even when you try to exit GP right after you opened the program. Often times if you wait a moment and try the action again the warning will disappear. It is seen when an end user opens Microsoft Dynamics GP and then try to immediately close the program. I have several steps I take to troubleshoot.
First I wait a few moments and try again. If the error persists then I would first have everyone log out of GP and then go into task manager and force a log off for the end user.

Then I would apply a script to clear the temp tables after all users are out of GP.
First I would check to see if these 5 tables are clear after everyone is logged out.

If there is any data in this table then run the delete version of this script to clear the 5 tables.

After these scripts are completed, I would then run the process again to see if it still persists.

If the issue still persists then there could be a duplicate transaction that is hanging around in the Microsoft Dynamics GP tables. Microsoft Dynamics GP is purposely designed to have separate tables for WORK, OPEN and HISTORY transactions and because of this division, it is possible to have transactions stuck between tables or even have duplications. More specifically, when the triggers in SQL were activated they did not clear the previous table in the correct order. Let us say that you have a Purchase order batch that was running before you got the error. The tables this batch would use are the PM1000, PM2000, and PM30300. It is possible for one or more entries to be in the PM100 and PM2000 or even the PM2000 and PM30300. The best way to detect this is to run the duplicate transactions script on this link.  Dave Musgrave created this script and you would run it on the modules to see where the duplications lie.
After I identify which module, I will do a lookup on all the tables within his script to see which are the culprits. After IDing where the problem lies, I will then refresh the test database with a copy of LIVE.
After your test company is refreshed I will then start to delete the lowest table, and then open GP to the Tcompanymany. I then go to batch recovery. If it is the correct table then the batch recovery should complete the posting of the transaction. If it does not work then I exit GP and refresh the test company again. I then delete the other table and try the batch recovery to very that it posts. After confirmation that the batch posts I then login to the LIVE company and run the delete script on the correct table.

It is important to note that each duplicate transaction posting is different. ALWAYS back up your live environment before running a delete statement in your SQL.