Epicor Kinetic and Fishbowl integration
Epicor Kinetic runs your manufacturing finance and operations. Fishbowl runs your on-premise inventory and purchasing workflows. Connecting the two keeps your vendor master and purchase orders in sync across both systems without manual re-entry. New vendors and purchase order changes in Epicor flow into Fishbowl, and inventory transactions recorded in Fishbowl can feed back into Epicor for complete supply chain visibility. ml-connector bridges the gap between Epicor cloud-based ERP scope and Fishbowl on-premise focus, so you do not have to maintain dual records.
What moves between them
The main flow runs from Epicor Kinetic into Fishbowl. Purchase orders, vendors, and part master records are pulled from Epicor on a daily or weekly polling schedule via OData query with date filters and pushed into Fishbowl vendor, purchase-order, and part endpoints. Purchase order lines and shipment status can also flow from Fishbowl back to Epicor via the UpdateMaster endpoint, though the primary direction is Epicor to Fishbowl. Inventory transactions in Fishbowl can be queried and sent back to Epicor as receipt or usage records for full supply chain visibility. The sync cadence is configurable and typically aligned with your procurement and receiving cycles.
How ml-connector handles it
ml-connector stores Epicor credentials (tenant URL, username, API key or OAuth2 secret) encrypted and refreshes the OAuth2 bearer token on a one-hour cycle before it expires. For on-premises Epicor, it constructs the company-specific OData URL and includes the required API key header on every request. On the Fishbowl side, it posts to the /api/login endpoint once per session and caches the returned UUID token until the session expires, then re-authenticates. Because both systems are poll-only, ml-connector queries Epicor with an UpdatedOn filter to retrieve only changed records since the last run, and queries Fishbowl by date range or bulk load to identify incoming changes. Purchase order and vendor records are mapped between Epicor OData format and Fishbowl JSON schema; fields like part numbers, quantities, and unit prices are matched carefully to ensure accurate landed costs. ml-connector tracks the last successful sync timestamp per entity type and retries failed records with exponential backoff. Every record carries a full audit trail and can be replayed if downstream validation fails.
A real-world example
A mid-sized manufacturer distributes product across three warehouses and runs Epicor Kinetic for finance, purchasing, and cost accounting, with Fishbowl on-premise for inventory and warehouse workflows. Before the integration, the procurement team maintained a dual vendor list and re-entered each new purchase order into Fishbowl manually after approving in Epicor. With Epicor and Fishbowl connected, new vendors and approved purchase orders flow into Fishbowl automatically, warehouse staff receive orders in real time without delay, and incoming receipts in Fishbowl immediately update inventory and trigger receipt journals in Epicor. The manual re-keying step is eliminated, and inventory counts in both systems stay in sync.
What you can do
- Pull vendors, purchase orders, and parts from Epicor Kinetic and push them into Fishbowl Advanced on a schedule you control.
- Keep Fishbowl vendor master and purchase order book current with changes in Epicor source records.
- Sync purchase order line details including quantities, unit prices, and delivery dates across both systems.
- Authenticate Epicor with OAuth2 or Basic Auth, handle token refresh, and manage Epicor required company segment routing.
- Encrypt credentials for both systems, maintain a full audit trail on every sync, and replay failed records with retries.
Questions
- Which direction does data flow between Epicor Kinetic and Fishbowl?
- The primary flow is Epicor Kinetic to Fishbowl. Vendors, purchase orders, and parts are pulled from Epicor and pushed into Fishbowl. Fishbowl can also push received quantities and shipment status back to Epicor via the UpdateMaster endpoint to keep both systems synchronized on inbound goods. GL accounts are not exposed in Fishbowl REST API.
- How does the integration handle Epicor token expiry and company segment requirement?
- ml-connector stores the Epicor tenant URL and company segment encrypted and includes the company in every OData request path. It refreshes the OAuth2 bearer token proactively on a one-hour cycle before expiry to prevent mid-sync failures. For on-premises Epicor, it supports Token Resource Service to exchange credentials for short-lived bearer tokens.
- Does the integration work with on-premise Epicor and Fishbowl?
- Yes. Epicor Kinetic supports both cloud SaaS and on-premises deployments; ml-connector constructs the correct URL for either. Fishbowl Advanced is on-premise only and requires the customer to provide the server URL and port, which ml-connector stores encrypted. Both systems are poll-only, so ml-connector queries OData date filters to detect changes on a schedule independent of webhooks.
Related integrations
More Epicor Kinetic integrations
Other systems that connect to Fishbowl
Connect Epicor Kinetic and Fishbowl
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started