If you need to update the system password in Dynamics, run this to reset it to 'sa':


Hey all,

I have a requirement to synchronize invoices from an external system into GP.  These come in as purchasing invoices, which will have payments/credit memos/etc. applied.  The results will then be synchronized back.  In order to synchronize back, I have to match up the payments with the original invoice.

From looking at the Payables_Hist_Transaction, which contains the posted payments/credit memos/etc.  I don't see any link back to the invoice.  Since I selected to apply a payment to the invoice from the GUI (and I can verify that it is linked), I can't see why this info is not included (or maybe it is and I am missing it). 

 Is there a way to find out which payable transaction is associated with which document?


Dear All

I am working with GP10 and SP4

I am using eConnect SP3 C# VS2005

I did create an invoice using eConnect, I want to set a payment to this invoice from econnect when creating the invoice (invoice still not posted), If you please I need an example to help me with this.


Other case:

I want to make a Cash Receipt and at the same time make Apply to invoices with econnect how can I do that using C#.


Thank you


Here's a link to the latest eConnect10 web service that I use. There's not much to it, it just accepts an XML file and sends it to Dynamics.

This is a VB.NET web service that you mount on the SQL server. You call it with the XML document that you want to integrate and it makes the eConnect call for you. That way you avoid the DCOM headaches.

So this is more of a rant and a question all in one post here. My issue at this point is how to find the XML in eConnect to do certain things. I know this stems from my not being very familiar with eConnect and GP, but in most cases in my programming career I have been able to read the docs and figure things out. However with GP and eConnect I find myself at a loss as the eConnect docs do not actually say anything useful to me.

So I have the eConnect10 SDK and I have read through (several times now) the eConnectProgrammersGuide.chm and the eConnectInstallAdminGuide.pdf that came with the SDK. I have also read through the cert stuff (eConnect Programmers's Guide Release 10.0 and eConnect for Microsoft Dynamics GP10.0). After all of this and any blog and/or website posting, I am still at a loss on how to get something that in my opinion, should be easy to do.

I need to be able to post transactions for checks that we write out to our agents as their commission checks. The writing of the actual check will take place in code I have written already. Currently we post to a simple table that has a Positive (agent statement) and an offsetting negative (agent check). Now as I understand how accounting systems work, this is simple and not the proper way to do this, but this is how these tables must remain. Since this is not adequate for our accounting staff we are wanting to utilize GP to keep track of this information. This should allow us to balance the books easier and do things like 1099s with ease.

 So what I *have* figured out or at least believe I should be doing is:

  1. Create an Invoice (this will act as the positive or agent statement entry), so that we can Debit the Expense account and Credit the vendor account. 
  2. Create a Manual Check (this will act as the negative or agent check entry), so that we can now Debit the vendor account and Credit the cash account.

So what I thought I should be doing is using the taPMTransactionInsert from eConnect to solve #1 above. However, this does not seem to work the same as the GP forms do. When we create a Transaction Entry in GP we can then go to the General Ledger Batch and post it. Where as my taPMTransactionInsert is in the Purchasing Batch. My guess is I am using the wrong XML, which is where my rant above comes from. How am I to know which XML is to be used? And once I figure out step #1 above will the taPMManualCheck be the right transaction for #2?

Am I missing something big in the docs? Is there another resouce that I am missing?

My eConnect application worked fine during testing, but when I implemented it at a client site, the call to eConnect_EntryPoint() never returns. No errors or anything, don't see anything in the event viewer or logs - the application just locks up and must be shut down manually. Any suggestions on how to go about troubleshooting this?

 I need to import a COA (chart of accounts) in MS Excel into GP.  I read in a GP newsgroup that eConnect is the tool to import COAs into GP.  If so, can someone please provide me with some info on this. 

 Also, I don't know eConnect but wish to learn it and hopefully this will be a good first project. 



Hi All, 

I have a small doubt. I developed a GP-Addin and it access some reports which i developed using crystal reports 10 and used Visual Studio 2005.  After complete development and testing, my client says as GP10 comes with Crystal reports 11 CD, he need to develop the reports in CR 11 and same should be coded in Add-In, as VS2005 supports CR10, i have problem in accessing CR11. Is it advisable to access CR11 reports by referreing CR11 supported .net components in VS2005?

Thanks in Advance



Here's the query that I use for AR Aging queries.


This script (and every other script on this site) is provided 'as-is' and needs to be verified by a qualified accountant. 


Edit 9/17/15 View the main article for this error here 

I have been asked by a customer to send update to Dynamics for SOP transactions, some of which have lotted items. I spent quite some time on it, and then opened up a support case with Microsoft to help me out.

The response is posted below, but the short of it is to delete the SOP line and then readd the line and the lots.

From the response:

I've been looking at this with one of our eConnect developers and there really isn't a way to easily perform an update such as this with reducing the quantity of an existing lot numbered line item. The necessary logic is spread across 2 different stored procedures, the lot and line procs. Unfortunately we can only call one proc at a time and we wind up hitting edit checks in one or the other procedure.

The recommendation for updates such as this is to perform it in a 2-step process. First pass in a taSopLineDelete transaction type to simply remove this line completely from the order. This will wipe out both the line and lot records. Then do your line item update with the line and lot nodes and treat it as though you were appending a new line item to the order. Specifically, ignore the UpdateIfExists field in the Lot node and set UpdateIfExists to 1 in the Line node. This is needed in the line node (even though it's technically a new line item) to flag the call to our recalc proc for the header so that totals on the header can be recalculated.

I did all of my testing in SQL to make it easier to step through the code and records as I went. But here's the final script that successfully removed an existing line item with qty=5 and re-inserted that line with a quantity of 4 with the lot number that I specified. This should give you an idea of the fields that would be needed in your XML at a minimum. With XML you'd be passing the first node, taSopLineDelete, in a separate XML/API call. After that was done, the existing line with Qty=5 would be gone, then you could pass your SOP XML with just the Lot and Line nodes to add the line back in with the correct quantity and lot info.

Here's the script:

set nocount on
declare @O_iErrorState int
declare @oErrString varchar(255)
select @O_iErrorState = 0
begin transaction

if (@O_iErrorState = 0)
 exec taSopLineDelete
  @I_vSOPTYPE = 2,
  @I_vSOPNUMBE = 'ORDST2234',
  @I_vLNITMSEQ = 16384,
  @I_vITEMNMBR = 'CAP100',
  @I_vDeleteType = 1,
  @oErrString = @oErrString output,
  @O_iErrorState = @O_iErrorState output select 'taSopLotAuto Return Code:  '+str(@O_iErrorState)+' Error Code List:  ' +@oErrString end

if (@O_iErrorState = 0)
 exec taSopLotAuto
  @I_vSOPTYPE = 2,
  @I_vSOPNUMBE = 'ORDST2234',
  @I_vLNITMSEQ = 16384,
  @I_vITEMNMBR = 'CAP100',
  @I_vQUANTITY = 4,
  @I_vQTYFULFI = 4,
  @I_vALLOCATE = 1,
  @I_vUOFM = 'Each',
  @oErrString = @oErrString output,
  @O_iErrorState = @O_iErrorState output select 'taSopLotAuto Return Code:  '+str(@O_iErrorState)+' Error Code List:  ' +@oErrString end

if (@O_iErrorState = 0)
 exec taSopLineIvcInsert
  @I_vSOPTYPE = 2,
  @I_vSOPNUMBE = 'ORDST2234',
  @I_vITEMNMBR = 'CAP100',
  @I_vDOCDATE = '4/12/2017',
  @I_vLNITMSEQ = 16384,
  @I_vQUANTITY = 4,
  @I_vUNITPRCE = 9.95,
  @I_vUpdateIfExists = 1,
  @I_vUOFM = 'Each',
  @oErrString = @oErrString output,
  @O_iErrorState = @O_iErrorState output select 'taSopLineIvcInsert Return Code:  '+str(@O_iErrorState)+' Error Code List:  ' +@oErrString end if @O_iErrorState <> 0 begin rollback transaction end else begin Commit transaction end select @O_iErrorState,@oErrString


Edit 9/17/15 View the main article for this error here 

I mentioned last week that I was having trouble updating a SOP line using eConnect when the line contained a lotted item. I asked Microsoft, they advised me to delete the line and re-add it. That worked swimmingly. I got this error when testing:

Stored Procedure taSopLineIvcInsert  Error Description = AUTOALLOCATELOT = 1 and the SOP10101 qty fulfilled does not match the Sop Line fulfilled

and I thought I'd take a second and document it.


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