Currency conversion exchange record was not found for currency code USD to currency code GBP

I am entering Cash Receipts for Invoices paid electronically.

I set up the Cash Receipts Group but when I go to Actions>Electronic Interface>Select Invoices, I get the following error message (twice):

Business Layer Exception

Currency conversion exchange record was not found for currency code USD to currency code GBP.

Exception caught in: Epicor.ServiceModel

Error Detail

Description: Currency conversion exchange record was not found for currency code USD to currency code GBP.
Program: Erp.Internal.Lib.Shared.dll
Method: ConvertAmt
Line Number: 102
Column Number: 17
Server Trace Stack: at Erp.Internal.Lib.ConvertAmtEF.ConvertAmt(Decimal Amount, String FromCurr, String ToCurr, List1 ttConvertChainRows, Boolean FromDoc) in c:\_Releases\ERP\RL10.2.100.0\Source\Server\Internal\Lib\Shared\ConvertAmountEF\ConvertAmtEF.cs:line 102 at Erp.Internal.Lib.RoundAmountEF.ConvertAmtRoundDecimals(Decimal Amount, String FromCurr, String ToCurr, List1 ttConvertChain, Boolean FromDocToBase, String ipTableName, String ipFieldName) in c:_Releases\ERP\RL10.2.100.0\Source\Server\Internal\Lib\Shared\RoundAmountEF\RoundAmountEF.cs:line 120
at Erp.Internal.Lib.Rptfieldscalc.rptfieldscalc(IceRow& ttIceRow, LinqRow& ttTable, String RFunction, Boolean RCalcBase, String RFieldList, String RCurrList, String RTableName, String RCurrencyCode, List1 ttConvertChainRows, String RRoundTableName, String RRoundField, Decimal ipDocAmt, Decimal& ipBaseAmt, Decimal& ipRpt1, Decimal& ipRpt2, Decimal& ipRpt3) in c:\_Releases\ERP\RL10.2.100.0\Source\Server\Internal\Lib\Shared\RptFieldsCalc\rptfieldscalc.cs:line 146 at Erp.Internal.Lib.Rptfieldscalc.ConvertAmtRoundDecimalsUsingIceRow(IceRow ttIceRow, Boolean RCalcBase, String RFieldList, String RCurrList, String RTableName, String RCurrencyCode, List1 ttConvertChainRows) in c:_Releases\ERP\RL10.2.100.0\Source\Server\Internal\Lib\Shared\RptFieldsCalc\rptfieldscalc.cs:line 346
at Erp.Services.BO.CashRecSvc.SelectInvoices(String pcGroupID, Nullable1 pdtDueDate, Nullable1 pdtTranDate, Boolean plApplyDiscount, String pcCustomerList, String pcPaymentMethod) in C:_Releases\ERP\UD10.2.100.6\Source\Server\Services\BO\CashRec\CashRec.cs:line 12605
at Erp.Services.BO.CashRecSvcFacade.SelectInvoices(String pcGroupID, Nullable1 pdtDueDate, Nullable1 pdtTranDate, Boolean plApplyDiscount, String pcCustomerList, String pcPaymentMethod) in C:_Releases\ERP\UD10.2.100.6\Source\Server\Services\BO\CashRec\CashRecSvcFacade.cs:line 2461
at SyncInvokeSelectInvoices(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func2 func) in C:\_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59 at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func2 func) in C:_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 28
at Epicor.Hosting.Wcf.EpiOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) in C:_Releases\ICE\ICE3.2.100.6\Source\Framework\Epicor.System\Hosting\Wcf\EpiOperationInvoker.cs:line 23
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SecurityChannelListener1.ReceiveItemAndVerifySecurityAsyncResult2.InnerTryReceiveCompletedCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)
at System.Net.AsyncProtocolRequest.CompleteRequest(Int32 result)
at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state)
at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred, SocketFlags flags)
at System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Client Stack Trace

at Epicor.ServiceModel.Channels.ImplBase1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets) at Erp.Proxy.BO.CashRecImpl.SelectInvoices(String pcGroupID, Nullable1 pdtDueDate, Nullable1 pdtTranDate, Boolean plApplyDiscount, String pcCustomerList, String pcPaymentMethod) at Erp.Adapters.CashRecAdapter.SelectInvoices(String pcGroupID, Nullable1 pdtDueDate, Nullable`1 pdtTranDate, Boolean plApplyDiscount, String pcCustomerList, String pcPaymentMethod)

I have verified that the Matrix is filled in appropriately for the Rate Type and the Exchange Rates are set on the Exchange Rate Table with an effective date of today. The transaction does not include any activity in GBP, all activity is in USD.

Has anyone else received this message? I have been through all the setup screens I can think of associated with this transaction (currencies, rate types, exchange rates, conversion factors, customer, book, etc). I am still getting this same error and cannot figure out why. I get a little lost in the detail of the error when I try to read through it. Can anyone help with this?

Thanks

Tim

Hello Tim,
We are getting that same error today. Were you able to resolve it? Everything looks right on our end too.

Thanks,
John

Go to currency master maintenance and un-tick the currency as reporting currency

This doesn’t help if the target currency actually is a reporting currency.

Anyone ever find a resolution for this? We turned on the Euro as a reporting currency a month ago and got the following error (we have exchange rates in the system that are updated daily for USD and the Euro):

Currency conversion exchange record was not found for currency code USD to currency code EUR.
Company [NHF01] TableName [APInvHed] Key1 [13] Key2 [502001133] Key3 [] Key4 [] Key5 [] Key6 [] Key7 [] Key8 []

Exception caught in: Epicor.ServiceModel

Error Detail

Description: Currency conversion exchange record was not found for currency code USD to currency code EUR.
Company [NHF01] TableName [APInvHed] Key1 [13] Key2 [502001133] Key3 [] Key4 [] Key5 [] Key6 [] Key7 [] Key8 []
Program: Erp.Internal.Lib.Shared.dll
Method: ConvertAmt
Line Number: 108
Column Number: 21

Client Stack Trace

at Epicor.ServiceModel.Channels.ImplBase`1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets)
at Erp.Proxy.BO.APInvoiceImpl.GetByID(Int32 vendorNum, String invoiceNum)
at Erp.Adapters.APInvoiceAdapter.OnGetByID(Object[] parameters)
at Ice.Lib.Framework.EpiBaseAdapter.GetByID(Object[] parameters)
at Erp.UI.App.APInvoiceEntry.Transaction.getAPInvHedData(Int32 pVendNum, String pInvNum)

Any get a solution to this? Also turned on another currency as a reporting currency and now have this issue.

This is usually an error with the setup, we have made improvements to the error message to better identify the root cause.

Some things to keep in mind:
Actual rate group used, there might be one
Currency conversion rules are defined
Exchange rates are setup for the relevant dates