# Israel Lopez Consulting — full content corpus Custom Fishbowl integrations and software. This file concatenates every published integration, industry, deep dive, Fishbowl error reference, news post, and blog article. Canonical site: https://israellopezconsulting.com/ --- # Integrations # Amazon + Fishbowl Integration — Israel Lopez Consulting > Sync Amazon orders, FBA and FBM fulfillment, and stock levels into Fishbowl so you protect your seller score and don't oversell. We can integrate the following features from your Amazon channel into Fishbowl Inventory: Display which items are in stock by synchronizing inventory with Fishbowl. Optionally limit the maximum quantity available to your store or limit by location. Make your company as efficient as possible with a custom integration from ILC. You’ll never waste time manually entering an order again! Our integration works whether you fulfill your own orders or use Fulfillment by Amazon (FBA). We can download FBA fulfillment requests as they are received so that you can keep your product in stock. In addition, our team can take an aggregate order from Amazon and download it as one order in Fishbowl. If you choose Fulfillment by Merchant (FBM), we can import your Amazon orders throughout the day to turn your orders around quickly and keep your customers happy. Maintain your seller score by connecting Amazon to your processing flow in Fishbowl. Fishbowl can send tracking information to Amazon as soon as the order is shipped. Does your company have a different business process? Ask our team how we can customize your Amazon integration to suit your needs. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Multi-Entity (Fishbowl to Fishbowl) — Israel Lopez Consulting > Run multiple Fishbowl databases as one operation. We sync master data, inventory, and orders between Fishbowl instances so multi-entity businesses stay consistent. ## What we connect Some businesses run more than one Fishbowl database: separate entities or divisions, or a procurement and inventory-ownership database that feeds a downstream fulfillment database. ILC builds Fishbowl-to-Fishbowl integrations that keep those instances in step, so parts, products, customers, and orders stay consistent across every database without anyone re-keying. A common setup we handle: one Fishbowl database owns inventory and purchasing, and a second handles customer orders and fulfillment. We synchronize master data one direction and orders or shipment data the other, so each database does its job while the whole operation reads as one. ## How it works We connect the databases through a central integration layer instead of overlapping point-to-point processes, using the ILC Integration Server. That keeps the sync consistent and secure, and easier to extend as you add entities. We map exactly which records flow which way, handle conflicts, and document it so your team can run it. Reporting across the entities too? See [Fishbowl Custom Reports](/fishbowl-custom-reports) and [Power BI](/integrations/power-bi). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Magento + Fishbowl Integration — Israel Lopez Consulting > Pull Magento orders into Fishbowl and push real-time stock back, so your storefront only sells what you can actually ship. We can integrate the following features from your Magento channel into Fishbowl Inventory: Keep your storefront honest about what you can actually ship. We synchronize Fishbowl inventory out to Magento on a schedule you choose, and we can cap the quantity you expose to the store or publish stock from only certain locations. Magento orders come into Fishbowl as sales orders throughout the day, with customer, shipping method, and line items already mapped. Nobody re-keys anything, and your pickers are working from the order the customer actually placed. When the order ships out of Fishbowl, we send the carrier and tracking number back to Magento so the shipment is marked complete and your customer gets the notification they expect. Magento installs vary a lot — custom attributes, configurable products, multiple store views. Ask our team how we can shape the integration around the way your catalog is actually built. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # eBay + Fishbowl Integration — Israel Lopez Consulting > Bring eBay sales into Fishbowl automatically and feed quantities back so every listing stays accurate and in stock. We can integrate the following features from your eBay channel into Fishbowl Inventory: Keep listings accurate by synchronizing quantity from Fishbowl to eBay. You can hold back a buffer or publish stock from selected locations only, which keeps you from selling the same unit on eBay and in your own store. eBay sales are imported into Fishbowl as orders throughout the day, with buyer and shipping details attached, so fulfillment can start immediately. Ship the order in Fishbowl and we send the tracking number back to eBay. The item is marked shipped, the buyer gets notified, and your seller metrics stay where you want them. Selling across multiple eBay accounts or storefronts? Ask our team how we can bring them into one Fishbowl instance. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # BigCommerce + Fishbowl Integration — Israel Lopez Consulting > Import BigCommerce orders into Fishbowl, push stock levels back, and post tracking updates automatically. We can integrate the following features from your BigCommerce channel into Fishbowl Inventory: Push Fishbowl stock levels up to BigCommerce so the storefront only offers what you can ship. Quantities can be capped or drawn from specific locations. BigCommerce orders are imported into Fishbowl as sales orders as they are placed, including customer, shipping method, and line detail. When the order ships, we send carrier and tracking back to BigCommerce and move the order to its shipped state so the customer notification goes out on its own. Ask our team how we can adapt the integration to your product options, price lists, or multi-storefront setup. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # WooCommerce + Fishbowl Integration — Israel Lopez Consulting > Wire your WooCommerce store to Fishbowl so WordPress orders flow straight into picking, packing, and shipping. We can integrate the following features from your WooCommerce channel into Fishbowl Inventory: Publish Fishbowl stock levels to WooCommerce so your WordPress storefront stops selling things that left the building last week. You can limit the quantity exposed to the store or restrict it to specific Fishbowl locations. New WooCommerce orders are imported into Fishbowl as sales orders as they come in, so picking and packing starts from the real order rather than a copy someone typed. Once Fishbowl ships the order, we write the carrier and tracking number back to WooCommerce, mark the order complete, and let WooCommerce send its own notification to the customer. WooCommerce is a plugin ecosystem as much as a store — subscriptions, bundles, custom fields. Ask our team how we can fit the integration to the plugins you already run. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Salesforce + Fishbowl Integration — Israel Lopez Consulting > Move Salesforce opportunities and orders into Fishbowl fulfillment without anyone re-keying a thing. We can integrate the following features from your Salesforce org into Fishbowl Inventory: When an opportunity closes or an order is approved in Salesforce, we create the corresponding sales order in Fishbowl — accounts, contacts, products, and pricing mapped across so your sales team and your warehouse are looking at the same order. Fishbowl product and availability data can be surfaced back in Salesforce, so reps can see what is actually on hand before they promise a date. As Fishbowl picks, ships, and invoices, we write status and tracking back to the Salesforce record. Sales can answer “where is my order” without calling the warehouse. Salesforce is heavily customized at almost every company we see. Ask our team how we can map the integration onto your objects, record types, and approval process rather than forcing you onto ours. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # ShipStation + Fishbowl Integration — Israel Lopez Consulting > Hand Fishbowl orders to ShipStation for rates and labels, then write tracking back to Fishbowl and your customers. We can integrate the following features from ShipStation into Fishbowl Inventory: Fishbowl orders that are ready to ship are sent to ShipStation, where your team can rate shop, batch, and print labels the way they already do. Item weights, dimensions, and ship-to details come across with the order, so ShipStation has what it needs to rate the shipment correctly instead of guessing. When the label is created, we write the carrier, service, cost, and tracking number back to the Fishbowl order and ship it. Tracking flows on to your storefront or marketplace from there. Ask our team how we can fit this around your packing stations, multiple warehouses, or the carriers you have negotiated rates with. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # ShipWorks + Fishbowl Integration — Israel Lopez Consulting > Route Fishbowl orders through ShipWorks for batch label printing and automatic tracking write-back. We can integrate the following features from ShipWorks into Fishbowl Inventory: Orders ready to ship in Fishbowl are handed to ShipWorks so your team can filter, batch, and print labels in volume rather than one order at a time. Ship-to address, requested service, weights, and line detail come across with each order, so ShipWorks can rate and label without anyone retyping the shipment. When labels print, we write the carrier and tracking number back to the Fishbowl order and mark it shipped, which keeps the rest of your channels updated downstream. High-volume shippers usually have particular rules about how orders get grouped. Ask our team how we can build those rules into the hand-off. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # ShipRush + Fishbowl Integration — Israel Lopez Consulting > Create ShipRush labels straight from Fishbowl orders and return tracking numbers to each one automatically. We can integrate the following features from ShipRush into Fishbowl Inventory: Fishbowl orders are made available to ShipRush so labels can be created straight from the order, without anyone copying an address into a carrier screen. Address, service level, weights, and package detail travel with the order, so ShipRush rates the shipment against what you are actually sending. Once the label is created, the carrier, service, and tracking number are written back to the Fishbowl order and the order is shipped. Ask our team how we can shape this around the carriers and package types you use day to day. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Dsco + Fishbowl Integration — Israel Lopez Consulting > Connect the Dsco dropship network to Fishbowl to receive orders and confirm shipments without manual steps. We can integrate the following features from the Dsco network into Fishbowl Inventory: Dropship orders from your retail partners on Dsco are pulled into Fishbowl as sales orders automatically, so a new retailer does not mean a new manual inbox for someone to watch. Fishbowl inventory is published back to Dsco on a schedule, which is what keeps your retail partners from selling units you no longer have. You can publish from selected locations or hold back a buffer. When Fishbowl ships the order, we confirm the shipment on Dsco with carrier and tracking so your partner’s customer gets their notification and your compliance metrics stay clean. Dropship programs come with per-retailer rules and SLAs. Ask our team how we can map your trading partners onto Fishbowl the way each of them expects. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Detrack + Fishbowl Integration — Israel Lopez Consulting > Push Fishbowl shipments to Detrack as delivery jobs, give drivers a mobile app with electronic proof of delivery, and write tracking and POD back to Fishbowl. [Detrack](https://www.detrack.com/) handles the part of the journey that ends at your customer's door: a driver app, live vehicle tracking, route planning, and electronic proof of delivery (signatures and photos). If you run your own delivery fleet, we connect it to Fishbowl so the office and the road stay in sync. ## What we integrate - **Orders → delivery jobs.** As Fishbowl sales orders or shipments are ready, we create Detrack delivery jobs automatically, with the addresses, line items, and instructions the driver needs. - **Proof of delivery back to Fishbowl.** When a driver marks a stop delivered, the status, timestamp, signature, and photos flow back so your team sees it without asking the warehouse. - **Live tracking for customers.** Detrack's delivery notifications and tracking links keep your customers informed, tied to the Fishbowl order they belong to. ## Why ILC We build these integrations directly against the Fishbowl data and the Detrack API, so the mapping matches how you actually pick, load, and route — not a one-size-fits-all connector. If a step needs custom logic, we code it. We've made it even easier to integrate your business solutions directly into Fishbowl Inventory with a monthly service. With our eCommerce and shipping integrations service, you get seamless connections across the platforms you use to run your business — the flexibility to support Fishbowl and everything around it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # EasyPost + Fishbowl Integration — Israel Lopez Consulting > We build custom shipping apps on EasyPost for multi-carrier rating, labels, and tracking, wired into Fishbowl with automation workflows shaped around how you ship. [EasyPost](https://www.easypost.com/) is a shipping API that reaches USPS, UPS, FedEx, DHL, and dozens of other carriers through one interface. We use it as the foundation for **custom shipping apps** — not an off-the-shelf connector, but software built around how your business actually ships, wired directly into Fishbowl. ## What we build - **Multi-carrier rating and labels.** Rate-shop across every carrier you use, buy the right label, and pull Fishbowl order and item data into it automatically — no re-keying at the pack station. - **Highly customized automation.** Carrier selection rules, packaging logic, service-level and cost thresholds, address verification, customs docs, batch label runs — the workflow logic your operation needs, coded to match it. - **Tracking back into Fishbowl.** Tracking numbers and delivery status flow back onto the order so your team and your customers stay informed. ## Why ILC Most shippers outgrow the pre-built tools: the carrier logic gets too specific, the volume gets too high, or a rule just doesn't exist in the box. EasyPost gives us the carrier reach; we write the app around it. Because we build directly against the Fishbowl data and the EasyPost API, the automation fits your process instead of forcing your process to fit a template. If you're doing high-volume or unusual shipping and the standard integrations can't keep up, this is where a custom app pays for itself. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Third-Party Logistics (3PL) + Fishbowl Integration — Israel Lopez Consulting > Send orders out to your 3PL and pull stock levels and fulfillment status back into Fishbowl automatically. We can integrate the following features from your third-party logistics provider into Fishbowl Inventory: Orders that your 3PL fulfills are sent out to them from Fishbowl as they are ready — by file drop, API, or whatever channel your provider supports — so nobody is emailing spreadsheets to a warehouse. Stock on hand at the 3PL is brought back into Fishbowl so your available quantity reflects inventory you do not physically hold. That is what keeps your storefronts and marketplaces from overselling. As the 3PL fulfills, we bring shipment confirmations and tracking numbers back into Fishbowl and close out the order, which then feeds tracking on to your sales channels. Every 3PL exchanges data a little differently. Ask our team how we can fit the integration to your provider’s file formats and cadence rather than asking them to change. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # NetSuite + Fishbowl Integration — Israel Lopez Consulting > Sync orders, items, inventory, and fulfillment between Oracle NetSuite and Fishbowl, built by a team with real NetSuite experience. ## What we connect We connect Oracle NetSuite with Fishbowl Inventory and keep the data that matters in both systems aligned. That means orders, items, inventory levels, and fulfillment moving between NetSuite and Fishbowl without anyone re-keying records. This fits companies that run NetSuite as the ERP and financial system of record while using Fishbowl for warehouse and inventory operations. It also helps teams that are migrating between the two systems and need both running in step during the transition. ## How it works ILC has real NetSuite experience and has built these integrations. Depending on what suits your setup, we can integrate directly with NetSuite or route through an intermediary API or middleware layer when that is the better fit for your volume, processes, or other connected systems. Have a different process? Ask our team how we can adapt the integration to your workflow. See also our [reconciliation](/accounting-inventory-reconciliation) work, [custom Fishbowl reports](/fishbowl-custom-reports), and [other integrations](/integrations). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # QuickBooks Online + Fishbowl Integration — Israel Lopez Consulting > Custom QuickBooks Online integrations and apps that go past the standard Fishbowl connector, including bulk and aggregated invoicing. ## What we connect The native Fishbowl to QuickBooks sync covers the basics. We build past it. ILC develops custom integrations and apps directly against the QuickBooks Online (QBO) API: bulk and aggregated invoicing, custom field and account mappings, and workflows the standard connector cannot do. One common example we have built is pulling Shopify and Amazon orders into QBO as bulk invoices, rather than pushing them through one at a time. This is separate from our [reconciliation service](/accounting-inventory-reconciliation), which fixes the books after they drift. This work is about building the pipeline so the data lands correctly in the first place. ## How it works We start with how your orders, items, and accounts actually map between systems, then write to the QBO API to match that. If the standard connector forces a workaround you do not like, we replace that step with a custom app. See our [custom software](/custom-software) and [integrations](/integrations) pages, or [custom Fishbowl reports](/fishbowl-custom-reports) for related work. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # HubSpot + Fishbowl Integration — Israel Lopez Consulting > Connect HubSpot CRM with Fishbowl so sales and operations share the same customers, orders, and inventory without re-keying data. ## What we connect We link HubSpot CRM and Fishbowl Inventory so the two systems stay in step. Customers and orders created in HubSpot push into Fishbowl, and inventory levels and order status flow back to the sales team. Sales sees what is in stock and where an order stands. Operations sees clean order records ready to fulfill. Nobody copies data from one screen into another, and the two systems stop drifting apart. ## How it works ILC has built these integrations before, and we tailor each one to how your business actually runs. We map your HubSpot fields to Fishbowl, decide which records sync and in which direction, and set the timing that fits your workflow. The result is one consistent set of records across CRM and Fishbowl. Want this shaped around a process that does not fit the standard pattern? Ask our team. You can also browse our other [integrations](/integrations), [custom software](/custom-software), and [Fishbowl reporting](/fishbowl-custom-reports) work. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Microsoft Dynamics 365 CRM + Fishbowl Integration — Israel Lopez Consulting > Connect Microsoft Dynamics 365 CRM with Fishbowl so accounts, orders, and fulfillment status stay in sync across sales and the warehouse. We connect Microsoft Dynamics 365 (CRM and Customer Engagement) with Fishbowl Inventory so your sales org and your warehouse work from one source of truth. ## What we connect We map accounts and contacts between Dynamics 365 and Fishbowl so customer records match on both sides. Orders created in Dynamics flow into Fishbowl for picking, packing, and shipping. Fulfillment status flows back to Dynamics, so your sales team can see where an order stands without leaving the CRM or calling the warehouse. ## How it works ILC has built these Dynamics 365 to Fishbowl connections before. We start by mapping how your accounts, orders, and statuses move today, then build the sync to match that process. If your business rules differ from the defaults, we adjust the mapping to fit how you actually work. Want to go further? See our [custom reports](/fishbowl-custom-reports), [reconciliation](/accounting-inventory-reconciliation), and [custom software](/custom-software) work, or browse all [integrations](/integrations). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # EDI + Fishbowl Integration — Israel Lopez Consulting > Full EDI between Fishbowl and your trading partners. X12 and EDIFACT over AS2, mapped straight into Fishbowl orders and fulfillment. ## What we connect We build full EDI capability between Fishbowl and your trading partners. ILC supports both the X12 and EDIFACT document standards, with AS2 transport for secure, direct exchange. The documents we handle most often are purchase orders (850), advance ship notices (856), invoices (810), and acknowledgements, so your inbound orders and outbound shipping and billing all flow through one channel. ## How it works We take each partner's specific requirements and map them directly into Fishbowl orders and fulfillment. An incoming 850 becomes a Fishbowl sales order, a shipment generates the 856, and the 810 goes back out from the same data. That mapping is where big-retailer compliance gets handled, so you are not re-keying documents or tracking spec changes by hand. We have built these integrations before and can match the format and rules your partners hand you. Pair EDI with [custom reports](/fishbowl-custom-reports), [reconciliation](/accounting-inventory-reconciliation), or other [Fishbowl integrations](/integrations) when you need them. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # SPS Commerce + Fishbowl Integration — Israel Lopez Consulting > Connect Fishbowl to the SPS Commerce EDI network so retail and marketplace orders flow in and ship notices and invoices flow back out. ## What we connect ILC has built Fishbowl-to-SPS Commerce connections that link your Fishbowl Inventory system to the SPS Commerce EDI network. Through SPS you can exchange EDI documents with retail and marketplace trading partners, including Amazon EU and UK style flows. Purchase orders from your partners land in Fishbowl, and ship notices and invoices go back out to them. ## How it works When a trading partner sends a purchase order over EDI, it arrives in SPS Commerce and is translated into a Fishbowl sales order. Your team picks, packs, and ships from Fishbowl as usual. As orders move, the integration sends the advance ship notice and the invoice back through SPS to the partner automatically, so the documents your retailers require are produced without manual re-keying. Need EDI alongside other channels or custom logic? See our [integrations](/integrations) and [custom software](/custom-software) pages, or ask us about [Fishbowl custom reports](/fishbowl-custom-reports). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # TrueCommerce + Fishbowl Integration — Israel Lopez Consulting > Connect Fishbowl to the TrueCommerce EDI network so orders, ship notices, and invoices flow to your trading partners automatically. ## What we connect TrueCommerce is an EDI and B2B connectivity network that many retailers and trading partners require their suppliers to use. ILC builds the Fishbowl side of that connection, so the documents your partners expect move automatically instead of by hand: incoming purchase orders drop into Fishbowl, advance ship notices and invoices go back out, and acknowledgements are handled. That keeps you compliant with partner requirements without re-keying orders or chasing paperwork. ## How it works We map your trading partners' specific document requirements to your Fishbowl orders and fulfillment, then connect Fishbowl to TrueCommerce through a central integration layer rather than brittle point-to-point processes. Sales orders, shipments, and invoices stay in step across both systems, and we document the setup so your team can run it. Trading EDI through another network or directly? We also handle [SPS Commerce](/integrations/sps-commerce) and raw [EDI](/integrations/edi) over X12, EDIFACT, and AS2. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Xebec Data + Fishbowl Integration — Israel Lopez Consulting > Connect Fishbowl to Xebec Data's web-based EDI so retail orders, ship notices, and invoices flow to your trading partners automatically. ## What we connect Xebec Data Corp is a web-based EDI provider, in the same family as SPS Commerce and TrueCommerce. They run outsourced EDI for retailers and suppliers, VAN services, vendor managed inventory, and an API-to-EDI interface for exchanging business documents. ILC builds the Fishbowl side of that connection so the flow is automatic: incoming purchase orders land in Fishbowl, advance ship notices and invoices go back out, and acknowledgements are handled. You stay compliant with partner requirements without re-keying orders. Xebec is a partner we genuinely like working with. Their API-to-EDI interface makes the connection into Fishbowl clean and dependable, so the integration holds up in production. ## How it works We map your trading partners' document requirements to your Fishbowl orders and fulfillment, then connect Fishbowl to Xebec Data through a central integration layer instead of brittle point-to-point processes. Sales orders, shipments, and invoices stay in step across both systems, and we document the setup so your team can run it. Using a different EDI network? We also handle [SPS Commerce](/integrations/sps-commerce), [TrueCommerce](/integrations/truecommerce), and raw [EDI](/integrations/edi) over X12, EDIFACT, and AS2. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # CSV / XLSX + Fishbowl Integration — Israel Lopez Consulting > Move orders, inventory, and products in and out of Fishbowl with scheduled CSV or XLSX files, even when a system has no API. We can integrate the following features by CSV or XLSX file into Fishbowl Inventory: Not every system you depend on has an API. When the only thing on offer is a file, we build a scheduled exchange — orders, inventory, products, customers, or vendors — in and out of Fishbowl on the interval you need. Files can be picked up from and delivered to an FTP or SFTP site, a network share, or cloud storage, and we map their columns onto Fishbowl fields so nobody is opening a spreadsheet and pasting. Bad rows are the whole problem with file-based integration. We validate before importing and report what failed and why, rather than half-loading an order and leaving you to find it later. Ask our team about the file you are stuck with. Most of the time we have already dealt with something close to it. We’ve made it even easier for you to integrate your business solutions directly into Fishbowl Inventory by providing a new monthly service to you! With our eCommerce Integrations service, you can get seamless integrations of several eCommerce and shipping platforms (including Amazon, Magento, WooCommerce, eBay, BigCommerce, FTP, Shopify, ShipWorks, Salesforce, and many more!) into your Fishbowl system. This service gives ILC the flexibility to support your business and all of the integrations you use to run it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # SFTP & FTP + Fishbowl Integration — Israel Lopez Consulting > Exchange order, inventory, and product files with trading partners over SFTP or FTP, mapped straight into Fishbowl. Plenty of trading partners still move data the old reliable way: a file dropped on a server. We connect Fishbowl to your SFTP or FTP feeds so those files turn into real records instead of a manual import someone has to babysit. Inbound, we pick up order, inventory, and product files as they land and map them straight into Fishbowl. Outbound, we generate the files your partners expect, such as shipment confirmations or stock updates, and push them back on a schedule. We use SFTP wherever it is available, since it keeps the transfer encrypted, and fall back to plain FTP only when a partner requires it. We handle the parts that usually break: the exact field layout each partner wants, the file naming and folder conventions, character encoding, and what should happen when a file shows up malformed or late. The result is a feed that runs on its own and an error you actually hear about when something is off. Trading files with a retailer or supplier through a formal EDI network instead? We also handle [SPS Commerce](/integrations/sps-commerce), [TrueCommerce](/integrations/truecommerce), and raw [EDI](/integrations/edi) over X12, EDIFACT, and AS2. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Power BI + Fishbowl Integration — Israel Lopez Consulting > Connect Fishbowl to Microsoft Power BI for live sales and inventory dashboards, backed by a clean Azure SQL data layer. ## What we connect We bring your Fishbowl data into Microsoft Power BI so you can build live dashboards for sales and inventory reporting. Instead of pointing Power BI straight at Fishbowl, ILC stands up an Azure SQL data layer that holds clean, query-ready data. Power BI reads from that layer, so your reports stay fast and your Fishbowl database does not get hammered by reporting queries. We have built these setups, and we can shape the data model around the way your business actually reports. ## How it works ILC syncs the Fishbowl tables you care about into Azure SQL, structured for reporting rather than transactions. Power BI connects to that database, and your dashboards refresh on a schedule you choose. For reporting that lives inside Fishbowl itself, see our [Fishbowl Custom Reports](/fishbowl-custom-reports) work. To talk through a build, start with our [integrations](/integrations) or [custom software](/custom-software) pages. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # REST & SOAP API + Fishbowl Integration — Israel Lopez Consulting > Connect Fishbowl to almost any system that exposes a REST or SOAP API, with the mapping, authentication, and error handling built to hold up in production. Most of the systems you run expose an API, even when there is no off-the-shelf connector for Fishbowl. That is the gap we fill. We build the integration directly against a REST or SOAP API, so Fishbowl can talk to your CRM, TMS, payment processor, marketplace, or in-house application without anyone copying data by hand. We handle the parts that make an API integration hold up: authentication and token refresh, field mapping in both directions, rate limits, pagination, retries, and what should happen when the other system returns an error or goes down for a while. The goal is a connection that runs quietly and tells you when something actually needs attention. This is also how we connect the systems no one else supports. If you can point us at the API documentation, we can usually map a clean path into and out of Fishbowl. Working with a formal EDI network or a packaged platform instead? Browse the [full list of integrations](/integrations) or tell us your stack and we'll map it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # AI & LLM Integration for Fishbowl — Israel Lopez Consulting > Connect Fishbowl data to large language models through providers like OpenRouter, so you can ask questions, summarize, and automate on top of your inventory. This one is newer, and we are building it out, but the foundation is the same work we have always done: getting clean Fishbowl data in and out of another system through an API. Here that system is a large language model. We connect Fishbowl to LLM providers such as OpenRouter so you can do things that were impractical before: ask plain-language questions about your inventory and orders, summarize what changed, draft purchase orders or customer replies from real data, and flag the records that need a human to look at them. Your data stays under your control, and the model only sees what you decide to send it. If you have an idea for where AI could save your team time inside Fishbowl, tell us. We will scope what is realistic today and build the connection to support it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- --- # Industries # Fishbowl for Manufacturers — Israel Lopez Consulting > Fishbowl implementation, reconciliation, and integrations for manufacturers: work orders, BOMs, inventory accuracy, and a clean handoff to accounting. ## The problems we see on the floor Most manufacturers we meet are fighting the same handful of issues in Fishbowl. Counts drift between Fishbowl and the books, so inventory never quite ties out. Bills of materials and work orders consume the wrong parts at the wrong cost. Data gets re-keyed by hand between systems, eating the team's day. And when landed cost and margins are guesswork, every decision built on them is too. On top of that, two situations come up again and again: a Fishbowl rollout that lost momentum and stalled, and a business whose inventory complexity has outgrown what QuickBooks can hold. ## How we help We reconcile Fishbowl and QuickBooks so they agree to the penny, then fix the cause so the drift stops coming back. We straighten out BOMs and work orders so builds consume the right components at the right cost. And we automate the hand-offs between Fishbowl and your other systems so nobody is re-typing orders. The most relevant services for manufacturers: - [QuickBooks Reconciliation](/accounting-inventory-reconciliation) to get Fishbowl and the books to agree. - [Fishbowl Implementation](/fishbowl-implementation) for inventory, purchasing, and manufacturing set up right. - [Custom Software](/custom-software) and [integrations](/integrations) to connect Fishbowl to your CRM, TMS, EDI, or in-house tools. If you're outgrowing QuickBooks for inventory, we also map the path to [Fishbowl implementation](/fishbowl-implementation) when it's time. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Distributors + Fishbowl — Israel Lopez Consulting > Fishbowl help for wholesale distributors: multi-warehouse inventory accuracy, reorder points, dropship, EDI, and shipping integrations tied to clean books. ## The problems we see Wholesale distributors live and die on inventory accuracy, and that is exactly where Fishbowl tends to slip. Counts drift across warehouses, so what the system says is on the shelf and what is actually there stop matching. Reorder points are stale or never set, so fast movers stock out while dead stock ties up cash. Purchasing happens by gut instead of by the numbers. Then there are the connections. Orders flow in from a webstore, a marketplace, or an EDI trading partner, and someone is re-keying them into Fishbowl by hand. Dropship orders get lost between the supplier and the customer. Landed cost from freight and duties never makes it onto the part, so margins are a guess. Every one of those gaps slows down order turnaround and clouds the books. ## How we help We reconcile Fishbowl and QuickBooks so they agree to the penny, then fix the cause so the drift stops coming back. We set up multi-warehouse inventory, reorder points, and purchasing the way your business actually runs. And we automate the order, shipping, and EDI hand-offs so nobody is re-typing what a system already knows. The most relevant services for distributors: - [QuickBooks Reconciliation](/accounting-inventory-reconciliation) to get Fishbowl and the books to agree. - [Fishbowl Implementation](/fishbowl-implementation) for multi-warehouse inventory, reorder points, and purchasing set up right. - [integrations](/integrations) and [Custom Software](/custom-software) to connect Fishbowl to your webstore, shipping, marketplaces, and EDI trading partners. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # 3PL & Fulfillment + Fishbowl — Israel Lopez Consulting > Fishbowl setup and integrations for 3PLs: multi-client inventory separation, accurate pick pack ship, carrier integrations, and clean storage and handling billing. ## The problems we see Third-party logistics operators ask Fishbowl to do things it was never set up to do out of the box. The hardest one is keeping each client's inventory cleanly separated when it all sits in the same building. When locations, tags, and ownership are not modeled right, stock from two clients blurs together and the counts stop being trustworthy. Receiving and putaway are another sore spot. Inbound shipments arrive without clean reference data, so putaway is slow and pick accuracy suffers later. At volume, a small percentage of bad picks turns into a steady stream of returns and credits. And when it comes time to bill clients for storage and handling, the numbers are reconstructed from memory and spreadsheets instead of pulled from the system. ## How we help We set up Fishbowl so each client's inventory is genuinely isolated and the on-hand numbers hold up. We tighten receiving, putaway, and pick pack ship so orders go out right the first time. The most relevant services for 3PLs: - [Fishbowl Implementation](/fishbowl-implementation) to model multi-client inventory, locations, and order flow correctly. - [Integrations](/integrations) to connect carriers and ShipStation-style shipping so labels and tracking flow without re-keying. - [Fishbowl Custom Reports](/fishbowl-custom-reports) to turn storage and handling activity into client billing you can defend. - [Custom Software](/custom-software) when an off-the-shelf piece does not exist for how you run. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Health Sciences + Fishbowl — Israel Lopez Consulting > Fishbowl set up for medical, pharma, and life-sciences distribution: lot and serial tracking, expiration FEFO, traceability, and clean books. ## The problems we see Medical, pharma, and life-sciences companies carry product that has to be tracked by lot and serial from the moment it lands to the moment it ships. When Fishbowl is not configured for that, the holes show up fast. Lot numbers get entered inconsistently or skipped, so a recall means digging through paper instead of pulling a report. Expiration dates are recorded but not enforced, so older stock sits while newer stock ships. Chain-of-custody records, the kind DSCSA-style requirements lean on, live in spreadsheets that nobody trusts. And the same counts that have to satisfy an auditor never quite tie to the accounting books. For distributors and light manufacturers handling controlled or sensitive product, that gap is not just messy. It is the difference between answering a traceability question in minutes versus days. ## How we help We configure Fishbowl so lot and serial tracking is captured at receipt and carried through every pick, build, and ship. We set up expiration tracking and FEFO picking so the right stock moves first, and we build the [Fishbowl Custom Reports](/fishbowl-custom-reports) that turn that data into recall and traceability answers on demand. We do not certify regulatory compliance, but we set the system up to support the records your practices require. The most relevant services here: - [Fishbowl Implementation](/fishbowl-implementation) for lot, serial, and expiration tracking done right from the start. - [Fishbowl Custom Reports](/fishbowl-custom-reports) for traceability, recall readiness, and chain-of-custody pulls. - [QuickBooks Reconciliation](/accounting-inventory-reconciliation) so audited inventory and the books agree. - [integrations](/integrations) to connect Fishbowl to your EDI, portals, and downstream systems. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Consumer Packaged Goods (CPG) + Fishbowl — Israel Lopez Consulting > Fishbowl for CPG brands: multi-channel inventory, kitting and bundles, lot tracking, and clean eCommerce and 3PL integrations that tie to the books. ## The problems we see CPG brands sell the same SKUs across retail, DTC, and marketplaces, and the inventory counts rarely agree. An order ships from one channel while another oversells the same lot. Kits and bundles make it worse: Fishbowl consumes the wrong components, or the bundle count drifts from the parts on the shelf, so what you can promise to a buyer is a guess. Lot tracking gets messy when expiration dates and recall traceability matter but the data lives in spreadsheets instead of Fishbowl. Reorder timing becomes reactive, with stockouts on the movers and cash tied up in the slow ones. And when a 3PL or eCommerce platform feeds orders in by hand, the team spends its day re-keying instead of selling, and the books never quite tie out. ## How we help We get Fishbowl and your channels to show one accurate count, then connect them so orders flow without re-typing. The most relevant services for CPG brands: - [Fishbowl Implementation](/fishbowl-implementation) for kitting, bundles, and lot tracking set up right. - [integrations](/integrations) to connect Fishbowl to your eCommerce platforms, marketplaces, and 3PL. - [QuickBooks Reconciliation](/accounting-inventory-reconciliation) so multi-channel inventory and the books agree. - [Fishbowl Custom Reports](/fishbowl-custom-reports) for reorder points and demand across every channel. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl for Wholesale Importers — Israel Lopez Consulting > Fishbowl consulting for importers: purchasing, landed costs, container receiving, warehouse operations, and inventory reconciliation. ## The problems we see Importing changes the math. The cost of a product is not just what the supplier charged; it is freight, duty, customs, and the other charges that pile on between the factory and your dock. When those landed costs are not captured against the right items, margins look fine on paper and disappear in reality. Purchasing in one currency and selling in another only makes the gap harder to see. Receiving is the other pressure point. A container arrives weeks after the purchase order, often split across shipments, sometimes short or over. If receiving is not modeled to match how goods actually land, the on-hand counts drift and reconciliation turns into detective work at month end. ## How we help We set up Fishbowl so landed costs are captured against the products that carry them, so the margin you see is the margin you have. We model purchasing and container receiving to match how your shipments really arrive, including partial and consolidated receipts, and we tighten the warehouse side so counts stay trustworthy. The most relevant services for importers: - [Fishbowl Implementation](/fishbowl-implementation) to set up purchasing, landed costs, and receiving correctly from the start. - [QuickBooks Reconciliation](/accounting-inventory-reconciliation) to get Fishbowl and the books to agree after the costs land. - [Integrations](/integrations) to connect suppliers, freight, and EDI partners so data flows without re-keying. - [Fishbowl Custom Reports](/fishbowl-custom-reports) to see true landed cost and margin by product, supplier, or shipment. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- --- # Deep Dives # Receiving Right in Fishbowl: PO Cost, Over-Receiving, and the Vendor-Bill Mismatch > Most Fishbowl receiving problems aren't software bugs, they're the gap between what the PO says, what the truck brought, and what the vendor billed. Here's where that gap opens and how to keep it from turning into a cash-and-inventory mess. Most of the receiving problems we get called into aren't software bugs. They're the gap between what the purchase order says, what actually showed up on the dock, and what the vendor billed you. Fishbowl gives you two steps, receiving and reconciling, to close that gap. Use them well and your inventory value and your payables stay honest. Use them carelessly and you end up paying for eighty units while sixty sit on the shelf. Here's where the gap opens and how to keep it closed. *Scope: this describes **Fishbowl Advanced**, the desktop product, verified against current 2026 releases. Fishbowl Drive, the newer cloud product, behaves differently in several areas; if you're on Drive, some of this won't map.* ## Receive and reconcile are two steps for a reason When goods arrive, you receive them: the stock goes on the shelf and into inventory at the PO's cost. Later, when the vendor's bill comes in, you reconcile it: you confirm what you were actually charged and adjust if it differs from the PO. Two moments, because the truck and the invoice rarely arrive together. You can also receive and fulfill in one motion, reconciling on the spot. People worry about this more than they need to. It's fine, as long as the PO cost is right and the documents match. If you're buying a nut and bolt at the dollar you agreed to, receiving and closing it out immediately is not a problem, because there's nothing to reconcile. It becomes a problem when there's no substantiation, when the delivery paperwork or the bill doesn't match the PO. And that is a controls question, not a Fishbowl question: is your buyer setting up the purchase order correctly for what's actually happening? ## The most common gap: the vendor confirmed a different rate The single most frequent receiving discrepancy has nothing to do with Fishbowl's mechanics. You issue a PO at one rate, the vendor confirms the order at a different rate, and nobody updates the PO. Now the PO says one number and the bill says another, and the mismatch surfaces at reconciliation as a surprise. If your relationship with that vendor is one where you issue a PO and accept the current market rate on delivery, that's fine, but then someone has to update the cost at reconciliation so your records reflect what you actually paid. The failure isn't the software letting the numbers differ. It's a control gap where the confirmed rate never made it back onto the document. Rate mismatches like this are very, very common; the fix is a habit, not a feature. ## The cost delta when you sell before you reconcile Sometimes goods come in, you sell or consume them, and *then* the real bill arrives at a different cost. Fishbowl can often handle this cleanly on its own: if the transactions are tidy and sit inside an open period, received on the first, sold on the fourth through sixth, real cost known by the ninth, it will make the cost adjustments for you. Selling through the *entire* quantity is actually the easy case. Once it's all gone, any change in unit cost just pushes straight into cost of goods sold, which is accurate and done. The mess is the in-between. You bring in six months of material, sell a month of it, and the cost turns out to be fifty percent higher than the PO said. You've already reported margins on the old number. Maybe you've already paid bonuses on those margins. Now the correction is surmountable but genuinely painful. And the real question at that point isn't a Fishbowl question at all, it's *why did it take a month to notice a fifteen percent change in your cost?* People make buying decisions on that number. The lesson is less about the mechanics and more about discipline: get your reconciliation data in within a reasonable window, because the cost of a stale cost compounds into every decision you make on it. ## Over-receiving: the batch trap This one bites specific industries hard, and Fishbowl doesn't handle it as gracefully as it should. If you buy anything produced in batches, you've probably signed a purchasing agreement that forces you to accept some percentage over what you ordered. Order a thousand feet of custom copper cable to spec, and the terms may say you have to take delivery of up to ten percent over, so you might get eleven hundred feet, and you're obligated to accept and pay for all of it. That's normal in batch manufacturing. Fishbowl has no way to configure "allow over-receiving on this part because the contract says so," which would be the clean solution. What it does allow is over-receiving a PO line **once**. If eleven hundred feet shows up and you receive all eleven hundred in a single action, everything works: you get a bill for eleven hundred, you pay it, the inventory's correct, done. The trap is receiving in two shots. If you receive exactly the thousand feet the PO called for, landing bang on the ordered quantity, and *then* need to receive another hundred, you're stuck. Once a line is fully received to its quantity, you can't receive more against it. | You ordered 1,000 ft; 1,100 ft arrives | What happens | |---|---| | Receive all 1,100 in one action | Works. Bill for 1,100, pay it, inventory correct. | | Receive 1,000, then try to receive 100 more | Stuck. The line is fully received; you can't add to it. | | Fix: add a new PO line for the extra 100 | Lets you receive and pay the overage, but creates a duplicate line. | The workaround, adding a line to the PO for the extra hundred, isn't elegant, but it is the right way to handle it. The habit that avoids the whole problem: when you know a delivery ran over, receive the full over-quantity in one pass rather than receiving to plan and topping up later. ## When someone edits the bill in QuickBooks Here's a failure that starts as a favor and ends as a mystery. There's pressure to get a payment out the door, the numbers between Fishbowl and the accounting system don't quite line up, and someone edits what they know how to edit, a bill line in QuickBooks or Xero, to make it match so the check can go. Sometimes that's harmless. An added freight or handling charge on the bill that you just want to expense rather than capitalize, fine. But sometimes they edit an item line: the bill says eighty units, you received sixty, and rather than investigate the difference, someone just pays the eighty. The cash goes out for eighty. Sixty is in inventory. Weeks later somebody asks why on-hand shows sixty when the payment was for eighty, and the thread starts to unravel. There's no relinking these records after the fact. The fix is upstream: it's education and controls. Why are we editing bills to force a match? What's the motivation, and what's the procedure that should have caught the twenty-unit gap instead of paying past it? Cash that leaves the building without corresponding inventory is exactly the kind of quiet leak that a receiving discipline is supposed to prevent. ## The prepay gap One scenario Fishbowl simply doesn't have a native flow for: prepaying a vendor before you receive inventory. In some deals you have to. A vendor producing ten thousand feet of custom copper over a four-month lead time may want the copper cost paid up front so they're not carrying the material risk if you don't take delivery. Fishbowl has no transactional path for "pay now, receive later" on an inventory item. The workaround is to book the prepayment through a journal entry into a prepaid-inventory account, then, when the material actually arrives, receive it and clear the prepaid balance against it, keeping the real inventory value where it belongs in the inventory asset account, often settled with a vendor credit. It works, but it's a manual dance around a gap in the product. (This is an area where we lean on accounting specialists to get the entries exactly right; the point for a receiving audience is simply to know Fishbowl won't do it for you, so you plan for it instead of discovering it at go-live.) ## What actually goes wrong at the receiving screen When people picture a receiving mistake, they imagine someone clicking the wrong button, receive when they meant reconcile. That's not really what we see. The real-world error is a scanning one: an operator scans data into the wrong field. A ten- or fourteen-digit item number lands in the quantity field, and suddenly you've received a billion of something. It's obvious once it happens, and the fix is to void and correct, but it's worth knowing that's the failure mode, because it means your safeguard is a quick sanity check on quantities, not button-labeling. ## What we'd tell a receiving team 1. **Direct-fulfill is fine when the numbers agree.** If the PO cost is right and the documents match, receiving and closing in one step is not a shortcut you'll regret. The two-step flow exists for when they *don't* match. 2. **Update the PO when the vendor confirms a different rate.** The most common discrepancy is a confirmed rate that never made it back onto the document. That's a control, not a feature. 3. **Reconcile promptly.** Fishbowl can clean up cost differences on its own while transactions are fresh and the period's open. The longer you wait, the more decisions get made on a wrong cost. 4. **When a delivery runs over, receive the whole over-quantity in one pass.** Receiving to plan and topping up later dead-ends on a fully-received line and forces a duplicate PO line to fix. 5. **Never edit a bill in the accounting system to force a match.** Paying past a quantity difference sends cash out without inventory behind it. Investigate the gap instead. 6. **Sanity-check quantities after scanning.** The real receiving error is a scan into the wrong field, a billion units, not a wrong button. A glance at the quantity catches it. --- *This piece comes out of years of client work on Fishbowl, verified on current versions: reconciliations, inventory audits, and untangling why the cash that went out doesn't match the stock that came in. If your receiving is doing something you can't explain, that's the kind of thing we untangle.* --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 12, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Where a Fishbowl Work Order Gets Its Cost, and Where That Cost Goes > A finished good's cost is assembled at the moment you finish the work order, from materials, labor, and overhead, and it doesn't become COGS until the item sells. Here's the whole path, plus the labor, overhead, and WIP setups that trip people up. "Our manufactured cost is wrong" is never a simple support ticket. A finished good's cost isn't a number sitting in a field somewhere. It gets assembled at one specific moment, out of several sources, and which numbers get used depends on your costing method. Once you can see the whole path, the weird numbers stop being weird. We've spent years tracing this for manufacturing clients, so here's how cost actually moves through a Fishbowl work order, and the handful of setup choices that cause most of the confusion. *Scope: this describes **Fishbowl Advanced**, the desktop product, verified against current 2026 releases. Fishbowl Drive, the newer cloud product, behaves differently in several areas; if you're on Drive, some of this won't map.* ## The path in one picture Cost comes together when you finish the work order. Not when you create the manufacture order, not when you issue materials to the floor, at finish. At that moment Fishbowl adds up the raw materials actually consumed, plus labor, plus overhead, and rolls the total into the cost basis of the finished good it's putting into inventory. Then it sits. That cost stays parked in the finished good's inventory value until the item sells. Only on the sale does it become cost of goods sold. So the labor you paid last month and the steel you consumed last week don't hit your P&L as COGS until the thing you built with them goes out the door. One consequence surprises people: Fishbowl has no work-in-process account. Cost jumps straight from raw-material inventory to finished-goods inventory at the instant of finish. There's nothing in between, by design, and we'll come back to what to do about that if your auditors expect a WIP balance. ## Labor: it's a part, and you adjust the hours Labor in Fishbowl is a non-inventory part with a cost field. (On screen it's labeled cost; underneath it's the same standard-cost value everything else uses.) You put that labor part on the bill of materials, and it flows onto the work order like any other line. The step people miss is at finish: you adjust the hours to what actually happened. Say the BOM calls for two hours per unit and you built ten, that's twenty projected hours. If the job really took twenty-four, you set it to twenty-four. The labor part's cost field times those hours gives you the total labor dollars, which get added into the finished good and divided across what you actually produced. Straightforward once you know the hours are the lever. Some companies don't put labor on the BOM at all and track material only. That's a choice, and honestly it's a question for their accountant, not for Fishbowl. If you're doing a lot of labor you're generally not supposed to just expense it, but Fishbowl can't force labor onto a bill of materials because it has no way to know what your labor actually is. And "all your labor" doesn't mean the janitor and the bookkeeper, so somebody has to decide what belongs in the build. That somebody is you, not the software. The messy version we see: people trying to true up their labor lines to actual payroll hours for the prior period after the fact. It works, but it's a bodge, and it's worth knowing going in that Fishbowl won't reconcile your labor to payroll for you. ## Overhead: you can't use a percentage, so here's the trick Overhead works the same way as labor, and it comes with a hard limitation: you cannot apply overhead as a percentage. Fishbowl only multiplies a standard cost by a quantity. If you want a percentage burden, the software won't give it to you directly. The workable approach most shops land on is an overhead rate based on labor hours. It's easy to calculate, easy to get right, and easy to apply when the work order finishes. Whether you end up over- or under-absorbed depends on how efficient the actual run was, which is the normal behavior of any applied-overhead system. There's also a useful trick when you need to push a specific dollar figure through: set the overhead part's cost to one dollar and set the quantity to the number of dollars you want to collect. One dollar times a quantity of 218 nets $218 of overhead. It reads a little strangely on the BOM, but it lets you collect an exact amount instead of reverse-engineering a per-unit rate. ## Co-products: Fishbowl makes you decide at the wrong moment Some processes yield more than one finished good, a high-quality output and a lower-quality one that's still worth something, from the same build. Now you have to decide how to split the build's cost between them, and this is a spot where I think Fishbowl falls short. The split isn't defined on the bill of materials. It's decided when the work order is finished, which means whoever's at the work-order screen is effectively making a costing-policy call. That's backwards. The division should be delineated up front, clearly: either by output quantity, when the outputs share a unit of measure, or by value. Fishbowl gives you those two options, "evenly" distributes by quantity and "weighted" distributes by value, and the same build can come out very differently depending which you pick. Say a run costs $1,000 and yields 80 units of a main grade and 20 units of a lower grade that's only worth a quarter as much: | Output | Evenly (by quantity) | Weighted (by value) | |---|---:|---:| | Main grade (80 units) | $800 | $941 | | Lower grade (20 units) | $200 | $59 | | **Total** | **$1,000** | **$1,000** | Same $1,000, two very different per-unit costs and margins. Fishbowl leaves that decision to the moment of finish rather than baking it into the recipe, and there are GAAP rules about how joint costs should be allocated, so Fishbowl essentially punts by handing you the options and letting you sort it out. My advice is to decide the rule as a controller, write it down, and don't leave it to the floor. By-products, a low-value output alongside the main one, are rarer in practice, at least in what I see. If you want to know where a build's cost actually landed, the finished-good reports show it clearly. A common and defensible approach is to let the main finished good absorb the whole cost and bring the by-product in at essentially zero. Whatever you choose, two rules hold: don't create value out of nothing, and don't double-count. Pick a method, keep it consistent, and make sure your controller signs off. ## The zero-material finished good Here's a failure mode that quietly poisons costs. Fishbowl won't let you finish a work order with no items allocated at all, but that guard is weaker than it sounds, because non-inventory and labor lines count as "picked" even though nothing physical moved. So this happens: a work order should have consumed $1,000 of materials, but the crew, wanting to just close the order, finishes it with only $100 of labor recorded and no materials. Fishbowl has no idea anything's wrong. It can't validate that the build was supposed to eat materials it didn't. Access rights control whether users can push through shortages at the pick level, and someone can even edit the work order so it doesn't require physical items at all. The software will let you. It simply can't tell that you shouldn't. The result is a finished good sitting in inventory at a fraction of its real cost, which becomes an absurd margin when it sells, or a mystery when someone finally reviews inventory value. If your finished-goods costs occasionally come out impossibly low, this is the first place to look. Cleaning it up depends on your costing method. On average costing you edit the cost to recover it, just watch the journal entries that produces and correct as needed. On standard costing you edit the standard and fix the journal entries, and you're fine. FIFO is the real pain: the bad work orders have added layers, you might have six months of inventory stacked up, and correcting it means surgery on the cost layers plus fixing the offending manufacture order. The guardrail I hold to throughout: you can't make dollars appear from nowhere. If no material was actually consumed, I won't just add $1,000 to a layer to make it look right. We pull the string to find what caused the gap and where the dollars legitimately come from before adjusting anything. ## How costing method changes what you'll see The four methods surface manufacturing mistakes very differently. Average is the most obvious, because it's a single figure per part. If it's wrong, it's usually visible. Standard is more complex, its whole story is about hitting or missing the standard, which is a deep enough topic that it gets [its own deep dive](/deep-dives/fishbowl-standard-cost-variance). LIFO, nobody really uses anymore. FIFO is the one that hides problems. If a team member closes a week of work orders incorrectly, the damage gets buried in the cost layers and stays invisible until you actually consume those layers, weeks or months later. Then the numbers get strange, and how strange depends on your inventory turnover and how big the original error was. No costing method fixes bad work-order discipline. It just adds another wrinkle on top of the original mistake, which is that the work orders weren't finished correctly in the first place. Somebody has to actually watch the cost and escalate when it stops making sense. ## Projected cost is not booked cost, and that's fine The manufacture-order cost report is a projection, and it will not equal what eventually books. That's expected, not a defect. Projected cost is just projected. On FIFO you don't even know which layers you'll consume until you hit finish. On standard it's fairly stable week to week unless someone changes the standard. On average it's a moving target that drifts as activity flows through. You can run the projected-cost report, save it, finish the work order, save the actual, and compare, we do this to explain the gap to clients. A reasonable month-to-month variance is normal. What's not normal is a build cost outpacing inflation by thirty percent; that's a signal to investigate. A typical culprit: a material that's still listed on the BOM "for planning" but no longer actually used, so it's continuously under-consumed and quietly knocks a few percent off every build. ## Multi-level BOMs: the seam is the part When you chain sub-assemblies into a parent, each level behaves and executes independently, then rolls its cost up into the next. The thing to understand is where the handoff happens: the seam is the part. Whatever a given part's cost state is at that moment, its average, its standard, or its FIFO layers, is what feeds the level above it. That's why you often don't see a problem until the top-level finished good completes and you're suddenly twenty percent over or under. To find out why, you investigate the layers and the input costs at each level along the way, keeping in mind that not everything lives on the same BOM, some parts get used directly. It's a spot-the-difference exercise between what you expected and what happened. Comparing two versions of the data is exactly the kind of tedious reconciliation where modern tools help, feeding two reports or even two screenshots into an AI to OCR and diff them can genuinely surface "this part showed up here and wasn't there before" faster than doing it by hand. ## One inventory account or several? Whether to split raw materials, WIP, and finished goods into separate asset accounts is really a question about your business, not your software. If you're capitalized on owner equity, one inventory asset account is usually plenty. Splitting starts to earn its keep when your capital is large and your raw-to-finished conversion is long, long enough to cross accounting periods. A multi-month process might touch three periods at once, and then watching WIP dollars on the balance sheet tells you something real about how efficiently you're converting materials into product. The other driver is outside pressure: businesses capitalized with debt or investment often have backers who demand finer reporting. In practice I see category-level accounts, and sometimes clients get creative, splitting raw/WIP/finished across product families until they've got thirty asset accounts. My own bias as a practitioner is to keep it to one account and do the breakout through reporting in Fishbowl instead. It's cleaner and, for planning, more accurate. Reasonable people disagree, but that's where I land. ## Scrap and the three numbers Fishbowl does track scrap. It can auto-scrap the units that didn't pass, you built forty, two failed inspection, scrap two. Or you can just build thirty-eight and call it good, though then you may have consumed more material for those thirty-eight than the plan assumed, and that shows up. The key is keeping three numbers straight: | Number | Where it lives | The example | |---|---|---| | Planning number | The manufacture order | Planned to build 40 | | Work-order number | What you actually transact against | Consumed 42 units of material | | Finish number | What you end with | Finished 38 good units | That spread, planned 40, used 42, finished 38, is the math you have to interpret. Is it genuine inefficiency? Bad batching? The data's there to answer it, and Fishbowl's BI Script reports are getting better at framing those perspectives. ## Giving your auditor a WIP balance without a WIP account Since there's no WIP account, how do you show a work-in-process balance when an auditor expects one? The reason it doesn't exist is deliberate: a real WIP account would require Fishbowl to post journal entries on every finish and void, and Fishbowl's model is that accounting activity happens only when a transaction completes. No law requires a WIP account, so they skipped it. I wish they'd included one, but the workaround is solid. WIP becomes a convention based on location. Designate your manufacturing-area location, by location type or a naming convention, as WIP. Then build a report that takes all inventory, buckets it by part and asset account, and separates out anything sitting in a WIP-state location. A million dollars of inventory might break down like this: | Bucket | Value | |---|---:| | Finished goods | $300,000 | | Work in process (manufacturing-area locations) | $100,000 | | Raw materials | $600,000 | | **Total** | **$1,000,000** | As long as the buckets don't double-count and sum to the total on-hand value, that satisfies the auditor and gives you a clean WIP figure without asking Fishbowl to do something it wasn't built to do. ## What we'd tell a manufacturer 1. **Cost is captured at finish, not before.** The manufacture-order projection is an estimate; the real number lands when you finish the work order and depends on what was actually consumed. 2. **Labor and overhead are parts, and you adjust them at finish.** Set labor by actual hours; collect overhead via a labor-hour rate or the one-dollar-times-quantity trick, since Fishbowl won't do a percentage. 3. **Decide co-product cost splits as policy, not at the work-order screen.** Write the rule down, by quantity or by value, and don't leave it to whoever's finishing the order. 4. **A zero-material finish is a real risk.** Non-inventory and labor lines let a work order close with no materials consumed. Watch for finished goods that cost suspiciously little. 5. **FIFO hides bad work-order discipline.** Errors sit in the layers until you consume them. Watch cost as you go rather than waiting for it to surface months later. 6. **WIP is a location convention.** There's no WIP account; designate a location and report on it, and keep the buckets from double-counting. --- *This piece comes out of years of client work on Fishbowl, verified on current versions: costing cleanups, manufacturing implementations, and the reports we've had to build to explain where a finished good's cost really came from. If your manufactured costs are doing something you can't explain, that's the kind of thing we untangle.* --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 12, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # On Hand, Available, Committed: What Fishbowl's Inventory Numbers Actually Mean > Fishbowl shows you a handful of inventory numbers that disagree with each other on purpose. Here's what each one counts, why Available can go negative while stock sits on the shelf, and the one number you should actually put in front of a salesperson. "There are ten of them sitting right here on the shelf, and the system says I have zero available. Why can't I sell them?" Every Fishbowl site eventually has some version of this argument. It's usually sales against the warehouse, with both sides sure the software is broken. It usually isn't. The stock is real and the number is right; they're answering different questions. Fishbowl's inventory figures each count something specific, and the trouble starts when someone reads one number as if it answered a different one. Below is what each number counts, why they diverge, and which one is safe to promise a customer. *Scope: this describes **Fishbowl Advanced**, the desktop product, verified against current 2026 releases. Fishbowl Drive, the newer cloud product, behaves differently in several areas; if you're on Drive, some of this won't map.* ## Two numbers you see, several underneath For all the quantities floating around, Fishbowl really puts two in front of a user: **On Hand** and **Available to Sell** (sometimes labeled available for sale). Almost everything else, allocated, committed, available to pick, not available, is machinery underneath those two. Which one a given person even sees depends on their module options, specifically whether they're allowed to see inventory across every location group or only the one tied to the transaction they're working on. Under the hood, only two numbers are actually stored. On Hand for a given bucket of stock, and the committed portion of that bucket. Every other figure is calculated on the fly from those two plus your open orders. That matters, because a calculated number is only as good as the data feeding it, and most "the numbers are wrong" complaints turn out to be a data problem, not a math problem. ## Available to Sell is accurate; your data might not be The formula behind Available to Sell is sound. On Hand, minus what's already spoken for by open orders, with a couple of adjustments. Ask Fishbowl what you can sell and, if your on-hand count is right and your allocations are right, it gives you the right answer. The catch is that "if." The most common way this number lies has nothing to do with the formula. It's latency. You've got saved sales orders that haven't been issued yet, all about to lay claim to the same stock. You've got orders living in another system that a human still has to key into Fishbowl. So Fishbowl is answering honestly based on what it knows, but it's four or five days behind on data entry. It tells you there's plenty available, the backlog gets entered, and suddenly there's nothing. Garbage in, garbage out. The math is fine; it's working from a stale picture. So before you blame the number, ask whether the number has current information. A lot of the time it simply doesn't yet. ## Allocated vs Committed: demand vs a physical claim These two get conflated constantly, and the distinction is the key to everything else. **Allocated** is demand. It's summed from your open order lines, sales orders, the raw-material side of work orders, transfer orders, not from the stock itself. When a sales order is issued, its quantity becomes allocated. Nothing physically moves; it's pure demand math against your on-hand total. **Committed** is a physical claim on a specific bucket of stock. It goes up only when a pick assigns actual tags to a line. Committed is the system saying "these exact units, in this exact location, are reserved for this order." So an order allocates the moment it's issued, and commits later when someone picks it. On Hand doesn't actually drop until the goods ship. Hold onto that sequence, because it explains the paradoxes. Here's the whole cast on one card, with the rough arithmetic behind each: | Number | What it counts | Roughly | |---|---|---| | **On Hand** | What's physically in stock | The sum of what's on your tags | | **Allocated** | Demand from open orders | Summed from open sales, work, and transfer order lines | | **Committed** | Stock physically reserved by a pick | Tracked on the tag itself | | **Available (to Sell)** | What you can still promise a customer | On Hand − Allocated \* | | **Available to Pick** | What a pick can actually grab right now | On Hand − Committed | \* The full formula also subtracts stock in not-counted locations and adds drop-ship back out, but On Hand minus Allocated is the part that matters ninety percent of the time. Two things to notice already. Available and Available to Pick subtract *different* numbers, Allocated versus Committed, which is why they routinely disagree. And nothing here caps demand at what you physically own, which is what makes the next section possible. ## Why Available can go negative while stock is on the shelf Available subtracts all your open demand from what you have. There's no rule that demand can't exceed supply. Put one unit on hand and issue ten sales orders that each want one, without allocating any of them, and your Available is negative nine. That's not a glitch. That's an honest statement: you've promised nine more than you have. It's easier to see stepping through a single part's day. Watch how the two "available" numbers move as orders come and go. (On Hand only drops at ship; Available = On Hand − Allocated; Available to Pick = On Hand − Committed.) | Event | On Hand | Allocated | Committed | Available | Avail. to Pick | |---|---:|---:|---:|---:|---:| | Receive a PO for 100 | 100 | 0 | 0 | **100** | 100 | | Issue a sales order for 30 | 100 | 30 | 0 | **70** | 100 | | Pick and commit that 30 | 100 | 30 | 30 | **70** | 70 | | Ship the 30 | 70 | 0 | 0 | **70** | 70 | | Enter a work order needing 50 | 70 | 50 | 0 | **20** | 70 | | Issue more sales orders for 20 | 70 | 70 | 0 | **0** | 70 | | Issue one more order for 10 | 70 | 80 | 0 | **−10** | 70 | Look at the last two rows. There are seventy units physically on the shelf, and Available reads zero, then negative ten, because every one of them (and then some) is already promised to an open order. That's the "empty shelf that isn't empty" from the top of this article. Notice too that Available to Pick stays at seventy the whole way down: nothing has been *committed* by a pick yet, so from the picking engine's point of view all seventy are still grabbable, even as Available insists you have nothing left to sell. Same stock, two honest answers, because they're counting different things. In practice this confuses people less than you'd expect once they see it laid out, because the picking module tells the same story from the other side. All the orders look pickable right up until you pick the first one. Then the rest turn red and go non-pickable, because the stock they were counting on just got committed to someone else. The place it genuinely bites is when someone has orders sitting in one location group and inventory in another, and keeps trying to sell from the group that has none. That's a setup problem, not a math problem. ## Available to Pick promises stock it can't always deliver Here's a real limitation worth knowing. Available to Pick is essentially On Hand minus Committed. What it does *not* do is check whether the stock is in a location you're actually allowed to pick from. Inventory sitting in an inspection area or a locked bin still counts toward Available to Pick, even though no pick can pull it. This is a spot where Fishbowl could stand to improve as a product. Different companies want different rules, exclude anything in inspection, or only count storefront and consignment locations, and Fishbowl doesn't give you that granularity out of the box. So Available to Pick can quietly promise stock that the pick engine will refuse to source, and you won't know until the pick comes up short. ## The two location flags that bend everything Every location carries two independent on/off flags, and implementers set them without always understanding the split. **Counted as available** controls whether stock in that location shows up in Available. **Pickable** controls whether the pick engine can pull from it. They're separate, so you get four combinations, and all four have legitimate uses. The one you'll meet most is counted-as-available but *not* pickable. The usual reason: a warehouse wants people picking from the lower rack locations, so it makes the upper pallet-rack locations non-pickable to force someone to bring a pallet down before picking from it. Reasonable. The problem is that it's a fixed rule, not a flexible one. It makes sense when a customer orders a full pallet, just pull from the top. It makes no sense when you're picking a single each and the system won't let you break down a top pallet that happens to be closest. I've watched people follow that rule to the letter instead of the spirit, walking past usable stock because a flag said so. Worth knowing which combination you've set and why. ## Time is the number's blind spot This is the one that causes the most planning grief, and it's structural: Fishbowl's allocation math ignores time entirely. It takes every issued job, every issued sales order, every issued demand, subtracts the whole pile from your current on-hand, and hands you a number. It does not care that half that demand is due next week and half is due in three months. So a planner who drafts and issues a whole month of work orders at once will watch inventory apparently vanish, even though the real demand arrives week by week. Fishbowl sees all of it at once and reports a shortage that isn't real yet. If you date your demand out and only look at a window, you're fine. If you look at the raw allocated number, you're staring at a year of demand against a week of stock. The trap is subtler than just "it looks scary." It tells you you're fine today, because the big order is five weeks out and outside whatever window you're eyeing. Next week that order is four weeks out, now inside the window, and suddenly you're short and it's a fire drill. This isn't unique to Fishbowl; most systems compute allocation without a time dimension. The fix is reporting matched to how your business actually plans, usually an "allocated in the next 30 days" view, rather than trusting the timeless number. ## Transfers and drop-ship: two special cases **Transfer orders** allocate the *sending* warehouse. The destination team panics only if they're looking at a company-wide report instead of one scoped to their location group. There's also a setting most people miss: when you ship a transfer, you choose who owns the in-transit inventory, sender or receiver. Set it to the receiver and the stock shows up in the destination's in-transit location, already over there in the numbers, just not on the right shelf yet. Which team sees the stock "coming" depends entirely on that setting and your transfer practices. **Drop-ship** skips inventory altogether. Mark a sales order as drop-ship, raise a drop-ship PO, and when it's received nothing hits inventory, no stock, no log. Fishbowl just books COGS against the vendor's data and invoices the sale. Because that supply and demand are one-to-one and never touch your shelves, drop-ship lines get subtracted back out of allocation, they'd otherwise depress Available for stock that was never going to move. It's not a bug; it's the system refusing to let a drop-ship reserve inventory it doesn't need. The thing to plan for is that drop-ship affects your *sales* numbers, not your inventory, so revenue projections need to account for it separately. ## When two reports show two different On Hands On Hand itself isn't perfectly consistent. Depending on which internal path a screen or report uses, non-counted locations are sometimes included and sometimes not, so you can genuinely see two different On Hand figures for the same part. My rule for building reports around this: pin down the truest On Hand number you can, then treat whatever would alter it as a separate figure, subtract, and report both. When someone asks "why does this say 99," you can actually answer. The underlying math is never doing something wrong. It's doing math you didn't expect, usually because someone changed how they operate in Fishbowl, and the report is how you find out. Surfacing the two figures side by side turns "the system is broken" into "here's exactly what changed." ## Void a pick vs cancel an order These unwind differently and clients trip on it. Voiding a pick just undoes that one picking operation. The demand is still there. Go back to one unit on hand and ten orders: void the pick on one order and you're still short nine, because voiding a pick doesn't cancel anything, it just says "not this way, not right now." Canceling the sales order is what actually removes the demand. Cancel one of the ten and you're down to nine demand, eight short. Cancel all ten and you're back to one on hand, zero allocated, one available to sell. Voiding frees the physical commitment; canceling frees the demand. If someone expects a voided pick to put stock "back up for sale," they'll be surprised, and it usually takes walking them through the one-and-ten example for it to land. ## The rare stuck-number cleanups Occasionally a crash or a bad void leaves a tag's committed quantity out of sync with what the orders actually justify. We keep a query for exactly this, comparing what should be committed, based on the transactions and their states, against what's actually flagged committed on the tag, since the two are linkable. When they disagree, we reset the tag's committed to the calculated value and, if On Hand is off too, dig into why. This used to be common in the mid-2010s versions of Fishbowl and is much rarer now. Serialized parts can desync the same way, serial commit flags versus committed quantity, but only in genuine database-surgery situations after a crash. The approach is the same, just per serial: trust the transactions, figure out which serials a transaction actually wants, and fix the flags and quantities to match. ## The one number to trust If you're deciding what to put on a dashboard or a sales rep's screen, the answer is short. Never show salespeople the raw On Hand number. Too many other calculations run against it, and it says nothing about what's already promised to someone else. The conservative, trustworthy figure is **Available to Sell**. It already accounts for what you owe other orders, so it won't have you promising a customer stock that's spoken for. Everything else in this article is machinery, worth understanding when you're diagnosing a discrepancy or building a report. But when the question is simply "can I promise this to a customer," Available to Sell is the number, provided, as always, that the data behind it is current. --- *This piece comes out of years of client work on Fishbowl, verified on current versions: reconciliations, inventory audits, and building the reports that explain why two screens disagree. If your inventory numbers are telling you something you can't explain, that's the kind of thing we untangle.* --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 11, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Standard Costing: Why Your Inventory Looks Right While the Variance Account Bleeds > Under standard costing, Fishbowl values inventory at a fixed number by design, so every real cost difference gets pushed into one variance account most people only glance at once a month. Here is where it goes and how to read it. If you run Fishbowl on standard costing, your inventory valuation will almost never look wrong. That's not reassurance. It's the whole problem. Standard costing values every unit you own at a fixed number you set in advance. Ten units at a $5 standard is $50 of inventory, full stop, no matter what you actually paid or what it actually cost to build. The balance sheet stays clean and stable by design. So when reality disagrees with the standard, and it always does eventually, the difference cannot show up in inventory. It has to go somewhere else. In Fishbowl, that somewhere is a single account called Cost Variance, and it is the account nobody looks at until month-end. We spend a lot of time inside standard-cost databases untangling exactly this, so here's how it actually works and how to read the account before it turns into a month of detective work. *Scope: this describes **Fishbowl Advanced**, the desktop product, verified against current 2026 releases. Fishbowl Drive, the newer cloud product, behaves differently in several areas; if you're on Drive, some of this won't map.* ## The one rule that explains everything downstream Every valuation Fishbowl reports under standard costing is quantity times the part's standard cost. That's it. It doesn't look at what you paid the vendor or walk your cost layers. The standard is a fixed multiplier, so the inventory asset simply cannot drift. That sounds like a feature, and in a stable world it is. The catch is arithmetic: if the value on the shelf is locked to the standard, then any difference between the standard and what actually happened has to be booked somewhere the balance sheet won't see it. Fishbowl books it to the Cost Variance account. Pay a vendor more than standard, and the overage lands in variance. Build a finished good whose real inputs cost more than its standard, and the whole gap lands in variance. Everything that reality does differently from your standard accumulates in that one account, while inventory stays pristine. ## Where the variance actually comes from There are three doors into the variance account, and it helps to know all three because the account itself won't tell you which door a given dollar came through. **Purchasing.** When you receive a part at a cost different from its standard, Fishbowl books the inventory at standard and shoves the difference into variance. Buy a $10-standard part for $11 and you get a dollar of variance per unit, every receipt. If your standards are stale and you are consistently paying more than them, this door drips money into variance continuously. **Manufacturing.** This is usually the big one. When a work order finishes, Fishbowl adds the finished good to inventory at its standard cost and routes the entire difference between the real rolled-up cost of the build and that standard into variance. For a manufacturer, this fires on essentially every work order, which is exactly why the account can balloon while finished-goods inventory looks perfectly reasonable. **Editing a standard on stock you already own.** Change a part's standard cost while you have units on hand and Fishbowl instantly revalues those units in every report. But it does not post a journal entry to move the general ledger. So your Fishbowl valuation jumps and your GL inventory balance, which was booked at the old standard when the goods came in, sits still. That gap is real, and it surfaces later, usually at a physical count, as a difference nobody can immediately explain. When you do a sweeping standard update, plan to book one manual journal entry in your accounting system to bring the GL back in line. Where you pull those dollars from, COGS or an expense account, is a case-by-case call for you and your accountant, but the entry has to happen. Fishbowl will not make it for you. | Door | Fires when | The variance is | |---|---|---| | **Purchasing** | You receive a part | Actual cost paid − standard | | **Manufacturing** | A work order finishes | Real rolled-up build cost − finished-good standard | | **Editing a standard** | You change a standard with stock on hand | Old standard − new standard, times quantity on hand (revalues reports, but no GL entry) | ## The $4 finished good with $500 of inputs Here is the scenario that sends people looking for us. A finished good carries a $4 standard. Its bill of materials actually consumes $500 of raw materials per unit. Every time a work order completes, the finished good goes into inventory at its $4 standard, the $500 of real materials leaves raw inventory, and the $496 gap has nowhere to go but the variance account. As a journal entry, one build looks like this: | Account | Debit | Credit | |---|---:|---:| | Finished Goods Inventory (at standard) | $4 | | | Cost Variance | $496 | | | Raw Materials Inventory (actual consumed) | | $500 | The balance sheet dutifully shows finished goods at $4 a unit and looks fine. Raw materials drop by the real $500. And the $496 that reconciles the two lands in Cost Variance, on every single build. When we sit down with the team, the fix usually is not in the costing engine at all. It is that the standard is wrong, or the bill of materials is misunderstood. The mechanics are just multiplication: each BOM line is quantity times unit cost, you add the lines up, and that sum is the input. The inputs have to match the output. If the output is only valued at $4, the other $496 does not vanish and it does not come from a magical pool. It gets pulled from the per-part accounts and moved to variance. That is the entire trick. There is no other place for it to go. So triage is transaction by transaction. Pull one completed work order, lay out what went in against what came out, and ask whether it makes sense. Put it in a spreadsheet, add it up, and find the difference. Once you can explain one transaction, you can explain the pattern. ## Why a legitimately large variance means "maybe you shouldn't be on standard" Not every bloated variance account is a bug. Sometimes it's telling you standard costing is the wrong tool for your business right now. Standard costing earns its keep by smoothing out short-term blips. A snowstorm spikes your freight for three weeks; a standard rides through it so your margins don't lurch. What it is bad at is a cost environment that keeps climbing. If your input costs grow one or two percent a month, quietly and continuously, that compounds, and a standard set last year is not valuing this year's inventory correctly. A standard carried from 2019 into 2022 through a supply-chain shock is not evening anything out. It's just wrong, and the variance account is where "wrong" accumulates. When we see genuinely large variances, the first question isn't "how do we fix the account," it's "should you be on standard at all?" The misconfiguration version looks different and gets weird fast. Picture three levels of bills of materials all pointing at the same variance account, with costs moving in both directions: some parts undervalued, some overvalued, work-order completions running consistently over standard, a BOM that quietly got more expensive to build. All of it lands in one bucket. You stare at a swinging pile of dollars in accounting and the records do not tell you whether it was the BOM, the standards, or an input mistake. A standard is a line you draw in the sand. Missing it is information, but a single account full of net movement does not tell you why you missed. ## The account-mapping traps Two mapping mistakes account for a lot of the confusion we get called into. The first is people mapping variance where it doesn't belong, usually blurring the line between a variance account and an expense account. In Fishbowl, the variance account always behaves like a variance account, no matter what you named it or where it sits on your balance sheet. The behavior is baked into the costing logic, not the account's label. Renaming it or moving it doesn't change what posts there. It just makes the postings harder to reason about. To find these, we lean on Fishbowl's own import/export tools and a simple query: list every variance account defined across all parts and summarize them. Almost always a handful of parts stick out, ten units pointing somewhere the other thousand don't, and that mismatch is the thread you pull. The second is scope. Fishbowl gives you exactly one variance account. That is a deliberately simple design. Bigger ERPs like NetSuite break variance into separate buckets for purchasing, receiving, manufacturing, and adjustments, and shops that want it will split further into labor, material, and overhead variance. Fishbowl does none of that out of the box, which is occasionally cumbersome. In practice, the most we see clients do is split by class of item, a finished-goods variance account and a raw-goods variance account. Going finer than that, down to a per-part variance account, is rarely worth it. If you need that level of detail, you are better off writing a query inside Fishbowl and getting the data directly than trying to model it in the chart of accounts. ## The zero-standard landmine A part with a blank or zero standard is the purest version of the whole problem. Under standard costing, Fishbowl values that part's inventory at zero and routes one hundred percent of its actual cost into variance, on every receipt and every build. There's no guard and no warning. It just transacts silently at zero. Most of the time we catch this before go-live, because it is a trivial query: show me every part whose standard is zero, or under a dollar, and hand the list to the client with "are these actually right?" The dangerous ones are the parts that look fine until they don't. A length-based part is the classic. You stock cable in inches or feet but buy it in 500- or 1,000-foot rolls. Someone puts the roll's cost into the standard field, which is a perfectly reasonable-looking positive number, except the part is denominated in inches. If there is no stock on hand yet, say it is a part you won't purchase until a few months after go-live, nothing flags it. It's a positive number with zero quantity, so there is no valuation impact and nothing to compare against. Then the first receipt lands and someone asks why inventory just went to nine million dollars. Because the thing you count in inches is carrying the unit cost of a thousand-foot roll. (If that failure sounds familiar, it is the same unit-of-measure trap from [our deep dive on units of measure](/deep-dives/fishbowl-uom-manufacturing), wearing a standard-cost hat.) ## Switching costing methods without wrecking your valuation Occasionally the right answer is to move a client off standard, or onto it. Fishbowl's setup wizard tells you the costing method cannot be changed once you finish, and for a casual user that warning should be taken at face value. It can be done, but it is not something you do willy-nilly. When we do it, it is a planned procedure with the accounting team's understanding and sign-off, never a surprise. We pick a moment in time and stop transactions. We take an inventory valuation at that moment. Then we make the change and seed the destination method's numbers so that, for every part, unit cost times quantity adds up to the same total before and after. A part valued at $377 under standard should read $377 under average when we're done, give or take rounding. That equality is how we know the valuation landed correctly: if the total doesn't meaningfully move, we've reseated it right. The work is not long once you know exactly what has to happen. It just requires knowing exactly what has to happen, which is most of what you are paying for. ## Cleaning up a year of neglect The harder engagement is a client who ran standard costing for a year with zero or blank standards on half their parts and piled everything into variance. Where you start depends on the part. For raw materials, the cost source is purchases, so we validate against enough purchase history to establish a real number, or against a prior standard that existed but never got loaded. We give the data to the accounting team plainly: these parts are at zero, you have quantity on hand, they are supposed to be worth something, tell me what's appropriate. Sometimes they take the last purchase price and let it float for the year. Sometimes they want a computed average. Sometimes it's just "fill in the last price, get it correct, we'll adjust." We can't make QuickBooks match COGS transaction by transaction after the fact, but we can revalue the transactions inside Fishbowl against a clean number, which is what actually matters for getting the valuation straight. Finished and work-in-process goods are trickier, because their standard was wrong precisely because the input raws were at zero. Zero times any quantity is still zero, so the error compounds up through the build. There the approach is to work toward a stable number across raw goods and finished goods together, use that to value inventory, and make the adjustments from there. It can take real effort to sort out which way is up. It can also be done. ## What we'd tell a controller running standard costing 1. **Watch the variance account more than once a month.** The teams that use standard for a good reason do watch it, but usually only at month-end, and by then a problem has a month of history to investigate. A weekly glance turns a forensic project back into a quick correction. 2. **A clean inventory number is not proof costing is healthy.** Under standard, inventory is clean by construction. The health signal is in the variance account, not the balance sheet. 3. **Editing a standard is a financial event even though Fishbowl won't post one.** After a sweeping standard change, book the corresponding journal entry yourself to keep the GL and Fishbowl aligned. 4. **The variance account behaves like variance no matter what you call it.** Renaming or remapping it changes nothing about what posts there. Map it deliberately and audit which parts point where. 5. **Set standards to represent roughly 90% of the year's real value, then review on a real cadence.** Yearly at minimum, quarterly if you're serious. If you find yourself changing standards constantly to chase actual cost, that's your sign to just use average costing instead, which carries far less maintenance. 6. **Question standard costing itself if variances are genuinely large.** Standard smooths short-term blips. In a continuously rising cost environment it just accumulates "wrong" in one account. Total variance movement of millions that nets to a little is a flare, not a rounding issue. --- *This piece comes out of years of client work on Fishbowl, verified on current versions: reconciliations, costing cleanups, and the reports we've had to build to explain what standard costing is actually doing. If your variance account is doing something you can't explain, that's the kind of thing we untangle.* --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 11, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # How Fishbowl Actually Handles Units of Measure (and What Manufacturing Does to Them) > What years of Fishbowl work taught us about UOM conversions: where they happen, where they quietly don't, why manufacturing rounds up on you, and the setup mistakes that cost people months. If you run Fishbowl long enough, a unit of measure will eventually surprise you. A pick that pulled one more than the math says. A received quantity that landed wrong. A BOM that demands a whole batch when you only asked for half of one. The help docs describe what UOMs are supposed to do; they don't tell you what actually happens when a conversion is missing, a number comes out fractional, or a manufacture order gets resized. We've spent years untangling these situations for Fishbowl clients and testing the behavior on current versions. Here's how it really works. *Scope: this describes **Fishbowl Advanced**, the desktop product, verified against current 2026 releases. Fishbowl Drive, the newer cloud product, differs in several areas, most relevantly here it allows per-item UOM conversions, so the system-wide behavior below is specifically an Advanced trait. If you're on Drive, read accordingly.* ## Fishbowl's units are system-wide, and that's the big design choice Fishbowl handles units differently than most ERPs, and it helps to see the alternatives to understand the tradeoff. Some inventory systems handle pack sizes with what amounts to phantom BOMs. A can of soda, a six-pack, a case, and a pallet are four separate items, with a hidden bill of materials between each level. Sell a pallet when all you have is cans, and the system quietly builds and executes a conversion order behind the scenes: consumes the cans, ships the pallet, all transparent. It works, but answering "how many total cans do we have?" means multiplying and summing across four item numbers. Other systems put the conversion table on the item. NetSuite is the one we see most. Each item defines its own can, pack, case, and pallet ratios, so one product's pallet can hold 400 cans and another's 1,000. Useful, but verbose: every new item means setting up the whole ladder again. Fishbowl Advanced does neither. Units and conversions are system-wide. There's one global list of UOMs and one global list of conversion rates, and every part in the system shares them. What you lose: you can't say "for this flavor, a case is 12; for that one, it's 24" using the same two units. One rate between any pair of units, for everybody. What you gain: as long as the conversion exists, any part can transact in any unit, on a sales order, a purchase order, or a manufacture order. Selling online where a "2-pack" is just a pricing gimmick rather than a physical bundle? Define the 2-pack and 4-pack conversions once and every beverage in the catalog can use them. (Shopify has no ERP-style UOM conversion model, so consumer-goods companies create a separate Shopify product per pack size. On the Fishbowl side it's all just conversions against one part.) Keep that system-wide fact in your head. Most of the painful setup mistakes below come from fighting it. ## One part, three units, on purpose For any given part, you get to make three separate unit decisions: The **base UOM** is the unit the part is stocked, counted, and costed in. On-hand inventory is always in this unit, and so is the part's cost: stock in ounces and Fishbowl tracks cost per ounce. The **purchasing units** are whatever your vendor's paperwork says. If they sell you gallons, buy in gallons, so your documents match theirs. The **usage units** are whatever's practical on the floor or in the recipe. Cups, grams, whole gallons. Whatever people can actually measure without fiddling. Buy in gallons, stock and cost in ounces, consume in cups: perfectly fine, as long as the conversions between all three exist. This freedom is genuinely useful. You match the vendor's documents so your paperwork reconciles, cost in the unit your reports want, and batch in the unit the floor can measure. Expensive materials often want a small costing unit like grams or milliliters even when they're bought by the drum. These are decisions, and they're worth making deliberately per part rather than defaulting everything to Each. The one rule that explains most surprises downstream: documents speak the document's unit; the stockroom speaks the part's base unit. Conversions happen at the boundaries. Receiving converts into base units to put stock on the shelf, picking converts back out to satisfy the order, and costing converts everything to per-base-unit before it touches your valuation. ## Conversions: simple math, no shortcuts A conversion rule is just a ratio between two units, in one direction. Two things about them matter more than the arithmetic. **Conversions don't chain.** If you've defined Gallon to Ounce and Ounce to Cup, that does not give you Gallon to Cup. Fishbowl only uses conversions defined directly between the exact pair of units involved. And an order line often needs more than one hop (the line's unit to the product's unit, then the product's unit to the part's unit), and every hop needs its own rule. When you set up a new part with multiple selling or purchasing units, define every pair you'll ever transact in, both to and from the base unit, the same day. **A missing rule doesn't always stop you.** In some places, like receiving and work order consumption, a missing conversion halts you with an error naming the part. In other places we've watched quantities sail through unconverted: no error, just a wrong number that surfaces weeks later as an inventory discrepancy. This inconsistency is why "we're off by a weird factor on that one item" is so often a UOM story. And one thing people assume wrongly: the UOM types (Count, Weight, Length, Volume) don't protect you. You can define a conversion from a count unit to a weight unit. Fishbowl shows a "different measurement types, proceed anyway?" warning, and if anyone ever clicked yes, that rule is live and in use. Sometimes that's exactly what you want. Sometimes it's how a nonsense rule got into your system three years ago. ## Why implementations get this wrong Here's the pattern we see over and over during implementations: everyone wants to set up their items. Nobody wants to set up their unit of measure conversions, or even look at which conversions are actually in play. There's a reason. Most companies coming to Fishbowl are coming from QuickBooks, where inventory was tracked by dollars of expense, not units of asset. The unit math lived in somebody's spreadsheet: here's what we paid, here's roughly what a finished good costs, we started the year with this much, bought this much, have this much left, so the difference is cost of goods sold. Periodic inventory, worked backwards. The spreadsheet quietly knew how to do the conversions. Or quietly didn't, and nobody could tell. We've seen both. Moving to Fishbowl is when the shenanigans surface, because now the system does the unit math on every transaction and the spreadsheet isn't there to absorb the slop. So the least glamorous part of an implementation is also one of the most important: pull last year's purchases, look at the units your vendors actually bill in, and decide part by part what the base unit is, what the purchasing units are, and what the manufacturing units are, before go-live. It's one of the easiest steps to skip, and skipping it is how companies quietly set themselves up for failure. ## The classic setup mistakes These three account for a remarkable share of the UOM messes we get called into. ### The "1 Each = 128 ounces" trap Someone buys a gallon jug of flavoring. They set the part up as an Each, since it's one jug after all, and then, wanting to use it in ounces on their recipes, they create a conversion: 1 Each = 128 Ounces. It works, for a while. Then they buy a second flavoring from a different vendor, and that one comes in 32-ounce containers. They go to set up 1 Each = 32 Ounces and it blows up in their face, because conversions are system-wide and Each to Ounce already means 128. Fishbowl cannot hold two different rates between the same pair of units. There's exactly one, shared by every part in the system. The fix is to use real units in the first place. The gallon jug's part should live in Gallons (or Ounces), and the 32-ounce product in Ounces or its own container unit, not Each. Each is for things that are genuinely indivisible: a phone, a serialized device, something you can't have half of. The moment you catch yourself converting Each into a measurable quantity, stop. You're borrowing a system-wide unit for a part-specific fact, and the second vendor will make you pay for it. ### Specific gravity: volume is not weight The other one: recipes written by weight, materials bought by volume. "My BOM is in grams, so I'll convert gallons to grams." Except how many grams are in a gallon depends on what's in the gallon. Oil is lighter than water, syrup heavier. There is no correct system-wide rate from Gallon to Gram, and remember, system-wide is the only kind Fishbowl has. Set one anyway and everything looks right (quantities convert, orders flow) until you notice the costing is wrong, because every material with a different density is being misconverted through the same rate. If your recipes are by weight, stock and measure those materials by weight. If they're by volume, stay in volume. Crossing between the two is a per-material measurement decision, and Fishbowl won't make it for you. ### The $9 million of copper cabling The third one is a data-entry trap rather than a setup trap, but the setup creates it. Say you stock expensive cabling, and because it's expensive, someone sensibly configured the part in inches. A roll arrives, and whoever keys in the vendor bill types what's on the paper: one roll, at the roll's price. Except the part is configured in inches, so the system just recorded the entire roll's cost as the price of a single inch. Depending on the roll, that's 100 or 500 times the real unit cost. A few receipts later somebody runs a valuation report and asks why there's $9 million of copper cabling in the database. That one happens all the time. The document's quantity and unit have to match what's physically on the bill, in the unit the line is denominated in. It's the flip side of "match your vendor's documents": if the vendor bills by the roll, either buy in a Roll unit with a conversion to inches, or make sure whoever enters bills knows the part speaks inches. The reframe that unlocks the first two mistakes for most people: a BOM is a bowl. Fishbowl genuinely does not care that the recipe puts in ounces of water, grams of powder, and milliliters of extract. Each input line just needs its own sensible unit, the way a mixing bowl doesn't care what goes in. Mix it, pour it out, and the output is a new thing in its own unit. Like a spreadsheet, the system holds whatever numbers you give it; making sure they mean something is on us. You don't need to force a recipe into one common unit. You need each line's unit to be honest. ## Whole-number units round up Units like Each are flagged as whole-number-only, and Fishbowl enforces that two ways. If you type a fractional quantity yourself, you get stopped: "The quantity must be a whole number." If a conversion result comes out fractional (a pick, a resized manufacture order), Fishbowl rounds up. Always up, never to nearest. 10.08 Each becomes 11. That ceiling rule is why picks on Each parts sometimes pull one extra, and why manufacturing over-plans rather than under-plans, which we'll get to below. The rounded-up fraction isn't tracked anywhere; it's simply absorbed. ## Where each number lives Worth pinning above your desk. When you look at a quantity or cost in Fishbowl, this is the unit you're looking at: | What you're looking at | The unit it's in | |---|---| | On-hand inventory, anywhere | The part's base UOM, always | | Inventory valuation, average/standard cost | Per base unit | | A purchase order line (qty and unit cost) | The PO line's UOM | | A receipt line | The receipt line's UOM | | A sales order line | The product's (or line's) UOM | | A pick | The order's UOM, unless the part is set to "pick in UOM of part," then the base UOM | | Reorder points | The part's base UOM | | A vendor's cost for a part | The vendor's UOM | | A BOM line | Whatever UOM that line was written in | If a custom report ever compares an order-line quantity to an on-hand quantity without converting, it will look almost right. That's usually how these get found. ## Manufacturing is where UOM behavior compounds A BOM is a recipe, and recipes want to speak recipe units (ounces of filling, feet of wire, hours of labor) while the stockroom speaks base units. The good news, per the bowl principle above: Fishbowl lets every input line speak its own unit, and the finished-good line its own too. The requirements are simply that the BOM has at least one raw good and one finished good, that each line's unit converts to its part's configuration, and that the output unit squares with the finished part. Meet those and Fishbowl will run it. ### A BOM line keeps its own unit, and nothing checks it when you save Each BOM line can be written in whatever unit makes sense for the recipe. That's the feature. The catch is that saving the BOM doesn't verify a conversion actually exists between the line's unit and the part's base unit. The mismatch surfaces later, when a manufacture order gets resized or when someone on the floor tries to consume the part on a work order, as a "missing UOM conversion" error. If you've ever had a BOM that saved fine and blew up weeks later mid-production, this is usually why: the conversion was deleted, or never existed, and nothing at save time was ever going to tell you. Implementer habit: when you build or import BOMs, check every line whose unit differs from the part's base unit and confirm the conversion exists that day, not when the first work order needs it. ### Creating an MO: multiply now, convert later When you create a manufacture order for, say, 50 finished goods, Fishbowl scales the recipe by plain multiplication in each line's own unit. A BOM calling for 2.5 oz per unit becomes an MO line for 125 oz. No conversion to base units happens yet; that waits until raw goods are actually issued and consumed on the work order. Reasonable design, but it means an MO can carry quantities that will fail to convert later, and nobody finds out until issue time on the floor. ### Resizing an MO: the double round-up Change the quantity on an existing MO and the recalculation gets more aggressive than you'd expect. For each line, Fishbowl rounds up twice when whole-number units are involved: once in the line's own unit, and once more after translating to the part's base unit. Both are ceilings, so each one can only push demand higher. On BOMs heavy with Each-type components, a resized MO can quietly ask for a little more material than creating a fresh MO at the same quantity would have. If your material demand looks inflated by ones and twos after order changes, this is where it came from. ### Batch BOMs always round up to whole batches The one-to-many setup, where a sub-assembly yields a batch (25 pie crusts, one kettle of filling) feeding a parent recipe, is where the ceiling rule becomes policy. Need 1.2 batches? Fishbowl plans 2. That's correct for physical reality, since you can't brew a fifth of a kettle, but it means batch-based parts systematically over-plan raw material, by design. Plan your purchasing around it rather than fighting it. And if the batch's output unit differs from the unit the parent consumes it in, that specific conversion has to exist, or the resize stops with a missing-conversion error. ### Work orders: the conversion happens at the last moment Work order lines inherit the recipe's units as written. The switch into the part's base unit happens at the last possible moment: the instant raw goods are consumed is when the quantity converts and inventory actually comes off the shelf. Finished goods work the same way in reverse. The yield converts into base units right as the new inventory is created. Two sharp edges to know about. First, the work order's header quantity is a whole number. If your MO calls for a fractional finished-good quantity, the header shows it truncated, even though the underlying lines keep their decimals. Confusing on the floor, mostly cosmetic, worth warning your team about. Second (not strictly a UOM issue, but it lives in the same neighborhood), Fishbowl will let a work order finish without any raw goods recorded as consumed. The finished good comes in with zero material cost, and nothing objects. If your finished-goods costs occasionally come out absurdly low, look at whether the floor is skipping the consumption step. ### Costing follows the base unit Inventory value, average cost, standard cost: all of it is kept per base unit, and every manufacturing cost calculation converts quantities to base units before multiplying. The practical consequence is that if your conversions are right, costs flow through cleanly no matter what units your recipes speak. If a conversion is wrong (an Each standing in for a gallon, a density guess baked into a volume-to-weight rate, a factor someone "fixed" after years of use), the cost error propagates silently into every finished good downstream, because Fishbowl never re-validates a conversion that already exists. ## Your costing method decides how bad a unit mistake gets A wrong conversion or a wrong-unit entry doesn't hurt everyone equally. How much it hurts, and how hard it is to fix, depends on which costing method you're running. Average costing is the most forgiving. Not of the error itself, but of cleaning it up: if a unit mistake skews a part's average cost, Fishbowl lets you edit the average and make an adjustment. Whether the adjusted number is accurate is on you, but at least the repair is one field. FIFO is less forgiving. The bad cost isn't one number anymore; it's baked into cost layers, and there's no good way to edit those directly. Fixing it means cycling the bad layers out of inventory and receiving corrected ones back in. Doable, but a hassle that scales with how long the error ran. Standard costing is the least forgiving, because now the journal entries get involved. If your finished-good standard doesn't match reality, or your raw-good costs don't add up to it, every build manufactures a variance. Here's the insidious version: your inventory valuation can look perfectly correct. You're producing units at a $4 standard and the balance sheet dutifully shows $4 a unit. Meanwhile the bill of materials is actually consuming $500 of inputs per unit, so $4 goes to inventory asset and $496 goes to the variance account, every single build, and nobody's watching that account. A unit-of-measure error under standard costing doesn't show up where you look; it shows up where you don't. (Standard cost variances deserve their own deep dive; today is just units.) ## What we'd tell every Fishbowl admin 1. **Treat the conversion list as production data.** Conversions can be edited at any time, even while in use. (Deleting an in-use one is blocked; editing one is not.) An edited factor silently changes every future transaction that touches it. Review it like you'd review a price list. 2. **Reserve Each for the indivisible.** Phones, devices, serialized things. Containers of measurable stuff get real units. The system-wide conversion list means an Each-to-Ounce shortcut works exactly until the second vendor shows up. 3. **Make the three unit decisions per part deliberately** (stock/cost unit, buying units, usage units) and create every conversion between them the day you create the part. BOM save won't check; the error arrives later, addressed to whoever is running the work order. During implementation, last year's vendor bills are the source of truth for what units you'll actually transact in. 4. **Train whoever enters vendor bills on which unit each part speaks.** A roll price keyed against a part configured in inches is how you end up with $9 million of copper cabling on a valuation report. 5. **Don't convert across density.** No system-wide rate can turn gallons into grams correctly for both oil and syrup. Recipes by weight means stock by weight. 6. **Expect round-ups on Each.** Fractional results on whole-number units always go up, in picks, in resized MOs, in batch counts. Demand inflated by ones and twos is usually this, not user error. 7. **Know which unit you're reading.** On-hand and costs are always base units; document lines are the document's units. Any report or export comparing the two without converting will be almost right, which is worse than being obviously wrong. 8. **Audit for cross-type conversions.** If anyone ever clicked past the "different measurement types" warning, that Count-to-Weight rule is live. Worth a periodic review, especially for the Each-to-volume shortcuts from rule 2. --- *This piece comes out of years of client work on Fishbowl, verified on current versions: reconciliations, inventory audits, and manufacturing cleanups that had to get the units right. If Fishbowl's UOM behavior is doing something to your inventory or your books that you can't explain, that's the kind of thing we untangle.* --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 11, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # How does Fishbowl cost a cycle count under FIFO? > On FIFO, a cycle count of 'found' inventory doesn't restore the original receipt cost. Here's what Fishbowl actually does, why cycle-up and cycle-down post at different amounts, and a read-only query to check your own data. A customer asked us a simple question last month: *"if we do a cycle count and find some inventory we thought was lost, does Fishbowl cost it at what we originally paid?"* We were halfway through building an inventory-correction tool for them, and that question wasn't in our spec. They run FIFO. They assumed a cycle count of "found" units would restore the cost of the original receipt. We thought that was probably right too — but we'd never specifically validated it. So we went looking. The answer turned out to be more interesting than either of us expected, and worth writing down for anyone else on FIFO who's about to assume the same thing we did. This is against Fishbowl 2025.3. **Short answer:** Fishbowl doesn't restore the original receipt cost on cycle-up. It creates a new cost layer dated today, priced at the current top of the FIFO queue. That's rarely the cost you'd expect — and the rest of this piece is about why, and what it does to your books over time. --- ## What we expected, and what we found We expected this: when you cycle-up a part by 5 units, those 5 units come back into stock costed at whatever they cost when you originally received them — like reaching back to the receipt that put them in your warehouse the first time. What Fishbowl actually does: it creates a **brand new cost layer**, dated today, costed at the **current top of the FIFO queue** — which is the *oldest still-open* layer's unit cost. The original receipt is not consulted. There's no lookup, no "where did these units come from." Just: new layer, today's date, current top-of-FIFO price. If your oldest open FIFO layer is $8/ea, your cycle-up adds units at $8/ea. If the part has sold completely down and there are no open layers, Fishbowl falls back to the *most recent fulfilled* layer's cost — silently. That fulfilled layer could be three years old. No warning, no flag, nothing in the audit trail saying "we picked a stale cost." It just uses it. Cycle-down is more intuitive, but worth saying out loud: it consumes the oldest open layer first, walks forward through layers until it's used the full quantity, and the GL impact is the real weighted cost of those consumed layers. So if your queue is `[$8 × 20, then $14 × 5]` and you cycle 5 units down, the GL takes a hit of $40 — not $70. That's correct FIFO. It also surprises a lot of operators who expected the loss to reflect "what we just bought." --- ## The asymmetry Same magnitude in different directions, different absolute numbers in the GL. | Queue (oldest first) | On-hand | Cycle to | Δ | Cost selected | GL impact | |---|---:|---:|---:|---|---:| | `[$8 × 3 open, $14 × 22 open]` | 25 | 30 | +5 | $8 (top-of-FIFO) | +$40 | | `[$8 × 3 open, $14 × 22 open]` | 25 | 20 | −5 | $8 × 3 + $14 × 2 (consumed) | −$52 | Same count change. Different GL impact. The cycle-up grabs the *top* of the queue; the cycle-down walks *through* it. This isn't a Fishbowl bug — it's how layer-based costing works. But controllers don't always expect their +5 and their −5 to post at different amounts, and the explanation only makes sense once you see the layers. The bigger problem is what happens over time. If you cycle-up regularly to correct chronic miscounts — found units, misplaced receipts, off-paperwork stock — every adjustment adds a new layer at the *current* top-of-FIFO cost. Months later, the oldest cheap layers you started with are quietly displaced by newer layers minted at higher cycle-up costs. Your inventory value drifts toward current cost regardless of when the units were physically acquired. Whether that's good or bad depends on the story you want your books to tell, but most people don't realize it's happening. --- ## "But we use lot tracking — doesn't that fix this?" This was the next question from our customer, and the answer is **no**, with one wrinkle. Lot tracking changes how Fishbowl identifies the *physical* inventory (which tag holds which lot, what expiration date, etc.). It does **not** change how cost layers work. Cost layers are still per-part. There is no layer-per-lot. There is no link between a lot number and a specific cost layer — that link doesn't exist anywhere in the data model. So if you have Lot ABC123 sitting on a tag and you cycle that lot up by 5 units, Fishbowl picks up the change on the tag (lot stays correct, no problem there) but the cost layer it creates is just *"this part, 5 units, current top-of-FIFO cost, today."* No lot attribution. The lot information lives on the tag; the cost information lives on the layer; the two never share a key. The wrinkle: when you have **multiple tags** for the same lot — from migrations or race conditions in receiving — cycle counts pick one tag to absorb the change in a non-deterministic order. That's a separate problem, and one we'll write up separately. But the cost-layer answer is independent: whichever tag absorbs the qty change, the cost layer affected is the same part-wide FIFO layer. The short version: **lot tracking doesn't protect FIFO customers from the cycle-up cost surprise.** A lot-tracked FIFO customer is in exactly the same position on cost as an unlot-tracked FIFO customer. --- ## What if we weren't on FIFO? Worth contrasting because some of the surprises here are FIFO-specific. | Method | Cycle UP | Cycle DOWN | Asymmetric? | |---|---|---|---| | **FIFO** | New layer at top-of-FIFO cost | Consumes oldest layers first | Yes | | **Average** | Adds qty × current avg to the pool | Removes at the current running average | No | | **Standard** | At the part's standard cost | At the part's standard cost; variance posts separately | No | Average and Standard don't have the asymmetry because they don't carry a queue of dated layers. There's one number per part, applied in both directions. The asymmetry — and the drift toward current cost from repeated cycle-ups — is a feature of layer-based costing. This is not a reason on its own to leave FIFO. It is one input among many if you're already weighing a costing-method review. --- ## What we ended up telling our customer A few things, all of them practical: - *"You cannot get Fishbowl to restore the original receipt cost on a cycle-up via the CSV importer."* That path passes a null unit cost into the cycle operation, which forces top-of-FIFO selection. If they need a specific historical cost on a "found inventory" adjustment, they have to use the REST inventory endpoint and pass the unit cost explicitly. The CSV is insufficient. - *"If you cycle a sold-out part back up to fix a counting error, look at what cost Fishbowl picked."* The stale-fulfilled-layer fallback is the most likely place to get a misleading number, and it happens silently. - *"Repeated cycle-ups will drift your inventory value toward current cost over time."* Not a Fishbowl bug. Just a thing that happens, that nobody talks about, and that the books quietly reflect. - *"If a count matches exactly, nothing is written."* No audit row, no inventory log, no record that the count happened. If they need proof-of-cycle-counting for compliance, they need to track it outside Fishbowl — the system only records deltas. The customer's specific question — *"will Fishbowl restore the original cost?"* — turned out to be the wrong question. The right question was *"what cost will Fishbowl assign to the found units, and are we okay with that being current top-of-FIFO rather than the original receipt?"* For their setup, the answer was "we're okay with it as long as we know it's happening." Which is the answer for most operators we've worked with on this once they actually see what's going on under the hood. --- ## Here's the query we use for this If you're on Fishbowl FIFO and any of this is news to you, the fastest sanity check is to look at what the last twelve months of cycle counts have actually done to your cost layers. The pattern shows up in the data fast — usually within a few minutes of running the query against your Fishbowl MySQL database. This is the diagnostic query we run when we're picking up a new Fishbowl customer on FIFO and want to know whether routine cycle counting has been quietly drifting their inventory value. It returns one row per cost layer touched by a cycle count in the last twelve months — created by a cycle-up or consumed by a cycle-down — with the dollar impact of each. ```sql SELECT il.id AS inventoryLogId, il.eventDate, p.num AS partNum, p.description AS partDescription, ilt.name AS eventType, -- 'adj:inc' = cycle-up; 'adj:dec' = cycle-down il.changeQty AS eventChangeQty, -- the cycle-count delta il.info AS note, su.initials AS userInitials, cl.id AS costLayerId, cl.dateCreated AS layerCreatedAt, cl.orgQty AS layerOrgQty, cl.orgTotalCost AS layerOrgTotalCost, ROUND(cl.orgTotalCost / NULLIF(cl.orgQty, 0), 6) AS layerUnitCost, iltocl.qty AS layerQtyTouched, -- + = layer created; − = layer consumed ROUND(iltocl.qty * (cl.orgTotalCost / NULLIF(cl.orgQty, 0)), 2) AS layerValueImpact, -- signed $ impact on inventory value CASE WHEN il.typeId = 64 THEN 'CREATED (cycle-up)' WHEN il.typeId = 65 THEN 'CONSUMED (cycle-down)' END AS layerDirection FROM inventorylog il JOIN inventorylogtype ilt ON ilt.id = il.typeId JOIN inventorylogtocostlayer iltocl ON iltocl.inventoryLogId = il.id JOIN costlayer cl ON cl.id = iltocl.costLayerId JOIN part p ON p.id = il.partId LEFT JOIN sysuser su ON su.id = il.userId WHERE il.typeId IN (64, 65) AND il.eventDate >= DATE_SUB(NOW(), INTERVAL 12 MONTH) ORDER BY il.eventDate DESC, il.id, cl.id; ``` Read-only. Safe to run on a production Fishbowl MySQL instance. **How to read the output:** - `layerValueImpact > 0` — that cycle-up *added* dollars to inventory value at the listed `layerUnitCost`. If the layer was created today and `layerUnitCost` is an old number, that's the top-of-FIFO selection in action. - `layerValueImpact < 0` — that cycle-down *removed* dollars at the consumed layer's cost. Multiple rows for the same `inventoryLogId` mean the cycle-down spanned more than one layer. - Sort by `ABS(layerValueImpact)` to find the largest single adjustments. These are usually the ones worth investigating manually — was this really a count discrepancy, or a process problem upstream? - Sum `layerValueImpact` per part to see net drift. If it's materially positive on a part, routine cycle counts have been inflating that part's value; materially negative means deflating. **Two things to know before running it:** - The query excludes zero-delta cycle counts (where the count matched on-hand exactly). Those are real events but they touch no cost layer, so they don't show up in the layer audit table. If you want a count of "we cycled and confirmed" events for compliance purposes, that's a different query against `inventorylog` alone. - `layerUnitCost` is the layer's *creation-time* unit cost. For most parts that's the same as the unit cost at consumption. For parts with landed-cost reconciliations on the original receipt, the reconciled value is reflected — still the right number for "what did this post at." If the output of this query tells a "drift in one direction" story, that's worth knowing before the next physical count. If it tells a "small, oscillating, no real pattern" story, the FIFO asymmetry isn't moving your numbers materially and you can file it away. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published May 20, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- --- # Fishbowl Advanced Errors # Fishbowl Shipping: Shipment already completed > You're attempting to repeat an action on a completed shipment. ## What it means The shipment has already been finalized or completed, and the action you're attempting cannot be run again. Fishbowl blocks repeated actions on shipments in terminal states to prevent data consistency issues. ## What to check - Review the shipment's current status—usually shown in the detail view or status field - Confirm what action you were attempting when the error appeared - If the status shows "Shipped," "Finalized," or another completed state, that action has already been applied - Double-check the shipment ID matches what you intended to modify --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: 'Cost cannot be negative' > A cost field rejected a negative value. ## What it means The system rejected a cost field containing a negative number. Fishbowl requires cost values to be zero or positive. This typically occurs when you manually enter a negative cost or when a formula generates one. ## What to check - Is the cost value actually negative? Verify the number you entered or the source of a calculated value. - Are you trying to apply a discount? Use a discount field instead of entering a negative cost. - If this appeared on a computed field, check the source values feeding into the calculation. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: 'Purchase order cannot be loaded' — Issue the PO first > Fishbowl blocks the Receive action on a purchase order that has not yet been issued. ## What triggers it You're trying to click Receive on a purchase order that is still in draft or unissued status. The PO shows no Issued date in the header, and there's no record yet that formally commits the purchase. ## Why Fishbowl blocks it Receiving creates an inventory receipt and matches it to a formal PO document. Fishbowl requires the PO to be officially issued first so there's a locked, unchangeable document to receive against. Unissued POs are still drafts or estimates, not yet commitments, and Fishbowl will not allow you to receive inventory into stock against them. ## What to do 1. Open the PO in edit mode. 2. Click Issue. 3. Confirm the issue. The status header will now show "Issued" and include a date. 4. Close and reopen the PO, or navigate back to the Receive screen. The Receive button will now be active and you can proceed. If the PO was never meant to be issued—for example, a quote you discarded or a bid that didn't go through—delete it and create a new PO, then issue it before receiving goods. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: 'SO number already exists' — duplicate order number > The order number you entered is already assigned to another sales order in your system. ## What triggers it You tried to save a sales order using an SO number that's already assigned to another sales order in your system. This happens when: - You manually enter an order number that already exists - You duplicate an existing sales order without changing the number before saving - You edit an order and change its number to one that's already in use ## Why Fishbowl blocks it SO numbers must be unique identifiers. Duplicate numbers would break order tracking, conflict with linked records like invoices and shipments, and produce incorrect reports. This rule keeps your data consistent and searchable. ## What to do Assign a new, unused SO number. If you're duplicating an order, let the system auto-generate the next number or manually enter a different one. Check your existing orders to see which numbers are already in use. If you're recreating a deleted order, give it a new number rather than reusing the original. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: 'Tax rate already used as line item' > A tax rate you selected is already applied to another line item on this sales order. ## What it means The tax rate you selected is already associated with a line item on this sales order. Fishbowl prevents the same tax rate from being used multiple times in conflicting ways, so the system is alerting you to this existing usage. ## What to check - Look at each line item on this order and identify which one already uses this tax rate. - Decide if you need to use a different tax rate for your current action. - If the existing usage is wrong, consider modifying or removing it before reapplying the rate. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Accounting configuration is not valid" > Your Fishbowl accounting integration setup is incomplete or the connection to QuickBooks/Xero has become invalid. ## What it means Fishbowl tried to use your accounting settings and found them incomplete or incorrect. This typically happens when you attempt to sync data or run a transaction that requires accounting integration, but the setup is no longer valid. The connection may be down, credentials may have expired, or required fields may be missing. ## What to check - Verify your accounting software login credentials are still correct and that account access is active. - Check whether the integration connection in Fishbowl is still established (review the accounting integration status in settings). - Confirm that all required fields in the accounting configuration are filled in. - If recently changed, verify any accounting settings modifications are complete. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Accounting system configuration not valid" > Your accounting system link is incomplete, disconnected, or corrupted. ## What it means Fishbowl attempted to access your accounting system during an operation (typically when syncing data or posting a transaction) and found the configuration invalid. The connection details, credentials, or integration settings are either incomplete, corrupted, or the link to your accounting system has become disconnected. ## What to check - Verify your accounting system is reachable and current (QuickBooks company file open, Xero account accessible, etc.) - Check Accounting settings for missing or invalid connection credentials - Confirm the accounting system link hasn't been disabled or requires re-authentication - Look for any recent account permission changes or authentication token expiration --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Accounting system has been disconnected" > The connection to your accounting system has been lost, clearing the default accounts Fishbowl uses for transactions. ## What it means The accounting system that Fishbowl connects to is no longer accessible or has been disconnected. When this occurs, Fishbowl resets the default accounts it uses for posting transactions—the accounts that were previously assigned are now blank. ## What to check - Verify the accounting system integration is still enabled in your Accounting settings - Check whether your external accounting system (QuickBooks, Xero, etc.) is accessible and running - Confirm that your default accounts are properly assigned; they will need to be reconfigured - If the disconnection was intentional, re-enable the integration or assign new defaults before posting transactions --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "accounts are the same" > The accounting integration can't create a journal entry because both the debit and credit sides map to the same account. ## What it means A journal entry must use at least two different accounts (one to debit, one to credit) per double-entry accounting rules. This error occurs when Fishbowl or your accounting integration tries to create an entry where both sides map to the same account. This usually happens because the account mapping in your integration settings has both sides configured identically. ## What to check - Check your integration's account mappings to verify that debits and credits use different accounts. - If the account involved is inactive or deleted, the system may be reusing a fallback account. - Verify that any automation rules for that transaction type aren't accidentally pointing both sides to the same account. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Add inventory with no unit cost" > You're attempting to receive or add inventory without a per-unit cost assigned. ## What it means Fishbowl is confirming you want to proceed without entering a cost per unit. Inventory records normally include cost for tracking and valuation. This usually means you either forgot to fill in a cost field or the item was created without one. ## What to check - Does this item actually need a unit cost? (Most received inventory does.) - Did you skip the cost field unintentionally? - If cost is required, cancel this dialog, add it, and try again. - If the inventory is free or donated, you can proceed. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Average part cost must be positive" > A part's average cost is zero or invalid and cannot be used for costing operations. ## What it means Fishbowl cannot complete the operation because the part's average cost is not positive. This typically happens with parts that have zero cost, negative cost, or no cost entered. Fishbowl uses average cost to value inventory and track part expenses. ## What to check - Look at the part's cost in its master record—it must be greater than zero - If the cost is zero or blank, enter a valid positive cost value - Check whether the part is newly created; parts without assigned costs trigger this error - Verify you're working with the correct part and revision --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Can only cancel sales order" > A sales order can't be cancelled because its current status is beyond the estimate, issued, or in-progress stage. ## What it means You tried to cancel a sales order, but Fishbowl blocks cancellation if the order has moved beyond certain statuses. Sales orders can only be cancelled when they're in estimate, issued, or in-progress status—typically before they've been completed, shipped, invoiced, or closed. ## What to check - Verify the current status of the sales order; it's likely in a completed, closed, or shipped state. - If the order should be cancellable, check whether it can be moved to an earlier status (usually requires audit trail or manager permission). - If direct cancellation isn't possible, you may need to use a credit memo or debit memo instead, depending on how far the order has progressed. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot be deleted because it has a payment" — what to do > The sales order has a recorded payment, so deleting the order would leave that payment with nothing to attach to and break the money trail. ## What triggers it The sales order has at least one payment recorded against it. In Fishbowl a payment is money taken in advance of or at fulfillment: a customer deposit, a card or Stripe charge, a cash or check receipt applied to the order. Delete removes the order and its lines outright, but the payment is a separate record that points at the order. Fishbowl refuses so the payment is never left pointing at nothing. ## Why Fishbowl blocks it Deleting the order would strand the payment. That payment carries a real dollar amount that has to land somewhere: a customer deposit liability, a bank or clearing deposit, or a receivable applied on the customer account. If it disappears with the order, your cash-in no longer matches an order, the customer may show a credit you cannot trace, and any figure already handed to your accounting system stops reconciling. Void behaves differently: it keeps the order and payment records in place and marks the order as voided, so the history and the money trail stay intact. ## What to do Decide whether this order should vanish or be closed out. If the payment was recorded in error and nothing has left Fishbowl, open the order, reverse or delete the payment, then delete the order. If the order is real but dead, void it instead of deleting; that preserves the number, the lines, and the payment for audit. Voiding is the safer default whenever money has touched the order. ## If it is already reconciled or exported If the payment already synced to QuickBooks or Xero, or has been reconciled against a bank feed, treat this as an accounting correction, not a simple undo. Do not delete on the Fishbowl side and leave a matched deposit or invoice orphaned in accounting. Void the order in Fishbowl and post the reversal in your accounting system (a refund, credit memo, or reversing entry) so both ledgers show the same thing. Match the amounts before you close it out. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot cancel - items already shipped" > You cannot cancel a sales order that has any shipped items. ## What it means Fishbowl prevents canceling orders with shipped items. Once fulfillment has started, the system requires a separate inventory transaction (return or receive) rather than order cancellation to reverse the shipment. ## What to check - **Which items shipped**: Review the order detail to see which items show as Shipped and which remain unshipped. - **Partial vs. full shipment**: Confirm whether this is a partial or complete shipment. If partial, check whether you can close or cancel just the unshipped lines. - **Return or receive process**: Check whether you need to process a return or receive transaction to undo the shipped items before attempting order cancellation again. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot cancel order with fulfilled service" > You cannot cancel a sales order that contains a service item already marked as fulfilled. ## What it means The order you're trying to cancel includes a service item that has been recorded as fulfilled (completed). Fishbowl blocks the cancellation to prevent undoing work that's already finished and potentially affecting invoicing or revenue recognition. ## What to check - Identify which line items in the order are services (versus inventory products). - Check the fulfillment status of each service—which are marked fulfilled or completed? - Decide whether to unfulfill those services first before attempting cancellation, or whether the order requires a different handling approach for partial completions. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot change default location group" > The system blocks reassignment of the default location to a different location group. ## What it means You attempted to change which location group contains your default location. Fishbowl blocks this action to protect your inventory structure—the default location is foundational to how the system organizes stock, and moving it would require restructuring your location hierarchy. ## What to check - Confirm which location is marked as your default in your Inventory settings - Verify you didn't accidentally select the default location when trying to move a different one - If you need this stock in a different group, create a new location instead of reassigning the default --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot change the home currency rate" > Fishbowl won't let you modify the exchange rate for your company's base currency. ## What it means Fishbowl prevents changes to your home currency rate—the fixed baseline used to calculate all other exchange rates. This rate is locked because moving it would distort every other currency's value in the system. ## What to check - Verify you're editing the right currency. Are you trying to change the home currency itself instead of another currency's rate against it? - Check whether currency changes are prevented due to existing transactions or a business setting that restricts rate edits. - Confirm your user role has access to currency administration (may require system admin or accounting manager-level permissions). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot change the type of the default location" > The system won't let you modify the location type for your default inventory location. ## What it means Fishbowl designates one location as your default—the location it uses for inventory receipts, adjustments, and other operations when you don't specify a particular location. The system blocks changes to the type of this location because modifying how it behaves would disrupt core inventory processes. ## What to check - Verify which location is currently set as your default in Inventory settings. - Confirm whether you need to change this location's type, or whether the type is already correct for your workflow. - If you must change the type, check whether you can designate a different location as the new default, then modify this one's type. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot change UOM on open orders" > A product's unit of measure cannot be changed while orders for that product remain open. ## What it means The UOM change is blocked because Fishbowl detected open orders for this product. Changing the UOM while orders are in flight can break order fulfillment logic and inventory calculations tied to the original unit. ## What to check - **Search for open orders on this part.** Look in sales orders and purchase orders for any non-completed records referencing this product. - **Ship or close those orders.** Complete fulfillment, receive stock, or formally cancel the open orders before retrying the UOM change. - **Consider a new SKU instead.** If you need a permanent UOM change and have frequent orders, creating a separate part with the new UOM may be safer than modifying the existing one. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot close short an item with a status of" > An item's current status blocks you from closing the short on this sales order. ## What it means You sold or shipped more of an item than available inventory, creating a short. Now you are trying to close it—fulfill it with additional stock or resolve it. The item's current status (shown in the error) prevents this. Fishbowl usually blocks this for items marked discontinued, inactive, or unavailable for normal sale. ## What to check - Open the item record and note its current status. - Decide whether that status is correct for this transaction—if the item truly should not be sold, the short may need a different resolution (cancel the backorder, adjust the order quantity, or use a substitute). - If the status is a mistake, correct it; if it is intentional, handle the short by other means rather than trying to fulfill it with an unavailable item. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot close short an order" > The order's current status prevents you from closing or reducing it. ## What it means When you attempt to close or reduce a sales order, Fishbowl prevents the action if the order is in a status that doesn't allow modification. Typically, orders in completed, shipped, invoiced, or other locked statuses cannot be modified or reduced. ## What to check - **Order status**: Open the order and check its current status displayed in Fishbowl. This is usually what's blocking the close-short action. - **Fulfillment and invoicing**: Verify whether the order has been partially or fully shipped or invoiced—these states typically lock the order from further modification. - **Alternative workflows**: If you need to undo or adjust this order, check whether Fishbowl requires a different process (credit memo, reverse order, etc.) rather than direct modification. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot create PO without vendor name" > The Purchase Order module requires a vendor to be selected before creating a new PO. ## What it means The Purchase Order requires a vendor to be specified before you can create it. This is a mandatory field—Fishbowl won't save a PO without knowing which vendor it's for. ## What to check - Is the vendor name field filled in on the Purchase Order form? - Verify the field contains a value and is not blank. - If unsure whether you selected a vendor, check the form again before retrying. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot delete customer with linked job" > The customer record has one or more jobs associated with it and cannot be deleted. ## What it means You can't delete this customer because one or more jobs (projects, engagements, or work orders) are associated with it. Fishbowl prevents deletion to protect job records that reference the customer and maintain data integrity. ## What to check - Find which jobs are currently linked to this customer - Review their status—whether they're active, completed, archived, or in another state - Verify whether you can archive the customer record instead of deleting, or what conditions must be met before those jobs can be properly handled --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot delete customer—has inventory history" > Customer deletion blocked because the customer has transaction or inventory records. ## What it means Fishbowl won't delete this customer because they're tied to inventory transactions—typically an order, shipment, receipt, or similar record. This is standard ERP behavior: systems protect customers with history to prevent data corruption and audit-trail breaks. ## What to check - Whether deletion is actually necessary (usually only for duplicates or test records). - What inventory transactions are tied to this customer—search for them in orders (sales and purchases), shipments, and receipts. - Whether your Fishbowl setup allows marking a customer inactive or archived as an alternative to deletion. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot delete purchase order with status" > A purchase order cannot be deleted once it reaches certain statuses in its workflow. ## What it means The purchase order has reached a status in Fishbowl's workflow that makes it undeletable. This is a standard safety mechanism designed to preserve audit trails and protect the integrity of order records. ## What to check - Check the purchase order's current status in your system (usually visible in the PO detail view or a dedicated status field) - Verify this status matches what you expected based on the order's workflow - If the PO needs to be removed from active operations, consult your Fishbowl documentation or system administrator for alternatives to deletion --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot distribute a negative cost" > Fishbowl blocked a cost distribution with a negative value in a Manufacturing Order. ## What it means Fishbowl blocked a cost distribution because the value is negative. This usually means either you entered a negative number (with a minus sign), or a formula or calculation produced a negative result. Manufacturing orders don't allow negative distributions in this operation. ## What to check - Look at the cost amount you're trying to distribute—is it showing as negative? - If you're trying to reverse, credit, or refund a cost, verify that the distribute function is the right approach. Fishbowl may have a separate adjustment, credit, or reversal procedure designed for negative adjustments. - If a formula produced the negative value, check the formula for data entry or calculation errors. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot edit this type of item" > The item you're trying to modify in this Sales Order is locked or in a state that prevents editing. ## What it means This error means Fishbowl won't let you change data for this item in the current Sales Order. This usually happens when the Sales Order itself is locked (closed, shipped, or finalized), when the item type has special handling that restricts editing, or when your account doesn't have permission to edit this particular item type. ## What to check - Check the Sales Order status: is it open for editing, or closed/locked? - Look at the item record itself: some item types (kits, assemblies, discontinued items) may have editing restrictions. - Verify your user permissions allow editing this item type. - If you need to modify a closed SO, check whether it needs to be reopened or if the change should go to a new order instead. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot fulfill items" — SO must be Issued or In Progress > Fulfillment is only allowed when the sales order status is Issued or In Progress. ## What triggers it The sales order's status is not Issued or In Progress. Common blocking states: Estimate or Quote (order not yet issued), Fulfilled (fulfillment already complete), or Closed (order archived). Fulfillment is only available for active orders. ## Why Fishbowl blocks it Fulfillment is meant for active, confirmed orders. Trying to fulfill an Estimate or Quote would ship an uncommitted order. Trying to re-fulfill a Closed or Fulfilled order would corrupt inventory and shipment records, so Fishbowl prevents it. ## What to do Open the sales order header and check its status. If it is Estimate or Quote, issue the order first by changing the status to Issued. If it is Fulfilled or Closed, verify the fulfillment is correct and check shipment records. For stuck orders in an unexpected state, change the status back to Issued to unlock fulfillment. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot get default shipping part" > Fishbowl can't retrieve the default shipping part configured in your Shipping settings. ## What it means Fishbowl stores a default shipping part in your Shipping module settings and applies it automatically during shipment creation or processing. This message means Fishbowl looked for that default but couldn't retrieve it—either the part doesn't exist anymore, it's marked inactive, or there's a mismatch between your configuration and your current inventory. ## What to check - Verify that a default shipping part is configured in your Shipping module settings - Confirm that the part assigned as default still exists in inventory and is marked active - Check whether the part's status has changed (discontinued, locked, or deleted) since it was set as default --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot reconcile more than ordered on drop ship PO" > You're trying to receive more quantity than the original purchase order allows. ## What it means Drop ship POs have a fixed quantity. Fishbowl prevents you from receiving (reconciling) more than what was originally ordered because the goods ship directly to your customer and quantity is locked at order time. ## What to check - View the original PO quantity for this drop ship order - Check how much has already been received on this PO - Ensure your current receipt quantity doesn't exceed the remaining balance --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot remove bill, please post to" > Fishbowl won't delete this bill; it needs to be posted first. ## What it means You're trying to remove or delete a bill, but Fishbowl won't allow it in the bill's current state. The message indicates the bill must be posted first. This usually occurs when a bill hasn't yet been formally posted to your accounting ledger, or when it's tied to other transactions that block deletion. ## What to check - Is the bill in draft status? It may need to be posted to the general ledger first before deletion is allowed. - Check the bill's current posting status in the bill details pane. - Verify the bill isn't linked to paid invoices or received purchase order items that prevent removal. - If the error message text continues beyond "post to," that specification may indicate which account or period to post to. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot remove committed serial number" > A serial number locked by an inventory transaction cannot be deleted. ## What it means When a serial number is committed, it's been finalized in a transaction—usually a purchase receipt, sales order, or shipment. Fishbowl prevents deletion to maintain inventory record integrity. ## What to check - Search the serial number in transaction history (receipts, sales orders, shipments). - If matched to a transaction you need to reverse, delete or undo that transaction first. - Verify whether the serial should have been matched at all by checking with the person who committed it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot take negative payments with Xero integration" > Negative payments must be created in Xero, not Fishbowl, when the systems are integrated. ## What it means When Fishbowl is connected to Xero, negative payments must be handled in Xero, not Fishbowl. You likely tried to record a refund, payment reversal, or credit in Fishbowl's accounting screen. Fishbowl blocks this to keep Xero as the authoritative source for payment reversals and credits. ## What to check - Confirm you're attempting to record a negative payment (refund, reversal, or credit adjustment). - Verify your Fishbowl integration is with Xero (not QuickBooks). - Go to Xero and create the negative payment there instead. Check you have permissions to create payments in Xero. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot unissue this order—items already received" > You're trying to unissue a purchase order, but items from it have already been received into inventory. ## What it means You're attempting to unissue a purchase order that has items marked as received. In Fishbowl, once items are received into inventory against a PO, the order enters a state where unissuing is blocked. Reversing the order at that point would create a mismatch between what you physically have and what your records say you ordered. ## What to check - Confirm whether items from this PO appear in a receipt record - Check the current order status (what state is it in?) - If you need to reverse the order, you'll typically need to reverse or delete the associated receipt records first - Verify whether all items were received or only some --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot unissue this PO" — already posted to accounting > The purchase order was already posted (exported) to your connected accounting system, so unissuing it would leave Fishbowl out of sync with a record accounting already holds. ## What triggers it The purchase order has already been posted, meaning Fishbowl exported it to your connected accounting system, and you then tried to unissue it to move it back to a draft (unissued) state. The dialog ends with the name of your accounting system and the sentence "Try Voiding the PO instead." That trailing name fills in from whichever integration you run, so you will see QuickBooks or Xero (or another connected system) in the actual message. It is naming the exact place the PO already lives outside Fishbowl. ## Why Fishbowl blocks it Unissuing returns a PO to a draft state as if it had never been a firm order. But once the PO has been posted, accounting is already carrying it as an open commitment. If Fishbowl let you quietly revert it, the two systems would immediately disagree: your books would still show a purchase document that Fishbowl no longer considers issued. That gap distorts your open-PO liability now and your received-inventory cost later, because the receipt that lands against this PO would no longer trace back to a record accounting recognizes. Fishbowl blocks the unissue to stop that silent divergence before it starts. ## What to do Do not unissue. Void the PO instead, exactly as the dialog suggests. Voiding is the honest reversal: it closes the PO in a way that leaves a traceable record, rather than pretending the document never existed. This is a correction, not an undo. If the PO was posted but not yet received against, voiding is usually enough on the Fishbowl side. ## If it is already reconciled or exported If the PO has already been reconciled or matched on the accounting side, the void alone will not fully unwind it. You need a corresponding reversal in your accounting system so the open commitment there is cleared too. Handle it as a two-sided accounting correction, confirm both systems agree afterward, and keep the void and the accounting reversal dated together so the audit trail stays clean. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot unissue this purchase order" > The purchase order's current status prevents unissuing; it must be in Issued or Pending Approval to reverse. ## What it means Unissuing reverses an issued PO back to an earlier state. Fishbowl restricts this to Issued and Pending Approval statuses. Once a PO moves past those states (usually when goods are received or the order is closed), unissuing is no longer permitted. ## What to check - Open the PO and check its current status field - If it shows Received, Closed, Canceled, or similar, unissuing is not supported from that state - Verify whether the PO needs to be modified through a different process or if the received goods must be reversed first --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot unissue—pick item finished" > A pick operation from this sales order has completed, blocking an unissue request. ## What it means When you finish a pick on a sales order, Fishbowl marks that work as complete. The system blocks unissue requests on sales orders with finished picks because those items have already moved through the fulfillment workflow. ## What to check - Confirm the pick item linked to this sales order shows status FINISHED - Decide whether the pick was completed correctly or if it was done in error - If the pick was done correctly, unissuing the sales order may not be the right operation—you may need to cancel the order or reverse the shipment instead --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot update drop ship POs from sales orders" > Fishbowl prevents modifications to drop ship purchase orders that are linked to sales orders. ## What it means Drop ship purchase orders created from a sales order are typically protected once linked—editing is blocked to preserve the relationship and keep the orders in sync. ## What to check - Check the PO status. Is it finalized, locked, or in a processed state? - Verify the linked sales order is still active. A closed or archived SO may trigger stricter protections. - See if there's an option to unlink the PO from the SO or change the relationship type if you need to modify it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot use serial numbers on non-serialized part" > You're trying to add serial numbers to a part that isn't configured to use them. ## What it means You attempted to enter or assign serial numbers for a part, but that part is configured as non-serialized in its inventory master data. Fishbowl only allows serial numbers on parts designated to use them. ## What to check - Verify the part is actually serialized. Check its part master record to confirm the serialization setting. - If the part should be serialized, it may need to be reconfigured (typically this requires changing the part master, not just the current transaction). - If the part should remain non-serialized, remove the serial numbers from this transaction and track by quantity instead. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot void Intuit Payments transaction" > Fishbowl can't reverse a transaction charged through Intuit Payments via the void function. ## What it means The transaction you're trying to void was processed through Intuit Payments, and Fishbowl can't reverse it using the void function. This is a limitation of the Intuit Payments integration—void operations aren't supported for this payment tender type. ## What to check - Confirm the transaction's payment method is actually Intuit Payments (check the tender or payment-method field on the transaction). - Process a refund through Fishbowl instead of a void, or log into your Intuit Payments account (or the platform where Intuit Payments deposits funds) and reverse the charge there. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot void PO" — a linked pick already finished > The PO cannot be voided because a pick item tied to it has reached Finished status, meaning inventory has already moved on the strength of this order. ## What triggers it A pick that is linked to this purchase order has reached **Finished** status. FINISHED in the dialog is the actual status of that pick item; if it read a different status the pick would still be releasable and the void would go through. Finished means the pick has been fulfilled and the inventory it controls has already been moved or consumed on the strength of this PO. Fishbowl walks the chain from the order to that pick, sees committed movement, and stops the void before it can orphan anything. ## Why Fishbowl blocks it Voiding a purchase order is meant to erase an order that never resulted in committed inventory activity. Once a pick tied to it is finished, the quantity and cost from that receipt are already sitting on hand and may already have flowed into a build, a shipment, or another transaction downstream. If the order were voided out from under that movement, you would keep the inventory and the cost layer but lose the transaction that explains where they came from. Your quantity on hand would still balance, but the valuation behind it would no longer reconcile to a real order. Fishbowl blocks the void to keep the record and the physical position in agreement. ## What to do Work backward from the movement, not forward from the order. Find the finished pick tied to this PO and void or reverse it so the inventory it consumed is released and the status changes. With the pick reversed, the block clears and you can void the purchase order normally. Confirm the released quantity and cost land where you expect before you finish; if the movement fed a build or shipment, unwind those first. ## If it is already reconciled or exported If the receipt behind that pick has already been reconciled or pushed to QuickBooks or Xero, this stops being a simple undo. The received cost has posted, so reversing the pick and voiding the PO also moves that cost, and your accounting system needs a matching correction. Make the reversal on a date that will not distort a closed period, and verify the inventory asset and received-not-billed balances match on both sides afterward. This is exactly where a Fishbowl-to-accounting reconciliation prevents a silent drift. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot void purchase order" — PO isn't in Issued state > The purchase order has already moved past the Issued state (Received, Fulfilled, Closed Short, or already Void), so it can no longer be voided. ## What triggers it You opened a purchase order and tried to void it, but the PO is not in the Issued state. Void is the tool for cancelling a PO that was issued to a vendor and then didn't happen. The dialog ends with the PO's current status, so read the last word: **Fulfilled** or **Received** means product has already come in against this PO, **Closed Short** means it was finished with less than ordered, and **Void** means someone already voided it. ## Why Fishbowl blocks it Voiding is a clean cancel. It is safe only while nothing downstream has moved. Once a PO is Received or Fulfilled, Fishbowl has already added the received quantity to inventory and created a cost layer at the received cost. Letting you void from there would remove a purchase order whose receipts are still driving your on-hand quantity and valuation, leaving inventory that exists physically but no longer traces to a document. For Closed Short and Void there is simply no open state left to cancel. ## What to do Identify the status first, then work backward from it. If the PO is Received or Fulfilled, go to the receipt and reverse the receipt (unreceive the line quantities). That pulls the inventory and its cost back out. When the PO returns to Issued with nothing received against it, void becomes available. If it is Closed Short or already Void, stop — the PO is closed and there is nothing to undo. ## If it is already reconciled or exported Reversing a receipt is where accounting integrity comes in. If that receipt has already synced to QuickBooks or Xero as a bill or an inventory adjustment, unreceiving it in Fishbowl does not automatically walk back the entry on the accounting side. Treat it as a two-system correction: reverse in Fishbowl, then reconcile the matching bill or journal entry in your accounting system so on-hand value and payables agree. Do this deliberately rather than voiding your way out, or the two systems will quietly drift apart. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot void sales order — pick committed or finished" > The sales order has a pick that reached Committed or Finished, meaning inventory is already reserved or moved, so voiding is blocked. ## What triggers it You tried to void a sales order that has a pick attached, and that pick has advanced to **Committed** or **Finished**. A pick in an early status (Entered) can usually be cleared without friction, but once it reaches Committed the pick has reserved specific inventory for this order, and once it reaches Finished the inventory has actually been pulled from its location. The dialog names the blocking condition — a committed or finished pick item — because that is the state Fishbowl will not silently discard. ## Why Fishbowl blocks it Voiding is meant to make an order disappear as if it never happened. But a Committed pick is already holding real quantities against this order, and a Finished pick has already moved stock out of a bin. If the order simply vanished, that inventory would be left reserved or removed with nothing to tie it back to, so your available quantities and your inventory valuation would no longer reflect what is physically on the shelf. Fishbowl stops at the order level to force you to resolve the inventory commitment first, in the pick, where it can be released cleanly. ## What to do Open the pick associated with the sales order. Void the pick, or roll its status back so the committed or finished quantities return to available inventory. When the pick no longer holds stock against the order, return to the sales order and void it. It will go through. Treat this as unwinding the inventory movement in order, not as removing an obstacle. ## If it is already reconciled or exported If a shipment or fulfillment tied to this order has already flowed into QuickBooks or Xero, deleting the Fishbowl side alone will leave the two systems disagreeing. In that case this is an accounting correction, not a simple undo: reverse or credit the posted transaction on the accounting side so both ledgers agree, rather than quietly voiding in Fishbowl and letting the export drift. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot void this receipt item" > A receipt line item cannot be voided because its status prevents the operation. ## What it means This receipt line item cannot be voided because it's in a status that blocks the void operation. In most ERP systems, receipt items can usually be voided only in early states, before they've been received into inventory or processed further. ## What to check - Identify what status value is shown in the complete error message (it continues after "The status is") - Determine the current state of this item: is it sitting in early receipt processing, or has it moved into inventory, been consumed, allocated, or transferred? - If reversal is needed, consider whether an inventory adjustment, vendor return, or other process is more appropriate than a void --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot void this sales order" — receipt already received > The sales order can't be voided because a linked pick reached Committed or Finished, or an attached receipt has already been received or reconciled, so voiding would have to unwind inventory and accounting that already posted. ## What triggers it You tried to void a sales order that has activity hanging off it. One of two states is present: a pick linked to the order has reached **Committed** or **Finished**, meaning inventory has been committed or already pulled; or a **receipt** tied to the order has been **received** or **reconciled**, meaning goods and their cost have landed. The words "received or reconciled" in the dialog point at whichever of those two states the receipt is in. Either one takes the order past the point where it is safe to simply erase. ## Why Fishbowl blocks it A void is meant to cancel something that has not moved anything yet. Once a pick is committed or finished, real quantities have shifted and a cost layer exists. Once a receipt is received or reconciled, inventory value has posted. Voiding at that point would force Fishbowl to reverse committed inventory and remove a cost layer that other transactions may already sit on top of, and if the receipt was reconciled, to drop a record your accounting system already knows about. It refuses rather than leave your on-hand counts and inventory valuation quietly wrong. ## What to do Unwind in reverse order. First unpick or uncommit the pick so it falls back below Committed. Then unreceive or reverse the receipt. With the downstream state cleared, the void will go through. Work from the most-recent activity backward, and confirm quantities look right at each step before moving on. ## If it is already reconciled or exported If the receipt has already reconciled into QuickBooks or Xero, this is a correction, not an undo. The value is posted on the accounting side, so reverse it there with an offsetting entry or credit and keep the audit trail intact. Deleting only the Fishbowl record leaves the two systems out of sync, which is exactly the mismatch that later shows up as an unexplained inventory or COGS variance. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cannot yield a fractional amount of Each." > You entered a decimal yield quantity for a product measured in whole units. ## What it means When you close or yield a manufacture order, the quantity you enter must be a whole number if the product's unit of measure is "Each." Fractional units aren't allowed for discrete item counts. This typically surfaces when you're recording actual completed units against the order. ## What to check - **Yield quantity**: Remove any decimal places from the number you entered (e.g., change 10.5 to 10 or 11). - **Unit of measure**: Verify the product is configured with "Each" as the UOM. If fractional quantities are valid for this product, the UOM may need to be different (like "Piece" or a weight-based measure). - **Rounding decision**: Confirm whether partial units should round up, round down, or be excluded from the yield. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Carton count cannot be negative" > You're trying to set a carton count to a negative number in Shipping. ## What it means Fishbowl rejects carton counts that are negative. This typically happens when you manually enter a negative number in a carton count field, or a calculation produces a negative result. Physically, cartons are counted as zero or greater. ## What to check - The carton count value you just entered or edited. Did you accidentally enter a minus sign or negative number? - Whether the quantities you're shipping match your carton allocations. Removing items from cartons can cause the count to go negative. - Any recent quantity adjustments that might have affected the carton count. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Class cannot be a child of itself" > A class is being configured as its own parent, which creates an invalid hierarchy loop. ## What it means You've tried to set a class as its own parent. Fishbowl hierarchies don't allow this because it creates a logical impossibility — nothing can contain itself. This typically appears during QuickBooks or Xero integration when you're organizing or mapping item classes, customer classes, or account hierarchies. ## What to check - Look at the class you were just working with. Is its parent set to itself? - Review your hierarchy mapping to find any circular references (A's parent is B, and B's parent is A). - Confirm the parent field is pointing to a different class, not the same one. - If unsure which field caused the error, review the mapping dialog you were using. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Class cannot be more than 5 levels." > Class hierarchies in Fishbowl have a maximum nesting depth of 5 levels. ## What it means Fishbowl classes—used for cost centers, departments, or other categorizations in your accounting integration—cannot be nested more than 5 levels deep. This validation error appears when you attempt to create or sync a class hierarchy that exceeds that depth. ## What to check - Count the nesting depth of the class you're working with: a class with 4 parent classes above it is at level 5, the maximum allowed - If syncing from QuickBooks or Xero, verify that your source class structure also stays within 5 levels - If you're hitting the limit, consolidate the structure by moving some nested classes to higher levels in the hierarchy --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Configurable Parts cannot have Drop Ship" > Configurable Parts cannot use Drop Ship as the default sales order fulfillment type. ## What it means Fishbowl prevents Configurable Parts from using Drop Ship as their Default SO Item Type. Configurable parts are designed for items requiring customization or assembly work per order, which typically conflicts with drop shipping (supplier-to-customer direct fulfillment). ## What to check - Confirm the part is set to type "Configurable" - Check the Default SO Item Type field — it's currently set to "Drop Ship" - Choose one of these changes: either change the part type from Configurable to something else, or change the Default SO Item Type from Drop Ship to a different option (such as Standard or Assemble) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cost changed when you updated quantity or UOM" > The system recalculated your purchase order line's unit cost when you changed the quantity or unit of measure. ## What it means When you changed the quantity or unit of measure on a PO line item, Fishbowl calculated a different unit cost than what was already there. This typically happens when supplier pricing includes quantity tiers (bulk discounts or premiums), the item has multiple entries in the cost history, or the unit of measure conversion affects how the per-unit cost is calculated. ## What to check - Confirm the quantity and UOM you entered match your actual purchase intent - Verify the new cost against your supplier's current pricing (recent invoices, quotes, or rate card) - If the new cost seems wrong, double-check that your quantity and UOM entries are correct --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Cost layer has been consumed" — receipt already used up > The inventory from this receipt has already been sold, shipped, or consumed in manufacturing, so its cost layer is gone and voiding it would corrupt valuation. ## What triggers it You are trying to void a single receipt line in Receiving, but the parts that line received are no longer sitting in inventory. Somewhere downstream they were sold and shipped, issued to a manufacture order, or otherwise used up. The message tells you the specific reason: the cost layer that this receipt created has been consumed. In Fishbowl, each receipt lays down a cost layer that later outbound transactions draw against. Once those parts leave, the layer is spent, and there is nothing clean left to reverse. ## Why Fishbowl blocks it Voiding a receipt is meant to unwind inventory that is still on hand. When the inventory is already gone, a void would remove a cost layer that other, already-completed transactions used to value themselves. Those shipments and builds would suddenly reference a receipt that no longer exists, and their costs would shift or break. Fishbowl stops you here because letting the void through would silently rewrite the valuation of every transaction that consumed the layer, and it would contradict any of those movements you have already sent to accounting. ## What to do Treat this as a correction, not a reversal. Decide what is actually wrong — the received quantity, the received cost, or both — and fix that with an inventory adjustment rather than a void. Adjust the cost if the price was wrong; adjust quantity if you received the wrong amount. That keeps the consumed layer intact for the transactions that relied on it and applies your fix going forward, which is the honest and safe path. ## If it is already reconciled or exported If the original receipt or its vendor bill has already been reconciled or posted to QuickBooks or Xero, do not stop at the Fishbowl adjustment. Post the matching correction on the accounting side too, so the inventory or COGS change in Fishbowl and the ledger entry agree. A one-sided fix leaves the two systems drifting apart, and that drift is exactly what reconciliation work exists to catch. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Could not connect to QuickBooks Online." > Fishbowl cannot reach your QuickBooks Online account when trying to sync. ## What it means Fishbowl tried to access your QuickBooks Online account during synchronization but failed to establish a connection. This usually happens when your OAuth token or authentication credentials have expired, QBO's service is temporarily unavailable, or Fishbowl lost authorization to access your account. Network issues on either your connection or Fishbowl's end can also cause this. ## What to check - Whether your QuickBooks Online connection credentials or token are still valid (tokens can expire without notice) - Whether you can access QuickBooks Online directly in a web browser to confirm QBO is online - Whether Fishbowl still has authorization to access QBO (review connected apps in your QBO settings) - Whether your network connection is working and you can reach other cloud services --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Could not delete the purchase order" > The system prevented deletion of a purchase order, usually due to its status or linked transactions. ## What it means The system blocked deletion of this purchase order. Typically this happens when the PO is in a protected status (such as closed or approved), or when it's already tied to receipts, bills, or received inventory. Once a PO is linked to other transactions, deletion is usually blocked to maintain record integrity. ## What to check - **PO status**: Verify the PO is in a status that allows deletion—usually draft or open. Approved, closed, or received status typically blocks deletion. - **Linked transactions**: Check whether receipts, bills, or inventory receipts reference this PO. If goods are received or a bill is created from it, deletion is usually blocked. - **Permissions**: Confirm you have delete permission for purchase orders—some roles allow editing but not deletion. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Currency settings don't match QuickBooks" > Fishbowl has multi-currency enabled while QuickBooks doesn't, blocking accounting sync. ## What it means Fishbowl has multi-currency support enabled, but QuickBooks doesn't. When one system tracks multiple currencies and the other doesn't, the sync can't complete because the two systems disagree about what currency each transaction is in. ## What to check - Confirm whether you actually use multiple currencies in your business (invoices, payments, or purchase orders in different currencies). - Check your QuickBooks settings to see if multi-currency is available for your edition and whether it's currently enabled. - If you don't need multiple currencies, disable it in Fishbowl to match QuickBooks. If you do need it, enable it in QuickBooks before syncing again. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Customer has a hold status" > A sales order for a customer flagged with a hold status is being duplicated. ## What it means The customer record is flagged with a hold status, which typically restricts transactions on that account. You're attempting to duplicate (copy) an existing sales order for this customer, and Fishbowl is warning you before proceeding. ## What to check - Why the customer has a hold status: check the customer record to see the reason (credit hold, payment dispute, billing issue, or other flag). - Whether you should create orders for a held customer: confirm with your manager or your organization's policy on whether sales orders should be created for customers on hold. - The business context: verify that proceeding aligns with your organization's credit or order procedures. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Customer has a hold status" — missing override right > This is an access-rights issue; the user's group lacks the Override Hold permission needed to issue sales orders for customers on hold. ## What triggers it A customer account has an active hold status (credit hold, verification hold, or other restriction). When you attempt to issue a sales order for that customer during Point of Sale checkout, Fishbowl prevents the action if your user group does not have the Override Hold permission. ## The fix 1. Go to Setup > User Groups. 2. Select your user group. 3. Find the CUSTOMER module section. 4. Enable the Override Hold right. 5. Log out and back in. Holds are often applied intentionally to prevent sales. Confirm with your manager before enabling this right—the restriction may be intentional and important for your business control. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Customer:~:text=Override%20Hold) lists the Override Hold right under the Customer module. ## What to check first - Verify your actual user group assignment (ask your admin if unsure). - Test with a user who already has Override Hold enabled; if they can issue the order, the permission is the real blocker. - If the customer's hold status itself is wrong, an admin may need to clear it in Setup > Customers instead of granting override rights. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Drop Ship items can't be modified" — PO already issued > A sales order line item for a drop-ship product is locked because the purchase order sent to the vendor has already been issued. ## What triggers it You're trying to change a drop-ship line item in a sales order (usually the quantity). The purchase order that Fishbowl automatically created and linked to that sale has already been issued to the vendor. ## Why Fishbowl blocks it A drop-ship purchase order is a direct instruction to your vendor. Once issued, changes to the linked sales order line would create a mismatch: your vendor is fulfilling based on the PO they received, but your internal sales order now says something different. Fishbowl locks the SO line to prevent this synchronization break. ## What to do Try to unissue the purchase order to revert it to draft status. Once you do, edit the SO line to the correct quantity or details, then re-issue the PO. If the PO is locked and can't be unissued, contact your Fishbowl administrator—some workflows enforce read-only POs after issue. If that's your situation, cancel the current SO, create a new one with the correct details and quantity, and issue a fresh purchase order to the vendor. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Drop Ship PO cannot be Voided" — void the parent SO > The PO was auto-created to fulfill a drop-ship sales order line, so it is owned by that sales order and cannot be voided on its own. ## What triggers it You opened a purchase order that Fishbowl generated from a drop-ship sales order line and tried to void it. Drop-ship POs are created automatically when a sales order line is marked for drop ship, so the vendor ships directly to your customer instead of into your warehouse. That PO is bound to the sales order line that spawned it. The dialog names the fix directly: the action has to happen on the parent sales order, not here. ## Why Fishbowl blocks it A drop-ship PO and its sales order line are the two halves of one committed transaction. The PO carries the cost and the payable you owe the vendor; the sales order line carries the revenue and the invoice to your customer. Voiding just the PO would strip out the supply side while the customer order still expects it to be filled, leaving the sales order in an inconsistent fulfillment state and separating a vendor bill from the customer sale it belongs to. Fishbowl refuses the void so the paired records stay in agreement. ## What to do Open the parent sales order. If you are cancelling the whole thing, void the sales order and let Fishbowl handle the attached drop-ship PO. If you are only backing out that item, Close Short the drop-ship line, which releases the PO as part of the same action. Work from the sales order down, never from the PO up. ## If it is already reconciled or exported If the drop-ship side has already been received against, or the vendor bill or customer invoice has posted to QuickBooks or Xero, this is no longer a clean undo. A cost layer and a payable already exist, and voiding after the fact will not walk them back on its own. Reverse or credit the posted documents on both the purchase and sales sides so the vendor bill and the customer invoice net out, then reconcile the accounting system to match Fishbowl. When cost is involved, correct it, do not just delete it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Error connecting to Xero" > Your Fishbowl-to-Xero integration has disconnected and needs to be reconnected. ## What it means Fishbowl can't reach your Xero account at this moment. The integration connection is broken, which usually happens when the credentials expired, your Xero permissions were changed, or access was revoked. Sometimes a temporary network issue or Xero service interruption can cause this too. ## What to check - Verify your Xero account is still active and you can log in directly - Confirm whether your Xero login credentials or security settings have changed - Check whether Fishbowl still has permission to access and sync with Xero - Verify your internet connection and that Xero's service is accessible --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Invalid payment link format" > The payment link text you tried to update doesn't match Fishbowl's expected format. ## What it means Fishbowl rejected the payment link text because it doesn't match the proper format. This usually happens when you paste or type a link that is incomplete, contains typos, has extra spaces or special characters, or comes from an inactive payment processor connection. ## What to check - **The link text itself**: Verify it's complete, correctly copied, and free of typos or extra spaces at the start/end. - **Link source**: Did you copy it directly from your payment processor, or was it manually created/edited? - **Payment processor connection**: Check that your payment processor is still active and connected in Fishbowl. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Item already fulfilled" — cannot reapply status > The purchase order line item is already in Fulfilled status. ## What triggers it You set a purchase order line to Fulfilled, but it is already in Fulfilled status. The action is redundant, so Fishbowl stops it. ## Why Fishbowl blocks it Fulfilled marks a line as complete for its purpose on the order. Re-applying the same status has no effect and would only muddy the order's history, so Fishbowl reports that it's already done rather than logging a meaningless change. ## What to do If the line is supposed to be fulfilled, dismiss the dialog; nothing is wrong. If it was fulfilled by mistake, reversing a fulfilled line depends on the order's state and your permissions, and it isn't always possible. Confirm the line's current status on the PO, and if you need to undo it, check with your Fishbowl administrator rather than forcing the change. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Item already voided" > A Purchase Order or line item you're attempting to void is already marked as voided. ## What it means The item you're trying to void—whether the entire Purchase Order or a specific line—is already marked as voided in Fishbowl. The system prevents re-voiding items that have already been voided as a safeguard against accidental duplicate actions. Once an item is voided, Fishbowl protects it from further void actions. ## What to check - Verify the PO's current status: is the entire Purchase Order voided, or only a specific line item? - If you intended to act on a different PO or line, confirm you're viewing the correct record. - If the voided PO requires changes, that typically requires a workflow different from the void function. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Kit is partially fulfilled" > A kit item on the sales order has some components fulfilled and others still pending. ## What it means A kit is a parent item composed of multiple component items. "Partially fulfilled" means some components have been fulfilled (shipped, allocated, or issued) while others are still pending. This usually happens when orders are fulfilled piecemeal or when component stock availability varies. ## What to check - Look at the kit's component fulfillment status on the sales order line—see which parts show as fulfilled and which are pending - Verify whether you're attempting an action that requires full fulfillment status (closing the order, generating packing documents, or marking complete) - Confirm whether a partial shipment to the customer is intended or if components should be fulfilled together --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Labor/overhead parts cannot be added to PO" > You're trying to add a labor or overhead part to a purchase order, which Fishbowl doesn't allow. ## What it means Purchase orders are designed for acquiring materials from external vendors. Labor and Overhead parts represent internal cost tracking rather than purchasable inventory, so Fishbowl prevents adding them to purchase orders. This validation rule ensures the document type stays aligned with its intended business use. ## What to check - Is the part you're trying to add classified as Labor or Overhead? Check the part's classification in its record. - Should you be using a Material or Inventory part instead? - Is a purchase order the right document for your workflow? If you need to track labor or overhead, consider whether a different process fits better. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Manufacture Order must be saved before calculating cost" > You tried to calculate a cost on an unsaved Manufacture Order. ## What it means You clicked to calculate cost, but Fishbowl won't perform the calculation until the current Manufacture Order is saved. This typically happens when you've made changes to the MO (like adding line items, adjusting quantities, or updating costs) but haven't saved yet. ## What to check - Save the Manufacture Order first (usually via Save button or keyboard shortcut) - Verify there are unsaved changes visible in the form that need persisting - After saving, retry the cost calculation; the error should clear --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Minimum quantity cannot be converted to [unit]" > A part's minimum quantity cannot be converted to the specified unit of measure. ## What it means This error occurs when you're changing a part's unit of measure or attempting to convert its minimum quantity to a different unit, but the minimum quantity value doesn't translate validly to the target unit. ## What to check - The part's current minimum quantity value and which unit it's set in - The target unit of measure and how it converts to the current unit (conversion factor) - The math: does the minimum quantity divide evenly by the conversion factor? - Whether the target unit allows fractional quantities or requires whole numbers only --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Must receive outsourced item before reconcile" > An outsourced item cannot be reconciled until it's received back into inventory. ## What it means You're attempting to reconcile an item marked as outsourced in Fishbowl—one that's been sent to a vendor for manufacturing or work. Reconciliation (whether for costing, inventory adjustments, or status changes) typically requires the item to exist in your received inventory. The message means the item must be received back from the outsourcer before reconciliation can proceed. ## What to check - Verify the item is actually marked as outsourced. Check its item record for an outsource status or flag. - Confirm the outsourced work is complete and the item has been received back into inventory. If it's still with the vendor or in-transit, wait until receipt is recorded. - Verify you're performing the right reconciliation step for that item's current lifecycle stage. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Must unissue the Manufacture Order first" > The Manufacture Order is issued and must be reverted to draft before you can proceed. ## What it means The Manufacture Order is in an issued state, and the action you attempted requires it to be un-issued first. Fishbowl typically locks issued MOs as a safety control to prevent accidental changes. You cannot modify them until they're reverted to draft status. ## What to check - Verify the MO status shows "Issued" - Look in the MO detail screen for a status control or button that allows reverting to draft - Confirm the MO hasn't been locked by a downstream process (such as receipt or posting) that prevents reversal - If you're unsure how to proceed, check with your Fishbowl administrator --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Not a fulfillable" item type > The item type on this sales order line doesn't support fulfillment in this context. ## What it means You're attempting to fulfill a sales order line, but the item type doesn't match what this fulfillment operation allows. The message indicates only Service, Miscellaneous, or Discount items can be fulfilled here — which suggests your workflow has specific item type restrictions for fulfillment. ## What to check - **Item Type on the line**: Verify what item type is set on the sales order line you're trying to fulfill. Is it one of the types Fishbowl allows here? - **Order type and workflow**: Check whether you're using the correct order type (standard, drop-ship, etc.) or fulfillment screen for this item. Different order types may have different fulfillment rules. - **Item type usage**: Confirm the item itself is classified correctly for your fulfillment workflow. Some item types may be restricted to specific operations. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Not all items for this WO have been picked" when finishing a work order > This Step Invalid error in the Finish Work Order wizard usually isn't about picking at all — it appears when the work order is short-picked and the user's group lacks the "Consume When Short" access right. The dialog appears as **Step Invalid** at the Raw Material Consumption step of the Finish Work Order wizard, and the wording points you at picking: pick everything, or change the materials. Both of those work. But if the short pick was intentional — the operator is finishing what could actually be built — the missing piece is a permission, not a pick. ## What triggers it Two conditions together: 1. The work order has **short-picked items** — at least one raw material's picked quantity is below what the work order requires. 2. The user's group does **not** have the Manufacture Order access right **"Consume When Short."** If both are true, Fishbowl blocks the step with this exact message. Users in groups that have the right don't see the error at all for the same work order — which is why one operator can finish a short WO while another can't, on the same data. That asymmetry is the usual source of confusion. ## The fix If short-finishing is acceptable in your operation: in **Setup → User Groups**, edit the operator's group, and under the **Manufacture Order** module's access rights enable **Consume When Short**. Have the user log out and back in so the change takes effect, then re-run Finish Work Order. If short-finishing is *not* acceptable, the error is doing its job — complete the picks, or change the work order's materials to match what's available. You don't have to take our word for the permission's effect: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Manufacture_Order:~:text=Consume%20When%20Short) defines Consume When Short under Manufacture Order as allowing a user to finish a work order even when some of the raw goods are short. What the official page doesn't say is that this dialog is how the missing right presents itself — that's the part this article fills in. ## What to check first - Confirm the work order is actually short: open Work Order Picking and compare picked vs. required per item. A single short line — a label, a bag — is enough. - Confirm which group the user belongs to and whether "Consume When Short" is enabled for it. Test with a user from a group that has the right to isolate the cause. ## Worth knowing Consuming short means the finished goods consume less raw material than the bill of materials calls for, which flows into the work order's costing. Verify the resulting finished-good cost matches your expectation before making short-finishing routine — it's a policy decision, not just a permission. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Only orders with entered or issued status may be imported" > Import operation failed because orders aren't in the required early-stage status. ## What it means The import operation requires orders to be in a specific early stage—either newly entered or formally issued. Orders that have moved past these statuses (received, shipped, completed, etc.) cannot be re-imported. This protects data integrity by preventing duplicate processing of orders already in motion. ## What to check - Verify the status of the orders you're trying to import; Fishbowl usually shows this in the order list view or detail screen. - Check whether these orders have already been processed beyond the early stages. If so, they likely need a different import approach. - Filter or sort your order list by status to isolate only those in 'entered' or 'issued' state before attempting the import again. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Part Standard Cost must not be negative" > You attempted to save a part with a negative standard cost, which Fishbowl does not allow. ## What it means Standard cost is the baseline unit cost used for inventory valuation and accounting. Fishbowl prevents negative standard costs because they represent no valid business scenario. Costs and prices should always be zero or positive. This error appears when you attempt to save a part with a negative value in the standard cost field. ## What to check - Is the standard cost field showing a negative number? Change it to zero or a positive value. - If you're importing or batch-updating parts, check whether your source file contains negative cost values. - For cost credits or adjustments, check Fishbowl's adjustment features instead of entering negative costs directly. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Payment Term empty in QuickBooks sync" > Fishbowl attempted to sync a blank Payment Term to QuickBooks, which requires a value. ## What it means When syncing between Fishbowl and QuickBooks, Fishbowl encountered a Payment Term field with no value (empty or blank). QuickBooks requires Payment Terms to be specified when creating or updating vendor, customer, and order records. The sync cannot proceed until the field contains a value. ## What to check - Locate the vendor, customer, or order in Fishbowl that triggered the sync. Verify its Payment Term field is populated, not blank. - Confirm that the Payment Term value exists in both Fishbowl and QuickBooks. - If this error occurs across multiple records, check the sync mapping configuration to ensure it points to the correct field. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Pick Status must NOT be Committed or Finished" > You're trying to modify or act on a pick that's already locked in a completed state. ## What it means Fishbowl is blocking your action because the pick is in Committed or Finished status — locked states where picks cannot be modified. Committed picks are typically in progress; Finished picks are complete. You're trying to perform an action that requires the pick to be in an earlier, editable state. ## What to check - Look at the pick's current status in Fishbowl — is it showing as Committed or Finished? - Identify the action you were attempting when this error appeared. - If you need to make changes, you'll typically need to revert or undo the commit/finish status to return it to an editable state. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Picks do not have the same Status" > You're trying to perform an action on multiple picks that requires them to be in the same status. ## What it means Each pick in Fishbowl has a status (pending, completed, cancelled, etc.). This warning means the picks you're trying to act on don't match—they're in mixed states. Most commonly this appears when you're trying to close, receive, or batch-update picks across a picking list. ## What to check - Open the picking list and review each pick's current status. Look for which ones are out of sync. - Decide whether you need to complete, cancel, or skip individual picks before retrying the batch action. - Confirm you meant to include all these picks in this operation, or whether some should be excluded first. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "PO can not be closed" — wrong status > The PO is in a status that does not allow closing or voiding. ## What triggers it When you attempt to close or void a PO, Fishbowl checks its current status. The error message gives you two pieces of information: the PO number (first placeholder) and the current status (second placeholder, e.g., Fulfilled, Void, Closed Short, Pending Approval, or Bid Request). If the status is one of these locked or final states, Fishbowl stops the action. ## Why Fishbowl blocks it A PO has a defined lifecycle with specific state transitions. Once it reaches Fulfilled, Closed Short, Void, or Pending Approval, closing it a second time would create data conflicts and confusion in your inventory and accounting records. Fishbowl enforces this rule to maintain a clean audit trail and prevent double-processing or loss of transaction history. ## What to do Check the status shown in the error message. If it says Closed Short or Void, the PO is already in a closed state—no further action is needed. If it says Pending Approval or Bid Request, the PO may need to be reset to an Open or different state before you can close it. Contact your Fishbowl administrator to confirm what status transitions are allowed in your workflow. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "PO cannot be deleted" > A purchase order in a protected status cannot be removed from Fishbowl. ## What it means You're trying to delete a purchase order, but Fishbowl is blocking the deletion because it's in a protected status. Once a PO moves into certain statuses—usually after receipt, invoice matching, or closure—it can't be deleted to maintain audit and financial integrity. ## What to check - Look at the PO's current status in its detail view - Check whether goods have been received against this PO - Verify if the PO has been matched to an invoice or payment - Consider whether you need to void or archive the PO instead of deleting it --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "PO has already been deleted" > The purchase order you're trying to access no longer exists. ## What it means The PO no longer exists in Fishbowl. Someone deleted it—possibly you in another session, or another user—since you opened it or last viewed it. You can't edit, view, or interact with a deleted PO. ## What to check - Search for the PO number in the Purchase Order list to confirm it's gone - Check whether another user may have deleted it intentionally - Verify with your team if the deletion was planned, or whether it was accidental - If the PO should still exist, contact your Fishbowl administrator about backup recovery options --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "PO may already exist for this sales order" > The system warns that a purchase order may already be linked to this sales order. ## What it means When creating a purchase order from a sales order, Fishbowl tracks whether a PO has already been linked to that SO. This warning appears if the system detects an existing or potential PO relationship, asking you to confirm before proceeding. It's a safeguard to prevent unintentional duplicate POs. ## What to check - Look up the sales order to see whether a PO is already linked to it - Confirm whether you intended to create a new PO (for example, splitting the order across multiple vendors) or if this is an accidental duplicate attempt - If you're certain no PO exists for this SO, you can safely proceed; otherwise cancel and review the existing PO --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "PO must be saved before Unissuing" > You need to save the Purchase Order before you can unissue it. ## What it means You attempted to unissue a PO while it still has unsaved edits. Fishbowl blocks status changes on dirty records—the PO must be persisted to the database first. ## What to check - Look for an unsaved-change indicator (often a dot, asterisk, or "modified" label in the window). - Click Save explicitly, then retry the Unissue action. - If you don't see changes, check whether a previous action (like editing a line item or field) failed to save. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "PO status changed — reload needed" > Another user or process changed this PO's status while you had it open. ## What it means Another user or process has changed the status of this Purchase Order while you had it open. Fishbowl detected that your current view is stale and the PO's status in the system has changed. This typically happens when multiple people edit the same PO simultaneously in shared workflows. ## What to check - Reload the PO to see the current status in the system. - Verify whether another user or automated process was working with this PO at the same time. - After reloading, check whether the new status allows you to continue editing or taking other actions as planned. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Product cannot be its own Kit child" > You tried to add a product to its own Kit as a child component, which creates a circular reference. ## What it means You attempted to add a product to its own Kit structure as a child component. A Kit (assembly) can only contain different products as child components—it cannot include itself, which would create a logical loop. ## What to check - Verify the child product you're adding is different from the Kit's own product ID or name - If copying product configurations, ensure you selected a different product for the child, not the parent - Check whether you meant to add a different product or edit a different Kit instead --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Purchase item must have positive cost" > A purchase item's total cost must be greater than zero. ## What it means When you set up or edit a purchase item type in Fishbowl, the total cost field must be a positive number (greater than zero). This error appears when the cost is zero, negative, or blank. Fishbowl requires positive costs because purchase items without them would break costing calculations and inventory accounting. ## What to check - Verify the total cost field shows a positive number — not zero, not negative. - If the field is empty or shows zero, enter a valid positive cost amount. - Double-check the value you entered — confirm it's the correct cost before saving. - Make sure you're setting up a purchase item type (not a different item classification that might have different rules). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Purchase order cannot be issued in this status" > A purchase order can only be issued when its status is bid request or pending approval. ## What it means Purchase orders follow a workflow with multiple statuses. The system restricts the issuance action to only two statuses: bid request and pending approval. If your PO has moved to a different status—such as approved, sent, received, or completed—Fishbowl won't let you issue it. ## What to check - Review the current status on the purchase order record. - Confirm whether the status shows as 'bid request' or 'pending approval'. - If it shows a different status, the PO may have already progressed past the point where issuance is allowed. Check whether the PO should remain in one of those two statuses or whether you need to take a different action instead. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Purchase Order has been voided" > A PO you're trying to work with is in voided status and can't be used for this operation. ## What it means A purchase order in voided status has been cancelled but kept in the system. You're likely trying to receive, bill, or edit this PO, but Fishbowl won't allow operations on voided orders. ## What to check - Was the PO voided on purpose? Ask your team or check the PO audit trail. - If it was an error, the PO needs to be unvoided to use it again. - If the voiding was correct, you may need a different active PO for this transaction instead. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Purchase Order Total exceeds approval amount" > Your PO total has grown beyond the originally approved amount, and Fishbowl won't save it without re-approval. ## What it means Your PO total has increased beyond the original approval limit. This usually happens when you change the unit cost or quantity of items on an already-issued purchase order. Fishbowl prevents saving this change automatically because it exceeds the approved spend. ## What to check - Compare your current line-item costs to what they were when the PO was originally approved. - Check the total approved amount shown in the PO header. - Verify which specific line items have changed price or quantity. - Check whether the PO has been issued or is still in draft status—issued orders typically require re-approval if costs increase significantly. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "QBO Integration wizard refresh needed" > Your QuickBooks Online connection needs re-authentication. ## What it means Fishbowl's live sync with QuickBooks Online has stopped authenticating. This typically happens when the OAuth token expires (QBO revokes access after extended inactivity, often 180+ days) or when QBO credentials have changed externally. Any Fishbowl feature that reads or writes QBO data will show this message until you refresh the connection. ## What to check - Check the Accounting module for any connection status display or existing error messages about the QBO link - Confirm whether your QBO login credentials or account settings have changed recently - Verify whether syncs have been running regularly—long gaps between syncs increase token expiration risk --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Quantity cannot be converted to each" > Fishbowl can't convert your quantity to the unit 'each' during an inventory operation. ## What it means You're trying to enter or move inventory in a unit (like "box" or "case") but Fishbowl needs to convert it to individual units ("each"). The conversion failed, usually because the unit-of-measure relationship isn't configured or "each" isn't set up as a valid unit for this item. ## What to check - Verify this item has "each" enabled as one of its units of measure - Check the unit-of-measure conversion settings for the unit you're entering (e.g., if entering "boxes," check that boxes→each conversion exists) - Confirm your quantity amount can convert cleanly to "each" (e.g., 2 boxes × 12 each = 24, not a partial unit) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Quantity sum exceeds what was ordered" > A quantity transaction is attempting to exceed the original purchase order amount. ## What it means You're attempting an action (receiving goods, adding line items, or adjusting quantities) that would make the sum exceed the original order quantity. Fishbowl enforces this limit to maintain purchase accuracy. ## What to check - Verify the quantity you're entering against the original PO order amount. - If receiving partial shipments, check the total received so far plus this receipt against the original order quantity. - Confirm the original PO line quantity is correct. - Determine whether you meant to receive a partial quantity, or whether the original order quantity needs adjustment (which typically requires a PO amendment, not a receiving action). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "QuickBooks can only handle 5 levels of Classes" > QuickBooks rejects class hierarchies deeper than 5 nesting levels during sync. ## What it means QuickBooks has a hard limit on how deeply classes can nest. You have a class structure in Fishbowl where a class has a child, which has a child, and so on—more than 5 levels deep. When Fishbowl tried to sync this to QuickBooks, QB rejected it because of the depth limit. ## What to check - Review your Fishbowl class structure and count the nesting levels (Parent → Child → Grandchild, etc.). If any branch exceeds 5, consolidate by moving some classes to sibling level or merging them. - Confirm which account type or class group triggered the error—only those deeper than 5 need flattening. - This limit applies to QuickBooks only; Fishbowl itself has no such restriction. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "QuickBooks multi-currency not enabled" > Your QuickBooks file tracks multiple currencies, but Fishbowl's multi-currency setting is disabled. ## What it means QuickBooks is tracking transactions in multiple currencies, but Fishbowl's multi-currency feature is currently disabled. Both systems need to have matching currency settings for accounting data to sync correctly during integration. ## What to check - Verify that QuickBooks actually has multiple currencies enabled in its settings. If you're not sure, review your QB currency configuration. - In Fishbowl, locate the multi-currency or currency tracking setting, typically found in accounting or integration configuration options. - Decide whether your business actually needs multiple currencies. If you only operate in a single currency, consider disabling multi-currency in QuickBooks instead. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Receipts and/or shipments must be fulfilled or entered" > You can't close a Purchase Order short until receipts are fulfilled or shipments are entered. ## What it means When closing a Purchase Order short, you're accepting partial delivery and closing the rest of the PO. Fishbowl requires that any receipts already on the PO are marked fulfilled and any shipments are marked entered. This locks in what actually arrived before you close the remaining balance. ## What to check - Does this PO have receipts or shipments recorded? Check the PO's receiving/shipment section. - Are they fulfilled (for receipts) or entered (for shipments)? Look at their status—they can't be in draft or incomplete state. - If they're still in progress, complete that receiving or shipment step first, then retry closing short. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Reintegration Required" — Xero connection lost > Your Fishbowl connection to Xero has expired or been revoked and needs to be reconnected. ## What it means Fishbowl's stored permission to access Xero is no longer valid. This typically happens when your Xero API authorization expires (usually after a set period), you revoke Fishbowl's access in Xero settings, or your Xero password or authentication method changes. ## What to check - Whether you recently changed your Xero password or enabled two-factor authentication. - Whether Fishbowl is still listed in your Xero Connected Apps settings (if revoked, reauthorizing will restore it). - Whether your Xero subscription is current and the account is accessible. - Navigate to the Configure tab and follow the prompt to reconnect Xero. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Sales Order already issued" > Sales Order is in a state where the requested action is no longer allowed. ## What it means Once a Sales Order is issued in Fishbowl, it moves to a protected state. Most changes to the order itself are no longer allowed — the system treats it as committed. This error appears when you attempt an operation that requires the SO to still be in draft or open status. ## What to check - Whether the Sales Order status is currently "Issued" (or a similar locked state) - What action you're attempting: editing line items, quantities, prices, or trying to change the status - Whether you need to revert the SO to an earlier state (if permitted by your workflow) before making changes --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Sales Order is in Expired status" > A Sales Order has reached its expiration point and Fishbowl is asking whether to reactivate it. ## What it means Sales Orders expire based on age or an explicit expiration date set on the SO. Once expired, Fishbowl blocks further activity on that order. The dialog is asking if you want to reactivate it—that is, change its status back to open or active so you can proceed. ## What to check - Confirm the Sales Order's status field currently shows "Expired" - Review the SO's creation date and when it expired (typically visible on the detail view) - Check whether an explicit expiration date exists on the SO and whether it has passed - Verify whether this SO should genuinely be active again before choosing to reopen it --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Sales tax name missing" > Fishbowl tried to sync a sales tax to QuickBooks but the tax name field is blank. ## What it means Fishbowl attempted to create or update a sales tax in QuickBooks, but discovered the tax name is blank. QuickBooks requires all sales taxes to have a name, so it rejected the sync. ## What to check - In Fishbowl, locate the sales tax record that triggered this error (check your sales tax setup or list area) - Verify the name field contains a value—it should not be empty - If blank, enter a descriptive name (for example, "State Sales Tax" or "Local Sales Tax") - Retry the sync to QuickBooks --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Sales tax tracking mismatch with QuickBooks" > Your accounting systems have mismatched sales tax configuration. ## What it means Fishbowl is configured to track sales tax on transactions and items, but your QuickBooks company file doesn't have sales tax enabled. This mismatch in configuration prevents the systems from synchronizing properly, because they can't reliably exchange tax-related data when their tax settings don't align. ## What to check - Verify whether sales tax is enabled in Fishbowl — check your item tax settings and company-level tax preferences - Verify whether sales tax is enabled in QuickBooks — check your company file settings and general tax configuration - Make both settings consistent: enable sales tax in both systems if you charge customers tax, or disable it in both if you don't --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Set last cost to zero?" > Confirmation warning when attempting to set a part's last cost to zero. ## What it means You're setting the last cost entry for this part to zero. Fishbowl flags this as unusual because parts typically carry a cost value. This action may impact inventory valuation, cost tracking, or any pricing tied to part cost. ## What to check - Verify you're editing the correct part and that zero is the intended cost - Confirm this part should actually have zero cost (e.g., free material, rework, or non-inventory item) - If this is an active part, check how your inventory costing method (weighted average, FIFO) will handle zero cost - If this was accidental, cancel the dialog and verify the cost value you meant to enter --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Set this item to fulfilled?" > Confirmation when marking a purchase order line item as fulfilled (received). ## What it means You're marking a single line item on a purchase order as fulfilled or received. Fishbowl requires confirmation because this action updates inventory, order status, and accounting records. ## What to check - The quantity received matches the PO line quantity (or verify any partial receipt is intentional) - The item has actually arrived before marking received - Whether completing this item will auto-close the entire PO or leave other items open - If there's a reason Fishbowl is asking—for example, a timing or quantity mismatch that usually doesn't occur at this step --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Ship Method has empty name" > A Ship Method in Fishbowl tried to sync to QuickBooks with a blank name. ## What it means Fishbowl attempted to push a Ship Method to QuickBooks during an accounting sync, but the Ship Method's name field was empty. QuickBooks can't create a record without a name, so the sync failed. ## What to check - In Fishbowl, locate the Ship Method with the blank name that triggered this error. - Assign it a proper name, then retry the sync. - Alternatively, if you don't use this Ship Method, consider disabling or deleting it to prevent future sync attempts. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "SO Item has a Fulfilled Pick. Cannot delete." > You're trying to delete a sales order item that has a pick already marked as fulfilled. ## What it means When a sales order item is picked in Fishbowl, the system links the SO item to the pick operation. Once that pick is marked fulfilled (completed), the SO item is locked against deletion to maintain order history and fulfillment records. This usually occurs when you try to delete an item whose associated pick has already been processed. ## What to check - Verify the SO item has an active pick associated with it and check the pick's current status. - Confirm whether that pick shows fulfilled, completed, or any status beyond pending. - If you need to remove the item, check whether your workflow allows you to void or cancel the SO item instead, or whether the pick status can be moved back to pending first. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Status of this SO has changed" > Another user or process changed this Sales Order's status while you had it open. ## What it means Someone else modified this Sales Order's status after you opened it—either another user or an automated workflow. Your current view is now stale and out of sync with Fishbowl's stored data. ## What to check - Close and reopen the Sales Order to see the current status - Verify you haven't made unsaved changes (reload discards them) - Check whether another team member made the change intentionally or if a workflow automation triggered it - If multiple people work on this SO, confirm the new status is expected --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Tax rate already selected for order" > You're trying to apply a tax rate that's already set as the order's main tax rate. ## What it means This message appears when you try to select a tax rate that's already applied as the order's main (overall) tax rate. Most commonly, you're attempting to add a tax rate when that exact rate is already set for the order. ## What to check - Identify the order's current overall tax rate (usually visible on the main order form) - Determine whether the tax rate you're trying to apply is the same as the overall rate - If they match, that's the issue—you can't apply the same rate twice - If you need to use a different tax rate, select another one instead --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "The quantity cannot be negative" > A quantity field is set to a negative value, which Fishbowl doesn't allow in inventory operations. ## What it means You tried to enter a quantity value less than zero, or an operation would result in negative inventory. Fishbowl blocks this because physical inventory quantities cannot go below zero. ## What to check - **The value you entered:** Is the quantity field showing a negative number? If so, change it to zero or positive. - **The operation amount:** If you're adjusting or transferring stock, verify the quantity doesn't exceed current on-hand stock. - **Whether the operation is reversing correctly:** If this is a return, receipt cancellation, or correction, check that the amounts match what actually happened. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "The unit cost must be a positive number" > You entered a zero or negative unit cost in a Receiving entry. ## What it means When receiving items into inventory, Fishbowl requires each item's unit cost to be a positive number greater than zero. This validation rule prevents data entry errors. Zero or negative values can create accounting inconsistencies or incorrect inventory valuations in your system, which is why Fishbowl blocks them. ## What to check - Verify the unit cost field contains a positive number (e.g., 10.50, not 0, -5, or blank) - Check the entry form to see which field triggered the error — it's usually a unit cost or similar price field - Confirm you didn't accidentally enter a negative number or leave the field empty - If this is a credit memo or price adjustment, check whether you need a different transaction type --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "This item has already been picked" > The system has already recorded receipt of this purchase order line item. ## What it means The item on this purchase order has already been picked, received, or marked as fulfilled. Fishbowl blocks duplicate receipt to avoid counting the same inventory twice. ## What to check - Review whether the item was received in a prior batch or receipt—check the PO line's receipt history - Confirm you're not attempting to receive the same item quantity twice - If partial receipt is needed, verify the line item's received quantity against what you expect - Check whether the item is already closed or completed on the purchase order --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "This item is already being built" > An item you're trying to use is already assigned to an active manufacturing or build order. ## What it means An item you're trying to use in a sales order is already assigned to an active manufacturing or build order. Fishbowl prevents the same item from being committed to multiple production orders at the same time. ## What to check - Search for any active production or build orders for this item in your manufacturing system - Verify the status of any existing build orders to see if one is still marked in-progress, active, or similar - Note what status is shown for the conflicting order—understanding its current state will clarify why the item is unavailable --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "This kit has already been fulfilled" > A kit product on your sales order has already been marked as fulfilled and cannot be fulfilled again. ## What it means A kit product on your sales order has already been fulfilled in a previous transaction. You cannot fulfill the same kit line a second time. This usually happens when the order was already shipped or completed and you are attempting to fulfill it again. ## What to check - Check your sales order status to see if it is marked as fulfilled, shipped, or closed - Look at the fulfillment or shipping history for this kit to verify when it was completed - Verify you are not attempting to fulfill the same line item twice - Confirm the kit quantity has not already been allocated to a shipment or prior fulfillment --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Transaction already posted" — can't delete a POS sale > Fishbowl won't delete the POS transaction because it has already been exported to your connected accounting system, and deleting it here would leave an orphaned record on that side. ## What triggers it You are trying to delete a POS transaction that has already been exported to your connected accounting system. The message may name the system that received it. Once a sale has been sent to QuickBooks or Xero, Fishbowl treats it as committed to your books and will not let you erase the Fishbowl side out from under it. ## Why Fishbowl blocks it Deleting the transaction here would only remove it in Fishbowl. The matching record on the accounting side stays put, because that record was posted in a separate system that Fishbowl does not reach back into. You would end up with revenue, tax, and a payment sitting in your general ledger with no corresponding Fishbowl sale, and with inventory that may have already been relieved for goods now tied to a sale that no longer exists in Fishbowl. That mismatch is exactly what breaks reconciliation, so Fishbowl refuses the delete instead of quietly creating it. ## What to do Reverse it, do not delete it. Issue a refund against the original transaction, or post a reversing entry that offsets it. This is an accounting correction, not a simple undo: you are leaving the original record in place and adding its mirror image so the two net to zero. Both Fishbowl and your accounting system then hold a complete, matching history, and any inventory that was relieved gets returned through the refund rather than stranded. ## If it is already reconciled or exported If the sale has already been reconciled or bank-matched on the accounting side, do not delete anything in either system to make them agree. Correct it with a refund or reversing entry dated appropriately, and let the reversal flow through the same export path the original used. That keeps the audit trail readable and keeps your inventory valuation and your ledger in step, which is the whole point of running Fishbowl and your accounting system as one reconciled pair. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Transaction already processed" > The transaction cannot be voided because it has been finalized; you must issue a refund instead. ## What it means You attempted to void a transaction that Fishbowl marks as "processed"—typically a sale that has been settled with a payment processor, closed out at end-of-day, or otherwise locked. Fishbowl prevents voiding of processed transactions because they've already affected the cash register, payment processor, and accounting records. Instead, it directs you to refund the transaction, which reverses the sale while preserving the audit trail. ## What to check - **Transaction status**: Verify the transaction's current status in Fishbowl. Processed or finalized transactions cannot be voided. - **Payment status**: Check whether payment has been settled or captured. Settled transactions typically require refunds rather than voids. - **Date or period**: If the transaction is from a previous business day or closed period, it may be locked against void operations. - **Refund alternative**: Look for a refund, reverse, or credit memo option instead of void in the Point of Sale module. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Transfer Order tasks must be voided first" > A Transfer Order cannot be voided until its linked shipments, pick tickets, and related tasks are voided first. ## What it means When you attempt to void or close a Transfer Order, Fishbowl requires that any associated shipments, pick tickets, and other tasks be voided first. This ensures that dependent documents don't remain active when the Transfer Order is closed. ## What to check - Verify whether the Transfer Order has any open shipments, pick tickets, or related tasks still linked to it. - These dependent documents must be voided before you can void the Transfer Order. - If it's not clear which documents are blocking, look in the Shipments or Pick Tickets screens for records linked to this Transfer Order. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Transit Location cannot be changed or edited" > A location marked as in-transit is locked and cannot be modified while an active shipment or transfer uses it. ## What it means A transit location represents inventory physically moving between locations. Once designated as in-transit, the location is locked to prevent edits that could create inconsistencies in the active movement. You cannot modify the location itself or its properties while it's in this state. ## What to check - Whether this location is part of an active shipment, transfer, or purchase order that hasn't been completed or received yet - Whether the related shipment or transfer record shows a status that prevents editing (check that transaction's details) - If the underlying transaction is marked complete, whether you need to finalize or close it first to release the location - Whether the location appears in your location list and what status it displays there --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Unable to activate currency in QuickBooks" > Fishbowl cannot sync a currency setting to your QuickBooks company file. ## What it means Fishbowl syncs currency settings with QuickBooks during accounting integration. When QB rejects the activation request, you see this error. It typically occurs when currency configuration doesn't match between the systems, or when the integration connection has a permission or credential issue. ## What to check - Verify the currency exists and is active in your QuickBooks company file - Check that your QB integration credentials are still valid (login, token, or API key if you use OAuth) - Confirm the QB user account running the sync has permission to modify currency settings - Verify the Fishbowl-to-QB connection status in your integration settings --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Unable to change the standard cost" — receive reconciled PO items first > The part has purchase-order items that were reconciled but not yet received, so its pending inventory cost is not settled and the standard cost cannot move until it is. ## What triggers it This part is on one or more purchase orders where the received items have been reconciled (the cost matched and confirmed against the vendor bill) but the goods have not been fully received into inventory yet. That leaves the incoming quantity in a settled-cost, not-yet-on-hand state. The message names the exact condition: there are items that are "Reconciled, but not Received," and Fishbowl will not let you touch the standard cost until every such item for this part is received. ## Why Fishbowl blocks it The standard cost is the value each unit carries when it enters inventory. When a receipt has been reconciled, its cost is already locked to what you agreed to pay. If you changed the standard cost while that receipt was still pending, the inventory would come in at a cost that disagrees with the amount already reconciled, creating a cost layer that no longer ties out. Fishbowl blocks the change so the pending inventory lands at the value it was reconciled at, keeping the on-hand valuation and the vendor-side numbers in agreement. ## What to do Receive the reconciled PO items for this part first. Open the purchase orders showing this part, complete the receipt for the items already reconciled, and let their cost settle into on-hand inventory. With nothing left in the reconciled-but-not-received gap, return to the part and change the standard cost. This is a sequencing correction, not an undo: you are letting the committed cost finish posting before you move the value going forward. ## If it is already reconciled or exported Reconciled cost has effectively been promised to your accounting system, so do not try to force the cost change by voiding or unreconciling the receipt to clear the block. That unwinds a cost already matched to a vendor bill and can leave your inventory valuation out of step with your general ledger. Receive the items, confirm the on-hand value posted as expected, and only then adjust the standard cost so both sides stay reconciled. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Unable to duplicate" — Override Hold access right > Access-rights issue: the user's group lacks the Override Hold permission needed to duplicate sales orders for customers with hold status. ## What triggers it When you attempt to duplicate a sales order for a customer with hold status, Fishbowl blocks the action. The hold status is a customer-level flag (typically set to prevent orders, shipments, or other actions until an issue is resolved—such as a payment hold or account freeze). Duplication is blocked because it would create a new order for a held account. ## The fix 1. Go to Setup > User Groups 2. Select your user group 3. Navigate to the Customer module 4. Enable the "Override Hold" permission 5. Log out and log back in to Fishbowl 6. Retry the duplicate operation This permission allows designated users to bypass hold restrictions. Note that this restriction may be intentional in your Fishbowl setup to prevent orders for customers with account holds; check with your administrator before enabling if unsure of the policy. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Customer:~:text=Override%20Hold) lists the Override Hold right under the Customer module. ## What to check first - Confirm your assigned user group (Setup > Users, select your username and note the group) - Ask a user with Override Hold permission to attempt the same duplication to confirm the permission is the root cause - Verify the customer has hold status by opening the customer record (Maintain > Customers, find the customer, check the Status field) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Unable to find QuickBooks Class" > Fishbowl couldn't locate a QuickBooks class during accounting sync. ## What it means Fishbowl needs to match items to QuickBooks classes during sync. When it can't find the specified class in QuickBooks, the sync stops. This typically happens when a class you configured for integration was deleted from QB, or the mapping references a class name that doesn't exist there. ## What to check - Verify the class exists in your QuickBooks account (check your QB class list) - Review what class name Fishbowl's integration settings are pointing to - If the class was deleted from QB, either recreate it or update Fishbowl's mapping to an existing class - Confirm the class name in Fishbowl matches exactly what's in QB (case or typos can cause mismatches) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Unable to get Xero organisation" > Fishbowl cannot retrieve your Xero organization data during accounting integration. ## What it means Fishbowl tried to retrieve your Xero organization data but couldn't connect. This usually means your Xero authentication is no longer valid, expired, or lacks the necessary permissions. ## What to check - **Xero connection status**: Confirm your Xero credentials are still active and haven't changed (password reset, account locked, etc.). - **API access**: If using API keys or tokens, verify they haven't expired or been revoked. - **Account permissions**: Ensure your Xero user has permission to access organization/company data. - **Network**: Check whether you can reach Xero from your location (no VPN/firewall blocks). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Unable to read accounting properties" > Fishbowl cannot access one or more accounting properties needed for the current operation. ## What it means This error appears when Fishbowl attempts to access accounting properties during an operation but can't retrieve all of them. Usually this indicates accounting configuration is incomplete or some GL accounts aren't available to the current session. ## What to check - Verify that your GL chart of accounts is complete and all accounts are marked as active - Confirm your accounting setup in the Accounting module has been fully configured with all required fields - Check whether any GL accounts were recently modified, marked inactive, or deleted - If accounting setup changes were made recently, confirm they were saved successfully and completed without interruption --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Unit cost must be at least 0." > You entered a negative unit cost, which inventory costing doesn't allow. ## What it means Fishbowl won't accept a negative unit cost. In inventory costing, this field records what you paid per unit. A negative number would imply a credit or rebate, which doesn't fit standard cost accounting and violates the validation rule. ## What to check - The value you entered: verify there's no minus sign. Re-enter it as a positive number or zero. - Decimal separator: confirm you used the correct separator (period vs. comma) for your locale. - Copy-pasted data: if you imported this value, check the source to confirm it's not accidentally negative. - Whether zero is acceptable: if the system requires a cost, enter a positive value; if cost is optional, check whether leaving it empty is allowed instead. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Unit of measure in use" > A unit of measure you're trying to delete is used elsewhere in your Fishbowl data. ## What it means A unit of measure (UOM) like "each," "case," or "box" that you're trying to delete is referenced elsewhere in your Fishbowl system—typically in product records, inventory transactions, conversion rules, or recipes. The system prevents deletion to avoid leaving orphaned or invalid data. ## What to check - Search or audit which products use this UOM as their base or alternate unit. - Check whether any inventory transactions (receipts, shipments, adjustments) reference this UOM. - Consider whether you can rename or deactivate it instead of deleting. - If you must remove it, first reassign any data using that UOM to a different one. - Verify that historical stock counts and purchase/sales orders don't reference it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Vendor currency locked after orders" > A vendor's currency cannot be changed once purchase orders have been created for that vendor. ## What it means Fishbowl blocks changes to a vendor's currency once purchase orders have been recorded for that vendor. This prevents the system from having orders in one currency while the vendor record shows a different one. ## What to check - The vendor has existing purchase orders (review the vendor's Purchase Order history or filter the PO list to this vendor). - You're attempting to edit the Currency field on the vendor record. - If you need a different currency for future orders, consider creating a new vendor record with the desired currency instead of modifying the existing vendor. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Vendor Minimum Order Amount" — access denied > User group lacks the Override Minimum Order Amount access right in the Vendor module. ## What triggers it This message appears when a user tries to issue a Purchase Order with a total below the vendor's configured minimum order amount, and the user's group lacks the "Override Minimum Order Amount" access right. Fishbowl uses this right to control who can bypass vendor minimums. ## The fix Open Setup > User Groups, select the user's group, navigate to the Vendor module section, and enable "Override Minimum Order Amount". Have the user log out completely and log back in. After that, when they try to issue a PO below the minimum, they'll receive a prompt to confirm the action instead of a hard block. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Vendor:~:text=Override%20Minimum%20Order%20Amount) lists the Override Minimum Order Amount right under the Vendor module. ## What to check first Verify the user's group assignment in Setup > User Groups to confirm they're in the right group. If the vendor's minimum is genuinely not needed, consider disabling it on the vendor card itself rather than granting overrides to multiple groups—this is cleaner control. Test by issuing a small PO with a user who already has the right; if it succeeds for them, you've confirmed it's an access issue. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Void PO confirmation" > A confirmation prompt appears when you attempt to void a purchase order. ## What it means This confirmation dialog appears when you attempt to void a purchase order. Voiding typically means canceling or deactivating a PO so it's no longer active. The %s in the message is replaced with your actual PO number. ## What to check - Confirm the PO number shown is the one you intended to void - Check whether the PO is in a status that allows voiding (typically draft or open status) - Ensure you want to proceed; voiding is usually reversible, but double-check your workflow --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Work Order is fulfilled and cannot be voided" — why > The work order has reached Fulfilled status, so finished goods have already been received into stock and raw materials consumed, and voiding would have to unwind committed inventory transactions. ## What triggers it You tried to void a work order that is in **Fulfilled** status. Fulfilled means the manufacture step already finished: the finished good was received into stock and the raw materials (or subassemblies) it required were pulled out of stock and consumed. The dialog appears the moment you attempt the void on a work order that has crossed into that state, not before. ## Why Fishbowl blocks it A void is meant to cancel something that has not happened yet. By the time a work order is fulfilled, it has already moved inventory in two directions at once: quantity added for the finished good, quantity removed for every component, each at a specific cost. Those movements set your on-hand counts and feed the cost layers behind your inventory valuation. Letting you void at this point would force Fishbowl to silently unwind all of that, which can leave negative on-hand, orphaned cost, or a valuation that no longer ties to any transaction. Blocking the void keeps the completed activity as a real, dated record rather than something that quietly disappears. ## What to do Correct it forward instead of erasing it. Reverse the finished-good receipt with an inventory adjustment that removes the quantity you should not have made, and add back the raw materials that were consumed, at the same costs. If the real issue is cost rather than quantity, handle it as a costing correction. This is a reconciliation, not a one-click undo: you are recording the offset explicitly so the audit trail shows both the original build and its reversal. ## If it is already reconciled or exported If the fulfillment already posted to QuickBooks or Xero, the void was never going to clean that up for you. Post a matching adjusting entry on the accounting side for the same period and amounts, and confirm the finished-good and component values agree between Fishbowl and your ledger. Reversing only in Fishbowl is the classic way inventory and books drift apart. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "Xero cannot import currencies" > Xero doesn't accept currency imports from Fishbowl; import them directly using Xero's CSV feature. ## What it means Fishbowl cannot push currency definitions to Xero because Xero's integration does not include that capability. Currency setup must be done directly in Xero, not through Fishbowl's sync. ## What to check - Whether the currencies you need are already configured in your Xero account - Whether Xero's plan includes the ability to bulk import currencies (this varies by plan type) - Xero's own help documentation for importing currencies directly into Xero --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "You do not have access" — missing Sales Order permission > User's group lacks the AccessOthers access right for Sales Orders, which is required to view other users' orders. ## What triggers it The user attempts to view a sales order that is not assigned to them—one owned by a different salesman. Their user group lacks the AccessOthers access right in the Sales Order module. Fishbowl enforces this permission check whenever the order is loaded or viewed. ## The fix 1. Open **Setup > User Groups** 2. Select the user's group 3. Navigate to the Sales Order module settings 4. Enable the **AccessOthers** access right 5. Save the changes and have the user log out and back in for the change to take effect If the restriction is intentional—designed to limit certain users to viewing only their own orders—leave the right disabled as a control. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Sales_Order) lists the AccessOthers right under the Sales Order module. ## What to check first - Confirm which user group the affected user belongs to (Setup > Users) - Test viewing the same sales order with a user who has AccessOthers enabled to verify this is the issue - Verify whether the restriction is intentional; confirm with management or the administrator before enabling the right --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "You must enter a unit cost amount" > A purchase order line is missing the unit cost (price per unit). ## What it means Each line item requires a unit cost before the PO can be saved. This is a core validation: Fishbowl won't let you create an order without knowing what you're paying per unit. ## What to check - Identify which line item triggered the error (usually the last one you added or edited). - Verify the vendor quote or price agreement for the correct unit cost. - Enter a numerical value in the unit cost field for that line item. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: "You need access rights" — Accounting Options > User's group lacks the Options access right in the Accounting module. ## What triggers it When a user tries to open or modify Accounting Options (typically by clicking the Options button within the Accounting module), this error dialog appears if their assigned group doesn't have the Options access right enabled. ## The fix 1. Go to Setup > User Groups 2. Select the user's group 3. Navigate to the Accounting section 4. Enable the "Options" access right 5. Save changes; the user must log out and log back in to see the effect This right is sometimes intentionally restricted to prevent non-supervisory staff from changing core settings. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Accounting_Integration) lists the Options right under the Accounting Integration module. ## What to check first - Confirm the user's assigned group in Setup > User Groups - Test with a different user who has Options enabled—if they can access it, the permission is the issue - Note: Other modules (like Product) use the same "Options" right, so you may need to enable it in multiple places --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Abbreviation already in use > An item abbreviation is not unique in the system. ## What it means Abbreviations in Fishbowl (such as product codes or location codes) must be unique. You're trying to create or import an item with an abbreviation that's already assigned elsewhere in the system. ## What to check - Search Fishbowl for the abbreviation to find which existing item already has it - If you're importing data, verify the import file for duplicate abbreviations - Choose a different abbreviation for the new item, or confirm whether you should be modifying an existing item instead --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Accounting module connection failed > Fishbowl cannot sync with your accounting system due to a connection issue. ## What it means Fishbowl tried to sync data with your QB or Xero account and the connection failed. Transactions and data entered in Fishbowl are not being sent to your accounting system, creating a sync gap until the connection is restored. ## What to check - Can you manually log into QB/Xero from your browser? If not, the account may be down or inaccessible. - Check whether your integration credentials (login, API key, or access token) have expired or been revoked. - Confirm your network allows outbound connections to your accounting system. - Review the integration settings in Fishbowl to verify they match your current QB/Xero setup. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: can't close or void SO with linked shipments and work orders > You're attempting to close or void a sales order, but related documents must be handled first. ## What it means Fishbowl prevents closing or voiding a sales order when it has active dependent documents. Shipments, picks, and work orders need to be voided; manufacture orders need to be unlinked. This protects against orphaning fulfillment or production records. ## What to check - Look for any shipments created from this SO that aren't voided. - Check if there are unfulfilled picks associated with this SO. - Verify whether any active work orders reference this sales order. - Check if manufacture orders are still linked to this SO: these typically need unlinking, not voiding. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot add inventory with negative cost > Inventory costs must be zero or positive; you've entered or calculated a negative value. ## What it means You've tried to add or receive inventory with a negative cost value. Fishbowl requires inventory costs to be zero or positive; negative values aren't permitted in this operation. This usually means you entered a minus sign in a cost field, or a calculated cost came out negative. ## What to check - The cost value you entered: look for an accidental minus sign or negative number - Whether the cost is being auto-calculated: if so, verify that source values are positive - Whether you intended a cost adjustment instead of simple inventory addition --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot cancel—receipt item received or reconciled > A receipt or delivery document linked to this sales order has been completed in the system, blocking cancellation. ## What it means A receipt or delivery document linked to this sales order has already been received and registered in the system. Fishbowl marks items at these completion states as final and prevents cancellation to maintain order integrity and audit control. ## What to check - Locate the receipt documents linked to this sales order (typically shown in a related items section) - Check the receipt item status; if it shows Received or Reconciled, that's why cancellation is blocked - If you need to cancel this order, consult your system administrator about the appropriate steps to reverse the receipt first, if your workflow permits it --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot change customer currency (orders exist) > Once sales orders are created for a customer, their currency setting is locked and cannot be changed. ## What it means Once you've created sales orders for a customer, Fishbowl locks their currency to prevent data integrity issues. If orders exist in one currency and the customer record switches to another, the transaction amounts and aging summaries would no longer match the underlying order data. ## What to check - Verify the customer has existing sales orders by checking their order history - Confirm what currency those orders were created in - If you need future orders in a different currency, consider whether a separate customer record would better serve your needs --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot change part average cost > The system won't allow editing a part's average cost in its current state. ## What it means Fishbowl locks average costs automatically once transactions involving a part are posted or completed. The system calculates and maintains this value based on actual transaction history. You're trying to manually edit an average cost in a state where the system won't allow it. ## What to check - Is the part involved in any posted or completed transactions (purchases, receipts, or inventory adjustments)? - Verify whether the relevant accounting period or fiscal window is closed or locked. - Check whether you should be recalculating average cost from actual transactions rather than editing it directly. - Confirm the part status—completed or archived parts typically have locked costs. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot configure historical orders > You're trying to modify custom settings on an order Fishbowl has marked as historical or completed. ## What it means You attempted to configure custom settings on a Sales Order that Fishbowl has classified as historical—usually because the order is completed, shipped, or otherwise archived. Fishbowl protects historical orders from modification to maintain audit integrity and prevent accidental changes to past transactions. ## What to check - **Order status**: Verify whether this order is marked complete, fulfilled, shipped, or archived. If it is, you may not be able to customize it. - **Timing**: Typically you configure custom settings on active or draft orders before they're finalized. - **New vs. past**: Check whether you meant to configure a current order instead of a historical one, or whether this configuration should have been done earlier in the order's lifecycle. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot create location for inactive group > You tried to add a location to a location group that's marked inactive. ## What it means You attempted to create a new location and assign it to a location group marked as inactive. Fishbowl blocks this because new locations can only be added to groups with active status. ## What to check - Confirm the location group you selected is marked inactive - Determine whether that group needs to be activated to support new locations, or whether you should use a different active location group - If uncertain which groups are active, review your location group list to see the current status of each one --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot create salesman in QuickBooks without name > QuickBooks requires a name field when creating or syncing a salesman record from Fishbowl. ## What it means When Fishbowl syncs salesmen to QuickBooks or creates one there directly, QuickBooks rejects any record without a populated name field. This usually happens when a salesman in Fishbowl has an empty name and you attempt to push that record during sync or creation. ## What to check - **Salesman name field**: Verify the salesman record in Fishbowl has a name populated. Check whether the name is blank or contains only whitespace. - **Sync source**: Confirm this is a new salesman being created, not an existing one being updated. - **Before retrying**: Fill in the missing name in the salesman record and attempt the sync again. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot create vendor without name in QuickBooks > Vendor requires a name to sync to QuickBooks. ## What it means Fishbowl is attempting to create or sync a vendor record to QuickBooks, but vendor names are required in QuickBooks. This error typically occurs when you create a new vendor in Fishbowl without entering a name, or when Fishbowl tries to sync an existing vendor record that has a blank or missing name field. ## What to check - Open the vendor record in Fishbowl and verify that the Name field is populated. Leaving this field blank will trigger the error. - If updating an existing vendor, double-check that the name hasn't been cleared or left as whitespace. - Review your sync settings to ensure they are not attempting to create vendors in QuickBooks from Fishbowl records with missing names. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot delete drop-ship purchase order > A purchase order created for a drop ship sales order cannot be deleted while the sales order is issued. ## What it means Drop ship POs are linked to the sales order that created them. Fishbowl prevents deletion to avoid breaking the relationship between the customer order and the supplier order. ## What to check - Locate the Sales Order that generated this PO (typically linked in the PO record) - Verify that Sales Order is currently issued - Unissue the Sales Order to release this PO for deletion - Then return to the PO and delete it --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot delete read-only UOM > The Unit of Measure you're trying to delete is protected and marked read-only. ## What it means The UOM you tried to delete is protected from modification—Fishbowl has marked it as read-only. This usually happens with system-provided units (like "each" or "box") or when someone has intentionally locked the UOM to prevent changes. ## What to check - Whether this is a system-provided UOM—these cannot be deleted in Fishbowl - Whether the UOM shows a protected or read-only status in its configuration - Whether your user role has permissions to create or modify Units of Measure settings --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot delete sales order with status of [status] > A sales order cannot be deleted because its current status prevents deletion. ## What it means Sales orders progress through statuses as they're processed. Once an order reaches certain statuses in that lifecycle, Fishbowl prevents deletion to maintain your audit trail and record integrity. The exact status that's blocking deletion appears in the full error message. ## What to check - What is the current status of the sales order? (Check the order detail view.) - Has the order been shipped, partially shipped, or invoiced? - Verify whether any fulfillment or invoicing activity has been posted against it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot issue order — custom field access denied > The user's group lacks the "View The Custom Fields Tab" access right in Purchase Order, blocking completion of required custom fields needed to issue the order. ## What triggers it A Purchase Order has required custom fields that are empty, and the user's group lacks the "View The Custom Fields Tab" access right. Fishbowl blocks the issue button and shows this error. The order can be saved, but not issued. Because the user cannot access the custom fields tab, they cannot fill the required fields. ## The fix Go to Setup > User Groups. Select the user's group and navigate to the Purchase Order module. Enable "View The Custom Fields Tab". Have the user log out and log back in. The user can now access the custom fields tab, fill required fields, and issue the order. Note: This restriction may be intentional. Confirm with your administrator that it should be granted. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Purchase_Order:~:text=View%20The%20Custom%20Fields%20Tab) lists the View The Custom Fields Tab right under the Purchase Order module. ## What to check first Verify the user's group assignment in Setup > User Groups. Test issuing the order with an admin account to confirm the custom fields are actually required. If the error persists after granting the right, the custom field definitions may need review. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot modify custom field with existing data > You're trying to change a custom field, but existing records contain data in that field. ## What it means When a custom field contains data in records, Fishbowl prevents you from changing its type to avoid data conflicts. This is a data-integrity guard. The error message suggests creating a new field with your desired type and inactivating the old one. ## What to check - Confirm you're attempting to change the field's data type (not renaming or other properties) - Verify which records have data in this field - Decide whether you need to preserve the old data or accept starting fresh with the new field - If migrating, plan whether to manually copy data to the new field or leave historical values unchanged --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot reconcile consumed outsourced parts > Fishbowl blocks reconciliation when the parts involved are flagged as outsourced and have already been consumed. ## What it means Fishbowl enforces a restriction: you cannot reconcile (compare physical vs. accounting inventory) for outsourced parts that have been consumed. Outsourced parts are manufactured by external suppliers rather than in-house, and Fishbowl handles them differently than standard inventory for costing purposes. ## What to check - Confirm the part(s) are marked as "outsourced" in the part master - Verify these parts show as consumed or used in production - Check whether outsourced work receipts or completions need to be processed through a different workflow before reconciliation is allowed - Review the part status—Fishbowl may require a different state before standard reconciliation applies --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot reconcile WO items with multiple finished goods > Reconciliation of consumed work order items requires all materials to map to a single finished good. ## What it means This error appears when you attempt to reconcile consumed materials on a work order where those materials relate to multiple finished goods. Fishbowl's reconciliation process enforces a constraint: all consumed items in a given reconciliation batch must map to only one finished product—not split across several. ## What to check - **Finished goods on the work order:** How many different finished products are listed? If more than one has consumed materials, reconciliation will fail. - **Consumed material allocation:** Check whether materials are split across multiple product lines or finished goods on the same work order. - **Consider splitting:** If materials logically belong to different products, you may need separate work orders—one finished good per work order. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot remove receipt item > You can't delete a line item from a purchase receipt that's already been processed. ## What it means Fishbowl prevents deletion of line items on receipts that have been processed into inventory. The message indicates the receipt requires posting (usually to accounting or a final status) before you can modify individual items. ## What to check - Check the receipt's status—is it marked as received, posted, or in some intermediate state? - Verify whether the inventory from this receipt has already been committed to stock. - Look for whether the entire receipt needs to be posted to complete the transaction. - If you need to undo this item, you may need to reverse or reactivate the receipt itself rather than delete individual lines. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot unissue PO with finished Pick Items > Fishbowl blocks unissuing a PO when warehouse picking has been completed for items on that order. ## What it means Fishbowl will not reverse a PO's issued status if any linked Pick Item has already been finished (completed). This protects your inventory and order flow from being dismantled after work has started in the warehouse. ## What to check - Verify whether the Pick Item showing FINISHED status is actually needed or can be reversed first - Check if the Pick receipt associated with the finished Pick Item can be undone - If the PO must be unissued, you may need to reverse the picking and shipment workflow before attempting to unissue the PO again --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot unissue purchase order in bid request status > Fishbowl won't reverse the issued status when a purchase order is in bid request status. ## What it means You attempted to unissue (reverse the issued status of) a purchase order that is in bid request status. Purchase orders progress through statuses in Fishbowl, and the unissue operation is restricted to certain statuses. Bid request is not one of them. ## What to check - Verify the purchase order's status is actually "bid request" in Fishbowl - Check whether the order has advanced to issued status or another status instead - Confirm your intent: are you trying to unissue an order, or perform a different action (edit, cancel, close)? - If the order should be issuable, verify it's ready to issue before attempting to unissue --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot unissue sales order (pending manufacturing work) > You're trying to reverse a sales order, but active manufacturing work is still tied to it. ## What it means When you unissue a sales order, you're reversing it. Fishbowl prevents this if there are still Work Orders (the manufacturing tasks created to fulfill that sales order) that are issued or in progress. The Manufacture Order that spawned those Work Orders also needs to be unissued first. ## What to check - Verify whether the Work Orders associated with this sales order are still in an active state (issued, in progress, or similar). - Check the Manufacture Order status—is it still marked as issued? - These dependencies usually need to be unwound before the sales order can be unissued. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cannot update order status > An order status change was blocked, typically because the order is locked or has unresolved dependencies. ## What it means This message appears when you try to change the status of an order that Fishbowl won't allow to be modified. Most commonly: the order is locked because it's been completed or archived, the order has unfinished fulfillment tasks, or the status change violates a business rule (such as trying to revert a shipped order to draft). ## What to check - **Order status**: Verify what status the order is currently in and whether it typically allows transitions - **Order state**: Check whether the order has been closed, archived, or locked for editing - **Pending tasks**: If the order is partially shipped or being picked, status changes may be blocked until fulfillment completes - **Permissions**: Confirm your user role permits modifying orders in the current status --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cost cannot be negative > A cost value in a manufacture order is negative when it should be positive. ## What it means Fishbowl prevents saving a Manufacture Order when any cost value (material, labor, overhead, or similar) is negative. This validation catches data entry errors or sync mistakes from suppliers or other systems. ## What to check - Look at the cost fields for the part listed in the error message - Verify any costs you entered manually are positive numbers - If costs were synced or imported, check that source for negative or unexpected values - Clear the negative value and re-enter the correct positive cost --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cost mismatch between finished goods and raw materials > The total cost allocated to finished goods doesn't match the raw material costs in a manufacturing order. ## What it means When manufacturing an order, Fishbowl allocates the total raw material cost to the finished goods produced. This error appears when those two totals don't match—usually because raw material costs, finished goods quantities, or the bill of materials changed after the order was already in production or complete. ## What to check - Verify the raw materials and their costs match what was used when the order was created - Confirm the finished goods quantity hasn't changed since the order was entered - Check the bill of materials for any recent changes - Look at the manufacturing order status to see if it's partial or complete --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Cost value must be positive > You entered a negative value in a cost field where only positive values are allowed. ## What it means You're trying to enter a negative value in a cost field. Fishbowl doesn't allow negative costs—any cost amount must be zero or positive. This usually happens when entering a unit cost, average cost, or similar costing value. ## What to check - Verify the value you entered: check whether a negative sign got included unintentionally - If you meant to enter that value, confirm whether you actually need a positive number - If you're trying to reverse or adjust a cost, look for an adjustment or reversal transaction type instead of entering a negative value --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Credit item types must have a negative cost > Credit items need a negative cost value in the costing setup. ## What it means Credit items typically represent inventory reductions or credits. Fishbowl enforces negative cost values for these items to maintain consistency: positive values represent increases, negative values represent decreases or write-offs. If you're seeing this error, you probably entered a positive number in a cost field for a credit-type item. ## What to check - Verify the item is classified as a credit type (check the item type designation or flag) - Review the total cost or unit cost field: it should show a negative value, like -10.00 - If you see a positive number, try entering it as negative (with a minus sign) and save - Check if the item has related cost records that also need negative values --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Credit return item type mismatch > You can't return a regular inventory item here; only Service and Misc. Items are accepted. ## What it means You're in a credit return workflow that accepts only Service Items and Misc. Items. The line item you're trying to return is classified as regular inventory (a SKU), which this fulfillment screen can't process. ## What to check - Confirm the item type on this line: regular inventory, Service, or Misc.? - If regular inventory, check whether a Credit Memo or a different return workflow is used for that type. - Review your Fishbowl configuration to confirm which return process handles regular inventory items. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Customer access denied — missing permission > Error when viewing a customer assigned to a different salesperson without the See All Customers access right. ## What triggers it When you try to view a customer record, Fishbowl checks if your group has the "See All Customers" access right. If your group doesn't have it, and the customer is assigned to a different salesperson, you see this error. ## The fix 1. Go to Setup > User Groups. 2. Select the group that needs access. 3. Click the Customer module. 4. Enable "See All Customers". 5. Log out and log back in. If "See All Customers" is already enabled and you still see the error, the restriction may be intentional. Ask your admin whether this group is meant to see only their own customers. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Customer:~:text=See%20All%20Customers) lists the See All Customers right under the Customer module. ## What to check first Find your user group (Setup > Users, view your profile). Have a user in a group with "See All Customers" enabled try to view the same customer. If they can view it without error, your group needs the permission enabled. If they also see the error, contact Fishbowl support. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Customer Job exceeds 4 parent limit > A job cannot be linked to more than 4 parent customers. ## What it means A job in Fishbowl can link to multiple customers (parent customers), but there's a hard limit of 4. This error means your job has reached that limit and you've tried to add another. ## What to check - Count the parent customers currently on this job (should be 4 if you're seeing this error) - Decide if all 4 parent relationships are still needed for this job - Remove one that's no longer necessary before trying to add a replacement --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Customer name too long > Customer names in Fishbowl are limited to 41 characters. ## What it means Fishbowl enforces a 41-character maximum on customer names. When you create a new customer or update an existing customer name, the system validates the length. If your entry exceeds 41 characters, this validation error appears and prevents you from saving the record. ## What to check - Count the characters in the customer name, including spaces and punctuation - If the name exceeds 41 characters, shorten it by removing or abbreviating text - Try saving or creating the customer record again --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Delete confirmation for purchase orders > Confirmation dialog when attempting to delete one or more purchase order records or line items. ## What it means You initiated a delete action on selected purchase order records or line items, and Fishbowl is asking for confirmation before proceeding. This safeguard prevents accidental deletions. ## What to check - Verify the correct PO(s) or line items are selected—review PO numbers, vendors, and quantities before confirming. - Confirm deletion is what you intend (rather than canceling or archiving the order, which preserve a record). - Check whether the purchase order's status allows deletion. Typically drafts or early-stage orders can be deleted; locked or received status usually blocks it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Delete Kit Items confirmation > A confirmation dialog when you're about to remove kit components from a sales order. ## What it means You're about to delete kit items—a set of components bundled and sold as a kit—from a sales order. Fishbowl displays this confirmation dialog to prevent accidental deletion. The message text typically includes the kit name or sales order reference after "from". ## What to check - Confirm you intentionally selected delete on these kit items - Verify this is the correct kit and the correct sales order - Consider whether removal affects customer fulfillment, pricing, or billing --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Delete purchase order confirmation > Fishbowl is asking you to confirm deletion of a purchase order. ## What it means Fishbowl displays this dialog whenever you attempt to delete a purchase order. The %s in the message is replaced with the specific PO number or identifier you're deleting. This is a safety confirmation step because deletion is permanent and cannot be reversed. ## What to check - Verify the PO number shown is the correct one you want to delete - Check the PO's current status—you typically cannot delete purchase orders that have received goods against them or have been posted to accounting - Confirm you actually intend to delete this PO before proceeding --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Drop Ship PO already issued > A Drop Ship PO is in issued status, blocking your current action. ## What it means The Drop Ship PO you're working with has been issued (status set to Issued). Fishbowl locks issued POs to prevent accidental changes after the order reaches the vendor. ## What to check - Confirm the PO status is "Issued" in the Purchase Order record. - Verify your user role permits unissuing POs before proceeding. - Consider whether the vendor has already received this order—unissuing may create a supply chain mismatch if they've already acted on it. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Drop Shipping PO cannot be duplicated > Fishbowl blocks duplication of Purchase Orders designated as Drop Shipping orders. ## What it means Drop Shipping purchase orders have a special designation because the supplier ships directly to your customer, bypassing your warehouse. Fishbowl prevents duplication of these POs, typically to avoid complications with the supplier-to-customer relationship already established on the original order. ## What to check - Confirm the PO you tried to duplicate is marked as a Drop Shipping order (verify the order type or shipping method field) - If you need a similar order, create a new PO manually with the same supplier and customer - Check whether the original PO is in a locked or completed status that might also restrict copying --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Empty class value in QuickBooks sync > Fishbowl tried to sync data to QuickBooks but a required Class field was blank. ## What it means Fishbowl is trying to create or update a record in QuickBooks, but the Class field (used to classify and organize transactions) is blank. QuickBooks requires a value here, so the sync cannot complete. ## What to check - Verify that classification or category fields in your Fishbowl record are filled in, not blank - Review your QB sync configuration to see which Fishbowl field maps to the QB Class - Make sure all required fields are completed in your Fishbowl record before syncing --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Finished qty exceeds original — Missing access right > This error appears when a user lacks the "Finished Qty Can Exceed Original Qty" access right in Manufacture Order. ## What triggers it When finishing a work order, if a user tries to receive a quantity of finished goods that exceeds the original quantity specified on the work order, Fishbowl shows this error. The message appears only when the user's group lacks the required access right. ## The fix The user's group needs the "Finished Qty Can Exceed Original Qty" right enabled in the Manufacture Order module. To enable it: 1. Go to Setup > User Groups 2. Select the affected user's group 3. Open the Manufacture Order (MO) module settings 4. Check "Finished Qty Can Exceed Original Qty" 5. Save the group 6. Have the user log out and back in Note: This right may be intentionally restricted as a control. If preventing over-receipt is deliberate policy, this message is the system working as intended. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Manufacture_Order:~:text=Allow%20Finished%20Good%20Quantity%20To%20Exceed%20Original%20Quantity) lists the Allow Finished Good Quantity To Exceed Original Quantity right under the Manufacture Order module. ## What to check first - Confirm the user's actual group assignment in Setup > Users - Test the same action with a user who has the right enabled to confirm it resolves - Verify the work order's original quantity is correct (quantities of 0 or null will block all receipts) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Integer UOM cannot have non-Integer Quantity > An item's unit of measure requires whole numbers, but a fractional quantity was entered. ## What it means Your item's unit of measure (UOM)—like "pieces," "each," or "case"—is configured to accept only whole numbers. You entered a decimal quantity (e.g., 2.5 instead of 2 or 3), which conflicts with that constraint. This typically happens during inventory receipts, transfers, or adjustments. ## What to check - Your quantity entry: does it have a decimal point or fractional value? - The item's UOM setting: confirm it truly restricts to integers only. - Whether you need to round to a whole number or use a different UOM for this item that allows decimals. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Item already fulfilled > A purchase order line item you're attempting to process has already been marked as fulfilled or received. ## What it means When you attempt to fulfill, receive, or process a purchase order line item, Fishbowl checks whether it has already been marked as fulfilled. If it has, this message appears. It typically means the quantity has already been received into inventory or the line has been marked complete. ## What to check - Verify the line item's fulfillment or receipt status — did the full quantity already arrive in a prior transaction? - Confirm you're not attempting to receive the same purchase order line twice - Review the line item's receipt history if available to see when fulfillment occurred --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Item partially fulfilled > A line item on this purchase order has received fewer items than ordered. ## What it means This line item received fewer units than the order quantity. Fishbowl flags this state to prevent you from accidentally finalizing a purchase order when expected goods still haven't arrived. ## What to check - Compare the ordered quantity to the received quantity on this line - Confirm whether all expected shipments have actually arrived - Decide whether to receive the remaining quantity, or if the shipment is final, close or void this line item --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Kit already picked > The kit item you're attempting to pick has already been allocated on this sales order. ## What it means When a kit (multi-item bundle) is picked, its contents are allocated and reserved for fulfillment. The system blocks a second pick on the same kit to prevent allocating the same inventory twice. ## What to check - Look at the kit line on your sales order—it likely shows a status like "picked" or "allocated" already - Confirm you didn't accidentally try to pick the same kit twice or select a duplicate line - If you need to change the pick, check whether you first need to unpick or reverse the prior pick --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Must enter items before getting tax rate > Sales orders must contain line items before requesting tax calculation from QuickBooks Online. ## What it means Fishbowl requires line items to be present before it can request a tax rate from QuickBooks Online. QBO needs to know what products are being sold (and their amounts) to determine the correct tax rate. An empty sales order has nothing for QBO to tax, so the lookup fails. ## What to check - Confirm the sales order currently has no line items added. - Add at least one item (product, quantity, details) to the order before retrying the tax request. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: new quantity less than committed > You're trying to reduce an item's inventory below what's already reserved for active orders or work assignments. ## What it means You're reducing an item's quantity below what's already reserved or committed to active orders or work assignments. Fishbowl prevents this because it would create an impossible situation where you've promised more inventory than you'd have on hand. ## What to check - View the item's committed quantity (what's reserved for open orders or work orders) - Compare it to the quantity you're trying to set - If the commitment is valid, increase inventory instead of decreasing it - If the commitment is outdated, resolve or cancel those orders first, then adjust inventory --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: No rights to inventory module — access denied > User's group lacks the Inventory View access right; enable it in Setup > User Groups. ## What triggers it When a user clicks the inventory button on the Pick screen, Fishbowl checks if their group has the Inventory View access right. This dialog appears if the right is not enabled. ## The fix 1. Go to Setup > User Groups. 2. Select the user's group. 3. Open the Inventory module settings. 4. Enable the "View" access right. 5. Have the user log out and back in for the change to take effect. If inventory access is intentionally restricted, leave it disabled and document the reason in your access control policy. You don't have to take our word for it: Fishbowl's official [Access Rights reference](https://help.fishbowlinventory.com/advanced/s/Access-Rights#Inventory) lists the View right under the Inventory module. ## What to check first - Confirm the user's group in Setup > Users (view their profile). - Test with a user who has Inventory View enabled to verify the feature works. - Review your access control policy to confirm whether this restriction is intentional. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Not integrated with QuickBooks > QuickBooks connection isn't configured in Fishbowl's accounting settings. ## What it means Your Fishbowl instance doesn't have an active QuickBooks connection. This error appears when you attempt to export or import accounting data without a working integration. The connection might never have been configured, or it could have been lost due to expired credentials or removal. ## What to check - Whether QuickBooks integration has been configured in your accounting settings - Whether a previous connection has been removed or its credentials have expired - Your QuickBooks account credentials and permissions to authorize a connection --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Out sourced items in transit > Outsourced items awaiting receipt are blocking your current operation. ## What it means Outsourced items (components sourced or manufactured externally) are currently in a transit status. These items have been shipped but not yet received into inventory. The operation you're attempting (usually receiving, closing a PO, or completing a work order) won't proceed until these in-transit items are received first. ## What to check - Look for outsourced items in transit, typically visible in your Receiving module or the associated purchase order. - Receive those items before proceeding with your original operation. - If the items are supposed to be received but don't appear, verify they're assigned to the correct transit location. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Part cannot have a negative cost > A part's cost field cannot be set to a negative value; check for a typo or the need for a different transaction type. ## What it means The cost field you entered for this part is negative or contains a minus sign. Fishbowl inventory costing does not allow negative costs; cost values must always be positive and represent the amount paid for the inventory item. ## What to check - The cost value you just entered — look for an accidental minus sign or decimal point error - If you intended to reverse or correct a prior cost, check what transaction type Fishbowl expects (adjustment, credit memo, return, or transfer) - The part number to confirm you're editing the correct part - The context of what you were trying to do — sometimes the issue is the transaction type, not the number itself --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Payment export restricted until fulfillment > Warns that enabling this setting will hold payment exports until sales orders are completely fulfilled, potentially causing timing mismatches with your bank records. ## What it means When you enable this option, Fishbowl will not export payments on sales orders until those orders reach complete fulfillment. This means a customer payment might hit your bank today, but Fishbowl won't export it to your accounting system until the full order ships and is received. The result: a timing mismatch between what your financial institution shows and what your accounting records show. ## What to check - Whether your sales orders typically ship in full or are fulfilled in stages (partial shipments) - Whether your accounting workflow relies on payment dates or order fulfillment status - Your accountant's stance on this timing gap and reconciliation impact - Any existing partial orders that would be affected by this change --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Payment Method has no name (QuickBooks sync) > A payment method in Fishbowl lacks a name and cannot be synced to QuickBooks. ## What it means When Fishbowl tries to sync your payment methods to QuickBooks, it encountered a payment method record with an empty name field. QuickBooks cannot create a payment method without a name, so the sync stops until you fix it. ## What to check - Locate your payment methods in Fishbowl (typically in settings or administration). - Identify which payment method has a blank or empty name. - Add a descriptive name to it (e.g., "Cash", "Check", "Credit Card"). - Attempt the QuickBooks sync again. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Purchase Order already fulfilled > This PO is marked complete and cannot be edited or received against. ## What it means The PO in your system is marked as fulfilled or complete. In Fishbowl, a fulfilled PO status typically means all expected goods have been received and logged. Once a PO reaches this status, the system won't let you add more receipts or make changes to it. ## What to check - Look at the PO's status field—is it marked "Fulfilled," "Closed," "Complete," or something similar? - Check your receipt history to confirm whether you already received the quantities you're now trying to add - If you genuinely need to receive more goods against this PO, you'll likely need to adjust or reopen the PO status first --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: QuickBooks Online is not connected > Fishbowl cannot access your QuickBooks Online account to sync accounting data. ## What it means Fishbowl tried to reach or authenticate to your QBO account and failed. No active authorization exists between the two systems, so accounting data cannot sync. ## What to check - Verify that QBO integration is actually configured in your Fishbowl accounting settings—it may not be set up at all. - Log into QuickBooks Online directly to confirm your account is active and accessible. - Check whether the authorization token or credentials between Fishbowl and QBO are still valid. API integrations typically require periodic reauthorization if credentials expire. - If options to reconnect or reauthorize the connection are visible, verify that reauthorizing succeeds. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Receipts reconciled but not received won't bill > A receipt marked as reconciled but not received cannot be billed. ## What it means When a receipt is marked as reconciled in accounting but remains marked as 'not received,' Fishbowl blocks it from being billed out. This usually indicates a data state mismatch—the receipt has been reconciled to accounting but the receipt status still shows as not received. ## What to check - Review the receipt's **Receipt Status** field—verify whether it should be marked 'received' or 'not received' - Check the order of operations: confirm whether the receipt was marked received before being reconciled - Verify the reconciliation status matches the actual receipt state --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Sales Order blocked by linked Manufacture Order > Sales Order edits are blocked when linked to a Manufacture Order that's not in unissued status. ## What it means Your Sales Order is linked to a Manufacture Order, which prevents you from editing it. The error message tells you exactly how to unblock: either unissue the linked Manufacture Order or remove its link entirely. ## What to check - Locate the Manufacture Order linked to your Sales Order. It's usually referenced in the order's details or linked records. - Check the Manufacture Order's current status. Typically, "issued" status is what triggers this block on edits. - Based on your workflow, decide whether to unissue the Manufacture Order (to allow edits) or unlink it (if production is no longer needed). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Sales Order modified—save before Unissue > A Sales Order has unsaved changes and must be saved before you can change its issued status. ## What it means When you modify a Sales Order—changing items, quantities, pricing, or other details—and then attempt to Unissue it, Fishbowl won't allow the status change until you save those edits. This is a typical safeguard to ensure data consistency: status changes are blocked when modifications are still pending. ## What to check - Check for unsaved-changes indicators in the Sales Order interface (usually marked visually) - Save the Sales Order - Try the Unissue operation again --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Sales order requires estimate or expired status > You tried to create a sales order from an estimate or quote that's not in the right status. ## What it means When creating or converting a sales order from an estimate or quote, Fishbowl requires the source document to be in either "estimate" or "expired" status. If you see this warning, the document is in a different status, such as "active," "approved," "won," or similar, and can't be used. ## What to check - The current status of the estimate or quote you're attempting to convert - Whether you've selected the correct document for conversion - Whether the status needs to be adjusted before creating the sales order --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Sales orders may only have specific statuses > Your sales order is in an invalid status for the operation you're attempting. ## What it means Fishbowl restricts sales orders to three statuses: Estimate, Issued, or Historical. You tried to perform an operation on a sales order that's in an invalid status. Usually this means the order is stuck in a transitional state, was changed by an API or bulk operation that didn't account for sales orders, or the operation you're attempting isn't valid for that status. ## What to check - Verify the sales order's current status. It should be one of: Estimate (10), Issued (20), or Historical (95). - Determine how it got into an invalid status. Was it changed by a third-party integration or bulk update? - Review what action you were trying to perform when the error appeared. Some operations only work from specific statuses. - If the status is incorrect or stuck, you may need to manually correct it or contact an administrator. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Source and destination locations cannot be the same > You've specified the same location as both source and destination in an inventory operation. ## What it means You're attempting an inventory operation that requires moving stock from a source location to a destination location, but you've specified the same location for both. Typically this happens during part transfers or inventory relocation. The system correctly rejects this because moving inventory to itself doesn't represent a real transfer. ## What to check - Verify the "Source location" and "End location" fields contain different values - Check whether the destination location field was accidentally left unchanged from the source - Confirm whether this is meant to be a transfer operation, or cancel if not needed --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Transfer Order must be Issued to unissue > The Transfer Order you're trying to unissue is not in Issued status. ## What it means You're trying to unissue a Transfer Order whose status is not Issued. To unissue a Transfer Order, it must be in Issued status. If your Transfer Order is in any other status (such as Draft or Pending), the unissue action won't be available and you'll see this message. ## What to check - Look at the status field of the Transfer Order you're trying to unissue. - Verify what status it currently shows. If it shows anything other than Issued, the unissue action cannot proceed. - Confirm you're working with the correct Transfer Order. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: unsaved changes block Unissue > A Manufacture Order can't be unissued while it has unsaved edits. ## What it means You've edited one or more fields in the Manufacture Order (quantity, dates, materials, status, assigned user, etc.) but the changes are still pending—not yet committed to the system. Fishbowl prevents unissuing while changes exist, because it needs to know the final, saved state of the order before reversing its issued status. ## What to check - Is the order currently in edit mode? Look for visual indicators of unsaved changes (asterisks, "modified" labels, or changed field values). - Do you want to keep those edits? If not, cancel them. If yes, save them first. - Once saved or cancelled, try unissuing the order again. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: UOM conversion results in non-whole BOM quantity > A UOM conversion cannot be created because converting quantities in an existing Bill of Materials would result in a fractional number. ## What it means When you try to create a UOM conversion, Fishbowl validates that any existing Bills of Materials currently using the original UOM would result in whole-number quantities after the conversion is applied. If the mathematics would produce a fraction (like 1.5 or 3.67), the system rejects the conversion. ## What to check - Identify which BOM(s) currently use the original UOM of this conversion attempt. - Verify the conversion ratio you're proposing: does it divide evenly into those current BOM quantities? - If the math doesn't work out, either adjust the affected BOM quantities to compatible numbers, or reconsider the conversion ratio so all results are whole numbers. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl: Update line item costs and UOMs when changing vendors? > A dialog asking whether to refresh line item pricing and units of measure after changing the vendor on a purchase order. ## What it means When you change a vendor on a purchase order, Fishbowl is asking whether to update the line item costs and units of measure to match the new vendor's pricing and specifications. This happens because the new vendor typically has different rates or UOMs than the previous vendor. ## What to check - Confirm the new vendor carries the same items you're ordering. If not, the cost and UOM fields may not populate correctly. - Review whether the new vendor's pricing makes sense for your items before clicking yes. If unsure, click no and verify the vendor master record first. - Consider your team's workflow: some prefer to auto-update line items, others prefer to keep the original costs and edit manually. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- --- # News # Fishbowl 2026.9: reconcile entries now land in the right period, duplicate card charges closed off > Fishbowl 26.9 dates the post-shipment cost reconciliation journal entry to the shipment date in QBO and Xero (it used to be dated whenever the export ran), stops a QBO Automated Sales Tax future-ship-date failure from halting the whole export, fixes three ways Fishbowl Payments could double-record a charge, and exposes the accounting export and full work order detail through the REST API. Fishbowl released 2026.9 (26.9) on September 4, ten days after 26.8. It is a short release with no new client features. But one fix in it matters more than most of what shipped this summer. If you have ever tried to tie the Inventory Asset account in QuickBooks Online or Xero back to Fishbowl's inventory valuation at month end and given up, read the first item. ## The accounting fixes that matter - **The cost reconciliation journal entry is now dated to the shipment date.** When you reconcile a purchase order after the goods have already shipped, Fishbowl posts a journal entry to true up cost of goods sold (COGS) on the affected sales orders. In QuickBooks Online and Xero, that entry was dated to the moment the export ran, not the shipment date. The invoice and the original COGS entry were on the ship date, but the correction landed whenever someone happened to export. That put revenue in one period and part of the cost in another, and it meant the general ledger Inventory Asset balance could not tie to Fishbowl's valuation report on any given date. 26.9 dates the entry to the shipment date, the same date the invoice and COGS already use. QuickBooks Desktop was never affected. This does not fix entries already posted, so if you have a period where inventory and COGS refuse to tie, this is a plausible reason, and the fix is a reclass rather than a hunt. - **One QBO Automated Sales Tax failure no longer stops the entire export.** A sales order on the QBO Automated Sales Tax rate with a future ship date failed to export, and that failure ended the whole export run, so nothing behind it went through either. It failed the same way every run until the ship date arrived. 26.9 exports these orders, keeps the ship date on the posted invoice, and lets the rest of the run continue if a single order fails. The result now names which orders were skipped and why. If your QBO export has been "stuck" for days at a time with no obvious cause, this was a likely culprit. ## Fishbowl Payments: three ways a card could get charged or recorded twice If you take cards through Fishbowl Payments, all three of these are worth your attention. - **Timeouts no longer risk a second charge.** When the connection to the payment provider was unstable, a charge request could time out. Fishbowl reported a generic failure and recorded nothing, but the card might already have been charged. The payment window stayed open with nothing marked paid, so the next step was often to try again and charge the customer twice. Fishbowl now checks back with the provider to confirm the outcome. If the card was charged, the payment is recorded. If not, it says so clearly. If it genuinely cannot tell, it reports an unknown status and offers to keep checking or lets you verify in the provider's portal. - **In-client payments are saved before the confirmation dialog, not after.** Payments and refunds taken in the client used to be written to the database only after the user dismissed the confirmation message. If the scheduled Import Gateway Payments task ran in that gap, it imported the same transaction as a second record. That duplicate overstated the amount paid on the order and flowed through to the general ledger and your accounting system. - **The gateway import now only pulls payment link payments.** The same root cause from the other side: the scheduled import could claim a card charge or refund taken in the client if it ran before that transaction was recorded. It is now limited to payment link payments. If you use Fishbowl Payments and your payments clearing account has never quite balanced, these three fixes explain a lot of it. Duplicates created before 26.9 are still in your books. ## REST API and legacy API - **Accounting export without a logged-in user.** The legacy accounting export call can now be sent through the REST legacy wrapper as `POST /api/legacy/external/QBExportRq`. An external system or a scheduled job can kick off the export and get back the same status and message the client would show, including on failure. The call name says QuickBooks, but it runs whichever accounting integration is configured, Xero included. For anyone who has kept a client session open on a server just so exports run on a schedule, this is the replacement. - **Full work order detail.** `GET /api/work-orders/:id` returns a single work order with its line items, the parts each item consumes, assigned users, and the bill of materials name. Add `includeSteps=true` for work instruction steps. Fulfilled work orders remain readable. This is the REST equivalent of the legacy call the mobile apps have used. - **Read-only status on work order and manufacture order search.** Both searches now return a readOnly flag per row, matching what purchase order and sales order search already do. Before this, an integration could not tell which records the user was allowed to change. - **Purchase order memos are readable with read-only access.** The memo endpoints returned a 403 error for users whose location group access was read-only. Reading now works. Create, update, and delete still require full access. - **Legacy API fixes for the mobile apps.** Sales order line descriptions edited before saving were being replaced with the product default on save through SOSaveRq. Part on-hand from InvQtyRq now includes read-only location groups instead of silently omitting them. And reports printed through PrintReportRq now show Hide/Show columns whose default is a formula, so the Sales Order Invoice prints Unit Price, Total Price, and Type the same way it does from the client. ## One sales fix Kits using the Specify Kit Price option now show a margin on the kit header line, net of any kit adjustments. Before 26.9 no margin was calculated for these kits, so a rep had no way to see that a kit was being sold below cost. Kits without a specified price are unchanged. ## Upgrade notes The MySQL 8.0 deadline moved. Last month's notes said 8.0 would be supported through the September release. 26.9 now says through the October 2026 release, so the auto-update still keeps your existing MySQL 8.0 installation. Everything else is the same: MySQL 5.7 is not supported, upgrades from 2025.9 or older need the server updated by hand first, and Fishbowl Anywhere users should stay on 2025.9. Three releases in a row have now been mostly about the accounting connection, and this one closes some of the oldest gaps. The reconciliation date fix in particular removes a reason Fishbowl and your general ledger could disagree even when every transaction was correct. The entries posted before the fix are still dated wrong, though. If your Inventory Asset and inventory valuation have never tied and you would like to know whether this is why, [get in touch](/contact). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published September 4, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2026.8: credit return exports fixed, PO reconciliation simplified, and a FIFO cost bug to check for > Fishbowl 26.8 fixes a cluster of credit return export bugs (wrong sign on discounts, shipping lines not reversed, COGS mirrored instead of reversed), posts one journal entry per sales order for PO reconciliation, and repairs a FIFO reconcile bug that could inflate average cost. Also new: payment status in Sales Order and Shipping, a one-click Update Pricing button, bulk location renaming, and more REST API transfer order actions. Fishbowl released 2026.8 (26.8) on August 25. The headline features are an AI chat button and a few quality-of-life additions. But the fix list is what will actually change your books: nine accounting fixes, several of them for credit returns and purchase order reconciliation, plus a FIFO costing bug that can leave a bad number behind even after you upgrade. ## The accounting fixes that matter - **Credit returns were exporting wrong in three different ways.** If you duplicate a sales order as a credit return, 26.8 fixes three separate problems. Shipping-type lines were not flipped negative, so the credit was understated and the customer looked like they still owed the freight. Dollar discounts went to QuickBooks Desktop with the wrong sign, so the QBD credit memo total did not match Fishbowl. And a non-inventory part with a standard cost exported a cost of goods sold (COGS) entry that copied the original sale instead of reversing it. Each of these is small on one order and easy to miss in a monthly total. If you process returns regularly, check credit memos issued before this release against Fishbowl. - **QuickBooks Online automated sales tax on credit returns.** A manually created credit return added the tax as a positive amount instead of negative. The result is the same pattern: the credit is understated by the tax, and the difference hides in a sales tax liability account that most people never reconcile line by line. - **PO reconciliation now posts one journal entry per sales order.** Before 26.8, reconciling a purchase order posted a separate journal entry to QuickBooks Online or Xero for every shipped item. Orders with many lines or high carton counts could generate dozens of tiny entries. Now it is one entry per sales order, and Xero amounts round to the cent. The totals were never wrong, but this is why your QBO journal list has been full of small Fishbowl entries with the same date. - **Reconcile no longer books cost against voided shipments.** Reconciling a purchase order could record COGS against a shipment that had been voided, putting cost on a sales order line that never shipped. That is cost with no matching revenue. Worth a look if your gross margin has had unexplained dips in months with returns or reshipments. - **The drop ship and credit return invoice split is undone.** A change in a recent release, meant to prevent duplicate document errors, had a side effect: drop ship and credit return lines received individually created a separate invoice or credit for each line. 26.8 combines lines that share a reference number back into a single document. Avalara users are excluded from this fix, so if you use Avalara you will still see one invoice per line. - **QBO export failing on vendor country.** Exports could fail with an "invalid or unsupported property" error tied to the vendor's country field. Fishbowl now sends the format QBO expects. If you had vendor bills stuck in the export queue with that message, upgrade and re-export. ## The FIFO costing bug Two fixes in the purchasing section deserve their own note because they affect FIFO (first in, first out) databases specifically. Reconciling a purchase order on a FIFO database could inflate a part's average cost to an extremely large value, eventually causing a save error. And voiding a shipment, then reconciling the original PO with a landed cost, treated the returned quantity as its own cost layer and misallocated the landed cost. This is fixed in 26.8. The fix stops the bug going forward. It does not repair cost layers that were already written wrong. If you run FIFO and reconcile POs with freight or landed costs, pull an inventory valuation report before and after your upgrade and look for parts with an average cost that makes no sense. Those are the ones that got hit. ## Everything else new - **AI Chat button.** A new toolbar button opens Fishbowl's AI support chat directly from the client, 24 hours a day. It can hand you off to a support technician during Fishbowl's support hours (6:30 AM to 4:30 PM Mountain). - **Update Pricing button on sales orders.** Re-applies your pricing rules to every line on an existing order in one click. Useful when an order sits in Entered for weeks and costs have moved, especially with cost-based pricing rules. - **Payment status in Sales Order and Shipping.** An optional Payment Status column (right-click the search columns to add it) and an advanced search filter for no payment, partial, or paid in full. The filter can be saved as the module's default search, making a "ready to ship, fully paid" view a two-minute setup. - **Bulk location renaming by CSV.** A Location Renaming import and export, working the same way as the Part and Product Renaming import. Relabeling a warehouse no longer means renaming locations one at a time. - **Faster Product module.** Large catalogs open and load noticeably faster, with lower memory use. - **REST API.** Sales order search now returns order total, currency code, and multi-currency total. PO and SO search responses flag records that belong to a read-only location group, and transfer order endpoints can return those records. Transfer orders gain request, unrequest, and close-short actions, and a unit cost on a transfer order item now applies for non-inventory items on ship-type transfers. On the fix side, the SO, PO, and MO search endpoints were dropping orders dated on the end date of the search range. If an integration polls "today's orders" using today as the end date, it was silently missing them until now. ## Fixes we'd flag - **Receiving Data import** went back to receiving only the first line per part when a PO had one product split across multiple lines, a regression from 25.9. It now receives every line into its own location with its own tracking, including drop ship and transfer order receipts. - **Landed cost by volume** ignored each part's dimension unit of measure, so parts measured in different units got the wrong share. It now converts, and shows a clear error if a conversion is missing. - **Landed cost on a zero-cost PO line** could round to a negative landed cost. This is fixed in 26.8. - **Fishbowl Payments links** requested the full order total even when payments were already recorded, and did not refresh after an in-client payment. Both now use the remaining balance. - **Read-only location groups.** A user could flip the read-only flag on their own location group assignments without edit rights to the User module. Changing that flag now requires User module edit access. - **Reports.** The On Hand By Date and Item History reports both mishandled voided shipments, one leaving the returned quantity out and the other showing voids as upward adjustments. The Sales Production Demand report, which got a unit-of-measure fix last month, now also excludes estimates and fulfilled items and filters by scheduled date. The Adjustment Report says "Standard Cost Adj" on standard costing databases instead of mislabeling everything as average cost. And the Vendor Fulfillment History PO Count column no longer always reads 1. - **Work orders.** Splitting a large repair work order produced wrong finished good quantities on the traveler, drifting further with each split. 26.8 corrects the quantities. Reconciling a part consumed on a work order with more than one finished good used to fail partway through; it is now blocked up front with a clear message. - **Parts.** Changing a part's unit of measure while it is on an open transfer order is now blocked, matching the existing rule for open sales and purchase orders. Image saves failed for Windows users whose account folder contains a period; this is fixed. The upgrade notes are unchanged from last month. MySQL 8.0 is past end of life but still supported through the September release, so the auto-update keeps your current MySQL install. MySQL 5.7 is not supported. Upgrades from 2025.9 or older need the server updated by hand before clients. And Fishbowl Anywhere users should stay on 2025.9. This is the second release in a row where the meaningful changes are in how Fishbowl talks to your accounting system. Each of these fixes describes something that was posting wrong before, so if you process credit returns, reconcile POs with landed cost, or run FIFO, some of that is probably already in your books. If you want a second set of eyes on whether your Fishbowl and QuickBooks numbers tie, [get in touch](/contact). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published August 25, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2026.7: QuickBooks/Xero connections that stay connected, no more duplicate invoices, and job costing in QBO > Fishbowl 26.7 auto-refreshes QuickBooks Online and Xero tokens so connections stop dropping, stops the export bug that double-posted invoices when an account was missing, brings customer/job to QBO journal entries, and adds REST API endpoints for transfer orders and work order memos. Plus MySQL 8.0 EOL and upgrade notes. Fishbowl shipped version 2026.7 (26.7), and for once the accounting integration is the main event. Two of these changes fix problems we see constantly in reconciliation work: connections that silently drop, and invoices that post twice. QuickBooks Online also finally gets customer and job on journal entries. There are a few upgrade notes to keep in mind too. Let's start with the accounting. ## The accounting changes that matter - **QuickBooks Online and Xero connections now stay active on their own.** The connection used to drop every few weeks with no setting change, and the only fix was to manually reconnect and re-authorize. That was never a fluke. The underlying OAuth token has a short life and rotates when it refreshes, so a connection that isn't renewed on schedule just dies. 26.7 refreshes the QBO and Xero tokens automatically before they expire, with a system option for how many days ahead (default 10). If you've been re-authorizing your accounting connection on a recurring calendar reminder, you can probably delete that reminder now. - **No more duplicate invoices when an account is missing.** This is the important one. Before 26.7, if an order referenced an account that was inactive or missing in QuickBooks Online, the export reported an error but posted the invoice and journal entries anyway. Then, once you fixed the account, it posted a second copy. That behavior is a direct source of the exact discrepancy we get called in to untangle: two invoices in QBO for one Fishbowl order, revenue overstated, and an inventory or COGS number that won't tie. 26.7 stops the export for that order the moment it hits a missing or inactive account, so nothing posts until it's clean. The same protection now covers Xero. If you've been on an earlier version, this bug may have already left duplicates in your books, so it's worth checking before you close another period. - **Customer/job on QBO journal entries (job costing).** Journal entries Fishbowl posts to QuickBooks Online now carry the customer or job when one is set in Fishbowl, matching what the QuickBooks Desktop integration has always done. This ties the cost side of a transaction to the customer or job, so QBO job-costing reports finally reflect the whole picture. Jobs map to QBO sub-customers, and it applies across sales orders, purchase orders and receiving, inventory adjustments (cycle count, scrap, initial add), and work orders. - **Two smaller Xero and cash fixes worth knowing.** Due dates on 30 Days EOM terms synced to Xero could be wrong, because Fishbowl wasn't sending a calculated due date and Xero derived one from the transaction date instead (ugly in short months). That's fixed. And when cash rounding was on, the rounding line wasn't exported if payment came in after fulfillment, so Fishbowl and your accounting system disagreed by a few cents. Also fixed. ## Everything else new - **Auto PO now counts inventory in transit.** The Auto PO wizard used to ignore stock already covered by open transfer orders and recommend buying more. It now counts in-transit transfer inventory, so it stops padding your purchasing. - **Fishbowl Payments refreshes its own credentials.** Go 30 or more days without taking a card payment and your payment credentials could expire and lock you out until you regenerated them by hand. Now they refresh automatically before expiry (default 10 days). - **Read-Only Location Groups reach Work Orders.** The read-only location-group feature now covers the Work Orders module. You can view work orders in a group without being able to create or edit them, with a lock icon in the search list. A related fix also blocks view-only Purchase Order users from changing a line's vendor cost through the right-click menu or a keyboard shortcut. - **Part CSV gains "Pick in part UOM only."** This part option can finally be set and reviewed through CSV import and export (both Part and PPVP), so bulk maintainers stop editing it one part at a time. Existing CSV files without the new column import unchanged. - **REST API additions.** Transfer orders can now be created, un-issued (back to Entered), and deleted. Work orders get full memo support (list, get, create, update, delete). And there are next-number endpoints for sales orders, work orders, and purchase orders. One thing to watch on the next-number calls: requesting a number consumes it, so the counter advances whether or not you create the order. ## Fixes we'd flag - **Sales Production Demand report** miscalculated its summary totals when the part and product used different units of measure, mixing units so the Short total was wrong. It now converts consistently. If you plan production off this report and run mixed UOMs, your old totals were suspect. - **Non-admin Part Cost CSV import** failed with an "only the admin can import this information" error even for users granted the permission. That's fixed. - **Import/Export dialog** ran the wrong import or export for users with limited CSV permissions. It now honors what you actually selected. - **BOM CSV imports:** note lines set as variable quantity, and finished goods marked one-time-use with a sales order quantity greater than one, both produced broken or wrong-quantity manufacture orders. Both fixed. - **Dates now format consistently** across all modules, and several Sales Order report alignment and created-date quirks are resolved. The usual upgrade caveats carry over: Fishbowl Anywhere users and anyone on custom Plugins should stay on 2025.9 (custom integrations on the REST or Legacy API are unaffected), upgrades from 2025.9 or older need the server updated before clients, and MySQL 5.7 is no longer supported, with MySQL 8.0 now past end of life but fine on 26.7 through the September release. Nothing new there, but worth a glance if any of it applies to you. The connection-stability and duplicate-invoice fixes are genuinely good news, but they raise a question worth asking: if you were on an earlier version, what did those bugs already leave in your books? Duplicate invoices and journal entries don't clean themselves up on upgrade. If your Fishbowl and QuickBooks numbers don't tie and you're not sure whether a since-fixed export bug is the reason, [get in touch](/contact). That's exactly the kind of thing we chase down. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 14, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2026.6: read-only location groups, more REST API, and a QuickBooks export fix we've waited for > Fishbowl's 26.6 release adds read-only location groups, several REST API additions, and a QuickBooks Online export fix that finally surfaces the real error behind Business Validation failures. Fishbowl shipped version 2026.6 (26.6). Here's a quick rundown of what's new and the fixes worth knowing about, from the perspective of teams that run Fishbowl every day. ## What's new - **Read-only location groups.** Assign a location group to a user as view-only, so they can see a warehouse or branch they don't manage without being able to change anything. It applies across Inventory, Sales Orders, Purchase Orders, Transfer Orders, and Manufacture Orders, with a lock icon on view-only records. Our honest take: it's a start, and we'll take it, but it doesn't go far enough. Fishbowl has role-based control over what you can *do*, but not where you can do it. Rights live on the user group; location-group access is a separate, all-or-nothing grant. Quality-managed environments like medical device and pharma routinely need "this role can move inventory into the QC location, but only that other role can move it out," and Fishbowl still can't express that. Read-only groups are the first sign of thinking about the *where*; we hope it goes deeper. - **Control the next customer number.** Customer numbers now come from a stored "next number" counter, like order numbers, and a module option lets you set the next value directly. - **Configurable read-only database user.** Administrators can set a custom password for the built-in read-only database user, or disable it entirely, from the Database Settings dialog. The history here explains a lot. Around 2009 to 2012, shipping software talked to Fishbowl over ODBC: UPS WorldShip, FedEx Ship Manager, Endicia. Walking a ten-user shop through creating a MySQL user was a support call nobody enjoyed, so Fishbowl shipped a documented, preconfigured read-only login and pointed the instructions at it. Sensible then; a liability now that deployments are bigger, cloud-hosted, and audited. We've had enterprise IT contacts ask us point-blank why a preconfigured database login is sitting there in 2026, and they're right to ask. If you don't use it, you can simply delete the user; Fishbowl itself doesn't need it. As of 26.6 you can manage or disable it properly from the product, and we want to encourage exactly this direction. - **Custom shipping email from the mobile app.** The Advanced Mobile Plugin's Shipping Options now include Email Subject and Email Body fields. - **REST API: create a sales order.** `POST /api/sales-orders` creates an order and applies customer defaults automatically. Kit and drop ship items are not supported in this first version. - **REST API: issue a transfer order.** `POST /api/transfer-orders/{id}/issue` moves a transfer order to Issued, with access and status rules enforced. - **REST API: kit components nested in responses.** Retrieving a sales order now returns kit components under their parent kit item. Note this changes the response shape, so check any integration that reads kit lines. - **REST API: machine-readable docs.** `GET /apidocs.json` returns the full API documentation as structured data, which is handy for developers and AI coding assistants. - **Legacy API: save a signature at receiving.** The legacy API can now store a signature or image against a receipt at receive time. ## Fixes worth noting The one we're happy to see: **the QuickBooks Online "Business Validation" export error is finally diagnosable.** When QuickBooks rejected an export with that error, Fishbowl used to drop the detail, which made recurring failures painful to track down. We've run into this with clients more than a few times. In 26.6, Fishbowl records the full QuickBooks error detail and Intuit's transaction reference in the server log, so the actual cause is right there. This one was always a tough nut: the failure lives between Fishbowl's export logic and what the QuickBooks Online API actually received, and at the scale of thousands of companies posting thousands of transactions, a once-in-a-while error surfaces somewhere every single day. A few other fixes we'll call out: - **Drop ship partial receipts to QuickBooks Online.** A second partial receipt no longer reuses the same document number and fails with a "Duplicate Document" error. Each receipt now exports with its own number. - **Auto PO and transfer order demand.** When reorder levels are set by location group, Auto PO now recognizes demand from out-of-stock items on transfer orders, not just sales orders. - **Receiving screen performance.** The Receiving screen opens much faster for sites with a large number of locations, and no longer slows down with each receipt. - **Asset Valuation by Account.** Historical FIFO cost now calculates correctly when the report is run for a past date. If any of these touch how you run Fishbowl and you want a hand, [get in touch](/contact). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published June 25, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2026.5: Transfer Order API, secure REST calls from BI reports, and the QBO price-mismatch fix > Fishbowl 26.5 brings REST API Transfer Order operations, apiFetchAsync for BI reports, an Intuit Enterprise Suite integration option, and the fix for QBO's 'Amount is not equal to UnitPrice * Qty' export error. Fishbowl shipped version 2026.5 (26.5), the biggest release of the year so far, with roughly a dozen features and over two dozen fixes. The theme for anyone building on Fishbowl: the REST API keeps absorbing what used to require the legacy socket API. Our read is that Fishbowl is positioning to eventually retire that legacy socket XML/JSON API, and we think that's the right call. REST is easier to test, easier to secure, and far more approachable for the average dev team. We just wish the coverage were already complete. ## What's new - **REST API Transfer Order operations.** Retrieve a Transfer Order, search with pagination, and full memo CRUD, with access rights and location-group restrictions enforced. Combined with 26.3's shipments and 26.4's tracking data, the REST API now covers most of the warehouse-movement surface. - **REST API Get Pick.** `GET /api/picks/:id` returns the full Pick object with calculated fields matching the client, including source tag information. - **`apiFetchAsync` for BI reports.** Report authors can now call REST API endpoints from inside a BI report, running under the viewing user's session so the server enforces their access rights automatically. This replaces the old pattern of calling the legacy socket API from reports, which bypassed access rights and field validation entirely. If you have reports built on socket calls, this is the sanctioned migration path, and worth taking. - **BI drill-downs into Picks and Receipts.** `openModule("Picking", pickNum)` and a compact receipt format (`"S122"`, `"P234"`, `"T456"`) open the matching record straight from a report. - **Intuit Enterprise Suite (IES) integration.** A dedicated IES button in the Accounting module, using the same authorization flow and sync logic as QuickBooks Online. From the Fishbowl side it's essentially QBO with a different badge, and that matches what we hear from people evaluating IES: mostly the same product at a different service tier. If you're multi-entity, IES is genuinely up your alley; if standard QBO is working for you, this doesn't change your math. - **Two new Accounting module options:** always use the customer's default email on invoice exports (regardless of which contact ordered), and a QuickBooks Desktop Canadian tax-rounding toggle, so shops whose orders originate in an e-commerce system can make totals match across all three systems. - **Faster client on slow networks.** The client now checks whether server-side updates exist before fetching them, cutting round-trips on every interaction. - **Email Report API accepts custom subject and body**, so integrators sending reports can finally make the email presentable. ## Fixes worth noting The headline fix: **QuickBooks Online's "Amount is not equal to UnitPrice * Qty" export error is resolved.** When associated pricing changed after a Sales Order was issued, the export recalculated a price that no longer matched the line, and QBO rejected it. The export now uses the price stored on the line item. We've been called in on this exact error more than once, and it usually meant digging through what Fishbowl's export logic produced versus what QuickBooks actually received. Under the hood there's a new `priceLocked` column on `soitem`, backfilled on upgrade so already-issued orders keep exporting. That's a schema change worth noting if you query that table in custom reports, especially around partial shipments. Also notable: - **Xero split credit returns export correctly.** Credit Return Sales Orders received in multiple batches were failing Xero export with line-total mismatch errors. - **Backdated receiving now backdates the inventory tag.** Receiving with a past Receive Date used to stamp the tag with today's date, which made FIFO pick the wrong tag for lot-tracked parts. Costing accuracy fix, plain and simple. - **Products search defaults to Active Only again.** A 26.3 regression had it returning inactive products on initial load. - **Landed cost corrections replace instead of accumulate**, ending the "Please balance your debits and credits" export error after fixing a mistyped amount. - **A long list of report fixes:** Sales Order Summary filters (product tree, carrier, single-day fulfilled), Reverse Lot History on old upgraded databases, Packing Slip date fields, barcode centering, and more. If the report-to-REST migration or the QBO export fix touches your setup, [get in touch](/contact). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published May 20, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2026.4: granular import/export rights, USPS validation restored, and credit-return tax fixes > Fishbowl 26.4 adds per-operation import/export access rights, password expiration policies, a working USPS address validation integration, and fixes for Canadian QBD tax rounding and TaxJar/QBO credit-return taxes. Fishbowl shipped version 2026.4 (26.4). This one is about control: who can import and export what, how passwords age, and a stack of accounting fixes that clean up credit returns and Canadian tax. ## What's new - **114 granular import/export access rights.** Every individual import and export operation now has its own user right, so you can let a user group import receiving data without also letting them export your customer list. Existing groups are automatically granted all of them on upgrade, so nothing changes until you start tightening. If you've ever audited who can pull a full parts export, you'll want to. - **Require notes on inventory adjustments and moves.** Two new Inventory module options force users to explain themselves when adjusting quantities or moving stock. Off by default, but if you fight cycle-count mysteries, turn them on. Future-you will thank present-you at reconciliation time. We've built this exact control into beep1 mobile projects for customers who needed it: pick a reason from a short list (damaged, lost, and so on), then explain yourself with a minimum number of characters. The inventory record already captures the who, what, and where; requiring the why is what makes the trail worth reading. - **Password expiration.** Administrators can require password resets on a configurable schedule (default 30 days). Honestly, we're not fans of forced rotation: it nudges people toward incrementing a digit each cycle, and even the author of the original guidance has since walked it back. Current NIST advice recommends against periodic resets. The option is there if your compliance regime requires it, but think twice before turning it on. - **Temporary passwords via users.csv import.** A new optional Password column assigns a temporary password when creating users in bulk. New users only, admin only. - **USPS address validation works again.** USPS changed their API out from under the old integration; 26.4 rewires it to the current one. - **REST API: tracking data on shipments.** `GET /api/shipments/:id` now returns part tracking (lots, serials, expirations) on ship items, one less reason for shipping integrations to fall back to the legacy API. ## Fixes worth noting Three tax and cost fixes with direct accounting impact: - **QuickBooks Desktop Canadian tax rounding.** With CAD as home currency, exports were rounding tax up a cent, leaving every affected invoice a penny off in QBD and requiring manual correction. Fixed. - **Credit returns duplicated from Sales Orders now flip TaxJar and QBO Automated Sales Tax lines negative.** Previously the tax lines stayed positive on the credit, quietly inflating tax totals. - **Purchase Order CSV imports keep full cost precision again.** A regression introduced in 2026.1 rounded imported unit costs to two decimals. If you imported POs with fractional-cent costs on 26.1 through 26.3, it may be worth spot-checking those orders. Also notable: - **Zero-change cycle counts are recorded** instead of silently discarded. This closes a real gap: "we counted and it matched" and "we never counted it" used to look identical in the inventory log, which made "when did we last count this part?" unanswerable from the system. Expect it to nudge some activity reports, but operationally it's all upside. - **Transfer Order CSV imports validate UOMs** per line, closing a hole that could corrupt order, pick, and inventory records with invalid units. - **Receiving Data CSV imports assign the right billed unit cost** when one order line arrives across multiple rows. - **Non-inventory credit returns reverse COGS correctly** with a negative cost instead of overstating cost of goods sold. If tightening import/export rights or auditing the cost-rounding regression sounds like your week, [get in touch](/contact). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published April 14, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2026.3: the MySQL 8.4 upgrade path, REST API shipments, and QuickBooks/Xero export fixes > Fishbowl 26.3 adds an optional MySQL 8.4 auto-upgrade ahead of the September deadline, REST API shipment/payment/product search, Level 2/3 payment data, and fixes for QBO currency and Xero class-tracking exports. Fishbowl shipped version 2026.3 (26.3). The headline this time is a date, not a feature: MySQL 8.0 reaches end of life in April 2026, and this release opens the official upgrade path to MySQL 8.4. ## The MySQL clock is ticking (but not loudly yet) Oracle stops patching MySQL 8.0 in April. Fishbowl will keep supporting it **until the September 2026 release**, so nothing breaks today; the standard auto-update keeps your 8.0 installation as-is. But the migration is now officially supported and it's better done on your schedule than under deadline: - **Windows, Fishbowl-installed MySQL:** run the full 26.3 installer (not auto-update) over your existing installation and it upgrades MySQL 8.0 → 8.4 automatically. - **Manually-installed MySQL (any OS) or macOS/Linux:** upgrade MySQL to 8.4 yourself first, then install Fishbowl 2026.3. Plan for it before the September release makes it mandatory. ## What's new - **REST API shipment management.** `GET /api/shipments/:id` retrieves a shipment, `POST /api/shipments/:id/pack` moves it from Entered to Packed with proper status validation, and shipment search returns paginated results with access-rights checks. Shipping automations that previously needed the legacy API can start moving over. - **REST API payment and product search.** Both now support paginated, filtered search. - **Level 2/3-style payment data, automatically.** Fishbowl Payments now sends line items, PO numbers, tax, and shipping detail with each transaction, the detail that qualifies B2B transactions for lower card processing rates. There's nothing to configure. - **Kit item type flexibility.** A new Sales Order module option allows changing kit item types (Sale, Credit Return, Drop Ship) after they're on an order. Off by default. - **"Never notify or update automatically."** A new server auto-update setting, and we're glad to see it. Fishbowl has historically pushed updates with pop-ups, and people click OK on pop-ups. That's how servers get updated when they weren't supposed to be, and how outages happen. Small shops often don't update until something breaks or they need a feature; larger operations have change management teams and don't want surprises. Now both can turn the nagging off and update on their own schedule. - **eBay plugin is Java 21 compatible again.** It had been broken since the 2026.1 platform change. ## Fixes worth noting Two accounting export fixes that will end recurring headaches: - **QuickBooks Online can create currencies again.** Exports involving a currency that didn't yet exist in QBO were failing with the cryptic "Operation could not find resource for entity companycurrency" error. Fishbowl now creates the currency as part of the export, the way it used to. - **Xero part-cost journals work with class tracking.** With categories enabled, part cost changes were exporting as journal entries with no class assigned and dying on a null error. Also notable: - **Vendor costs stay put when "Update vendor cost on issue" is unchecked.** Multi-currency POs could previously overwrite vendor last costs for both home and foreign currencies just by changing a conversion rate. - **BOMs with notes can be deleted from partially fulfilled Manufacturing Orders** without a call to support. - **CloverConnect terminal processing** keeps working after outdated port numbers were removed from the integration URLs. If you'd like help planning the MySQL migration or putting the shipment API to work, [get in touch](/contact). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published March 23, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2026.2: new BI dashboards, remote server administration, and a REST API performance overhaul > Fishbowl 26.2 ships five redesigned BI dashboards, a Server Administration module with remote restart, REST API memo endpoints, and a performance rework that fixes Java heap errors on large datasets. Fishbowl shipped version 2026.2 (26.2). This is a meatier release than 26.1: new dashboards, real remote administration, and REST API work that matters more than the changelog makes it look. ## What's new - **Five professionally-designed BI dashboards.** New Production Scheduling (drag-and-drop manufacturing order calendar) and Company dashboards, plus updated Sales, Purchasing, and Inventory dashboards, all with drill-down. Two setup notes that will save you a support ticket: each dashboard needs its own user right granted in the User Group module before anyone can see it, and if your team prefers the old look, Classic Dashboards are still available under Settings. - **Server Administration module.** Administration tasks that used to require logging on to the Fishbowl Server box are now in the client: view and log off active connections, message connected users, enforce single-login, set inactivity timeouts, and restart the server remotely with a warning delay. The restart is gated behind a new "Restart Fishbowl Server" user right, granted only to admin by default. - **Tracked parts on outsourced Purchase Orders.** Lot numbers, serials, expiration dates, and custom tracking now survive the outsourced-manufacturing flow, so you no longer have to strip tracking off parts to make outsourcing work. - **Automatic backup retention.** Scheduled backup tasks can now delete backups older than a set number of days. This one made us smile: sysadmins have spent years hand-rolling PowerShell and batch scripts to fake exactly this, and now it's a setting. Our wish for a future release is compression. Some customer databases are large enough that any compression on backups would be very welcome, but we'll take retention today. Under the hood this adds a `deleteBackupOlderThan` column to the `fbschedule` table, worth knowing if you have custom reports or scripts that read the schedule table. - **REST API memo endpoints.** Full memo management (list, get, create, update, delete) for Sales Orders, Parts, and Products. ## Fixes worth noting The big one for integration builders: **the REST API got a real performance overhaul.** Fishbowl replaced the old `HttpURLConnection` plumbing with the modern HttpClient, enabled HTTP/2, removed the JSON size limit on requests, and cut redundant base64 encoding and double serialization. The practical effect: the Java heap space errors that plagued large datasets (lots of orders, customers, or parts) are resolved, and big syncs move noticeably less data. If you throttled or chunked an integration to work around those errors, it may be worth revisiting. Also worth calling out: - **QuickBooks Online automated sales tax is now included in Run Payment Links.** Previously the QBO-estimated tax showed on the Sales Order but silently vanished from the payment link total, so customers were underbilled by the tax amount. - **REST API documentation cleanup.** Search-endpoint filters are now correctly marked optional, `best-price` parameters are documented accurately, and the old wiki links point at the current help site. If any of these touch how you run Fishbowl and you want a hand, [get in touch](/contact). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 19, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2026.1: the Java 21 era begins, and four things to check before you upgrade > Fishbowl 26.1 opens the Java 21 generation. Before you upgrade: MySQL 5.7 is gone, custom plugins are done, Fishbowl Anywhere is on hold, and upgrades from 2025.9 or older need a coordinated install. Fishbowl shipped version 2026.1 (26.1), the first release of the year and the start of the Java 21 generation. The feature list is short this round. The story is what the platform shift means for your upgrade path. ## Before you upgrade: four things to check - **Upgrading from 2025.9 or older? Plan a coordinated install.** The server must be updated manually first, then clients. The client detects the version mismatch and walks users through updating themselves, but this is not the usual one-click auto-update. Coming from 2025.11 or later, the normal process applies. - **MySQL 5.7 is no longer supported** (as of 2025.12). If you're still on 5.7, the move to 8.0 is part of the upgrade process and it's less dramatic than it sounds: under the hood it's a backup and restore, and the installer walks you through it. Just take your own backup first and schedule the time; most customers hit this because they need a newer build for other reasons and the database move comes along for the ride. - **The plugin notice is about Fishbowl's own plugins.** What stopped being supported at 2025.11 is Fishbowl's first-party plugins, and that's what the warning covers. It doesn't mean everything bolted onto your Fishbowl is dead: custom *integrations* built on the REST or Legacy API keep working fine on 2026.1, and most third-party work we see falls in that camp. If you're not sure which kind you have, find out before you upgrade, not after. - **Fishbowl Anywhere users should hold at 2025.9.** The plugin isn't compatible with the Java 21 release yet; Fishbowl is actively working on it and says it will return in an upcoming version. ## What's new - **Channel-specific status mapping for Fishbowl Commerce.** A scheduled script can now override status-import behavior per e-commerce channel, so orders from one channel can be fulfilled automatically while others follow the default mapping. It's enabled through Fishbowl Support rather than a module option. - **ACH-only Fishbowl Payments.** Merchants with only an ACH Merchant ID can now run the payments integration; payment links show ACH as the sole option. ## Fixes worth noting - **Purchase Order CSV imports now enforce the client's cost rules.** Credit-return lines with positive costs and purchase lines with negative costs get corrected on import instead of flowing through to your accounting export wrong. If you bulk-import POs, this one protects your books. - **MyFishbowl module access rights actually work now.** Previously every user could see the module regardless of settings. - **Multi-currency PO entry fixed for comma-decimal currencies.** Parts with vendor part numbers can again be added to POs, and costs edited in the vendor's home currency. - **MRP's "All Locations" option no longer assigns reorder points to inactive location groups.** - **The Calendar module works again in international databases** across all view modes, without the client-restarting error in 7-day view. If you want a second set of eyes on your upgrade path, especially the plugin-versus-integration question, [get in touch](/contact). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published January 15, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- --- # Blog # Adventures in Accounting: The Two Entries a Fishbowl Credit Return Posts to QuickBooks > Return goods to a vendor in Fishbowl and QuickBooks Online gets a Vendor Credit plus a mysterious $0.00 journal entry. Here's what that second entry is, why it appears whenever the return price differs from your carried cost, and why it's correct. Here's a support question we get often enough that it's worth writing down. Someone returns goods to a vendor in Fishbowl, then searches for that PO number in QuickBooks Online and finds **two** transactions instead of one: - a **Vendor Credit** for the full return amount, and - a **Journal Entry for $0.00** with a description like *"FB: Accounting adjustments for PO#4021."* The Vendor Credit makes sense. The $0.00 journal is the one that raises eyebrows — *why did Fishbowl post an entry for nothing, and should I be worried about it?* Short answer: it isn't nothing, it's exactly right, and once you see the mechanics you'll never wonder about it again. ## The setup A Fishbowl purchase order for a credit return looks like a normal PO with **negative** quantities and costs — it's the vendor sending you money back, not the other way around. In our example, 2 units go back to the vendor at $250.00 each, for a credit of **$500.00**. When Fishbowl exports that to QuickBooks Online, the first thing it creates is a Vendor Credit for the full amount: ![QuickBooks Online Vendor Credit for the returned units](/images/credit-returns/qbo-vendor-credit.svg) So far, so obvious. The vendor owes you $500.00. That amount ties to the Fishbowl PO to the penny. ## The entry that confuses everyone Right next to it, Fishbowl posts a second transaction — a journal entry whose debits and credits are equal, so the total is **$0.00**: ![The $0.00 accounting-adjustment journal entry](/images/credit-returns/qbo-adjustment-journal.svg) One line **debits Cost of Goods Sold** and the other **credits Inventory Asset**, both for $92.00. Because the two lines cancel, the *net* of this entry is zero — no new money enters or leaves. All it does is **move $92.00 from one account to another.** The question is: why does that move need to happen at all? ## Return price vs. carried cost Here's the key, and it holds no matter which costing method you run — average, FIFO, LIFO, or standard. The price you negotiated to return the units is *not* the same as what those units were carrying in inventory. - You're getting **$250.00 each** back from the vendor. - But on the books, each unit was valued at its **carried cost** — whatever Fishbowl had for that part (the moving average, the specific FIFO layer, the standard cost) — say **$296.00 each**. When you pull those 2 units out of stock, inventory has to draw down at the rate your costing method prescribes — their *full book value*, $592.00 — not by the price the vendor happened to credit you. That's why the method doesn't change the outcome: whatever rate you use, the units leave stock at that rate, and any difference from the credit is the variance. But the Vendor Credit only reduced Inventory Asset by $500.00. The $92.00 journal makes up the difference, and the gap has to land somewhere sensible. It lands in **Cost of Goods Sold** — specifically the part's configured COGS account, or your default COGS mapping if the part doesn't set one — as a loss. Put both entries side by side and the whole thing balances: | Account | Debit | Credit | What it means | |---|---:|---:|---| | Accounts Payable | $500.00 | | The vendor owes you the agreed credit | | Inventory Asset | | $500.00 | Vendor Credit reduces inventory... | | Inventory Asset | | $92.00 | ...and the journal removes the rest | | Cost of Goods Sold | $92.00 | | The loss on the return | | **Totals** | **$592.00** | **$592.00** | Inventory came off at full carried cost | Read across the three accounts: - **Accounts Payable** — debited $500.00. The vendor owes you exactly what they agreed to credit. Correct. - **Inventory Asset** — credited $500.00 **and** $92.00, for a total reduction of **$592.00**. That's the true carried cost of the 2 units leaving stock. Correct. - **Cost of Goods Sold** — debited $92.00. You returned inventory worth $592.00 and only got $500.00 back for it, so the $92.00 shortfall is a real economic loss and it hits the P&L. Correct. Everything balances, and every dollar is in the account it belongs in. ## So is anything broken? No. This is the *normal, expected shape* of a Fishbowl credit return in QuickBooks Online whenever the return price differs from the carried cost. Usually the drift is small enough that nobody notices — but it happens all the time, and every time it does you get this entry. The $0.00 journal isn't an error, a rounding artifact, or a leftover. It's Fishbowl doing the accounting correctly: > **The vendor credits you at the return price. Inventory has to come off at carried cost. > The difference is a gain or loss, and the $0.00 journal is where Fishbowl books it.** If the return price had happened to *exactly* equal the carried cost, there'd be no gap and no journal — just the Vendor Credit. The moment those two numbers differ, you get the companion entry. And it works both ways: if you'd returned the units for *more* than they were carrying, the same journal posts in reverse — crediting COGS and debiting Inventory — booking a small gain instead of a loss. The only thing worth explaining to the business is *why* $92.00 showed up in Cost of Goods Sold that month: it's the loss from returning units to the vendor for less than they were worth on the books. Not a mistake — just the truth about the transaction. ## The reconciliation takeaway When you're tying Fishbowl inventory to your QuickBooks Inventory Asset account, **expect credit returns to produce two linked entries**, and read them together. In a case like this one there's no reconciliation problem at all — the two entries net to exactly the right inventory reduction. The only trouble comes if you match the Vendor Credit, see the $0.00 journal, and mistake it for a discrepancy. So there's nothing to fix here — just something to understand. If an entry like this turns up in your books and you're not sure whether it explains a variance you're chasing, that's exactly the kind of thing we can walk through with you, the same way we did here. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 15, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Can Fishbowl print and scan 2D barcodes today? > What Fishbowl's label designer, UPC fields, and scanning clients actually do with QR codes and GS1 DataMatrix — and where the real Sunrise 2027 work is. Short answer: not out of the box on printing, though there are two workable paths; scanning depends on your setup; and the real work is the data inside the symbol and whether your system can produce it going out and make sense of it coming in. (The [series overview](/blog/sunrise-2027/) covers what Sunrise 2027 requires and for whom.) ## Question 1: can Fishbowl print a 2D barcode? Not natively. Fishbowl's labels and reports run on its Jasper-based report engine, and it has no QR support out of the box. We've built a workaround that renders QR codes in Jasper label reports; it's custom report work, not a checkbox. For serious label volume we prefer skipping the report engine and printing ZPL directly to a thermal printer. ZPL, the native language of Zebra printers, supports QR Code, GS1 DataMatrix, and PDF417 as first-class commands with proper GS1/FNC1 handling; our CloudPages platform prints ZPL natively, and that's how we deliver 2D label solutions today. A complete label printing a GS1 DataMatrix with a GTIN, expiration date, and lot number: ``` ^XA ^FX GS1 DataMatrix: GTIN 00860000123457, expires 2027-06-30, lot LOT42 ^FO50,50 ^FH_^BXN,10,200 ^FD_1010086000012345717270630_110LOT42^FS ^XZ ``` The `200` in `^BXN,10,200` selects GS1 mode, `^FH_` makes the underscore an escape character, and `_1` is the FNC1: one at the start to declare GS1 structure, one before the variable-length lot field (fixed-length AIs like `01` and `17` need no terminator; putting them first keeps separators out of the payload). ![GS1 DataMatrix encoding GTIN 00860000123457, expiry 2027-06-30, lot LOT42](/images/sunrise-2027/gs1-datamatrix-gtin-exp-lot.svg) *The same payload as the ZPL above, rendered as a GS1 DataMatrix. Point a 2D imager at it and you'll see exactly what your system receives.* The FNC1 matters because a plain Data Matrix and a GS1 DataMatrix are the same square to your eye. Without the leading FNC1, the symbol scans as raw text and fails GS1 validation: it passes your internal testing, then a trading partner rejects your labels. Validate with a GS1-aware verifier before they do. ## Question 2: can Fishbowl store the data? Better than most people assume. The UPC field exists on both parts and products, is stored as text with room past 14 characters, and preserves leading zeros, so a GTIN-14 fits there. The caveat is hygiene, not capacity: the field is free text, and real databases accumulate blanks, duplicates, and vendor part numbers where the UPC should be. The part/product split helps. A product is a sellable, per-UOM wrapper around a part, and each product carries its own UPC field. GS1 assigns a distinct GTIN to each packaging level, which maps naturally onto an each-product and a case-product holding their own GTINs. Lot, expiry, and serial already exist as tracking fields. The question is whether a label printed at pick/pack time can pull the specific lot and expiry for the units in the box, rather than a part-level constant; what a native report can reach depends on the print point, so test at yours. We recently delivered a CloudPages label solution printing a customer's packaging artwork with a 2D symbol carrying GTIN, lot, and expiry, at their trading partners' request. Whether your data can flow from database to symbol without hand-typing is the actual project. ## Question 3: what happens when you scan one into Fishbowl? A scanner sends Fishbowl a string of characters. A 1D UPC emits 12 digits; a GS1 2D symbol emits GTIN, lot, and expiry run together with invisible separators between variable-length fields. Fishbowl has some support for structured scan input, but it won't flexibly split that payload into part lookup plus lot plus expiry, so test your receiving and picking flows with a real GS1 symbol. Two details decide it: whether the ASCII 29 group separators survive the path into Fishbowl (some keyboard-wedge modes strip them; test wedge and native modes), and whether the scanner can do the parsing instead. Most modern 2D imagers can be programmed to extract just the GTIN before sending, so Fishbowl sees the part identifier it expects. That's the pragmatic bridge: you lose lot and expiry at scan time, but receiving keeps working. If the full payload needs to survive the scan, resolving the right part and packaging level and populating lot and expiry, that's the layer we build our own tools at. Our CloudPages scanning workflows and our beep1 mobile scanning app both natively understand multi-UOM and structured scans. ## The hardware question is the easy one A laser scanner cannot read a matrix barcode like QR or DataMatrix; a laser sweeps a line, and a matrix symbol is a grid. Reading them requires a camera-based imager. Imagers read 1D barcodes fine, so you can swap hardware first; the [warehouse readiness post](/blog/warehouse-2d-scanner-readiness/) covers the audit. ## Where this leaves your Fishbowl implementation Printing: custom report work, or ZPL to a thermal printer. Storage: the UPC field handles it; the problem is hygiene. Scanning: configure the scanner, or add a layer above Fishbowl if lot and expiry need to survive the scan. If you've printed GS1 DataMatrix labels out of Fishbowl, or scanned them into it, we'd like to hear how, and on which version. **Related:** - [Sunrise 2027: what it actually requires from your Fishbowl implementation (and what it doesn't)](/blog/sunrise-2027/) - [2D scanner readiness for the warehouse, not just the register](/blog/warehouse-2d-scanner-readiness/) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 9, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # GS1 Digital Link vs. your part numbers: keeping GTINs sane in Fishbowl > Sunrise 2027 barcodes carry GTIN, lot, expiry, and serial in one symbol. How that data model collides with Fishbowl part numbers, UPC fields, and tracking, and how to map it without making a mess. The 2D barcodes arriving with Sunrise 2027 carry more data than Fishbowl has an obvious place for. One QR code can encode a GTIN, a lot number, an expiry date, and a serial number in a single scan; Fishbowl stores those four things in three different places, under different rules. The work isn't printing the barcode. It's deciding where each piece of data lives and which system is right when they disagree. ## What's inside a Sunrise 2027 barcode GS1 gives you two ways to pack the same data into a 2D symbol. **Element strings** are the classic format, the same thing that's been on GS1-128 case labels for decades, now in a GS1 DataMatrix or QR code. Each field is prefixed by an application identifier (AI): ``` (01) 00614141123452 GTIN — which product (10) LOT2407A batch/lot (17) 270131 expiry date (YYMMDD) (21) SN0001947 serial number ``` **GS1 Digital Link** encodes the same identifiers as a web URL, so one symbol works at the register and in a consumer's phone camera: ``` https://id.example.com/01/00614141123452/10/LOT2407A/21/SN0001947?17=270131 ``` ![GS1 DataMatrix of the element string](/images/sunrise-2027/gs1-datamatrix-element-string.svg) ![QR code of the Digital Link URI](/images/sunrise-2027/gs1-qr-digital-link.svg) *The same four fields both ways: element strings in a GS1 DataMatrix (left), and the Digital Link URI in a QR code (right).* The structure is fixed: the GTIN (AI 01) is the path's primary key, qualifiers like lot (10) and serial (21) follow in order, and attributes such as expiry (17) ride in the query string. A retailer's POS scanner extracts the GTIN and rings the sale. Everything else in the symbol is available to whoever wants it. Once your packaging carries lot and expiry in machine-readable form, your receiving dock, your 3PL, and your wholesale customers will all expect to scan it, and expect your data to match. ## Three collisions between GS1's model and Fishbowl's GS1's world revolves around the GTIN. Fishbowl's revolves around the part number. They are not the same thing. **1. Where does a 14-digit GTIN live?** GTINs in 2D symbols are always 14 digits (a 12-digit UPC-A left-pads with `00`). Fishbowl stores the UPC as text on both parts and products, with room past 14 characters and leading zeros preserved, so a GTIN-14 fits in the UPC field directly. No custom-field workaround. The flip side of a free-text field is that nothing stops garbage from living in it. The thing to distrust is what's in transit: Excel will happily turn a leading-zero GTIN into a 13-digit number on open, so run one leading-zero GTIN-14 through your import/export path before committing thousands. **2. One part is not one GTIN.** Under GS1 rules, every packaging level gets its own GTIN: the each, the inner pack, the case. Fishbowl's part/product split turns out to be the answer rather than the problem. A product is a sellable wrapper around a part at a specific UOM, and each product has its own UPC field. One part, an each-product and a case-product, each with its own GTIN. The collision still bites at scan time: your retail customer scans the each, your warehouse scans the case, and stock Fishbowl workflows won't resolve a scan to the right packaging level on their own. Our CloudPages platform and beep1 mobile app natively understand multi-UOM scans, resolving a case GTIN to the right part at the right quantity, but that's a layer you add deliberately. **3. Can a scan populate lot and expiry?** Fishbowl tracks lot, expiry, and serial as tracking fields on inventory transactions. When a scanner reads `(01)+(10)+(17)` in one pass, can receiving split that into part lookup plus tracking values? Fishbowl has some support for structured scan input, but not enough to populate everything across its workflows, and what each screen tolerates varies. Test your own flows with a real GS1 symbol. In practice the parsing lives outside the ERP: on the scanner (extract-GTIN-only keeps stock workflows working) or in a layer like CloudPages or beep1, which parse the GS1 payload so Fishbowl receives clean data. ## Three rules that keep the mapping sane **Pick one system of record for GTIN assignment.** It probably isn't Fishbowl: allocation is a licensing and product-catalog decision. Keep the ledger with your product master and sync into Fishbowl, or you'll eventually issue a duplicate. **Don't overload the part number.** Part numbers are on every historical transaction and integration mapping you have; GTINs change when packaging changes. Keep identifiers in fields, not naming conventions. **Treat a Digital Link domain as a decade-long commitment.** Once `https://id.yourbrand.com/01/...` is printed on packaging, that hostname has to resolve for the shelf life of everything carrying it. Use a dedicated subdomain, put a resolver or a simple redirect behind it, and document it as infrastructure. If you can't commit to the domain, use plain element strings in a GS1 DataMatrix and skip Digital Link until you can. ## What to do this quarter Export your parts with UPC values and flag anything that isn't a clean 12-digit UPC-A: blanks, duplicates, vendor part numbers living in the UPC field. Clean those up now, while there's no deadline attached. **Related:** - [Sunrise 2027: what it actually requires from your Fishbowl implementation (and what it doesn't)](/blog/sunrise-2027/) - [Can Fishbowl print and scan 2D barcodes today?](/blog/fishbowl-2d-barcodes/) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 9, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Sunrise 2027: what it actually requires from your Fishbowl implementation (and what it doesn't) > GS1's Sunrise 2027 is a retail point-of-sale initiative, not a warehouse mandate. Who it touches, how it reaches your Fishbowl implementation through trading partners, and what's worth doing about it in 2026. If someone forwarded you a Sunrise 2027 article and you're wondering whether your barcodes are about to stop working: no. Sunrise 2027 is a retail point-of-sale initiative by big-box retailers and GS1. Retailers are upgrading checkout scanners to read 2D barcodes (QR codes and DataMatrix), and brands are adding those codes to consumer packaging. There is no law behind it, and nothing in your Fishbowl install breaks in 2027. But if your products cross a retail checkout, or your customers' products do, it will reach you eventually, through your trading partners rather than through GS1. ## What Sunrise 2027 is [Sunrise 2027](https://www.gs1us.org/industries-and-insights/by-topic/sunrise-2027) is GS1 US's target date for retailers to be able to scan 2D barcodes at the register. The two formats are QR codes carrying a GS1 Digital Link URI, and GS1 DataMatrix. Both carry the same GTIN that lives in today's UPC, and can carry more: lot numbers, expiration dates, serial numbers, or a URL that resolves to product information. ![UPC-A barcode](/images/sunrise-2027/upca-860000123457.svg) ![GS1 DataMatrix carrying the same GTIN plus expiry and lot](/images/sunrise-2027/gs1-datamatrix-gtin-exp-lot.svg) *Dual marking: the UPC and a GS1 DataMatrix carrying the same GTIN — plus an expiration date and lot number the UPC has no room for.* GS1's own page says it is not necessary to implement everything by 2027. There is no regulator, no fine, and no date on which 1D barcodes stop scanning. The transition guidance is dual-marking: packaging carries both the UPC and the new 2D code (GS1 recommends keeping them within 50 mm of each other so POS scanners pick up both). From 2028 onward the choice of 1D, 2D, or both is the manufacturer's. The UPC is not going away in 2027, and most coverage of this topic buries that. ## Whose problem it is **Directly yours** if you sell branded product through retail checkout lanes. Those retailers are the ones upgrading scanners, and they will eventually tell suppliers what they want on the package. If you private-label for a retailer, expect the requirement to arrive in a packaging spec revision, not a press release. **Indirectly yours** if you're upstream of someone in that first group. This is how most businesses running Fishbowl will feel it. You do wholesale or distribution and never see a checkout lane, and then a customer's packaging spec starts requiring a 2D symbol on the retail unit. Now your labels, your GTIN management, and possibly your label printing are part of their transition. **Mostly not yours** if you're pure B2B. Your Code 128 case labels and internal part-number barcodes are not in scope, and reacting in 2026 would be early. One caution: a business that is B2B today but sells through even one retail or marketplace channel is in the first group for that channel's SKUs. ## What "adding a 2D barcode" means The minimum is small: keep your UPC and add one 2D symbol that carries the GTIN, the same identifier your UPC already encodes. Everything past that minimum is where the work is. Encoding lot, expiry, or serial into the symbol only helps if your systems track those values per lot or per unit. Encoding an expiration date you don't manage in inventory is decoration. And if you go the Digital Link route, the QR resolves to a URL that someone has to keep alive for the shelf life of everything that carries it. The second symbol also has to physically fit, which on small packaging is an artwork problem before it's a systems problem. For a Fishbowl implementation, the underlying question is where the GTIN and per-lot data live and whether your label printing can produce the symbol. Short version: Fishbowl's UPC field holds a GTIN-14 fine, the lot/expiry/serial tracking has the data, but the label designer has no native QR support. Getting a compliant 2D symbol printed takes custom report work, or printing ZPL directly to a thermal printer. The full breakdown is in [the next post in this series](/blog/fishbowl-2d-barcodes/). ## What to do in 2026 1. **List your channels and top customers**, and mark which ones end at a retail checkout. If the answer is none, write that down too. 2. **Ask your retail-facing customers what's coming.** One question to your buyer contact ("are you planning 2D barcode requirements for suppliers, and when?") gets you a date instead of a rumor. 3. **Check your label printing.** The stock Fishbowl label designer can't render a QR code; plan for custom report work or ZPL to a thermal printer. 4. **Check your warehouse scanners.** Laser scanners cannot read matrix codes at all; you need camera-based imagers. 5. **Don't panic-buy anything.** The concrete requirements will come from a specific trading partner with a specific spec. ## What to watch for Packaging spec revisions from any retail customer, and what big retailers do with their private-label lines. The second is already moving: in the UK, [Tesco moved an entire own-label range to GS1-powered QR codes](https://www.gs1uk.org/insights/news/Tesco-becomes-the-first-UK-supermarket-to-transition-an-entire-product-range-to-QR-codes-powered-by-GS1) in 2026. Expect US chains to follow the same private-label-first pattern. When either signal shows up, the work turns specific: GTIN hygiene, label rendering, and where lot and expiry data live in your inventory system. That's the rest of this series. **Related:** - [Can Fishbowl print and scan 2D barcodes today?](/blog/fishbowl-2d-barcodes/) - [GS1 Digital Link vs. your part numbers: keeping GTINs sane in Fishbowl](/blog/gs1-digital-link-gtins-fishbowl/) - [2D scanner readiness for the warehouse, not just the register](/blog/warehouse-2d-scanner-readiness/) - [A 2026 timeline for brands: what to do about Sunrise 2027 this year](/blog/sunrise-2027-2026-timeline-for-brands/) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 9, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # A 2026 timeline for brands: what to do about Sunrise 2027 this year > Sunrise 2027 is next year. Here's what a small or mid-size brand should actually do in the second half of 2026, in order — and what can safely wait. Sunrise 2027 is next year, and if you make or distribute a physical product, the question to ask in July 2026 is not "do we need to redesign our packaging" — it's "which of our retail customers are going to ask us for a 2D barcode, and when." Here's what to do about it between now and January. Most of it is checking, not spending. First, the framing that keeps this sane: **2027 is not a cliff.** GS1's [Sunrise 2027 initiative](https://www.gs1us.org/industries-and-insights/by-topic/sunrise-2027) is a phased transition to 2D barcodes (QR codes with GS1 Digital Link, GS1 DataMatrix) readable at retail point-of-sale — not a date after which 1D UPCs stop scanning. The actual risk is slower and more boring: a trading-partner requirement arriving faster than your packaging refresh cycle can respond to it. That's why waiting until 2027 doesn't work. The deadline hiding inside the non-deadline is artwork lead time. ## Q3 2026: find out what your customers are actually doing Before you touch packaging, ask your retail customers — buyer or vendor-compliance contact — two questions: are your POS scanners 2D-capable, and do you have a date for requiring 2D symbols from suppliers? Don't expect dramatic answers. As of mid-2026, no major US retailer has published a dated, hard 2D packaging mandate for suppliers that we can find — GS1 US's own Sunrise 2027 page names none. What exists is softer: Wegmans is featured by GS1 US as exploring 2D barcodes, P&G has publicly endorsed the transition, and industry coverage counts dozens of retailers piloting 2D-capable checkout. The concrete milestone so far is overseas: [Tesco moved an entire own-label product range to GS1-powered QR codes](https://www.gs1uk.org/insights/news/Tesco-becomes-the-first-UK-supermarket-to-transition-an-entire-product-range-to-QR-codes-powered-by-GS1) in 2026, a preview of the private-label-first pattern to expect here. The point of asking isn't today's answer. It's that you'll learn which customers have someone thinking about it, and you'll hear about a mandate months before it shows up in a vendor guide. ## Q3 2026: confirm your GTIN house is in order Adding a 2D symbol encodes your GTIN in a new format. If your GTINs have problems, the 2D symbol inherits them. Two specific checks: - **Licensing.** If your UPCs trace back to a GS1 company prefix you license directly, you're fine. If they came from a resold prefix or you're not sure where they came from, resolve that before you print them into new artwork. - **One GTIN, one product.** Reused or recycled GTINs across variants will cause exactly the kind of data mismatch 2D barcodes are supposed to eliminate. This is an afternoon of desk work, and a prerequisite for everything after it. ## Q4 2026: run one dual-marked label through your own building The cheap test that tells you more than any webinar: take one SKU, add a GS1-compliant 2D symbol next to the existing UPC, and run it through your own operation end to end. Print it on your label stock, scan it at receiving, at pick, and at whatever passes for checkout in your world. You're looking for three things: whether your label templates can render the symbol at a scannable size, whether your existing scanners read it at all (warehouse laser scanners can't read 2D symbols, period), and whether the systems behind the scanners do something sensible with what comes back. Any one of those failing is a 2026 finding you'd rather have than a 2027 surprise. If you run an inventory system like Fishbowl, this test is where the software questions start — that's its own post. ## Q4 2026 → 2027: make the artwork decision If any customer conversation from Q3 produced a date — or if your packaging is due for a refresh anyway — the artwork decision belongs in 2026. Packaging redesign, print vendor scheduling, and sell-through of existing packaged inventory add up to months, not weeks, between "we decided" and "it's on shelves" — ask your print vendor for their number before assuming you have time. And this isn't hypothetical for us: trading partners are already asking brands we work with to deliver 2D barcodes carrying GTIN, lot, and expiry on packaging. We recently shipped a label solution that prints a customer's packaging artwork with exactly that symbol on it. The asks are arriving ahead of any published retailer mandate — which is the whole point of doing the Q3 conversations early. The move GS1 recommends, and the one that costs the least, is dual marking: keep the UPC, add the 2D symbol alongside it. Nobody serious is suggesting removing the 1D barcode in 2027. ## What can safely wait Consumer-engagement QR experiences, encoding lot and expiry into the symbol, and anything sold only through channels without retail POS — all of it can wait until a customer asks or a refresh makes it free. Do the checks above first. **Related:** - [Sunrise 2027: what it actually requires from your Fishbowl implementation (and what it doesn't)](/blog/sunrise-2027/) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 9, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # 2D scanner readiness for the warehouse, not just the register > Sunrise 2027 coverage focuses on retail POS, but 2D barcodes will show up on your inbound cartons too. Here's how to audit your warehouse scanner fleet before they do. Almost everything written about Sunrise 2027 is about retail checkout. But the same 2D symbols are going to show up on inbound cartons, supplier labels, and product packaging in your warehouse, and nobody is sending your receiving dock a press release about it. If your warehouse guns can't read 2D barcodes, you'll find out the day a supplier switches labels. The good news: auditing your fleet takes an afternoon. The bad news: if the audit fails, the fix is hardware, and hardware has lead times. ## The one fact that decides everything A laser scanner physically cannot read a matrix barcode like a QR code or GS1 DataMatrix. Not "reads it slowly," not "needs a firmware update" — cannot. A laser reads a single horizontal line of light bounced off bars and spaces; some laser models manage stacked codes like PDF417 by sweeping that line, but a matrix symbol encodes data in two dimensions at once, and there is no line to sweep. Reading 2D symbols requires a camera-based imager that photographs the whole symbol and decodes it. Point a laser gun at a QR code and you get nothing: no beep, no error, no partial read. To the operator it looks like a dead label. So the question of warehouse 2D readiness comes down to **which of your scanners are lasers, and which are imagers.** ## Auditing your fleet Three steps, in order of increasing effort. **1. Inventory the hardware.** Pull the model number off every scanner in the building — the guns, the ones bolted to forklifts, the ones that only come out during physical inventory. The odds are in your favor: most handheld scanners sold in the past decade are 2D imagers, and across the Fishbowl customers we work with, most fleets are already 2D-capable. The units that fail this check are usually legacy laser guns from the Symbol/Motorola and Intermec era. Don't guess from age or brand; the spec sheet will say "1D laser" or "2D imager," and if it says laser, that unit is done the day 2D labels arrive. If you're replacing units, Zebra's DS-series imagers are the workhorse answer — new, used, or refurbished; we'll cover what to buy (and what the budget imports can't do) in a separate post. **2. Check what your software does with a 2D payload.** This is the step people skip, and it's where the quiet failures live. A 1D UPC scan emits a short digit string. A 2D GS1 symbol emits a longer string that can carry GTIN, lot, expiration, and serial — delimited with GS1 application identifiers and, in some symbologies, non-printing separator characters — and how those separators come through differs by scanner and input mode. If your scanning workflow expects a 12-digit UPC in a part-number field, a 2D scan doesn't fail cleanly — it dumps a long string with embedded structure into a field that was never designed for it. Whether Fishbowl's scanning screens, or your custom scanning app, tolerate that payload is something to test on your own setup, not assume. **3. Test with a real GS1 symbol.** Not a plain QR code of the part number you generated on a free website — that tests the camera, not the workflow. Encode a real GS1 element string (GTIN plus a lot and expiry) into a GS1 DataMatrix, print it at the size it will actually appear on a carton, and run it through receiving. The camera reading the symbol is the easy half. The string arriving intact in the right fields is the half that breaks. Here's one to start with: ![GS1 DataMatrix test symbol carrying GTIN, expiry, and lot](/images/sunrise-2027/gs1-datamatrix-gtin-exp-lot.svg) *A real GS1 DataMatrix (GTIN + expiry + lot). Point your gun at it: a laser gives you nothing, an imager gives you the full payload.* ## What to watch for Scan distance and label quality matter more with imagers than people expect. A laser gun reads a wide 1D barcode across a forklift aisle; an imager reading a small DataMatrix wants to be closer, and glare off a poly bag or shrink wrap can blind a camera in a way it never bothered a laser. If your workflows depend on long-range scanning — location labels up on racking — check the imager's rated range for the symbol size before you buy. This also doesn't have to be a dedicated-hardware question at all. Every Android phone made in the last several years has a camera that reads 2D symbols fine, and we build custom scanning workflows (our beep1 line) that run on ordinary Android devices. For operations that were already dreading a hardware refresh, a phone or a rugged Android device with a scanning app is a legitimate path — the decision is workflow fit, not optics. If you do one thing this quarter: walk the floor, write down every scanner model, and sort the list into laser and imager. If any are lasers, you can plan the replacement now instead of scrambling when a supplier changes their labels. **Related:** - [Sunrise 2027: what it actually requires from your Fishbowl implementation (and what it doesn't)](/blog/sunrise-2027/) - [Can Fishbowl print and scan 2D barcodes today?](/blog/fishbowl-2d-barcodes/) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 9, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Which 2D scanners to actually buy: Zebra DS models, refurbs, and what the cheap ones can't do > Our standing recommendation for 2D barcode scanners — Zebra DS-series imagers, new or refurbished — and the specific configurability you give up when you buy a $40 scanner from Amazon. If you need 2D-capable scanners and want the short answer: buy Zebra DS-series imagers, and don't be afraid of used or refurbished units — they're plentiful, cheap, and the hardware outlives its first owner. The $40 scanners on Amazon will read a QR code just fine, and for a front-counter lookup station that might be all you need. What they won't do is reformat a structured payload before it reaches your inventory system, and the product page won't tell you that. Your receiving dock will. This is the buying-guide companion to our [warehouse scanner readiness post](/blog/warehouse-2d-scanner-readiness/), which covers auditing the fleet you already have. This post is for the units that fail that audit, or for adding stations. ## The Zebra DS models that matter Zebra's DS series is the default answer for a reason: consistent hardware, one shared configuration tool across models, and a deep used market fed by corporate fleets retiring on schedule. | Model | What it is | Rough price | |---|---|---| | DS2208 | Corded, general-purpose | ~$180 new street; new/open-box units run $170–200 on eBay, used ones less — check sold listings for the going rate | | DS2278 | Cordless (Bluetooth) version of the same scanner | ~$500 new street with cradle | | DS4608 | Corded, faster decoder, handles dense/damaged codes and screens better | ~$270 new street | | DS3608 / DS3678 | Ultra-rugged (corded / cordless), IP67, forklift-and-freezer duty | Four figures new; used and refurbished units are widely available on eBay for a fraction of that | ![Zebra DS2200 series](/images/sunrise-2027/zebra-ds2200-series.jpg) ![Zebra DS4600 series](/images/sunrise-2027/zebra-ds4600-series.jpg) ![Zebra DS3600 series, rugged](/images/sunrise-2027/zebra-ds3600-series.jpg) *Left to right: DS2200 series, DS4600 series, and the rubber-armored DS3600 series. Images: Zebra Technologies.* Buying guidance by situation, not by spec sheet: - **Office, shipping desk, front counter:** DS2208. It's the commodity workhorse. At the used price, buy a spare. - **Warehouse receiving and picking:** DS4608 if corded works, DS3678 if you need cordless and drop-proof. The rugged models are where refurbished shines — a DS3678 that costs four figures new is a few hundred dollars refurbished, and the housing means "used" rarely means "worn out." - **Small DataMatrix on tiny labels, or barcodes off phone screens:** the HD (high density) variants of the 4608/3608 families. One honest caveat on used units: no warranty, and cordless models come with tired batteries. Batteries are cheap to replace; factor them in. Corded models have very little to wear out. ## What the cheap ones can't do Amazon is full of $30–60 2D scanners — Tera, Eyoyo, NetumScan, NETUM, and a rotating cast of similar brands. Credit where due: the decode engines are fine for clean symbols. They read QR, Data Matrix, and PDF417, they're plug-and-play as USB keyboards, and for scanning a part-number QR at a workbench they work. What you give up, and why it matters for Sunrise 2027-era labels: **No real configuration ecosystem.** Zebra scanners are programmed with [123Scan](https://www.zebra.com/content/dam/support-dam/en/documentation/unrestricted/guide/software/advanced-data-formatting-adf-programmer-guide-a-en-us.pdf), a free utility whose Advanced Data Formatting (ADF) rules rewrite scan data before transmission. The budget brands configure by scanning setup codes from a PDF manual — fine for "add a carriage return," hopeless for anything conditional. **No GS1 field extraction.** This is the one that decides purchases. A GS1 DataMatrix on an inbound carton carries GTIN, lot, and expiry run together with separator characters. Zebra's [GS1 Label Parsing](https://docs.zebra.com/us/en/scanners/general/sp72-prg/c-param-desc-123scan-software-tools/c-scanners-data-parsing-udi-scan-label-parse-and-blood-bag-parse.html) (Label Parse+, in 123Scan) lets the scanner pick fields out of that payload and transmit only what you want — extract just the GTIN so Fishbowl sees a clean part identifier, or emit GTIN-tab-lot-tab-expiry to fill a form. The budget scanners transmit the raw payload as-is, and their manuals say nothing about FNC1 or group-separator handling; what actually arrives is something you find out by testing, and it can change between firmware batches. **No fleet story.** Ten Zebra guns share one exported 123Scan configuration; ten budget guns get configured by hand, one setup barcode at a time, and the eleventh you buy next year may be a different hardware revision that ignores half the codes. So: cheap scanners are fine where the barcode is simple and the workflow forgiving. Once the label carries structure — the whole point of Sunrise 2027 — the scanner's job becomes delivering the right part of the payload to the right place, and the cheap hardware has no tools for that. ## If you're buying this quarter Corded DS2208s for general use, DS4608 or refurbished DS3600-series for the warehouse, HD variants for small symbols. Buy one first, configure it with 123Scan against a real GS1 test label — GTIN, lot, and expiry encoded, printed at production size — and confirm the data lands in your system correctly before you order the rest. It's a day of work. **Related:** - [2D scanner readiness for the warehouse, not just the register](/blog/warehouse-2d-scanner-readiness/) - [Sunrise 2027: what it actually requires from your Fishbowl implementation (and what it doesn't)](/blog/sunrise-2027/) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 9, 2026. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Queries, Part 1 (with Israel, Aleksa, and guest AJ Murrer) > Watch Israel teach a new student, AJ Murrer, the basics of Fishbowl database queries and SQL joins to help with reporting. What happens when someone interested in learning more about Fishbowl queries meets with Israel? We get a new lesson. Join us and our new student, AJ Murrer, as we dive into the Fishbowl database, learn about joins, and answer all of AJ's questions to help his client with reporting. [Watch on YouTube](https://www.youtube.com/embed/7K4ocx6SPI4) We hope to do a few more videos with AJ in the near future, get into the nitty gritty of Fishbowl databases, and get more teaching moments between Israel, AJ, and (hopefully) viewers like you. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published April 26, 2021. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Check out the Learn SQL Series on YouTube! > Our Learn SQL Series teaches the basics of SQL and Fishbowl Inventory through clear, informative videos on YouTube. If you have ever been curious about how to write SQL but don't know where to begin, you've come to the right place. Our **Learn SQL Series** features Israel Lopez teaching our fellow U.S. consultant Joshua Klar *(and you!)* the basics of SQL as well as some Fishbowl Inventory basics. Learn about databases, reports, get tips and tricks, and go beyond! [Watch the Learn SQL Series playlist on YouTube](https://www.youtube.com/embed/videoseries?list=PLtcEa3aDTHIpxhY7cdjQ0lbPQMRFqWYJ7) The series currently has 5 videos for you to watch, and we livestream a new Learn SQL Series video a couple of Fridays a month *(basically, whenever the team has an hour of "free time")*. Join us during one of these livestreams, leave any questions you have in the chat, and get them answered in real-time. Understand the basics of SQL as well as Fishbowl Inventory with these clear and informative videos today! --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published May 20, 2020. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # NetSuite and Fishbowl: Let's Break it Down > A look at NetSuite and Fishbowl for inventory management, comparing the two systems for growing businesses. This article compares NetSuite and Fishbowl for inventory management. The original post on Fishbowl Inventory and NetSuite filed under Articles and Corporate, tagged Fishbowl, Fishbowl Inventory, Inventory management, and NetSuite. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published April 21, 2020. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Podcast Transcript (Episode 1: Go Live) > Transcript of the first ILC Business Podcast episode, where Israel Lopez and Joshua Klar introduce the show and share their backgrounds. Listen to the episode: [https://podcast.ilx.io/episodes/ilc-business-podcast-ep1-go-live](https://podcast.ilx.io/episodes/ilc-business-podcast-ep1-go-live) ### Transcript for Episode 1: Go Live **Israel Lopez (00:00):** Hello and welcome! This is the ILC Business Podcast, episode one, Go Live. My name is Israel Lopez, I'm joined by our co-host, Joshua Klar. Since this will be our first episode, let me explain what we want this show to be about. This podcast is for business owners and managers working in a small to medium-sized business. We'll talk about the challenges of those businesses and how we help those companies navigate a changing business environment. Expect a show from us every other week. We're on Google Play, Apple podcasts, YouTube, and Facebook. Subscribe now and get notified on our next podcast release. With a little bit of the housekeeping out of the way. Let me introduce Joshua Klar, one of our associates, consultants from New York who is joining us via the power of the internet. I've had the pleasure of working with him for a couple of years now and he's now part of our firm. Josh, tell us a little bit about yourself. **Joshua Klar (00:46):** Okay, so I met Israel in 2017 I was working with a client. My background is in QuickBooks. I'm a QuickBooks ProAdvisor, and of course that led into people wanting to know more about how to use inventory in QuickBooks and it's really not that great, so I looked at Fishbowl and needed people to ask questions about when things got really customized or difficult, and Fishbowl support was difficult to get a hold of on a regular basis and other consultants weren't that great either. So, I was surfing YouTube and I found Israel's YouTube videos and talking about SQL and it was just really to the point and great and I wanted more and he was busy so they weren't coming as quickly enough, and I kept touting him and then we started talking and eventually I had Israel working with a client of mine and then we decided, hey, let's team up. If I can specialize on the QuickBooks side of things and I can have Israel help my clients with specializing on the Fishbowl side. We can make a good team. And so, that's where we've been. **Israel Lopez (01:55):** Yeah. And actually, you know, I was making YouTube videos in 2015, 2016, 2017, taking a bit of a hiatus. This is our new kind of media effort here in 2020. But yeah, that was a whole lot of fun. Just sitting on a weekend with my computer and making a video up and things like that. I didn't really make it for anybody specifically, I was just wanted to make YouTube videos talking about what I was doing in the Fishbowl market and just to essentially prove to other people like, "Hey, you know, this stuff is not that difficult. We can do it." I didn't realize that that's really like a marketing strategy, so I had a lot of people interested in what we were doing and I even tried to make a, what was it, a SQL course as well, which, you know, things got busy. **Joshua Klar (02:41):** That's the one that hooked me. That's the one I liked. **Israel Lopez (02:44):** Yeah [laughs]. We'll probably do something like that again, but yeah, it was a whole lot of fun during those three years, two years making those YouTube videos. But anyway, so let me talk a little bit about myself. I'm the owner of Israel Lopez Consulting, my name's on the company. We are a business consulting and software development company. Our main platform is Fishbowl Inventory. It's a warehouse and manufacturing software for small businesses, and that's where most people know me from. That's probably why you're listening to this podcast is because, hey, it's on my website, and if you're looking for Fishbowl consulting, we're probably the best company that can offer that, and in terms of the kind of feedback I've received from customers, and the type of customers we've been working with and how we turned them around, we think pretty highly of ourselves. **(03:33):** Honestly, no one else's is going to toot our horn for us, so might as well do it. Anyway, so let me talk a little bit about my Fishbowl journey. My first exposure to Fishbowl was in 2009. I was a contract IT professional, doing break/fix for a medical device company. They were making heart valves here in Irvine, California. And, the Fishbowl consultant and I were just in the same room at the same time. And he asked the question, "Hey, do you know databases? Do you know how to write reports?" And I said, "Sure." [laughs] I had come from a previous background, at a public company that had Great Plains and I was doing some queries and getting some of my own analysis teeth, you know, cut there. And eventually, you know, I started providing consulting services to this consultant and we started doing software development. **(04:24):** We even created a company, that company was called Fishbooks Pro. And, in 2014, decided to go solo, and with my own company, 2015, we actually set up an LLC for ILC. And ILC now is, I guess you could honestly call it a global company. I mean, it's pretty global once you have, you know, bank accounts in multiple currencies, right? We do a lot of work in Australia, there's a Fishbowl Australia down there, taking care of the Asia-Pacific region. We have a staff member in Brisbane, Australia. I have another staff member in India who provides a lot of software development services in that time zone. We have a software developer in Mexico City. We were just there a couple of weeks ago, doing our annual planning, and I've got a tech support in Hollywood, California. He works from home, we all work from home. And then myself here in Orange County, California. So yeah, that's us and the company and what we're doing. So anyway, so a little about the introductions out of the way, let's go into what we're talking about, the show. Josh, go ahead. **Joshua Klar (05:31):** Okay. So we planned this and set aside some questions to ask each other, and I've got the first one to ask you. Israel, what was the start of your entrepreneurial journey? **Israel Lopez (05:40):** So, believe it or not, when I was growing up, always been pretty entrepreneurial. As a kid in high school, I'd be, you know, doing those stock-picking contests on Yahoo, CNBC. In fact, my first, job was under the table at a computer data center in Orange County. Later I got a work permit, so that got all squared away. But that all worked out. And I guess you could say that my first LLC I created with a high school friend. That bombed [laughs]. We barely made any money, but we walked away from the LLC, couldn't pay any of the fees for California. California has a very high LLC annual fee. But then that didn't discourage me. I ended up creating a second, a third, and a fourth, and, again, all of those bombed as well. That's for another show. But all those taught me something new about business, right? So, I think my entrepreneurial journey really just started with trying to figure out what a business was really like and learning. I guess for many people, you know, school of hard knocks, what a business is not, you know. And yeah, I've been taking a lot of that experience and learning from my customers and trying to help other people. Josh, what was the start of your entrepreneurial journey? **Joshua Klar (07:04):** I would say, I used to go to the library as a kid and they had these Boys' Life magazines, you know, the ones for Boy Scouts. In the back of it, there was always this glossy picture of toys and games and stuff. And it was by Olympic Sales Club. I don't know if anybody remembers that, but it was in the '80s. Basically it was a safer time then where they would entice children to go door-to-door selling stationary in exchange for prizes. So, maybe slave labor? I don't know, is was pretty cool, 'cause it was like a dollar. The rewards were like a dollar for each item that you sold for like 10 bucks. So in the end, I think I made like a couple thousand dollars, as like a 10 or 11 year-old kid. But what was interesting is, I had somebody living in our house. He was boarding there, and he was like a salesman. He really liked doing a spiel on everything. You know, you knock on the door, you don't say, "Do you want to look at these parts?" You say, "When would be a good time?" So, there's no yes or no answer. It was all this psychology, and I liked it. We even made some business cards and stuff. But that was something that got me into it and kept me organized and I had to make sure to deliver everything. **(08:15):** Then later on, I got into Ebay. I was just fascinated by Ebay and the sales and how everything went there. I remember trying to buy a Flash card and it was so difficult to buy them. People just kept outbidding me and I thought, "Wow, maybe I should sell these." So I called up Dane-Elec, actually in Orange County, and they didn't say, "Hey, do you have a college degree? Do you have anything else?" They wanted a tax ID number. I used my dad's [laughs]. **Israel Lopez (8:45):** [laughs] You used your dad's tax ID number? **Joshua Klar (8:46):** I used my credit card. My first order was like, $4400. I bought 256-megabyte Flash cards, CompactFlash, and 128-megabyte. And yeah, I sold them within like a week, and doubled my money, and I was like, "Oh, wow, this is cool." And so I kept doing it. But meanwhile, while I was doing this, I didn't really understand, you know, inventory and how it was working and I really didn't know if I was making any money until, you know, I was just spending a huge amount in credit cards, paying them off a month or two later. So I always had money in the bank, but I didn't know if it was mine or not. It was a little scary. And then finally when I stopped the business, I sold everything off and saw exactly what I was worth, so that was a little frightening and I didn't like that. **(09:28):** I do like to be organized. So, it was definitely uncomfortable to be going through business that way. And so basically, yeah, from there I got into QuickBooks. I started doing it for other people, and just because I was so terrified of QuickBooks myself, handling it on my own, I would basically with my own business just keep pushing this off. But, once I started working for other companies, I was able to objectively look at QuickBooks and then just kind of get the pressure off and just really understand how to do it piece by piece over a few years. **Israel Lopez (10:08):** That's awesome. It's funny how like you're talking about going door-to-door sales, cause I've actually done that before [laughs]. You know, I think that's a common rite of passage. I hated it, you know? I hated it. You know, childhood for me was really different than, I guess, adult me. But, it was good, you know, you learn, we learned how that was like. **Joshua Klar (10:33):** Okay. So, Israel, what would you say your childhood was like? **Israel Lopez (10:38):** So, my childhood, let me kinda paint the picture a little bit. I grew up in San Clemente, California, very sleepy surfer town. I believe Nixon, or one of the past presidents, I'm dating myself now, called it the Western White House, 'cause they had a big property there. I'm not even sure that's right either, I think that was Yorba Linda or something like that. But I knew San Clemente had basically be a sleepy surfer town for many years, that's how I remember it. Many summers walking barefoot to North Beach with my best friend and, you know, body surfing for hours on end, much to the annoyance of my mom, who much preferred me to be at home, away from the scary waves 'cause that's, you know, who knows if the life guard will get me to get to me in time, who knows if I'll get hurt. Even my best friend got hurt, dislocated his shoulder on a wave. But yeah, that was basically childhood. But after the sun was down, my best friend and I would head back to his house and we'd be playing video games and sometimes, you know, we'd be playing Warcraft over dial-up modems in the evenings 'cause, you know, my mom would demand for me to be back home. So I'd run back home, I'd dial him up or he dialed me or we tried to do this over the internet. And we'd be total nerds just trying to play video games. And as most kids are trying to do, stay up past their curfew and just be cheeky like that. All my education was in San Clemente, from elementary school through high school. You can honestly call me 100% Grade A, full-fat nerd. Did Academic Pentathlon in grade school. Did really well there. Tried Academic Decathlon in high school. Did not do well there at all. Different kind of vibe. The academics, I don't think I was too interested in. And I ended up back into my other love, technology. And I guess I just loved computers from a very young age. So, Josh, what was your childhood like? **Joshua Klar (12:43):** My childhood, I grew up in New Jersey in the suburbs and you know, I've always loved technology, as well. Not computers as much as just tinkering and stuff like that. But I always loved, I remember even as a kid, I loved to be organized. I just didn't always have the the skills to be so. So I was, like, frustrated a lot. I was very obsessive compulsive about things and need everything to have an order and a place. And it just drove me crazy that I didn't have that. I would take things apart to try to figure out how they worked. This is pre-YouTube, so I had no idea how to put 'em back together again. So there was a lotta broken things around the house that were waiting to get fixed but never did. And so, that's really it. I traveled a lot when I got a bit older. I hitchhiked through Europe, did stuff like that. And I was just looking for something to grab me. Israel, what is your consulting superpower, and what is a superpower you wish you had? **Israel Lopez (13:44):** Okay, so I had this experience rather recently. I was onsite with a customer in Austin, Texas. I love going onsite 'cause you get to see everybody you talk to on the phone and you get everyone's attention, and we get a lot of things done. And one of the common things that, I don't know when this started happening, but I think I was just a habit from my telephone support days, My first job was in telephone support, you know, you're helping grandma set up their email. So while I was talking somebody through, I'd be also trying to troubleshoot something with my hands, typing something out. And I think over the years I've kind of honed that listening and talking ability into just being able to type and think at the same time. And one of my superpowers, I guess you could say, is I have the ability that in a room or by phone call to be listening for somebody's data request out of the database, with any database, but Fishbowl's my #1, where I'm very, very comfortable, and I'll start typing out some SQL in real time. So as these business leaders and executives or managers are talking about, "Oh man, I wish I could have sales data for this or that," I'm actually either furiously clicking to copy and paste queries together, or I'm typing something out by just memory. And I'm barely looking things up, and it's kind of fun to go from letting a sidebar conversation of like, "I wish we had this information. I wish we had this insight somewhere available," and being able to just have it readily available on hand by the time that conversation finished five minutes later. Because invariably that doesn't happen. You have an idea and you gotta wait a week for the response and it's kinda fun to have that kind of superpower to be able to take the idea and execute it as quickly as I can. **(15:43):** And a superpower I wish I had, well I was thinking about this for a while, and a superpower I wish I had, I wish I had the power to give people an instant self confidence boost, and I'll tell you why. A lot of things that I deal with is just like, "Guys, you know, if you've only seen the things that I've seen already," or like, "If you just had a little more either risk tolerance, or maybe you knew that it was not as risky, or it was possible already, that maybe you'd want to do it. You'd maybe want to try something new, or maybe you'd be able to push forward an idea." This applies to people that are junior associates at accompany, or even executives. It's like, hey guys, have a little faith. You've built this business, you definitely know what's going on. Sometimes I wish I could just say that I had a magic wand, and I can just tap 'em on their head, like, instant self confidence boost! [laughs] And then, "Aw man, we can do this. This is fun! This is great!" And the energy comes out and, and we stop hand-wringing problems. And we kinda get moving forward. So yeah, that's kind of the superpower I wish I had. So, Josh, what is your consulting superpower and what is the superpower you wish you had? **Joshua Klar (17:03):** Okay so, for the superpower I'd say it's more of an advantage that I have is that, I touched on earlier, I started as a terrified novice. I even remember finding somebody on Craigslist who knew QuickBooks and paying over $200 to teach me. And then let her keep the deposit, never called her back 'cause I just really didn't wanna go through it. And finally what helped was just, once I realized I could be objective and just look at someone else's business without getting emotionally involved I was able to really start at the beginning. But, even though now I'm an advanced ProAdvisor with 10 years of experience, I still very much remember that pain in my stomach I felt every time I had to do something new or go out of my routine a little bit. And so I think that allows me work with both people that are accountants and people that are totally new to accounting. When I'm training them, working with them, people just assume that I'm coming from a place where, if you're good at QuickBooks, you must be naturally good at math or accounting or something and I didn't even get started on this 'til I was in my 30's. Before that, everything was just a mess. So that, I think really helps people hear that, and they feel a little bit more at ease. And I try to train people the same way I wish I had been trained. There were things that really didn't make sense to me for years, I just kind of went along with it. And then maybe made sense one day, and then I was just wishing that someone had just showed me this sort of model and just explained it in a way that made me understand it. So I think I'm able to bring that to beginners and people who are even advanced that are just starting a new thing, like getting into inventory or a different part of technology that they just haven't been exposed to before. Power I wish I had, I would say I want yours. I want that SQL power, that's pretty cool. [laughs] **Israel Lopez (18:56):** [Laughs] Yeah. When people see it, it's pretty amazing. **Joshua Klar (19:01):** I guess I don't need it 'cause I have a crutch, I have you so if I need any of that stuff I just ask you to do it, and I don't need to spend the hard work putting into actually getting good at it. But I'd like to one day, so that's something I'd like to work on. **Israel Lopez (19:13):** You'll get there. Separately, actually to the audience, Josh and I sometimes will have time going through me showing him how databases work and things like that. And that's something that we care about here at the company quite a bit, like we want people to have a really accessible skill level with technology, with anything that we do here at the company so that it's not, you know, that foreign. But, yeah, we're working on Josh's case, so hopefully Josh will get that superpower and will share it with other people. **Joshua Klar (19:45):** Okay. So Israel, what are your 2020 goals? **Israel Lopez (19:50):** Sure, well, number one, I have a burning, burning desire to fly a plane. I've always been interested in aviation as a young kid, played a lot of video games with planes in 'em. And, I don't know, I guess when I turned 18 and got into this business world, I never thought that I'd get back to that. It was just, put away childish things, you know. Let's get the Excel sheet and get to work. But no, so I'm going for my pilot's license. I even got all my books that I need to read, all the FAA literature that I need to get through. I even have flight simulator equipment here at the house. And yeah, so I'm going to go for my pilot's license in 2020. On top of that, I've also, more business oriented, 'cause I ask people, "How do planes fly?" And everyone talks about the physics of air and gravity and air foil and things like that. And I just say, "Nope, money. Planes fly on money, and you need lots of it." So what we're trying to do with ILC is like, on top of just making more money, and that's just a given, I want to have a more data-driven process. More than just financial budgets, I wanna have time and project and internal development budgets, very precise in what we're doing. So I've hired a new dashboard company out of Australia. We'd actually like to include him here on the show one day, to talk about our journey with that. And ultimately, give us more to show other executives, look it is possible, yes it's someone like me, who hasn't had a dashboard before and is now putting one together, but I can tell them, "It's going to cost you this. You have to think about this. You have to have your provider or your partner who's doing that needs to help you this way. You need to be this kind of honest with them," et cetera, et cetera. Because, yes, at the end of the year, we do want to grow our revenue by somewhere between 30-37%. So that's a pretty big lift and with no new employees. That's the biggest thing. I made that statement in 2019, "We're not hiring anybody." Same thing in 2020, I'm not hiring anybody. We are gonna do more with the same amount of people because we're gonna provide different services, different products, we'll have a store in 2020 actually that should be live. Now as part of the company, so there's **store.ilx.io** that customers can go to, put that little little bit of housekeeping there. But that should be live, we should be selling some products, some plug-ins, some port solutions, integrations, things like that and, you know, that should be a bigger part of our revenue going into 2020. Anyway, that's that's the boring, business stuff. Josh, what is your 2020 goals? **Joshua Klar (22:46):** Well, I've been working for years on getting a better way to organize my time and I started using Accelo as a project manager, which we both started using independently of each other. Now we're both using it. But I've been working recently to just really understand it better and better handling of my time and following up on small leads. Like I said, I'm obsessive, but at the end of the work day, I end up worrying, did I miss anything? So even though I'm not doing any work, I'm still worrying about work. So I'd like to have a way to have everything, just know that anybody wants to take you up, I wanna to delegate any job, I have everything organized and so I've been doing that this year and I wanna really implement everything to smooth out all the creases in 2020, just really take that so I could just block out my time for important things and I'd like to have a system where the priorities get done right away and then nothing falls through the cracks. **Israel Lopez (23:46):** Awesome, yeah. And I think that's a big challenge with a lot of businesses. I've talked to several businesses where I say, "You know, unless you really know where your time's going, you don't really know what your business' priorities are." You say that your priorities is this or that, but if that's not your #1 time investment, that's not really your priority. And, you know, Accelo, we've been using Accelo for a few years now, and we definitely don't use Accelo to its highest degree either, but it's working well for us, and we'll probably have another show talking about business project management in-time tracking systems, et cetera, et cetera. But yeah, for now, Accelo is the best kind of platform I've seen for a professional services company like ours. And I just to explain it a little bit, Josh has his own firm on his own, we just borrow Josh [laughs] when we have QuickBooks issues with our customers, and it's better for someone who's actually trained in QuickBooks, not someone like me, who's had to learn it because there was nobody else around who could help the customer fast enough. And that it's been great working with Josh because he brings a huge amount of knowledge and experience to the QuickBooks world, and I bring the same amount on Fishbowl, and that just complements us really well. Anyway, so that's the show. I think we're done, we're out of questions. We don't wanna keep our audience on the hook for too long. So let's talk a little bit about what we're planning on talking about in our next show topics. **Israel Lopez (25:23):** You know, we're gonna talk about, what is the best way to prepare for a consultant. You know, if Josh or I show up, how is that experience going to be like? Let's kinda bring you through a from-start-to-finish kind of engagement. We'll talk about, how can my business be successful with an ERP implementation? We'll talk to you about some of our horror stories, some of our success stories, you know, challenges companies can face with that process. We might even be able to invite a customer to talk to us about that. We'll talk about selling with Shopify and eCommerce strategies, how does that work? How do we deal with dropshipping? How do we deal with inventory management? How do we deal with that order processing payments, et cetera. We'll also talk about CRMs, such as Salesforce, Base CRM, Zoho, there's hundreds of thousands of them out there, and they all provide different things. We'll talk about, when do I need custom software? My firm, we build software every week, right. And we're very used to going through that process, so we'll take some time out to talk about how we do to prepare for that custom software, and how companies can think about when the right time to use custom software, or when is it the right time to just buy something off the shelf? We'll tackle topics such as forecasting, budgeting, with relates to inventory, the sales and the general expenses that happen in an inventory-manufacturing business, and things like that. **(26:50):** We also take questions at a **podcast.ilx.io**, that's "P-O-D-C-A-S-T" at "India-Lima-X-ray" dot "I-O". We'll take questions there, we'll read them on the show. We'll even send you an ILC mug. Anyway, that's it. That's our first podcast, and thank you for joining us. Whether you've got a $100,000,000 business or a $1,000,000 business, the challenges are all the same. And we're here to talk through all of it. Join us again in two weeks. Take care, good-bye. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published January 27, 2020. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # BI Script For Fishbowl Inventory > An early look at Fishbowl's new BI Script reporting: HTML, CSS, and JavaScript reports replacing iReport, why it changed, and how to prepare. [Watch the video: BI Script for Fishbowl Inventory, An Early Look at HTML/CSS/JS Reports](https://www.youtube.com/watch?v=dbezCsOvwh4) Earlier this year our company provided an up-to-date review of the new Business Intelligence landscape for Fishbowl 2018. But in the new 2018.6 update, there was a new module that was quietly introduced: the BI Script for Fishbowl Inventory. Today we will discuss what exactly the BI Script is, what problems it solves, and more. Let's get started. ## What Is BI Script? BI Script is a new report strategy that Fishbowl is putting together as part of their new Fishbowl launch for 2019. BI Script is part of Fishbowl currently, but there will be a few upcoming changes. Instead of using iReport, a specific report designer, reports will now be designed in the standard HTML, CSS, and JavaScript formats. These are the codes that web designers use to design pages, design user interaction, and control the overall rhythm that happens on your screen. The design process now happens inside of Fishbowl, instead of having to use an external design program for reports. BI Script is the design tool for reports to rest and run inside of Fishbowl. In the current version of Fishbowl, you can only see the BI Script designs inside of the program. However, in future versions, there will be a BI Report module where you should be able to publish the reports that you are designing to the greater audience inside of your business. It is primarily designed to work with the query data that is in Fishbowl: it is rendering the output, design, and interaction through an actual browser. To access the BI Script module, you can find it under the "general section." [Check out our video above](https://www.youtube.com/watch?v=dbezCsOvwh4) to see a demo of all of the different charts, templates, styles, scripts, and pages. ## Why The Change? This new change is in progress because iReport is at the "end of life." In iReport, you can technically migrate the files into an editor named JasperStudio. But Fishbowl wants to make things much simpler for its users. Fishbowl is turning to HTML because more people understand it than other design formats such as JRXML. It takes a lot of time to learn how to use and be productive in iReport because of the format it uses. But most businesses have a web designer on hand who is able to handle most of the HTML, CSS, and JavaScript formats quite easily, and will be able to get the reports much faster as they do not need to wait for a consultant or team member to be available to help them build a specific report. ## What Problems Does BI Script Solve? There are a few important solutions that BI Script provides. We are able to create table and data reports where you can see the result and just peruse through it and see the overall results. You are also able to do self-service pivoting to create custom results. You can also expect more user interaction with these reports as your company figures out different ways to interact with the end user. For example, a production manager will be given the data that they are looking for, and you are able to design the interaction that you want. The customization on this module is great and will be taken advantage of by many users. Most likely, many consultants will be designing their own templates so they can have their own spin for their clients. ## Who Can Help Me With BI Script? There are a few things that you need to know before using BI Script (or hire someone who does). You will need to know: - HTML, which is the layout language in design. - CSS, which stands for Cascading Style Sheets. It is the styling that allows you to keep a color a certain shade, or have rounded edges on a strip on the webpage, or have hover capabilities. - JavaScript programming. You need the programming to build and receive data from Fishbowl. It is formatted a certain way, can be displayed in a specific way, and converted in a particular format. These are all of the design tools you will need to understand to use the module. In addition, you will also need to understand the SQL database for Fishbowl. It is important to know where the data is located, where you need to transfer it, why it is useful, and so on. Not only do you need to understand the Fishbowl database, you will need to understand how Fishbowl uses it, and its business process around picking, packing, and shipping, and what fields work for what you are looking for. Finally, you will need business tribal knowledge such as knowing what a custom field is used for, how a company uses Fishbowl, where to input certain data, and so on. A partnership with a consulting company is critical in order to understand what needs to be built, how it needs to be built, and what problems it is solving. Consultants know everything about Fishbowl, so it could be critical to work with one to be able to develop a very useful report. You can hire web designers or even interns for the HTML, CSS, and JavaScript solutions. But you will need more of an internal champion, someone who truly knows the business for the SQL database and business process. ## When Will iReport Be Sunset? As far as we know, there will be no changes in the near future. However, if you are using older versions of Fishbowl 2017, we would strongly recommend upgrading to at least 2018.6, or even better to 2018.8, only so you can start to gain experience with BI Scripts. You should have experience using it, especially if you plan to be using Fishbowl for at least five more years. The Legacy Reports will eventually be removed, and iReport is already at the "end of life." We can tell it is at EOL already because even the consultants at our company are noticing that it takes a bit of effort to get the program up on our computers. But the BI Script is now available, so try to install any version after 2018.7 so you are up to date on the latest and greatest. You can start playing around with it and seeing how to get data out of Fishbowl, how to get data on the screen, and how to use certain JavaScript libraries. This all is part of the Fishbowl installation. It is rumored that the new Fishbowl databases and the new companies will be on BI Script only reports starting in 2019. If you have custom reports designed around iReport, you should be able to reactivate the report again. But any new reports will be BI Script only. The actual sunsetting of iReport will probably happen sometime past 2020, and there will most likely be some transition costs. It is important to know that not everything that is currently done in iReport has an immediate translation to BI Script. It will take some work to fully translate everything from one program to another, and it is important as a company to plan for that budget. We have an approximate budget of $200 to $300 per report plus consulting hours to transition reports to BI Script. Beyond this, we do not expect any more product challenges. ## How Can ILC Help? At Israel Lopez Consulting, we can help you create new BI Script reports. Obviously, this is new to everyone in the industry, but we are doing our best to be as knowledgeable as we can. We have a new BI Report Developer on our team strictly for these new changes. They are someone who has iReport experience and is currently learning HTML and CSS. Working together helps the transition process. We are able to help you convert the Jasper Reports and iReport solutions into BI Script reports. But keep in mind that it will take some time and money. It is a good idea for companies to start planning their budget for that now. We are also able to support an internal designer with SQL queries. Our consultants, support techs, and Israel Lopez himself are pretty handy at being able to design SQL, and can go through our library of queries and show you what you are able to use. We are even able to help your employees or interns understand where the data goes in these programs. We support the queries through a billable retainer, and can even provide courses and consultations on business intelligence best practices. There are certain things that are best in BI Script, and others that are better in ODBC SQL queries, or Tableau, and so on. We are able to advise you on which tools your company should use depending on what outcome you need. At Israel Lopez Consulting, you will find that we are easy to talk to and always ready to help foster intelligent business solutions. Whether your needs are Information Technology, ERP implementation, business logistics, or custom software solutions, we will help maximize your bottom line. We work with Fishbowl Inventory, QuickBooks, and a host of other applications that drive many of today's modern businesses. Aside from our professional expertise, it is our overall business acumen and quality of service that truly sets us apart from the competition. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published August 17, 2019. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Inventory: Business Intelligence in 2018 > A look at the Business Intelligence options in Fishbowl's 2018.7 release, from Legacy Reports and the Data Module to Excel ODBC, Power BI, Tableau, and BI Script. Fishbowl is the leading provider for manufacturing and inventory warehouse management among QuickBooks and Xero users. Fishbowl also works as your stand-alone solution for asset tracking and expedited reporting capabilities. It has the solution to turn your warehouse headache into a few simple clicks. The great thing about it is that Fishbowl offers many options for Business Intelligence, but there have been many changes in their new 2018.7 release. Let's talk about them. ## What Is Business Intelligence? According to Wikipedia, the term Business Intelligence (BI) refers to technologies, applications and practices for the collection, integration, analysis, and presentation of business information. The purpose of Business Intelligence is to support better business decision-making. In our opinion, business intelligence is a three-part process. The first part is taking data and making a decision that will spur on a different outcome (that the business wants or that the internal team needs). Those outcomes result in providing value to the customer in some way (such as being able to deliver minimal cost, sustainability, and/or more robustness in the business). Eventually you get an outcome you need that will help improve your business and its bottom line. ## What Options Are Available in Fishbowl? This is a question that may be asked by new customers who are considering using Fishbowl from a strategic point of view for their business. Fishbowl's oldest customers will wonder what the new update can do for them. Will this be the right fit for your company? Let's take a look at the options: ## Fishbowl Features and Solutions ### Legacy Reports Now, we coined them the name "Legacy Reports" as Fishbowl will be changing the way they approach reports. They use a technology called JasperReports, which actually requires a design application called iReport. It is a prepared output page level report. However, it may not be better suited for people who are used to the Excel format with cells, columns, and rows. It served us well for a very long time, but it is time for a change. ### Data Module In the Data Module, you are able to view and export information from the Fishbowl database. You are able to run queries, save, and export them into .CSV and .XLS files. It is important to note that the Data Module requires you to understand SQL and the Fishbowl database. But Fishbowl does provide a data dictionary, and a fair amount of tools for you to learn what it is. It also has parameters for those who are not familiar with editing SQL Syntax. It allows them to just run a query and prompt a parameter such as "date range" and then go on. ### Excel ODBC Excel now has a feature called ODBC queries. ODBC stands for "Open DataBase Connectivity." It is great for us as practitioners of business intelligence to have this tool. We can take the data from Fishbowl, collect everything we need, and transfer it to the business owners who are more familiar with Excel. They will have all of the refreshable raw data, and they can put in additional formulas, pivot tables, other analysis and then share them with your team members. It will connect to the Fishbowl database and make it available for everyone to see. ### Power BI / Tableau Fishbowl is able to work with outside analytical platforms such as Microsoft Power BI and Tableau. Most people know about Power BI over Tableau because of its huge marketing presence in our space. But both platforms are great at connecting to the database in Fishbowl. Back in 2016, Fishbowl was using a database called Firebird, but they are now using more recognizable databases in MySQL. It is now very easy to learn the Fishbowl database, and to connect to MySQL. ### BI Script BI Script is the newest addition to the Business Intelligence landscape in Fishbowl. The BI Script module allows the creation of robust HTML reports. It is a developmental tool that goes along with Fishbowl. You now do not have to install and maintain a separate application to write reports. You can use BI Script to do it all inside of Fishbowl. Now the biggest paradigm shift with BI Script is that they started using web technologies to build reports. They are now at a level of accessibility where it is easy for most businesses to find help. ## Business Intelligence: The Different Approaches When working with various companies, more often than not, the needs are more tactical than strategic. Meaning, "I need to get this answer right away," "I need to react to this question that I have and must get an answer as quickly as possible." That's usually the triage aspect of the consulting our company will provide. But there is also another aspect of consulting where it is a lot more strategic. ![Fishbowl Business Intelligence](/wp-content/uploads/2018/08/Screen-Shot-2018-07-30-at-7.54.51-PM.png) ### Strategic Approach When looking at the strategic approach it is more long term. We're looking at the possibility of being able to get multiple insights out of our efforts of designing a particular BI solution. We also want to be able to design something easily by using the Fishbowl platform. We use the data that we receive from third parties, and being sure that we are able to find homes for that data (all while making sure to keep the data fairly clean). ### Tactical Approach The tactical approach is a lot more time-critical: we are being more reactive because we have a very focused insight that we want an answer for. What we are looking for in the tactical approach is almost like "the speed of thought." As we continuously get answers to our questions, new ones may arise as we keep going. But once you use the platform more, you will start to get the hang of it and will be able to answer your new questions quickly. Now how does this apply to the tool set? Some tools are better suited for different aspects; some could have a little bit of both. The legacy reports were always a strategic approach because you needed to have planned time with a consultant who was able to have the resources you need to build your report. To this, Fishbowl responded with a Data Module, where now it is possible to write queries and get an answer right away. It was possible to talk to someone on the phone and get an answer live. That person is able to copy and paste a query so you could get an answer very quickly. You can keep those answers, but eventually would want to transition into a more permanent/strategic solution. Companies who know what kind of visualizations they need, but have a hard time navigating the Fishbowl platform can turn to Excel ODBC, Power BI and Tableau. Now, Tableau bills itself as a "speed of thought" type of solution. But, once you have input more Fishbowl data into the platform, it becomes much easier to use and comes out on the strategic end. BI Scripts could be tactical, because it's based on the people you find. Anyone new to the platform will take time to mature and develop into more consistent outputs. That is one of the things that concerns us about anything new: how is this going to change the way customers approach Business Intelligence. ## Wrapping Up In conclusion, we are very excited about the changes that Fishbowl is bringing onto the table with their new 2018.7 release. Our company is right behind them in being able to provide solutions for all of the different technologies that Fishbowl has offered. We think it's going to have a positive effect on companies all around. If you have any questions about BI tools, BI solutions, queries, databases, or even if your needs are more tactical where you need an answer that day, we are happy to help. If you would like us to come to your offices and review your Fishbowl process, or if you are interested in the Fishbowl platform and would like to talk to us about how that could apply to your business, call us today to get started. At Israel Lopez Consulting, you will find that we're easy to talk to and always ready to help foster intelligent business solutions. Whether your needs are Information Technology, ERP Implementation, business logistics or custom software solutions, we'll help maximize your bottom line. We work with Fishbowl Inventory, QuickBooks and a host of other applications that drive many of today's modern businesses. Aside from our professional expertise, it is our overall business acumen and quality of service that truly sets us apart from the competition. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published August 4, 2018. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Adventures in SSL: TLS 1.2 & Klipfolio > How an old Windows Server 2008 box broke TLS 1.2 and stopped our KExtract tool from publishing data to Klipfolio, and why upgrading was the fix. SSL is the web technology that enables secure communication between computers. It's an intricate system with many different components that all work to prevent eavesdropping on communication. It is the technology used to enable secure banking, eCommerce, and regular communication. The basic idea is that you must trust both conversation participants to communicate securely, and if you can't, then you should not communicate at all. That is basically what we discovered earlier this week. A client of ours is using our KExtract product, a tool that publishes data from internal systems to an amazing dashboard service, Klipfolio. They had mentioned that about a month ago the updates stopped working. After a couple of days of investigation we discovered the true problem. > The client and server cannot communicate, because they do not possess a common algorithm... This was buried a few exceptions deep. Missing Data -> Missing Response -> Failed Web Request -> Failed Security -> Client and Server cannot communicate... **Bad developer, no bonus.** We thought, hey, let's fix the communication. After a few Stack Overflow dives we discovered the one thing that made it not work for _this_ customer: their server version, Server 2008. The gist is, Server 2008 is simply too old to have the security software to enable modern encryption. Reference this Server Fault post: http://serverfault.com/a/751903 ![newserver](/wp-content/uploads/2017/03/newserver.png) *Install a new operating system, everything will be fine after that!* Unfortunately for us, these sorts of issues will come up, and we hate to point the cause to something we can't control; but in this case, it is true. We can't control the operating system or the equipment the customer has. At least from a customer service and software development standpoint, we know **exactly** what is wrong. It could have been so easy to pass the buck down to the customer's system administrator, who would probably burn many hours trying to figure things out without the error message clue. In conclusion, upgrade your systems. Windows Server 2008 Service Pack 2 has been end of life for years now (1/13/2015). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published March 14, 2017. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Strategies for Inventory Control > A bit of inventory humor after a busy on-site, sparked by a conversation about inventory aging strategies. ![oldinventory](/wp-content/uploads/2017/02/oldinventory.jpg) Just a bit of humor while recovering from a very busy on-site with a client. I just kept thinking this while we were talking about Inventory Aging strategies. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 22, 2017. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Microsoft Dynamics Navision 2017 - Register Interest > We are gauging interest in a Fishbowl to Microsoft Dynamics Navision integration, including a phased path from QuickBooks to full Navision. ![Navision2017](/wp-content/uploads/2017/02/Navision2017.png) ## Dynamics Navision 2017 We are putting this post up to see if there is any interest in a Fishbowl to Microsoft Dynamics Navision integration. We have received a few requests for this, and we wanted to see if the interest is greater than a unique few. ILC is prepared to work with a customer who wants to continue to use Fishbowl, but would prefer to use a more robust accounting system like Navision. We can see this scenario work because as customers want to transition to Navision, they can do so in a two phase implementation. - Fishbowl & QuickBooks - Fishbowl & Navision (Financials), Phase 1 - AR - AP - GL - Navision (Full), Phase 2 - AR, AP, GL - Sales - Purchasing - Manufacturing - etc. Please contact us if you want to register interest for this type of integration. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 15, 2017. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2017 Audit Table List > A reference list of the Fishbowl 2017 audit tables (suffixed with _AUD), plus an example query for reading them. As of 2/6/2017 this is the Fishbowl Audit Table List. Audit tables are suffixed with "_AUD". For example, the Sales Order table is "SO" and its audit table is "SO_AUD". When we have more information about using audit tables, we will update this post with new information. ## Example Query ```sql select * from so_aud ``` ## Tables ``` ACCOUNTGROUP ADDRESS ASACCOUNT ASSOCPRICE BOM BOMITEM BOMITEMGROUP BOMITEMTOLOCATION BOMTOLOCATION CALCATEGORY CALEVENT CARRIER CARRIERSERVICE CARTONTYPE COMPANY CONTACT COSTLAYER COUNTRYCONST CURRENCY CUSTOMDECIMAL CUSTOMER CUSTOMERPARTS CUSTOMFIELD CUSTOMINTEGER CUSTOMLIST CUSTOMLISTITEM CUSTOMSET CUSTOMTIMESTAMP CUSTOMVARCHAR CUSTOMVARCHARLONG DATAEXPORT DEFAULTLOCATION FBSCHEDULE FOBPOINT INTEGRATEDAPP ITEMADJUST KITITEM KITOPTION LOCATION LOCATIONGROUP MEMO MO MOITEM OBJECTTOOBJECT PART PARTCOST PARTREORDER PARTTOTRACKING PARTTRACKING PAYMENTMETHOD PAYMENTTERMS PICK PICKITEM PLUGINDATA PLUGINPROPERTIES PO POITEM POSTRANSACTION PRICINGRULE PRODUCT PRODUCTTOTREE PRODUCTTREE QBCLASS QUICKLIST QUICKLISTITEM RECEIPT RECEIPTITEM REGISTER REPORT REPORTPARAMETER REPORTSECURITY REPORTTOMODULE REPORTTREE RMA RMAITEM SERIAL SERIALNUM SHIP SHIPCARTON SHIPITEM SHIPTERMS SHIPUPSCARTONDETAILS SHIPUPSDETAILS SO SOITEM SOITEMTOMOITEM STATECONST SYSPROPERTIES SYSUSER TAXRATE TRACKINGDATE TRACKINGDECIMAL TRACKINGINFO TRACKINGINFOSN TRACKINGINTEGER TRACKINGTEXT UOM UOMCONVERSION UPSACCOUNT UPSRETURNSHIPMENT USERACCESS USERGROUP USERGROUPREL USERPROPERTIES USERTOLG VENDOR VENDORCOSTRULE VENDORPARTS WATCH WO WOASSIGNEDUSERS WOITEM XO XOITEM ``` --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 6, 2017. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2017: ILC Software Compatibility List > An up to date list of ILC software ready for Fishbowl 2017, with status notes for Beep1, KExtract, and the ShipWorks and ShipRush integrations. Below is an up to date list of ILC software that is ready for Fishbowl 2017. Please contact us if you have questions about your upgrade plans or software. ## Beep1 Status: Planned. Complete by end of February 2017. ## KExtract Status: Complete. ## ShipWorks Integration Status: Rewrite required. Planned complete by end of February 2017. ## ShipRush Integration Status: Complete. Ready to install. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 6, 2017. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Upgrade Policy for Fishbowl 2017 Integrations > How ILC handles upgrading existing Fishbowl integrations and custom software for the Fishbowl 2017 release, including cost and scheduling policy. ![FB2017](/wp-content/uploads/2017/02/FB2017.png) Fishbowl 2017 will be released on February 9th, 2017. Customers with existing Integrations or Custom Software will need to review this policy to understand our position on their Integrations. ## Limitations When we offer software solutions, we design using the information we have at the time, including Fishbowl's roadmap. In our project proposals, we generally include time-limited support for our Integrations because we believe they should work barring any changes that would occur outside of our control. [Example: Web Hosting changes, Server Installation Changes, Software version Changes, Fishbowl Version Changes]. While we do want our customers to experience a high degree of support for our solutions, we cannot respond to all conceivable environment variations, nor can we do so without additional costs to our customers. Because these changes are real software changes to our software projects, we have to consider our costs for conversion and possibly share them with our customers. Below are the actual tasks necessary to convert software projects to Fishbowl 2017. ## Integration Changes ### Database The Fishbowl Database engine is changing. Fishbowl is switching from Firebird SQL to MySQL. This change will require the following changes in most Integrations. - Database Driver Update - Configuration File Changes - SQL Query Changes ### Fishbowl API The Fishbowl API is not expected to change, but if it does in unexpected ways, customers may experience loss of functionality. None has been found by 2/6/2017. ## What Customers Can Expect We want to be clear to our customers in two ways: what costs will be involved to convert Integrations, and what our schedule will be in the next few months. ### Cost Policy For the majority of our customers, projects will be upgraded at no cost. We want to make sure we detail our policy to be transparent to our customers. The dates below apply to the following: 1) Invoice Date and 2) Payment Date. - Projects with Invoice or Payment Dates in: - Q1 2017 - No Cost Upgrade - Possible MySQL Ready, Check with Support - Schedule - Q4 2016 - No Cost Upgrade - Not MySQL Ready - Check with Support for Update - Q3 2016 - Not MySQL Ready - No Cost up to 2 Hours of Development Time - Check with Support to Schedule - Q2 2016 and Earlier - Not MySQL Ready - Development is Billable at a Reduced Rate - Contact us for the rate - Check with Support to Schedule ### Schedule Policy Customers should not expect same-day upgrade service. Please plan and coordinate your Fishbowl upgrade with us, so we can be ready. Scheduling will be done on a First Come First Serve basis. If we are unable to meet your scheduling needs, please delay your Fishbowl upgrade until we are able to assist. ## Questions If you have questions about this policy, or how it may apply to you, please contact our office and we will be more than happy to develop an upgrade plan. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 6, 2017. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Preparing for Fishbowl 2017 > Fishbowl 2017 moves the database engine from Firebird to MySQL. Here is what changes, the risks, and how to prepare for the upgrade. ![FB2017](/wp-content/uploads/2017/02/FB2017.png) Every new "year" release of Fishbowl has included some massive changes. This year is no different, and we have a big change to talk about: MySQL. Here is what is changing, in the following areas: Infrastructure, Fixes, and Features. ## Changes ### Infrastructure - Database engine changing from Firebird SQL to MySQL. See "What is MySQL?" below. ### Fixes As we saw in the 2016.14 release, there were some fixes that needed to get pushed out, mostly related to Accounting workflows that took priority on the update cycle. Most of the fixes left over are not super critical, thankfully. But they are important to those who include those specific workflows. I still recommend reading the Fishbowl Release Notes Wiki page to get a full update. HOWEVER. There is a major bug fix that is included in this release. - **Price / Cost Discrepancy [PCD]** - AKA: Quintillion Error - Example: sometimes amounts that were $7.00 were being malformed to $7,000,000,000,000,000.00 - This is something I have been tracking since 2012, but it has been fixed, and re-fixed since then. - Fishbowl has now confirmed this is fixed permanently. [Mark my words!] ### Features We are seeing changes to Fishbowl functionality such as: - Improved imports from QuickBooks Desktop - Improved Vendor Module search parameters - Improved import/exports for Location CSVs - A tooltip to indicate the maximum number of characters in a Fishbowl field. [Ex: max 41 characters for Names, etc.] - More plugin improvements for troubleshooting - Fishbowl GO improvements - Transfer Order CSV imports - Commentary: Really cool for automating POS integrations. - Audit Tables - Tables in Fishbowl will now track changes. - Expect databases to be larger overall after 2017.1 Those are some of the feature improvements seen in Fishbowl 2017, and we may dedicate some blog posts on key features as we understand them better. --- For the rest of this post we are going to talk about MySQL, why the change is necessary, and how this will improve Fishbowl for the Fishbowl Community. ## What is MySQL? MySQL is a very popular database engine. If your company has any kind of web presence using software like Magento, WordPress, etc., you are already using MySQL on your website. MySQL is one of the most installed and discussed databases, more influential than Firebird for example. See ranking site http://db-engines.com/en/ranking. ## What are the benefits to switching to MySQL? ### The Executive Perspective - Performance and speed - More reliability options - Increased access to technical expertise - Expanded platform capabilities However it must be explained that none of these are "free" and none of these you will get with just installing Fishbowl 2017. They are merely strategic opportunities. ### The IT Manager / Provider Perspective - Performance - Improving the performance with Firebird previously was difficult to improve, or not well understood. - There are vast resources out there to improve MySQL performance, and many more options. - Reliability - Firebird had no ability for clustering. In Firebird 3.0 there is some work being done for that, but it wont matter for us now. - MySQL has commercial and free options for clustering and hot-standby fail-over capabilities. - Setting this up however will depend on your operational budget. - Disaster Recovery - Similar to the reliability standpoint, Firebird simply had no "hot-standby" options. - There are way more backup options for MySQL. - If you really wanted to, one could build a Disaster Recovery Site. - With Firebird this was not a ready option. - Experts - MySQL experts will be plentiful, and more likely than not local to your office. - Firebird experts were mostly in Eastern Europe / Brazil. - Sometimes they were difficult to get a hold of if a database corrupted. - As an aside, I've caused my fair share of database corruptions. - Once by creating a table twice, and being unable to delete it. Bugs! - Apps - Firebird supplied by Fishbowl was designed to serve just Fishbowl. - MySQL now could be used to support more than one app, including Fishbowl. - So expect to see some apps utilizing this to improve integration and data-sharing between Fishbowl and other MySQL apps. - For example, cross-schema (database) queries. - API/SDK - No changes to the API/SDK are expected. **However: This and everything above is highly dependent on your Technical Support Contract with Fishbowl.** Clarify with them before making any decisions. ## Areas of Concern and Downsides? I cannot stress enough how much of a big change MySQL is to Fishbowl. Not preparing for the upgrade will surely leave you with a broken Fishbowl implementation. Customers must prepare. Below are key areas that I would identify prior to the 2017 upgrade. ### Data The 2017 upgrade **will convert** your Fishbowl Firebird database to MySQL, but it is not perfect. All Fishbowl data structures will be migrated for you. If you know you have something custom in your own database, keep in mind that will not migrate. See *Workarounds* below. ### Characters Fishbowl in the past has had a very difficult time handling characters. This has changed in 2017. Fishbowl handles all characters correctly now. However, previous data will prove to be a problem for almost all Fishbowl customers. Early on Fishbowl only supported a character set called ISO-8859-1, because that is the character set that QuickBooks Desktop supported. When Fishbowl 2017 converts a database, any non UTF8 characters will be converted to this character "☐". Keep this in mind as these characters come from systems like Word/Excel/Office usually via copy and paste. ### Reports Reports will ***mostly*** be unaffected. The same SQL used to generate reports will mostly be the same in MySQL. However, expect a few complex reports to be affected requiring adaptation from Firebird SQL to MySQL formats. In the end both are ANSI SQL compliant, but there are slight syntax differences that could be a simple replacement of keywords, and the report will work the same. Additionally, custom Bill of Material reports using a feature called "recursive sql" will not be able to be converted. It appears the answer to the missing "recursive sql" needs will be custom Java code that traverses the Bill of Material structure in FB2017. Contact us for more information. See our future blog post about Queries and Reports for Fishbowl 2017. ### Integrations Integrations will most likely have the highest risk of having upgrade problems. Most integrations have two connections to Fishbowl: the API/SDK and the database connection. Since we know the API/SDK wont be changing functionally in this upgrade, that side of connectivity is unchanged. However, most of these integrations are using the Firebird SQL driver in .NET and Java languages. Integration providers will need to upgrade their historical and latest code bases to support a MySQL connection. Reach out to your integration provider early to find out what it will take to upgrade. As far as our upgrade policy, please find that [here](http://israellopezconsulting.com/2017/02/06/our-upgrade-policy-on-fishbowl-2017-integrations/). ### Workarounds It is time to come clean on triggers, stored procedures, and views. It was an open secret that certain customers and consultants would have access to the Fishbowl Firebird sysdba password. Most of the time this access was used to augment Fishbowl functionality at the database level. Triggers for example allow changes at the database level when data changes. For example, used to fix data errors, or prevent activities in Fishbowl. Views would help with exposing Fishbowl data as a singular "Virtual Table" for users and applications: Excel or UPS Worldship for example. Stored Procedures allow a level of database programming, manipulating data, updating records, etc. These "workarounds" I would call them would need to be converted and translated to MySQL. Evaluate if they are still necessary in Fishbowl 2017, or if you need help with their conversion. ## When should I upgrade? Only when you are sure all four key risk-areas are addressed. But for most customers they have minimal risk. Here is some guidance for when you can upgrade. Others will need to address the key risk-areas before they can upgrade. - Upgrade immediately if you have **all** of the following: - No custom reports - No custom integrations - No custom plugins - No custom views - No custom queries ## How can ILC Help? We can assist a company with the upgrade process by ensuring all possible risks with upgrading are mitigated and addressed. We can be highly involved in your upgrade process, or we can assist in key areas to support your local staff. However we do have schedules to keep and because of the nature of the upgrade we ask customers to reach out to us early in order to prepare an upgrade plan and communicate a schedule. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 6, 2017. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Adventures in Accounting: Broken and Corrupted QuickBooks Files > Two QuickBooks corruption cases in one week: the errors we saw, how we found them with Verify Data, and how to recover and prevent it. ![qb-validate](/wp-content/uploads/2016/11/QB-Validate.png) *If this does not scare you, nothing will...* Hide your Journal Entries, Hide your CPAs, Hide your CFOs because QuickBooks is corrupting every file out there... Something is up with QuickBooks and it is not good. This holiday week was supposed to be a quiet week. Instead I have had to look at this QuickBooks Verify report twice. Here is what happened and what we learned this week. ## QuickBooks Corruption In the two instances this week we saw the following types of QuickBooks corruption. - Customer Name List Missing errors - Customer Name Mismatch - Transaction Link Errors - Vendor Payment Link Errors - Balance Sheet Out of Balance - No AR Aging - No AP Aging - Unable to login to QuickBooks File ## How did it happen? In the instances where we saw this we only noticed because Fishbowl was not able to export to QuickBooks in the typical evening export. In the mornings Staff Accountants and Controllers would login and either be unable to login, or receive incorrect reports in QuickBooks. Beyond that we have little clues. We know historically that IIF files that are imported into QuickBooks are good perpetrators of corrupt data, but in both instances the customers do not use IIF files to import transactions into QuickBooks. However, both customers were using QuickBooks Enterprise 2016, which has been known to have problems. Although one customer is on QBES 2017 and still had similar issues. See: [http://blog.quickbooksusers.com/quickbooks/some-data-problems-weve-seen-in-quickbooks-2016/](http://blog.quickbooksusers.com/quickbooks/some-data-problems-weve-seen-in-quickbooks-2016/) The common trend seems to be Fishbowl, however that is just correlation, not causation. I'm a firm believer that QuickBooks API requests should not cause this kind of corruption. That would be blaming the door knob manufacturer for burning your house down because you used it on a Tuesday, when the true cause was a candle that had fallen over. Additionally, my customers would be using Fishbowl, we are Fishbowl Consultants. I would have to raise an eyebrow if **all** of my customers had broken QuickBooks files, a difficult task anyway. So at this point we really do not know what happened to cause the corruption, but these would be the common reasons: - Server was shutdown unexpectedly - QuickBooks in non-hosting mode was shutdown unexpectedly - Server Disk Volumes failed, Raid Failed, etc. These typically deal with the raw data of a QuickBooks file, not in its daily use of it. ## How did you find the corruption? We got the first clue in both cases from the Fishbowl Export to QuickBooks. But we had final confirmation through the QuickBooks Verify Data feature, the image at the top of this post. See: [https://community.intuit.com/articles/1020419-basic-data-damage-troubleshooting](https://community.intuit.com/articles/1020419-basic-data-damage-troubleshooting) ## How do you recover? If this is the first time you've had a QuickBooks corruption issue, your first call might be QuickBooks Enterprise Support. They will login, investigate and come to the conclusion that you need QuickBooks Data Services to repair the file. Then, here is the sad part: in the past I've had customers wait up to an **entire week** to receive a repaired QuickBooks file. But there are other options. This week I had the pleasure of connecting with Shannon Tucker from QuickBooksUsers.com. He came recommended from other QuickBooks consultants, and other Fishbowl customers. Mr. Tucker offers flat-rate repair services, which include pay-on-success, but his success rate is 95%. He is who our two client cases are going to engage with in order to get this fixed. See: [http://quickbooksusers.com/quickbooks-data-repair/](http://quickbooksusers.com/quickbooks-data-repair/) The last option for recovery is a backup QuickBooks file. You are backing up, right? ## What are the post-recovery steps? This is when you need to put on your detective cap, and plot a timeline. You need to know the following: - When was the last time we successfully used the QuickBooks file - When was the last time we successfully exported to QuickBooks - AND/OR if we recovered from backup, the last Fishbowl Export of that backup What you will want to do is export any pending transactions from Fishbowl to QuickBooks. Use the standard export functionality for that. IF you are recovering from a backup, and you are going back a few days, you will need to re-post those days you missed in Fishbowl. Use the re-post days feature for this, it will export transactions created for those days. ## How to prevent this from happening again? At this point, we are recommending customers keep up to date with QuickBooks Updates, and Fishbowl Updates. You may never see corruption, but it is important to fix known corruption if the QuickBooks Verify report indicates problems. If we find anything concrete we will update this post. Take care, -Israel --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 25, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Automate Paper Invoicing with Lob > How we use Lob to mail paper invoices like a web service: send a PDF and address, skip the print, stuff, and stamp routine, and save staff hours. ![145287882_7af7a35ddf_o](/wp-content/uploads/2016/11/145287882_7af7a35ddf_o.jpg) Back in 2008-2009 I worked for a medium sized business and one of the things that surprised me was they had a huge envelope stuffing machine. This machine would take in a stack of printed letters, read a unique code on the top left of the page, stuff the envelope, and close the flap. It was leased out by the local postal service company, and we also had an automated US Post Office stamp printer. Since I was the on-site local IT support, it was now my job to "service" the software, the paper stuffer, and the stamp printer. I can tell you that sucked. At the time, however, there was no other way of doing it. Online invoices with Microsoft Dynamics Great Plains was not a thing, and since everyone was on NET 30 terms, they expected their invoices to arrive after the product was shipped. Approximately 1-5 days after shipment (whenever the accounting team ran the invoice batch). Emailing invoices should have been the norm then, but it still was not. Fast forward to 2016, 8 years later. I had a client ask if I had a solution to paper stuffing. *Cue nightmares of that paper stuffing machine.* They said "There has got to be a better way to invoice customers by paper!" I agree. It takes about 2-3 hours per day printing, stuffing, and applying postage to paper invoices. Incidentally in their market, online invoicing is still not an accepted norm. Taking this as a challenge, I figured there has to be a way to use the Post Office like a web service. I send a PDF and destination address, and it should be mailed out. So far the best one I've found is Lob. ![How Lob Works.](/wp-content/uploads/2016/11/lob.png) In our case, we would generate Fishbowl PDFs and upload them with the Bill To address for invoicing. If the customer wanted certified mail, we could then track the invoice to confirm it was received. Lots of possibilities! [https://lob.com/services/letters/pricing#compare](https://lob.com/services/letters/pricing#compare) We are currently in negotiation to build this as a Fishbowl plugin, but it's not an impossible project. I can see customers using this to save a lot of time and money. Costs are billed monthly, ranging from $0.95/letter to $0.78/letter. Depending on staff rates, a generous $25/hr (wage plus taxes plus benefits) to mail 40 invoices in 2 hours (printing, collating, stuffing, stamping) would net to around $1.25/letter. Then consider the linear cost of additional invoices, and opportunity costs from not having to handle this. What if we had to handle 250 invoices? By that point you'd have to consider an entire day dedicated to invoicing. We think this has room for improvement overall. Give us a shout if this is something you'd be happy to automate away. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 14, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2016.13: Unable to Export/Connect to QuickBooks Desktop > Changes in Fishbowl 2016.13 break the QuickBooks Desktop connection for some users. Here are the symptoms, root cause, and the fix. Quick post and public service announcement. Changes in Fishbowl 2016.13 cause some customers to have problems exporting to QuickBooks Desktop (any version). ## Symptoms - Unable to connect to QuickBooks - Unable to find QuickBooks file - Unable to export - Unable to test connection ## Observations - QuickBooks unable to be opened - A secondary QuickBooks window is opened instead of using the existing window - Fishbowl cannot "see" the open QuickBooks file ## Basic Fix - End task `Fishbowl Nexus.exe` on the Fishbowl Server computer - Open `Fishbowl Nexus.exe` in `/Fishbowl/server/bin/` without Administrator privileges - You can tell when this happens because it will not require a UAC prompt (the dark window prompting you to confirm launching an application with Administrator privileges) ## Root Cause - `Fishbowl Server.exe` is now marked to require Administrator rights - When exporting to QuickBooks Desktop, Fishbowl Nexus may be started by Fishbowl Server - If Nexus is started by Server as Administrator, Nexus is opened with Administrator rights - If QuickBooks is open with non-Administrator rights, Nexus cannot communicate with QuickBooks - This is a security feature of Windows COM+ ## Long Term Fix - Put a shortcut to Fishbowl Nexus in the Windows Startup folder - This will cause Fishbowl Nexus to start normally, and be able to see non-Administrator QuickBooks applications - Update to Fishbowl 2016.14 - The new build was released 11/10/2016 --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 13, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Allocated, Committed, Fulfilled Oh My: Explaining Inventory Status in Fishbowl > A simple Excel chart that walks through the inventory status changes a part goes through in Fishbowl, from allocated to committed to fulfilled. ![inventory_chart](/wp-content/uploads/2016/10/inventory_chart-1.png) We recently were working with a client who has been using Fishbowl for a long time, and in the discussion there was a lot of confusion about terminology. In an attempt to clarify what status changes occur on what activity, we created this image in Excel to explain the various points inventory goes through. Obviously the exact status changes based on a part's exact inventory levels status, but this should help explain the process. We can create more complex ones if necessary with customers. -Israel --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published October 21, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Evaluating the Clover Mini for Fishbowl > ILC is testing a Clover Mini developer kit to bring chip, NFC, and Apple Pay payments into Fishbowl as an integrated point of sale option. ![hardware-mini-compare](/wp-content/uploads/2016/10/hardware-mini-compare.png) *Clover Mini Terminal* We are currently seeking customers who want a more advanced credit card and payments terminal than their current solution in Fishbowl. Most customers who use Fishbowl in a retail setting pay with a swiped or typed-in credit card. This in certain cases causes payments to go through as "Card not present" and thus incur additional fees to process payments. We currently are also not able to process Chip and Pin payments, and additional systems like Apple Pay or Android Pay. We want to change that. ILC has ordered a Developer Kit version of the Clover Mini for the purposes of integrating it with Fishbowl as a Point of Sale payment option. We are envisioning a "Clover" button in the Sales Order Module that will send the payment amount to the terminal, and once the customer completes the payment we would then apply the payment in Fishbowl. This allows retail customers to experience the polish of a Clover payment experience, and Fishbowl companies the ease of back-office accounting with integrated payment records. We should have the dev kit within October 2016, and we will evaluate development between now and Q1 2017. Give us a ring if you are interested in participating in our development. \* Clover Mini terminals cannot be purchased through Clover; only through approved Merchant Services vendors. ## Payment Methods with Clover Mini - Swipe Magnetic Stripe Reader - EMV (Chip & Pin, Chip & Signature) - Contactless / NFC [Apple Pay, Google Wallet] - PIN Debit --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published October 19, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # How to Divorce Your ERP Consultant > A real Fishbowl story about migrating off an old ERP, plus five practical steps for leaving your ERP consultant on good terms. ![Sometimes you have to leave the ERP Consultant.](/wp-content/uploads/2016/10/5074456863_592292bd4c_b.jpg) A couple of weeks ago a Fishbowl salesperson called me and asked if I could help a customer. That conversation went like this: > SP: "They need data from their old system, they need invoice history." > > Me: "So, why you calling me?" > > SP: "Primarily because the system can only run on Windows XP, and they can't find XP systems any more and it is too expensive to upgrade to a version that can run Windows 10." > > Me: "Yep that makes sense, but why me?" > > SP: "Well because the old system consultants are charging $5,000." > > Me: "$5k for basically a query and export!?" > > SP: "Yeah, I thought that was a go-away price." > > Me: "You know if we did that in Fishbowl it could be done via the Export function, and if they needed an Excel file it could be less than $400, more if they have specific formats like XML; but that is crazy. Why would they do this to them?" > > SP: "I know, can you help them? They are using Dynamics Solomon 6.0. Do you know what that is?" > > Me: "Yep that uses a Microsoft SQL database, I would have to learn their schema, and guess where data is stored. You know my rate, $200/hr, and I can't guarantee success. It is basically a bet on finding the data." > > SP: "How much?" > > Me: "Initially 4 hours, and it could take another 4. So $1,600 total; but if we figure it out in 3 hrs, I'll bill them for three. However, I'm going to require it to be non-refundable." > > SP: "I'll pitch that to them." Later I had a conversation with the client. They were a bit shocked at the non-refundable part. I had to explain to them why. 1) I don't know Solomon, 2) I'm busy, you want this in the next couple of days, 3) I can't spend time and not bill for it. You realize that it's a $1,600 bet against $5,000. If this doesn't work out, then the value of accurate data is $3,400. Before I had the call, and to hedge my ignorance, I put up a job ad on Odesk/Upwork for a Dynamics Solomon consultant. I got nothing. So if I was going to figure this out, it just would be on my own wits. In the end, it worked out. I found the Data Dictionary for Dynamics Solomon 6.0, I could only view it on a Windows XP virtual machine. I poked and prodded at the database until the paper invoices matched my query. The client was ecstatic, and disappointed with their ERP consultant. They were on Dynamics Solomon 6.0 since 2008, about 8 years of service. I can't imagine they didn't make enough money on that client. So that comes to the topic of this post, how to divorce your ERP consultant. ## #1 Be honest and realistic Migrations happen, companies outgrow systems, moving on will happen. So, take stock of the relationship between your company and the ERP consultant. - Has there been unresolved challenges? - Issues of trust? - Are you locked-in with them? - Do you owe them money? Confirm your own position in relation to leaving your ERP consultant. ## #2 Prepare ahead of time Leaving the ERP system, and therefore the consultant, will happen. So plan for it. Ask yourselves these questions. - Does my company have the expertise needed to get data out of the system? - Does my company have documentation on how the system works? - Does my company have the tribal knowledge and mastery of my business model? - Do I have the reports/software necessary to migrate data? - Would there be charges for leaving (breaking contracts)? - Are there any customizations that would be difficult to reproduce/support in the new system? - Do you have the intellectual rights to that customization? - Who owns the hardware that the system runs? - Can you lock out the consultant from remote access? ## #3 Mock a Backup Restore Sometimes the best way to answer the questions above (except the ones about remote access) is to stage/mock a Disaster Recovery event. Call up the ERP consultant, and ask innocently if there are plans for restoration if things fail. A lot of the questions above can be answered through this kind of scenario. It's a good idea anyway, but gives you a better confidence in your current situation, and avoids uncomfortable conversations if the company is not yet ready to migrate. ## #4 Find Other Consultants / Train In House One of the best ways a company can feel confident to move on is to find another consultant for the same system. I recommend this because the backup consultant has no axe to grind, no history to get tripped up on, and is interested in helping you for the billable rate. This can get difficult as a system gets older. As I mentioned in the story above, I couldn't find anyone (granted Upwork is not an appropriate channel, but I've found other niche experts before), and that helped me confirm that there were no easy ways for this customer to move on as well. Another option that some companies have is they train an in house resource. They may be of the size that would support a part-time/full-time internal ERP expert. If this is possible that is really the best option. They know your business, know the system, and can defend the business against the next system's peculiarities. But I recognize that is not always an option so... ## #5 Plan for a Clean Break Try to resolve any possible problems with the ERP consultant before you announce that you are moving on, and would need their help. Then, and only then, if they are not willing to help (or are at an extortionate rate), you will have to recognize that you might be alone in this. If they are willing to come to the table, explain honestly why you are moving on (limitations, costs, etc.). The last thing you should plan for is someone that can learn your system from scratch (like what I did), but honestly, databases are not magic (unless it's an AS/400, that is decidedly dark magic), and it is possible to get data out of them. One of the best transition experiences I've had is when I've had access to the previous consultant. We speak the same language, and we are interested in making sure the transition goes well. But plan for things to go wrong as well, and you will still have a good deployment. Overall, I hope this story helps others plan for leaving their ERP systems, and possibly when they plan to leave Fishbowl as well. Take care! --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published October 16, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Adventures in Accounting: Where are your backups? > A set of practical questions to ask about your business backups, plus a real QuickBooks crash story from a customer site before a trip to Australia. ![Photo Credit: kostiszaxaris1 via Compfight cc](/wp-content/uploads/2016/09/29520992700_ee0e1012c9_b.jpg) ## Where are your backups? Answer this for yourself right now. Go on, this website will still be here. You know where they are? Good. Answer these other questions for yourself: - Where are your backups? - In the office, in the cloud, at a remote site? All three? - What are you backing up? - Business Documents? - QuickBooks? - Fishbowl? - Other databases? - Microsoft Active Directory? - What frequency? - Daily, Weekly, Monthly? - What is your retention? - A week, a month, a quarter, etc? - Or number of backups? - How quickly can you access these backups? - Within the hour, or within the day? - Who do you need to contact to access the backups? - Your gamer nephew? - Your Managed Service Provider? - Your neighbor? - How granular can you restore files/data? - Entire backup? - Specific files? - Entire Virtual Machine? - Do you have the software to open the files once restored? - Is that under hardware locked-license? - Do you have the license keys? - Do you have the installers? - Do you have sufficient hardware to restore the data to? - No, your 10 year old server is not sufficient to run your 50-user filesharing/fishbowl/quickbooks. So a week before my trip to Australia included some of these questions with a customer. QuickBooks decided to crash with a Duplicate Name error, of which the QuickBooks Enterprise Team blamed the Virtual Machine for causing it and used it as the reason for not supporting the installation. After a few hours of coordinating with Accounting and the Managed Service Provider, we were able to restore service. I would say, don't call us for QuickBooks support; that is not what we are about. However in a very **expensive** pinch, we might be able to figure something out. Enjoy the week, it is a hot one here in Southern California. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published September 26, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Shipping Solutions for Fishbowl > A 2016 review of shipping solutions for Fishbowl: carrier apps, third-party shipping apps, and developer tools, with notes on how each integrates. ![maps](/wp-content/uploads/2016/08/maps.png) *Would you like Ground, Rail, or Air?* In this post we are going to review the current (August 2016) shipping solutions for Fishbowl Warehouse and Manufacturing and in the process hopefully expose new ways of managing your shipping needs. The options I've selected today have some kind of integration with Fishbowl, or other options. Here are the solutions we will be evaluating: - Carrier Apps - 3rd Party Shipping Apps - Shipping Tools for Developers ## Carrier Apps All three (except USPS) have a dedicated app for shipping with them. These applications are standalone from their web sites, which I think most shipping departments are used to using for a little while before they outlive their usefulness. While a web site is nice to get quickly going, most departments quickly see the problem with hand typing orders into these web sites. All of these carrier apps have many different ways of getting shipment data into them: CSV/Excel imports, and most importantly they offer ODBC connectivity. See our other posts on ODBC. ODBC stands for Open DataBase Connectivity, and is the connection that allows these applications to request data from a database without specifically being programmed for them. Not wanting to make this a technical post, we will continue with how we can use this to our advantage. Fishbowl uses these applications' ODBC features to get data into them, and out of them. Here is how they work. ![ODBC](/wp-content/uploads/2016/09/ODBC.png) Applications will request shipment data, and once complete they post back tracking data through the ODBC connection. The great thing about this kind of setup is that all three allow customization. We can customize how shipment data is retrieved from Fishbowl, and within reason change what data we post back into Fishbowl. Here are some examples. Shipment Data: - Fields for Bill Transportation To - 3rd Party Billing Mappings - Shipping Service Mappings - Notification Mappings (Email/Exception/Delivery) - International Service Mappings Tracking / Post Back: - Post Rates as: - Retail Rates - Negotiated Rates - Published Rates - Or Ignore Posting Rates back to Fishbowl - Post Entire Shipping Amount to Fishbowl When working with UPS/FedEx and USPS, one aspect is very clear. If you want custom shipping options or data feeds, the best way to do it is in their own applications. Accessing FedEx/UPS/USPS services from another solution may not always give you the highest degree of customization, but they have their own benefits. ### UPS WorldShip ![worldship](/wp-content/uploads/2016/08/worldship.png) *UPS WorldShip* Personally I really like UPS WorldShip, and that is just pure opinion. All solutions have their own frustrations, but working with WorldShip is decent enough. In past projects we have been able to do some amazing solutions with UPS WorldShip. Here is a link to all of the shipment data fields available in UPS WorldShip 2016. - [UPS WorldShip Shipment Data Field Descriptions](https://www.ups.com/worldshiphelp/WS16/ENU/AppHelp/CONNECT/Shipment_Data_Field_Descriptions.htm) - [Fishbowl Wiki: UPS integration](https://www.fishbowlinventory.com/wiki/Shipping_Integration#UPS_integration) ### FedEx Ship Manager ![fsm](/wp-content/uploads/2016/08/fsm.png) *FedEx Ship Manager* Now my interest in UPS WorldShip does not mean I also do not like FedEx Ship Manager, my relationship with it is much more nuanced. FedEx overall I feel is a much more technical application, and there is a lot of power there; but the integration mapping has been difficult in the past. However, the support staff at FedEx have been amazing. I've met more FedEx field support reps than I have with UPS, and they were amazingly knowledgeable. I could not find a FedEx listing of mapping fields, best I can do is link to their Help PDF. - [FedEx Ship Manager User Guide (PDF)](http://www.fedex.com/us/software/pdf/FedEx_Ship_Manager_User_Guide_v.2350_(English)6.pdf) - [Fishbowl Wiki: FedEx integration](https://www.fishbowlinventory.com/wiki/Shipping_Integration#FedEx_integration) ### USPS / Endicia Professional ![Image from endicia.com](http://www.endicia.com/-/media/Images/Solutions/Heroes/professional.ashx?h=320&la=en&w=484&hash=DD20BC75FB5C1038B8A5BD6085F1F6CC12EF509C) *Image from endicia.com* Shipping with USPS / Endicia just works, but it is because it's a much simpler solution. Setup with Endicia Professional is fast, takes a few minutes, and is the most "clear" about communication errors, which we are thankful about. Some problems in the past include handling for manual shipments. If it had a way to ignore posting back shipments that were created manually, it would be less of a headache. However, it is just a matter of user training to clear out those errors. [Fishbowl Wiki: Endicia integration](https://www.fishbowlinventory.com/wiki/Shipping_Integration#Endicia_integration) ## 3rd Party Shipping Apps These shipping apps exist to make shipping easier across all carriers. Most of them started up years ago to ease shipping issues with eCommerce systems like Magento, Shopify, WooCommerce, etc. Fishbowl integrates with these solutions because many customers like the rate shopping abilities, and having everything in one place, but they don't all equally work well. ### ShipStation As of this writing, ShipStation is the current 3rd party shipping integration solution with Fishbowl Inventory and Manufacturing. ![shipstation](/wp-content/uploads/2016/09/shipstation.png) *My trial ShipStation account* ### ShipRush ![ShipRush](/wp-content/uploads/2016/09/ShipRush.png) *My trial ShipRush account.* ### ShipWorks A bit different than ShipRush and ShipStation is ShipWorks, an order consolidating solution that runs on the desktop, not the cloud. I personally have been asked to integrate with ShipWorks since 2010, but it took until a very persuasive customer in 2014 to attempt an integration. ILC has an integration with ShipWorks, and we can customize it to client needs; but there are some limitations with it. The #1 limitation is order numbers cannot be alphanumeric, they must be numeric only. Fishbowl order numbers are alphanumeric and we simply can't change that. ![ShipWorks](/wp-content/uploads/2016/09/ShipWorks.png) *Screenshot from ShipWorks* ## Shipping Tools for Developers In certain situations the solutions above are enough. Sometimes we have to create custom shipping solutions in order to take advantage of very specific automation opportunities. Here are some we have worked with in the past. ### Shipping Integrator (N Software) ![shipping integrator](/wp-content/uploads/2016/09/shipping-integrator.png) In 2014 a customer of ours wanted to automatically Pick, Pack, Ship and Print a UPS label in one shot. So the first 4x6 label would be their Pick Ticket / Packing Slip, and the second label would be the UPS label. We selected N Software's Shipping Integrator for C# .NET in order to communicate with UPS Ground. It was a successful project that saved the company countless hours per day manually generating labels and pick tickets. Since that project, I would use Shipping Integrator again; but not if we need to communicate with other carriers. ### EasyPost.com ![easypost](/wp-content/uploads/2016/09/easypost.png) EasyPost is a rather new entrant into shipping tools for developers, and they have impressive features. We are currently working on integrating EasyPost into Fishbowl as a plugin. Our first goal is to offer shipping solutions for the Australian market with Australia Post. We've quoted a few solutions to other customers who want a more automated and finely controlled shipping solution with Fishbowl. For now, we are focusing on EasyPost to do that. ## Future Possible Solutions ### Freightview ![freightview_001](/wp-content/uploads/2014/05/freightview_001.png) A lot of my customers are still organizing LTL shipments manually by calling or visiting their carrier websites. We had hoped that Freightview would clear that up, but we simply had to wait for better plugin functionality in Fishbowl in order to do so. We might even try a full browser integration into Fishbowl for Freightview, something to think about. ## Old Solutions ### UPS Ready For about 2 years there was a UPS Module for Fishbowl. It was a neat little solution, a stop-gap measure to offer rating/shipping services within Fishbowl; however it was recently removed from Fishbowl 2016.11, and customers are looking for a new solution. ## How we can help As you can see, we are very experienced with shipping solutions for Fishbowl. If you have a project in mind, give us a shout and we should be able to offer some ideas. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published September 5, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Adventures in Accounting: Reconciling Inventory Asset > Why QuickBooks and Fishbowl inventory valuations drift apart, the risks it creates, what causes it, and how to fix it. ![inventory variance](/wp-content/uploads/2016/08/inventory-variance.png) *If this makes you sweat, keep reading.* If you integrate with Fishbowl and QuickBooks (any accounting system) you should read this blog post, and at most give us a call. I'm talking about Inventory Valuation Variance, and it is the basic idea that the QuickBooks Inventory Valuation does not match Fishbowl Inventory Valuation. There are a lot of reasons why, and various ways to fix it. However, I will say I'm not a CPA, or anyone authorized to speak with authority on accounting. At the same time, I'm one of the only ones in the Fishbowl Community who is comfortable with both systems. ## What is Inventory Valuation Variance? Inventory Valuation Variance (**IVV**) is a simple idea, and one most adults will understand. Remember balancing a checkbook? It is the same thing. Previously before the internet (and I still remember being taught this) how much money you had in the bank was purely up to you to capture and detail deposits, and payments. Get it wrong, most of the time is not crippling; but over time if you start bouncing checks you are immediately aware that your own personal records do not match the bank. So you have to investigate why there is a variance. Fishbowl and QuickBooks work together to provide features not available in both systems, but its very easy to cause problems in both. The only way you know if the two systems are working well together is if the Inventory Valuation match. ## Why is this a problem? A lot of things can go wrong if QuickBooks and Fishbowl's Inventory Valuation do not tie. Here are a few. - Insurance: Who has the right Inventory Valuation? - Property Tax: Most States have a Commercial Property Tax, again which one is the right number? - Audits: Do you comply with Audits? They will catch this, and will raise red flags. - Margins: If you have systematic Inventory Valuation variances, then you cannot trust Order Level Margins; they are most likely incorrect. - Fraud: With a higher level of variance, there is a lot of "slop" that problems with fraud could explain away. Personally, I'm most uncomfortable with Tax and Fraud concerns. Most of the time a company can fix their own Bookkeeping issues, and no one else needs to know. Its the instances where we have to explain to outside entities that the books are not accurate. Awful. ## What causes it? Most of the issues we've seen has been through improper training. Fishbowl updating QuickBooks by default is fine; but using both programs improperly will cause all sorts of problems. The largest driver of process problems is cash. Cash in (deposits), and Cash out (payments). No vendor or accountant will accept an improperly written check for the wrong amount; so the drive to "fix" the amount is huge, and it happens naturally. The Generated Fishbowl Receipt as QuickBooks Bill says $1000, but the Invoice from the vendor says to pay $1200. The document in QuickBooks is updated to $1200 and a check is cut. The biggest problem with this is that depending on how one updates the Bill to $1200 is how it effects Inventory Asset on your Balance Sheet, most likely it already has. Other causes: - Bill updated to match vendor Invoice - Bill deleted - QuickBooks Inventory Items - Mismapped Accounts - Credit Card Reconciliation ## How can I fix it? ### Training Develop and improve internal training. The more education the Accounting team has on how best to treat QuickBooks and Fishbowl transactions will go a long way in preventing and catching these issues. ### Simplify I have seen some really complex books. My personal belief, is that most businesses need about 10 or so Inventory Asset/Cost of Goods Sold/Income accounts at the most. If you have 500 products, you do not need to have 500 Sales Income Accounts, 500 COGS accounts. This has happened before. Is not smart, and it is difficult to track down problems. ### Close your books QuickBooks has a feature to close your books by date. Use it. There have been many situations where the QuickBooks Closing Date feature would have exposed procedural problems sooner, before it all adds up. ## How can ILC help? It depends, in the most simplest case just having an honest discussion about Fishbowl and QuickBooks we can resolve problems together. In more complex situations we closely monitor QuickBooks Inventory Asset and Fishbowl to find problems. Rarely if ever do we find issues in Fishbowl; its mostly in QuickBooks due to transactions changing. We will use a mix of Custom Reporting, Monitoring Applications, and Advanced Analysis with Tableau to find the variance. Then once we find the cause the Variance, we work with the Accounting Team to adjust the books correctly. However, this is where the help from the customer's CPA is requested. Its a mix of judgement and estimation to re-book the variance to the correct accounts. Then after this is done, we move on with a better understanding of Fishbowl and QuickBooks and improved confidence in the system. If you have any questions give us a shout, tell us about your Adventure in Accounting and maybe we can help. -Israel --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published August 29, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Beep1 Hardware: Intermec CN50 Initial Impressions > First impressions of the Intermec CN50, a Windows Mobile 6.1 warehouse computer running Beep1 for inventory management. ![IMG_0066_EDIT](/wp-content/uploads/2016/08/IMG_0066_EDIT.jpg) We just received our testing model of an older mobile warehouse computer, the Intermec CN50. This is a Windows Mobile 6.1 device, and a client of ours in Thailand is using these units to manage their inventory with Beep1. Our impressions so far is that it is a rather compact unit, with an easy to hold form factor. We were able to find one unit rather cheaply, but since this unit is not immediately available for larger deployments we do not recommend these for our US-based customers. It has a CCD imager for reading barcodes, instead of a laser, so in theory it should support 2D, but we haven't checked yet. We are currently waiting on a dock to arrive, as this unit did not come with one. One is necessary in order to copy over the preferred telnet application, Wavelink Terminal Emulator. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published August 24, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl and QuickBooks Enhanced Receiving > Why QuickBooks Enhanced Inventory Receiving breaks the standard Fishbowl reconciliation workflow and leaves Inventory Asset unadjusted. This is a short article on what I've learned recently, and I was thankful that a new client was able to show me what they were dealing with. I was speaking with a new customer and they were telling me about some issues they have had with Fishbowl and QuickBooks in regards to their Inventory Reconciliation and Receiving Reconciliation. The core problem is that the Bills they have in QuickBooks debit the Inventory Offset Account, instead of the Inventory Asset account, and that the Item Receipts are being deleted. I explained that the way Fishbowl works for QuickBooks Desktop enabled accounting systems is that when you receive in Fishbowl, it creates the QuickBooks Item Receipt, then when you reconcile it will create the QuickBooks Bill and **delete** the QuickBooks Item Receipt. I think we both misunderstood each other, but hey, it's not like these systems are hard to test. Let's do it. So I put together a GoToMeeting and we got to work. What we discovered was this. The standard workflow for Fishbowl works (ok, depends on your accounting practices). But when you have QuickBooks Enhanced Inventory Receiving turned on, it begins to work differently. With it on it works like this. 1. Receive Inventory 1. An Item Receipt is created to debit Inventory Asset AND credit Inventory Offset, a liability account. 2. Reconcile Inventory 1. The Item Receipt is deleted by Fishbowl. 2. A bill is created in QuickBooks, but it debits Inventory Offset and credits Accounts Payable. 3. There is no adjustment to Inventory Asset. It is missing. That is what the most surprising thing was. With QuickBooks Enhanced Receiving, it ignores how the Bill is created to debit the correct asset account. It follows its own rules. Moving forward, it looks like this customer will have to recreate the QuickBooks file with that option off. As of now you can turn it off. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published August 23, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # How to make iReport for Fishbowl Faster > Speed up iReport file compilation for Fishbowl by adding only the JAR files you actually need to the classpath instead of all of them. This is going to be a very short post. Here is what you need to make compiling iReport files for Fishbowl faster. In the iReport configuration step on the Fishbowl Wiki, you add the Fishbowl JAR files to the classpath. This is what slows you down. To make it faster you need to add only what you need. So, what do you need? At a minimum, these JAR files: - `jaybird-full-*.jar` - `util-*.jar` - `eve-*.jar` - `eve-commons-*.jar` - `fbconstants-*.jar` - `fbcore-*.jar` - `fbdata-*.jar` - `fbisapiimpl-*.jar` That is it. Only add those JAR files and your iReport can go from 10,000ms of compilation time to 1,000ms. Happy Reporting! --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published March 26, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Reviewing Fishbowl Anywhere > A look at Fishbowl Anywhere, with a walkthrough video and a playlist of real-world tests of the remote Fishbowl client. A walkthrough of Fishbowl Anywhere: [https://www.youtube.com/watch?v=S2lIh3kjy_M](https://www.youtube.com/watch?v=S2lIh3kjy_M) ## Real-World Tests [https://www.youtube.com/playlist?list=PLtcEa3aDTHIrTIqKq0UvZGkwfAeWSKR11](https://www.youtube.com/playlist?list=PLtcEa3aDTHIrTIqKq0UvZGkwfAeWSKR11) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published January 20, 2016. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Power BI for Fishbowl Warehouse and Manufacturing > A walkthrough video on using Microsoft Power BI for reporting and analytics with Fishbowl warehouse and manufacturing data. A walkthrough on using Microsoft Power BI for reporting and analytics against Fishbowl warehouse and manufacturing data. [Watch on YouTube](https://www.youtube.com/watch?v=0kHVNBmkKvw) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published December 20, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Excel 2016 and Fishbowl: New Query Features > A short video walkthrough of the new query features in Excel 2016 and how they work with Fishbowl Inventory data. A short video walkthrough of the new query features in Excel 2016 and how they work with Fishbowl Inventory data. [Watch on YouTube](https://www.youtube.com/watch?v=zy6GEfgABEM) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published December 13, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # The Dirty Secret of Benchmarks: How Your Server Could Be Holding You Back > Many servers ship in an Eco mode that quietly caps performance. Ask your IT pro whether High Performance is turned on. ![Photo Credit: tadnkat via Compfight cc](/wp-content/uploads/2015/11/6555878561_72c030ca95_b.jpg) > **The I'm Busy Synopsis:** Send your IT professional this page, and ask them if High Performance is turned on for your server. Millions of servers across the world are bought and sold by companies who really do not know what they are buying. There was a day when server processors could be measured by one number, Instruction Cycles per Second, or MHz and GHz (Megahertz and Gigahertz), and it was assumed that bigger is better. 1,000 MHz was faster than 600 MHz, and 2.8 GHz is faster than 2.1 GHz. However, today it is a lot more nuanced than that. Servers have multiple cores, and differing system architectures that enable them to perform better under certain workloads. And what are these workloads, you ask? It depends. Sort of how every car model wins some sort of award, there is a benchmark that will showcase a particular server configuration's strengths and minimize its weaknesses. One of these benchmarks is Performance Per Watt. You could consider this very analogous to Miles Per Gallon, a measure of work and performance given a resource constraint. Normally MPG is a fine metric to use for a vehicle. Not everyone can afford a 9 MPG BMW M3, so it may be better to drive a 41 MPG Toyota Prius. But if you need to get from point A to point B as fast as possible, who cares what MPG is? (I'm sure I'll get letters about this, so I don't advocate for everyone to buy inefficient vehicles, I'm just making a point.) Sure, the driver makes this decision. They decided to buy a car with certain performance, and they chose to drive it a certain way to maximize speed over efficiency. Businesses need to realize that they have a choice with purchasing servers and how they use them. Case in point. Earlier in 2015 I was on site with a customer for two weeks. Their chief concern was upgrading their business software from a 2013 version to the latest 2015 versions. In my time there I noticed that their server was slow, almost uncharacteristically slow. I decided to investigate, and this is what I discovered. Their server was manufactured in 2012, and thus had a 2012 manufactured processor (CPU), with a design from 2011. I looked up their processor for published benchmarks. Essentially, how much performance does this CPU offer? I found something shocking. It was nearly a third of the published benchmark. They were using this server at only 33% capacity from 2012 to 2015, three entire years! I knew exactly what I was dealing with. Dell, the manufacturer of this system, turned on at the factory the "Eco Button." Essentially, it was self governing to prioritize Economy over Performance. A $10,000 server held back because someone wanted to promote the efficiency of the server versus performance. I gave my findings to my client after I was sure this was the cause, and we agreed to turn this setting off. A few restarts later, and it was done. The next morning we watched as people interacted with the business software (Fishbowl) and they all commented on how much faster it was to login and perform tasks. I was not done with optimizing this system, but that's for another blog post. With this "Eco Button" off, the whole office was much more productive. You could argue and measure a host of metrics: time saved waiting for transactions, distractions because an activity takes too long and might-as-well-get-some-coffee-now results. What was amazing was that the IT professional who manages the hardware for this client had absolutely no idea that this performance setting was the root cause of head-scratching events when working with this system. So here is the good thing and bad thing about "Eco Mode." I think it is a great thing to have, especially for devices where run-time is the paramount concern (battery-enabled devices). However, what I'm not impressed by is how some of those "Eco Mode" options unfortunately hold back performance when it's needed. The human time lost is incalculable. Wait, it is. Steve Jobs famously cajoled an Apple engineer to improve a system start-up time because it was like saving lives for the time lost because of people waiting. So, in conclusion, have a conversation with your IT professional and ask them if they are getting the most out of their systems. ## Additional Resources - This [serverfault.com](http://serverfault.com/questions/94212/does-cpu-power-management-affect-server-performance) discussion. - This lengthy [article](https://blog.workinghardinit.work/2011/07/01/follow-up-on-power-options-for-performance-when-virtualizing/) on server performance is still relevant today. - VMware publishes this [question and answer page](http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1018206) on power performance. If you have comments or questions about this post, please give us a shout. -Israel Lopez --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 15, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl 2015.9 Warehouse and Manufacturing: Release Highlights > A walkthrough video covering the highlights of the Fishbowl 2015.9 Warehouse and Manufacturing release. A walkthrough of the highlights in the Fishbowl 2015.9 Warehouse and Manufacturing release. [Watch on YouTube](https://www.youtube.com/watch?v=DbYbL90o65U) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published September 17, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Klipfolio for Fishbowl: Business Dashboards > How to build cloud business dashboards for Fishbowl Inventory using Klipfolio, including how it works, what it costs, and how to get started. ![vlcsnap-2015-08-19-15h00m19s700](/wp-content/uploads/2015/08/vlcsnap-2015-08-19-15h00m19s700.png) ## Business Dashboards for Fishbowl Every business needs a dashboard. If not, how do you run your business? Are you manually asking your Controller to run reports? Your purchasing manager or your sales director for the daily sales number? Want that information on the go? A lot of my customers want a dashboard, but they weren't sure how to get it. I have a solution. Klipfolio. Klipfolio is a Business Dashboard platform in the cloud. ## How it works ![Klipfolio dashboard](/wp-content/uploads/2015/08/ab2db1de1770e562cebb93cc0bc5c828.png) Klipfolio operates like a webpage with visualizations created from data. This data can come from Google Analytics, Twitter, and over 50 online data sources, plus databases such as Fishbowl Inventory. ## How much does it cost? Klipfolio is cheap, less than Starbucks cheap.* As of this writing standard users are $20/user/month. You do need help to set up the infrastructure for Klipfolio to connect, but that takes less than one hour. There is a "startup" cost with building dashboards, but they helpfully have a library of online videos on how to do many of the popular visualizations. Custom solutions may require the help of consultants. \* If you spend $5/day on Starbucks. ## What does it look like? Below is a quick informal demo on a Windows Computer. [Watch the demo on YouTube](https://www.youtube.com/watch?v=568RgtTiuVM) Also, what it would look like on a Retina iPad: [Watch the iPad demo on YouTube](https://www.youtube.com/watch?v=NdAt2GiYxDc) ## How can I get this? Give us a shout on our contact page or via our telephone number. We would be happy to set up an implementation plan and scope to get this going. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published August 19, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Warehouse & Manufacturing 2015.8 - Release Highlights > A video review of the Fishbowl 2015.8 release, plus a Windows 7 vs Windows 10 font comparison on the Sales Order report with downloadable PDFs. ![vlcsnap-2015-08-13-20h34m53s22](/wp-content/uploads/2015/08/vlcsnap-2015-08-13-20h34m53s22.png) ## Video Review [Watch the Fishbowl 2015.8 release review on YouTube](https://www.youtube.com/watch?v=uRTP80tCzwE) ## Font Comparison A side by side look at how the Sales Order report renders on Windows 7 versus Windows 10 in the 2015.8 release. ![Windows7_20158_SOReport_low](/wp-content/uploads/2015/08/Windows7_20158_SOReport_low.png) ![Windows10_2015.8_SOReport_low](/wp-content/uploads/2015/08/Windows10_2015.8_SOReport_low.png) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published August 15, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Warehouse & Manufacturing 2015.7 - Release Highlights > A video walkthrough of the highlights in the Fishbowl Warehouse and Manufacturing 2015.7 release. A video walkthrough of the highlights in the Fishbowl Warehouse and Manufacturing 2015.7 release. [Watch on YouTube](https://www.youtube.com/watch?v=Wc0rAugarqg) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published July 21, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Introduction to SQL for Fishbowl Warehouse & Manufacturing - Free! > Announcing a free premium online course on SQL for Fishbowl Warehouse and Manufacturing, free for signups until July 1st. ## Learn how to write SQL Learn the power of SQL for your business today! [Sign Up Now](http://learn.israellopezconsulting.com/courses/fishbowl-introduction-to-sql) [https://www.youtube.com/watch?v=oSXuhtVHcDs](https://www.youtube.com/watch?v=oSXuhtVHcDs) Today I am proud to announce the public availability of my Premium Online Course: Introduction to SQL for Fishbowl Warehouse & Manufacturing. For free. That's right, free. The catch is that it is only free until July 1st, then the course is closed to free signups and becomes a paid course. Why? Because I can't do this alone. I need students with real problems to teach, and to learn from students what is the best way to offer a course like this. This course would not be nearly as effective if developed in a vacuum without real feedback. I thought the best way to encourage student signups is to offer it free for a limited time. In this course I will be offering the video content, and 5 live sessions for Q&A for June 2015. All for free! Visit our learning site at [learn.israellopezconsulting.com](http://learn.israellopezconsulting.com) to find the schedule and sign up. See you in class! **P.S. Students who sign up now and participate in collaboration and feedback sessions will be granted the course free forever!** ## Sign Up Today Learn from the best, get the data you need to run your business. [Sign Up](http://learn.israellopezconsulting.com/courses/fishbowl-introduction-to-sql) ## What you can do with SQL [https://www.youtube.com/watch?v=LTNYkj1AsAk](https://www.youtube.com/watch?v=LTNYkj1AsAk) [https://www.youtube.com/watch?v=7sMGInuaVqs](https://www.youtube.com/watch?v=7sMGInuaVqs) [https://www.youtube.com/watch?v=KOEIaoIeX6c](https://www.youtube.com/watch?v=KOEIaoIeX6c) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published May 25, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Warehouse & Manufacturing 2015.5: Dropbox Integration and Shipping Automation > Fishbowl 2015.5 release notes from 5/14/2015: new Dropbox and Magento integrations, Xero accounting options, and shipping carton automation. [Watch the release video on YouTube](https://www.youtube.com/watch?v=ciYlsOEjTLI) ## 2015.5 Release Notes, 5/14/2015 ### Highlights The new Dropbox integration provides the ability to associate an unlimited number of files with items in Fishbowl. You can now integrate with a Magento shopping cart using the new Magento integration. ## New Features ### General - To contact the Account Sales Executive that is assigned to you, open the Fishbowl Client, click the Help menu, select About, and then click the Support tab. - The Currency module is now listed in the Accounting module group. - The Fishbowl version and build number is now included in the Server log files. - Custom views in the database are now recreated when updating from one version to another. ### Accounting A module option for Xero was added in the Accounting module with the option to export transactions as Pending or Approved. ### Data SQL results will now display a specific error message when a query is not properly formatted. ### Integrations - A new Integrations group was added for Fishbowl's built-in integrations. - The new Dropbox integration provides the ability to associate an unlimited number of files with items in Fishbowl. - You can now integrate with a Magento shopping cart using the new Magento integration. ### Sales Order A warning is displayed when processing credit cards if no merchant service provider has been configured. ### Shipping Common carton/box dimensions can be saved and then loaded automatically when adding cartons to a shipment. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published May 14, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Warehouse at 500 Miles Per Hour > Notes from a Fishbowl USA visit and a plan to build resilient Fishbowl Warehouse and Mobile Warehouse solutions for poor connectivity. [https://www.youtube.com/watch?v=wZe0pqZH-bI](https://www.youtube.com/watch?v=wZe0pqZH-bI) ## Productivity in Hostile Environments I recently returned from a short trip to Fishbowl USA in Orem, Utah, as a follow up to my Fishbowl Australia trip in Brisbane, Queensland. It was good to work with the two global teams and discuss where Fishbowl was headed. As part of my meet-and-greet of the Fishbowl USA team, someone asked me along the lines of: "I'm sorry, but I'm new, what do you do?" I paused for a minute, because it's an honest question, and I know I do a lot. Rather than rattle off a list of accomplishments, I just wanted to inspire rather than dictate. I said: > "I work on the hardest deployments and make Fishbowl Inventory better. If NASA wanted to run Fishbowl Warehouse on Mars I know how I could do it." I really do want to push Fishbowl into markets that it yet has no presence in. I want to push into Africa, Europe, Asia, and Latin America. Everywhere. However, Fishbowl is not yet ready for global markets. There is more to do with Multi-Currency and Multi-Language improvements. However, today I can work on improving real connectivity issues clients face in Australia specifically. While there I was asked to review a particular customer's Fishbowl deployment, because they were having trouble keeping their Perth office and Sydney database connected to Fishbowl Warehouse and Fishbowl Mobile Warehouse. Fishbowl cannot solve all problems. If the connectivity is poor, the application can't really fix that. Or can we? Here is what I found: - Connections drop for 3 seconds - Packets are sent and forever lost - Intermittent high latency >200ms Part of my System Administrator guide I published last week speaks to these points, and sets limits to what original Fishbowl Warehouse can do. Everything above is beyond (in my opinion) the limits I have found. Since then I have given Fishbowl strategies on how to address these points, but some of them will take time to implement. Rather than wait, I decided to lead as best as I could. My goal is, within 2015, to release a Resilient Fishbowl Mobile Warehouse solution, a Resilient Fishbowl Warehouse Client, and a Hardware Solution for Fishbowl Server. Additionally, I will be researching Fishbowl as a Service solutions for customers who prefer a cloud-managed experience. Lofty goal, but I think we can accomplish it. Will we get to Mars? Probably not, but we can reach as far as a jet. If you would also like to run Fishbowl Warehouse at 500 Miles Per Hour, please let me know via the [contact us](http://israellopezconsulting.com/contact/) page. Thanks and take care. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published May 11, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Inventory System Administrator Guide - 1st Edition > A one-page guide for the System Administrator or IT company supporting a Fishbowl Inventory deployment, with a downloadable PDF. When I help a company deploy Fishbowl Inventory, invariably I need to have a sit-down with the company's System Administrator or IT company. I found myself saying the same things over and over, so I decided that it was time to put pen to paper and put together a small guide. Today I am proud to announce the first edition of the Fishbowl Inventory System Administrator guide. As time progresses and the Fishbowl Inventory system improves I will add more information to this one page document. It may eventually balloon to more than one page, but for now I feel this is the most important information available that a System Administrator will need to know. Many times I've come across companies unhappy with Fishbowl, and it is simply due to insufficient hardware. What is "good enough" for files and QuickBooks is not good enough for Fishbowl Inventory, to put it bluntly. In the coming week I will be preparing a guide on Solid State Disks, and why we should use them. I typically recommend solid state disks when IT budget is tight, and there is no motivation to improve the Fishbowl Inventory server. Tell me what you think about it at [FBUserGroup.com](http://fbusergroup.com). Thanks! ![OnePage-SystemAdministratorGuide](/wp-content/uploads/2015/05/OnePage-SystemAdministratorGuide.png) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published May 6, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Inventory 2015.4: Shipping Invoices and Xero > A walkthrough of the Fishbowl Inventory 2015.4 release, including the new Xero accounting integration and improved shipping invoices. ## Expanding Fishbowl's Global Appeal We know Fishbowl Inventory is great software, because not only does it fit the needs of businesses in the United States, but it does so at a price point that honestly can't be argued when compared feature by feature against other ERP/MRP solutions for broad business applications. Recently I was asked what *my* market niche is, and my answer was Fishbowl. It's true, I don't have one kind of market: Oil & Gas, Warehousing and Distribution, Light to Heavy Manufacturing, Food, Textiles, and so on. It really runs the gamut because Fishbowl can adapt to those markets. I knew Fishbowl was headed globally after I met my colleague Simon from Fishbowl Australia. The success he has had in his market is awesome, especially considering that Reckon / QuickBooks is not a dominant accounting package there. So when I started hearing rumors about a Xero integration, I was more than pleased. It means Fishbowl is doing well, it means Fishbowl is growing, it means Fishbowl is going global. In this 2015.4 release, we get to see that hidden effort revealed. In the video below, I walk through the highlights in the latest release. I play with Xero, discuss the improvements to the Shipping Invoices, and overall changes to the product. Thank you for watching, take care. If you have any questions please visit us at our User Group, [FBUserGroup.com](https://discourse.fbusergroup.com). Israel Lopez ## Video Overview [https://www.youtube.com/watch?v=DRSA76uoddo](https://www.youtube.com/watch?v=DRSA76uoddo) ## Highlights - Accounting integration with Xero Online Accounting. - Shipping invoice now includes discounts and subtotal pricing for partial shipments. - Module option to pull currency conversions from Yahoo. - Option to filter columns in the data module. ## New Features **Accounting** Accounting integration with Xero Online Accounting. **Currency** Module option to pull currency conversions from Yahoo. Added the following countries to the currency list: Burundi, Democratic Republic of Congo, Kenya, Rwanda, Somalia, Sudan, Tanzania, Uganda. **Data** Option to filter columns in the data module. **Manufacturing** Relabeled "Receive Finished Goods" to "Add Finished Good" to simplify training and add clarity. **Payment Viewer** Payment Posted field now shows in the transaction info section of the payment viewer module. The Payment Viewer now has a link that opens the associated sales order. **Reports** - Shipping invoice now includes discounts and subtotal pricing for partial shipments. - Added an On Hand by Expiration Date report that shows inventory with an expiration date. - Added a Service Orders report with an option to show or hide $0 items in a separate section. - Added a Bill of Materials Standard Cost report. **Sales Order** - Discount window now includes the discount description and rate. - Added a field to search by customer account number in the sales order advanced search. **Schedule** Export to QuickBooks only shows when integration with QuickBooks has been completed. **User Group** - Added an access right to be able to convert non-inventory parts to inventory type parts. - Added access right to access each tab of the Company module. Source: [Fishbowl Inventory Wiki](http://www.fishbowlinventory.com/wiki/Release_Notes#2015.4_Release_Notes_-_4.2F8.2F2015) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published April 13, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # How to Setup ODBC for Fishbowl Inventory > Walkthrough videos and the Firebird ODBC driver and client DLL downloads you need to connect to Fishbowl Inventory over ODBC. This post walks through setting up an ODBC connection to Fishbowl Inventory using the Firebird SQL ODBC drivers. [Watch the walkthrough on YouTube](https://www.youtube.com/watch?v=0pd8QhOf8xo) ## Downloads You'll need the Firebird SQL ODBC drivers (32-bit and 64-bit) and the Firebird client DLLs. Both are available from the Firebird project's download site. ## Videos [Watch the additional video on YouTube](https://www.youtube.com/watch?v=LTNYkj1AsAk) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published April 11, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Becoming a Xero Certified Advisor: Xero Tracked Inventory > Now Xero certified. A quick run through of Xero's new Tracked Inventory feature and where it falls short of Fishbowl Inventory. ![Xero Certified Advisor logo](/wp-content/uploads/2015/03/xero-certified-advisor-logo-hires-RGB.png) It is official. I am now Xero Certified. Ever since Fishbowl's hinting at a Xero integration (which I'm pretty sure will happen) I decided that it would be a good idea to be certified in Xero, since it will be a source of growth for me and Fishbowl. Through this certification process, the experience with Xero has gotten me a little bit more excited about accounting. Why? Because it just works really well. Rob Drury (the Founder/CEO of Xero) has built an amazing team, and it shows in everything they do. I was very impressed with the completeness and depth of their training materials, and the existing documentation. I was very impressed when I was watching a video regarding Inventory and it had already been updated for the recent "Tracked Inventory" feature release on March 23rd. I'm kind of used to organizations being slow to update important things like that, but if Xero wants to grow to a global platform, it has to do things much faster and better. Good documentation does that. You don't really want to be calling someone and sitting on hold for 20 minutes to get an answer, when it could have been answered by proper documentation or by an experienced professional. And that is why Xero's strategy is going to work really well. Flat organizational level pricing so all users of a business can participate, and free Partner accounts so advising companies (myself/CPAs/Bookkeepers) can be better linked to their clients. No more sending Accountant Copies, or setting up Remote Desktop sessions to get QB access. I think Xero has got it right, and I'm happy to see Fishbowl move towards that direction. ## Quick Run Through of Xero Tracked Inventory While I was studying, I focused intensely on what the Inventory options in Xero were, and in a phrase I could call it "good-enough." Here is why. Xero offers two levels of Inventory: Simple Inventory and Tracked Inventory. **Simple Inventory** is an item that has no Inventory Asset, but you can use it on Purchases or Sales. **Tracked Inventory** is an item that has an Inventory Asset account, and you can use it on Purchases or Sales, so it will track total quantity and asset value. However, from my perspective of what Fishbowl Inventory can do, here is where I think Tracked Inventory can fall short for some businesses. I do think that "most" businesses will be happy to use the features available, but as they grow, more features will be necessary. ### Xero Tracked Inventory Limitations - **Item Master** - No UPC or SKU fields - No custom fields - No pre-determined scrap or adjustment account. You must select this each time. - **Reporting** - So far, the reports are a bit limited. - Only current demand, no future forecasting. - **Locations** - Only a single location, therefore only total quantity per Xero company. - No Warehouse/Slot/Bin locations available. - **Costing** - You only have one costing method: Average. - Standard, FIFO, LIFO is not available. - **Manufacturing & Kitting** - You cannot do any manufacturing or kitting in Xero. This list is not exhaustive, just the things I have been able to see during training and playing with the Demo Company in Xero. I expect that when I have some more time I will be reviewing the feature set between Fishbowl and Xero more rigorously, so I can give guidance to customers on when they should be looking at a 3rd party app like Fishbowl to handle the more advanced features. That is all I have for today. I hope you all have a great week, and stay tuned. Take care. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published March 29, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # How To Create Refreshable Excel Data from Fishbowl Inventory > A short video walkthrough plus the ODBC setup and Fishbowl user group links for building refreshable Excel data from Fishbowl Inventory. This walkthrough shows how to create refreshable Excel data from Fishbowl Inventory. [Watch the video on YouTube](https://www.youtube.com/watch?v=LTNYkj1AsAk) ## Resources - ODBC Setup: [Fishbowl wiki ODBC setup](http://www.fishbowlinventory.com/wiki/Shipping_Integration#ODBC_setup) - Fishbowl User Group: [discourse.fbusergroup.com](https://discourse.fbusergroup.com/) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published March 29, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Inventory hints at a Xero Integration? > A new Fishbowl Inventory video mentions Xero, hinting at an integration alongside the existing QuickBooks Desktop support. [Watch the video on YouTube](https://www.youtube.com/watch?v=n876BDJs4TE) Part of my duties here at Israel Lopez Consulting is to keep tabs on what Fishbowl is doing. Recently, I got the notification from YouTube that Fishbowl had posted a new video. Curious, I decided to watch. Previously Fishbowl Inventory had been producing new videos explaining the product and its capability. In this recent video I caught Xero being mentioned. It appears that Xero and Fishbowl Inventory are hinting at an integration together. If so, that is a fantastic solution. Not much is offered or explained in the video, but the fact that Fishbowl Inventory now integrates with two accounting systems, Intuit's QuickBooks Desktop (not online) and Xero Cloud Accounting, makes it a very attractive package to support small business not only in the US and Australia, but globally. Exciting times here in the Fishbowl. I anticipate that I will be reviewing both the Xero and QuickBooks integration with Fishbowl and providing guidance on what each does best. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published March 9, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Inventory 2015.3: Voiding Shipments! > A walkthrough of the Fishbowl Inventory 2015.3 release, including voiding shipped orders, math in number fields, over picking, and pricing updates. ## Fishbowl: Making Your Life Easier On February 12, Fishbowl Inventory released its third sub-release for the 2015 cycle. In this update, we begin to see Fishbowl incrementally improving by addressing small and large concerns Fishbowl Inventory users have. I was given a personal tour of 2015.3 last week when I visited Fishbowl Inventory as part of my periodic checking-in with friends there. Kendrick Hair, the Product Manager for Fishbowl Inventory, was kind enough to give some of his time to let me know how Fishbowl is doing. I think customers will love the new features, and you can start to see the strategic direction Fishbowl Inventory is enjoying from the process improvements brought upon by Fishbowl 2015. ## Showcased Features ### You can now Void Shipped Orders This has been the feature that I have wanted for the longest time. When I implement new customers, I've had to caution shipping managers, accountants, and owners on the finality of shipping an order. Most of the time I get a confused face, "Why!?", and my answer has been because there is a chance that later you would have exported to QB, and deleting a previously created invoice is not a good idea, so they (FB) just prevent you from voiding. Well now you can. You can now Void Shipped Orders; only when one has not exported to QB. Good enough. This fixes the "I forgot X or Y" and the entire song and dance that has to occur in order to get the Inventory and the Costing accurate again. ![0001-VoidShipment](/wp-content/uploads/2015/02/0001-VoidShipment.gif) ### Mathematical Equations in Quantity, Cost and Price Fields This is something that has been requested through the Fishbowl User Community: the ability to do some math evaluations in the number fields. You can even divide by zero, and Fishbowl handles it gracefully. ![0009-Equations](/wp-content/uploads/2015/02/0009-Equations.gif) ### Over Picking Inventory on Work Orders / Manufacturing Another great improvement to Fishbowl. You can now Over Pick Inventory on Work Orders / Manufacturing Module. This means that you can pull more inventory just by picking it instead of adjusting the Materials on the Work Order and re-picking it. The mechanism was cumbersome, so this should be a boost to productivity for our Fishbowl Inventory manufacturing customers. ![0010-OverPickingWO](/wp-content/uploads/2015/02/0010-OverPickingWO.gif) ## New Features ### Customer Last Price is now a user editable field & Available in Import / Export Previously, Customer Last price was a system-managed field, and was not available for editing. Now you can use the Customer Last Price to set anything you need. You also can access this via the Import / Export module to load in Customer price data. A good use case would be to define customer specific pricing, **instead of** using a pricing rule for each Customer & Product combination. ### Pricing Rules can now include Customer Last Price in the calculations In relation to the new feature noted above, Pricing Rules can now include the Customer Last Price in its calculations. But be aware to not do something like discount 10% on the List Price; Fishbowl would happily continue discounting as the Customer Last Price is updated. The Customer Last Price is updated every time it is made on a sale. It can be triggered through the module option. ### You can now control which Customers a User can view/edit You can now implement Sales Teams or possibly Sales Regions where teams of Sales Reps can manage a group of Customers. Previously, you could only control if the Sales Person could see their own sales or not. ("View Others" access right) ### Fishbowl Mobile Warehouse can now reference Vendor Part Numbers in Picking This is useful when your vendor applies their labels and part numbers on the inventory, and you simply just want to re-use that without having to print new labels. Fishbowl Mobile Warehouse now will look up the part number in question, and pick the first Part Number that matches to use on the Picking screen. ### Synchronize Pick Priority with Sales Order Priority Module Option From the Pick Module Options, there is now an option to sync the Pick Priority from the Sales Order Priority. Enable this feature, and you can update the Sales Order Priority without re-issuing an order. ![0002-PickingPriority](/wp-content/uploads/2015/02/0002-PickingPriority.gif) ### Pick User Assignment Improvements You can now assign users to picks, and search for them in the Pick Module. Previously, the user that was attached to the Pick was the "Last User" that modified or viewed the Pick. ![0003-PickingUserAssignment](/wp-content/uploads/2015/02/0003-PickingUserAssignment.gif) ### The Pick link to Work Order directs to the General Tab instead of Materials Tab Kind of self-explanatory, previously the link on the Work Orders in the Picking Module would go to the Materials tab; and the Fishbowl team found that was not nearly as helpful, so they changed the target page. ![0004-WorkOrderLinks](/wp-content/uploads/2015/02/0004-WorkOrderLinks.gif) ### Icon Change to the Pick Search Pane: Finish Icon for Finished Picks Previously, the Icon Status Column would have the Red Circle Icon; reasoning that there is nothing to pick. True, but not helpful, so re-using the Finish Flag Icon helps communicate status quickly. ![PickingFinish-Icon](/wp-content/uploads/2015/02/PickingFinish-Icon.png) ### Pick Details: Now show Alternate Part Number, Customer Part Number or Vendor Part Number A new Column is available in the Pick Details that shows you the Alternate Part Number, and that can be the Customer Part Number or the Vendor Part Number. ![0005-AltPartNumber](/wp-content/uploads/2015/02/0005-AltPartNumber.gif) ### Purchase Order Item Details Window: Part Number is now a link to the Part Module Small Changes here change the world. Or something like that. But making the Part Number a link definitely helps make life with Fishbowl easier. ### Sales Order now includes To Be Printed / To Be Emailed check boxes These options do not necessarily link to the QuickBooks Export currently, and they are not tied into the Batch Reports, or any emailing Functions. You can however, set these options and search for them in the Sales Order search pane. ![0006-ToBeEmailedToBePrinted](/wp-content/uploads/2015/02/0006-ToBeEmailedToBePrinted.gif) ### Sales Order Item Details Window: Product Number is now a link to the Product Module Similar to the Purchase Order Item Details Link Update, Sales Order Item Details links to the Product Module. ![0007-ProductLinkInSO](/wp-content/uploads/2015/02/0007-ProductLinkInSO.gif) ### Inventory Variance Report now has options to show adjustments and work orders ![0008-InventoryVariance](/wp-content/uploads/2015/02/0008-InventoryVariance.gif) ### Sales Order Summary can now include Credit Returns I thought this was always the case, but I guess not. ### API: Can now request to email a report This is something I cannot easily "Show," but it is something I, as a Custom Solutions Provider, will consider in my Fishbowl Inventory projects. ### Server: Upgrade Notification Has Changed I did not discover this until today, Fishbowl upgraded the small "there is a new update" notification to a Wizard Style prompt. Hopefully this encourages customers to stay on the latest versions. ![newversionfb](/wp-content/uploads/2015/02/newversionfb.png) ## Fixes Approximately 60 fixes and improvements to the existing Fishbowl Inventory experience have been included in this Fishbowl Inventory 2015.3 release. You can read more about it [here](http://www.fishbowlinventory.com/wiki/Release_Notes#Fixes_-_2015.3). I have selected a few that caught my eye; but for the exhaustive list, please visit the Release Notes page. - Issue: Pick finish column doesn't account for inventory in "Not Pickable" locations. - Issue: Product class field can't be unassigned once they are set. - Issue: Loading a purchase order increments the auto number up one each time the client is loaded. - Issue: Partially shipping an order then exporting to QuickBooks and then taking payment and finishing the order doesn't apply the payment to the order. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 14, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Why Custom Software is Good For Business > Off-the-shelf software rarely fits a business perfectly. Here is why custom-built software can turn a problem into a competitive advantage. Everywhere you look, you see the poor results of companies using software that isn't custom-fit for their needs and wants. IBM is being [sued](http://www.afr.com/p/australia2-0/ibm_qld_slug_it_out_over_botched_tnlj6VbICETb5sO8Wd9mJL) by the Queensland Health IT government for botching its health sector's payroll; a US school district [rolls](http://www.scpr.org/blogs/education/2014/09/18/17312/survey-few-la-students-using-pearson-s-ipad-softwa/) out iPads to students without getting the proper software and the kids were using them to access illegal files within moments; a small business owner struggling to maintain spreadsheets as they try to manage cash, customers, and profit. Custom software and good planning can solve these problems for you. For example, if you're married, think about the day you, or you and your significant other went to pick out an engagement ring. No doubt, you had done all your research and you knew what cut, clarity, and color you had to have. What would have happened if your jeweler had handed you a tray full of pre-made rings, and told you that they were "sort of" like what you wanted and possessed "most" of the qualities you were after? Surely, you wouldn't accept anything less than the best to give to the person you plan to spend the rest of your life with, right? So why are you trusting the needs of your business to a canned software product that meets only 80% of your needs, instead of custom designing a system for your business's specific needs? Whenever I talk to clients and tell them about building your own software, or having someone like [Fishbowl Inventory](http://www.fishbowlinventory.com/) provide ready-made software, there seems to be an inherent fear of the unknown, to which I reply, it's not as scary as you think! Custom software projects are smart, fast, and really attainable. Our goal every time out is to turn a problem into a real business competitive advantage. We believe in keeping it simple, and that people are the best problem-solvers in the world, so we use you to help us figure out what the solution is. I have a client whose business delivers products off a truck, and has a commitment that any order will be delivered the next morning. They were using software that was great with order placing and accounting, but what was lacking was a way to route where the trucks should go each day to make the deliveries as efficiently as possible. What it really boiled down to was finding a simple way to order the shipments the way they wanted, then print them the way they wanted, so all the shipping came out in a stack of delivery slips that could then be dispersed among the drivers. We started this as a 6-hour project and had it scheduled and delivered in a week. And the best part of it was exactly what the client wanted. Now they can have the delivery aspect of the business, but the whole software is really geared towards them. And that's what Israel Lopez Consulting strives for. We love making great software that helps businesses do their business better. We'd love to hear from you and your ideas. Please give us a [shout](http://israellopezconsulting.com/contact/). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published February 11, 2015. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Inventory 2015.2: Part Tracking and Picking Updates > A look at Fishbowl 2015.2: auto-generated part tracking numbers, a can-I-pick-complete indicator, and pick user assignment in the Pick module. This week Fishbowl Inventory released their third release for 2015, and probably their last for calendar year 2014. The latest update, Fishbowl 2015.2, includes some new features that I have wanted to see, and some I had not thought about, along with the typical bug fixes. ## New Additions ### Part Tracking Auto Generated Numbers A mouthful, but it is a great feature considering the prime reason people use Fishbowl is for Lot and Serial Tracking. Now, in this release, Fishbowl supports a per Part and Tracking "Next Number" or "Auto Number." Whenever Fishbowl sees a number in a tracking field, it will increase it each time it is used. This works for Lot Number, Text, and Serial Number type Part Tracking. ![Fishbowl2015_2-AutoTracking](/wp-content/uploads/2014/12/Fishbowl2015_2-AutoTracking.gif) ### "Can I Pick Complete?" Functionality in the Pick Module A new column has been added to the Search window of the Pick Module that indicates through an icon what Picks can be completed entirely. This is useful if you have to hold orders until they are entirely fulfillable, and therefore can focus on satisfying clients with one shipment. ![Finished_Picking](/wp-content/uploads/2014/12/Finished_Picking.png) ### Pick User Assignment In the details tab of the Pick Module you can now specify the User who will Pick this document. It also happens to be searchable in the "Advanced Search" function. Use cases could be where a manager will fan out various orders to 5 pickers, and then print the documents in batches for the users to pick up. I can also imagine a scenario where handheld or mobile pickers are assigned Picks, and they can only Pick their assigned documents. ![User_Picking](/wp-content/uploads/2014/12/User_Picking.png) ## Fishbowl 2015.3 Soon, probably the third week of January, we will be talking about the 2015.3 release of Fishbowl Inventory. Based on the public Change Log we should be seeing new features then as well. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published December 21, 2014. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # A Crash Course in iReport > A recorded video answering a common question: what is it like writing reports in iReport? Over the weekend I was able to record a video answering a question I get from time to time: "What is it like writing reports in iReport?" If you are interested in learning more, please visit our [Courses](http://israellopezconsulting.com/courses/) page to register your interest. We will announce when course sign-ups are available. [Watch the video on YouTube](https://www.youtube.com/watch?v=KOEIaoIeX6c) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 24, 2014. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Fishbowl Inventory 2015.1 - The Update You Have Been Waiting For > A walkthrough of the best Fishbowl Inventory updates in the 2015.1 release: Document Auto Sync, the Data Module, LDAP authentication, and much more. ## This is the Best Fishbowl Update Ever I'm going out on a limb and say that this is the best Fishbowl Inventory update ever. Earlier this week, I spent some time at Fishbowl's [Open House](http://blog.fishbowlinventory.com/2014/10/17/you-are-invited-to-fishbowl-open-house/) in Orem, Utah. While there, Fishbowl Inventory Customers, Partners and Guests were given a personal introduction to the latest Software Version. I learned a lot and you can read about the open house itself [here](http://israellopezconsulting.com/2014/11/19/the-fishbowl-open-house/). ## These are the Features You Have Been Waiting For Below are a series of screenshots and recorded animations to give you an idea of what is available in Fishbowl Inventory 2015.1. ### Document Auto Sync When I read the change notes about this feature, I was more than a little excited to try it out. The Document Auto Sync works in the Sales Order, Picking, Shipping, Purchase Order, Receiving, and Manufacture Order modules. Below, you can see where I've tested the Sales Order (SO) module with two users: my "ilopez" user on the left, and the "admin" user on the right. I first load the same SO on the two accounts, then on the right I add an item and save. On the left, I delete that item and save. Both sync the changes. If there was a conflict, Fishbowl would prompt that a change has occurred while you were in the process. #### Sales Order ![Fishbowl Inventory 2015.1 - Auto Sync Sales Orders](/wp-content/uploads/2014/11/SalesOrder-AutoSync.gif) In this example, I log in as two users using two windows. This is the same as two computers opening the same Sales Order at the same time. If I add an item and save, the other window sees it and refreshes that screen. If the other window deletes an item, it saves the other window's updates. It's very cool. If by chance you happen to add or edit the same item at the same time, Fishbowl will let you know that the order was previously modified while you were editing if there is a conflict. ### Data Module #### Write Queries inside of Fishbowl Inventory This feature was a neat addition and a nod to power users of Fishbowl Inventory. If you have the inclination to write queries for Fishbowl Inventory, you can with this module. You can write a query, save a query, and export that query through the available XLS and CSV formats. This is controlled by user access rights, and can be accessed over the API. If you are interested in learning more about how to write Queries for Fishbowl Inventory, please visit our [Courses](https://israellopezconsulting.com/courses/) page for more information. Below, I write a general query, make a rookie mistake, correct it and can see the new results. ![Fishbowl Inventory 2015.1 - Data Module](/wp-content/uploads/2014/11/DataModule-Example.gif) ### Home Screen In this release, Fishbowl included a new General option called the "Home" module. It seems to be at least imitating QuickBooks here by including a clickable workflow of the application. I actually would prefer this Home Screen to be the new default tab that loads. It gives a clear workflow process to what Fishbowl has available. These buttons are all visible, but will prompt an error if the user does not have an access right to that module. ![Fishbowl Inventory 2015.1 - Home Screen](/wp-content/uploads/2014/11/2014-11-21-07_07_30-HomeScreen.png) ### Email and Refresh Everywhere Fishbowl has put an email and a refresh button in every module. As a Fishbowl Inventory consultant, the "Refresh" question has been one of my little pet peeves that caused a lot of confusion for my customers because I would say things like "Refresh" this PO, and they would look for a button or an icon. This update saves so much confusion and time for my users. The email functionality works by simply using the default module's Report as the email attachment. Are you in the bill of materials (BOM)? You get the BOM Report as an attachment; it's a really helpful addition. #### Email ![Fishbowl Inventory 2015.1 - Email Everywhere](/wp-content/uploads/2014/11/2014-11-21-07_15_08-EmailEveryModule.png) #### Refresh ![Fishbowl Inventory 2015.1 - Refresh Everywhere](/wp-content/uploads/2014/11/2014-11-21-07_18_13-RefreshEverywhere.png) ### Enterprise Authentication with LDAP (Active Directory) Lightweight Direct Access Protocol (LDAP) is the technology that is used by many enterprises to control access to resources, and have a database of users within a company. In my former roles, I have spent a lot of time working with Line of Business applications and connecting them to our LDAP Directory, and in many cases, that was Microsoft Active Directory. This enabled a system admin, and a business, to keep its usernames and passwords in sync between the enterprise and various third-party applications. By Fishbowl Inventory providing a basic Active Directory Authentication, it is aiming squarely at companies that have large (>25 users) groups of users who need to be given Fishbowl Inventory access with passwords kept in sync. The idea is to use one password for everything, so you can administer one password for everything which saves time and administrative headaches across the company. ![Fishbowl Inventory 2015.1 - LDAP Authentication](/wp-content/uploads/2014/11/2014-11-21-13_17_54-LDAP.png) ### Line Item Close Short PO/SO This one slipped by me once or twice while supporting Fishbowl Inventory customers. I never realized that it would be beneficial to close short an individual line item on a PO/SO and not the entire document. This would allow for better order flows, and material updates if we know an item is going to be individually closed short. So our demand planning, and inventory flows can be more accurate because we are giving Fishbowl a more accurate picture. Great feature! #### Purchase Order ![Fishbowl Inventory 2015.1 - Line Item Close Short Purchase Orders](/wp-content/uploads/2014/11/CloseShort-PO.gif) #### Sales Order ![Fishbowl Inventory 2015.1 - Line Item Close Short Sales Order](/wp-content/uploads/2014/11/CloseShort-SO.gif) ### Custom Field Locking Custom Field Locking is the new mechanism in Fishbowl Inventory which allows a custom field to be controlled by an Access Right. Below, I go through two scenarios where a Sales Order Custom Field is simply locked from editing if you do not possess that access right. The next scenario is if the Sales Order cannot be issued unless there is a value for a given Custom Field, therefore enabling workflows such as Customized Order Processing, Multi-Level Approval and Review, and Separation of Duties. #### Locked Custom Field ![Fishbowl Inventory 2015.1 - Locked Custom Fields](/wp-content/uploads/2014/11/locked-customfields.gif) #### Secured Custom Field ![Fishbowl Inventory 2015.1 - Secured Custom Fields](/wp-content/uploads/2014/11/Secured-CustomFields.gif) ### Import/Export #### Rename Parts/Product via Import CSV ![Fishbowl Inventory 2015.1 - Import/Export Part Renaming](/wp-content/uploads/2014/11/ImportPartRenaming.gif) #### Customer Part Records via Import CSV ![Fishbowl Inventory 2015.1 - Import/Export Customer Parts](/wp-content/uploads/2014/11/CustomerPartImport.gif) ## Managing New Part and Products ### Improved New Part Wizard - Can Specify Which Wizard Steps to Skip - Assign a Product Tree Wizard Page ![Fishbowl Inventory 2015.1 - New Part Wizard](/wp-content/uploads/2014/11/SimplifiedPartWizard.gif) ### Multi Select Product Tree Items Now you can add or remove items from the Product Tree in groups. Use Control+click or Shift+select on the lists to add or remove items. ![Fishbowl Inventory 2015.1 - Product Tree Multi Select](/wp-content/uploads/2014/11/ProductTree-MultiSelect.gif) ## Picking ### Auto Commit and Auto Finish Picks This is a new feature that used to be in Fishbowl Inventory 2009 where inventory was committed immediately upon issue. It was later removed to a Soft Allocation and Hard Committed workflow. Now it is back with controls to dictate which modules can be allowed to Auto Commit if there is enough inventory. Then, if the order can be Finished, to auto Finish any Pick. Some of my clients who have simple inventory control needs find the "Pick/Pack/Ship" process a bit cumbersome. So the "Auto Pick/Finish" functionality is very helpful. ![Fishbowl Inventory 2015.1 - Auto Commit and Finish Picking](/wp-content/uploads/2014/11/AutoCommitFinish-Picking.gif) ## Purchasing ### Auto PO by Location Group Previously, the Auto PO function worked for the entire company and all of its warehouses. You can now create Purchase Orders per Location Group, and re-use existing Purchase Orders for the same Vendor provided they were not yet In Progress. Also, if you order for the entire company and all of its Location Groups, the Purchase Orders will be created: one per vendor and location group. ![Fishbowl Inventory 2015.1 - Auto PO By Location Group](/wp-content/uploads/2014/11/autopo-locationgroup.gif) ### Manufacture Order to Purchase Order A new Manufacture Order to Purchase Order feature (MO to PO) has been added. Before, the only way to create a Purchase Order for a Manufacture Order was to do it via the Sales Order if the item was to be sold on a Sales Order. Now that process can happen independently. ![Fishbowl Inventory 2015.1 - Manufacture Order to Purchase Order](/wp-content/uploads/2014/11/MOToPO-S2G1.gif) ### Purchase Order Edit Total Cost In the Purchase Order Module, you can now edit the Line Item Total Cost similar to how you can edit it in the Sales Order Module. ![Fishbowl Inventory 2015.1 - Purchase Order Edit Total Cost](/wp-content/uploads/2014/11/PurchaseOrder-EditTotalCost.gif) ### Purchase Order Picking and Receiving Button If a Purchase Order has both a Purchase and Credit Return/Outsource item, you can now use the To Receive and To Pick buttons. ![Fishbowl Inventory 2015.1 - Purchase Order Pick and Receiving Buttons](/wp-content/uploads/2014/11/PurchaseOrder-PickReceivingButton.gif) ### Drop Ship Purchase Order and Sales Order Buttons Drop Ship Purchase Orders and Sales Orders now have dedicated buttons, allowing you to go directly to the Documents in question. ![Drop Ship Sales Order](/wp-content/uploads/2014/11/2014-11-21-09_56_05-DropShip-SO.png) ![Drop Ship Purchase Order](/wp-content/uploads/2014/11/2014-11-21-09_56_19-DropShip-PO.png) ### Inventory Tab on Purchase Order Item Details In the Purchase Order Item Details window, a new "Inventory" tab has been added (if you have access rights to view), for the given Part Number. ![Purchase Order Inventory Tab](/wp-content/uploads/2014/11/2014-11-21-09_58_05-PO-InventoryTab.png) ### Edit a Purchase Order Address After it is Fulfilled Fishbowl has added the ability to edit the Purchase Order Address after an order has been fulfilled. This is also controlled by a User Access Right. ![Edit Purchase Order Address After Fulfilled](/wp-content/uploads/2014/11/2014-11-21-09_58_49-EditPOAddress-Fulfilled.png) ## Sales Order ### Two Click Quick Ship The Quick Ship Wizard is finally really quick. Customers have the option to skip the Picking and Payment prompts by checking the corresponding options at the bottom of the Quick Ship Wizard. Once done, this would allow you to go directly to the Summary Page. Click once to open the Quick Ship and once more to Finish the Quick Ship. ![Picking When Needed](/wp-content/uploads/2014/11/2014-11-21-09_42_35-PickingWhenNeeded.png) ![Skip Payment](/wp-content/uploads/2014/11/2014-11-21-09_42_58-SkipPayment.png) ![Two Click Quick Ship](/wp-content/uploads/2014/11/2014-11-21-09_43_11-TwoClickQuickShip.png) ### Bill Of Material Raw Goods Lead Time on Sales Order Fishbowl has added more information about the availability of short inventory from Build to Order items. Items that are short when added from a Manufactured Item will now include the lead time in days in the "Add SO Item Wizard." ![BOM Lead Time on Sales Order](/wp-content/uploads/2014/11/BOMLeadTimeOnSO.gif) ### Sales Order Line Item Note Many of my customers will use the SubTotal Line to apply line item notes into a Sales Order. Now a Line Item Note can be added to the sales order, without interfering with Invoicing in QuickBooks. ![Sales Order Line Item Note](/wp-content/uploads/2014/11/SalesOrder-LineItemNote.gif) ### Sales Order Markup A new feature called "Show Markup on Sales Order" allows the Sales Order to display the Part Cost and the Markup Percentage of a given item. This only works for NEW items added AFTER the module has been turned on. You can edit the Markup Percentage, Unit Price, Total Price, and the corresponding fields will update at the same time. ![Sales Order Markup](/wp-content/uploads/2014/11/SalesOrderMarkup.gif) ### Customer Job Bill To Address Copied from Parent My Construction and Service companies that rely on creating additional Customer/Jobs inside of Fishbowl to track sales will love this time saver. When you create a new Customer Job, the bill to information is copied from the Parent. ![Customer Jobs Copy Parent Billing Address](/wp-content/uploads/2014/11/customerjobs-copyparentbillingaddress.gif) ### Credit Card Store/Hide To support additional PCI compliance, Fishbowl has added two new features. The ability to Store or to Not Store the Credit Card Number, and whether to Hide or Not Hide the Credit Card Number. If you uncheck "Store Credit Card Number," the existing credit card details saved will immediately be deleted and can be recovered only from a back-up. ![Credit Card Store/Hide](/wp-content/uploads/2014/11/2014-11-21-09_43_50-CreditCard-StoreHide.png) ## Shipping ### Ship Carton Rename With the addition of the UPS Integration in 2014 came the ability to specify a carton's "Package Type." I have used this to great success for my clients who have mixed dimensions less than truckload freight and needed to describe the freight to their freight companies on documents and for customers packing slips. However, it never really resolved the issue that "Cartons" is what you see on the screen, and that is not what all companies call their shipping items. Here I rename the "Carton" to "Pallet". A quick log out and log in will reveal the update. ![Ship Carton Rename](/wp-content/uploads/2014/11/ShipCartonRename.gif) ## Other Features ### Pop Out a New Report Window A lot of power users will love this feature. From within any Report, you can click a new button called "Window" which makes a copy of the current report you are viewing in a separate Window. Professionals who have multiple screens will make the most of this feature as you can now have a collection of reports with various changes on your screen at once. ![Report Popout](/wp-content/uploads/2014/11/2014-11-21-07_08_23-ReportPopout.png) ### Test Email Settings Previously if you wanted to test your email settings you had to save them, open up a report to email, compose a message and email it. Now you can send a test email from within Fishbowl. ![Test Email Settings](/wp-content/uploads/2014/11/2014-11-21-09_56_52-EmailTest.png) ### Bill of Materials Add Another Item in Wizard In the Bill Of Materials Module, the Add Item Wizard has an option to restart the Wizard if you need to add more items to this given Bill of Material. ![BOM Add Another](/wp-content/uploads/2014/11/2014-11-21-10_57_16-BOM-AddAnother.png) ### Fishbowl Inventory Server Log out with Countdown Message Now, adding onto the Fishbowl Inventory Server log out delay feature, the User Prompt that appears has a live countdown timer. So if you had walked away from your desk and your admin gave you a 15-minute countdown, it would update to the exact time you had until the server shutdown. ![Log Out Server Countdown](/wp-content/uploads/2014/11/LogOutServer-Countdown.gif) ### URL Field - Expands to Show Entry Now any module that has the URL field will rename its clickable link to the value provided. Below, I am adding a URL link to a part of this website. ![URL Field Expansion](/wp-content/uploads/2014/11/URLField-Expansion.gif) ### View Only User Group Setting A new option is now available that allows you to create a "View Only" User Group. In the User Group module, create a new group, and under the "All Modules" heading you can click on "View Only" which will turn on the View Only options for all modules. ![View Only User Groups](/wp-content/uploads/2014/11/ViewOnly-UserGroups.gif) ## Why Wait So Long? Fishbowl Inventory 2015.1 was released on November 20. The last popular version before that was Fishbowl Inventory 2014.1 released on February 13. Over nine months of development time went into Fishbowl Inventory 2015. Why? Simply because they had taken on a very ambitious project task: Modernizing a component of their software called the "Persistence Layer." The persistence layer is software that sits between the database and the rest of the application, more specifically between the Database and Business Rules. From my previous post I have provided a diagram that I feel is useful here as well. ![Fishbowl Stack](/wp-content/uploads/2014/11/1) Since the Persistence Layer is some of the first lines of code written, it is simply by nature the oldest. When Fishbowl Inventory was founded in 2001, this Persistence Layer was developed with the concepts and designs from that era: before Solid State Disks, before the prevalence of Modern caching techniques. Coincidentally, the technology that Fishbowl is using for its "Persistence Layer" (Hibernate) happens to also have started in early 2001. It did not really become accepted until 2004 to 2006, much later in Fishbowl's development cycle. However, in late 2013 and early 2014, the internal push for a stable Persistence Layer became too hard to ignore, so Fishbowl decided that in order to better the product and aim higher that it **had** to take this project head on. In layman's terms, this is the software equivalent of open heart surgery. Fishbowl made the decision to stop additional releases and features until the Persistence Layer Modernization was complete. So the product had to sit on the market without any additional changes until this project was done. 2014 was tough. While 2014.1 was a great release, the software simply could not be competitive if new features were not added, especially with an update that has no discernible visible changes. It was by all intents and purposes an internal improvement. Everything you see in this release is the direct effect of Fishbowl making things better. If you have any questions on how to best utilize these features, please [contact us](http://israellopezconsulting.com/contact/). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 21, 2014. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # New Fishbowl Inventory Introduction Videos > Fishbowl released two new videos this month promoting the warehouse and manufacturing sides of their inventory software. Recently this month Fishbowl released two new videos promoting the warehouse and manufacturing aspects of their software. This is a great example of powerful video marketing. It is definitely refreshing compared to those "Meet Jen" videos. - [http://youtu.be/GUVgWWddRbs](http://youtu.be/GUVgWWddRbs) - [http://youtu.be/9r3qRSzKEwo](http://youtu.be/9r3qRSzKEwo) --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 21, 2014. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # The Fishbowl Open House > Notes from the Fishbowl Inventory open house in Orem, Utah, covering the rewritten persistence layer, UI improvements, and a mid-market focus for 2015. Yesterday I spent the day at the [Fishbowl Inventory Headquarters](http://blog.fishbowlinventory.com/2014/10/17/you-are-invited-to-fishbowl-open-house/) in Orem, Utah. They were hosting an open house event to celebrate the new and exciting improvements in Fishbowl 2015. As a Fishbowl Partner, I always make time to fly out from Southern California to see my friends in the north, and this was a great opportunity to do so. On my last visit there in June, Fishbowl had been in the middle of change in their technical leadership. This visit I got to see those results. Here is what I've learned. ## Improved Performance I think Fishbowl performance is good at the 4-8 user range with the average server system that most small to medium sized businesses have. However, to improve the product and to aim for higher markets, Fishbowl had to consider focusing on performance. When most companies would give up, Fishbowl put in the time and energy to rewrite the "Persistence Layer," the bridge between Business Rules and the Database. It is part of the "Stack" of technologies that comprise Fishbowl Inventory. See below for a simplified diagram. ![Fishbowl Stack](/wp-content/uploads/2014/11/1) *Modernizing Old Code* Whenever an app is developed, the persistence layer is some of the first lines of code written, and therefore with a mature software product like Fishbowl Inventory it was the oldest lines of code. So, rewriting the Persistence Layer is the software equivalent of open heart surgery. A lot can go wrong if you are not careful and diligent. It may seem like a risky move, but in this case it was the **smartest** move. Now they can work with a variety of databases (before they could only use one), utilize advanced data caching to improve speed (there was none before), and finally trust that they are on strong foundations. In the coming releases expect that performance will improve because now a more modern bridge between business rules and a database can support complex and large transactions. I even hear that the 2015.1 release has some major Manufacture Order and Picking speed improvements, a direct benefit to their year-long efforts. ## It's The Small Things In this version Fishbowl took the time to address the *little things*, and I am very happy about that. This topic deserves its own post, so for the next point release of Fishbowl Inventory 2015.1 I will be preparing a comprehensive list of changes. To whet your appetite, here are a few features available. New Icons with Larger Area and Labels ![](/wp-content/uploads/2014/11/798c7beab759ff95cc2ff5ea5d1123a1.png) Odd / Even Row Highlighting / Zebra Striping ![](/wp-content/uploads/2014/11/14d2ad41409a98e4602f495d29bde240.png) Refresh Buttons in all Modules ![](/wp-content/uploads/2014/11/8554c336002fbc718066b408c760ab70.png) Open a Report in its Own Window ![](/wp-content/uploads/2014/11/0643ee58d20d951b9d4980dbe78277cb.png) Show Markup On Sales Order ![](/wp-content/uploads/2014/11/b4f33ac04449d1d0db6329c3a73cb622.png) ![](/wp-content/uploads/2014/11/ce41ceb9654e48336fddefda3c701fb5.png) Pick and Receive Buttons in the Sales Order Module ![](/wp-content/uploads/2014/11/49f9ef16f8f36aee567d4039497827f7.png) ## Focused Development In past years Fishbowl struggled with appeasing the needs of the "small" user base (2-4 seats) and the "whales" (more than 25 seats). However, this year, and with this reinvigorated team, they have one focus: the mid-market. By focusing on the "ideal" market, issues about deciding on features become much easier to make, as one does not have to cater to such a broad market segment. Stay tuned for a comprehensive overview of the latest Fishbowl 2015.1 updates on 11/20. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 19, 2014. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # New Case Study: Stego Industries Now Online > A new case study covering Business Intelligence and Fishbowl work done for Stego Industries is now live on the site. ![Stego Industries](/wp-content/uploads/2014/11/StegoLogo.jpg) I'm happy to announce I've added a new case study on work recently done for Stego Industries. After stumbling in an attempt to go paperless a few years ago, Stego found Fishbowl, but still needed guidance when it came to getting on board with the true meaning of software solutions custom-fit for its needs. That's where I came in as a Business Intelligence consultant, helping Stego reroute everything from its business layout to data extraction and efficiency to accuracy in inventory. It was a tremendous experience and a great thrill to be able to help an already-successful company take its first step into a larger world. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 14, 2014. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # Just Announced: Fishbowl SQL and iReport Courses > New online video courses for Fishbowl Inventory customers covering SQL, iReport, and best practices, starting January 2015. Today I am pleased to announce the start dates of a new series of online video courses for Fishbowl Inventory customers. We will be offering courses on SQL, iReport, and Fishbowl Inventory Best Practices. Courses are set to start beginning January 2015. For more information please visit our new [Courses](http://israellopezconsulting.com/courses/) page. We are still formulating exact pricing for our courses, but expect them to be less than $500 per course. ## Each Course Includes - Online Video Content - Example Exercises - Community Discussion Board - 30 Minutes of Private Instruction I have been wanting to offer courses like this for a long time, and today I am proud to announce this offering. I believe that the success of the Fishbowl Inventory platform is best when we share the wealth of knowledge. If I can teach people new skills that are not only relevant to their job, but valuable for their own careers, then I have met my goal. When courses are available to sign up, please leave your name and email with us and we will contact you when courses become available. Visit our [Courses](http://israellopezconsulting.com/courses/) page for the sign up form. --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published November 12, 2014. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* --- # A New Way To Price Freight: Freightview > Freightview pulls your real LTL freight rates from major carriers in one place, replacing slow phone and online quote shopping for shippers. ![freightview_001](/wp-content/uploads/2014/05/freightview_001.png) Last week I was working with two companies on their Fishbowl Inventory Go-Live. These two companies both ship not via UPS or FedEx, but through Less Than Truckload (LTL) freight. Part of what I observed was how long it took these two companies to price shop for freight quotes. The staff said it takes about 10-20 minutes for about 5 quotes, either on the phone or online. It had been awhile since I did any research into LTL quoting, but I thought *there had to be a better way!* There is, and it is called Freightview. Freightview interfaces with the major LTL carriers' online systems to pull quote information all at once. So you have one place to shop your freight, and get quotes. ![freightview_002](/wp-content/uploads/2014/05/freightview_002.png) *A beautiful interface for a hard business.* ![freightview_003](/wp-content/uploads/2014/05/freightview_003.png) *Freight rates are clear and easy to understand.* The best part of Freightview is that these rates are not just the "Published" rates; they are **your** rates. If you have an account with Best Overnight, Estes, or FedEx Freight, your discounts are included in the quote. This is a game changer in the LTL industry. When I showed the two clients Freightview their eyes widened, one of them said "I can get my life back." Later this year, I will be working with Freightview and preparing automated shipping systems for Fishbowl Inventory and NetSuite. If you are interested in this solution please [contact me](http://israellopezconsulting.com/contact/). --- *From Israel Lopez Consulting (ILC). Custom Fishbowl Inventory integrations and software, and Fishbowl experts since 2015. Written by Israel Lopez, published May 22, 2014. Questions about this topic, or want to reach the people who wrote it? Visit https://israellopezconsulting.com/contact* ---