Fishbowl as a Source
Summary
Fishbowl can act as a source in Flxpoint, not just an accounting integration. Two source operations are supported: Get Inventory & Products, a delta feed that pulls product and quantity data (quantity already net of sales order allocations) from your Fishbowl server, and Get Shipments, which brings tracking and carrier back against fulfillment requests. Both reuse the accounting connection: an approved Flxpoint app on your Fishbowl server plus a dedicated API user. Get Shipments only picks up purchase orders whose Fishbowl status is Fully Processed or Acknowledged.
Fishbowl is most often set up as an accounting integration, but it can also act as a source in Flxpoint. Two source operations are supported.
| Operation | What it does |
|---|---|
| Get Inventory & Products (GIP) | Pulls product and quantity data from your Fishbowl server into Flxpoint, so Fishbowl stock can be used for routing and for keeping listings current. |
| Get Shipments | Brings tracking and carrier information from Fishbowl back against the fulfillment requests Flxpoint routed to this source. |
Fishbowl as a Source uses the same connection details as the Fishbowl accounting integration: an approved Flxpoint app on your Fishbowl server plus a dedicated API user. If you have already connected Fishbowl for accounting, the same values apply here.
Create a source for Fishbowl, start a Get Inventory & Products job, then choose Connect an Integration and select Fishbowl. Enter the connection details, click Test Connection, then Save Connection.
| Field | What it is |
|---|---|
| Connection Name | A friendly label for this connection, for example Fishbowl Source. |
| API URL | The URL of your Fishbowl API server. Required. |
| Server Port | The port your Fishbowl API listens on. Required. |
| App Name | Must match the app name used to approve the Flxpoint app in Fishbowl. Required. |
| App ID | Must match the App ID used to approve the Flxpoint app in Fishbowl. Required. |
| User Name | Your dedicated Fishbowl API user. Case-sensitive. Required. |
| Password | The password for that API user. Case-sensitive. Required. |
Prepare the API user before you connect
Create a dedicated Fishbowl API user and user group with Customer, Product, Data, Purchase Order, Sales Order and Vendor permissions. The same user serves both the accounting and the source operations.
Get Inventory & Products is a delta feed
Each run brings across what has changed rather than re-reading your whole Fishbowl catalog, and products are retrieved in pages so large catalogs do not arrive in a single request. Only active Fishbowl products are included.
Quantity already accounts for sales order allocations
The quantity Flxpoint imports is quantity on hand minus quantity allocated to Fishbowl sales orders. It is the quantity genuinely available to sell, so you do not need a workflow rule to subtract allocations yourself.
Get Shipments needs the order to have been sent to Fishbowl first
Get Shipments finds the matching Fishbowl purchase order using the reference stored on the fulfillment request when the order was sent, falling back to the external accounting ID if that reference is blank. If neither is present, that record cannot be matched and the run reports an error for it. In practice this means orders must have gone to Fishbowl through Send Accounting Orders before shipments can come back.
Get Inventory & Products
These are the Fishbowl fields exposed on the GIP mapping template. Map at minimum a SKU field and quantity.
| Fishbowl field | What it holds | Notes |
|---|---|---|
productNum | Product number | The Fishbowl product number. Common choice for SKU / Master SKU. |
partNum | Part number | The underlying part number. Use this for SKU instead if your team keys off parts. |
productId | Product identifier | Fishbowlβs internal product identifier, useful as a stable reference. |
productDescription | Title / description | Maps to the product Title or Description. |
productUpc | UPC | Barcode where present. Usable as a secondary match key. |
availableQty | Quantity | Quantity available, already net of quantity allocated to sales orders. |
avgCost | Cost | Wholesale cost. Maps to your Cost field. |
List Price | List price | Retail / list price from your Fishbowl product record. Added January 2026. |
partQty | Units per product | How many base units make up one product, for products sold in a unit of measure other than each. |
uomName | Unit of measure | The unit of measure name, for example Each or Case. |
productNum and partNum are both available and they are not always the same value in Fishbowl. Whichever you map as the Master SKU is what Flxpoint uses to link this source's inventory to your channel listings, so decide once and keep it consistent.Get Shipments
Shipment lines are matched back to fulfillment request items by SKU, with the shipped quantity applied per line.
| Fishbowl field | Maps to | Notes |
|---|---|---|
| Tracking number | Tracking Number | The tracking number recorded on the Fishbowl shipment. |
| Carrier | Carrier | The carrier name from Fishbowl. |
| SKU | SKU | Used to match each shipment line back to the right fulfillment request item. |
| Quantity | Quantity | Units shipped on the line, so partial quantities land on the right item. |
Shipping cost, invoice information and shipment custom fields are not part of this operation. For anything beyond the fields above, contact support@flxpoint.com.
Test Connection returns 401
The Flxpoint app is most likely not approved in Fishbowl, or the App Name and App ID do not match the values used at approval. Approve the app under Setup → Settings → Integrated Apps, confirm both values, and re-test. The user name and password are case-sensitive.
Get Inventory & Products returns nothing or misses items
Confirm the API user's group has the Product and Data permissions, and that the items you expect are active in Fishbowl. Inactive products are excluded by design. If the job failed rather than returned empty, check the notification log on the integration for the run result.
Get Shipments brings back no tracking
Work through these in order:
- Check the Fishbowl PO status. Anything other than Fully Processed or Acknowledged will not be picked up.
- Confirm the order was sent to Fishbowl via Send Accounting Orders, which is what stores the reference used for matching.
- Confirm the shipment actually exists in Fishbowl. Get Shipments only retrieves what is already recorded there.
Shipment came in without a carrier
Confirm the carrier is populated on the Fishbowl shipment itself, then re-run. Carrier is imported alongside the tracking number.
Which operations does Fishbowl support?
Four in total. Get Inventory & Products and Get Shipments on the source side, covered here, plus Send Accounting Orders and Send Accounting Shipments on the accounting side, covered in Fishbowl ERP.
Do I need a second connection for the source operations?
No. The source operations use the same Fishbowl connection details as the accounting integration: the approved Flxpoint app and the dedicated API user.
Can Flxpoint send orders to Fishbowl through this source?
Not through the source. Orders are pushed to Fishbowl by Send Accounting Orders, which creates Fishbowl purchase orders and is configured under Accounting. Send Fulfillment Requests is not available for Fishbowl.
Does GIP import images, categories or weights and dimensions?
No. The GIP feed covers identifiers, title and description, UPC, quantity, cost, list price and unit of measure. Build out images, categories and dimensions from another source or maintain them in Flxpoint.
Which field should I use as the Master SKU?
Whichever of productNum or partNum your team already treats as the item identifier. It has to be unique per item and match what your channel listings use, since linking is by SKU.
