While pushing expenses to GP via eConnect you may get the error below


Timestamp:11/9/2015 9:17:06 AM Category:Main GP Exception Priority:1  EventId:100 Severity:Critical
                  Title:Exception while processing GP Upload 
           Message:GPPayablesInvoiceUpload.cs System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  To create the source, you need permission to read all event logs to make sure that the new source name is unique.  Inaccessible logs: Security.
   at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly, Boolean wantToCreate)
   at System.Diagnostics.EventLog.SourceExists(String source, String machineName, Boolean wantToCreate)
   at System.Diagnostics.EventLogInternal.VerifyAndCreateSource(String sourceName, String currentMachineName)
   at System.Diagnostics.EventLogInternal.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
   at System.Diagnostics.EventLog.WriteEntry(String source, String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
   at Microsoft.Dynamics.GP.eConnect.EventLogHelper.CreateEventLogEntry(Exception exception, String action, Object[] inputParameters)
   at Microsoft.Dynamics.GP.eConnect.eConnectMethods.CreateTransactionEntity(String connectionString, String sXML)
   at GorillExpense.IntegrationApp.Classes.GPeConnectPayablesInvoiceUpload.GPProcessSingleBatch(List`1 exp, List`1 memoFlds, Decimal total_amt)
   at GorillExpense.IntegrationApp.Classes.GPeConnectPayablesInvoiceUpload.GPProcessSingleExpense(List`1 ListExpenseInfo, List`1 Listsettings, List`1 ListConfigLabelInfo, Boolean _ValidateOnly)
The Zone of the assembly that failed was:
MyComputer
          


Solution

Please make sure that you actually need to use eConnect option or not. This option is selected on the logon screen and you typically do not need to use eConnect unless you are using GP MEM, AA or AIT or Project Accounting modules.


If you are indeed instructed to use eConnect, then follow the steps to resolve this issue. Find the user who is running the GP eConnect service by going to Administrative tools -> Services. Please see screen below




  1. Open the Registry Editor:
    1. Select Start then Run
    2. Enter regedt32 or regedit
  2. Navigate/expand to the following key:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog

  3. Right click on this entry and select Permissions

  4. Give all permissions to user running GP eConnect service (user marked in the screen above) AND the user logged in to the windows
  5. Repeat on SQL server for the corresponding account on SQL server that is running the eConnect Service
  6. Restart eConnect service on client and server
  7. Repeat for HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security