Ok finally worked it out.
Credit goes out to @gpayne his post in here reminded me review the server logs, and believe it or believe it the on screen error did not show additional CSF methods being activated.
Turns out that while we had installed the correct version of the CSF when the initial server was built, the database had been restored from our Live environment and left the CSF at the wrong level.
The server logs pointed to the csf, checked the installed solutions and the version was incorrect.
Thanks for everyone’s help on this one, had us going around in circles.
Just in case people are looking at this later.
The error was this when either adding a PO or a Supplier to an AP invoice.
Resolution was to enable BPM logging on the app server and then review the log after replicating the error.
<Exception><![CDATA[System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details.
---> System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'InvoiceReceiptDate'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
ClientConnectionId:d5a4153f-cfcb-4da9-84bd-d95a42b5ffb2
Error Number:207,State:1,Class:16
--- End of inner exception stack trace ---
at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__31_0()
at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found)
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
at System.Data.Entity.Core.Objects.CompiledQuery.ExecuteQuery[TResult](ObjectContext context, Object[] parameterValues)
at System.Data.Entity.Core.Objects.CompiledQuery.Invoke[TArg0,TArg1,TArg2,TArg3,TResult](TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3)
at Epicor.Data.DBExpressionCompiler.<>c__DisplayClass57_1`5.<Compile>b__3(TContext c, Func`5 query) in C:\_releases\ICE\ICE4.2.400.22\Source\Server\Framework\Epicor.System\Data\DBExpressionCompiler.Generated.cs:line 1259
at Epicor.Data.DBExpressionCompiler.GetResult[TDataContext,TQuery,TResult](Func`3 executeQuery, Cache cacheSetting, TDataContext dataContext, TQuery query) in C:\_releases\ICE\ICE4.2.400.22\Source\Server\Framework\Epicor.System\Data\DBExpressionCompiler.cs:line 452
at Epicor.Data.DBExpressionCompiler.InvokeSingle[TDataContext,TQuery,TResult](Expression expression, Cache currentCacheSetting, Boolean cacheQuery, TDataContext dataContext, Func`2 getDataCacheKey, Func`2 compileQuery, Func`3 executeQuery) in C:\_releases\ICE\ICE4.2.400.22\Source\Server\Framework\Epicor.System\Data\DBExpressionCompiler.cs:line 313
at Epicor.Data.DBExpressionCompiler.<>c__DisplayClass57_0`5.<Compile>b__0(TContext context, TArg1 arg1, TArg2 arg2, TArg3 arg3) in C:\_releases\ICE\ICE4.2.400.22\Source\Server\Framework\Epicor.System\Data\DBExpressionCompiler.Generated.cs:line 0
at Csfau.Tables.APInvHed.FindFirstByPrimaryKey(CsfauContext dataContext, String Company, Int32 VendorNum, String InvoiceNum) in C:\_projects\ERPCCCSF\Extensibility\CSF\Australia\Source\Server\Db\Csfau.Data.Model\CsfauContext.Model.cs:line 917
at Csfau.Internal.Lib.BPay.GetAPInvHeadPBayData(String company, String invoiceNum, Int32 vendorNum, String bankID) in C:\_projects\ERPCCCSF\Extensibility\CSF\Australia\Source\Server\Internal\Lib\BPay\APBPay.cs:line 85
at Extensibility.CSF.Australia.APInvoiceExtension.GetBPayData(APInvoiceTableset ds, APInvHedRow apInvHedRow, Boolean createExtRow)**
at Extensibility.CSF.Australia.APInvoiceExtension.AfterMethod(String methodName, Object response, IDictionary`2 parameters)
at ConcreteClass42.AfterMethod(String , Object , IDictionary`2 )
at Erp.Services.BO.APInvoiceSvcFacade.ChangeVendorID(String ProposedVendorID, Boolean confirmCheck, String& confirmMsg, APInvoiceTableset& ds) in C:\_releases\ERP\ERP11.2.400.22\Source\Server\Services\BO\APInvoice\APInvoiceSvcFacade.cs:line 4787
at Erp.Controllers.BO.APInvoiceController.ChangeVendorID(ChangeVendorID_InputModel model) in C:\_releases\ERP\ERP11.2.400.22\Source\Server\Services\BO\APInvoice\Generated\APInvoiceController.cs:line 1928
at lambda_method4072(Closure , Object , Object[] )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
it was this line that gave it away:
Extensibility.CSF.Australia.APInvoiceExtension.GetBPayData(APInvoiceTableset ds, APInvHedRow apInvHedRow, Boolean createExtRow)
at Extensibility.CSF.Australia.APInvoiceExtension.AfterMethod(String methodName, Object response, IDictionary`2 parameters)
hope it helps someone…