Skip to content

Fishbowl + WooCommerce

Fishbowl stock on your store, warehouse by warehouse.

Fishbowl knows exactly what you have and where it is. Your WooCommerce store often does not. It shows one total, or the On Hand figure that still includes stock promised to open orders, or zero every time the connection to your office server drops.

We connect Fishbowl to WooCommerce so every product page shows the stock you can actually sell, in each warehouse, updated on a schedule you choose. We have run this setup for a US wholesaler with four warehouses since 2023.

Running Fishbowl and WooCommerce?

Replies within one business day.

When the standard setup is enough, and when it isn’t

Fishbowl has its own WooCommerce integration, and for many stores it is the right place to start. We will tell you if it covers what you need.

The standard integration usually works when:

  • •You sell from one warehouse, or one combined total is fine
  • •A few hours between stock updates is acceptable
  • •Your product codes already match between Fishbowl and WooCommerce

A custom sync usually makes sense when:

  • •Customers need to see stock per warehouse, or orders are routed to the nearest one
  • •The store must show Available stock, not On Hand
  • •Fishbowl runs on a server in your office, not in the cloud
  • •Wrong stock numbers are costing you orders, calls or complaints

On the project in our logs, the standard plugin pushed a single total per product. The client needed four warehouses shown separately, so we built the sync that sits on top of the Fishbowl API.

The problems we solve

One total instead of four locations.

Fishbowl’s API does not hand you stock per warehouse in one call. We combine queries to get a figure for each location group.

On Hand is not Available.

On Hand includes stock already committed to pending orders. A customer who orders it will be waiting. The store should show Available.

Fishbowl lives in your office.

An on-premise server is not reachable from your web host by default. The connection has to be secure, and it has to stay up.

Codes that stop matching.

Change one SKU format in Fishbowl and those products quietly stop syncing.

Numbers the store should never show.

Negative quantities, sample boards and display items that follow different rules.

Silent failures.

A sync that stops without an error message is worse than one that fails loudly.

What you get, what we build, what you decide

What you get
  • Stock per warehouse on every product page
  • Available stock, not On Hand
  • “In stock” if any warehouse has it
  • A store that keeps working if the connection drops
  • A weekly check that someone actually does
What we build
  • A sync plugin that reads Fishbowl and updates WooCommerce stock
  • Location mapping between Fishbowl and WooCommerce
  • Backorder messaging when no warehouse has stock
  • Fallback that keeps the last good numbers
  • Health check page: synced product count, last run, test products
What you decide
  • Which Fishbowl locations map to which warehouses
  • How often stock updates (we ran every 20 minutes)
  • What customers see when an item is out everywhere
  • Who gets alerted when the sync stops
  • Who on your team owns SKU changes in Fishbowl

How we run it

  1. 01Map every SKU and every location.Fishbowl part numbers against WooCommerce SKUs, including variations, and each Fishbowl location group against a store warehouse. Mismatches get listed before anything is built.
  2. 02Choose the stock figure.Usually Available, per location group. We confirm it on a handful of real products with your team before the sync goes live.
  3. 03Choose the connection.Three options, depending on where Fishbowl runs: the Fishbowl REST API, reached through a secure tunnel to your server; a small read-only service on your network, built with your IT team, that runs one query and returns only what the store needs; or scheduled file exports from Fishbowl, as a fallback, not a first choice.
  4. 04Sync stock only.The scheduled job updates quantities. It does not re-import products, so it stays light on your server and your site.
  5. 05Fail safe.If Fishbowl cannot be reached, the store keeps the last good numbers instead of dropping everything to zero. Negative values are treated as zero.
  6. 06Build the front end.Stock per warehouse, “in stock” when any warehouse has it, a clear backorder message when none do, and routing by customer address if you need it.
  7. 07Check it every week.Synced product count, a few test products with known stock, and a test order. Then we look after it on a WooCommerce maintenance retainer, if you want us to.

Where this usually goes wrong

The tunnel runs on someone’s laptop.

It works until the laptop sleeps, or Windows restarts overnight for an update. The service needs an always-on machine and has to start on its own after a reboot.

A free tunnel plan.

Free tunnels drop and change addresses. Use a paid plan with a fixed address.

SKU format changes in Fishbowl.

Removing a space or swapping a character breaks the match. We agree one format and who owns it.

Stock imports that overwrite everything.

A product import run with the stock option left on can reset every quantity. Stock and product data are imported separately.

Fishbowl licenses.

Each connection uses a user seat. The service should log in, read and log out, not hold a seat all day.

From our logs

From our logs

Tile manufacturer, four US warehouses. The standard plugin could only push one combined total. We built a sync that combines Fishbowl API queries to get stock for each location group, and mapped each one to a warehouse on the store.

From our logs

Same store, two years later. Some products showed more stock than the business could sell. The Fishbowl API was returning On Hand. The client’s IT lead built a small read-only service that queries Available per location, and we pointed the sync at it. Negative values are now treated as zero.

From our logs

Same store, weekly check. Every Monday we confirm the synced product count is in the expected range (around 8,000 for the main warehouse), check test products with known stock in each location, and place a test dealer order.

From our logs

Same store, a quiet failure. The machine serving the stock data restarted after an overnight update. The store kept its last good numbers and kept selling. The lesson: a fallback protects the store, but it also hides the outage. So we check.

Client names are left out.

What we won’t promise

Real-time stock to the second. Each sync reads more than 10,000 inventory rows from Fishbowl, and it runs on a schedule, usually every 15 to 30 minutes. For most wholesale and B2B stores, that is the right trade between accuracy and load on your Fishbowl server.

Frequently asked questions

Does this replace the official Fishbowl WooCommerce plugin?+

Not always. If the standard plugin handles your orders and products well, we can keep it and add a custom stock sync for per-warehouse and Available quantities.

Our Fishbowl server is on-premise. Can you still connect?+

Yes. That is the setup on our longest Fishbowl project. The connection runs through a secure tunnel or a small read-only service on your network, and the stock sync only reads from Fishbowl. It never writes to it.

Can customers see stock for each warehouse?+

Yes. Each product can show stock by location, and orders can be routed to a warehouse based on the customer’s address.

How often does stock update?+

You choose. We have run it every 20 to 30 minutes. More often is possible but puts more load on Fishbowl.

What happens if the connection drops?+

The store keeps the last good stock numbers. It does not show everything as out of stock. Our weekly checks catch a connection that has been down.

We use Fishbowl Drive, not Fishbowl Advanced.+

Drive connects to WooCommerce through Fishbowl Commerce, not the standalone plugin. Send us your setup and we will tell you what is possible.

Do you work with our IT team?+

Yes. On our longest Fishbowl project, the client’s IT lead owns the Fishbowl side and we own WooCommerce. We agree who owns what before we start.

Wrong stock on your store?

Send your store URL, your Fishbowl version, and how many locations you ship from. We will tell you what the sync involves before you commit.

Replies within one business day.