Time and Expense Entry via REST API or some other (externally)

I’m a newbie and researching how to replace the time and expense entry interface with something external that would use the REST API (or some other easy way to get time details into Epicor). I see one or two services in /api/help that will be useful, but I’m still missing several key services (employees, WBSs, time detail).

Has anyone done this or does anyone have any hints on how they’d do it?

We’re using Epicor 10.2.200

Thanks in advance.

It is very doable I believe. We have it on a wish list for ourselves, but I do not see why it would not be possible. The majority of the BOs are available in the REST environment. I would recommend you do a trace and see what BOs are called, and then find them in the REST help page.

FYI. All services are available via rest. There are no hidden services only for Epicor. It’s just an effort of finding the correct service via tracing to find what to replicate in your integration.

Thanks @Bart_Elia for the verification and setting the record straight.

I do not know if this helps you, but prior to using PowerShell/REST, I had automated DMT to bring in T & E. If you are new to REST and have limited time to learn, that might be a path to take.
DMT generates errors/log files so you can just have those emailed to yourself (or the user).
DMT also can be run from a batch or PS script.

1 Like

For years now we have been using SSIS to watch for a dump file from TSheets(API available), then SSIS writes to a temp csv and kicks off all of the DMT’s for time and per diem import. Any errors are caught via DMT log files. Same thing can be done with powershell.

The plan is once we upgrade i’ll begin looking into the REST API route with TSheets.

Thanks for all the feedback so far. I’d like to stick with REST, it should make things easy eliminate manual processes.

I’m making a bit of progress, found a bit of what I’m looking for with in the API (Erp.BO.LaborSvc/Labors), but there are still several BOs remaining. It’s slow going though because I only have access to the REST API and the desktop application.

@Bart_Elia How do you trace the service?

You need to enable trace logging. You can do this by clicking the three vertical dots in the upper right corner and select tracing options. Enable the tracing options you want to track. Mainly write Full Dataset is the primary one in additional to just enabling you may want to use. You will want to close the system monitor before enabling the trace. With the system monitor on you will get a lot of extra data input into the trace log. Let us know if you need more details.

I thought there was a topic in the docs about the process to customize, go here to enable the trace, etc kind of walk through. Either that or it was an Insights lab
cough blatant advertising for Insights

It would be nice if someone could post something like this.

@clloyd helped me track down where it is in Epicor University.

The base BPM course has a light weight trace workshop in the beginning.
Several of the workshops for Insights have take a much deeper dive into using trace logging and how to leverage it with some debugging techniques.
If you have the Ed license refer to BPM course.

1 Like

FWIW - I’ve developed at least 2 REST based Time Entry solutions over the last year. One integrated to a webbased service (ClickSoft FSE) and another was a mobile Time Entry app.

There are a number of labs and courses that discuss UI tracing to identify the BOs, methods and variables involved with a specific process including an Insights extended ed session that I just so happen to be involved with <cough>

They will make room for whoever signs up and wishes to attend. We dig into UI tracing in a few different ways in the session including some real-world examples (though, it is from the perspective of troubleshooting a problem where something doesn’t work–which is a little different than your project, but, the same tools/techniques are used). There are two additional slides with topics we cover after the one below, but, have to leave something to the imagination)

Slightly off topic:
Sneak peek at what we cover in the Epicor ERP logging - advanced (technical) section for those that wondered about server-tracing (which can also be used to get BOs, methods for specific processes)


That ought to be a gem, I’d sign up if I was there :smiley:

Thanks for all the responses, this is a very active forum which is great to see.

I just thought I’d post an update. I’m getting close, I think I have two hurdles left.

  1. Get new LaborDtlSeq values, needed by Erp.BO.LaborDtlSearchSvc/LaborDtlSearches
  2. Enter the actual hours and details, I think I need to use Erp.BO.LaborDtlSearchSvc/LaborDtlSearches, but I haven’t seen a successful call to this (which I’ve done) show up in the app data yet

I haven’t been able to trace yet, hopefully that will get me past these.

Hi Chris, do you have any hints on project based time entry and which fields are mandatory?

I’ve been stuck on this for a while, put it aside for the last 3 weeks to make progress elsewhere, but now I need to finish it off.

To close this off for now, I gave up. I tried to get this working for a long time, including the fields highlighted above but continually got generic error messages, and even had a support ticket with Epicor for over a month. Having a working solution took precedence, so I reverted to using the manual process of importing time entries via the DMT. Hopefully it doesn’t become too onerous.

You can get more indepth error messages by adding these to web.config

Add this tag

  • <system.web>
  •  <customErrors mode="Off" />
  • </system.web>

Add httpErrors tag inside existing tag system.webServer>

  • <system.webServer>
  • <httpErrors errorMode="Detailed" />  
  • </system.webServer>
1 Like