Modifying Electronic Interfaces

Hello

I was looking to build and customise an electronic interface to simply allow me to import bank statements into Bank Processing.

Happy enough to use CSV (Ithough I’d prefer XLSX but would require much more work )and I’d like to look at

Erp\EI\StatementImportCSV_Template\StatementImportCSV_Example.cs

but I have no easy way of getting to that as on a cloud installation of Epicor.

How can I first download and view this file?
And then go about building a customised version? (i.e. upload a modified version back for used)

Thanks

Sam

@Mark_Wonsil are custom EI Files supported in the Cloud?

You can request the Epicor Cloud team via EpicCare to send you a copy of the .cs file. You can then make your changes and send the updated file back to the Epicor Cloud team. They can then ‘install’ it for you. We’ve done it this way for one of our customers.

As Brian said, yes. It is a PITA when you’re still figuring it out since every load requires the Cloud Team’s help.

I would like to see this automated where we would enter a Pull Request to GitHub, have it run a syntax check, and if passed, have the Cloud Team review the code and push it to the tenant. It would be far more efficient and give everyone the compliance they seek.

1 Like

Sam,

Ask the Cloud Team for a copy of the program. You’ll need to work through EpicCare every time you want it uploaded.

I’m sure there are some cloud users who know a way to pull it down without a ticket. cough cough

PM incoming.

Thanks to all.

Request and received a copy from Epicor support.

Now I just have to understand my own bank statement format.

Cheers

Soon you will be wishing the EI’s had better documentation or at least a clear data schema.
It’s like working with a black box if you need something that isn’t already included in the example file.
Testing is a pain when you have someone else put your file in the environment for you to test it.
Maybe you’ll get lucky and it’s just lite reformatting and every tests perfect the first time.

2 Likes

Hi

Is is possible to detect which company initiated Bank Statement import?

And is an XLSX import possible?

Guessing ctx probably has something but I have no documentation?

My bank statement is actually for all accounts across all companies so I’d like to only process those accounts for the company that called Bank Statement import

Was looking a build a simple class within and then hard-coding in the various details required including company. Then test against which company called Bank Processing to only process bank accounts for that company.

And is it possible to get copies of DLLS that use these (probably don’t need ICE) as it would allow me to build and test before shipping back to Epicor to load (at least that is the theory). I’m interested more in StatementImport as I want to understand what other members are available if any.

using Ice;
using Erp.Services.Lib.Resources;
using Erp.Internal.Lib.StatementImport;
using Epicor.Utilities;

Cheers

Yes. I’m working on some instructions.

I’ve got some other commitments at the moment I must attend to, so I’ll drop the quick
and dirty on you. If needed, I will code up something when I can, as I think it’ll be useful.

To get these Assemblies, you can call the BO from Rest, or internal:

Ice.Lib.EcfToolsSvc/GetAssemblyBytes

You can’t get rest help for this, and you’ll need to know the actual names of the assemblies to
pull down.

The json to pull this, is as follows:

{
    "assemblyId":"Epicor.Ice"
}

This will send you back some json like this:

{
    "returnObj": "In Here will be Base 64 Encoded Binary Data"
}

If you look in the file Erp.Internal.EI.StatementImportCSV_Template.csproj you will see the dll names.

    <Reference Include="Compatibility">
      <HintPath>..\..\..\..\..\Deployment\Server\Assemblies\Compatibility.dll</HintPath>
      <Private>false</Private>
    </Reference>
    <Reference Include="Epicor.Ice">
      <HintPath>..\..\..\..\..\Deployment\Server\Assemblies\Epicor.Ice.dll</HintPath>
      <Private>false</Private>
    </Reference>
    <Reference Include="Erp.Contracts.BO.AutoBankRec">
      <HintPath>..\..\..\..\..\Deployment\Server\Assemblies\Erp.Contracts.BO.AutoBankRec.dll</HintPath>
      <Private>false</Private>
    </Reference>

<Reference Include= "This is the AssemblyID you want"> for the call.
After decode, name it the part here:
<HintPath>..\..\..\..\..\Deployment\Server\Assemblies\Dll Name Here</HintPath>

Well that was unexpected.

Thank you

spanish fan GIF