This article discusses this error:

Error Number = 67 Stored Procedure= taSopHdrIvcInsert Error Description = Subtotal does not match the line item totals

Node Identifier Parameters: taSopHdrIvcInsert



Related Error Code Parameters for Node : taSopHdrIvcInsert

SUBTOTAL = Note: This parameter was not passed in, no value for the parameter will be returned.


This article contains a script that will automatically backup one database and restore it to another, it can be automated

The definitive discussion about what causes this error

Sql procedure error codes returned:

Error Number = 299 Stored Procedure= taSopLineIvcInsert Error Description = Unit Price calculation does not match out to Extended price
Node Identifier Parameters: taSopLineIvcInsert
LNITMSEQ = 16384
Related Error Code Parameters for Node : taSopLineIvcInsert
QUANTITY = 4.00000
UNITPRCE = 135.20000
MRKDNAMT = Note: This parameter was not passed in, no value for the parameter will be returned.
XTNDPRCE = 676.00000




We get an amount of question here about Web Services for Dynamics GP, and it's sometimes helpful to have the XML that is being submitted to GP. The XML is language agnostic, it's the piece that is submitted by your code. This article is a short primer on how to get the XML from the Exception console

This article contains code to retrieve a PO document using Web Services for Dynamics GP 2015


There are several techniques that can be used to see the SQL code that is being executed by Dynamics GP, this article discusses how to turn on Dex SQL logging

Today we'll look at how to create a new SSRS report from scratch using one of the standard views that ship with Dynamics GP

Today we'll show you how to create an SSRS report from scratch using one of the built in Report Models that ship with Dynamics GP. This article was coded against GP 2015

Here's the situation:

You open up a stock Dynamics GP SSRS report and you examine the data source. Your objective is to learn how Dynamics GP does things, or maybe to 'soup it up' a little by adding a field or something like that.

When you examine the spot in the data source where the query or stored procedure normally is, you see this:

What on earth is a SemanticQuery??


This article is the first of two parts, we cover making changes to an existing SSRS report.

It happens occasionally that I develop and Integration Manager integration on one machine and it needs to get distributed to clients. This article will detail how to do that.

This article will guide you through opening a stock Dynamics GP report in SSRS

I blog a lot.

A lot, really.

I have occasion to wonder if I need to be using an apostrophe or not... and I'm usually too lazy to look it up. I'll blog the rule here and have it for a reference.

This is Part 2 of our series on making changes to existing Dynamics GP report. Part 1 was a basic primer on how Report Builder works. In this article, we'll dive into the Expression Builder.



This is our third in a series on Making Changes to an Existing Dynamics SSRS report. In Part 1 we explored the Report Builder. In Part 2 we looked at Report Builder expressions.

In this article we put it all together and have some fun.



This article will server as a short menu for our SSRS Tutorials

I love my job. Every day is something new.

Today's challenge is a new, migrated SQL Server install that has several databases that show (Recovery Pending)

Unable to open the physical file "E:\SQLDATA\DYNAMICS_1.ldf". Operating system error 5: "5(Access is denied.)".

This article discusses the fix

This article will contain a collection of useful expressions for the SSRS expression Editor

If you code in Visual Studio, there are things that you do over and over. I try as much as possible to reduce the repletion because it just goes faster, and I'm impatient like that.

That's why we started this site and, to blog all the cool code samples so that we only type them once.

To that end, I type this all the time:


Sub TestSub()
       Catch ex As Exception
           ErrorHandler.globalErrorHandler(ex, True)
       End Try
   End Sub

I created a Code Snippet to automate the typing. If you've never seen how a Code Snippet works, you really should read this.


I am invoicing into GP with Econnect. Everything is inserting correctly except the


into the invoice lines. the header is populating fine

here is my xml

        <taSopCommissions_Items xsi:nil="true"/>


I'm trying to use the built in TACreateEmployee Stored procedure to integrate data from our clinical system into our Payroll system of GP.

 When I query the UPR00100 Table all employees have an ACTINDX value of 0 in the table. If I try to pass the 0 into the TACreateEmployee SP (variable named @I_vAccountNumber)it gives me an error validating to the GL00105 table.  If I don't pass the value I get an error from the SP saying that it cannot insert a null into the ACTINDX field. 

Has anybody else encountered this?  My current plan is to populate the value with one validated in the GL table, and then go back through and update that field to a 0 as part of a cleanup script. 

 Here is the sample code I'm working with:


DECLARE @return_value int,

@O_iErrorState int,

@oErrString varchar(255)

EXEC @return_value = [dbo].[taCreateEmployee]

@I_vEMPLOYID = N'123456789',

@I_vLASTNAME = N'Bosephus',

@I_vFRSTNAME = N'Bojangles',

@I_vSOCSCNUM = N'989909523',




@I_vInactive = N'0',

@I_vAccountNumber = @Valid Value here (but I want to push through a 0 or NULL or no value to get it to work w/o this)

@I_vCHANGEDATE_I = N'2015-08-05',

@I_vDefaultFromClass = 1,

@O_iErrorState = @O_iErrorState OUTPUT,

@oErrString = @oErrString OUTPUT

SELECT @O_iErrorState as N'@O_iErrorState',

@oErrString as N'@oErrString'

SELECT 'Return Value' = @return_value



 I'm creating a Purchase Order with a web service call like this:

1.DynamicsGP ws = new DynamicsGP();
2.Policy policy = ws.GetPolicyByOperation("CreatePurchaseOrder", context);, context, policy);

It all works fine until i try to set ProjectKey and CostCategoryKey to PO line items.

Project accounting module is also installed.

 The PO lines are created like this:

01.PurchaseOrderLine poLine = new PurchaseOrderLine();
02.poLine.Key = new PurchaseTransactionLineKey();
03.poLine.Key.LineSequenceNumber = sequenceNumber;
04.poLine.Key.PurchaseTransactionKey = purchaseOrder.Key;
05.poLine.WarehouseKey = new WarehouseKey();
06.poLine.WarehouseKey.Id = item.SiteKey;
07.poLine.UofM = item.UnitOfMeasure;
08.poLine.QuantityOrdered = new Quantity();
09.poLine.QuantityOrdered.Value = Convert.ToDecimal(item.Quantity.Value);
10.poLine.UnitCost = new MoneyAmount();
11.poLine.UnitCost.Currency = "USD";
12.poLine.UnitCost.DecimalDigits = 2;
13.poLine.UnitCost.Value = Convert.ToDecimal(item.UnitCost.Value);
14.poLine.IsNonInventory = !item.IsInventoryItem.GetValueOrDefault(false);
16.poLine.ProjectKey = new ProjectKey();
17.poLine.ProjectKey.Id = item.ProjectId;
19.poLine.CostCategoryKey = new CostCategoryKey();
20.poLine.CostCategoryKey.Id = item.CostCategoryId;

When I added the code to set the ProjectKey and CostCategoryKey - lines 16 - 20, I started getting the following error from eConnect:

Exception type:

Exception message:
There is a duplicate XML element ProjNum in the document. Please correct it and try again.

Stack Trace:
   at Microsoft.Dynamics.GP.eConnect.EntityMessageProcessor.ExtractStoredProcedureParameters(EntityMessage message, IEnumerable`1 xmlList)
   at Microsoft.Dynamics.GP.eConnect.EntityMessageProcessor.ExecuteSqlCommands(XElement transactionNode, EntityMessage message)
   at Microsoft.Dynamics.GP.eConnect.eConnectMethods.ProcessMessageImport(EntityMessage message)
   at Microsoft.Dynamics.GP.eConnect.eConnectMethods.EntityImportImplementation(String connectionString, String sXML, Boolean isTransaction)
   at Microsoft.Dynamics.GP.eConnect.eConnectMethods.CreateEntity(String connectionString, String sXML)


I was able to create a Purchase Order with the same parameters I'm passing to the web service call through the UI and all went fine.


Any help or advice is very much appreciated!

Thanks in advance!


I am inserting an invoice with a payment record that is EFT. I am setting the PYMTTYPE to 5

if i just do this it work fine however when i add the 

PROCESSELECTRONICALLY  flag its giving me a 

Exception type:



Exception message:

Sql procedure error codes returned:


Error Number = 11457  Stored Procedure= taCreateSopPaymentInsertRecord  Error Description = Invalid payment type for PROCESSELECTRONICALLY=True. Valid PYMTTYPE values are 3 and 6 Node Identifier Parameters: taCreateSopPaymentInsertRecord SOPNUMBE = 1362420 SOPTYPE = 3 PYMTTYPE = 5 Related Error Code Parameters for Node : taCreateSopPaymentInsertRecord PROCESSELECTRONICALLY = 1



Error Number = 11458  Stored Procedure= taCreateSopPaymentInsertRecord  Error Description = PROCESSELECTRONICALLY cannot be set when Dynamics Online is not installed and Active Node Identifier Parameters: taCreateSopPaymentInsertRecord SOPNUMBE = 1362420 SOPTYPE = 3 PYMTTYPE = 5 Related Error Code Parameters for Node : taCreateSopPaymentInsertRecord PROCESSELECTRONICALLY = 1















Saludos y bendiciones a todos.

Actualmente se esta instalando win10 a algunas maquinas, es la que ya se ha hecho la instalación me he percatado que todos los formularios y reportes modificados dicen bloqueado, tal como se muestra en la imagen y no me es posible utilizarlos, podria alguien sugerirme una solución.. Saludos y agardecidos siempre.

We are currently installing Win10 on some machines, is when done installing I have noticed that all modified forms and reports say blocked , as shown in the picture and I can not use , could someone suggest a solution .. Greetings and always agardecidos .



Recientemente se adquirieron unas maquinas con windows 10 y otras fueron actualizadas a windows 10, a partir de ese momento me sale el error,  File not Found Vba6.dll cuando se ejecuta código Visual basic. 

Dado que antes resolví el mismo problema con windows 7 con el procedimiento indicado aqui:

Pero ahora he hecho esto mismo uno me funciona.

Conocen ustedes alguna otra alternativa?


Recently bought a machine with Windows 10 and others were upgraded to Windows 10 , from the time I get the error , File not Found Vba6.dll when Visual Basic code is executed. As previously I solved the same problem with windows 7 to the procedure outlined here:

But now it's not working.

Any ideas?


I am having a sorting issue after I run my integration. I have even modified the .ini with "UseOptimizedFiltering=False"

I have two sources:

Header and Detail both as TEXT.

The Header has sorting set as Order By BATCH ID; Group By Reference, Trans Date and Batch ID.

The integration imports from source however the source file is ordered and the entries after integration in the Transaction entry are in random order. I have verified that I do have FULL access perms to the IM database.

Would any scripting work? Any workaround possible?

Running GP 2010 SP 2 with IM 11.00.1767

Thank you


This article shows how to edit the size of a GRIDBOUNDCOLUMN text box in edit mode (in place editing)

This article will show how to save the panel sizes for a RadSplitConainer to storage and read them back in again

This article details how to save and restore the geometry for a Winforms RadGridView

Table Definition Quick Links
All Tables
SOP Tables
RM Tables
GL Tables
POP Tables
HR Tables
PM Tables
UPR Tables
IV Tables
Olympic Tables