Top Categories:
Dynamics GP
ClassicPress

Implementing Post Master Enterprise: Configure Windows Service

Microsoft Dynamics GPThis post is part of the series on Implementing Post Master Enterprise for Microsoft Dynamics GP from Envisage Software.

With Post Master Enterprise installed, the next step is to configure the Windows service as Automatic (Delayed Start); this will ensure that SQL Server is running before Post Master itself starts; this does, of course, assume that Post Master is being installed on the SQL Server which is not a requirement.

Launch the Services control panel applet and open the properties for the Post Master Enterprise for Dynamics GP service.

Change the Startup Type to Automatic (Delayed Start):

General tab of Properties

Continue reading "Implementing Post Master Enterprise: Configure Windows Service"

Implementing Post Master Enterprise: Installation

Microsoft Dynamics GPThis post is part of the series on Implementing Post Master Enterprise for Microsoft Dynamics GP from Envisage Software.

Once you have the prerequisites sorted out, launch the Post master setup utility. On the Welcome step, click Next::

Welcome to the Post Master Enterprise for Dynamics GP Setup Wizard

Continue reading "Implementing Post Master Enterprise: Installation"

Implementing Post Master Enterprise: Prerequisites

Envisage Software SolutionsThis post is part of the series on Implementing Post Master Enterprise for Microsoft Dynamics GP from Envisage Software.

The prerequisites for Post master Enterprise are fairly straightforward.

Firstly, a client install of Microsoft Dynamics GP is required; this can be used by users, but you'll need a launch file which doesn't include the products on the incompatible list and if there are any .NET add-ins from the list, a separate install, rather than a separate launch file, will be required.

Secondly, a dedicated Microsoft Dynamics GP user account with permissions to post the batches required. In their documentation, Envisage recommend using an account with the POWERUSER* role, but I would not recommend using an account with those permissions; a role containing only the batch posting for the types you will be posted, is a far more secure option.

Thirdly, a Domain account to use to run the Windows service.

Implementing Post Master Enterprise: Incompatible Modules

Envisage Software SolutionsThis post is part of the series on Implementing Post Master Enterprise for Microsoft Dynamics GP from Envisage Software.

The installation notes for Post Master note that there are known incompatibilities with some first and third party Microsoft Dynamics GP products which can interfere with the start-up or processing of Post Master.

If the below products are installed, a separate launch file or even installation of Dynamics GP will be required:

  • Professional Service Tools Library (listed in the launch file as Technical Service Tools).
  • Report Scheduleer, but only if reports are scheduled.
  • Rockton Auditor
  • Rockton Toolbox
  • Extender Enterprise
  • OlympicSystems.ProjectCost.AddIn.dll
  • Regal Software RegalPay
  • CRG Reformatter

There are also suspected incompatibilities with several other products (I've had to remove Fastpath from the installation I use for Post Master):

  • Dynamic Zip
  • eExpense Integrator
  • RM Mass Apply
  • Fast Path

Implementing Post Master Enterprise: What batch types are supported?

Envisage Software SolutionsThis post is part of the series on Implementing Post Master Enterprise for Microsoft Dynamics GP from Envisage Software.

Post Master Enterprise can post many, but not all types of batch. For the standard Microsoft Dynamics GP modules, the following batch types are supported:

  • Assembly Entry
  • Clearing Entry
  • General Entry
  • In Transit
  • Invoice Entry
  • Payables Transaction Entry
  • Payment Entry
  • Purchasing Invoice Entry
  • Receivables Cash Receipts
  • Receivables Sales Entry
  • Receivings Transaction Entry
  • Sales Transaction Entry
  • Inventory Transaction Entry
  • Inventory Transfer Entry
  • Payroll Manual Checks
  • Payroll Computer Checks

Although, please note the following:

  • Recurring batches are not supported.
  • Batches containing Analytical Accounting information can be posted, but the AA reports must be disabled first.

The following Project Accounting batches are supported:

  • PA Inventory Transfer Entry
  • PA Timesheet Entry
  • PA Employee Expense Entry
  • PA Equipment Log Entry
  • PA Misc Log Entry
  • PA Billing Entry
  • PA Revenue Recognition Entry

Some Interfund Management and Binary Stream Multi-Entity Management batches are supported; WennSoft Job Cost transactions are supported although an additional subscription license is required.

Implementing Post Master Enterprise: What is Post Master Enterprise?

Envisage Software SolutionsThis post is part of the series on Implementing Post Master Enterprise for Microsoft Dynamics GP from Envisage Software.

Post Master Enterprise automates the posting process in Microsoft Dynamics GP which can provide for efficiencies by:

  1. Eliminating the need for users to perform the repetitive task of selecting batches to post.
  2. Reducing the need for users to check for batches to post.
  3. Automatically complete the final step of posting a batch created through an integration.
  4. Ensure inventory and account activity is promptly updated.
  5. Minimise system load by allowing posting to be scheduled out of hours.
  6. Control when different types of batches are posted.
  7. Automatically post batches after Workflow approval.

There are three versions of Post master available from Envisage Software with each version building on the capabilities of the lower version:

  1. Standard
    • Automatically post batches.
    • Schedule out of hours.
    • Multiple different batch reporting options.
  2. Enterprise
    • Runs as Windows service meaning:
      • No Dynamics GP client needs to be running.
      • Automatically starts with Windows.
  3. Multi-Instance
    • Parallel post multiple batches for improved performance.

When selling Post Master to clients, I have never sold the Standard version; the Enterprise version is far more useful as it runs as a Windows service and will automatically start with Windows, reducing the need for a user to log onto Windows and into Dynamics GP. For larger clients, I have sold the Multi-Instance version where there was a lot of companies which would require concurrent processing.

With the Enterprise version, you can specify posting of multiple types of batches across multiple companies, but the processing will be strictly sequential.

Whether you opt for Enterprise or Multi-Instance will depend on the number, frequency and time sensitivity of posting. The initial install for both versions is the same, with some additional steps to enable the muli-instance processing.

Over the next posts in this series, I will be installing and configuring the Enterprise version of Post Master.

Implementing Post Master Enterprise: Who are Envisage Software?

Envisage Software SolutionsThis post is part of the series on Implementing Post Master Enterprise for Microsoft Dynamics GP.

Envisage Software was started by Andrew Dean, an experienced software development manager with 10 years experience of working for a leading Microsoft Dynamics GP client, in 2007. Their aim is to provide quality ISV tools and customised business software solutions for Microsoft Dynamics GP to both customers and partners.

They have a number of products for Microsoft Dynamics GP available:

  • Post Master which is the subject of this series.
  • Exchange Rate Feed which imports currency exchange rates into Dynamics GP.
  • Search Master which adds additional search capabilities to Dynamics GP.
  • InSight – Mobile app which allows out-of-office users access to information from Dynamics GP in real-time.
  • VST Controls which extends the power of Visual Studio Tools for Dynamics GP by allowing a .NET developer to add Windows Component Controls to any GP window.

Implementing Post Master Enterprise: Series Index

Envisage Software SolutionsIn this series of posts I am going to look at implementing Post Master Enterprise for Microsoft Dynamics GP from Envisage Software, an ISV based in Australia.

Post Master is one of the auto-posting tools available for Microsoft Dynamics GP and is one which I have sold a number of times. I'll take a look at the capabilities of the application itself, before moving onto the installation and configuration.

This series index will automatically update as posts go-live, but if you're reading via a syndication, you'll need to go to the original page for the updates: Implementing Post Master Enterprise

Implementing Post Master Enterprise
Who are Envisage Software?
What is Post Master Enterprise?
What batch types are supported?
Incompatible Modules
Prerequisites
Installation
Configure Windows Service

SQL View for to Extract Accruals from Microsoft Dynamics GP Payables Management Module

Microsoft Dynamics GPI recently did a webinar for my employer, ISC Software, on Prepayments and Acruals and as part of the accruals section used a SQL View to extract the accruals to be created; as mentioned in thw webinar, the extract cna be done either using a SmartList or a direct query in SmartConnect.

The SQL view has been created using the EOMONTH function which si available only in later versions of SQL Server; you may need to tweak the script a little to handle getting dates in different ways, if you are running an older version of SQL Server.

IF OBJECT_ID (N'uv_ISC_PayablesAccruals', N'V') IS NOT NULL
    DROP VIEW uv_ISC_PayablesAccruals
GO

CREATE VIEW uv_ISC_PayablesAccruals AS
/*
Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
SELECT * FROM (SELECT 'PAC ' + FORMAT(DATEADD(month,-1,GETDATE()), 'yyyyMM') AS 'Accruals Batch Number' ,FORMAT(EOMONTH(DATEADD(month,-1,GETDATE())), 'dd/MM/yyyy') AS 'Transaction Date' ,FORMAT(DATEADD(day, 1, EOMONTH(DATEADD(month,-1,GETDATE()))), 'dd/MM/yyyy') AS 'Reverse Date' ,'Purchase Accruals ' + FORMAT(DATEADD(month,-1,GETDATE()), 'MM/yyyy') AS 'Reference' ,ISNULL(GL00105_DAIM.ACTNUMST,GL00105.ACTNUMST) AS 'Account'[/sqlred] ,CASE WHEN DOCTYPE = 1 THEN 0 ELSE CASE WHEN PP000100.PP_Module IS NOT NULL THEN SUM(PP000101.TRXAMNT) ELSE SUM(PM10100.CRDTAMNT) END END AS 'Debit' ,CASE WHEN DOCTYPE = 1 THEN CASE WHEN PP000100.PP_Module IS NOT NULL THEN SUM(PP000101.TRXAMNT) ELSE SUM(PM10100.DEBITAMT) END ELSE 0 END AS 'Credit' ,LEFT(RTRIM(CAST(PM10100.VCHRNMBR AS VARCHAR(15))) + ' ' + PM10100.DistRef, 30) AS 'Description' ,PM10100.VCHRNMBR AS 'Voucher Number' ,PM10000.BACHNUMB AS 'Batch Number' ,PM10000.TRXDSCRN AS 'Document Description' ,PM10000.DOCNUMBR AS 'Document Number' ,PM10000.PORDNMBR AS 'PO Number' ,PM10100.DistRef AS 'Distribution Reference' FROM PM10000 AS PM10000 --PM10000 INNER JOIN PM10100 AS PM10100 --PM10100 on PM10100.CNTRLTYP = PM10000.CNTRLTYP AND PM10100.VCHRNMBR = PM10000.VCHRNMBR INNER JOIN GL00105 AS GL00105 --GL00105 on GL00105.ACTINDX = PM10100.DSTINDX LEFT JOIN -- Join to RED PP000100 AS PP000100 --PP000100 on PP000100.CNTRLTYP = PM10100.CNTRLTYP AND PP000100.PP_Document_Number = PM10100.VCHRNMBR AND PP000100.PP_Sequencer = PM10100.DSTSQNUM LEFT JOIN GL00105 AS GL00105_DAIM --GL00105 on GL00105_DAIM.ACTINDX = PP000100.ACTINDX LEFT JOIN PP000101 AS PP000101 --PP000101 on PP000101.PP_Module = PP000100.PP_Module AND PP000101.PP_Record_Type = PP000100.PP_Record_Type AND PP000101.PP_Document_Number = PP000100.PP_Document_Number AND PP000101.PP_Sequencer = PP000100.PP_Sequencer AND PP000101.PPOFFSEQ = PP000100.PPOFFSEQ AND PP000101.CNTRLTYP = PP000100.CNTRLTYP AND PP000101.VCHRNMBR = PP000100.VCHRNMBR AND PP000101.DSTSQNUM = PP000100.DSTSQNUM AND PP000101.GLPOSTDT <= EOMONTH(DATEADD(month,-1,GETDATE())) WHERE PM10000.BCHSOURC = 'PM_Trxent' --Include only normal transactions AND PM10000.DOCTYPE = 1 --Include only Invoices AND PM10100.DISTTYPE = 6 --Include only Purchases Distribution GROUP BY GL00105.ACTNUMST ,GL00105_DAIM.ACTNUMST ,PM10000.DOCTYPE ,PP000100.PP_Module ,PM10100.DistRef ,PM10100.VCHRNMBR ,PM10000.BACHNUMB ,PM10000.TRXDSCRN ,PM10000.DOCNUMBR ,PM10000.PORDNMBR HAVING SUM(PP000101.TRXAMNT) > 0 --partial deferral OR PP000100.PP_Module IS NULL --no deferral UNION ALL SELECT 'PAC ' + FORMAT(DATEADD(month,-1,GETDATE()), 'yyyyMM') AS 'Accruals Batch Number' ,FORMAT(EOMONTH(DATEADD(month,-1,GETDATE())), 'dd/MM/yyyy') AS 'Transaction Date' ,FORMAT(DATEADD(day, 1, EOMONTH(DATEADD(month,-1,GETDATE()))), 'dd/MM/yyyy'[/sqlred]) AS 'Reverse Date' ,'Purchase Accruals ' + FORMAT(DATEADD(month,-1,GETDATE()),'MM/yyyy') AS 'Reference' ,GL00105.ACTNUMST AS 'Account' ,CASE WHEN PP000100.PP_Module IS NOT NULL THEN SUM(PP000101.TRXAMNT) ELSE SUM(PM10100.DEBITAMT) END AS 'Debit' ,CASE WHEN PP000100.PP_Module IS NOT NULL THEN SUM(PP000101.TRXAMNT) ELSE SUM(PM10100.CRDTAMNT) END AS 'Credit' ,'Accrued Purchases' AS 'Description' ,'' AS 'Voucher Number' ,'' AS 'Batch Number' ,'' AS 'Document Description' ,'' AS 'Document Number' ,'' AS 'PO Number' ,'' AS 'Distribution Reference' FROM PM10000 AS PM10000 --PM10000 INNER JOIN PM10100 AS PM10100 --PM10100 on PM10100.CNTRLTYP = PM10000.CNTRLTYP AND PM10100.VCHRNMBR = PM10000.VCHRNMBR INNER JOIN GL00100 AS GL00100 --GL00100 on GL00100.ACTDESCR = 'Accrued Purchases' INNER JOIN GL00105 AS GL00105 --GL00105 on GL00105.ACTINDX = GL00100.ACTINDX LEFT JOIN -- Join to RED PP000100 AS PP000100 --PP000100 on PP000100.CNTRLTYP = PM10100.CNTRLTYP AND PP000100.PP_Document_Number = PM10100.VCHRNMBR AND PP000100.PP_Sequencer = PM10100.DSTSQNUM LEFT JOIN GL00105 AS GL00105_DAIM --GL00105 on GL00105_DAIM.ACTINDX = PP000100.ACTINDX LEFT JOIN PP000101 AS PP000101 --PP000101 on PP000101.PP_Module = PP000100.PP_Module AND PP000101.PP_Record_Type = PP000100.PP_Record_Type AND PP000101.PP_Document_Number = PP000100.PP_Document_Number AND PP000101.PP_Sequencer = PP000100.PP_Sequencer AND PP000101.PPOFFSEQ = PP000100.PPOFFSEQ AND PP000101.CNTRLTYP = PP000100.CNTRLTYP AND PP000101.VCHRNMBR = PP000100.VCHRNMBR AND PP000101.DSTSQNUM = PP000100.DSTSQNUM AND PP000101.GLPOSTDT <= EOMONTH(DATEADD(month,-1,GETDATE())) WHERE PM10000.BCHSOURC = 'PM_Trxent' --Include only normal transactions AND PM10000.DOCTYPE = 1 --Include only Invoices AND PM10100.DISTTYPE = 6 --Include only Purchases Distribution GROUP BY GL00105.ACTNUMST ,GL00105_DAIM.ACTNUMST ,PM10000.DOCTYPE ,PP000100.PP_Module HAVING SUM(PP000101.TRXAMNT) > 0 --partial deferral OR PP000100.PP_Module IS NULL --no deferral ) AS Accruals WHERE Accruals.Debit >[/sqlgrey] 0 OR Accruals.Credit > 0 GO GRANT SELECT ON uv_ISC_PayablesAccruals TO DYNGRP GO

Identify and Fix Corrupt SOP Transactions in Microsoft Dynamics GP

Microsoft Dynamics GPA client recently logged a support call whereby reports were showing incorrect information, including for transactions which had been deleted. I did some exploring mof data and found that the SOP10200 and SOP10106 tables contained rows for transactions which were not in the SOP10100 table.

From reviewing the data, deleted transactions which had an entry in SOP10106 would also have one in SOP10200 making the job of identifying the corrupt ones somewhat easier (SOP10106 contains both Work and History rows).

The first script identifies rows in SOP10106 which are orphaned:

/*
Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
SELECT DISTINCT SOPL.SOPNUMBE ,SOPL.SOPTYPE FROM SOP10200 AS SOPL --SOP10200 INNER JOIN SOP10106 AS SOPU --SOP10106 ON SOPU.SOPNUMBE = SOPL.SOPNUMBE AND SOPU.SOPTYPE = SOPL.SOPTYPE LEFT JOIN SOP10100 AS SOPH --SOP10100 ON SOPH.SOPNUMBE = SOPL.SOPNUMBE AND SOPH.SOPTYPE = SOPL.SOPTYPE WHERE SOPH.SOPNUMBE IS NULL GO

Continue reading "Identify and Fix Corrupt SOP Transactions in Microsoft Dynamics GP"