EpicorFree referencePDF, Excel, Word exportEpicor Kinetic

Epicor Business Object Service Reference (Erp.BO Services, Tables and Keys)

When building integrations or BPMs you constantly need the exact business object name and the main table behind it. This reference keeps the most common Epicor services, their primary tables and keys in one searchable place.

Download:
ServiceMain tablePrimary key fieldGetNew methodArea
Erp.BO.PartSvc
Part
PartNum
GetNewPart
Inventory / Engineering
Erp.BO.CustomerSvc
Customer
CustID (CustNum internal)
GetNewCustomer
Sales / CRM
Erp.BO.VendorSvc
Vendor
VendorID (VendorNum internal)
GetNewVendor
Purchasing
Erp.BO.SalesOrderSvc
OrderHed
OrderNum
GetNewOrderHed
Sales
Erp.BO.QuoteSvc
QuoteHed
QuoteNum
GetNewQuoteHed
Sales
Erp.BO.JobEntrySvc
JobHead
JobNum
GetNewJobHead
Production
Erp.BO.POSvc
POHeader
PONUM
GetNewPOHeader
Purchasing
Erp.BO.LaborSvc
LaborHed
LaborHedSeq
GetNewLaborHed
Shop floor

Service, table and method names are shown as commonly used. Always confirm in the Epicor Help or the REST help page at /api/help on your instance, since fields and extra methods vary by version. Standard methods on most services include GetByID, GetRows, GetList, Update and DeleteByID.

Plan a safe Epicor integration

Optional: talk through an integration or AI use case on Epicor data.

Optional. The tool and every export work without this. No spam.

How to use the reference

Search for the table you know, such as JobHead, to find the service that maintains it, or search the service to see its key and the method used to create a new record. Use the names in REST URLs, for example Erp.BO.JobEntrySvc, or when adding a service reference in a C# integration. Export to Excel to keep a team cheat sheet.

Standard method pattern

Most Epicor business objects follow the same pattern. GetNew methods return a blank row with defaults and key fields populated, GetByID returns a full record with its child tables, GetRows runs a where clause and returns lists, and Update commits changes from a dataset. The RowMod column on each temp table row tells the object whether to add, update or delete.

  • GetNewXxx: blank row with defaults
  • GetByID: record with child tables
  • GetList and GetRows: filtered lists
  • Update: saves the dataset, fires BPMs
  • DeleteByID: removes a record where allowed

Common mistakes

Skipping GetNew and building rows by hand misses defaults that business logic expects. Another is updating without setting RowMod correctly, so nothing saves or duplicates occur. Writing directly to database tables bypasses BPMs, security and audit trails and is unsupported. Also remember that child tables such as JobOper or OrderDtl are changed through their parent service.

Frequently Asked Questions

How do I find all methods for a service?

Use the REST help page on your instance or the Epicor Help documentation for the service. It lists every method and its parameters for your exact version, which is more reliable than a generic list.

Why use a service instead of SQL?

Business objects enforce validation, security, BPMs and audit. SQL writes skip all of that and can corrupt data relationships. SQL is fine for read-only reporting on a copy.

What is the difference between GetRows and GetList?

GetList returns a lightweight list of key columns for a where clause, suitable for lookups. GetRows returns the full dataset including child tables. Use GetList when you only need to find records.

Do the same services exist in Epicor 10 and Kinetic?

The core services listed here exist across both generations, though details and additional methods change. Confirm against your own instance before coding.

If you are mapping Epicor services into integrations or AI agents, Netray can help design safe, read-first access.