Exact Online and Fishbowl integration
Exact Online manages accounting and purchasing for SMEs across Europe and North America. Fishbowl Advanced handles inventory and manufacturing on-premise. Connecting them keeps your vendor master data and purchase orders in sync across both systems. New suppliers in Exact Online sync to Fishbowl as vendors, and purchase orders flow from Exact into Fishbowl's inventory module without manual re-keying. ml-connector bridges the very different authentication models and polling requirements of each system.
What moves between them
Purchase orders and vendor data flow from Exact Online into Fishbowl Advanced. Suppliers defined in Exact Online map to vendors in Fishbowl, with purchase orders from Exact syncing to Fishbowl purchase orders on a polling schedule. Item details, order status, and delivery information move in the same direction. Since Fishbowl has no webhook system, ml-connector polls both Fishbowl for changes and listens for Exact Online webhooks to detect new or updated purchase orders, ensuring timely synchronization without excessive polling overhead on Fishbowl's on-premise deployment.
How ml-connector handles it
ml-connector stores both credential sets encrypted: Exact Online's OAuth app credentials and refresh token, and Fishbowl's username, password, and appId. On the Exact Online side, it refreshes the access token before expiry (10-minute lifetime), tracks the rotating refresh token (valid 30 days), and re-authorizes if the token expires. On the Fishbowl side, it logs in once per session, stores the returned UUID bearer token, and refreshes it periodically to avoid session timeout. The integration accepts Exact Online webhooks when available for fast purchase order notifications but falls back to polling if webhooks are not enabled, detecting the Exact division ID from the OAuth user profile. Purchase orders are mapped by synchronizing the supplier/vendor relationship first - Exact suppliers (Accounts entity with IsSupplier flag) are queried and created or updated in Fishbowl as vendors. Purchase order lines are matched by item SKU and quantity, and order status flows from Exact to Fishbowl. Since Fishbowl is on-premise, the customer must open network access and supply the server URL; ml-connector validates connectivity at configuration time. Every record carries a full audit trail for replay if a downstream call fails.
A real-world example
A mid-sized wholesale distributor in Belgium runs Exact Online for accounting and purchasing and Fishbowl Advanced on a local server for inventory and order fulfillment. Before the integration, the purchasing team created purchase orders in Exact Online and manually entered key data into Fishbowl's vendor and purchase order modules to keep inventory records current, a time-consuming process prone to errors. With Exact Online and Fishbowl connected, suppliers created in Exact automatically appear in Fishbowl's vendor list, and purchase orders sync without re-keying, so warehouse staff see real-time order status and inventory levels align with procurement without duplicate data entry.
What you can do
- Sync Exact Online suppliers to Fishbowl vendors, keeping your vendor master data current across both systems.
- Push purchase orders from Exact Online into Fishbowl on a polling schedule, with item details and order status.
- Handle Exact OAuth 2.0 token refresh and Fishbowl session token management, including token expiry and re-authentication.
- Accept Exact Online webhooks for purchase order changes when available, falling back to polling if webhooks are not enabled.
- Store both credential sets encrypted and validate Fishbowl server connectivity at configuration time.
Questions
- Which direction does data move between Exact Online and Fishbowl?
- Purchase orders and vendor data flow from Exact Online into Fishbowl Advanced. Suppliers in Exact map to vendors in Fishbowl, and purchase orders sync from Exact into Fishbowl's inventory module. Fishbowl is polled for confirmation and status updates, but the primary data flow is inbound to Fishbowl.
- How does the integration handle Exact Online's OAuth token expiry and Fishbowl's on-premise session tokens?
- ml-connector refreshes Exact Online's access token before its 10-minute expiry and tracks the rotating 30-day refresh token to re-authorize if needed. On the Fishbowl side, it logs in with username and password to receive a session UUID token, stores it encrypted, and refreshes it before timeout to maintain a valid connection to the on-premise server.
- What happens if Fishbowl webhooks are not available or enabled?
- Fishbowl has no outbound webhook capability, so ml-connector polls Fishbowl's REST endpoints on a 5-15 minute schedule to detect purchase order and vendor changes. Exact Online webhooks are used when available for faster purchase order notifications, but polling ensures data stays current even if webhooks are not configured in Exact.
Related integrations
More Exact Online integrations
Other systems that connect to Fishbowl
Connect Exact Online and Fishbowl
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started