Ellipse Gradient for Header

Epicor Kinetic Integration Guide

Integrate Epicor Kinetic with enterprise applications through REST/OData business object APIs, scheduled workflows, and tenant-specific outbound event mechanisms.

Epicor Kinetic integration options at a glance

Epicor Kinetic primarily integrates through REST APIs and OData-based query endpoints associated with business objects such as Customers, Parts, Suppliers, Sales Orders, Purchase Orders, and Jobs. Martini can consume these APIs, expose endpoints for upstream applications, and orchestrate mappings, validations, business rules, and retries. Webhook-style callbacks or event processing may be available through tenant-specific business processes, Epicor Functions, or other configured mechanisms, but universal coverage is not confirmed. Large-volume synchronization can use filtered and paginated queries, BAQs, service-specific operations, and incremental timestamps. OAuth 2.0, API credentials, and legacy Basic Authentication may be available depending on deployment.

Integration pointSupported by Epicor Kinetic?Common use casesHow Martini supports it
REST APIs and ODataYesQuery and maintain Customers, Suppliers, Parts, Sales Orders, Purchase Orders, Jobs, invoices, shipments, inventory, and other enabled business objects. OData and BAQ endpoints can support filtered extraction.Martini can consume Epicor REST/OData endpoints from workflows, expose APIs for upstream systems, map payloads, and invoke business object methods.
AuthenticationLimitedDepending on the tenant, authentication may use OAuth 2.0, API keys or application credentials, service accounts, or legacy Basic Authentication. Company, plant, tenant, and business object permissions also apply.Martini can store credentials in secure environment configuration and use configured authentication when calling Epicor APIs.
Webhooks and outbound callbacksLimitedTenant-specific business processes, Epicor Functions, BPM actions, event services, or configured outbound HTTP calls may initiate notifications, but universal webhook coverage was not confirmed.Martini can expose receiving APIs or consume webhook-style notifications where the target Kinetic environment provides them; otherwise scheduled workflows can query for changes.
Bulk, asynchronous, and batch processingLimitedLarge-volume processing may use OData filtering and pagination, BAQs, service-specific batch methods, or incremental queries. General-purpose bulk and asynchronous support varies by object and release.Martini can orchestrate paginated extraction, bounded concurrency, checkpoints, transformations, and retry handling without assuming a universal batch API.
File and attachment APIsLimitedAttachments and documents are available in selected Kinetic areas, including customers, suppliers, parts, orders, jobs, invoices, and shipments, subject to configuration.Martini can coordinate attachment metadata and content operations when the target object service exposes them, while applying file validation and error handling.
SOAP and WCF servicesLegacyOlder or compatibility-oriented Epicor environments may expose SOAP or WCF services. REST/OData should be evaluated first for new integrations.Martini can consume SOAP services when they remain required, using the service's confirmed contract and deployment-specific authentication.
Database and analytics accessLimitedSelf-managed deployments may provide reporting or database access, but direct transactional writes are not preferred and SaaS database access should not be assumed.Martini can connect to approved databases where configured, but transactional integrations should use Epicor business object services to preserve validation and business rules.

How Epicor Kinetic exposes data and business events

Epicor Kinetic REST APIs

REST is Epicor Kinetic's principal integration mechanism. Its business object services and OData-based query endpoints can expose operations and data for Customers, Parts, Suppliers, orders, purchasing, manufacturing, inventory, and financial processes. Available paths, methods, and fields vary by release and tenant configuration.

Martini implementation pattern

Martini implementation pattern: Martini workflows authenticate to the target tenant, retrieve or submit Epicor payloads, map them into canonical structures, apply validation and business rules, and invoke the relevant business object operation. For extraction, the workflow uses server-side filters, pagination, company context, and an incremental checkpoint.

Implementation sequence

Authenticate to the Epicor Kinetic tenant
Select the business object service or OData query
Retrieve or receive the current object data
Apply company, plant, and tenant context
Map and validate the payload
Invoke the Epicor business operation or write to the target system existing data store

Epicor Kinetic outbound callbacks

Epicor environments may use BPM actions, Epicor Functions, business processes, event services, or configured outbound HTTP calls to initiate notifications. General-purpose webhook coverage for every Kinetic business object was not confirmed.

Martini implementation pattern

Martini implementation pattern: where the tenant can call an external endpoint, Martini exposes a controlled API to receive the notification, validates its signature or credentials where configured, retrieves the authoritative Epicor object, and processes it idempotently. If callbacks are unavailable, a scheduled incremental query provides the trigger.

Implementation sequence

Confirm the tenant's outbound event or callback mechanism
Receive the notification through a Martini API
Authenticate and validate the notification
Retrieve the authoritative Epicor object
Map and apply business rules
Persist the correlation and processing result

Epicor Kinetic scheduled synchronization

Scheduled incremental extraction is an important fallback and often the most portable approach when outbound events are unavailable. OData filters, BAQs, timestamps, status transitions, and pagination can limit the data retrieved.

Martini implementation pattern

Martini implementation pattern: a scheduler starts a workflow that reads the last successful checkpoint, queries the relevant Kinetic object by company or plant and change criteria, processes pages in controlled batches, writes results to the target, and advances the checkpoint only after successful handling.

Implementation sequence

Start the scheduled Martini workflow
Read the last successful checkpoint
Query changed Epicor objects with filters
Process each page with bounded concurrency
Map and upsert the target data
Store the checkpoint and report failures

Epicor Kinetic SOAP services

Earlier Epicor ERP environments and some compatibility-oriented deployments may expose SOAP or WCF services. SOAP is legacy for this integration context and should be considered only when the target environment requires it.

Martini implementation pattern

Martini implementation pattern: Martini consumes the confirmed SOAP contract, applies the deployment's authentication and XML mapping, invokes the required service operation, and routes SOAP faults separately from validation and transport failures.

Implementation sequence

Confirm the legacy SOAP contract and endpoint
Configure the required authentication
Construct and validate the XML request
Invoke the Epicor SOAP operation
Transform the XML response
Classify faults and retry eligible failures

Common Epicor Kinetic integration patterns

Pattern 1: Sync customers and orders from a CRM

When to use this pattern

Use this pattern when Salesforce or another CRM owns customer capture and order initiation while Epicor Kinetic owns fulfillment, pricing, inventory, and ERP processing. It supports both API-led requests and scheduled source extracts.

Integration direction
Salesforce
Martini
Epicor Kinetic
Example Mapping
Epicor Kinetic FieldCanonical FieldTarget Field
Account.externalIdcustomer.externalIdCustomer.CustNum
Account.namecustomer.nameCustomer.Name
Order.linessalesOrder.linesSales Order.OrderDtl
Order.externalIdsalesOrder.sourceReferenceSales Order.PONum
Martini implementation pattern

Martini receives the source request or extract, resolves Epicor company and customer identifiers, validates addresses and order lines, creates or updates the Customer, then submits the Sales Order through the relevant REST business object operations. It returns the Epicor order number and stores correlation details; retryable transport failures are retried while business-rule errors are routed for correction.

Martini capabilities used
  • workflows
  • API consumption
  • API exposure
  • data mapping
  • business rules
  • error handling
  • secure environment configuration

Pattern 2: Distribute order and shipment status

When to use this pattern

Use this pattern when customer-facing, CRM, commerce, or logistics applications need Epicor Sales Order, Shipment, Release, or Invoice status. It is suitable when universal outbound webhooks are unavailable or not enabled.

Integration direction
Epicor Kinetic
Martini
Salesforce
Example Mapping
Epicor Kinetic FieldCanonical FieldTarget Field
SalesOrder.OrderNumorder.orderNumberSalesforce.Order.EpicorOrderNumber
SalesOrder.OrderStatusorder.statusSalesforce.Order.Status
Shipment.ShipDatefulfillment.shipDateSalesforce.Order.ShipDate
Invoice.InvoiceNuminvoice.numberSalesforce.Invoice.ExternalReference
Martini implementation pattern

A scheduled Martini workflow queries changed objects using timestamps, status filters, company context, and pagination. It normalizes status values, performs idempotent target upserts, and advances its checkpoint only after successful processing. Duplicate messages are ignored using Epicor identifiers and correlation keys.

Martini capabilities used
  • scheduled workflows
  • REST API consumption
  • incremental synchronization
  • data mapping
  • idempotency
  • checkpointing
  • retry handling

Pattern 3: Synchronize Parts and inventory availability

When to use this pattern

Use this pattern when Shopify, a planning platform, or a data warehouse needs current Part, warehouse, plant, unit-of-measure, or availability information from Epicor Kinetic.

Integration direction
Epicor Kinetic
Martini
Shopify
Example Mapping
Epicor Kinetic FieldCanonical FieldTarget Field
Part.PartNumproduct.skuShopify.Product.Variant.SKU
Part.PartDescriptionproduct.nameShopify.Product.Title
Inventory.OnHandQtyinventory.onHandShopify.InventoryLevel.Available
Part.IUMproduct.unitOfMeasureShopify.Product.Metafield.Unit
Martini implementation pattern

Martini extracts Parts and inventory-related data through filtered OData or business object queries, applies unit and availability rules, excludes inactive or discontinued items according to policy, and updates Shopify or another target. Rate-aware batching and retry queues prevent a temporary target outage from losing inventory changes.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • data transformation
  • business rules
  • bounded concurrency
  • error handling

Pattern 4: Integrate suppliers and purchase orders

When to use this pattern

Use this pattern when procurement, finance, Workday, NetSuite, or an EDI platform must exchange Supplier and Purchase Order data with Epicor. It is useful for supplier onboarding, purchasing synchronization, and expected-receipt visibility.

Integration direction
NetSuite
Martini
Epicor Kinetic
Example Mapping
Epicor Kinetic FieldCanonical FieldTarget Field
Vendor.externalIdsupplier.externalIdSupplier.VendorID
Vendor.paymentTermssupplier.paymentTermsSupplier.TermsCode
PurchaseOrder.linespurchaseOrder.linesPurchase Order.PODetail
PurchaseOrder.expectedReceiptpurchaseOrder.expectedReceiptPurchase Order.PORel.DueDate
Martini implementation pattern

Martini validates supplier identity, maps currencies and terms, applies company and plant routing, and invokes Epicor Supplier or Purchase Order services. It stores source references before retrying transient errors, while authorization, validation, duplicate, and business-rule failures are separated for reconciliation.

Martini capabilities used
  • workflow orchestration
  • REST API consumption
  • data mapping
  • validation
  • business rules
  • correlation IDs
  • retry and reconciliation

Applications commonly integrated with Epicor Kinetic

Epicor Kinetic can be integrated with adjacent enterprise applications when organizations need to coordinate customer, order, inventory, purchasing, manufacturing, finance, or fulfillment processes. The exact ownership of each data object and the supported endpoint for each application should be confirmed during solution design.

Application Scenario Direction Martini Pattern
Salesforce Synchronize customer information and orders with Epicor, then distribute order and shipment status back to sales teams. Salesforce → Martini → Epicor Kinetic Martini receives Salesforce changes or scheduled extracts, resolves Epicor company context, maps customer and order structures, calls Epicor REST business object services, and returns or stores Epicor identifiers and errors.
Microsoft Dynamics 365 Coordinate CRM, field service, finance, customer, part, invoice, and order processes across business units. Microsoft Dynamics 365 → Martini → Epicor Kinetic Martini orchestrates bidirectional API workflows, applies ownership and company rules, transforms customer and transaction data, and uses correlation identifiers to prevent duplicate updates.
Shopify Publish Epicor product and inventory availability to an online storefront and submit Shopify orders to Epicor. Epicor Kinetic → Martini → Shopify Scheduled Martini workflows query Epicor Parts, warehouses, and inventory-related data, transform units and availability, and expose or consume APIs for Shopify order and catalog synchronization.
NetSuite Exchange financial, purchasing, inventory, and fulfillment information where Epicor and NetSuite coexist across business units. Epicor Kinetic → Martini → NetSuite Martini coordinates REST API calls on both sides, maps company-specific identifiers and currencies, routes transactions by ownership rules, and records reconciliation outcomes.
ServiceNow Connect service, asset, procurement, and support workflows with Epicor Parts, Customers, Suppliers, and Purchase Orders. ServiceNow → Martini → Epicor Kinetic Martini receives ServiceNow requests or scheduled extracts, validates references, calls Epicor business object services, and publishes fulfillment or status results back to ServiceNow.
Avalara Exchange transaction and address information for tax calculation and return tax results for Epicor orders or invoices. Epicor Kinetic → Martini → Avalara A Martini workflow maps Epicor customer, address, order, or invoice data to Avalara requests, validates responses, and updates the relevant downstream process with tax results or an operational error.
Workday Synchronize selected suppliers, workers, cost-center, or financial reference data with Epicor purchasing and accounting processes. Workday → Martini → Epicor Kinetic Martini consumes approved Workday extracts or APIs, transforms reference data into Epicor structures, applies company and permission rules, and reports rejected records for correction.
EDI or trading-partner platforms Exchange purchase orders, acknowledgments, advance ship notices, and invoices with customers and suppliers. EDI or trading-partner platform → Martini → Epicor Kinetic Martini receives or generates partner messages, transforms EDI-derived structures into Epicor Sales Order, Purchase Order, Shipment, or Invoice operations, and applies duplicate and retry controls.

How to build a Epicor Kinetic integration in Martini

Objective

Confirm the target Kinetic deployment, tenant, company, plant, API surface, and authentication model before building workflows.

Instructions in Martini

  • Confirm whether OAuth 2.0, API credentials, or another supported method is required
  • Store secrets and environment-specific values securely
  • Verify user, company, plant, and business object permissions
  • Use HTTPS for all external API communication

Objective

Select an API request, configured outbound callback, or scheduled incremental query based on the capabilities enabled in the Kinetic tenant.

Instructions in Martini

  • Use a Martini API for upstream requests or callbacks
  • Use a scheduler when outbound events are unavailable
  • Define the object, company context, and change-detection strategy
  • Document the fallback trigger for event failures

Objective

Retrieve authoritative Epicor objects through REST/OData services or the confirmed legacy service contract.

Instructions in Martini

  • Use server-side filters and field selection where supported
  • Implement pagination and bounded concurrency
  • Read BAQs or incremental queries where appropriate
  • Record source identifiers and the synchronization checkpoint

Objective

Coordinate calls to Epicor and other enterprise systems in a reusable Martini workflow.

Instructions in Martini

  • Resolve tenant, company, plant, warehouse, and external identifiers
  • Separate retrieval, transformation, target writing, and checkpoint stages
  • Route records by business ownership and processing status
  • Keep transactional API calls within the appropriate business object service

Objective

Transform external data into Epicor business object structures while enforcing required fields and domain rules.

Instructions in Martini

  • Map Customers, Suppliers, Parts, orders, Jobs, and child collections explicitly
  • Normalize dates, statuses, currencies, units, and identifiers
  • Validate required fields before calling Epicor
  • Preserve source references and correlation identifiers

Objective

Create or update Epicor objects or downstream records without bypassing Epicor business rules.

Instructions in Martini

  • Use REST business object methods for transactional operations
  • Perform existence checks or supported upserts
  • Avoid direct database writes for transactional data
  • Return Epicor identifiers to the originating system where required

Common Epicor Kinetic data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
CustomerSynchronize customer master data, billing information, shipping addresses, status, and external identifiers.Salesforce, Microsoft Dynamics 365, Shopify, ServiceNow, data warehousesMartini maps customer identity and address structures, resolves company context, validates required fields, and performs idempotent create or update operations through REST business object services.
SupplierExchange supplier master data, purchasing relationships, payment-related information, and supplier status.NetSuite, Workday, procurement applications, finance platformsMartini validates supplier identifiers, maps terms and company context, routes records by ownership rules, and classifies validation and authorization failures.
PartSynchronize item master data, revisions, units of measure, inventory attributes, and planning information.Shopify, Salesforce, planning platforms, data warehousesMartini transforms units and status values, separates master-data changes from inventory changes, and uses filtered or incremental queries.
Sales OrderCreate or update order headers, releases, lines, pricing, allocations, and shipment requirements.Salesforce, Shopify, EDI platforms, Avalara, logistics applicationsMartini resolves customer and company identifiers, validates lines and business rules, calls the appropriate service operations, and stores Epicor order numbers and correlation IDs.
Purchase OrderExchange purchasing headers, lines, releases, suppliers, and expected receipts.NetSuite, Workday, procurement applications, EDI platformsMartini maps supplier, currency, terms, and receipt data, applies duplicate prevention, and routes business-rule failures for operational review.
JobSynchronize manufacturing jobs, assemblies, operations, materials, quantities, resources, and production status.Manufacturing planning platforms, Salesforce, data warehouses, service applicationsMartini preserves revision, plant, operation, and material context, applies status rules, and uses incremental extraction and retry controls for production updates.

Authentication and security considerations

Deployment-specific authentication

Epicor Kinetic authentication varies by tenant, release, and deployment model. OAuth 2.0, API keys or application credentials, and legacy Basic Authentication may be encountered. Confirm the exact grant, scopes, token endpoint, and credential requirements with the Epicor administrator.

Authorization and context

API access is governed by Epicor users, security groups, company access, plant access, and business object permissions. Workflows should make tenant, company, plant, and warehouse context explicit rather than relying on a global identifier.

Secure transport and secrets

  • Use HTTPS for all external API communication.
  • Store tokens, keys, and service credentials in secure Martini environment configuration.
  • Use least-privilege Epicor permissions for each integration.
  • Review permissions after tenant configuration or business object changes.

Operational considerations for Epicor Kinetic integrations

Throughput and pagination

Use server-side filters, field selection, pagination, bounded concurrency, and incremental checkpoints. Do not assume a universal bulk, asynchronous, or OData batch capability across all business objects.

Idempotency and retries

Store external identifiers and correlation keys for Customers, Parts, Orders, Suppliers, and other synchronized objects. Retry transient transport or service failures with backoff, but route validation, authorization, duplicate, and business-rule errors for correction or reconciliation.

Schema and tenant changes

API methods, custom fields, BAQs, BPM rules, and required fields may differ between releases and tenants. Test integrations after upgrades and major configuration changes, and inspect the target tenant's service metadata where possible.

Manufacturing and document data

Manufacturing flows should preserve revisions, operations, materials, resources, plants, and job status. Attachment operations may require separate metadata and binary-content calls, with object-specific limits and storage rules.

Why use Martini instead of scripts or point-to-point integrations?

Reusable orchestration

Martini separates Epicor API consumption, API exposure, transformation, validation, business rules, and target-system writes into maintainable workflows rather than isolated scripts.

Reliable synchronization

Scheduled triggers, callback endpoints, pagination, checkpoints, correlation identifiers, retry handling, and structured errors support reliable synchronization across Epicor and surrounding applications.

Controlled change management

Secure environment configuration keeps tenant-specific credentials and endpoints outside workflow logic. Reusable mappings and services make it easier to accommodate company, plant, release, and schema differences.

Standards-based integration

Martini can consume REST/OData and, where required, SOAP services, while exposing controlled APIs for other applications. This avoids direct transactional database writes that could bypass Epicor validation and business rules.

Frequently asked questions

How can Epicor Kinetic be integrated with enterprise systems?

Epicor Kinetic can be integrated primarily through its REST and OData-based business object APIs. Enterprise workflows can query or update Customers, Suppliers, Parts, Sales Orders, Purchase Orders, Jobs, inventory, shipments, and other enabled objects. Scheduled incremental extraction, BAQs, tenant-specific outbound callbacks, and legacy SOAP services may also be used where confirmed for the target environment.

Can Martini integrate with Epicor Kinetic?

Yes. Martini can consume Epicor Kinetic REST/OData APIs, expose APIs for other applications, orchestrate scheduled synchronization, transform data, apply business rules, and handle retries and errors. Where the tenant explicitly supports outbound callbacks or event mechanisms, Martini can receive those notifications as well.

Do I need a connector to integrate Epicor Kinetic with Martini?

No. A dedicated Epicor Kinetic connector is not required. Martini can integrate using Epicor's native REST/OData APIs, confirmed callback or event mechanisms, legacy SOAP services where necessary, and the tenant's supported authentication methods.

Is there any extra Lonti cost to integrate Epicor Kinetic with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Epicor Kinetic. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Epicor, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.

Which Epicor Kinetic integration methods should be used for new projects?

REST business object services and OData-based queries should generally be evaluated first. Use filtered and paginated requests for extraction, BAQs where appropriate, and service-specific operations for transactional work. SOAP or WCF should be reserved for legacy or compatibility requirements, and direct database writes should not replace business object APIs.

Does Epicor Kinetic provide webhooks or outbound events?

Universal webhook coverage for every Kinetic business object was not confirmed. A tenant may support outbound HTTP callbacks, Epicor Functions, BPM actions, event services, or other configured business processes. The specific mechanism must be validated; scheduled incremental REST queries are the fallback when outbound events are unavailable.

How does Martini synchronize Epicor Kinetic data reliably?

Martini can use scheduled workflows or confirmed callbacks, server-side filters, pagination, last-updated timestamps, status transitions, BAQs, and checkpoints. It maps Epicor objects into target models, preserves company and plant context, uses correlation identifiers for idempotency, and retries eligible transport failures without duplicating business transactions.

Can Martini expose an API façade for Epicor Kinetic?

Yes. Martini can expose controlled REST APIs that accept data from applications such as Salesforce, Shopify, or partner platforms, validate and transform the requests, and invoke the appropriate Epicor Kinetic business object services. This can centralize authentication, business rules, error responses, and reusable integration logic.