How to export your data from Fishbowl Inventory
Fishbowl is the inventory layer bolted onto QuickBooks for a great many small manufacturers and distributors. Its export module is genuinely good — the work is in knowing which five exports to run, and how Parts and Products fit together.
1.Before you export: pin the cutover
The single most common way a migration goes wrong has nothing to do with columns. On-hand quantities are only true at an instant. If you export stock on Monday and go live on Friday, you have imported a week-old picture and every discrepancy afterwards will be blamed on the new system.
Agree a freeze point with everyone who touches Fishbowl. Then either:
- have the team work on paper between the freeze and go-live, and key the gap in; or
- accept the drift and reconcile with a full cycle count on day one.
Both are fine. Silently drifting by a week is not.
2.What to pull
Ask for these five things, whatever else you decide to bring:
- Item master, including the inactive/obsolete flags so you can filter rather than lose them.
- On-hand quantity per item, as of a stated date and time.
- Current average or last cost per item.
- Customer and vendor master, with addresses and terms.
- Open purchase orders and sales orders, if the cutover isn't on a quiet day.
3.The export, step by step
Data Import/Export module
- Open the Data Import/Export module —
File → Export. - Run these exports: Part, Product, Customer, Vendor, and Inventory (for on-hand quantities).
- Hit Export Template first on each one. That gives you the exact column headers for your install, including any custom fields your team has added — which the generic documentation won't show you.
- Output can be CSV, TXT, XLS, or XLSX. Any of them is fine.
4.Field mapping into AegisSwift
AegisSwift's item importer accepts a plain spreadsheet. These are the columns worth filling and where they come from in Fishbowl:
| Fishbowl column | AegisSwift column | Notes |
|---|---|---|
PartNumber / ProductNumber |
sku |
Required. The match key for duplicate detection and re-imports. |
PartDescription |
name |
Required. |
PartDetails |
description |
Long description. |
UPC / ProductUPC |
barcode |
Worth chasing — it makes receiving and counts scannable on day one. |
UOM |
uom |
Unit of measure. |
StdCost (or Cost on vendor rows) |
cost |
Seeds the moving-average cost basis. |
Price (Product export) |
price |
Default sell price. |
Vendor / DefaultVendor |
vendor |
Matched by name — import vendors first or these warn instead of linking. |
VendorPartNumber |
vendor_sku |
Stored on the supplier link. |
| Quantity from the Inventory export | quantity |
Opening on-hand, received into your default location. |
Import vendors before items. The vendor column matches on name
against vendors that already exist. Run the party import first and the links form
automatically; run it second and every item row warns instead.
5.Gotchas
Filter on Active — but export everything first
Fishbowl databases accumulate years of dead parts. Export the lot including the active flag, then filter in the spreadsheet. Filtering at the source is how you discover six months later that "inactive" was also hiding something you still sell.
Custom fields hide at the right-hand edge
They come through prefixed CF- on parts and CFP- on products.
Teams often keep something load-bearing there — a bin location, a customer part number, a
compliance code. Always scroll right and ask.
Multi-location quantities need consolidating
The Inventory export reports quantity per location group. Decide whether those become separate AegisSwift locations or one opening balance, and consolidate before importing.
Anything the module won't give you
Fishbowl runs on MySQL. On self-hosted installs a read-only database connection will get you whatever the export module won't — useful for transaction history, which no export path covers well.
6.What happens on our side
You upload the two spreadsheets — items, and parties (customers and vendors) — and the
import wizards match on sku and name respectively, so a re-import
updates rather than duplicates. That matters more than it sounds: you will almost certainly
import twice, once to see what breaks and once for real.
One difference to expect if you're coming from Fishbowl via QuickBooks: AegisSwift costs
inventory on a moving average. Your opening cost column seeds
that basis. If your accounting uses FIFO, the two will not agree penny-for-penny after the
first receipt — that's a costing-method difference, not an error, and it's worth telling
your accountant before go-live rather than after.
7.Questions people ask
Can I export my data out of Fishbowl myself?
Yes. The Data Import/Export module is self-serve and needs no ticket or professional-services engagement. Self-hosted installs additionally expose MySQL directly.
Will I lose my custom fields?
Not if you look for them — they export as CF- and CFP- columns.
Map the ones that matter to AegisSwift fields, or keep them in the description.
How long does this take?
The exports themselves are minutes. Joining Parts to Products and agreeing what counts as active is the real work — budget an afternoon for a typical catalogue, and expect to run the import twice.
Bring it into AegisSwift
Real-time inventory, barcode scanning, work orders, and QuickBooks sync from $69/month. 14-day free trial, no credit card, and we'll walk the import with you.
Start a free trial