ml-connector
IFS CloudFishbowl

IFS Cloud and Fishbowl integration

IFS Cloud manages enterprise procurement, finance, and supply chain. Fishbowl Advanced manages inventory and light procurement on-premise. Connecting the two keeps your supplier and PO data in sync without manual re-entry. New purchase orders and supplier invoices from IFS flow into Fishbowl, vendor master data stays aligned across both systems, and procurement workflows reference a single source of truth. ml-connector handles the very different APIs on each side and moves the data on a schedule you control.

How IFS Cloud works

IFS Cloud exposes purchase orders, supplier invoices, vendors, GL accounts, and journal entries through REST OData v4 APIs, accessed via tenant-specific URLs. Authentication uses OAuth 2.0 Client Credentials with a 60-minute token lifetime. IFS has no standard webhook registration API; Event Actions exist but require manual per-customer configuration in the IFS admin UI and are not self-service. Polling OData with timestamps or state filters is the recommended pattern. IFS enforces OData ETag headers on mutations, limits page size to 5000 elements, and rates limit at approximately 1000 requests per minute per tenant.

How Fishbowl works

Fishbowl Advanced is deployed on-premise (not SaaS) and exposes purchase orders, sales orders, vendors, inventory, and customers through REST APIs. Authentication uses a session token obtained by POSTing credentials to a customer-supplied server URL. Fishbowl has no outbound webhooks and is poll-only. GL accounts are not exposed in Fishbowl REST API; they are managed through QuickBooks or Xero integrations. Write endpoints exist for purchase orders, vendors, and payments, but no dedicated endpoint for reading customers; the data-query endpoint with SQL is used instead.

What moves between them

The main flow runs from IFS Cloud into Fishbowl. After a schedule you set, ml-connector polls IFS OData for new and modified purchase orders and supplier invoices, and writes them into Fishbowl as purchase orders and vendor transactions. Vendor master data from IFS syncs bidirectionally so both systems share the same supplier list. Because Fishbowl GL accounts are handled through QuickBooks or Xero, ml-connector maps IFS GL accounts to Fishbowl cost centers and inventory categories so procurement allocations land on the correct buckets in Fishbowl.

How ml-connector handles it

ml-connector stores both credential sets encrypted and refreshes IFS OAuth 2.0 tokens before expiry. On each poll, it captures the OData ETag for every record read from IFS, allowing safe mutations in later syncs if bidirectional updates are enabled. Fishbowl session tokens are refreshed at the start of each sync cycle. Because IFS enforces a 5000-element page size limit on OData queries, ml-connector paginates large result sets and handles 429 rate-limit responses with exponential backoff. IFS requires company code on financial entities, so the connector accepts company code configuration per customer. ETag headers are passed on any PATCH or POST action back to IFS to enforce optimistic concurrency. Fishbowl does not expose GL accounts via REST, so cost allocations are mapped to Fishbowl inventory categories and part classifications instead. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-sized manufacturer runs IFS Cloud for enterprise procurement and finance across multiple plants and a shared service center, and uses Fishbowl Advanced on-premise for inventory management and manufacturing operations. Before the integration, the procurement team manually exported purchase orders from IFS each day and re-entered them into Fishbowl, then spent time resolving mismatches when Fishbowl inventory counts drifted from IFS procurement plans. With IFS Cloud and Fishbowl connected, each new PO and supplier invoice from IFS flows into Fishbowl automatically, allocated to the correct inventory category and cost center, and vendor changes sync bidirectionally. Procurement staff see a single supplier master in both systems, and inventory forecasting uses data that is already in agreement with the approved purchase plan.

What you can do

  • Poll IFS Cloud for purchase orders and supplier invoices and write them into Fishbowl as purchase orders and vendor transactions.
  • Keep Fishbowl and IFS Cloud vendor lists in sync bidirectionally.
  • Handle IFS OData ETag requirements and Fishbowl session token lifecycle transparently.
  • Map IFS GL accounts and cost centers to Fishbowl inventory categories and part classifications.
  • Manage OAuth 2.0 token refresh, paginate large result sets, retry on rate limits, and maintain a full audit trail on every record.

Questions

Which direction does data move between IFS Cloud and Fishbowl?
The main flow is IFS Cloud into Fishbowl. Purchase orders, supplier invoices, and vendor master data move from IFS into Fishbowl. Vendor updates can be synchronized bidirectionally if configured, so changes in either system are reflected in the other. Fishbowl GL accounts are read-only through QuickBooks or Xero, so cost allocations are mapped to Fishbowl inventory categories instead.
How does the integration handle IFS OData ETag and Fishbowl session token requirements?
ml-connector captures the OData ETag header from every IFS record at read time and includes it on any later PATCH or POST back to IFS, enforcing optimistic concurrency control. Fishbowl session tokens are obtained by logging in at the start of each sync cycle and expire after a period of inactivity; ml-connector refreshes them before they expire so syncs do not fail mid-run.
Why does ml-connector map IFS GL accounts to Fishbowl inventory categories instead of GL accounts?
Fishbowl's REST API does not expose GL accounts; they are managed through QuickBooks or Xero integrations. ml-connector instead maps IFS GL accounts and cost centers to Fishbowl inventory categories, part classifications, and cost center fields so procurement allocations are tracked in Fishbowl dimensions that are available and meaningful for inventory planning.

Related integrations

Connect IFS Cloud and Fishbowl

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started