Deltek and Fishbowl integration
Deltek runs project-based accounting and finance. Fishbowl runs inventory, purchasing, and light manufacturing on the shop floor. Connecting the two means the goods a customer buys and receives in Fishbowl turn into vendor bills and ledger entries in Deltek without re-keying. Vendor master data stays aligned so both systems point at the same firms, and received purchase orders flow into Deltek as AP invoices and journal entries against the correct project and GL account. ml-connector handles the very different login and data styles on each side and moves records on a schedule you control.
What moves between them
The main flow runs from Fishbowl into Deltek. ml-connector reads issued and received purchase orders and their line items from Fishbowl and creates the matching AP invoices and journal entries in Deltek, mapped to the right project, firm, and GL account. Vendor records are aligned in both directions so a supplier added in either system appears in the other, with Fishbowl vendors becoming Deltek firms of vendor type. Reading runs on a polling schedule because neither side pushes reliable events, and Fishbowl PO numbers are matched against existing Deltek invoices so a record posts once. GL accounts live in Deltek, not Fishbowl, so the ledger is owned on the Deltek side.
How ml-connector handles it
ml-connector stores both credential sets encrypted. For Fishbowl it logs in with the app id, username, and password against the customer's server URL, holds the returned UUID as a bearer token, and re-logs in when a call returns an auth error, since Fishbowl tokens have no documented expiry. For Deltek it runs the OAuth2 password grant against the tenant deltekfirst.com URL and refreshes the hourly bearer token on a 401. Both sides are polled on your chosen cadence because Fishbowl has no webhooks and Vantagepoint offers only unsigned workflow callbacks. Fishbowl pages are walked using pageNumber and pageSize until the total is reached, and Deltek paging uses page and pagesize. Vendors map to Deltek firms, and received purchase orders map to AP invoices with their lines tied to a project and GL account. Because Deltek has no idempotency key, ml-connector checks for an existing invoice by PO number before creating one, so a re-poll does not duplicate a bill. Failed calls are retried with backoff, and Deltek AP invoice approval rules may hold a posted invoice in draft until a reviewer releases it.
A real-world example
A mid-sized engineering and fabrication firm of about 120 people runs Deltek Vantagepoint for project accounting and bills time and materials back to clients by project. The shop floor runs Fishbowl on a server in the building for purchasing raw stock, receiving against purchase orders, and tracking inventory. Before the integration, a purchasing clerk received goods in Fishbowl and then a second person re-typed each vendor bill into Deltek and guessed which project to charge, which left month-end close chasing unbilled materials and mismatched vendor names. With Deltek and Fishbowl connected, each received purchase order becomes a Deltek AP invoice tied to the right project and GL account, vendors stay consistent across both systems, and the duplicate data entry is gone.
What you can do
- Turn received Fishbowl purchase orders into Deltek AP invoices and journal entries against the right project and GL account.
- Keep vendor records aligned both ways, mapping Fishbowl vendors to Deltek firms of vendor type.
- Log in to a customer Fishbowl server with its session token and to Deltek with the OAuth2 password grant, refreshing each token as it expires.
- Poll both systems on your schedule because neither offers reliable event push.
- Match Fishbowl PO numbers to existing Deltek invoices so a record is never posted twice.
Questions
- Which direction does data move between Deltek and Fishbowl?
- The main flow is Fishbowl into Deltek. Received purchase orders become AP invoices and journal entries in Deltek against the correct project and GL account. Vendor records are aligned in both directions so the same firms exist on each side, and the chart of accounts stays owned by Deltek because Fishbowl does not expose GL accounts.
- Does Fishbowl being on-premise change how the connection works?
- Yes. Fishbowl runs on the customer's own server and port rather than a shared cloud address, so ml-connector takes that server URL as a required setting per customer. If the server sits behind a firewall, a local polling agent inside the network is often the realistic path, and HTTPS should be enabled before exposing the port to the internet.
- How does the integration avoid posting the same bill twice?
- Deltek Vantagepoint has no native idempotency key, so ml-connector checks Deltek for an existing invoice by Fishbowl PO number before creating a new one. Because both systems are polled rather than pushed, this matching is what keeps a re-poll from creating a duplicate. Deltek approval rules may also hold a new AP invoice in draft until a reviewer releases it.
Related integrations
More Deltek integrations
Other systems that connect to Fishbowl
Connect Deltek and Fishbowl
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started