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
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 includes stock already committed to pending orders. A customer who orders it will be waiting. The store should show Available.
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.
Change one SKU format in Fishbowl and those products quietly stop syncing.
Negative quantities, sample boards and display items that follow different rules.
A sync that stops without an error message is worse than one that fails loudly.
What you get, what we build, what you decide
- 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
- 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
- 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
- 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.
- 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.
- 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.
- 04Sync stock only.The scheduled job updates quantities. It does not re-import products, so it stays light on your server and your site.
- 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.
- 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.
- 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
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.
Free tunnels drop and change addresses. Use a paid plan with a fixed address.
Removing a space or swapping a character breaks the match. We agree one format and who owns it.
A product import run with the stock option left on can reset every quantity. Stock and product data are imported separately.
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.