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.
| Service | Main table | Primary key field | GetNew method | Area |
|---|---|---|---|---|
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.
Related Tools
Epicor BAQ OData REST URL Builder
Builds Epicor REST v2 OData URLs and curl commands for BAQs and business object services, with API key header and filters.
EpicorEpicor BPM Custom Code Block Generator
Generates a C# custom code block for an Epicor method directive that validates a field on a temp table and raises an error or message.
EpicorEpicor Job Lifecycle Flags Reference
Lookup table of the job status flags on Erp.JobHead and related tables, what they mean and how to use them in BAQs.
EpicorEpicor DMT Data Load Checklist
Checklist for planning and running Epicor DMT loads: prerequisites, load order, BPM impact, validation and rollback.
More Epicor tools
See all- Epicor Kinetic Customization Change Request Form Template
- Epicor Kinetic Go-Live Cutover Plan Template
- Epicor Kinetic User Access Request Form Template
- Epicor Kinetic BPM Directive Inventory Worksheet
- Epicor Kinetic Scheduled Task Register Worksheet
- Epicor Kinetic Custom Report Inventory Worksheet
- Epicor Kinetic Data Migration Mapping Worksheet
- Epicor Kinetic Data Load Effort Calculator
- Epicor Business Object Services Reference
New to Epicor ERP? Start with the Epicor ERP guide and toolkit, or plan with Training Path Builder, ERP Certification Study Planner, Upgrade Path Planner.
Keep exploring
Free tools
- Epicor Business Object Services ReferenceFind the service name and REST path for common Epicor business objects such as JobEntry, SalesOrder and PO.
- Epicor Kinetic Database Tables ReferenceLook up the main Erp.* tables in Epicor Kinetic with what each holds and the columns that identify a row. Useful when writing BAQs and SQL.
- Epicor Kinetic Job Status ReferenceA searchable lookup of the job lifecycle flags and related fields in Epicor Kinetic job entry, so you can build BAQs and dashboards with the right filter.
ERP fixes and how-tos
- Epicor BPM Runtime Error: Where to Look and How to Fix ItHow to diagnose an Epicor BPM runtime error: where to find it in the server log, the common causes (null reference, compile, directive order) and fixes.
- How to Create a BPM Method Directive in Epicor KineticHow to build a Method Directive in Epicor Kinetic: choose the business object method, pre or post processing, add conditions and actions, test, and deploy safely.
- Epicor Kinetic Costing Workbench: Part Cost, Rollup and Material BurdenHow Epicor Kinetic part cost works: the Costing Workbench, cost rollup for standard cost, material burden, and a practical cost review routine.
AI on your ERP
- Private AI for Epicor Kinetic Cloud, Outside the Multi-Tenant BoundaryRun a private LLM on Epicor Kinetic private cloud or Kinetic Cloud data via BAQs, REST v2 and Data Fabric, keeping sensitive manufacturing data off shared AI.
- AI for Epicor Kinetic Job Shops: Quote History, Job Variance and Schedule RiskPrivate AI for Epicor Kinetic job shops: quote-to-job history, JobHead and JobOper variance, subcontract delays and schedule risk, via REST and BAQs.
Integrations
- How to add WhatsApp to Epicor KineticHow to connect WhatsApp Business to Epicor Kinetic: REST and BPM triggers, template messages, opt-in rules and two-way replies that post back to the ERP.
- How to add AI agents to Epicor KineticHow to add AI agents to Epicor Kinetic: a tool layer over the REST v2 API and BAQs, MRP exception triage, PO expediting, and human approval before any write.
Software
- Epicor KineticEpicor Kinetic explained for manufacturers: modules, REST API, BAQs, deployment, strengths, limits and alternatives to compare before choosing or upgrading.
- Epicor CPQEpicor CPQ is a cloud configure-price-quote product with visual 3D configuration for manufacturers. Modules, ERP integrations and alternatives explained.