Release Notes: Difference between revisions

From Fishbowl Advanced
No edit summary
No edit summary
 
(504 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{ReleaseNotesIntro}}
{{ReleaseNotesIntro}}
__TOC__
<!-- To insert the template for a new release, paste the following line


<!-- To insert the template for a new release, paste the following line, update the numbers...
{{subst:Insert|25.3|2|18|25}}
{{subst:Insert|2022.11|11|10|22}}
 
...verify the dates
...and then save the page -->
...and then save the page -->


=2022.11 - Scheduled for 11/10/22=
{{Released|26.10|10|27|26}}
==Highlights - 2022.11==
==Highlights - 26.10==
* [[Payment_Gateway|Stax Pay Enrollment Improvements - Added the ability to validate company information in Fishbowl before starting the payments application]]
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' - MySQL 8.0 will reach End of Life (EOL) in April 2026. After this date, Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS before the EOL date, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the Janary 2027 release. '''You can safely use the standard auto-update process for version 2026.10''' - it will maintain your current MySQL 8.0 installation. If you wish to upgrade to MySQL 8.4 now, see the "MySQL 8.4 upgrade" feature description below. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
* [[Advanced_Reports#On_Hand|The On Hand]] [[Advanced_Reports#Inventory Availability|and Inventory Availability reports can now display and filter custom fields]]
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* [[Schedule|The following reports are now available to run in the Schedule module: Part Activity Report, Part Activity Export, Historical Part Cost, MTD Sales, POS Hourly Breakdown, Dormant Customers]]
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.10. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
 
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.10 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
==Fixes - 2022.11==
* <u style="color: red;">'''Important Notice'''</u>: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.10.
 
* A What's New screen now appears at the first login after an update
'''Avalara'''
* AI Chat is now available to customers in the Asia Pacific region
* Resolved: No error when shipping an Avalara order when a required tax rate is missing
* Each user now saves their own BI Report settings instead of sharing one set
 
* Expanded REST API coverage for picks, receiving, and transfer orders
'''Client'''
* A default search can be saved on the Part and Product modules
* Resolved: Client to Client messenger not sending messages
* Quality and reliability improvements across accounting, picking, reporting, and the REST API


'''Pricing Rules'''
==New Features - 26.10==
* Resolved: Creating a new pricing rule not populating the date created
* '''What's New at first login.''' After the Fishbowl Client is updated, the next login shows a What's New screen highlighting what has changed in that release.
* '''AI Chat for the Asia Pacific region.''' The AI Chat button is now available to customers in the Asia Pacific region. Access the AI Chat 24 hours a day without having to call in or create a support case. Ask questions and get help with anything including how to, error messages, and help fixing an issue. Where more help is needed, AI Chat can pass the conversation to a Support Technician during Asia Pacific support hours of 8:00 AM to 4:00 PM AEST.
* '''BI Report: each user saves their own report settings.''' Saved report settings now belong to the user who saved them. Two people can run the same report with different settings, and saving no longer changes the report for everyone else.
** A user who has never saved settings for a report sees the report's default values.
** Deleting saved settings returns that user to the report's default values.
** Bi Reports added as Dashboard widgets use the settings of the person viewing the dashboard.
** The Edit Settings access level has been removed. BI Report access is now None or View, and View is enough for a user to change and save their own settings. A user with None still cannot see or run the report.
** A report with a required setting that has not been filled in can now be completed by any user with View access rights.
* '''BI Report and BI Editor usability improvements.''' Several pieces of day to day friction in the BI Report and BI Editor modules have been addressed.
** The BI Editor search list remembers column widths, column order, hidden columns, and the position of the split between the list and the editor. Layouts are saved for each user and survive logging out or restarting the client.
** Importing a script into the BI Editor now opens it in a tab. Re-importing a script that is already open reloads that tab instead of opening a second one.
** Save and Email in the BI Report viewer open at the folder that was last used. This is the same remembered folder used by iReports and Data Export.
** Page setup fields in Modify Report now have visible labels for width, height, the unit of measure, and each of the four margins.
* '''Sales Order: keep the tax rate when duplicating an order.''' A new Sales Order module option controls what happens to the tax rate when an order is duplicated. The option is named "When duplicating SO set order Tax Rate to None" and is on by default, which matches how Fishbowl has behaved in past releases.
** The option appears only for companies using Avatax or QuickBooks Online Automated Sales Tax.
** Turn it off and the order's tax rate is copied to the duplicate instead of being cleared. This applies to both Duplicate and Duplicate as Credit Return.
* '''CSV: User Group Rights import and export.''' User Group Rights is now a standard import and export. It appears in the Import and Export lists without any special setup, and it can be run from the Fishbowl Client or through the REST API.
** New User Group Rights Import and User Group Rights Export access rights can be granted to any user group. No existing group is granted rights during the upgrade, so only the admin user can run them until a user group is given the right.
** The import now treats the file as the source of truth. After an import, each group in the file has exactly the rights the file lists, and rights not listed are removed. Groups that are not in the file keep their rights.
** Group names are matched without regard to capitalization, so a row for "sales" updates the group named "Sales" instead of failing.
* '''REST API enhancements.''' The REST API has been extended with the new functionality below.
** '''Picks.''' A single pick line can now be started on its own, and a line that is on hold can be released.
*** '''POST /api/picks/:id/items/:itemId/start''' - Starts one line and gives it a source location, without touching the other lines on the pick
*** '''POST /api/picks/:pickId/items/:pickItemId/unhold''' - Releases a line from hold and sources it again against available inventory. A line that finds no inventory comes back Short, which is a success rather than an error.
** '''Receiving.''' Receipts can now be searched through the REST API. The search covers receiving and reconciling together, the same way the Receiving module does in the Fishbowl Client.
*** '''GET /api/receiving''' - Returns a paged list of receipts, filtered by order number, status, location group, and the other criteria available in the module
** '''Transfer Orders.''' The transfer order detail response now reports whether the order is read only for the current user, and which actions that user is allowed to take on it. A client no longer has to reproduce the transfer order access rules to decide which buttons to enable.
*** '''GET /api/transfer-orders/:id''' - Now includes readOnly and an actions object with one flag per available action
* '''Advanced Search: save a default search on Part and Product.''' An advanced search can now be saved as the default on the Part and Product modules, so the module opens already filtered instead of the filter being rebuilt every session. Save, Reset and Load buttons for the default filter appear in the Advanced Search dialog. The default is saved on that Fishbowl Client, in the same way other saved searches are, so anyone working at that workstation gets it.
* '''Xero: four decimal places on cost.''' Costs sent to Xero can now carry up to four decimal places rather than limited to two. A unit cost such as 0.1334 reaches Xero at that precision instead of being rounded to 0.13.
* '''Inventory Dashboard default for new databases.''' New and demo databases now open the Inventory Dashboard module on the current dashboard rather than the Classic Inventory Dashboard. Existing databases are not changed and keep whichever dashboard they use today.


'''QuickBooks Online'''
==Fixes - 26.10==
* Resolved: Currency export errors when Drop Shipping
'''General'''


'''Sales Order'''
* Resolved: Window layouts and other interface settings are saved when a user logs out. Previously they were saved only when a module was closed with its tab button, so logging out discarded any layout changes made during that session.
* Resolved: Clicking Back during custom work order wizard on a Sales Order causes the wizard to stop working
* Resolved: A database rebuild clears the order history table along with the orders themselves. Previously the history was left behind, so modules such as Transfer Orders still listed the history of orders that no longer existed.
* Resolved: Adding a Build to Order BOM to a Sales Order not allowing the wizard to finish
* Resolved: A license key with an expiration date is reported correctly in the About screen, and notification settings that depend on it can be used. Previously the key was shown as permanent, and options such as Purchase Order Approval notifications stayed greyed out for non-admin users.
* Resolved: Clicking Back during add item wizard for a Kit containing build to order BOM's on a Sales Order causes the wizard to stop working
* Resolved: Navigation issues with the Add Item wizard


'''Transfer Order'''
'''Manufacturing'''
* Resolved: "Unable to save location to database" error caused by issues with the Transit location
'''Reports'''
* Resolved: PO Report order field data defaults to the first PO created in the system and does not update upon changing the data in the PO module.


* Resolved: A repair work order can be started from the Work Order module. Previously starting one reported that the work order requires a raw good and a finished good, or a repair, even though it was a repair type.
* Resolved: Bill of Materials and Bill of Materials Details CSV imports reject a negative quantity. Previously a negative quantity could be imported, and the line then auto fulfilled and locked itself when the bill of materials was added to a Manufacture Order. Recovering from that required help from Fishbowl Support.


{{Released|2022.10|10|13|22}}
'''Materials'''
==Highlights - 2022.10==
* [[Payment Gateway|New payment gateway integration to Stax Pay in Payment Gateway module (enrollment link included). Stax Pay allows users to process, refund, and void credit card (not present) transactions.]]
* [[Reports#Packing_Slip|The Packing Slip 4x6 label previously available on our reports store has been added as a standard report.]]


==New Features - 2022.10==
* Resolved: A transfer order line cannot be set to a quantity of zero, so receiving opens normally. Previously setting a line to zero after the order was issued stopped the Receiving window from opening at all, and the pick showed a quantity of zero.
* [[Advanced_Reports#Gross_Sales_By_Product|Gross Sales By Product Report: Added some options and a slight redesign to make the report more Excel friendly.]]
* [[Advanced_Reports#Packing_List|Added custom fields to the following reports: Packing List, Shipping Invoice, and Sales Order Summary.]]
* [[Advanced_Reports#Sales_Order_Summary|Sales Order Summary: The report can now be filtered by a custom field. Added the option to show orders with a Cancelled status. Reorganized the Modify Report dialog.]]
* [[Plugin|Updated to the latest version of JxBrowser.]]


==Fixes - 2022.10==
'''Picking'''
'''Picking'''
* Resolved: Insufficient quantity error when picking decimal quantities from a UOM conversion with date or text tracking.
* Resolved: UOM conversion issue during picking causing database problems.
'''Manufacture Order'''
* Resolved: Custom bill of materials + button not functional. It has been removed.
'''Reports'''


* Resolved: Product Catalog V2 replacing original Product Catalog in new databases.
* Resolved: A pick whose lines cannot be sourced stays in Entered status with no start date recorded. Previously the start date was stamped even though the pick remained Entered, so reports and filters that use the start date treated the pick as started.


'''Mac Client'''
'''Accounting'''


* Resolved: Command-Q keyboard shortcut not logging the user out.
* Resolved: A bill exports for a purchase order that has been reconciled but not fully received, where landed costs such as shipping or tariffs are recorded. Previously the export stopped with a message asking the user to fill out at least two detail lines, which did not describe the real problem.
* Resolved: An invoice that reaches QuickBooks Online is not sent a second time when the export is interrupted. Previously an export that failed part way through reported the order as an error even though the invoice had been created. Running the export again then produced a second invoice for the same order.
* Resolved: Orders containing a part or product numbered like a date, for example 6801-08-10, export to QuickBooks Online. Previously the export stopped in Data Validation reporting that the item name already exists, because QuickBooks Online treated the date shaped number as a date when looking the item up.
* Resolved: The QuickBooks Online integration works whether or not the AI Insights and ShipExpress plugins are installed. Previously two libraries the integration depends on were supplied only by those plugins, so connecting to QuickBooks Online failed on any server where neither was installed.


'''CSV Import'''
'''Fishbowl Payments'''


* Resolved: Currency ID not importing with Purchase Order CSV Import.
* Resolved: The Unknown Payment Status message now asks whether to check again, so the Yes and No buttons have a question to answer. Previously the message explained the timeout but never asked anything, leaving no indication of what Yes would do.
* Resolved: The Unknown Payment Status message is shown without a scrollbar. Previously a vertical scrollbar appeared next to text that already fit in the window.


'''Receiving'''
'''Reports'''
 
* Resolved: Receiving details load slowly in some circumstances.
'''Part'''
 
* Resolved: Part creation erroring due to not having a "returning as" part associated even for types other than "Outsource".
 
{{HideReleased|2022.9|09|08|22}}
{{HideH2|Highlights - 2022.9}}
* [[Settings#Email_tab|Sign in with Microsoft. Updated authentication process for Microsoft email settings.]]
* [[Advanced_Reports#Custom Fields|Custom fields can now be displayed on standard reports. The SO Report can now display up to 6 SO custom fields and 3 SO line item custom fields. Custom fields will be added to additional reports in the coming months.]]
 
{{HideH2|New Features - 2022.9}}
* [[Sales_Order#Take_a_payment|Estimated tax will now be displayed in the Payments wizard when integrated with Avalara.]]
* [[Access_Rights#Receiving|Added a user access right to hide/show tax columns in the Receiving module (non-US versions only).]]
* [[Manufacture_Order#Module_Options_General_tab|Added a new Manufacture Order module option: "Do not recalculate labor quantities in fulfillment wizard". When checked, labor quantities will not be adjusted in the consumption step of the WO fulfill wizard.]]
* [[Advanced_Reports#Purchase_Order_Report|Option to modify field titles added to PO Report, Shipping Invoice, and Packing List. Modify report window has also been reorganized with tabs and groups in these reports.]]
 
{{HideH2|Fixes - 2022.9}}
'''Sales Order'''
* Resolved: Variable kit items with associated build-to-order BOMs are not creating Work Orders when added to a Sales Order in some instances.
 
'''Database Changes'''
* Increased column sysValue to VARCHAR(3072) on the SysProperties table
 
{{HideReleased|2022.8|08|11|22}}
{{HideH2|Highlights - 2022.8}}
 
* Functionality has been added to better allow for the organization of the [[Reports#Modify_report_filters|'''Modify Report''' window]]. Additional tabs can now be added, along with grouping and sorting inside of each tab. We’ve also made it possible for the displaying of tooltips for each setting within the tabs. Select reports have been updated to make use of this new functionality (SO Report, Customer Purchase History, & Part Activity Report). Additional reports will be updated in the coming months.
* The [[Advanced_Reports#Sales_Order_Report|Sales Order Report]] now has the ability to modify all field titles.
 
{{HideH2|New Features - 2022.8}}
 
* [[Data#Query_parameters|Added a button that allows parameters to be easily added to queries in the Data module]]
 
{{HideH2|Fixes - 2022.8}}


'''Class'''
* Resolved: A user's saved BI Report settings keep applying after the report author changes a setting's default value. Previously the saved value was quietly ignored and the report ran with the new default, with nothing shown to the user. A setting that is renamed, or whose type changes, still discards the old saved value.
* Resolved: Creating a new class freezing the client or giving an error but still creating the class depending on client connection type
* Resolved: The Stock Adjustment Value by Month widget on the Inventory Dashboard reports a total that matches the Adjustment report for the same period. Previously the widget could report a much higher value on databases using FIFO or LIFO costing.
 
* Resolved: The BI Report Settings dialog shows the whole date range row, and the From and To fields show the full date including a leading zero. Previously the row ran past the edge of the dialog and could not be scrolled to, and the dates were cut off. This also affects Data Export queries that take parameters.
'''CSV'''
* Resolved: Mismatched error message when trying to update part UOMs with the Part UOM CSV import
 
'''Product'''
* Resolved: Adding products to a product tree caused the client to freeze when using the non-web connection
 
'''Receiving'''
* Resolved: Blank error when receiving an order with two parts and only entering a ref # on the first item


'''REST API'''
'''REST API'''
* Resolved: Missing information on Import data via JSON curl example
* Resolved: Null error when using the MO Create call when the user does not have a default location group and does not specify a location group in the request


'''Sales Order'''
* Resolved: Splitting a shipment through the REST API carries each item's serial numbers across to the new shipment items. Previously the serial numbers were not linked, and the shipment could become unreadable in the Fishbowl Client and through the REST API once the pick was voided. Recovering from that required a database fix.
* Resolved: Kit pricing becoming incorrect when changing the customer on the order
* Resolved: Sales orders created through the REST API receive the same Date Scheduled and expiration defaults the Fishbowl Client applies. Previously both were left empty, so picks from those orders did not appear in the Picking module search and the orders never expired.
* Resolved: The documentation for starting a pick describes what the endpoint returns. Previously it said a tag is assigned when a pick is started, and the example response showed items in the wrong shape. A tag is chosen when the pick is finished, not when it starts.
* Resolved: The documentation for reading a work order lists every reason the request can be refused. Previously it mentioned only location group access. It left out the refusal that applies to a user not assigned to the work order who cannot view all assigned work orders.


'''Server'''
'''Database Updates'''
* Resolved: Logging out API users not logging out the API users


'''Database Changes'''
* New Table Added "bireportparameters" which stores each user's own saved settings for a BI Report. Existing saved settings are copied from the bireport table into the new table for each user who has access to the report. The "params" column is then removed from the bireport table.
* Removed Substitute product links from kits on the KITITEM table
* Added "exportFailed" column to the postso table. This column records an accounting export that was interrupted, so that the next export checks the accounting system for an existing invoice instead of creating a second one.


{{HideReleased|2022.7|07|14|22}}
{{HideH2|Highlights - 2022.7}}


* [[{{REST API}}|The web connection Client functionality is now available to all users]]
{{Released|26.9.1|09|29|26}}
* [[{{REST API}}|New Fishbowl installs now use the web connection by default]]
==Highlights - 26.9.1==
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' - MySQL 8.0 will reach End of Life (EOL) in April 2026. After this date, Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS before the EOL date, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the October 2026 release. '''You can safely use the standard auto-update process for version 2026.9.1''' - it will maintain your current MySQL 8.0 installation. If you wish to upgrade to MySQL 8.4 now, see the "MySQL 8.4 upgrade" feature description below. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.9.1. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.9.1 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* <u style="color: red;">'''Important Notice'''</u>: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.9.1.
* New "Days after End of Month" payment term type, with Xero support for EOM due dates
* Expanded REST API coverage for shipments, work orders, picks, and transfer orders
* New Manufacture Order option to limit inventory checks to the order's own location group
* Quality and reliability improvements across accounting, manufacturing, and reporting, plus the REST and legacy APIs


{{HideH2|New Features - 2022.7}}
==New Features - 26.9.1==
* '''Payment Terms: Days after End of Month.''' A third payment term type has been added to the Payment Terms module, alongside Net and Date Driven. The due date is the last calendar day of the month containing the transaction date, plus the number of days configured on the term. Terms such as 30, 60, and 90 Days EOM can now be expressed and selected anywhere a payment term is used today, including Customers, Vendors, Sales Orders, and Purchase Orders. The term type follows the way Xero handles end of month terms.There is no ceiling at the end of the following month, so 60 and 90 day EOM terms now produce different due dates.
** '''Xero.''' Xero is the accounting integration that supports the term in full. Sales invoices and vendor bills exported to Xero carry the calculated due date. Fishbowl always sends an explicit due date.
** '''QuickBooks Online, QuickBooks Desktop, and Reckon.''' The term can be used with these integrations as well. None of them has an equivalent term type, so Fishbowl sends the calculated due date on the transaction. The early payment Discount % and Discount Days held on the term are not sent with these integrations.
** Payment Terms CSV import/export now supports the Days after EOM value, so a term keeps its day value when it is moved between databases.
** The Customer Statement report shows the due date calculated from a Days after End of Month term, in the same way it already shows due dates for net days terms.
** Existing Net, Date Driven, and None terms behave exactly as they have in previous versions.
* '''Manufacture Order: limit inventory checks to the order's location group.''' A new Manufacture Order module option, "Check all location groups for insufficient inventory", controls which inventory is considered when Fishbowl decides whether a bill of materials needs to be built. The option is on by default, which matches how Fishbowl has behaved in previous versions.
** When the option is turned off, only the location group assigned to the order is checked. An order raised for one Location Group no longer skips creating staged items because stock exists at a different Location Group.
** This applies to single and staged bills of materials set to Short Quantity, including those generated from a Sales Order.
* '''REST API enhancements.''' The REST API has been extended with the new functionality below.
** '''Shipments.''' An existing shipment can now be updated and the updated shipment is returned. Total quantities must stay the same, though items may be moved between cartons.
*** '''POST /api/shipments/:id''' - Updates the shipment, with access right and location group access validation
** '''Sales Orders.''' Sales order creation now supports kit items and drop ship items.
*** A kit sent without kit items comes back with the kit's configured default items, at quantities scaled to the kit header quantity. A kit created through the API opens in the Fishbowl Client the same as one entered there.
*** An order created in a currency other than the home currency without an explicit rate is now stored at the correct rate. Previously it was stored at a one to one rate, producing wrong home currency amounts with no error.
** '''Work Orders.''' Items can now be added to a work order, and edits to an open work order can be saved, including header fields, instructions, and assigned users. Saving edits never changes the work order status and never moves inventory.
*** '''POST /api/work-orders/:id/items''' - Adds an item to the work order and returns the updated work order
*** '''POST /api/work-orders/:id''' - Saves edits to an open work order and returns the updated work order
** '''Picks.''' A pick can now be started, and an individual pick line can be placed on hold, from the API.
*** '''POST /api/picks/:id/start''' - Assigns a source location and tag to each pickable item and moves the pick to Started. Items with available inventory start even when others come back short.
*** '''POST /api/picks/:pickId/items/:pickItemId/hold''' - Places the line on hold, clearing its source location, tag, and tracking so that inventory is released for the pick's other lines
** '''Transfer Orders.''' Transfer order search rows now include a readOnly value, so a client can tell which orders the current user cannot change. A transfer order counts as read only only when the user has write access to neither the sending nor the receiving location group. This matches the lock shown in the Fishbowl Client.
*** '''GET /api/transfer-orders''' - Each row now includes readOnly
** '''Close short paths for Sales Order and Purchase Order items.''' Closing an item short now uses a path consistent with the rest of the API. The previous paths continue to work and are deprecated, so existing integrations keep running.
*** '''POST /api/sales-orders/:id/items/:itemId/close-short''' - Replaces the previous sales order close short path
*** '''POST /api/purchase-orders/:id/items/:itemId/close-short''' - Replaces the previous purchase order close short path


* [[QuickBooks_Online#Module_Options_QuickBooks_Online_tab|Added a module option to allow Bank Transfer as an available payment method in QuickBooks Online]]
==Fixes - 26.9.1==
* [[{{REST API}}|Combo boxes in the Client now update appropriately when using the web connection]]
'''General'''


{{HideH2|Fixes - 2022.7}}
* Resolved: The User Dashboard keeps its gadgets loaded and its filters set when a user moves between tabs. Previously the whole dashboard reloaded every time a tab changed. Gadgets had to load again, which was slow, and filters and other choices were sometimes cleared.
* Resolved: Server level activity and client errors are recorded in the server log when the Fishbowl Server runs as a Windows Service. Previously the log captured nothing in that configuration, so sites running the server as a service had no record of server activity or of the errors behind client error messages.
* Resolved: The Transfer Order module now offers Request rather than Issue when a user can change one end of the transfer but only view the other. Previously the Fishbowl Client treated view only access as if it allowed changes. It offered Issue, and the transfer order was issued, when that user should only have been able to request it. The REST API was already correct and is unchanged.
* Resolved: The version of log4j bundled with the Fishbowl installer has been updated from 2.25.4 to 2.25.5.


'''CSV'''
'''Manufacturing'''
* Updated Bill of Materials and Bill of Materials Details CSV instruction to remove Work Order as a BOM Item Type


'''Checkout'''
* Resolved: Bill of materials auto create on Short Quantity converts between the finished good's part unit of measure and the product unit of measure used on the sales order. Previously the shortage was calculated from the sales order quantity with no conversion. Finished goods that are built in one unit of measure and sold in another then produced incorrect quantities on Manufacture Orders.
* Resolved: Advanced search default filters not saving


'''Database Rebuild'''
'''Purchasing and Receiving'''
* The PARTCOST table is now cleared out on rebuild


'''Inventory'''
* Resolved: Negative line items entered when reconciling a Purchase Order are distributed correctly for every distribution method including Cost. Previously these lines failed to distribute landed cost to inventory items. The order then failed to export to Accounting throwing either an "unbalanced debits and credits" or a "must fill out at least two detail lines" error.
* Resolved: Blank WO column storing last WO hyperlink value


'''Part'''
'''Accounting'''
* Resolved: UOM conversion error when changing a parts UOM when it has an associated with a bill of materials


'''Purchase Order'''
* Resolved: Credit Return sales orders for a kit export correctly to Xero when the kit items are received partially. Previously only the first item posted. Each remaining item tried to create a new credit memo instead of posting against the existing one. The Accounting export then failed with errors regarding the account, tax rate, and tax amount.
* Resolved: Alert Notes not being displayed when adding parts via the + button
* Resolved: The scheduled QuickBooks Online task completes when an order references a customer record that does not match. One way this happens is a failed CSV import that is then corrected and re-run. Previously the Accounting Export stopped with an error and the affected sales order displayed with no customer and no items.


'''QuickBooks Online'''
'''Fishbowl Payments'''
* Resolved: Initial connection null error


'''REST API'''
* Resolved: A credit card payment is recorded as paid only when the charge actually succeeded. Previously an unexpected error inside the payment screen could leave the order marked paid in full. No card was charged, no transaction reference was stored, and the user saw no error.
* Resolved: Create PO call causing an error when a location group is not specified
* Resolved: Keyed and card on file credit card charges go through when the company's default Ship To address for the order's location group has no country set. Previously the charge failed before the card was processed, because the country is sent as part of the order detail that accompanies each charge.
* Resolved: Payments brought in by the scheduled gateway import store a valid card expiration date and describe the card the same way payments taken in the Fishbowl Client do. Previously the expiration date was stored incorrectly.


'''Shipping'''
'''Reports'''
* Resolved: Weight showing 0 when the product UOM doesn’t have a conversion set for the default weight UOM
 
'''Web Connection'''
* Resolved: Report errors when using the web connection
* Resolved: Xero accounts not being auto selected when they already exist
* Resolved: QBO accounts not being auto selected when they already exist
* Resolved: Company module displaying blank information
* Resolved: Find Fishbowl Servers magnifying glass returning a blank result
 
'''Work Order'''
* Resolved: Assigned users not saving when being set by right clicking on a Work Order
 
{{HideReleased|2022.6|06|09|22}}
{{HideH2|Highlights - 2022.6}}
* [[Amazon#Release_Notes|Amazon Plugin customer mapping functionality updated to comply with Amazon's Data Protection Policy]]
 
{{HideH2|Fixes - 2022.6}}


'''Checkout'''
* Resolved: PDFs produced from a BI Report contain only what the report itself draws. Previously every PDF was stamped by the browser with the print date, the report title, a long source address, and a page counter.
* Resolved: Selecting an order tax rate being required for international customers
* Resolved: The Part QR Barcode BI Report now populates correctly. Previously the report returned a blank result, because the service it called to draw the barcode images was no longer available.
 
'''Consignment'''
* Resolved: Auto Replenish being unable to finish
 
'''Database Rebuild Tool'''
* Resolved: Memo's not being cleared out on rebuild
* Resolved: Costing layers not being cleared out on rebuild
 
'''Picking'''
* Resolved: UOM conversion issue when voiding the pick for a Work Order
* Resolved: Slot numbering issues when adding additional picks to an existing group pick
 
'''Purchase Order'''
* Resolved: Null error running the Auto PO with an empty summary page
* Resolved: Outsourced Returning As UOM conversion error in receiving
 
'''Receiving'''
* Resolved: Item receiving user rights erroring when receiving tracked items


'''REST API'''
'''REST API'''
* Resolved: Address creation issues when creating Purchase Orders


'''Sales Order'''
* Resolved: Reading a work order by id, purchase order memos, and manufacture order memos all succeed for a user whose access to the order's location group is read only. Previously each of these returned a 403 error because they required write access, so a user allowed to see the order could not read it or its memos.
* Resolved: Incorrect salesman displayed after creating a new user
* Resolved: Updating a transfer order re-checks the user access against the location group that will own the order after the change. Previously access was validated only against the current owner. A user could end up owning a transfer order on a location group they cannot write to, and could make that order disappear from their own lists and views.


'''Shipping'''
'''Legacy API'''
* Resolved: Fixed column width not saving after logging out


'''Vendor'''
* Resolved: Finishing a pick line for a non inventory item through '''SavePickRq''' succeeds without a source location. Previously the save was rejected with "Missing required field: Location", even though non inventory lines legitimately have no location because nothing is pulled from inventory when they are finished.
* Updated the example databases vendor costing rules names to match functionality
* Resolved: The Work Order list returns each work order's own quantity. Previously a work order created by splitting the remaining items on the finish step did not property updated the quantity. This resulted in the Advanced Mobile applications Work Order list showing the original quantity on both work orders, while their detail screens showed the corrected amounts.


'''Work Order'''
'''Database Updates'''
* Resolved: Error when saving a Work Order after removing the class selection


{{HideReleased|2022.5|05|19|22}}
* Added the "daysAfterEom" column to the paymentterms table, and added a "Days After EOM" row to the paymenttermstype table. These support the new Days after End of Month payment term type.
{{HideH2|Highlights - 2022.5}}
* Added an index on the "dateCreated" column of the postso table. This improves the load time of date filtered tiles on the Sales Dashboard.
{{Released|26.9|09|04|26}}
==Highlights - 26.9==
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' -  MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the October 2026 release. '''You can safely use the standard auto-update process for version 2026.9''' - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.9. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.9 release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* New REST API access to full work order details
* Improved payment reliability when a card transaction cannot be confirmed
* Quality and reliability improvements across the sales, payments, and accounting modules, plus the REST and legacy APIs


* [[Getting_Started#1._Install_Fishbowl|Improvements to the client connection]]
==New Features - 26.9==
* '''REST API enhancements.''' The REST API has been enhanced with the new functionality below. Work Order and Manufacture Order search now also report read-only status, matching the readOnly value already returned by Purchase Order and Sales Order search. Previously these searches returned orders from read-only location groups with no way to distinguish them, so client applications could not tell which records a user was permitted to change.
** '''Work Orders.''' Full detail for a single work order can now be retrieved, including its line items, the parts each item consumes, the assigned users, and the bill of materials name. This provides a REST equivalent to the legacy API call previously used by the mobile apps. Fulfilled work orders remain readable.
*** '''GET /api/work-orders/:id''' - Retrieves full detail for a specific work order by ID, with access right and location group access validation
*** '''GET /api/work-orders/:id?includeSteps=true''' - Also returns the work instruction steps. Steps are excluded when the parameter is omitted.
*** '''GET /api/work-orders''' - Each row now includes readOnly
** '''Manufacture Orders.''' Manufacture Order search now reports whether the current user has write access to each order's location group.
*** '''GET /api/manufacture-orders''' - Each row now includes readOnly
* '''Legacy API accounting export.''' The legacy accounting export call can now be sent to the REST legacy API wrapper. An external system or a scheduled process can start an accounting export without a user working in the Fishbowl Client. The call name refers to QuickBooks, but the export runs against whichever accounting integration is configured.
** '''POST /api/legacy/external/QBExportRq''' - Runs the accounting export for the configured accounting integration and returns the same status code and message reported in the client, including when the export fails


{{HideH2|Fixes - 2022.5}}
==Fixes - 26.9==
'''Sales'''


'''Database Update'''
* Resolved: Kits using the "Specify Kit Price" option now display a margin on the Sales Order. The margin appears on the kit header line and accounts for any adjustment amounts applied to the kit, while the individual kit items do not display a separate margin. Previously no margin was calculated for these kits, leaving sales representatives without a way to confirm that a kit was not being sold below cost. Kits that do not use a specified kit price are unchanged.
* Resolved: Update issues related to removing UPS Ready


{{HideReleased|2022.4.1|04|22|22}}
'''Fishbowl Payments'''
{{HideH2|Highlights - 2022.4.1}}


* Updated Fishbowl to account for a Java remote code execution vulnerability
* Resolved: A card payment that cannot be confirmed no longer risks a duplicate charge. A charge request can time out when the connection to the payment provider is unstable or the provider cannot be reached. Fishbowl now confirms the outcome with the provider and records the payment if the card was charged. A charge that did not go through reports that clearly. When the outcome cannot be determined, Fishbowl reports an unknown status and offers to keep checking or to let the user verify the payment in the provider's portal. Previously a timeout was reported as a generic failure with nothing recorded. The payment window stayed open with no amount marked as paid, so a further attempt could charge the customer a second time.
* Resolved: Payments and refunds taken in the Fishbowl Client are now saved before the confirmation message is displayed. Previously the record was written only after the message was dismissed. If the scheduled Import Gateway Payments task ran during that interval, it could add a second record for the same transaction. The duplicate overstated the amount paid on the order and carried through to the general ledger and to the connected accounting system.
* Resolved: The scheduled gateway payment import now brings in payment link payments only. Previously it could also claim a card charge or refund taken in the Fishbowl Client, but only when it ran before that transaction had been recorded. In that situation the transaction was recorded a second time.


{{HideH2|Fixes - 2022.4.1}}
'''Accounting'''


'''Fishbowl GO'''
* Resolved: Sales Orders using the "QBO Automated Sales Tax" rate now export successfully when the shipment carries a future ship date, and the posted invoice retains that ship date. A failure on a single order also no longer ends the export run. The remaining records continue to export and the result identifies which orders were skipped and why. Previously one of these orders failed on every run until its ship date arrived, and the failure stopped the entire export so that no other records exported either.
* Resolved: Unable to Pack a shipment
* Resolved: The journal entry that reconciles Sales Order cost after shipment is now dated to the shipment date for both QuickBooks Online and Xero. That is the date already used for the order's invoice and its original COGS entry. Previously the entry was dated to the moment the accounting export ran. That recorded a shipment's revenue and its cost in two different periods. It also left the general ledger Inventory Asset unable to tie to Fishbowl's inventory valuation. QuickBooks Desktop was not affected.


'''Picking'''
'''REST API'''
* Resolved: Unable to void picks that were finished prior to the update to 2022.4


'''Database Changes'''
* Resolved: The purchase order memo endpoints now return memos to a user whose access to the order's location group is read-only. Previously these endpoints required full access and returned a 403 error, so a user permitted to view a purchase order could not read its memos. Creating, updating, and deleting a memo still require full access.
* Removed DCOPTIONS table
* Removed PACKAGETYPES table
* Removed PACKAGETYPEID column from SHIPCARTON table
* Removed DELIVERYCONFIRMATIONID column from SHIPCARTON table


{{HideReleased|2022.4|04|14|22}}
'''Legacy API'''
{{HideH2|Highlights - 2022.4}}


* [[User#MODULE_OPTIONS|Added Password Policy options that allow for more secure user passwords]]
* Resolved: Sales Order line item descriptions edited before saving are now retained when the order is saved through '''SOSaveRq''', the call the mobile apps use. Previously the edited description was replaced with the product's default description and the change was lost, so reopening the order showed the default text.
* [[Shipping_Integration|The UPS Ready integration has been completely removed]]
* Resolved: Part on-hand inventory returned by '''InvQtyRq''' now includes locations held in read-only location groups. A user permitted to view a read-only location can now see the inventory stored in it. This is the call the mobile apps use for part inventory, and the Fishbowl Client was not affected. Previously those rows were omitted with no error or warning shown. Inventory moves, cycle counts, scrap, and add continue to refuse read-only location groups.
* Resolved: Reports printed through '''PrintReportRq''', the call the mobile apps use, now display Hide/Show columns whose default value is a formula. On the Sales Order Invoice these include Unit Price, Total Price, and Type. The columns appear without report settings needing to be saved first. Previously these columns were hidden even though the same report printed from the Fishbowl Client included them.


{{HideH2|New Features - 2022.4}}


* [[Start_Fishbowl#Creating_a_new_database|Database password is now blank when creating a new database on a Mac or Linux server install]]
{{Released|26.8|08|25|26}}
* [[Fishbowl_GO#Approve_app|Fishbowl GO iOS is now auto-approved in the demo database]]
==Highlights - 26.8==
* [[{{REST API}}|Added the ability to do an inventory move through the REST API]]
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' -  MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. '''You can safely use the standard auto-update process for version 2026.8''' - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
* [[{{REST API}}|Added the ability to cycle count inventory through the REST API]]
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* [[Carrier#Add_a_new_carrier|Updated UPS Carrier Codes to be editable after UPS Ready removal]]
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.8. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.7 release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* New AI Chat button provides instant access to Fishbowl's AI chat.
* New one-click option to re-run pricing rules on an existing sales order
* Sales Order and Shipping now show and filter orders by payment status
* Bulk-rename locations with a new Location Renaming CSV import
* Faster Product module and lower memory use on large catalogs
* Quality and reliability improvements across reports, accounting, receiving, and the REST API


{{HideH2|Fixes - 2022.4}}
==New Features - 26.8==
* '''New AI Chat toolbar button.''' A new AI Chat button on the module toolbars opens Fishbowl's AI support chat in one click. Access the AI Chat 24 hours a day without having to call in or create a support case. Ask questions and get help with anything including how to, error messages, and help fixing an issue. If you need to get further help AI Chat can facilitate getting you to a Support Technician between the hours of 6:30 AM to 4:30 PM MST.
* '''New Update Pricing button for Sales Orders:''' The new Update Pricing button in the Sales Order module re-applies your pricing rules to automatically update pricing on every line on an existing order. This helps when an order is created well before it is issued and prices have changed in the meantime, especially with cost-based pricing rules, so you can refresh to current pricing in one click.
* '''Sales Order Module and Shipping Module: payment status at a glance.''' You can now see and search each order's payment status, whether it has no payment, a partial payment, or is paid in full, directly from the Sales Order and Shipping modules without having to open each order. See which Sales Orders have not been paid and which shipments can be shipped at a glance.
** A new optional Payment Status column can be added to the Sales Order and Shipping search results. Enable it by right-clicking on the search column and selecting the paid option.
** The advanced search in both modules now includes a payment status filter (no payment, has a payment, or paid in full). This search feature can be saved as the the default search when loading the module.
* '''Import/Export: bulk-rename locations by CSV.''' A new Location Renaming import and export lets you rename existing locations in bulk from a spreadsheet, the same way the Part and Product Renaming import already works. Customers reorganizing or relabeling a warehouse can now rename many locations at once instead of one at a time in the client.
* '''Performance: faster Product module on large catalogs.''' Customers with large product catalogs will notice the Product module opens and loads significantly faster than previous versions.
* '''REST API Improvements'''
** '''Added additional sales order data and read-only location group access.''' Several additions support integrations for customers using read-only location groups.
*** Sales order search responses now include the order total, currency code, and multi-currency total.
*** Purchase order and sales order search responses now indicate which records belong to a read-only location group, so an integration can show them as view-only.
*** Transfer order endpoints can now return records from read-only location groups.
** '''Added additional transfer order actions.''' The REST API now supports additional transfer order operations, continuing the transfer order support added in recent releases. Access rights and status rules are enforced.
*** '''POST /api/transfer-orders/{id}/request''' - request a transfer order, signaling the receiving location group to fulfill it
*** '''POST /api/transfer-orders/{id}/unrequest''' - cancel a request and return the transfer order to entered status
*** '''POST /api/transfer-orders/{id}/close-short''' - close a partially fulfilled transfer order short, voiding the unfulfilled items
*** A unit cost provided on a transfer order item is now applied when creating or updating the item (for non-inventory items on ship-type transfer orders).


'''API'''
==Fixes - 26.8==
* Updated password hash change on Java and C# code samples
'''General'''
 
'''Bill of Materials'''
* Resolved: Module options are available to all regardless of user right settings
 
'''Clover Connect'''
* Resolved: Wallets disappearing on update
* Additional name updates for Clover Connect rebrand
 
'''CSV'''
* Resolved: Import errors on Part Product and Vendor Pricing import when tracking columns are missing
* Resolved: "Column 'consumptionRate' cannot be null" error when importing the Part CSV
 
'''License'''
* Removed "ExpressTech" from license agreements
 
'''Mac Version'''
* Resolved: MySQL port defaulting to 3306 when creating a new database
 
'''Database Changes'''
* Removed SHIPUPSCARTONDETAILS table
* Removed SHIPUPSCARTONDETAILS_AUD table
* Removed SHIPUPSDETAILS table
* Removed SHIPUPSDETAILS_AUD table
* Removed UPSACCOUNT table
* Removed UPSACCOUNT_AUD table
* Removed UPSCOD table
* Removed UPSPAYMENTTYPE table
* Removed UPSRETURNSHIPMENT table
* Removed UPSRETURNSHIPMENT_AUD table
* Removed column UPS from the COUNTRYCONST table
 
{{HideReleased|2022.3|03|10|22}}
{{HideH2|Highlights - 2022.3}}
 
* [[Fishbowl_Server_Administration#Rebuild_Database|Added the ability to rebuild a database]]
 
{{HideH2|New Features - 2022.3}}
* [[{{REST API}}|Added the ability to run a data query through the REST API]]
* [[Legacy_Gateways#Clover_Connect_(Legacy)|Updated CardConnect branding to Clover Connect]]
* [[{{REST API}}|Updated documentation for the REST Import call]]
 
{{HideH2|Fixes - 2022.3}}
 
'''API'''
* Updated the REST documentation for logging out
 
'''Client'''
* Resolved: Client auto update not including all required files
 
'''Server'''
* Optimized server startup when connection to Fishbowl's online services are interrupted
 
 
'''Database Changes'''
* Removed the READONLY column from the BISCRIPT table
* Updated OUTSOURCEDPARTNUMBER and OUTSOURCEDPARTDESCRIPTION on the POITEM table to be empty strings instead of null
 
{{HideReleased|2022.2.1|02|15|22}}
{{HideH2|Fixes - 2022.2}}
 
* Resolved: Client Auto Update running for plugins causing the client to become inoperable
 
{{HideReleased|2022.2|02|10|22}}
{{HideH2|Highlights - 2022.2}}
 
* [[{{REST API}}|Added a REST API call for Imports]]
 
{{HideH2|New Features - 2022.2}}
 
* [[User_Group#Report_Rights_tab|The report rights assigned to the default user groups on new databases have been updated]]
* [[{{REST API}}|The REST API documentation page now shows the Fishbowl server version in the header]]
* [[Install_Fishbowl#Install_Fishbowl|The User License Agreement has been updated in the Fishbowl Installer]]
 
{{HideH2|Fixes - 2022.2}}
 
'''Accounting Exports'''
* Resolved: "The total debits must equal total credits" export error due to rounding differences (AU)
 
'''CSV'''
* Resolved: Sales Order Details CSV failing due to no data being provided to a required custom field with the "Create an access right to restrict the modification of this field" custom field option enabled
* Resolved: Sales Order CSV failing due to no data being provided to a required custom field with the "Create an access right to restrict the modification of this field" custom field option enabled
 
'''Part'''
* Resolved: Cost discrepancy caused by voiding a shipment and reconciling a purchase order
 
'''Picking'''
* Resolved: Order Link Section sizing to small and cutting off text
* Resolved: Unit of Measure conversions causing quantity discrepancies when picking from multiple locations
 
'''QBO'''
* Resolved: Export errors due to duplicate tax rates (Canada)


* Resolved: The date tolerance option in the Company module was not enforced, allowing users to enter dates outside the allowed range. Date tolerance rules are now enforced when entering dates.
* Resolved: On a User Dashboard with multiple tabs, gadget heights on all but one tab reset to their defaults after logging out and back in, forcing users to resize them each time. Gadget heights now persist on every tab after logging out and back in.
* Resolved: A user could change the read-only flag on their own location group assignments without having edit access to the User module. Changing the read-only flag now requires edit access to the User module.
'''Fishbowl Payments'''
* Resolved: When a Fishbowl Payments payment link was generated for an order that already had payments recorded, the link requested the full order total instead of the remaining balance, so the customer was asked to pay the whole amount again. Payment links now request the remaining balance.
* Resolved: When a payment was recorded directly in the client after a payment link had already been created, the existing link was not updated and still requested the original amount. The payment link now refreshes to the remaining balance after an in-client payment.
'''Sales Order'''
'''Sales Order'''
* Resolved: Amounts not be classified as negative when currency uses a trailing negative sign


'''Xero'''
* Resolved: When generating a purchase order with the SO to PO wizard, line item custom field values from the part did not carry over to the purchase order line, even with the option to add custom fields enabled. Part custom field values now transfer to the purchase order line when using SO to PO.
* Resolved: Vendor street address pulling the company address instead of the vendors address


{{HideReleased|2022.1|01|13|22}}
'''Accounting'''
{{HideH2|Highlights - 2022.1}}


* [[Support|Updated Log4j to the latest version]]
* Resolved: Duplicating a sales order as a credit return for a non-inventory part with a standard cost exported a cost of goods sold entry that mirrored the original sale instead of reversing it. Non-inventory items on a duplicated credit return now export with correctly reversed amounts.
* [[Receiving#Module_Options_Reconcile_tab|Added module options in the Receiving module to require the Ref # and Bill Date fields during the reconcile wizard]]
* Resolved: A dollar discount on a credit return exported to QuickBooks Desktop with the wrong sign, so the QuickBooks Desktop credit memo total did not match the Fishbowl credit return total. Dollar discounts on credit returns now export to QuickBooks Desktop with the correct sign. QuickBooks Online was already correct.
* [[Inventory#Search|Added the ability to save the Advanced Search in the Inventory module]]
* Resolved: When duplicating a sales order as a credit return, shipping-type line items were not converted to negative amounts, so the credit was understated and, on export to QuickBooks Desktop, the customer appeared to owe the shipping amount. Shipping-type lines are now converted to negative amounts on a credit return, matching the other line types.
* [[Legacy_Gateways#Clover_Connect_(Legacy)|The CardConnect payment gateway has been updated to save cards to the Wallet when processed through a terminal device]]
* Resolved: A recent change to prevent duplicate document errors caused drop ship and credit return lines that were received individually to create a separate invoice or credit for each line in accounting. For customers not using Avalara, lines for the same order that share a reference number and export together are now combined into a single invoice or credit again.
* [[Legacy_Gateways#Clover_Connect_(Legacy)|The CardConnect payment gateway has been updated to use new mandated classification fields on transactions sent to CardConnect]]
* Resolved: Exporting to QuickBooks Online could fail with an "invalid or unsupported property" error related to the vendor country. Fishbowl now sends the vendor country in the format QuickBooks Online expects, so the export succeeds.
* Resolved: When QuickBooks Online Automated Sales Tax was used on a manually created credit return, the tax was added as a positive amount instead of a negative, producing incorrect tax totals. Automated Sales Tax now calculates correctly for credit return items.
* Resolved: Reconciling a purchase order could record cost of goods sold against a shipment that had been voided, placing cost on a sales order line that was never fulfilled. Reconcile now ignores voided shipments, so cost is no longer recorded against them.
* Resolved: When reconciling a purchase order, Fishbowl posted a separate reconciliation journal entry to QuickBooks Online and Xero for every shipped item instead of one per sales order. For orders with many shipped lines or high carton counts, this could create a very large number of small journal entries in the accounting system. Reconciliation now posts a single journal entry per sales order, and Xero amounts are rounded to the cent.


{{HideH2|New Features - 2022.1}}
'''Purchasing and Receiving'''


* [[Part#MRP_wizard|A column displaying the part UOM was added to the Summary step of the MRP wizard]]
* Resolved: Reconciling a purchase order line that had a zero unit cost plus additional amounts (such as freight or other landed costs) could produce a negative landed cost because of rounding. Landed cost distribution now rounds so the amounts sum correctly and no line goes negative.
* [[Legacy_Gateways#Square_(Legacy)|The Square Payment Gateway has been updated to exclude inactive locations in the Location selection list]]
* Resolved: On a FIFO database, reconciling a purchase order could inflate a part's average cost to an extremely large value, eventually causing a save error. Average cost is now calculated correctly when reconciling on FIFO databases.
* [https://www.fishbowlinventory.com/support/updates/download Removed the 32-bit version of the Fishbowl Installer]
* Resolved: When landing costs by size (volume), Fishbowl did not account for each part's unit of measure, so parts measured in different units received an incorrect share of the landed cost. Landing costs by volume now accounts for the part's dimension units, and reports a clear error if a required unit conversion is missing.
* [[{{REST API}}|Added the ability to scrap inventory through the REST API]]
* Resolved: When receiving against a purchase order that had one product split across multiple lines, the Receiving Data import received only the first line per part and ignored the other lines' locations and tracking. This was a change in behavior from version 25.9. The import now receives every line into its own location with its own tracking, including for drop ship and transfer order receipts.
* [[Fishbowl_Legacy_API#Save_Image_Request|Updated the SaveImageRq API call to accept images for Sales Orders]]
* Resolved: On a purchase order, changing the vendor address did not update the order's contact phone and email to the selected address's defaults. Changing the vendor address now updates the phone and email, matching the behavior on sales orders.
* [[Fishbowl_Legacy_API#Save_Image_Request|Updated the SaveImageRq API call to accept images for Work Orders]]
* Resolved: On a FIFO database, voiding a shipment and later reconciling the originating purchase order with a landed cost could misallocate the landed cost and record an incorrect part cost, because the returned quantity was treated as a separate cost layer. Voiding a shipment and reconciling now allocate landed cost to the correct inventory, with the correct cost.


{{HideH2|Fixes - 2022.1}}
'''Manufacturing'''


'''CSV'''
* Resolved: On repair work orders, splitting a large quantity into multiple work orders produced incorrect finished good quantities on the Work Order Traveler, with the numbers becoming further off the more splits were made. Repair work order quantities are now calculated correctly.
* Resolved: Incorrect column header in the Customer Parts CSV. (Previously listed as "CustomerLastPartPrice")
* Resolved: When reconciling a part consumed on a work order that has more than one finished good, the reconcile failed partway through with an unexpected error instead of being prevented up front. Reconcile now detects this case in advance and blocks it cleanly with a clear message.
'''Transfer Order'''


'''Dashboard'''
* Resolved: Refreshing a transfer order that had been deleted in another client showed a generic "an unknown error has occurred" message. Transfer orders now show a clear message, consistent with other order types, when the record has been changed or deleted elsewhere.
* Resolved: Client login being slowed down due to the Dashboard loading as a saved tab


'''Email Settings'''
'''Part and Product'''
* Resolved: Using "Sign in with Google" while also having data in the Username and Password fields causes emails to fail to send
* Resolved: Fishbowl allowed changing a part's unit of measure while the part was on an open transfer order, which then caused an error in the Inventory module. Changing a part's unit of measure is now blocked when the part is on an open transfer order, consistent with the existing behavior for open sales and purchase orders.
* Resolved: Saving a part or product image with the save icon could fail with an "Unable to Save Image" error for users whose Windows account folder name contains a period (for example, a dotted username). Images now save correctly regardless of the folder path.
* Resolved: When exporting Part, Product, and Vendor Pricing, selecting a vendor filter had no effect and all parts and products were still exported. The vendor filter is now applied to the export.


'''Sales Order'''
'''Reports'''
* Resolved: Right-click and Issue ignored the "Issue Sales Orders" module option when manager approval would be needed
 
{{HideReleased|2021.12|12|09|21}}
{{HideH2|Highlights - 2021.12}}
 
* [[Sales_Order#Search|Custom fields can now be viewed in the Sales Order line item table as additional columns]]
* [[Purchase_Order#Search|Custom fields can now be viewed in the Purchase Order line item table as additional columns]]
* [[User#Change_a_user_password|Updated encryption of passwords]]
 
{{HideH2|New Features - 2021.12}}


* [[{{REST API}}|Added the ability to Add Inventory with Tracking through the REST API]]
* Resolved: On Canadian and New Zealand demo databases, the Purchase Order Summary Export report appeared under the Sales Order report folder. It now appears in the Purchase Order report folder.
* [[{{REST API}}|Added the ability to Add Inventory with Serial Numbers through the REST API]]
* Resolved: On the Received Summary report, the Quantity Received column was too narrow to display values longer than five digits. The column now shows the full quantity.
* [[{{REST API}}|Updated third party dependencies]]
* Resolved: On a standard costing database, the Adjustment Report labeled cost changes as "Average Cost Adj". The report now shows "Standard Cost Adj" on standard costing databases and "Average Cost Adj" on average costing databases.
* [[{{REST API}}|Improved REST API documentation]]
* Resolved: The Sales Order Report showed rounding discrepancies in certain cases when the customer used a currency other than the home currency. Currency rounding on the report is now consistent.
 
* Resolved: On the Manufacture Order Traveler report, customer information did not appear unless the sales order item was on the first work order generated for the manufacture order. Customer information now appears whenever the manufacture order is linked to a sales order, regardless of which work order carries the item.
{{HideH2|Fixes - 2021.12}}
* Resolved: The On Hand By Date report did not account for voided shipments, so inventory added back by a void was missing from the quantity on hand when a void was the most recent action. Voided shipments are now included in the on-hand quantity.
 
* Resolved: The Item History report counted voided shipments as inventory increases without accounting for the original decrease, so voided shipments appeared as upward adjustments and did not appear in the sales history. Voided shipments are now reflected correctly.
'''API'''
* Resolved: The Sales Production Demand report included estimate-status and already-fulfilled sales order items in its Needed total. The report now excludes estimates and fulfilled items, shows the remaining quantity for partially fulfilled items, and filters by scheduled date.
* Resolved: Being able to add inventory for parts that are not inventory type
* Resolved: On the Vendor Fulfillment History report, the PO Count column always showed 1. It now shows the number of distinct purchase orders that include the part.
 
* Resolved: The Manufacture Order Projected Cost report could freeze the client when a manufacture order's notes were long enough to span more than about 25 lines. The report now handles long notes without locking up.
'''Part'''
* Resolved: On the Sales Order Report with Special Characters, the memo date column wrapped onto multiple lines. The date column now displays on a single line.
 
* Resolved: The Transfer Order report stopped showing location group addresses on ship-type transfer orders. Ship-type transfer orders now display the location group addresses again.
* Resolved: The Part search "Display more information" button not showing correct data
* Resolved: Certain currency symbols, most notably the Indian Rupee, displayed as a box on reports instead of the correct symbol, even though the client showed the symbol correctly. Currency symbols now display correctly on reports.
 
* Resolved: A BI report gadget on the User Dashboard did not reload its content correctly after saving, logging out, and logging back in. The gadget now reloads as it was saved.
'''Pricing Rules'''
* Resolved: Pricing Rules using vendor currency instead of home currency
 
'''Purchase Order'''
 
* Resolved: Error when trying to close short a Purchase Order created from a drop ship Kit product


'''REST API'''
'''REST API'''
* Resolved: Product Best Price curl command text update


'''Database Changes'''
* Resolved: The sales order, purchase order, and manufacture order REST search endpoints omitted orders dated on the search's end date (for example, orders created, issued, or scheduled today when today was used as the end date). These searches now include orders through the end of the end date.
* Added column passwordLastModified DATETIME(6) to the SYSUSER table
* Resolved: Retrieving a purchase order, sales order, or manufacture order by ID through the REST API, or reading sales order and work order memos, returned an access error when the record belonged to a read-only location group, even though the search endpoints already listed these records. They can now be retrieved.
* Increased column userPwd to VARCHAR(255) on the SYSUSER table
* Resolved: The legacy pick-save API returned a server error when a pick line was sent without a source location, which affected warehouse-automation integrations that split pick lines. These pick saves now complete successfully.
* Resolved: The legacy API did not return custom field values when loading a product. Product custom field values are now included in the response.
{{Released|26.7|07|14|26}}
==Highlights - 26.7==
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' -  MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. '''You can safely use the standard auto-update process for version 2026.7''' - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.7. Follow the instructions here to migrate to MySQL 8.0: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration</nowiki>
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.7 release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* <u style="color: red;">'''Important Notice'''</u>: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.7.
* QuickBooks Online journal entries now carry the customer/job, bringing job costing to parity with the QuickBooks Desktop integration
* QuickBooks Online and Xero connections now stay active automatically, preventing the unexpected disconnects that required a manual reconnect
* Read-Only Location Groups now extends to the Work Orders module
* Fishbowl Payments now refreshes payment credentials automatically to prevent API key expiration
* Quality and reliability improvements across accounting, reports, and bills of materials


{{HideReleased|2021.11|11|11|21}}
==New Features - 26.7==
{{HideH2|Highlights - 2021.11}}
* '''QuickBooks Online — customer/job on journal entries (job costing).''' Journal entries that Fishbowl posts to QuickBooks Online now include the customer or job when one is specified in Fishbowl, matching how the QuickBooks Desktop integration already works. This ties the cost side of your transactions to the customer or job, so QuickBooks Online job-costing reports reflect the full picture. Jobs map to QuickBooks Online sub-customers.
** Applies to postings from sales orders, purchase orders and receiving, inventory adjustments (Cycle Count, Scrap, and initial Add), and manufacturing / work orders.
* '''Fishbowl Payments — automatic credential refresh.''' Fishbowl now refreshes your payment processing credentials automatically before they expire. Previously, customers who went an extended period (30 or more days) without taking a card payment could have their credentials expire and be locked out until they manually generated new ones. A system option controls how many days before expiration the refresh happens (default 10 days).
* '''Read-Only Location Groups — Work Orders.''' The Read-Only Location Groups feature introduced in the previous release now extends to the Work Orders module. Users assigned a location group as read-only can view work orders in that location group without being able to create or edit them, and a lock icon marks those work orders in the search list.
* '''Part CSV — "Pick in part UOM only" option.''' The part option "Pick in part UOM only" can now be set and reviewed through CSV import and export, in both the Part import/export and the Part, Product and Vendor Pricing (PPVP) import/export. Previously this option could only be changed one part at a time in the Part module, so customers maintaining parts in bulk can now manage it alongside their other part data. Existing CSV files without the new column import unchanged.
* '''REST API — create, unissue, and delete transfer orders.''' Building on the transfer order support added in the previous release, the REST API can now create a transfer order, return an issued transfer order to the Entered status, and delete a transfer order. Access rights, location group access, and status rules are enforced.
** '''POST /api/transfer-orders''' — create a transfer order (Ship and Move types)
** '''POST /api/transfer-orders/{id}/unissue''' — return an issued transfer order to Entered
** '''DELETE /api/transfer-orders/{id}''' — delete a transfer order that is still in Entered status
** '''GET /api/transfer-orders/next-number''' — next transfer order number
* '''REST API — work order memos.''' The REST API can now list, retrieve, create, update, and delete memos on a work order, matching the memo support already available for other order types.
** '''GET /api/work-orders/{id}/memos''' — list memos on a work order
** '''GET /api/work-orders/{id}/memos/{memoId}''' — get a single memo
** '''POST /api/work-orders/{id}/memos''' — create a memo
** '''POST /api/work-orders/{id}/memos/{memoId}''' — update a memo
** '''DELETE /api/work-orders/{id}/memos/{memoId}''' — delete a memo
* '''REST API — get the next sales order, work order, and purchase order number.''' The REST API can now return the next available sales order or purchase order number based on your auto-numbering settings. Note that requesting a number reserves and consumes it, so the counter advances whether or not you go on to create the order. Auto-numbering must be enabled for that order type.
** '''GET /api/sales-orders/next-number''' — next sales order number
** '''GET /api/manufacture-orders/next-number''' — next manufacture order number
** '''GET /api/purchase-orders/next-number''' — next purchase order number


* [[Part#Search|The Part Search has been updated to include inventory numbers and images]]
==Fixes - 26.7==
* [[Amazon#Release_Notes|Added the ability for the Amazon plugin to purge Personal Identifiable Information (PII) data from Fishbowl]]
'''General'''


{{HideH2|New Features - 2021.11}}
* Resolved: In some modules (such as Sales Order and Purchase Order) dates were displayed in a different format than other modules, even when the date-format settings were identical. Date formatting is now consistent across all modules.
* Resolved: In the Import/Export dialog, when a user had limited access to .csv imports/exports, the wrong Export/Import would try to run. The Import/Export dialog now exports/imports whats selected correctly regardless of which import/export permissions you have.
* Resolved: Importing the Part Cost CSV failed with an "only the admin can import this information" error for non-admin users, even when they had been granted the appropriate import/export permission. Users with the correct permission can now run the Part Cost CSV import.


* [[Inventory#Search|Added the UOM column to the Inventory Search table]]
'''Accounting'''
* [[{{REST API}}|Added the ability to update a Manufacture Order through the REST API]]
* [[{{REST API}}|Added the ability to search Inventory through the REST API]]
* [[{{REST API}}|Added Category to the Manufacture Order REST API object]]
* [[{{REST API}}|Added the ability to add inventory via the REST API]]
* [[{{REST API}}|Added the ability to get pricing rule pricing through the REST API]]
* [[Plugin|JXBrowser has been updated to the latest version]]
* [[QuickBooks#Required_QuickBooks_Accounts|The QuickBooks Desktop integration has been updated to create the Cost Variance Account as a COGS type account]]


{{HideH2|Fixes - 2021.11}}
* Resolved: QuickBooks Online and Xero connections could drop every few weeks with no setting change, and could only be restored by manually reconnecting and re-authorizing. Fishbowl now refreshes the QuickBooks Online and Xero connection tokens automatically before they expire, so connections stay active. A system option controls how many days before expiration the refresh happens (default 10 days).
* Resolved: When an account referenced by an order was inactive or missing in QuickBooks Online, the export reported an error but still posted the invoice and journal entries; once the error was resolved, a second copy was posted. Fishbowl now stops the export for an order as soon as it encounters a missing or inactive account, so invoices and journal entries are no longer duplicated. The same protection applies to Xero.
* Resolved: For customers using 30 Days EOM payment terms, due dates synced to Xero could be incorrect, because Fishbowl did not send a calculated due date and Xero derived it from the transaction date instead. This was especially noticeable in shorter months. Fishbowl now sends the correct due date to Xero based on the order's payment terms.
* Resolved: When cash rounding ("round cash transactions to the nearest $0.05 or $0.10") was enabled, the rounding line was not exported to accounting if payment was taken after the order was fulfilled, causing totals in Fishbowl and the accounting system to disagree. The rounding line is now added and fulfilled correctly when payment is taken after fulfillment.


'''CSV'''
'''Purchasing'''
* Resolved: Consumption Rate missing from the Part CSV instructions
* Resolved: Consumption Rate missing from the PPVP CSV instructions
* Resolved: Tax Rate errors when importing the Product CSV in a Canadian database


'''Customer'''
* Resolved: The Auto PO wizard could recommend purchasing items that were already covered by open transfer orders, because inventory in transit on a transfer order was not being counted. Auto PO now accounts for inventory on open transfer orders, so it no longer recommends unnecessary purchases.
* Resolved: Date Last Modified being updated when a new Sales Order is created/saved
* Resolved: A user with view-only access to the Purchase Orders module — or viewing a purchase order in a read-only location group — could still change a line item's vendor cost using the right-click menu or a keyboard shortcut. These actions are now properly blocked for users without edit access.


'''Dashboard'''
'''Manufacturing'''
* Resolved: Report Widget arrows being backwards


'''QuickBooks Desktop'''
* Resolved: Importing a bill of materials via CSV with a note line set as variable quantity prevented that bill of materials from being added to a manufacture order until the note was manually corrected. Note lines no longer use the quantity fields on import, so the bill of materials works correctly. This applies to both the Part BOM and BOM Details CSV imports.
* Improved error messaging for errors dealing with Closing Dates
* Resolved: When a bill of materials was imported via CSV with the finished good marked as a one-time-use item, generating a manufacture order from a sales order with a quantity greater than one produced incorrect component quantities. One-time-use is now ignored on finished good items, so quantities generate correctly. This applies to both the Part BOM and BOM Details CSV imports.


'''Sales Order'''
'''Sales Order'''
* Resolved: Sales Order item details dialog loading slowly


'''Shipping'''
* Resolved: When adding a product to a sales order using the Add Item Wizard (the + button) rather than the product search bar, the product's custom field values were not copied to the sales order line item, even with the option to add custom fields to sales order items enabled. Custom field values now carry over regardless of how the product is added.
* Resolved: Slowness shipping large quantities of kits


'''Time'''
'''Reports'''
* The plugin has been updated to update time/wo/part records to the new plugin format


'''Xero'''
* Resolved: On the Sales Order Summary Export report, the created date was blank until the order was issued. The created date now appears as soon as the order is created.
* Resolved: Receiving holding account not reversing when order is fulfilled
* Resolved: On the Sales Order, Sales Order (special characters), and Sales Invoice reports, custom field columns were right-aligned while all other columns were center-aligned. Custom field columns now align consistently with the rest of the report.
* Resolved: The Sales Production Demand report calculated its summary totals incorrectly when the part and the product used different units of measure, mixing the two units so the Short total was wrong. The summary now converts units consistently.
'''REST API'''


'''Database Changes'''
* Resolved: When retrieving a transfer order through the REST API, access could be denied unless the user had access to both of the transfer order's location groups, without accounting for which location group owns the order. Transfer order access now correctly considers ownership, so a user with the appropriate access can retrieve the order.
* Removed SOITEMTOMOITEM table


{{HideReleased|2021.10|10|14|21}}
{{HideH2|Highlights - 2021.10}}


* [[Part#Inventory_tab|Added a Consumption Rate to the Part module to be used in Reorder Point calculations]]
{{Released|26.6|06|23|26}}
* [[Part#MRP_wizard|Updated the Auto ROP wizard to be named MRP]]
==Highlights - 26.6==
* [[Part#MRP_wizard|Added Days of Stock to Part Inventory details to show an estimates days of stock based on the Parts Consumption Rate]]
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' - MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. '''You can safely use the standard auto-update process for version 2026.6''' - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
* [[Part#MRP_wizard|The Select Parts step of the MRP wizard has been updated to only show Inventory type parts]]
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* [[Part#MRP_wizard|The Date Range step of the MRP wizard now has an option to use the Parts Consumption Rate stored in the Part module]]
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.6. Follow the instructions here to migrate to MySQL 8.0: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration</nowiki>
* [[Part#MRP_wizard|The Date Range step of the MRP wizard now has options to select which Consumption to include when calculating a Parts Consumption Rate]]
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.6 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* [[Part#MRP_wizard|The Forecasting step of the MRP wizard now has the option to select which Consumption to include when Part Consumption Rate was chosen on the previous step]]
* <u style="color: red;">'''Important Notice'''</u>: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.6.
* [[Part#MRP_wizard|The Reorder Point step of the MRP wizard has been updated to pull the Default Vendors Lead Time for the ROP calculation]]
* <u style="color: red;">'''Important Notice'''</u>: REST API change for kit items. When you retrieve a sales order through the REST API, kit components are now returned nested inside a "kitItems" list on their parent kit item, rather than as separate top-level line items, and the previous parent-reference field has been removed. If you have an integration that reads sales order kit items through the REST API, review and update it before upgrading to 2026.6.
* [[Part#MRP_wizard|The Order Up to Level step of the MRP wizard has been updated to the new MRP terminology]]
* New Read-Only Location Groups, giving users view-only access to inventory and orders in specific location groups
* [[Part#MRP_wizard|The Summary step of the MRP wizard has been updated with additional columns, sorting, and inline editing]]
* Expanded REST API with sales order creation, transfer order issuing, and nested kit items in sales order responses
* [[Part#MRP_wizard|The Summary step of the MRP wizard has the option to update the Part's Consumption Rate upon finishing the wizard]]
* New module option to view and control the next customer account number
* Faster Receiving screen for customers with large numbers of locations
* Security improvements, including a configurable read-only database user and an updated logging component
* Quality and reliability improvements across reports, scheduling, accounting, and purchasing


{{HideH2|New Features - 2021.10}}
==New Features - 26.6==
* '''Read-Only Location Groups.''' Administrators can now assign a location group to a user as read-only, letting that user see the data in that location group without being able to change it. This makes it possible to give people visibility into warehouses or branches they don't manage, without risking accidental edits.
** Read-only access is set per location group in the User module, using a new Read Only checkbox on each assigned location group. A user can have any number of read-only location groups.
** It applies across the Inventory, Sales Orders, Purchase Orders, Transfer Orders, and Manufacture Orders modules. Records from read-only location groups still appear in the search lists, but creating, editing, adjusting, moving, and similar changes are blocked for those records.
** A lock icon appears next to records in the search lists that belong to a read-only location group, so users can tell at a glance which records are view-only. For transfer orders, the lock appears only when both the source and destination location groups are read-only.
** Read-only location groups can still be selected and searched in Advanced Search.
** User CSV import and export now include read-only location group assignments through a new Read Only Location Groups column.
** The REST API and legacy API can report which of a user's location groups are read-only, so integrations can enforce the same view-only behavior.
* '''Customer Module: control the next customer number.''' Customer numbers are now generated from a stored "next number" counter, the same way order numbers work. A new module option shows the next customer number and lets you change it, giving you direct control over the value assigned to the next new customer.
* '''Server: configurable read-only database user.''' Administrators can now set a custom password for the built-in read-only database user, or disable that user entirely, from the Server tab of the Database Settings dialog. Previously this account always used a fixed default password. Existing installations are not disrupted: if no password is set, the current default is kept until you change it.
* '''Advanced Mobile Plugin: custom email subject and body for shipping.''' The Mobile Plugin's Shipping Options now include Email Subject and Email Body fields, so the email sent from the mobile app can use a custom subject and message. Existing behavior is unchanged when these fields are left blank.
* '''REST API:''' The REST API has been enhanced to include new functionality for accessing API Documentation, Sales Orders, and Transfer Orders.
** '''Create a sales order.''' The REST API can now create a sales order and return the created order, following the same pattern as the existing create and update purchase order calls. Customer defaults such as carrier, payment terms, currency, and addresses are applied automatically from the selected customer, and access rights and location group access are enforced. Kit items and drop ship items are not supported in this first version.
*** '''POST /api/sales-orders''' — create a sales order
** '''Issue a transfer order.''' The REST API can now issue a transfer order, moving it to the Issued status. Access rights, location group access, and status rules are enforced.
*** '''POST /api/transfer-orders/{id}/issue''' — issue a transfer order
** '''Kit items nested in sales order responses.''' When you retrieve a sales order, kit components are now returned nested under their parent kit item instead of appearing as separate top-level line items, making the response easier to work with for kits. Non-kit items are unaffected. (See the Important Notice above — this changes the response shape for existing integrations.)
*** '''GET /api/sales-orders/{id}''' — kit components now appear in a kitItems list on their parent kit item
** '''Machine-readable documentation.''' The REST API documentation can now be retrieved in a machine-readable format, making it easier for developers and AI coding assistants to work with the API programmatically.
*** '''GET /apidocs.json''' — the full API documentation as structured data
* '''Legacy API — save a signature image at receiving.''' The legacy API can now save a signature or other image against a receipt at receive time, supporting workflows that capture a delivery signature when stock is received. The image is identified by the order (purchase order, sales order, or transfer order) and its location group.


* [[Access_Rights#Sales_Order|Added an access right for duplicating Sales Orders]]
==Fixes - 26.6==
* [[Access_Rights#Purchase_Order|Added an access right for duplicating Purchase Orders]]
'''General'''
* [[Currency|Added Barbados to the Currency list]]
* [[{{REST API}}|Added the ability to update a Manufacture Order through the REST API]]


{{HideH2|Fixes - 2021.10}}
* Resolved: The client update process could fail because it did not recognize a new program directory introduced in a recent release. Client updates now complete successfully.


'''Checkout'''
'''Accounting'''
* Resolved: Company image not displaying on Checkout secondary monitor screen


'''CSV'''
* Resolved: When a drop ship item on a sales order was received in more than one partial receipt, the first receipt exported to QuickBooks Online correctly, but the second receipt reused the same document number and failed on export with a "Duplicate Document" error. Each partial receipt of a drop ship item now exports with its own unique document number.
* Updated the Product Import instructions to match terminology used in the client
* Resolved: When an export to QuickBooks Online was rejected with a "Business Validation" error, Fishbowl did not record the detailed error information QuickBooks returned, which made some recurring export errors hard to diagnose. Fishbowl now captures the full QuickBooks error detail and Intuit's transaction reference in the Fishbowl Server Log, helping support identify the cause of failed exports faster.


'''Customer'''
'''Purchasing'''
* Resolved: Being able to update the currency rate for customers set to Home Currency through the module and CSV import


'''Part'''
* Resolved: When reorder levels are set by location group, Auto PO did not recognize demand created by out-of-stock items on transfer orders, even when the relevant "From" location group was selected in the Auto PO wizard. The same demand from a sales order generated a PO correctly. Auto PO now recognizes transfer order demand by location group and creates the expected purchase orders.
* Resolved: The Default Returning As part is incorrectly set after duplicating a part


'''QuickBooks Desktop'''
'''Purchasing and Receiving'''
* Resolved: No Certificate being displayed when integrating


'''REST API'''
* Resolved: The Receiving screen opened slowly for customers with a large number of locations, and slowed further each time an item was received and the screen refreshed. Receipt details now load much more efficiently, so the Receiving screen opens significantly faster in large configurations.
* Resolved: REST API does not use  the server option to only allow a user to be logged in once
* Resolved: SSL Context error with Jetty Server on startup


'''Settings'''
'''Reports'''
* Updated the Max Thumbnail Size to not allow a number below 16


'''Server'''
* Resolved: The Asset Valuation by Account report calculated FIFO cost incorrectly when run for a past date, so the value did not match the Inventory module's total cost for that date. The report now calculates historical FIFO cost correctly.
* Improved calculation rounding precision in situations dealing with money
* Resolved: The Packing Slip report in the Standard layout did not show all part tracking details for transfer order items that were split across multiple lots or expiration dates; it combined the lines and showed tracking for only the first. The report now lists tracking details for each line, matching the sales order and By Carton layouts.
 
* Resolved: On the Packing Slip, the option to show or hide order notes had no effect — the notes always appeared. The show/hide notes option is now honored.
'''Square Payment Gateway'''
* Resolved: On the Purchase Order report, a vendor address that had a country but no city, state, or ZIP displayed a stray comma. The address now formats correctly when those fields are empty.
* Resolved: The location chosen when integrating was missing in the transaction requests sent to Square
* Resolved: The Tracking report failed to run for parts whose part number contains an apostrophe (for example, a foot mark such as 40'). These reports now run correctly.
 
* Resolved: Running the Batch Sales Order Invoice report with the Show Memos option enabled failed with an error when an order included a memo. The report now generates correctly when memos are shown.
'''Transfer Order'''
* Resolved: After a recent change, several sort options on the Sales Backorder report — Customer, SO Number, Date to Fulfill, and Quantity Needed — sorted by the wrong column. Each option now sorts by the correct field.
* Resolved: Module Option dictating which location the Transit location is created in not working as designed
* Resolved: After a 26.5 change, the Sales Order Summary and Sales Order Summary Export reports could not be selected when creating a scheduled task. Both reports can be scheduled again.
 
'''Vendor'''
* Resolved: Being able to update the currency rate for vendors set to Home Currency through the module and CSV import
 
'''Work Order'''
* Issue: Error when creating a custom Work Order where the Finished Good is a Kit
:* Resolution: Removed Kits from the available list when selecting a Finished Good
 
'''Xero'''
* Issue: Balance Debits and Credits error displaying only the PO Ref #
:* Resolution: The PO # is now displayed in the error as well as the PO Ref #


'''Database Updates'''
'''Database Updates'''
* Added CONSUMPTIONRATE column to the PART table


{{HideReleased|2021.9|09|09|21}}
* Added "readOnly" column to the userToLg table. This column supports the new Read-Only Location Groups feature, which lets administrators give a user view-only access to a location group. The column defaults to false, so all existing location group assignments remain fully editable after upgrade.
{{HideH2|Highlights - 2021.9}}
{{Released|26.5|05|20|26}}
==Highlights - 26.5==
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' - MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. '''You can safely use the standard auto-update process for version 2026.5''' - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update</nowiki>
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.5. Follow the instructions here to migrate to MySQL 8.0: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration</nowiki>
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.5 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* <u style="color: red;">'''Important Notice'''</u>: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.5.
* Improved client connection performance with reduced server communication overhead
* Fishbowl Payments (Powered by Run Payments) ACH-only merchant support
* New Accounting Module options added
* Quality and reliability improvements across accounting, purchasing, inventory, and receiving modules


* [[Legacy_Gateways#Square_(Legacy)|The Square Payment Gateway was been updated to the latest API/SDK]]
==New Features - 26.5==
* '''Client connection performance improvements.''' The Fishbowl client connection has been optimized to reduce the number of server round-trips made during normal operation. Clients now check whether server-side updates are available before requesting them, rather than fetching on every interaction. Users on high-latency or slower network connections should notice improved responsiveness.
* '''Fishbowl Payments (Powered by Run Payments) ACH-only merchant support.''' Fishbowl Payments now provides an additional payment option for merchants who process with ACH only that does not require a Credit Card merchant ID (MID). Payment routing is handled transparently by Run Payments based on the merchant's ACH MID entered during initial integration, no separate configuration is required.
* '''New Accounting Module options for Invoice email address.''' A new module option, "Always send the customer's default address default email on Invoice," ensures the customer's default contact email is used when exporting invoices to QuickBooks Online and other accounting packages, regardless of which contact placed the order. The option is off by default.
* '''New Accounting Module options for QuickBooks Canada users:''' New module options for QuickBooks Desktop Canadian tax rounding control and accounting package email override
* '''QuickBooks Desktop — Canadian tax rounding module option.''' A new Accounting Module Option on the QuickBooks tab controls whether Canadian tax rounding mimics QuickBooks Desktop rounding behavior. Customers who generate orders outside Fishbowl (e.g., via ecommerce integrations) can now disable this rounding so totals match between their external system and Fishbowl/QuickBooks Desktop. The option is off by default; existing behavior is preserved.
* '''New QuickBooks Online — Intuit Enterprise Suite (IES) Accounting integration option.''' A dedicated Intuit Enterprise Suite integration button is now available in the Accounting module, alongside QuickBooks Online. IES customers can connect using the same authorization flow and sync logic as QuickBooks Online; the new entry clarifies compatibility for customers running on the Intuit Enterprise Suite platform.
* '''Bi Reports and Dashboards''':
** '''Dashboard updates and performance improvements.''' Updated versions of the Sales, Inventory, Purchasing, Production Scheduling, and Company dashboards, plus the Inventory Reorder Watchlist BI report, are now included in the release. The updates add async loading on large datasets, refactor tooltips, and resolve a number of dashboard-specific bugs.
** '''Added secure REST API access from Bi reports.''' A new <code>apiFetchAsync</code> function is available to BI report authors. Reports can now call REST API endpoints under the running user's session, so the server enforces the user's access rights automatically. This replaces the prior pattern of calling the legacy socket API, which bypassed access-rights and field validation.
** '''Added ability to drill into Picks from a Bi report.''' <code>openModule("Picking", pickNum)</code> now opens the Picking module and loads the specified pick, matching the existing behavior for Part, Sales Order, and Vendor. Report authors can link from any report row directly to the relevant pick.
** '''BI Reports — drill into Receipts from a Bi report.''' <code>openModule("Receiving", ...)</code> now supports a compact identifier format ("S122" for SO receipts, "P234" for PO receipts, "T456" for TO receipts) that opens the Receiving module and loads the matching receipt. Report authors can link directly into receipts the same way they link into other records.
* New report module features: Added: Cycle count zero-quantity-change entries (inventory log typeid 68, introduced in 26.4) are now available as a filter option on the Part Activity Report. The filter is unchecked by default to preserve existing report behavior.
* Added: Cycle count zero-quantity-change entries are now available as a filter option on the Part Activity Export Report. The filter is unchecked by default to preserve existing report behavior.
* '''New API Features:'''
** '''Email Report API — custom subject and message body.''' The legacy Email Report API now accepts optional EmailSubject and EmailMessageBody fields, allowing the mobile product and integrators to send reports with a customer-appropriate subject and body. The existing scheduled-task email behavior is preserved when these fields are omitted.
** '''REST API —''' The REST API now supports core Transfer Order operations: retrieving a single Transfer Order, searching for Transfer Orders, and managing memos on a Transfer Order. Access rights and location-group access restrictions are enforced.
*** The REST API now supports core Transfer Order operations: retrieving a single Transfer Order, searching for Transfer Orders, and managing Transfer Order memos. Access rights and location-group access restrictions are enforced. New endpoints for creating, retrieving, and updating Transfer Order memos.
*** <code>GET /api/transfer-orders</code> — search Transfer Orders
*** <code>GET /api/transfer-orders/{id}</code> — get a single Transfer Order
*** <code>GET /api/transfer-orders/{id}/memos</code> — list memos on a Transfer Order
*** <code>GET /api/transfer-orders/{id}/memos/{memoId}</code> — get a single memo
*** <code>POST /api/transfer-orders/{id}/memos</code> — create a memo
*** <code>POST /api/transfer-orders/{id}/memos/{memoId}</code> — update a memo
*** <code>DELETE /api/transfer-orders/{id}/memos/{memoId}</code> — delete a memo
** '''REST API — Get Pick.''' A new endpoint loads a Pick by ID and returns the full Pick object with all calculated fields populated, matching the behavior of loading a pick in the client. Access rights and location group restrictions are enforced.
*** <code>GET /api/picks/:id</code>
*** Pick items now include source tag information in the response


{{HideH2|New Features - 2021.9}}
==Fixes - 26.5==
'''General'''


* [[Fishbowl_Legacy_API#Legacy_Requests|Updated the PartGetRq to select active parts first when searching based on UPC]]
* Resolved: After upgrading to version 2026.3, the Products module search began returning both active and inactive products by default. The Active Only filter shown in Advanced Options was not being applied on initial load or when clicking the search button. The default search behavior now correctly limits results to active products.
* [[Currency|Added Suriname to the Currency country list]]
* Resolved: Creating Sales Orders, Manufacture Orders, or Purchase Orders with a value that contained both an underscore and a dash in the same field could cause duplicate records to appear in search results and break several reports. Orders with mixed underscore and dash characters now save as a single record and search and report correctly.
* Resolved: Server update notifications continued to appear in the client even when the server was configured to never notify or to auto-update. The client now correctly honors the server's update notification setting.


{{HideH2|Fixes - 2021.9}}
'''Accounting'''


'''Accounting Integrations'''
* Resolved: When manually applying landed costs, entering an incorrect amount that triggered a validation error and then correcting the value would cause Fishbowl to accumulate both the invalid and corrected amounts rather than replacing the prior entry. This resulted in an overstated landed cost total and a "Please balance your debits and credits" error on accounting export. The correction now replaces the prior entry rather than adding to it.
* Issue: "Balance Debits and Credits" export error
* Resolved: Exporting a Sales Order to QuickBooks Online failed with an "Amount is not equal to UnitPrice * Qty" error when associated pricing on the order had been changed after the order was issued. The unit price was not being correctly carried through to the export calculation. The export now uses the price stored on the sales order line item.
:* Resolution: Locked down scenarios allowing for landing costs across multiple reference #'s and bill dates
* Resolved: Exporting a Credit Return Sales Order to Xero failed with a line total mismatch error when stock for the return was received in multiple batches (e.g., two receipts of 5 units for a line originally returned as 10). Fishbowl was not correctly apportioning the unit price across split receipts, producing mismatched totals. The export now correctly calculates line totals for split credit return receipts.
'''Purchasing'''


'''CSV'''
* Resolved: Reconciling a Purchase Order after a void-and-re-receive sequence could fail because the inventory log pivot was using incorrect values, leaving the reconcile unable to complete. The pivot is now built from the correct inventory log entries and reconcile completes successfully.
* Resolved: Pricing Rule CSV duplicate entry error
* Resolved: Auto PO did not include parts that were short when the "No ROPs" option was checked and an unrelated reorder point was defined elsewhere in the database. Short parts are now correctly included regardless of unrelated ROP definitions.
* Resolved: The ship-to address on auto-generated Purchase Orders was not being populated correctly in some configurations. Auto-generated POs now use the correct ship-to address.
* Resolved: Vendor Last Cost on a Purchase Order could be recorded as a negative value in certain credit/return scenarios, causing accounting and cost-reporting issues. Vendor Last Cost is now stored as a non-negative value.


'''Picking'''
'''Purchasing and Receiving'''
* Updated error message on pick module refresh when the pick has been removed


'''Square'''
* Resolved: When receiving stock against a Purchase Order with a backdated Receive Date, the created inventory tag's <code>dateCreated</code> was stamped with the current system date rather than the backdated date entered by the user. This caused the FIFO pick method to select an incorrect tag for lot-tracked parts. Tag <code>dateCreated</code> now reflects the user-entered Receive Date.
* Resolved: Failed to Process error message due to multiple emails in the email field


'''Work Order'''
'''Manufacturing'''
* Resolved: Custom Work Order wizard allowing partial eaches


* Resolved: Auto MO did not create a manufacture order when no reorder point was defined for the part, even when the "Include No ROPs" option was checked. Auto MO now correctly creates manufacture orders for parts without reorder points when that option is enabled.


'''Database Changes'''
'''Materials'''
* Resolved: Added dateExpiration column to the PaymentGateway table


{{HideReleased|2021.8|08|12|21}}
* Resolved: The Replenish Wizard in the Transfer Order module did add parts to a transfer order when no reorder point was defined for the part, even when the "Include No ROPs" option was checked. The wizard now includes parts regardless of reorder point configuration when when the "Include No ROPs" option is checked.


{{HideH2|Highlights - 2021.8}}
'''Reports'''
* [[Transfer_Order#1._Create_a_transfer_order|The line item Scheduled Date on Transfer Orders has been opened up to allow editing until item is received]]
* [[Inventory#View_quantity_details|The Order Location Group has been added to the Next Orders section of the Inventory Details screen]]


{{HideH2|Fixes - 2021.8}}
* Resolved: The Sales Order Summary and Sales Order Summary Export reports did not differentiate between products that share the same name across different branches of a product tree, causing items from unrelated branches to appear together in the filtered results. The product tree filter now correctly scopes results to the selected branch.
* Resolved: The Sales Order Summary Export report could pull in items incorrectly when filtering by certain date or status combinations, producing extra or unrelated line items. Filtering and item selection now match the configured filters.
* Resolved: The Sales Order Summary Report returned zero results when filtered by a single day combined with the "SO item date fulfilled" filter, even when fulfillments existed for that day. The report now correctly returns matching results for single-day fulfillment filters.
* Resolved: The Work Order Traveler report was not displaying page numbers, making multi-page travelers difficult to track on the shop floor. Page numbers are now rendered on all pages of the report.
* Resolved: The Sales Backorder report did not render correctly in certain scenarios, producing incomplete or incorrect output. The report now generates as expected.
* Resolved: Selecting a value in the Carrier filter on the Sales Order Summary report caused the entire report to return blank. The Carrier filter now correctly narrows results to the selected carrier.
* Resolved: The Packing Slip report appended a time stamp (e.g., "2025-08-29 00:00:00") when displaying custom date fields, even though the client displays them as date-only. Custom date fields now render without the time component.
* Resolved: The Shipping Invoice report's Field Titles area exposed two "FOB Point" labels, and editing the second actually changed the Sales Person title. The second entry is now correctly labeled "Sales Person".
* Resolved: The Reverse Lot History report failed to complete and would load indefinitely on databases that had been upgraded from version 24.7 or earlier. The report now generates as expected.
* Resolved: The Location Barcode and Location Barcode One Off reports printed barcodes shifted to the left of center on the label rather than centered. Barcodes are now centered correctly on the label.
* Resolved: In international databases, toggling off the "Show Cost" option on the Purchase Order Summary report hid the column header but left the cost values and removed the totals. The toggle now hides both the column data and the totals consistently with US databases.


'''Accounting Intergrations'''
'''Calendar'''
* Resolved: "Please Balance your debits and credits" export error


'''API'''
* Resolved: On Australian and other non-US system locales, the Calendar module did not display scheduled events or orders in the first row of dates, while events on later rows displayed correctly. Calendar events now render in all rows regardless of locale.
* Resolved: Errors caused by UOM conversion issues when picking serial numbers
'''Database Updates'''
* Added "priceLocked" column to the soitem table. Supports the associated-pricing fix that resolves the QuickBooks Online export error "Amount is not equal to UnitPrice * Qty" when an associated price is changed after a sales order is issued. The new column defaults to false; on upgrade, existing Associated Price line items on Issued (or later) sales orders are backfilled to true so that already-issued orders continue to export correctly.


'''Client'''
* Resolved: Server Shutdown Timer message showing an error


'''CSV'''
{{Released|26.4|04|14|26}}
* Resolved: Customer Parts not using the customer full name for import/export
==Highlights - 26.4==
* Resolved: Location CSV not using the customer full name for import/export
* Resolved: Incorrect character limit for salesman in SO and SO Details CSV instructions


'''Linux'''
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' - MySQL 8.0 will reach End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. '''You can safely use the standard auto-update process for version 2026.4''' - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update</nowiki>
* Resolved: Incorrect line encoding in eve.sh file
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.4. Follow the instructions here to migrate to MySQL 8.0: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration</nowiki>
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.4 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* <u style="color: red;">'''Important Notice'''</u>: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.4.
* New user rights added for individual Import/Export operations
* Improved user security with automatic password expiration and CSV-based temporary password assignment
* Updated USPS address validation integration
* Quality and reliability improvements across accounting, purchasing, inventory, and receiving modules


'''QBO'''
==New Features - 26.4==
* Resolved: Null export error on note/subtotal type line items


'''REST API'''
* '''Granular Import/Export access rights.''' A new set of 114 individual access rights has been added — one for each import and export operation — giving administrators the ability to allow or deny specific import and export operations per user group. The existing Import/Export-View access right continues to control visibility of the Import/Export menu item. All existing user groups are automatically granted the new rights via migration to maintain backward compatibility.
* Resolved: UserId missing from login request
* '''Inventory: Require Notes on Quantity Adjustments and Inventory Moves.''' Two new module options have been added to the Inventory module that allow administrators to require users to enter a note when adjusting inventory quantities or moving inventory between locations. Both options are off by default. When enabled, users must provide a note before completing the action, creating a documented record for each inventory change.
* '''Automatic user password expiration.''' A new option in the Users module allows administrators to enable automatic password expiration. When enabled, a configurable expiration period (in days, defaulting to 30) is set, and users are prompted to reset their password at their next login after it expires. This improves password security for organizations that require periodic credential rotation.
* '''Temporary password assignment via users.csv import.''' A new optional "Password" column has been added to the users.csv import format, allowing administrators to assign a temporary password when creating new users via CSV import. This field applies to new user creation only and cannot be used to reset passwords for existing users. This action is limited to the admin user.
* '''USPS Address Validation update.''' The USPS address validation integration has been updated to work with the current USPS API. This feature, which allows users to validate shipping addresses on orders directly within Fishbowl, was previously non-functional due to changes made by USPS.
* '''REST API: Part tracking data on GET Shipment.''' The GET Shipment endpoint now returns part tracking information on ship items when tracking data is present, matching the tracking details visible when viewing a shipment in the Fishbowl client.
** '''GET /api/shipments/:id''' - Now includes a tracking object on each shipItem when applicable.


'''Work Order'''
==Fixes - 26.4==
* Resolved: Updated finished good and raw good text during the Custom WO wizard
'''General'''


'''Xero'''
* Resolved: Cost and price fields, line item totals, and order totals on Purchase Orders and Sales Orders now display correctly when the home currency is set to an Arabic currency (e.g., Kuwaiti Dinar, Iraqi Dinar, Omani Rial, Bahraini Dinar). Previously, values displayed using Eastern Arabic numerals instead of standard numerals, and order totals did not appear at all.
* Resolved: Purchase Order inventory holding account transactions not being reversed upon fulfillment
* Resolved: Cycle counts that result in no quantity change (where the counted quantity exactly matches the system quantity) are now saved as records. Previously, zero-change cycle counts were discarded with no record retained, making it impossible to report on when an item was last counted or confirm its accuracy at that point in time.
* Resolved: Transfer Order CSV imports now enforce UOM compliance for each line item. Previously, importing a Transfer Order via CSV allowed any unit of measure to be assigned, regardless of whether it was valid for the part, which could corrupt order, pick, and inventory records.
* Resolved: Filtering when exporting via the CSV export wizard now works correctly. Previously, applying a filter in the export wizard would result in a blank error and no file was produced. Exporting without applying a filter was unaffected.


{{HideReleased|2021.7|07|15|21}}
'''Purchasing and Receiving'''
{{HideH2|Highlights - 2021.7}}
* [[QuickBooks_Online#Export|Multiple email addresses are now sent from Fishbowl to QuickBooks Online on Customers and Invoices]]


{{HideH2|New Features - 2021.7}}
* Resolved: Outsourced Purchase Orders can now be reconciled even when one or more receivable line items do not yet have cost history. Previously, the absence of a cost history for any receivable line would prevent the entire receipt from being reconciled.
* Resolved: Purchase Order CSV imports now preserve unit cost values with more than two decimal places. Previously, line item unit costs were incorrectly rounded to two decimal places during import, introduced in version 2026.1.
* Resolved: The Receiving Data CSV import now assigns the correct billed unit cost when a single order line is received across multiple CSV rows. Previously, splitting one line into multiple receive lines resulted in each row receiving a different, incorrect calculated cost (e.g., $10.00, $2.00, $2.50, $3.33) instead of the correct value.


* [[Access_Rights#Inventory|Added a user right to limit the Add functionality of the Inventory module]]
'''Accounting'''
* [[Customer#Check_balance|Updated the Check Balance button of the Customer module to exclude estimate status orders]]
* [[{{REST API}}|Added Location Group search options through the REST API]]
* [[{{REST API}}|Added the ability to create UOM's through the REST API]]
* [[{{REST API}}|Added the ability to update UOM's through the REST API]]
* [[{{REST API}}|Enhanced the MO create REST API call to allow for creation of custom orders]]
 
{{HideH2|Fixes - 2021.7}}
 
'''Custom Fields'''
* Resolved: Checkbox type custom fields are not transferred to the Sales Order module from the Customer module
 
'''Fishbowl Client'''
* Resolved: Enter button not working in Advanced Search after closing and reopening a module
* Client Connection changes for connection issues
 
'''Pick'''
* Resolved: Pick custom fields being cleared out when using API calls
 
'''QuickBooks Desktop'''
* Resolved: Miscellaneous Credit general journal entries posting incorrectly
* Issue: Payments exporting and automatically applying to Invoices incorrectly
:* Resolution: Added a module option for Automatically Applying Payments that can be disabled
 
'''QuickBooks Online'''
* Resolved: Vendor credit return posting incorrect journal entries
 
'''REST API'''
* Resolved: Issues with Purchase Order custom fields
* Resolved: Custom fields issues on Manufacture Order creation
 
'''UOM'''
* Resolved: Make default UOM's, like Each, inactive did not remove them from the UOM list when creating new parts
* Updated text for Abbreviation fields
 
'''User Group'''
* Resolved: "See All Customers" user access right not limiting customers in the Product module, Customers tab
 
'''Xero AU'''
* Resolved: "Unexpected error: Please reintegrate with Xero."
 
{{HideReleased|2021.6|06|10|21}}
{{HideH2|Highlights - 2021.6}}
 
* [[Fishbowl_for_Mac|Mac installer improvements]]
* [[Sales_Order|Added the ability to right-click multiple sales orders in the search pane and close short the orders]]
 
{{HideH2|New Features - 2021.6}}
 
* [[Currency|Added the Zimbabwean Dollar to the available currencies list]]
* [[Getting_Started#Login|Updated the login message when exceeding the number of licensed users]]
* [https://fishbowlhelp.com/files/csv/importSO.html The Sales Order CSV import now looks at the customer's priority setting if the priority field is left blank]
* [[Manufacture_Order#Module_Options_General_tab|Unchecked "Always use the multiple finished goods step" MO module option by default for new databases]]
* [[Start_Fishbowl#Creating_a_new_database|Updated the default MySQL settings for new installs]]
* [[{{REST API}}|Updated Jetty to the latest version]]
* [[Company#Module_Options_LDAP_tab|LDAP logins are now supported in the REST API]]
* [[{{REST API}}|Added the UOM object to the REST API]]
* [[{{REST API}}|Added the ability to delete a UOM through the REST API]]
* [[{{REST API}}|Added Part Search to the available REST API calls]]
* [[{{REST API}}|Added UOM Search to the available REST API calls]]
* [[{{REST API}}|Added Vendor Search to the available REST API calls]]
* [[{{REST API}}|Added the Manufacture Order object to the REST API]]
* [[{{REST API}}|Added the ability to create a Manfacture Order through the REST API]]
* [[{{REST API}}|Added the ability to issue a Manufacture Order through the REST API]]
* [[{{REST API}}|Added the ability to unissue a Manufacture Order through the REST API]]
* [[{{REST API}}|Added the ability to close short a Manufacture Order through the REST API]]
 
{{HideH2|Fixes - 2021.6}}
 
'''Client'''
* Resolved: Unable to open multiple client instances on the same computer
* Resolved: Login and logout issues that caused the client the freeze
* Resolved: Chat box goes off screen for long messages
 
'''Company'''
* Updated text for LDAP module options
 
'''CSV'''
* Resolved: Null import error when importing blank UPC with the module option "Only allow numeric characters in UPC code" enabled
* Resolved: Import issues when importing incomplete data in the UOM CSV import
 
'''Intuit Payments'''
* Resolved: Error when taking a payment for a card already stored as a wallet
 
'''Manufacture Order'''
* Resolved: Unissuing a Manufacture Order did not clear out the issue date
* Resolved: Partially fulfilling a WO, the secondary WO doesn't auto commit inventory when that option is enabled
* Resolved: Partially fulfilling a WO, the secondary WO doesn't pick from the correct location
* Resolved: Finishing a WO/MO does not allow duplicate serial numbers for separate serial type tracking


'''Purchase Order'''
* Resolved: QuickBooks Desktop exports now correctly handle tax rounding when Canadian dollars are used as the home currency. Previously, the exported tax amount was rounded up by $0.01, causing a discrepancy between the payment recorded in Fishbowl and the invoice balance in QBD that required manual correction on each affected invoice.
* Resolved: Data not being saved after changing the date scheduled to the same date and choosing to update the line item dates
* Resolved: Credit returns on Sales Order lines for non-inventory parts now correctly reverse the COGS entry with a negative cost value. Previously, when duplicating a Sales Order and selecting "Credit Return," non-inventory line items retained a positive cost rather than posting a negative COGS, overstating cost of goods sold.
* Resolved: When duplicating a Sales Order as a Credit Return, tax line items calculated by TaxJar and QuickBooks Online Automated Sales Tax are now correctly converted to negative amounts. Previously, these tax line items remained positive on the credit return, resulting in incorrect tax totals instead of properly reversing the original tax charges
{{Released|26.3|03|23|26}}
==Highlights - 26.3==


'''QuickBooks Online'''
* <u style="color: red;">'''Important Notice'''</u>: '''MySQL 8.0 End of Life - Update Optional for Now''' - MySQL 8.0 will reach End of Life (EOL) in April 2026. After this date, Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS before the EOL date, '''this update is NOT required at this time'''. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. '''You can safely use the standard auto-update process for version 2026.3''' - it will maintain your current MySQL 8.0 installation. If you wish to upgrade to MySQL 8.4 now, see the "MySQL 8.4 upgrade" feature description below. For detailed upgrade instructions, visit: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update</nowiki>
* Resolved: "Please balance your debits and credits" error when exporting bills
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* <u style="color: red;">'''Important Notice'''</u>: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.3. Follow the instructions here to migrate to MySQL 8.0: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration</nowiki>
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.3 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* <u style="color: red;">'''Important Notice'''</u>: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.3.
* <u style="color: red;">'''Important Notice'''</u>: Previously the Ebay plugin was not compatible with Java 21. This issue has been resolve and it is now fully functional.
* Improved MySQL 8.4 update process
* New Bi Report
* Enhanced REST API with shipment and payment search functionality
* Improved Sales Order flexibility with kit item type changes
* Quality and reliability improvements across multiple modules


'''Receiving'''
==New Features - 26.3==
* Resolved: Currency showing USD for a multi currency order with the multi currency values


'''Sales Order'''
* '''MySQL 8.4 upgrade option (Optional).''' For customers who wish to upgrade to MySQL 8.4 LTS ahead of the September 2026 requirement, the Fishbowl installer now includes automatic MySQL 8.4 upgrade capability. '''This upgrade is completely optional for the 2026.3 release.''' Here's how it works:
* Resolved: Unable to save after fulfilling a service item that is part of a kit
** '''Windows users with Fishbowl-installed MySQL 8.0:''' Simply run the full Fishbowl installer (not the auto-update) over your existing installation. The installer will automatically detect and upgrade MySQL 8.0 to MySQL 8.4.
** '''Windows users with manually-installed MySQL:''' You will need to manually upgrade MySQL 8.4 first, then install Fishbowl Advanced 2026.3. The installer will provide instructions if it detects manually-installed MySQL 8.0.
** '''MacOS and Linux users:''' You will need to manually upgrade MySQL to 8.4 first, then install Fishbowl Advanced 2026.3. The installer will provide upgrade prompts and instructions.
** '''If you choose to stay on MySQL 8.0:''' Simply use the standard auto-update process for Fishbowl 2026.3. Your MySQL 8.0 installation will remain unchanged and fully supported. For detailed MySQL upgrade instructions, visit: <nowiki>https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update</nowiki>
* '''Fishbowl Payments (Powered by Run Payments).''' The integration has been updated to continue to help merchants save on credit card processing fees. When you process a payment, Fishbowl automatically sends detailed transaction information to the payment processor, including:
** Order details like customer PO number, order date, and shipping information
** Individual line items with product descriptions, quantities, prices, and product codes
** Accurate tax and shipping amounts By sending this extra information, Fishbowl Payments helps you qualify for the lowest processing fees available for business-to-business transactions. The system automatically handles sending the additional data - you don't need to do anything different when taking payments.
* '''Inventory Reorder Watchlist BI Report.''' A new standalone Inventory Reorder Watchlist BI Report has been added to the BI Reports module, providing detailed visibility into parts approaching or below reorder points with drill-down functionality to investigate specific part details, supplier information, and inventory levels across locations to help prevent stockouts and optimize inventory management. Click [https://help.fishbowlinventory.com/advanced/s/article/BI-Report#Inventory_Reorder_Monitor here] to learn more.
* '''Sales Order kit item type flexibility.''' A new Sales Order module option "Allow changing kit item types" enables users to change the item type (Sale, Credit Return, Drop Ship) for kit items that have been added to a Sales Order. This option is unchecked by default to maintain backward compatibility. When enabled, users can modify kit item types both inline and in the item edit screen, providing greater flexibility for managing inventory status changes.
* '''Enhanced auto-update options.''' A new "Never notify or update automatically" option has been added to the Server Administration page auto-update settings. When selected, Fishbowl will neither notify users about new updates nor automatically update the software, providing complete control over the update process for organizations with strict change management policies.
* '''REST API shipment management.''' The REST API now includes new shipment functionality:
** '''GET /api/shipments/:id''' - Retrieves details of a specific shipment by ID with location group access validation
** '''POST /api/shipments/:id/pack''' - Changes shipment status from Entered to Packed, with validation to prevent packing already packed or shipped orders
** '''Search functionality''' - Returns paginated lists of shipments based on filter criteria with proper access rights checking
* '''REST API payment search.''' The REST API now supports searching for payments with the ability to return paginated lists of payments based on filter criteria. Documentation has been added to the Payments section of the REST API docs with proper access rights checking.
* '''REST API product search.''' The REST API now supports searching for products with the ability to return paginated lists of products based on filter criteria. Documentation has been added to the Products section of the REST API docs with proper access rights checking.
* '''Updated Remote Assist link for AU databases.''' Australian database users accessing Help > Remote Assist are now redirected to the correct remote support page (<nowiki>https://apac.fishbowlinventory.com/s/remote-assist/</nowiki>) instead of the booking support page.


==Fixes - 26.3==
'''Sales'''


* Resolved: Kits containing both standard type kit items and variable quantity type kit items can now be added to Sales Orders with the variable quantity item set to 0, as long as at least one standard kit item has a quantity greater than 0. Previously, the system incorrectly displayed an error stating "Invalid Qty: Kit must have at least one item in the kit" even when standard items were present.
* Resolved: Sales Order totals now display correctly when the home currency is UAE Dirham or other non-US currencies. Previously, total values at the bottom of orders would not display, though line item unit prices displayed correctly.


'''Database Changes'''
'''Payments'''
* Removed unused leadTimetoFulfill from the Part table


{{HideReleased|2021.5|05|13|21}}
* Resolved: Fishbowl Payments (Powered by Run Payments), The payment window has been resized to ensure all three payment options (Card Present, Manually Entered (Send to Payment Terminal), and Manually Entered) are visible when connected to a payment terminal, eliminating the need to manually stretch the window.
{{HideH2|Highlights - 2021.5}}
* Resolved: CloverConnect card processing via terminal continues to function properly after removal of outdated port numbers from integration URLs.


* [[Purchase_Order#Auto_PO|Added the ability to enter a Forecast % on the Auto PO wizard Summary page]]
'''Manufacturing'''
* [[Purchase_Order#Auto_PO|You can now set the schedule date for the Purchase Orders being created during the Auto PO wizard]]
* [[Purchase_Order#Auto_PO|Added hover over details to quantity and cost columns in the Auto PO wizard Summary page]]
* [[Purchase_Order#Auto_PO|Quantity, Unit Cost and UOM columns have been added to the Auto PO wizard Summary page]]
* [[Purchase_Order#Auto_PO|Added an option to round up quantities to the nearest whole number during the Auto PO wizard]]
* [[Purchase_Order#Auto_PO|Added the ability to edit in line on the Auto PO wizard summary page]]
* [[Purchase_Order#Auto_PO|The vendor lead-time is displayed per part in the Auto PO wizard]]
* [[Purchase_Order#Auto_PO|The Date Scheduled during the Auto PO wizard automatically uses vendor lead-times to set the date]]
* [[Receiving#Module_Options_Options_tab|Added a module option in the Receiving module to update vendor lead times when receiving a part]]


{{HideH2|New Features - 2021.5}}
* Resolved: BOMs with notes can now be properly deleted from partially fulfilled Manufacturing Orders without requiring Knowledge Engineer or Support assistance. Previously, attempting to delete BOMs with notes would generate a null error.


* [[{{CSV}}|The Sales Order CSV pulls custom field values for customers when module option is enabled]]
'''Purchase'''
* [[{{CSV}}|The Sales Order CSV pulls custom field values for products when module option is enabled]]
* [[Purchase_Order#Auto_PO|Add a delete confirmation when removing a part from a PO during the Auto PO wizard]]
* [[Company#Module_Options_Address_Validation_tab|Available Address Validation has been updated to communicate over HTTPS]]
* [[Shipping#Module_Options_Email_tab|Updated "Send email when shipment is shipped" to have options for the Shipping Report, Shipping Invoice report, or None]]
* [[Kitting#Specify_Kit_Price|The "Specify Kit Price" option now functions the same way whether the order is created via the client or CSV]]
* [[{{REST API}}|Added a Manufacture Order search call to the REST API]]
* [[{{REST API}}|Added ability to delete a Manufacture Order through the REST API]]
* [[{{REST API}}|Manufacture Order Memos can now be created/updated/deleted through the REST API]]
* [[{{REST API}}|Upgraded the REST documentation navigation pane]]
* [[{{REST API}}|Updated the Part Best Cost call to include vendor minimum quantities]]
* [[Reports#Included_reports|Packing Slip - Added carrier service. Added a "Blind Shipment" checkbox. When checked, the company logo and address info will not print]]
* [[Reports#Included_reports|Pick Ticket - Added carrier service]]


{{HideH2|Fixes - 2021.5}}
* Resolved: When the "Update vendor cost on issue" Purchase Order module option is unchecked, vendor costs are no longer incorrectly updated when issuing orders. Additionally, when multi-currency is enabled and vendor costs are updated, the calculations are now accurate. Previously, changing the currency conversion rate on a Purchase Order could incorrectly update vendor last costs with wrong values for both home and foreign currencies.
* Resolved: Purchase Order totals now display correctly when the home currency is UAE Dirham or other non-US currencies. Previously, total values at the bottom of orders would not display, though line item unit prices displayed correctly.


'''Accounting'''
'''Accounting'''
* Resolved: Errors in export due to voiding items in receiving
'''Database'''
* Resolved: QtyOnOrder view not matching On Order quantity in Inventory Module
'''CSV'''
* Update instructions text for the Bill of Materials Details CSV
* Resolved: SO Details and SO CSV's do not check for duplicate vendor names
'''Customer'''
* Resolved: Tax exempt checkbox and number field showing available in the new customer wizard in Canadian databases
'''Gmail Integration'''
* Resolved: Old Fishbowl Logo showing on the final integration step
'''QuickBooks Desktop'''
* Resolved: Export error's on misc items
'''Part'''
* Resolved: Able to add tracking to default return as Part
'''Purchase Order'''
* Resolved: Ability to edit qty/cost during Auto PO on the "No Vendor" step
'''REST API'''
* Updated the Purchase Order search CompletedTo/From to FulfilledTo/From
* Resolved: Server Connections screen not updating for REST users on login and logout
'''Vendor'''
* Resolved: Vendor Last Cost not updating the Last Date when cost is updated
{{HideReleased|2021.4|04|15|21}}
{{HideH2|Highlights - 2021.4}}
* [[User#Notifications|Added Purchase Order SMS based notification subscriptions for Purchase Order approvals]]
{{HideH2|New Features - 2021.4}}
* [[QuickBooks_Online#Journal_entries|Added customer reference to Purchase Order journal entries in QuickBooks Online]]
* [[Customer#Details_tab|Increased Customer and Vendor alert notes character limit to 256]]
* [[Fishbowl_Checkout#Module_Options_General_tab|Added a module option in Fishbowl Checkout to default the Salesperson field to blank]]
* [[Access_Rights#Sales_Order|Added a user right to control access to Payment Terms dropdown on a Sales Order]]
* [[QuickBooks#Module_Options_QuickBooks_tab|Added a module option to set the Sales Order # or Shipment # to go to the QuickBooks Desktop "Other" field]]
* [[{{REST API}}|Updated custom field REST API search to search by ID instead of name]]
* [[{{REST API}}|Added the ability to close short a Purchase Order through the REST API]]
* [[{{REST API}}|Added the ability to close short Purchase Order items through the REST API]]
* [[{{REST API}}|Updated the Currency REST call to include the currency code]]
* [[{{REST API}}|Added a user search call for the REST API]]
* [[{{REST API}}|Added a get part best cost call in the REST API for Purchase Orders]]
* [[Fishbowl_API|Updated legacy VendorGet API call to link in addresses]]
* [[Advanced_Reports#Z_Report|Z Report: Now displays the salesperson and has an option to sort by various columns]]
* [[Advanced_Reports#Sales_Order_Report|SO Report: Fulfillment Date label changed to Date Scheduled (still displays the item Date Scheduled)]]
{{HideH2|Fixes - 2021.4}}
'''API'''
* Resolved: Calls not setting the userid on the REVINFO table
'''Client'''
* Resolved: Inactivity causing the client application to become unresponsive
'''CSV'''
* Resolved: EDI Shipping blank export due to Null error
* Resolved: Sales Order CSV instructions text update
* Resolved: Locations import running slow when importing 1000's of location for a single location group
* Resolved: Slowness when importing the Receiving Data import
'''Custom Fields'''
* Resolved: Slowness with custom lists
'''Part'''
* Resolved: Issues changing the default return as part when duplicating an outsourced part
'''Picking'''
* Resolved: Pick Location selection issue across multiple locations
'''Product'''
* Resolved: Product Module Sort by Product Type sorting issue
'''Purchase Order'''
* Resolved: Unable to unissue Purchase Order after voiding receipt
* Resolved: Outsourced PO item Null error
* Resolved: Auto PO location group reordering issue
'''QuickBooks Online'''
* Resolved: Receiving holding account entry not being reversed upon fulfill
* Resolved: Purchase Order journal entries should set the class for the line item and not the order class
'''QuickBooks Online - Australia'''
* Resolved: Imbalance and rounding issues
'''QuickBooks Online - Canada'''
* Resolved: Query Parse Export error on Invoice
'''Receiving'''
* Resolved: Discrepancy between multi-currency subtotal and billed total
'''Reports'''
* Resolved: Sales By Rep BI Report - Not including discounts
* Resolved: Inventory Availability Report - Available to Pick calculating incorrectly
'''REST API'''
* Resolved: Blank error for Purchase Orders with tax rate of none on Non-US databases
* Resolved: Documentation for QB Class listing as option but it is being required
* Resolved: Inconsistencies between Purchase Order and Purchase Order item Tax Rate references on the documentation
'''RMA'''
* Resolved: Null error when creating a Return and not verifying by order
'''Work Order'''
* Resolved: Seemingly random quantities when splitting repair Work Order lines
'''Database Changes'''
* Updated Customer.note field to be varchar(256)
* Updated Vendor.note field to be varchar(256)
* Created Notification table
* Created NotificationType table
{{HideReleased|2021.3|03|11|21}}
{{HideH2|Highlights - 2021.3}}
* [[Purchase_Order#Module_Options_General_tab|Added the ability to require approval for Purchase Orders over a specified dollar amount]]
* [[Access_Rights#Purchase_Order|Added user right to allow users to approve Purchase Orders in the Pending Approval status]]
* [[Shipping#Module_Options_Ship_Items_tab|Added the ability to assign different print defaults for packing and shipping]]
{{HideH2|New Features - 2021.3}}
* [[Fishbowl_Anywhere|Added logos for plugins into the module header bar]]
* [[Sales_Order|Sales Orders created by RMAs without a verified order will use customers default salesperson]]
* [[Access_Rights#Sales_Order|Added a user right to limit access to the Payment Deposit Account in the payment wizard]]
* [[Access_Rights#Sales_Order|Added a user right to limit access to the Payment Date in the payment wizard]]
* [[{{REST API}}|Added Home Currency flag on currency object for Purchase Order REST API]]
* [[{{REST API}}|Added total cost for Purchase Order in REST API]]
* [[{{REST API}}|Updates to error messages when using the Purchase Order REST API]]
* [[{{REST API}}|Added the ability to access memos in the Purchase Order REST API]]
{{HideH2|Fixes - 2021.3}}
'''Checkout'''
* Resolved: Null error when fulfilling a credit return
'''CSV'''
* Resolved: Bad error message for duplicate abbreviation when importing the UOM csv
* Resolved: Imported discount amounts not coming in properly for multi currency customers
'''Customer'''
* Resolved: Customers with stored wallets not loading due to missing icons
'''Database Update'''
* Resolved: Database update failure due to multiple shipping invoice reports


'''Installer'''
* Resolved: QuickBooks Online can again create new currencies when exporting from Fishbowl if they don't already exist in QuickBooks Online. Previously, exports would fail with an "Operation could not find resource for entity companycurrency is not supported" error when a currency existed in Fishbowl but not in QuickBooks Online.
* Resolved: Inability to install a Client Only version due to license key requirement
* Resolved: Xero exports now properly handle part cost journal entries when class tracking (categories) is enabled. Previously, exporting part cost changes would fail with a null error because journal entries did not have a class/category assigned and the system was incorrectly validating these entries.
* Updated the installer to exclude the webapp folder on Client Only installs


'''Kits'''
* Resolved: UOM UI conversion error when editing quantities on a Sales Order


'''Linux'''
{{Released|26.2|02|19|26}}
* Resolved: Notification animation causing the client to lock up
==Highlights - 26.2==
* Resolved: Environments without a system tray unable to see server window
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* '''<u style="color: red;">Important Notice</u>''': Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.2. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.2 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* '''<u style="color: red;">Important Notice</u>''':  Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.2.New and updated Business Intelligence Dashboards with enhanced data visualization
* Expanded Server Administration capabilities for remote management
* Enhanced REST API for improved performance
* Outsourced Purchase Orders now support parts with tracking
* Quality and reliability improvements across multiple modules


'''Purchase Order'''
==New Features - 26.2==
* Resolved: Line item notes not saving on partial or fulfilled status line items
* Resolved: Unissuing a PO does not clear out the date issued
* Resolved: Unissuing a PO does not change the Last Modified info


'''QuickBooks Desktop - Canadian'''
* '''New Business Intelligence Dashboards.''' Two new and three updated professionally-designed BI Dashboard reports are now included by default both as Dashboards and in the BI Reports module, providing powerful data visualization and decision-making tools:
* Resolved: Issues with Sales Receipts vs Invoice/Payment creation on export
** '''New Production Scheduling Module''' - Manufacturing order planning and scheduling optimization featuring an interactive calendar view where manufacturing orders can be moved and rescheduled by dragging and dropping, plus drill-down functionality for detailed work order analysis. Click [https://help.fishbowlinventory.com/advanced/s/article/Production-Scheduling here] to learn more.
* Resolved: Rounded cash transactions not exporting the amount on sales receipts
** '''New Company Dashboard''' - High-level company performance overview with drill-down capabilities across multiple business areas for deeper insights. Click [https://help.fishbowlinventory.com/advanced/s/article/Company-Dashboard here] to learn more.
** '''Updated Sales Dashboard''' - Comprehensive sales performance metrics and trends with drill-down functionality to explore detailed order and customer information. Click [https://help.fishbowlinventory.com/advanced/s/article/Sales-Dashboard here] to learn more.
** '''Updated Purchasing Dashboard''' - Purchase order tracking and vendor performance analysis with drill-down capabilities to view detailed purchase order and vendor data. Click [https://help.fishbowlinventory.com/advanced/s/article/Purchasing-Dashboard here] to learn more.
** '''Updated Inventory Dashboard''' - Real-time inventory reorder watchlist and stock management with drill-down options to investigate part-level inventory details. Click [https://help.fishbowlinventory.com/advanced/s/article/Inventory-Dashboard here] to learn more.
** '''Note:''' These new BI Dashboard reports must be granted as user rights in the User Group module for users to view them. Each Dashboard has its own unique user right under the access tab and the Bi Reports tab. Administrators should review and assign appropriate access rights to users who need access to these dashboards.
** '''Note:''' If you prefer the previous dashboard experience, you can easily switch back to the Classic Dashboards through the Dashboard customization settings in the Settings module. See the Dashboard customization settings feature description below for more information.
* '''Dashboard customization settings.''' A new "Dashboards" tab has been added to the Settings module, allowing administrators to customize the default dashboard experience for each dashboard module. Users can select between Classic Dashboards (maintaining the appearance of the Dashboards from version 26.1) or any available BI Report. This means that Bi Reports can be edited or created in the Bi Editor and then selected as a default for the following modules (Click [https://help.fishbowlinventory.com/advanced/s/article/Settings#Dashboard_tab here] to learn more):
** Inventory Dashboard
** Sales Dashboard
** Purchasing Dashboard
** Manufacturing Dashboard
** Production Scheduling Dashboard
** Company Dashboard
* '''Dashboard module rename.''' The existing Dashboard module has been renamed to "User Dashboard" to distinguish it from the new Company Dashboard in the General module group. The User Dashboard can be customized by each individual user and the Company Dashboard is a company wide dashboard.
* '''New Server Administration Module.''' The Server Administration module now includes powerful remote management capabilities previously only available when directly logged on to the Fishbowl Server(Click [https://help.fishbowlinventory.com/advanced/s/article/Server-Administration-Module here] to learn more):
** '''Active Connections management''' - View all connected users with their name, last activity, and client type. Administrators can refresh the user list, log off selected users, and send messages to connected users directly from this module in the client.
** '''Connection settings''' - Configure Client Inactivity Timeout and enforce single-login restrictions (users can only be logged in once).
** '''Server restart capability''' - Restart the Fishbowl Server directly from the Administration module with configurable delay periods to give connected users adequate warning. This feature requires a new "Restart Fishbowl Server" user right (granted to the admin user only by default).
* '''Outsourced Purchase Orders with part tracking.''' Parts with tracking (including Lot Numbers, Expiration Dates, Serial Numbers, and custom tracking types) can now be used on outsourced Purchase Orders. This enables manufacturers who outsource production operations to maintain full traceability throughout their outsourced manufacturing process without being forced to remove tracking from parts.
* '''Automatic backup retention management.''' Scheduled database backup tasks now support automatic deletion of old backup files. Administrators can configure a retention period (in days) to automatically clean up backups older than the specified threshold, preventing disk space issues without manual maintenance. Setting the value to 0 disables automatic deletion. Create a new or edit your existing Database Backup scheduled task to enable this feature. Default setting is set to 0. Click [https://help.fishbowlinventory.com/advanced/s/article/Schedule#Create_a_scheduled_task here] to learn more.
* '''Enhanced Fishbowl Payments (Powered by Run Payments) card entry.''' When connected to a Run Payments card processing terminal, users now have more flexibility for card not present transactions. A new "Manually Entered" option allows credit card information to be entered directly into the client through the Run Payments iFrame for faster processing, while the existing functionality has been renamed to "Manually Entered (Send to Payment Terminal)" for sending payment processing to the card terminal. Card Present remains the default option.
* '''REST API memo endpoints.''' The REST API now supports full memo management for Sales Orders, Parts, and Products with the following new endpoints:
** '''getMemoList''' - Retrieves a list of all memos associated with a specific Sales Order, Part, or Product
** '''getMemo''' - Retrieves details of a single specific memo by its ID
** '''deleteMemo''' - Removes a memo from a Sales Order, Part, or Product
** '''updateMemo''' - Modifies the content of an existing memo
** '''createMemo''' - Adds a new memo to a Sales Order, Part, or Product


'''QuickBooks Online'''
==Fixes - 26.2==
* Resolved: Business Validation error on export
'''Fishbowl Payments (Powered by Run Payments)'''
* Resolved: Jobs imported from QuickBooks Online creating new job entries on export


'''Receiving'''
* Resolved: QuickBooks Online automated sales tax is now properly included in Run Payment Links. Previously, QBO estimated tax amounts appeared correctly on the Sales Order and in the manual payment screen but were not included in the payment link total.
* Resolved: Errors when receiving an outsourced item with a rejection


'''REST API'''
'''REST API'''
* Resolved: Bad error message when updating an existing Purchase Order


* Resolved: REST API performance and efficiency have been significantly improved for customers with large amounts of orders, customers, and parts. These improvements resolve Java heap space errors previously experienced by customers with larger datasets. The following enhancements have been implemented:
** Replaced HttpURLConnection with the new HttpClient
** Enabled HTTP/2 support
** Removed JSON size limit for API requests
** Improved file download memory efficiency
** Eliminated unnecessary base64 encoding to decrease request sizes
** Avoided double serialization
* Resolved: REST API documentation for search endpoints now correctly indicates that all search filters are optional for Inventory, Location Group, Manufacture Order, Part, Purchase Order, UOM, User, and Vendor.
* Resolved: REST API documentation links have been updated from the old wiki URLs to the new help article URLs. All "Related Guide" links now correctly redirect to the appropriate pages on the help site.
* Resolved: The /api/products/:id/best-price endpoint documentation now correctly indicates that customerid is a required field, and optional parameters (uomId, date, and includePricingRules) are properly marked as optional.
'''Database Updates'''
'''Database Updates'''
* Dropped dependencies on SOITEMTOMOITEM table
*Added "deleteBackupOlderThan" column to the fbschedule table. This new column enables the new automatic deletion of backups feature in the schedule module.
* Module Table
{{Released|26.1|01|15|26}}
* Renamed “Shipping Label” to “Shipping Invoice”
==Highlights - 26.1==
* PO Table
* <u style="color: red;">'''Important Notice'''</u>: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
* Added column IssuedByUserId int(11) default null
* '''<u style="color: red;">Important Notice</u>''': Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.1. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
* POStatus Table
* <u style="color: red;">'''Important Notice'''</u>: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.1 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
* Increased Name column to 20 characters
* '''<u style="color: red;">Important Notice</u>''':  Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.1.
* Added “Pending Approval” with id 15
* Enhanced Fishbowl Commerce integration with channel-specific status mapping
* Run Payments ACH-only integration option added
* Quality and reliability improvements across multiple modules


{{HideReleased|2021.2|02|18|21}}
==New Features - 26.1==
{{HideH2|Highlights - 2021.2}}
* '''Fishbowl Commerce channel-specific status mapping.''' A custom scheduled script is now available that allows operations managers to override the status import behavior for specific e-commerce channels. This enables different status mappings depending on the channel, preventing the need for additional processing of orders. For example, if more than one channels orders are in shipped status in Fishbowl Commerce and is mapped to come in as issued to Fishbowl Advanced, the script can take one of those channels orders an fulfill them. The script takes two parameters: desired status ID and the channel name and runs via the schedule module to automatically perform the steps necessary for additional order processing. If you want to enable this feature reach out to our Support Department at 800-774-7085 ext 3.
* [[Start_Fishbowl#Parts_of_the_Screen|Fishbowl's look and feel has been updated with a new color scheme, icons, and splash screen for 2021]]
* '''Fishbowl Payments ACH-only support.''' The Fishbowl Payments integration now supports customers who only have an ACH Merchant ID (MID). When the service provider is integrated using only the ACH MID, only ACH payments are processed through Fishbowl Payments and only an ACH option appears on generated payment links.
* [[{{REST API}}|Beta release of web based Rest API with endpoints for Purchase Orders]]


{{HideH2|New Features - 2021.2}}
==Fixes - 26.1==
'''General'''
* Resolved: Users can now properly revoke access to the MyFishbowl Module through user access rights. Previously, all users could view the MyFishbowl Module regardless of access rights settings.
* Resolved: The Part Activity Report tooltip for the Group By option now correctly describes the grouping functionality rather than showing the same tooltip as the Order By option.
'''Sales'''


* [[Sales_Order#Search|The Advanced Search for sales orders has a new tab to be able to search line item custom fields]]
* Resolved: We have removed the Module Option for "Fulfill Flat Rate discounts with preceding line items on ship" from the Sales Order Module Options. This option will be included in a future release pending some additional development changes.  
* [[Customize_Fishbowl#Program_Options|Added a Program Option for setting the table line height throughout Fishbowl]]
* [[Sales_Order#Module_Options_Custom_tab|Updated the description for the custom report text in the Sales Order module options]]
* [[Getting_Started#1._Install_Fishbowl|Added additional license key and support contract validation during installation]]
* [[Getting_Started#1._Install_Fishbowl|The installer has been updated to include a few "Things to consider before updating"]]
* [https://fishbowlhelp.com/files/csv/importPart.html The Part CSV import now has the ability to assign a default outsourced return part]
* [https://fishbowlhelp.com/files/csv/importBCReceiving.html The Receiving Data CSV import now has the ability to update shipping information for the order]


{{HideH2|Fixes - 2021.2}}
'''Purchasing and Receiving'''


'''API'''
* Resolved: International customers using currencies with commas as decimal separators and vendor part number associations can now be added to Purchase Orders when multi-currency is enabled. Previously, these parts could not be added to a Purchase Order and the cost could not be changed in the vendor's home currency.
* Resolved: API not updating UserID on audit tables
* Resolved: Purchase Order CSV imports now enforce the same cost restrictions as the Fishbowl Client. Credit return type line items with positive costs are imported as negative costs, and purchase type line items with negative costs are imported as positive costs, preventing incorrect accounting exports.


'''Accounting Exports'''
'''Materials'''
* Resolved: Issues causing the Mark as Posted function to fail


'''Client'''
* Resolved: The "All Locations" option in the Part Module's MRP feature no longer assigns reorder points to inactive location groups. Inactive location groups are now excluded from MRP calculations.
* Resolved: Auto logout caused the Sales Order module to lock up
* Resolved: Auto logout not closing additional open windows (Advanced Searches, etc.)
 
'''Company'''
* Updated text in Module Options
 
'''CSV'''
* Updated instructions text on Part Cost import/export
* Updated instructions text on Part UOM import/export
* Resolved: Locations import no updating location types
* Resolved: Sales Order CSV import does not transfer line item notes to the Work Order for Build to Order products
* Resolved: "Duplicate Bill of Materials Option Group found" import error when modifying parts on the Bill of Materials
 
'''Custom Fields'''
* Resolved: Long Text type custom fields not providing a scroll bar when needed
 
'''Intuit Payments'''
* Resolved: A declined payment did not show the appropriate exception when taking a payment
 
'''Location'''
* Resolved: Location type of a default location could be changed
 
'''Location Groups'''
* Resolved: Inactive users showing in location group user section
 
'''Manufacture Order'''
 
* Significant speed improvements to Advanced Search
 
'''Purchase Order'''
* Resolved: Being able to search order custom fields without user access rights assigned
 
'''QuickBooks Online'''
* Resolved: Part/Product/Item validation errors
* Resolved: Updating customer details in Fishbowl erasing customer info in QuickBooks Online
* Resolved: A miscellaneous sale not hitting the COGS Account when cost was added
* Resolved: "Cannot Change who Customer Bills With" error when exporting customer job updates
* Resolved: Missing classes on reconciled journal entries
* Resolved: Partially shipped kits sending tax twice
 
'''QuickBooks Online AU'''
* Resolved: Updating vendor info in Fishbowl erases banking info on export
 
'''Sales Order'''
* Resolved: Price discrepancies when closing short a drop ship order
* Resolved: Add button in Custom Work Order wizard not functional
* Resolved: FedEx Shipping Tracking # link did not pull up the tracking on www.fedex.com
* Resolved: Divide by zero error when partially shipping and closing short an order with a kit


'''Schedule'''
'''Calendar'''
* Resolved: Sorting issues when sorting the Last Run Time column


'''Shipping'''
* Resolved: The Calendar module in international databases now works correctly in all view modes (1 Day, 5 Day, and 7 Day views). Previously, orders would not display in 1 Day and 5 Day views, and selecting 7 Day view would cause an error that prevented other modules from loading requiring a restart of the Fishbowl Client to fix.
* Resolved: Shipping custom fields clearing out when saving with shipping through ShipExpress


'''Tax Rate'''
'''Advanced Search'''
* Resolved: View only rights still allowing users to edit tax rates


'''UOM'''
* Resolved: The Advanced Search popup window now properly displays cancel and search buttons at the bottom without requiring window resizing, specifically when many custom fields are present. The dialog now allows scrolling to accommodate a large numbers of custom fields in Part, Product, Customer, and Vendor modules.
* Updated text descriptions during the Add New UOM Conversion Wizard


'''Work Order'''
'''Scheduled Tasks'''
* Resolved: Save dialog popping up when nothing was changed


* Resolved: Scheduled tasks no longer remain stuck in queue requiring a server restart to run. Thread management issues related to the schedule module have been addressed, and timeouts have been added to Run Payments API requests to prevent tasks from hanging indefinitely.
'''Plugins'''


'''Database Changes'''
* The Ebay plugin has been update to be compatible with Java 21 and is not fully functional
* Remove SOITEMTOMOITEM table
* Added a new column to the MOITEM table for SOITEMID

Latest revision as of 07:16, 28 October 2026

This page lists recent changes made in Fishbowl Advanced as well as download links for the currently supported versions.

​

OCT 27, 2026 - Advanced 26.10

Download - 26.10

Highlights - 26.10

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 will reach End of Life (EOL) in April 2026. After this date, Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS before the EOL date, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the Janary 2027 release. You can safely use the standard auto-update process for version 2026.10 - it will maintain your current MySQL 8.0 installation. If you wish to upgrade to MySQL 8.4 now, see the "MySQL 8.4 upgrade" feature description below. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.10. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.10 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.10.
  • A What's New screen now appears at the first login after an update
  • AI Chat is now available to customers in the Asia Pacific region
  • Each user now saves their own BI Report settings instead of sharing one set
  • Expanded REST API coverage for picks, receiving, and transfer orders
  • A default search can be saved on the Part and Product modules
  • Quality and reliability improvements across accounting, picking, reporting, and the REST API

New Features - 26.10

  • What's New at first login. After the Fishbowl Client is updated, the next login shows a What's New screen highlighting what has changed in that release.
  • AI Chat for the Asia Pacific region. The AI Chat button is now available to customers in the Asia Pacific region. Access the AI Chat 24 hours a day without having to call in or create a support case. Ask questions and get help with anything including how to, error messages, and help fixing an issue. Where more help is needed, AI Chat can pass the conversation to a Support Technician during Asia Pacific support hours of 8:00 AM to 4:00 PM AEST.
  • BI Report: each user saves their own report settings. Saved report settings now belong to the user who saved them. Two people can run the same report with different settings, and saving no longer changes the report for everyone else.
    • A user who has never saved settings for a report sees the report's default values.
    • Deleting saved settings returns that user to the report's default values.
    • Bi Reports added as Dashboard widgets use the settings of the person viewing the dashboard.
    • The Edit Settings access level has been removed. BI Report access is now None or View, and View is enough for a user to change and save their own settings. A user with None still cannot see or run the report.
    • A report with a required setting that has not been filled in can now be completed by any user with View access rights.
  • BI Report and BI Editor usability improvements. Several pieces of day to day friction in the BI Report and BI Editor modules have been addressed.
    • The BI Editor search list remembers column widths, column order, hidden columns, and the position of the split between the list and the editor. Layouts are saved for each user and survive logging out or restarting the client.
    • Importing a script into the BI Editor now opens it in a tab. Re-importing a script that is already open reloads that tab instead of opening a second one.
    • Save and Email in the BI Report viewer open at the folder that was last used. This is the same remembered folder used by iReports and Data Export.
    • Page setup fields in Modify Report now have visible labels for width, height, the unit of measure, and each of the four margins.
  • Sales Order: keep the tax rate when duplicating an order. A new Sales Order module option controls what happens to the tax rate when an order is duplicated. The option is named "When duplicating SO set order Tax Rate to None" and is on by default, which matches how Fishbowl has behaved in past releases.
    • The option appears only for companies using Avatax or QuickBooks Online Automated Sales Tax.
    • Turn it off and the order's tax rate is copied to the duplicate instead of being cleared. This applies to both Duplicate and Duplicate as Credit Return.
  • CSV: User Group Rights import and export. User Group Rights is now a standard import and export. It appears in the Import and Export lists without any special setup, and it can be run from the Fishbowl Client or through the REST API.
    • New User Group Rights Import and User Group Rights Export access rights can be granted to any user group. No existing group is granted rights during the upgrade, so only the admin user can run them until a user group is given the right.
    • The import now treats the file as the source of truth. After an import, each group in the file has exactly the rights the file lists, and rights not listed are removed. Groups that are not in the file keep their rights.
    • Group names are matched without regard to capitalization, so a row for "sales" updates the group named "Sales" instead of failing.
  • REST API enhancements. The REST API has been extended with the new functionality below.
    • Picks. A single pick line can now be started on its own, and a line that is on hold can be released.
      • POST /api/picks/:id/items/:itemId/start - Starts one line and gives it a source location, without touching the other lines on the pick
      • POST /api/picks/:pickId/items/:pickItemId/unhold - Releases a line from hold and sources it again against available inventory. A line that finds no inventory comes back Short, which is a success rather than an error.
    • Receiving. Receipts can now be searched through the REST API. The search covers receiving and reconciling together, the same way the Receiving module does in the Fishbowl Client.
      • GET /api/receiving - Returns a paged list of receipts, filtered by order number, status, location group, and the other criteria available in the module
    • Transfer Orders. The transfer order detail response now reports whether the order is read only for the current user, and which actions that user is allowed to take on it. A client no longer has to reproduce the transfer order access rules to decide which buttons to enable.
      • GET /api/transfer-orders/:id - Now includes readOnly and an actions object with one flag per available action
  • Advanced Search: save a default search on Part and Product. An advanced search can now be saved as the default on the Part and Product modules, so the module opens already filtered instead of the filter being rebuilt every session. Save, Reset and Load buttons for the default filter appear in the Advanced Search dialog. The default is saved on that Fishbowl Client, in the same way other saved searches are, so anyone working at that workstation gets it.
  • Xero: four decimal places on cost. Costs sent to Xero can now carry up to four decimal places rather than limited to two. A unit cost such as 0.1334 reaches Xero at that precision instead of being rounded to 0.13.
  • Inventory Dashboard default for new databases. New and demo databases now open the Inventory Dashboard module on the current dashboard rather than the Classic Inventory Dashboard. Existing databases are not changed and keep whichever dashboard they use today.

Fixes - 26.10

General

  • Resolved: Window layouts and other interface settings are saved when a user logs out. Previously they were saved only when a module was closed with its tab button, so logging out discarded any layout changes made during that session.
  • Resolved: A database rebuild clears the order history table along with the orders themselves. Previously the history was left behind, so modules such as Transfer Orders still listed the history of orders that no longer existed.
  • Resolved: A license key with an expiration date is reported correctly in the About screen, and notification settings that depend on it can be used. Previously the key was shown as permanent, and options such as Purchase Order Approval notifications stayed greyed out for non-admin users.

Manufacturing

  • Resolved: A repair work order can be started from the Work Order module. Previously starting one reported that the work order requires a raw good and a finished good, or a repair, even though it was a repair type.
  • Resolved: Bill of Materials and Bill of Materials Details CSV imports reject a negative quantity. Previously a negative quantity could be imported, and the line then auto fulfilled and locked itself when the bill of materials was added to a Manufacture Order. Recovering from that required help from Fishbowl Support.

Materials

  • Resolved: A transfer order line cannot be set to a quantity of zero, so receiving opens normally. Previously setting a line to zero after the order was issued stopped the Receiving window from opening at all, and the pick showed a quantity of zero.

Picking

  • Resolved: A pick whose lines cannot be sourced stays in Entered status with no start date recorded. Previously the start date was stamped even though the pick remained Entered, so reports and filters that use the start date treated the pick as started.

Accounting

  • Resolved: A bill exports for a purchase order that has been reconciled but not fully received, where landed costs such as shipping or tariffs are recorded. Previously the export stopped with a message asking the user to fill out at least two detail lines, which did not describe the real problem.
  • Resolved: An invoice that reaches QuickBooks Online is not sent a second time when the export is interrupted. Previously an export that failed part way through reported the order as an error even though the invoice had been created. Running the export again then produced a second invoice for the same order.
  • Resolved: Orders containing a part or product numbered like a date, for example 6801-08-10, export to QuickBooks Online. Previously the export stopped in Data Validation reporting that the item name already exists, because QuickBooks Online treated the date shaped number as a date when looking the item up.
  • Resolved: The QuickBooks Online integration works whether or not the AI Insights and ShipExpress plugins are installed. Previously two libraries the integration depends on were supplied only by those plugins, so connecting to QuickBooks Online failed on any server where neither was installed.

Fishbowl Payments

  • Resolved: The Unknown Payment Status message now asks whether to check again, so the Yes and No buttons have a question to answer. Previously the message explained the timeout but never asked anything, leaving no indication of what Yes would do.
  • Resolved: The Unknown Payment Status message is shown without a scrollbar. Previously a vertical scrollbar appeared next to text that already fit in the window.

Reports

  • Resolved: A user's saved BI Report settings keep applying after the report author changes a setting's default value. Previously the saved value was quietly ignored and the report ran with the new default, with nothing shown to the user. A setting that is renamed, or whose type changes, still discards the old saved value.
  • Resolved: The Stock Adjustment Value by Month widget on the Inventory Dashboard reports a total that matches the Adjustment report for the same period. Previously the widget could report a much higher value on databases using FIFO or LIFO costing.
  • Resolved: The BI Report Settings dialog shows the whole date range row, and the From and To fields show the full date including a leading zero. Previously the row ran past the edge of the dialog and could not be scrolled to, and the dates were cut off. This also affects Data Export queries that take parameters.

REST API

  • Resolved: Splitting a shipment through the REST API carries each item's serial numbers across to the new shipment items. Previously the serial numbers were not linked, and the shipment could become unreadable in the Fishbowl Client and through the REST API once the pick was voided. Recovering from that required a database fix.
  • Resolved: Sales orders created through the REST API receive the same Date Scheduled and expiration defaults the Fishbowl Client applies. Previously both were left empty, so picks from those orders did not appear in the Picking module search and the orders never expired.
  • Resolved: The documentation for starting a pick describes what the endpoint returns. Previously it said a tag is assigned when a pick is started, and the example response showed items in the wrong shape. A tag is chosen when the pick is finished, not when it starts.
  • Resolved: The documentation for reading a work order lists every reason the request can be refused. Previously it mentioned only location group access. It left out the refusal that applies to a user not assigned to the work order who cannot view all assigned work orders.

Database Updates

  • New Table Added "bireportparameters" which stores each user's own saved settings for a BI Report. Existing saved settings are copied from the bireport table into the new table for each user who has access to the report. The "params" column is then removed from the bireport table.
  • Added "exportFailed" column to the postso table. This column records an accounting export that was interrupted, so that the next export checks the accounting system for an existing invoice instead of creating a second one.


​

SEP 29, 2026 - Advanced 26.9.1

Download - 26.9.1

Highlights - 26.9.1

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 will reach End of Life (EOL) in April 2026. After this date, Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS before the EOL date, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the October 2026 release. You can safely use the standard auto-update process for version 2026.9.1 - it will maintain your current MySQL 8.0 installation. If you wish to upgrade to MySQL 8.4 now, see the "MySQL 8.4 upgrade" feature description below. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.9.1. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.9.1 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.9.1.
  • New "Days after End of Month" payment term type, with Xero support for EOM due dates
  • Expanded REST API coverage for shipments, work orders, picks, and transfer orders
  • New Manufacture Order option to limit inventory checks to the order's own location group
  • Quality and reliability improvements across accounting, manufacturing, and reporting, plus the REST and legacy APIs

New Features - 26.9.1

  • Payment Terms: Days after End of Month. A third payment term type has been added to the Payment Terms module, alongside Net and Date Driven. The due date is the last calendar day of the month containing the transaction date, plus the number of days configured on the term. Terms such as 30, 60, and 90 Days EOM can now be expressed and selected anywhere a payment term is used today, including Customers, Vendors, Sales Orders, and Purchase Orders. The term type follows the way Xero handles end of month terms.There is no ceiling at the end of the following month, so 60 and 90 day EOM terms now produce different due dates.
    • Xero. Xero is the accounting integration that supports the term in full. Sales invoices and vendor bills exported to Xero carry the calculated due date. Fishbowl always sends an explicit due date.
    • QuickBooks Online, QuickBooks Desktop, and Reckon. The term can be used with these integrations as well. None of them has an equivalent term type, so Fishbowl sends the calculated due date on the transaction. The early payment Discount % and Discount Days held on the term are not sent with these integrations.
    • Payment Terms CSV import/export now supports the Days after EOM value, so a term keeps its day value when it is moved between databases.
    • The Customer Statement report shows the due date calculated from a Days after End of Month term, in the same way it already shows due dates for net days terms.
    • Existing Net, Date Driven, and None terms behave exactly as they have in previous versions.
  • Manufacture Order: limit inventory checks to the order's location group. A new Manufacture Order module option, "Check all location groups for insufficient inventory", controls which inventory is considered when Fishbowl decides whether a bill of materials needs to be built. The option is on by default, which matches how Fishbowl has behaved in previous versions.
    • When the option is turned off, only the location group assigned to the order is checked. An order raised for one Location Group no longer skips creating staged items because stock exists at a different Location Group.
    • This applies to single and staged bills of materials set to Short Quantity, including those generated from a Sales Order.
  • REST API enhancements. The REST API has been extended with the new functionality below.
    • Shipments. An existing shipment can now be updated and the updated shipment is returned. Total quantities must stay the same, though items may be moved between cartons.
      • POST /api/shipments/:id - Updates the shipment, with access right and location group access validation
    • Sales Orders. Sales order creation now supports kit items and drop ship items.
      • A kit sent without kit items comes back with the kit's configured default items, at quantities scaled to the kit header quantity. A kit created through the API opens in the Fishbowl Client the same as one entered there.
      • An order created in a currency other than the home currency without an explicit rate is now stored at the correct rate. Previously it was stored at a one to one rate, producing wrong home currency amounts with no error.
    • Work Orders. Items can now be added to a work order, and edits to an open work order can be saved, including header fields, instructions, and assigned users. Saving edits never changes the work order status and never moves inventory.
      • POST /api/work-orders/:id/items - Adds an item to the work order and returns the updated work order
      • POST /api/work-orders/:id - Saves edits to an open work order and returns the updated work order
    • Picks. A pick can now be started, and an individual pick line can be placed on hold, from the API.
      • POST /api/picks/:id/start - Assigns a source location and tag to each pickable item and moves the pick to Started. Items with available inventory start even when others come back short.
      • POST /api/picks/:pickId/items/:pickItemId/hold - Places the line on hold, clearing its source location, tag, and tracking so that inventory is released for the pick's other lines
    • Transfer Orders. Transfer order search rows now include a readOnly value, so a client can tell which orders the current user cannot change. A transfer order counts as read only only when the user has write access to neither the sending nor the receiving location group. This matches the lock shown in the Fishbowl Client.
      • GET /api/transfer-orders - Each row now includes readOnly
    • Close short paths for Sales Order and Purchase Order items. Closing an item short now uses a path consistent with the rest of the API. The previous paths continue to work and are deprecated, so existing integrations keep running.
      • POST /api/sales-orders/:id/items/:itemId/close-short - Replaces the previous sales order close short path
      • POST /api/purchase-orders/:id/items/:itemId/close-short - Replaces the previous purchase order close short path

Fixes - 26.9.1

General

  • Resolved: The User Dashboard keeps its gadgets loaded and its filters set when a user moves between tabs. Previously the whole dashboard reloaded every time a tab changed. Gadgets had to load again, which was slow, and filters and other choices were sometimes cleared.
  • Resolved: Server level activity and client errors are recorded in the server log when the Fishbowl Server runs as a Windows Service. Previously the log captured nothing in that configuration, so sites running the server as a service had no record of server activity or of the errors behind client error messages.
  • Resolved: The Transfer Order module now offers Request rather than Issue when a user can change one end of the transfer but only view the other. Previously the Fishbowl Client treated view only access as if it allowed changes. It offered Issue, and the transfer order was issued, when that user should only have been able to request it. The REST API was already correct and is unchanged.
  • Resolved: The version of log4j bundled with the Fishbowl installer has been updated from 2.25.4 to 2.25.5.

Manufacturing

  • Resolved: Bill of materials auto create on Short Quantity converts between the finished good's part unit of measure and the product unit of measure used on the sales order. Previously the shortage was calculated from the sales order quantity with no conversion. Finished goods that are built in one unit of measure and sold in another then produced incorrect quantities on Manufacture Orders.

Purchasing and Receiving

  • Resolved: Negative line items entered when reconciling a Purchase Order are distributed correctly for every distribution method including Cost. Previously these lines failed to distribute landed cost to inventory items. The order then failed to export to Accounting throwing either an "unbalanced debits and credits" or a "must fill out at least two detail lines" error.

Accounting

  • Resolved: Credit Return sales orders for a kit export correctly to Xero when the kit items are received partially. Previously only the first item posted. Each remaining item tried to create a new credit memo instead of posting against the existing one. The Accounting export then failed with errors regarding the account, tax rate, and tax amount.
  • Resolved: The scheduled QuickBooks Online task completes when an order references a customer record that does not match. One way this happens is a failed CSV import that is then corrected and re-run. Previously the Accounting Export stopped with an error and the affected sales order displayed with no customer and no items.

Fishbowl Payments

  • Resolved: A credit card payment is recorded as paid only when the charge actually succeeded. Previously an unexpected error inside the payment screen could leave the order marked paid in full. No card was charged, no transaction reference was stored, and the user saw no error.
  • Resolved: Keyed and card on file credit card charges go through when the company's default Ship To address for the order's location group has no country set. Previously the charge failed before the card was processed, because the country is sent as part of the order detail that accompanies each charge.
  • Resolved: Payments brought in by the scheduled gateway import store a valid card expiration date and describe the card the same way payments taken in the Fishbowl Client do. Previously the expiration date was stored incorrectly.

Reports

  • Resolved: PDFs produced from a BI Report contain only what the report itself draws. Previously every PDF was stamped by the browser with the print date, the report title, a long source address, and a page counter.
  • Resolved: The Part QR Barcode BI Report now populates correctly. Previously the report returned a blank result, because the service it called to draw the barcode images was no longer available.

REST API

  • Resolved: Reading a work order by id, purchase order memos, and manufacture order memos all succeed for a user whose access to the order's location group is read only. Previously each of these returned a 403 error because they required write access, so a user allowed to see the order could not read it or its memos.
  • Resolved: Updating a transfer order re-checks the user access against the location group that will own the order after the change. Previously access was validated only against the current owner. A user could end up owning a transfer order on a location group they cannot write to, and could make that order disappear from their own lists and views.

Legacy API

  • Resolved: Finishing a pick line for a non inventory item through SavePickRq succeeds without a source location. Previously the save was rejected with "Missing required field: Location", even though non inventory lines legitimately have no location because nothing is pulled from inventory when they are finished.
  • Resolved: The Work Order list returns each work order's own quantity. Previously a work order created by splitting the remaining items on the finish step did not property updated the quantity. This resulted in the Advanced Mobile applications Work Order list showing the original quantity on both work orders, while their detail screens showed the corrected amounts.

Database Updates

  • Added the "daysAfterEom" column to the paymentterms table, and added a "Days After EOM" row to the paymenttermstype table. These support the new Days after End of Month payment term type.
  • Added an index on the "dateCreated" column of the postso table. This improves the load time of date filtered tiles on the Sales Dashboard.

​

SEP 4, 2026 - Advanced 26.9

Download - 26.9

Highlights - 26.9

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the October 2026 release. You can safely use the standard auto-update process for version 2026.9 - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.9. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.9 release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • New REST API access to full work order details
  • Improved payment reliability when a card transaction cannot be confirmed
  • Quality and reliability improvements across the sales, payments, and accounting modules, plus the REST and legacy APIs

New Features - 26.9

  • REST API enhancements. The REST API has been enhanced with the new functionality below. Work Order and Manufacture Order search now also report read-only status, matching the readOnly value already returned by Purchase Order and Sales Order search. Previously these searches returned orders from read-only location groups with no way to distinguish them, so client applications could not tell which records a user was permitted to change.
    • Work Orders. Full detail for a single work order can now be retrieved, including its line items, the parts each item consumes, the assigned users, and the bill of materials name. This provides a REST equivalent to the legacy API call previously used by the mobile apps. Fulfilled work orders remain readable.
      • GET /api/work-orders/:id - Retrieves full detail for a specific work order by ID, with access right and location group access validation
      • GET /api/work-orders/:id?includeSteps=true - Also returns the work instruction steps. Steps are excluded when the parameter is omitted.
      • GET /api/work-orders - Each row now includes readOnly
    • Manufacture Orders. Manufacture Order search now reports whether the current user has write access to each order's location group.
      • GET /api/manufacture-orders - Each row now includes readOnly
  • Legacy API accounting export. The legacy accounting export call can now be sent to the REST legacy API wrapper. An external system or a scheduled process can start an accounting export without a user working in the Fishbowl Client. The call name refers to QuickBooks, but the export runs against whichever accounting integration is configured.
    • POST /api/legacy/external/QBExportRq - Runs the accounting export for the configured accounting integration and returns the same status code and message reported in the client, including when the export fails

Fixes - 26.9

Sales

  • Resolved: Kits using the "Specify Kit Price" option now display a margin on the Sales Order. The margin appears on the kit header line and accounts for any adjustment amounts applied to the kit, while the individual kit items do not display a separate margin. Previously no margin was calculated for these kits, leaving sales representatives without a way to confirm that a kit was not being sold below cost. Kits that do not use a specified kit price are unchanged.

Fishbowl Payments

  • Resolved: A card payment that cannot be confirmed no longer risks a duplicate charge. A charge request can time out when the connection to the payment provider is unstable or the provider cannot be reached. Fishbowl now confirms the outcome with the provider and records the payment if the card was charged. A charge that did not go through reports that clearly. When the outcome cannot be determined, Fishbowl reports an unknown status and offers to keep checking or to let the user verify the payment in the provider's portal. Previously a timeout was reported as a generic failure with nothing recorded. The payment window stayed open with no amount marked as paid, so a further attempt could charge the customer a second time.
  • Resolved: Payments and refunds taken in the Fishbowl Client are now saved before the confirmation message is displayed. Previously the record was written only after the message was dismissed. If the scheduled Import Gateway Payments task ran during that interval, it could add a second record for the same transaction. The duplicate overstated the amount paid on the order and carried through to the general ledger and to the connected accounting system.
  • Resolved: The scheduled gateway payment import now brings in payment link payments only. Previously it could also claim a card charge or refund taken in the Fishbowl Client, but only when it ran before that transaction had been recorded. In that situation the transaction was recorded a second time.

Accounting

  • Resolved: Sales Orders using the "QBO Automated Sales Tax" rate now export successfully when the shipment carries a future ship date, and the posted invoice retains that ship date. A failure on a single order also no longer ends the export run. The remaining records continue to export and the result identifies which orders were skipped and why. Previously one of these orders failed on every run until its ship date arrived, and the failure stopped the entire export so that no other records exported either.
  • Resolved: The journal entry that reconciles Sales Order cost after shipment is now dated to the shipment date for both QuickBooks Online and Xero. That is the date already used for the order's invoice and its original COGS entry. Previously the entry was dated to the moment the accounting export ran. That recorded a shipment's revenue and its cost in two different periods. It also left the general ledger Inventory Asset unable to tie to Fishbowl's inventory valuation. QuickBooks Desktop was not affected.

REST API

  • Resolved: The purchase order memo endpoints now return memos to a user whose access to the order's location group is read-only. Previously these endpoints required full access and returned a 403 error, so a user permitted to view a purchase order could not read its memos. Creating, updating, and deleting a memo still require full access.

Legacy API

  • Resolved: Sales Order line item descriptions edited before saving are now retained when the order is saved through SOSaveRq, the call the mobile apps use. Previously the edited description was replaced with the product's default description and the change was lost, so reopening the order showed the default text.
  • Resolved: Part on-hand inventory returned by InvQtyRq now includes locations held in read-only location groups. A user permitted to view a read-only location can now see the inventory stored in it. This is the call the mobile apps use for part inventory, and the Fishbowl Client was not affected. Previously those rows were omitted with no error or warning shown. Inventory moves, cycle counts, scrap, and add continue to refuse read-only location groups.
  • Resolved: Reports printed through PrintReportRq, the call the mobile apps use, now display Hide/Show columns whose default value is a formula. On the Sales Order Invoice these include Unit Price, Total Price, and Type. The columns appear without report settings needing to be saved first. Previously these columns were hidden even though the same report printed from the Fishbowl Client included them.


​

AUG 25, 2026 - Advanced 26.8

Download - 26.8

Highlights - 26.8

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. You can safely use the standard auto-update process for version 2026.8 - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.8. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.7 release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • New AI Chat button provides instant access to Fishbowl's AI chat.
  • New one-click option to re-run pricing rules on an existing sales order
  • Sales Order and Shipping now show and filter orders by payment status
  • Bulk-rename locations with a new Location Renaming CSV import
  • Faster Product module and lower memory use on large catalogs
  • Quality and reliability improvements across reports, accounting, receiving, and the REST API

New Features - 26.8

  • New AI Chat toolbar button. A new AI Chat button on the module toolbars opens Fishbowl's AI support chat in one click. Access the AI Chat 24 hours a day without having to call in or create a support case. Ask questions and get help with anything including how to, error messages, and help fixing an issue. If you need to get further help AI Chat can facilitate getting you to a Support Technician between the hours of 6:30 AM to 4:30 PM MST.
  • New Update Pricing button for Sales Orders: The new Update Pricing button in the Sales Order module re-applies your pricing rules to automatically update pricing on every line on an existing order. This helps when an order is created well before it is issued and prices have changed in the meantime, especially with cost-based pricing rules, so you can refresh to current pricing in one click.
  • Sales Order Module and Shipping Module: payment status at a glance. You can now see and search each order's payment status, whether it has no payment, a partial payment, or is paid in full, directly from the Sales Order and Shipping modules without having to open each order. See which Sales Orders have not been paid and which shipments can be shipped at a glance.
    • A new optional Payment Status column can be added to the Sales Order and Shipping search results. Enable it by right-clicking on the search column and selecting the paid option.
    • The advanced search in both modules now includes a payment status filter (no payment, has a payment, or paid in full). This search feature can be saved as the the default search when loading the module.
  • Import/Export: bulk-rename locations by CSV. A new Location Renaming import and export lets you rename existing locations in bulk from a spreadsheet, the same way the Part and Product Renaming import already works. Customers reorganizing or relabeling a warehouse can now rename many locations at once instead of one at a time in the client.
  • Performance: faster Product module on large catalogs. Customers with large product catalogs will notice the Product module opens and loads significantly faster than previous versions.
  • REST API Improvements
    • Added additional sales order data and read-only location group access. Several additions support integrations for customers using read-only location groups.
      • Sales order search responses now include the order total, currency code, and multi-currency total.
      • Purchase order and sales order search responses now indicate which records belong to a read-only location group, so an integration can show them as view-only.
      • Transfer order endpoints can now return records from read-only location groups.
    • Added additional transfer order actions. The REST API now supports additional transfer order operations, continuing the transfer order support added in recent releases. Access rights and status rules are enforced.
      • POST /api/transfer-orders/{id}/request - request a transfer order, signaling the receiving location group to fulfill it
      • POST /api/transfer-orders/{id}/unrequest - cancel a request and return the transfer order to entered status
      • POST /api/transfer-orders/{id}/close-short - close a partially fulfilled transfer order short, voiding the unfulfilled items
      • A unit cost provided on a transfer order item is now applied when creating or updating the item (for non-inventory items on ship-type transfer orders).

Fixes - 26.8

General

  • Resolved: The date tolerance option in the Company module was not enforced, allowing users to enter dates outside the allowed range. Date tolerance rules are now enforced when entering dates.
  • Resolved: On a User Dashboard with multiple tabs, gadget heights on all but one tab reset to their defaults after logging out and back in, forcing users to resize them each time. Gadget heights now persist on every tab after logging out and back in.
  • Resolved: A user could change the read-only flag on their own location group assignments without having edit access to the User module. Changing the read-only flag now requires edit access to the User module.

Fishbowl Payments

  • Resolved: When a Fishbowl Payments payment link was generated for an order that already had payments recorded, the link requested the full order total instead of the remaining balance, so the customer was asked to pay the whole amount again. Payment links now request the remaining balance.
  • Resolved: When a payment was recorded directly in the client after a payment link had already been created, the existing link was not updated and still requested the original amount. The payment link now refreshes to the remaining balance after an in-client payment.

Sales Order

  • Resolved: When generating a purchase order with the SO to PO wizard, line item custom field values from the part did not carry over to the purchase order line, even with the option to add custom fields enabled. Part custom field values now transfer to the purchase order line when using SO to PO.

Accounting

  • Resolved: Duplicating a sales order as a credit return for a non-inventory part with a standard cost exported a cost of goods sold entry that mirrored the original sale instead of reversing it. Non-inventory items on a duplicated credit return now export with correctly reversed amounts.
  • Resolved: A dollar discount on a credit return exported to QuickBooks Desktop with the wrong sign, so the QuickBooks Desktop credit memo total did not match the Fishbowl credit return total. Dollar discounts on credit returns now export to QuickBooks Desktop with the correct sign. QuickBooks Online was already correct.
  • Resolved: When duplicating a sales order as a credit return, shipping-type line items were not converted to negative amounts, so the credit was understated and, on export to QuickBooks Desktop, the customer appeared to owe the shipping amount. Shipping-type lines are now converted to negative amounts on a credit return, matching the other line types.
  • Resolved: A recent change to prevent duplicate document errors caused drop ship and credit return lines that were received individually to create a separate invoice or credit for each line in accounting. For customers not using Avalara, lines for the same order that share a reference number and export together are now combined into a single invoice or credit again.
  • Resolved: Exporting to QuickBooks Online could fail with an "invalid or unsupported property" error related to the vendor country. Fishbowl now sends the vendor country in the format QuickBooks Online expects, so the export succeeds.
  • Resolved: When QuickBooks Online Automated Sales Tax was used on a manually created credit return, the tax was added as a positive amount instead of a negative, producing incorrect tax totals. Automated Sales Tax now calculates correctly for credit return items.
  • Resolved: Reconciling a purchase order could record cost of goods sold against a shipment that had been voided, placing cost on a sales order line that was never fulfilled. Reconcile now ignores voided shipments, so cost is no longer recorded against them.
  • Resolved: When reconciling a purchase order, Fishbowl posted a separate reconciliation journal entry to QuickBooks Online and Xero for every shipped item instead of one per sales order. For orders with many shipped lines or high carton counts, this could create a very large number of small journal entries in the accounting system. Reconciliation now posts a single journal entry per sales order, and Xero amounts are rounded to the cent.

Purchasing and Receiving

  • Resolved: Reconciling a purchase order line that had a zero unit cost plus additional amounts (such as freight or other landed costs) could produce a negative landed cost because of rounding. Landed cost distribution now rounds so the amounts sum correctly and no line goes negative.
  • Resolved: On a FIFO database, reconciling a purchase order could inflate a part's average cost to an extremely large value, eventually causing a save error. Average cost is now calculated correctly when reconciling on FIFO databases.
  • Resolved: When landing costs by size (volume), Fishbowl did not account for each part's unit of measure, so parts measured in different units received an incorrect share of the landed cost. Landing costs by volume now accounts for the part's dimension units, and reports a clear error if a required unit conversion is missing.
  • Resolved: When receiving against a purchase order that had one product split across multiple lines, the Receiving Data import received only the first line per part and ignored the other lines' locations and tracking. This was a change in behavior from version 25.9. The import now receives every line into its own location with its own tracking, including for drop ship and transfer order receipts.
  • Resolved: On a purchase order, changing the vendor address did not update the order's contact phone and email to the selected address's defaults. Changing the vendor address now updates the phone and email, matching the behavior on sales orders.
  • Resolved: On a FIFO database, voiding a shipment and later reconciling the originating purchase order with a landed cost could misallocate the landed cost and record an incorrect part cost, because the returned quantity was treated as a separate cost layer. Voiding a shipment and reconciling now allocate landed cost to the correct inventory, with the correct cost.

Manufacturing

  • Resolved: On repair work orders, splitting a large quantity into multiple work orders produced incorrect finished good quantities on the Work Order Traveler, with the numbers becoming further off the more splits were made. Repair work order quantities are now calculated correctly.
  • Resolved: When reconciling a part consumed on a work order that has more than one finished good, the reconcile failed partway through with an unexpected error instead of being prevented up front. Reconcile now detects this case in advance and blocks it cleanly with a clear message.

Transfer Order

  • Resolved: Refreshing a transfer order that had been deleted in another client showed a generic "an unknown error has occurred" message. Transfer orders now show a clear message, consistent with other order types, when the record has been changed or deleted elsewhere.

Part and Product

  • Resolved: Fishbowl allowed changing a part's unit of measure while the part was on an open transfer order, which then caused an error in the Inventory module. Changing a part's unit of measure is now blocked when the part is on an open transfer order, consistent with the existing behavior for open sales and purchase orders.
  • Resolved: Saving a part or product image with the save icon could fail with an "Unable to Save Image" error for users whose Windows account folder name contains a period (for example, a dotted username). Images now save correctly regardless of the folder path.
  • Resolved: When exporting Part, Product, and Vendor Pricing, selecting a vendor filter had no effect and all parts and products were still exported. The vendor filter is now applied to the export.

Reports

  • Resolved: On Canadian and New Zealand demo databases, the Purchase Order Summary Export report appeared under the Sales Order report folder. It now appears in the Purchase Order report folder.
  • Resolved: On the Received Summary report, the Quantity Received column was too narrow to display values longer than five digits. The column now shows the full quantity.
  • Resolved: On a standard costing database, the Adjustment Report labeled cost changes as "Average Cost Adj". The report now shows "Standard Cost Adj" on standard costing databases and "Average Cost Adj" on average costing databases.
  • Resolved: The Sales Order Report showed rounding discrepancies in certain cases when the customer used a currency other than the home currency. Currency rounding on the report is now consistent.
  • Resolved: On the Manufacture Order Traveler report, customer information did not appear unless the sales order item was on the first work order generated for the manufacture order. Customer information now appears whenever the manufacture order is linked to a sales order, regardless of which work order carries the item.
  • Resolved: The On Hand By Date report did not account for voided shipments, so inventory added back by a void was missing from the quantity on hand when a void was the most recent action. Voided shipments are now included in the on-hand quantity.
  • Resolved: The Item History report counted voided shipments as inventory increases without accounting for the original decrease, so voided shipments appeared as upward adjustments and did not appear in the sales history. Voided shipments are now reflected correctly.
  • Resolved: The Sales Production Demand report included estimate-status and already-fulfilled sales order items in its Needed total. The report now excludes estimates and fulfilled items, shows the remaining quantity for partially fulfilled items, and filters by scheduled date.
  • Resolved: On the Vendor Fulfillment History report, the PO Count column always showed 1. It now shows the number of distinct purchase orders that include the part.
  • Resolved: The Manufacture Order Projected Cost report could freeze the client when a manufacture order's notes were long enough to span more than about 25 lines. The report now handles long notes without locking up.
  • Resolved: On the Sales Order Report with Special Characters, the memo date column wrapped onto multiple lines. The date column now displays on a single line.
  • Resolved: The Transfer Order report stopped showing location group addresses on ship-type transfer orders. Ship-type transfer orders now display the location group addresses again.
  • Resolved: Certain currency symbols, most notably the Indian Rupee, displayed as a box on reports instead of the correct symbol, even though the client showed the symbol correctly. Currency symbols now display correctly on reports.
  • Resolved: A BI report gadget on the User Dashboard did not reload its content correctly after saving, logging out, and logging back in. The gadget now reloads as it was saved.

REST API

  • Resolved: The sales order, purchase order, and manufacture order REST search endpoints omitted orders dated on the search's end date (for example, orders created, issued, or scheduled today when today was used as the end date). These searches now include orders through the end of the end date.
  • Resolved: Retrieving a purchase order, sales order, or manufacture order by ID through the REST API, or reading sales order and work order memos, returned an access error when the record belonged to a read-only location group, even though the search endpoints already listed these records. They can now be retrieved.
  • Resolved: The legacy pick-save API returned a server error when a pick line was sent without a source location, which affected warehouse-automation integrations that split pick lines. These pick saves now complete successfully.
  • Resolved: The legacy API did not return custom field values when loading a product. Product custom field values are now included in the response.

​

JUL 14, 2026 - Advanced 26.7

Download - 26.7

Highlights - 26.7

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. You can safely use the standard auto-update process for version 2026.7 - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.7. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.7 release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.7.
  • QuickBooks Online journal entries now carry the customer/job, bringing job costing to parity with the QuickBooks Desktop integration
  • QuickBooks Online and Xero connections now stay active automatically, preventing the unexpected disconnects that required a manual reconnect
  • Read-Only Location Groups now extends to the Work Orders module
  • Fishbowl Payments now refreshes payment credentials automatically to prevent API key expiration
  • Quality and reliability improvements across accounting, reports, and bills of materials

New Features - 26.7

  • QuickBooks Online — customer/job on journal entries (job costing). Journal entries that Fishbowl posts to QuickBooks Online now include the customer or job when one is specified in Fishbowl, matching how the QuickBooks Desktop integration already works. This ties the cost side of your transactions to the customer or job, so QuickBooks Online job-costing reports reflect the full picture. Jobs map to QuickBooks Online sub-customers.
    • Applies to postings from sales orders, purchase orders and receiving, inventory adjustments (Cycle Count, Scrap, and initial Add), and manufacturing / work orders.
  • Fishbowl Payments — automatic credential refresh. Fishbowl now refreshes your payment processing credentials automatically before they expire. Previously, customers who went an extended period (30 or more days) without taking a card payment could have their credentials expire and be locked out until they manually generated new ones. A system option controls how many days before expiration the refresh happens (default 10 days).
  • Read-Only Location Groups — Work Orders. The Read-Only Location Groups feature introduced in the previous release now extends to the Work Orders module. Users assigned a location group as read-only can view work orders in that location group without being able to create or edit them, and a lock icon marks those work orders in the search list.
  • Part CSV — "Pick in part UOM only" option. The part option "Pick in part UOM only" can now be set and reviewed through CSV import and export, in both the Part import/export and the Part, Product and Vendor Pricing (PPVP) import/export. Previously this option could only be changed one part at a time in the Part module, so customers maintaining parts in bulk can now manage it alongside their other part data. Existing CSV files without the new column import unchanged.
  • REST API — create, unissue, and delete transfer orders. Building on the transfer order support added in the previous release, the REST API can now create a transfer order, return an issued transfer order to the Entered status, and delete a transfer order. Access rights, location group access, and status rules are enforced.
    • POST /api/transfer-orders — create a transfer order (Ship and Move types)
    • POST /api/transfer-orders/{id}/unissue — return an issued transfer order to Entered
    • DELETE /api/transfer-orders/{id} — delete a transfer order that is still in Entered status
    • GET /api/transfer-orders/next-number — next transfer order number
  • REST API — work order memos. The REST API can now list, retrieve, create, update, and delete memos on a work order, matching the memo support already available for other order types.
    • GET /api/work-orders/{id}/memos — list memos on a work order
    • GET /api/work-orders/{id}/memos/{memoId} — get a single memo
    • POST /api/work-orders/{id}/memos — create a memo
    • POST /api/work-orders/{id}/memos/{memoId} — update a memo
    • DELETE /api/work-orders/{id}/memos/{memoId} — delete a memo
  • REST API — get the next sales order, work order, and purchase order number. The REST API can now return the next available sales order or purchase order number based on your auto-numbering settings. Note that requesting a number reserves and consumes it, so the counter advances whether or not you go on to create the order. Auto-numbering must be enabled for that order type.
    • GET /api/sales-orders/next-number — next sales order number
    • GET /api/manufacture-orders/next-number — next manufacture order number
    • GET /api/purchase-orders/next-number — next purchase order number

Fixes - 26.7

General

  • Resolved: In some modules (such as Sales Order and Purchase Order) dates were displayed in a different format than other modules, even when the date-format settings were identical. Date formatting is now consistent across all modules.
  • Resolved: In the Import/Export dialog, when a user had limited access to .csv imports/exports, the wrong Export/Import would try to run. The Import/Export dialog now exports/imports whats selected correctly regardless of which import/export permissions you have.
  • Resolved: Importing the Part Cost CSV failed with an "only the admin can import this information" error for non-admin users, even when they had been granted the appropriate import/export permission. Users with the correct permission can now run the Part Cost CSV import.

Accounting

  • Resolved: QuickBooks Online and Xero connections could drop every few weeks with no setting change, and could only be restored by manually reconnecting and re-authorizing. Fishbowl now refreshes the QuickBooks Online and Xero connection tokens automatically before they expire, so connections stay active. A system option controls how many days before expiration the refresh happens (default 10 days).
  • Resolved: When an account referenced by an order was inactive or missing in QuickBooks Online, the export reported an error but still posted the invoice and journal entries; once the error was resolved, a second copy was posted. Fishbowl now stops the export for an order as soon as it encounters a missing or inactive account, so invoices and journal entries are no longer duplicated. The same protection applies to Xero.
  • Resolved: For customers using 30 Days EOM payment terms, due dates synced to Xero could be incorrect, because Fishbowl did not send a calculated due date and Xero derived it from the transaction date instead. This was especially noticeable in shorter months. Fishbowl now sends the correct due date to Xero based on the order's payment terms.
  • Resolved: When cash rounding ("round cash transactions to the nearest $0.05 or $0.10") was enabled, the rounding line was not exported to accounting if payment was taken after the order was fulfilled, causing totals in Fishbowl and the accounting system to disagree. The rounding line is now added and fulfilled correctly when payment is taken after fulfillment.

Purchasing

  • Resolved: The Auto PO wizard could recommend purchasing items that were already covered by open transfer orders, because inventory in transit on a transfer order was not being counted. Auto PO now accounts for inventory on open transfer orders, so it no longer recommends unnecessary purchases.
  • Resolved: A user with view-only access to the Purchase Orders module — or viewing a purchase order in a read-only location group — could still change a line item's vendor cost using the right-click menu or a keyboard shortcut. These actions are now properly blocked for users without edit access.

Manufacturing

  • Resolved: Importing a bill of materials via CSV with a note line set as variable quantity prevented that bill of materials from being added to a manufacture order until the note was manually corrected. Note lines no longer use the quantity fields on import, so the bill of materials works correctly. This applies to both the Part BOM and BOM Details CSV imports.
  • Resolved: When a bill of materials was imported via CSV with the finished good marked as a one-time-use item, generating a manufacture order from a sales order with a quantity greater than one produced incorrect component quantities. One-time-use is now ignored on finished good items, so quantities generate correctly. This applies to both the Part BOM and BOM Details CSV imports.

Sales Order

  • Resolved: When adding a product to a sales order using the Add Item Wizard (the + button) rather than the product search bar, the product's custom field values were not copied to the sales order line item, even with the option to add custom fields to sales order items enabled. Custom field values now carry over regardless of how the product is added.

Reports

  • Resolved: On the Sales Order Summary Export report, the created date was blank until the order was issued. The created date now appears as soon as the order is created.
  • Resolved: On the Sales Order, Sales Order (special characters), and Sales Invoice reports, custom field columns were right-aligned while all other columns were center-aligned. Custom field columns now align consistently with the rest of the report.
  • Resolved: The Sales Production Demand report calculated its summary totals incorrectly when the part and the product used different units of measure, mixing the two units so the Short total was wrong. The summary now converts units consistently.

REST API

  • Resolved: When retrieving a transfer order through the REST API, access could be denied unless the user had access to both of the transfer order's location groups, without accounting for which location group owns the order. Transfer order access now correctly considers ownership, so a user with the appropriate access can retrieve the order.


​

JUN 23, 2026 - Advanced 26.6

Download - 26.6

Highlights - 26.6

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. You can safely use the standard auto-update process for version 2026.6 - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.6. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.6 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.6.
  • Important Notice: REST API change for kit items. When you retrieve a sales order through the REST API, kit components are now returned nested inside a "kitItems" list on their parent kit item, rather than as separate top-level line items, and the previous parent-reference field has been removed. If you have an integration that reads sales order kit items through the REST API, review and update it before upgrading to 2026.6.
  • New Read-Only Location Groups, giving users view-only access to inventory and orders in specific location groups
  • Expanded REST API with sales order creation, transfer order issuing, and nested kit items in sales order responses
  • New module option to view and control the next customer account number
  • Faster Receiving screen for customers with large numbers of locations
  • Security improvements, including a configurable read-only database user and an updated logging component
  • Quality and reliability improvements across reports, scheduling, accounting, and purchasing

New Features - 26.6

  • Read-Only Location Groups. Administrators can now assign a location group to a user as read-only, letting that user see the data in that location group without being able to change it. This makes it possible to give people visibility into warehouses or branches they don't manage, without risking accidental edits.
    • Read-only access is set per location group in the User module, using a new Read Only checkbox on each assigned location group. A user can have any number of read-only location groups.
    • It applies across the Inventory, Sales Orders, Purchase Orders, Transfer Orders, and Manufacture Orders modules. Records from read-only location groups still appear in the search lists, but creating, editing, adjusting, moving, and similar changes are blocked for those records.
    • A lock icon appears next to records in the search lists that belong to a read-only location group, so users can tell at a glance which records are view-only. For transfer orders, the lock appears only when both the source and destination location groups are read-only.
    • Read-only location groups can still be selected and searched in Advanced Search.
    • User CSV import and export now include read-only location group assignments through a new Read Only Location Groups column.
    • The REST API and legacy API can report which of a user's location groups are read-only, so integrations can enforce the same view-only behavior.
  • Customer Module: control the next customer number. Customer numbers are now generated from a stored "next number" counter, the same way order numbers work. A new module option shows the next customer number and lets you change it, giving you direct control over the value assigned to the next new customer.
  • Server: configurable read-only database user. Administrators can now set a custom password for the built-in read-only database user, or disable that user entirely, from the Server tab of the Database Settings dialog. Previously this account always used a fixed default password. Existing installations are not disrupted: if no password is set, the current default is kept until you change it.
  • Advanced Mobile Plugin: custom email subject and body for shipping. The Mobile Plugin's Shipping Options now include Email Subject and Email Body fields, so the email sent from the mobile app can use a custom subject and message. Existing behavior is unchanged when these fields are left blank.
  • REST API: The REST API has been enhanced to include new functionality for accessing API Documentation, Sales Orders, and Transfer Orders.
    • Create a sales order. The REST API can now create a sales order and return the created order, following the same pattern as the existing create and update purchase order calls. Customer defaults such as carrier, payment terms, currency, and addresses are applied automatically from the selected customer, and access rights and location group access are enforced. Kit items and drop ship items are not supported in this first version.
      • POST /api/sales-orders — create a sales order
    • Issue a transfer order. The REST API can now issue a transfer order, moving it to the Issued status. Access rights, location group access, and status rules are enforced.
      • POST /api/transfer-orders/{id}/issue — issue a transfer order
    • Kit items nested in sales order responses. When you retrieve a sales order, kit components are now returned nested under their parent kit item instead of appearing as separate top-level line items, making the response easier to work with for kits. Non-kit items are unaffected. (See the Important Notice above — this changes the response shape for existing integrations.)
      • GET /api/sales-orders/{id} — kit components now appear in a kitItems list on their parent kit item
    • Machine-readable documentation. The REST API documentation can now be retrieved in a machine-readable format, making it easier for developers and AI coding assistants to work with the API programmatically.
      • GET /apidocs.json — the full API documentation as structured data
  • Legacy API — save a signature image at receiving. The legacy API can now save a signature or other image against a receipt at receive time, supporting workflows that capture a delivery signature when stock is received. The image is identified by the order (purchase order, sales order, or transfer order) and its location group.

Fixes - 26.6

General

  • Resolved: The client update process could fail because it did not recognize a new program directory introduced in a recent release. Client updates now complete successfully.

Accounting

  • Resolved: When a drop ship item on a sales order was received in more than one partial receipt, the first receipt exported to QuickBooks Online correctly, but the second receipt reused the same document number and failed on export with a "Duplicate Document" error. Each partial receipt of a drop ship item now exports with its own unique document number.
  • Resolved: When an export to QuickBooks Online was rejected with a "Business Validation" error, Fishbowl did not record the detailed error information QuickBooks returned, which made some recurring export errors hard to diagnose. Fishbowl now captures the full QuickBooks error detail and Intuit's transaction reference in the Fishbowl Server Log, helping support identify the cause of failed exports faster.

Purchasing

  • Resolved: When reorder levels are set by location group, Auto PO did not recognize demand created by out-of-stock items on transfer orders, even when the relevant "From" location group was selected in the Auto PO wizard. The same demand from a sales order generated a PO correctly. Auto PO now recognizes transfer order demand by location group and creates the expected purchase orders.

Purchasing and Receiving

  • Resolved: The Receiving screen opened slowly for customers with a large number of locations, and slowed further each time an item was received and the screen refreshed. Receipt details now load much more efficiently, so the Receiving screen opens significantly faster in large configurations.

Reports

  • Resolved: The Asset Valuation by Account report calculated FIFO cost incorrectly when run for a past date, so the value did not match the Inventory module's total cost for that date. The report now calculates historical FIFO cost correctly.
  • Resolved: The Packing Slip report in the Standard layout did not show all part tracking details for transfer order items that were split across multiple lots or expiration dates; it combined the lines and showed tracking for only the first. The report now lists tracking details for each line, matching the sales order and By Carton layouts.
  • Resolved: On the Packing Slip, the option to show or hide order notes had no effect — the notes always appeared. The show/hide notes option is now honored.
  • Resolved: On the Purchase Order report, a vendor address that had a country but no city, state, or ZIP displayed a stray comma. The address now formats correctly when those fields are empty.
  • Resolved: The Tracking report failed to run for parts whose part number contains an apostrophe (for example, a foot mark such as 40'). These reports now run correctly.
  • Resolved: Running the Batch Sales Order Invoice report with the Show Memos option enabled failed with an error when an order included a memo. The report now generates correctly when memos are shown.
  • Resolved: After a recent change, several sort options on the Sales Backorder report — Customer, SO Number, Date to Fulfill, and Quantity Needed — sorted by the wrong column. Each option now sorts by the correct field.
  • Resolved: After a 26.5 change, the Sales Order Summary and Sales Order Summary Export reports could not be selected when creating a scheduled task. Both reports can be scheduled again.

Database Updates

  • Added "readOnly" column to the userToLg table. This column supports the new Read-Only Location Groups feature, which lets administrators give a user view-only access to a location group. The column defaults to false, so all existing location group assignments remain fully editable after upgrade.

​

MAY 20, 2026 - Advanced 26.5

Download - 26.5

Highlights - 26.5

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 reached End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. You can safely use the standard auto-update process for version 2026.5 - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.5. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.5 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.5.
  • Improved client connection performance with reduced server communication overhead
  • Fishbowl Payments (Powered by Run Payments) ACH-only merchant support
  • New Accounting Module options added
  • Quality and reliability improvements across accounting, purchasing, inventory, and receiving modules

New Features - 26.5

  • Client connection performance improvements. The Fishbowl client connection has been optimized to reduce the number of server round-trips made during normal operation. Clients now check whether server-side updates are available before requesting them, rather than fetching on every interaction. Users on high-latency or slower network connections should notice improved responsiveness.
  • Fishbowl Payments (Powered by Run Payments) ACH-only merchant support. Fishbowl Payments now provides an additional payment option for merchants who process with ACH only that does not require a Credit Card merchant ID (MID). Payment routing is handled transparently by Run Payments based on the merchant's ACH MID entered during initial integration, no separate configuration is required.
  • New Accounting Module options for Invoice email address. A new module option, "Always send the customer's default address default email on Invoice," ensures the customer's default contact email is used when exporting invoices to QuickBooks Online and other accounting packages, regardless of which contact placed the order. The option is off by default.
  • New Accounting Module options for QuickBooks Canada users: New module options for QuickBooks Desktop Canadian tax rounding control and accounting package email override
  • QuickBooks Desktop — Canadian tax rounding module option. A new Accounting Module Option on the QuickBooks tab controls whether Canadian tax rounding mimics QuickBooks Desktop rounding behavior. Customers who generate orders outside Fishbowl (e.g., via ecommerce integrations) can now disable this rounding so totals match between their external system and Fishbowl/QuickBooks Desktop. The option is off by default; existing behavior is preserved.
  • New QuickBooks Online — Intuit Enterprise Suite (IES) Accounting integration option. A dedicated Intuit Enterprise Suite integration button is now available in the Accounting module, alongside QuickBooks Online. IES customers can connect using the same authorization flow and sync logic as QuickBooks Online; the new entry clarifies compatibility for customers running on the Intuit Enterprise Suite platform.
  • Bi Reports and Dashboards:
    • Dashboard updates and performance improvements. Updated versions of the Sales, Inventory, Purchasing, Production Scheduling, and Company dashboards, plus the Inventory Reorder Watchlist BI report, are now included in the release. The updates add async loading on large datasets, refactor tooltips, and resolve a number of dashboard-specific bugs.
    • Added secure REST API access from Bi reports. A new apiFetchAsync function is available to BI report authors. Reports can now call REST API endpoints under the running user's session, so the server enforces the user's access rights automatically. This replaces the prior pattern of calling the legacy socket API, which bypassed access-rights and field validation.
    • Added ability to drill into Picks from a Bi report. openModule("Picking", pickNum) now opens the Picking module and loads the specified pick, matching the existing behavior for Part, Sales Order, and Vendor. Report authors can link from any report row directly to the relevant pick.
    • BI Reports — drill into Receipts from a Bi report. openModule("Receiving", ...) now supports a compact identifier format ("S122" for SO receipts, "P234" for PO receipts, "T456" for TO receipts) that opens the Receiving module and loads the matching receipt. Report authors can link directly into receipts the same way they link into other records.
  • New report module features: Added: Cycle count zero-quantity-change entries (inventory log typeid 68, introduced in 26.4) are now available as a filter option on the Part Activity Report. The filter is unchecked by default to preserve existing report behavior.
  • Added: Cycle count zero-quantity-change entries are now available as a filter option on the Part Activity Export Report. The filter is unchecked by default to preserve existing report behavior.
  • New API Features:
    • Email Report API — custom subject and message body. The legacy Email Report API now accepts optional EmailSubject and EmailMessageBody fields, allowing the mobile product and integrators to send reports with a customer-appropriate subject and body. The existing scheduled-task email behavior is preserved when these fields are omitted.
    • REST API — The REST API now supports core Transfer Order operations: retrieving a single Transfer Order, searching for Transfer Orders, and managing memos on a Transfer Order. Access rights and location-group access restrictions are enforced.
      • The REST API now supports core Transfer Order operations: retrieving a single Transfer Order, searching for Transfer Orders, and managing Transfer Order memos. Access rights and location-group access restrictions are enforced. New endpoints for creating, retrieving, and updating Transfer Order memos.
      • GET /api/transfer-orders — search Transfer Orders
      • GET /api/transfer-orders/{id} — get a single Transfer Order
      • GET /api/transfer-orders/{id}/memos — list memos on a Transfer Order
      • GET /api/transfer-orders/{id}/memos/{memoId} — get a single memo
      • POST /api/transfer-orders/{id}/memos — create a memo
      • POST /api/transfer-orders/{id}/memos/{memoId} — update a memo
      • DELETE /api/transfer-orders/{id}/memos/{memoId} — delete a memo
    • REST API — Get Pick. A new endpoint loads a Pick by ID and returns the full Pick object with all calculated fields populated, matching the behavior of loading a pick in the client. Access rights and location group restrictions are enforced.
      • GET /api/picks/:id
      • Pick items now include source tag information in the response

Fixes - 26.5

General

  • Resolved: After upgrading to version 2026.3, the Products module search began returning both active and inactive products by default. The Active Only filter shown in Advanced Options was not being applied on initial load or when clicking the search button. The default search behavior now correctly limits results to active products.
  • Resolved: Creating Sales Orders, Manufacture Orders, or Purchase Orders with a value that contained both an underscore and a dash in the same field could cause duplicate records to appear in search results and break several reports. Orders with mixed underscore and dash characters now save as a single record and search and report correctly.
  • Resolved: Server update notifications continued to appear in the client even when the server was configured to never notify or to auto-update. The client now correctly honors the server's update notification setting.

Accounting

  • Resolved: When manually applying landed costs, entering an incorrect amount that triggered a validation error and then correcting the value would cause Fishbowl to accumulate both the invalid and corrected amounts rather than replacing the prior entry. This resulted in an overstated landed cost total and a "Please balance your debits and credits" error on accounting export. The correction now replaces the prior entry rather than adding to it.
  • Resolved: Exporting a Sales Order to QuickBooks Online failed with an "Amount is not equal to UnitPrice * Qty" error when associated pricing on the order had been changed after the order was issued. The unit price was not being correctly carried through to the export calculation. The export now uses the price stored on the sales order line item.
  • Resolved: Exporting a Credit Return Sales Order to Xero failed with a line total mismatch error when stock for the return was received in multiple batches (e.g., two receipts of 5 units for a line originally returned as 10). Fishbowl was not correctly apportioning the unit price across split receipts, producing mismatched totals. The export now correctly calculates line totals for split credit return receipts.

Purchasing

  • Resolved: Reconciling a Purchase Order after a void-and-re-receive sequence could fail because the inventory log pivot was using incorrect values, leaving the reconcile unable to complete. The pivot is now built from the correct inventory log entries and reconcile completes successfully.
  • Resolved: Auto PO did not include parts that were short when the "No ROPs" option was checked and an unrelated reorder point was defined elsewhere in the database. Short parts are now correctly included regardless of unrelated ROP definitions.
  • Resolved: The ship-to address on auto-generated Purchase Orders was not being populated correctly in some configurations. Auto-generated POs now use the correct ship-to address.
  • Resolved: Vendor Last Cost on a Purchase Order could be recorded as a negative value in certain credit/return scenarios, causing accounting and cost-reporting issues. Vendor Last Cost is now stored as a non-negative value.

Purchasing and Receiving

  • Resolved: When receiving stock against a Purchase Order with a backdated Receive Date, the created inventory tag's dateCreated was stamped with the current system date rather than the backdated date entered by the user. This caused the FIFO pick method to select an incorrect tag for lot-tracked parts. Tag dateCreated now reflects the user-entered Receive Date.

Manufacturing

  • Resolved: Auto MO did not create a manufacture order when no reorder point was defined for the part, even when the "Include No ROPs" option was checked. Auto MO now correctly creates manufacture orders for parts without reorder points when that option is enabled.

Materials

  • Resolved: The Replenish Wizard in the Transfer Order module did add parts to a transfer order when no reorder point was defined for the part, even when the "Include No ROPs" option was checked. The wizard now includes parts regardless of reorder point configuration when when the "Include No ROPs" option is checked.

Reports

  • Resolved: The Sales Order Summary and Sales Order Summary Export reports did not differentiate between products that share the same name across different branches of a product tree, causing items from unrelated branches to appear together in the filtered results. The product tree filter now correctly scopes results to the selected branch.
  • Resolved: The Sales Order Summary Export report could pull in items incorrectly when filtering by certain date or status combinations, producing extra or unrelated line items. Filtering and item selection now match the configured filters.
  • Resolved: The Sales Order Summary Report returned zero results when filtered by a single day combined with the "SO item date fulfilled" filter, even when fulfillments existed for that day. The report now correctly returns matching results for single-day fulfillment filters.
  • Resolved: The Work Order Traveler report was not displaying page numbers, making multi-page travelers difficult to track on the shop floor. Page numbers are now rendered on all pages of the report.
  • Resolved: The Sales Backorder report did not render correctly in certain scenarios, producing incomplete or incorrect output. The report now generates as expected.
  • Resolved: Selecting a value in the Carrier filter on the Sales Order Summary report caused the entire report to return blank. The Carrier filter now correctly narrows results to the selected carrier.
  • Resolved: The Packing Slip report appended a time stamp (e.g., "2025-08-29 00:00:00") when displaying custom date fields, even though the client displays them as date-only. Custom date fields now render without the time component.
  • Resolved: The Shipping Invoice report's Field Titles area exposed two "FOB Point" labels, and editing the second actually changed the Sales Person title. The second entry is now correctly labeled "Sales Person".
  • Resolved: The Reverse Lot History report failed to complete and would load indefinitely on databases that had been upgraded from version 24.7 or earlier. The report now generates as expected.
  • Resolved: The Location Barcode and Location Barcode One Off reports printed barcodes shifted to the left of center on the label rather than centered. Barcodes are now centered correctly on the label.
  • Resolved: In international databases, toggling off the "Show Cost" option on the Purchase Order Summary report hid the column header but left the cost values and removed the totals. The toggle now hides both the column data and the totals consistently with US databases.

Calendar

  • Resolved: On Australian and other non-US system locales, the Calendar module did not display scheduled events or orders in the first row of dates, while events on later rows displayed correctly. Calendar events now render in all rows regardless of locale.

Database Updates

  • Added "priceLocked" column to the soitem table. Supports the associated-pricing fix that resolves the QuickBooks Online export error "Amount is not equal to UnitPrice * Qty" when an associated price is changed after a sales order is issued. The new column defaults to false; on upgrade, existing Associated Price line items on Issued (or later) sales orders are backfilled to true so that already-issued orders continue to export correctly.


​

APR 14, 2026 - Advanced 26.4

Download - 26.4

Highlights - 26.4

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 will reach End of Life (EOL) in April 2026. Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. You can safely use the standard auto-update process for version 2026.4 - it will maintain your current MySQL 8.0 installation. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.4. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.4 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.4.
  • New user rights added for individual Import/Export operations
  • Improved user security with automatic password expiration and CSV-based temporary password assignment
  • Updated USPS address validation integration
  • Quality and reliability improvements across accounting, purchasing, inventory, and receiving modules

New Features - 26.4

  • Granular Import/Export access rights. A new set of 114 individual access rights has been added — one for each import and export operation — giving administrators the ability to allow or deny specific import and export operations per user group. The existing Import/Export-View access right continues to control visibility of the Import/Export menu item. All existing user groups are automatically granted the new rights via migration to maintain backward compatibility.
  • Inventory: Require Notes on Quantity Adjustments and Inventory Moves. Two new module options have been added to the Inventory module that allow administrators to require users to enter a note when adjusting inventory quantities or moving inventory between locations. Both options are off by default. When enabled, users must provide a note before completing the action, creating a documented record for each inventory change.
  • Automatic user password expiration. A new option in the Users module allows administrators to enable automatic password expiration. When enabled, a configurable expiration period (in days, defaulting to 30) is set, and users are prompted to reset their password at their next login after it expires. This improves password security for organizations that require periodic credential rotation.
  • Temporary password assignment via users.csv import. A new optional "Password" column has been added to the users.csv import format, allowing administrators to assign a temporary password when creating new users via CSV import. This field applies to new user creation only and cannot be used to reset passwords for existing users. This action is limited to the admin user.
  • USPS Address Validation update. The USPS address validation integration has been updated to work with the current USPS API. This feature, which allows users to validate shipping addresses on orders directly within Fishbowl, was previously non-functional due to changes made by USPS.
  • REST API: Part tracking data on GET Shipment. The GET Shipment endpoint now returns part tracking information on ship items when tracking data is present, matching the tracking details visible when viewing a shipment in the Fishbowl client.
    • GET /api/shipments/:id - Now includes a tracking object on each shipItem when applicable.

Fixes - 26.4

General

  • Resolved: Cost and price fields, line item totals, and order totals on Purchase Orders and Sales Orders now display correctly when the home currency is set to an Arabic currency (e.g., Kuwaiti Dinar, Iraqi Dinar, Omani Rial, Bahraini Dinar). Previously, values displayed using Eastern Arabic numerals instead of standard numerals, and order totals did not appear at all.
  • Resolved: Cycle counts that result in no quantity change (where the counted quantity exactly matches the system quantity) are now saved as records. Previously, zero-change cycle counts were discarded with no record retained, making it impossible to report on when an item was last counted or confirm its accuracy at that point in time.
  • Resolved: Transfer Order CSV imports now enforce UOM compliance for each line item. Previously, importing a Transfer Order via CSV allowed any unit of measure to be assigned, regardless of whether it was valid for the part, which could corrupt order, pick, and inventory records.
  • Resolved: Filtering when exporting via the CSV export wizard now works correctly. Previously, applying a filter in the export wizard would result in a blank error and no file was produced. Exporting without applying a filter was unaffected.

Purchasing and Receiving

  • Resolved: Outsourced Purchase Orders can now be reconciled even when one or more receivable line items do not yet have cost history. Previously, the absence of a cost history for any receivable line would prevent the entire receipt from being reconciled.
  • Resolved: Purchase Order CSV imports now preserve unit cost values with more than two decimal places. Previously, line item unit costs were incorrectly rounded to two decimal places during import, introduced in version 2026.1.
  • Resolved: The Receiving Data CSV import now assigns the correct billed unit cost when a single order line is received across multiple CSV rows. Previously, splitting one line into multiple receive lines resulted in each row receiving a different, incorrect calculated cost (e.g., $10.00, $2.00, $2.50, $3.33) instead of the correct value.

Accounting

  • Resolved: QuickBooks Desktop exports now correctly handle tax rounding when Canadian dollars are used as the home currency. Previously, the exported tax amount was rounded up by $0.01, causing a discrepancy between the payment recorded in Fishbowl and the invoice balance in QBD that required manual correction on each affected invoice.
  • Resolved: Credit returns on Sales Order lines for non-inventory parts now correctly reverse the COGS entry with a negative cost value. Previously, when duplicating a Sales Order and selecting "Credit Return," non-inventory line items retained a positive cost rather than posting a negative COGS, overstating cost of goods sold.
  • Resolved: When duplicating a Sales Order as a Credit Return, tax line items calculated by TaxJar and QuickBooks Online Automated Sales Tax are now correctly converted to negative amounts. Previously, these tax line items remained positive on the credit return, resulting in incorrect tax totals instead of properly reversing the original tax charges

​

MAR 23, 2026 - Advanced 26.3

Download - 26.3

Highlights - 26.3

  • Important Notice: MySQL 8.0 End of Life - Update Optional for Now - MySQL 8.0 will reach End of Life (EOL) in April 2026. After this date, Oracle will no longer issue security patches, bug fixes, or official support for MySQL 8.0. While we recommend upgrading to MySQL 8.4 LTS before the EOL date, this update is NOT required at this time. Fishbowl will continue to support MySQL 8.0 until the September 2026 release. You can safely use the standard auto-update process for version 2026.3 - it will maintain your current MySQL 8.0 installation. If you wish to upgrade to MySQL 8.4 now, see the "MySQL 8.4 upgrade" feature description below. For detailed upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.3. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.3 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.3.
  • Important Notice: Previously the Ebay plugin was not compatible with Java 21. This issue has been resolve and it is now fully functional.
  • Improved MySQL 8.4 update process
  • New Bi Report
  • Enhanced REST API with shipment and payment search functionality
  • Improved Sales Order flexibility with kit item type changes
  • Quality and reliability improvements across multiple modules

New Features - 26.3

  • MySQL 8.4 upgrade option (Optional). For customers who wish to upgrade to MySQL 8.4 LTS ahead of the September 2026 requirement, the Fishbowl installer now includes automatic MySQL 8.4 upgrade capability. This upgrade is completely optional for the 2026.3 release. Here's how it works:
    • Windows users with Fishbowl-installed MySQL 8.0: Simply run the full Fishbowl installer (not the auto-update) over your existing installation. The installer will automatically detect and upgrade MySQL 8.0 to MySQL 8.4.
    • Windows users with manually-installed MySQL: You will need to manually upgrade MySQL 8.4 first, then install Fishbowl Advanced 2026.3. The installer will provide instructions if it detects manually-installed MySQL 8.0.
    • MacOS and Linux users: You will need to manually upgrade MySQL to 8.4 first, then install Fishbowl Advanced 2026.3. The installer will provide upgrade prompts and instructions.
    • If you choose to stay on MySQL 8.0: Simply use the standard auto-update process for Fishbowl 2026.3. Your MySQL 8.0 installation will remain unchanged and fully supported. For detailed MySQL upgrade instructions, visit: https://help.fishbowlinventory.com/advanced/s/article/MySQL-Update
  • Fishbowl Payments (Powered by Run Payments). The integration has been updated to continue to help merchants save on credit card processing fees. When you process a payment, Fishbowl automatically sends detailed transaction information to the payment processor, including:
    • Order details like customer PO number, order date, and shipping information
    • Individual line items with product descriptions, quantities, prices, and product codes
    • Accurate tax and shipping amounts By sending this extra information, Fishbowl Payments helps you qualify for the lowest processing fees available for business-to-business transactions. The system automatically handles sending the additional data - you don't need to do anything different when taking payments.
  • Inventory Reorder Watchlist BI Report. A new standalone Inventory Reorder Watchlist BI Report has been added to the BI Reports module, providing detailed visibility into parts approaching or below reorder points with drill-down functionality to investigate specific part details, supplier information, and inventory levels across locations to help prevent stockouts and optimize inventory management. Click here to learn more.
  • Sales Order kit item type flexibility. A new Sales Order module option "Allow changing kit item types" enables users to change the item type (Sale, Credit Return, Drop Ship) for kit items that have been added to a Sales Order. This option is unchecked by default to maintain backward compatibility. When enabled, users can modify kit item types both inline and in the item edit screen, providing greater flexibility for managing inventory status changes.
  • Enhanced auto-update options. A new "Never notify or update automatically" option has been added to the Server Administration page auto-update settings. When selected, Fishbowl will neither notify users about new updates nor automatically update the software, providing complete control over the update process for organizations with strict change management policies.
  • REST API shipment management. The REST API now includes new shipment functionality:
    • GET /api/shipments/:id - Retrieves details of a specific shipment by ID with location group access validation
    • POST /api/shipments/:id/pack - Changes shipment status from Entered to Packed, with validation to prevent packing already packed or shipped orders
    • Search functionality - Returns paginated lists of shipments based on filter criteria with proper access rights checking
  • REST API payment search. The REST API now supports searching for payments with the ability to return paginated lists of payments based on filter criteria. Documentation has been added to the Payments section of the REST API docs with proper access rights checking.
  • REST API product search. The REST API now supports searching for products with the ability to return paginated lists of products based on filter criteria. Documentation has been added to the Products section of the REST API docs with proper access rights checking.
  • Updated Remote Assist link for AU databases. Australian database users accessing Help > Remote Assist are now redirected to the correct remote support page (https://apac.fishbowlinventory.com/s/remote-assist/) instead of the booking support page.

Fixes - 26.3

Sales

  • Resolved: Kits containing both standard type kit items and variable quantity type kit items can now be added to Sales Orders with the variable quantity item set to 0, as long as at least one standard kit item has a quantity greater than 0. Previously, the system incorrectly displayed an error stating "Invalid Qty: Kit must have at least one item in the kit" even when standard items were present.
  • Resolved: Sales Order totals now display correctly when the home currency is UAE Dirham or other non-US currencies. Previously, total values at the bottom of orders would not display, though line item unit prices displayed correctly.

Payments

  • Resolved: Fishbowl Payments (Powered by Run Payments), The payment window has been resized to ensure all three payment options (Card Present, Manually Entered (Send to Payment Terminal), and Manually Entered) are visible when connected to a payment terminal, eliminating the need to manually stretch the window.
  • Resolved: CloverConnect card processing via terminal continues to function properly after removal of outdated port numbers from integration URLs.

Manufacturing

  • Resolved: BOMs with notes can now be properly deleted from partially fulfilled Manufacturing Orders without requiring Knowledge Engineer or Support assistance. Previously, attempting to delete BOMs with notes would generate a null error.

Purchase

  • Resolved: When the "Update vendor cost on issue" Purchase Order module option is unchecked, vendor costs are no longer incorrectly updated when issuing orders. Additionally, when multi-currency is enabled and vendor costs are updated, the calculations are now accurate. Previously, changing the currency conversion rate on a Purchase Order could incorrectly update vendor last costs with wrong values for both home and foreign currencies.
  • Resolved: Purchase Order totals now display correctly when the home currency is UAE Dirham or other non-US currencies. Previously, total values at the bottom of orders would not display, though line item unit prices displayed correctly.

Accounting

  • Resolved: QuickBooks Online can again create new currencies when exporting from Fishbowl if they don't already exist in QuickBooks Online. Previously, exports would fail with an "Operation could not find resource for entity companycurrency is not supported" error when a currency existed in Fishbowl but not in QuickBooks Online.
  • Resolved: Xero exports now properly handle part cost journal entries when class tracking (categories) is enabled. Previously, exporting part cost changes would fail with a null error because journal entries did not have a class/category assigned and the system was incorrectly validating these entries.


​

FEB 19, 2026 - Advanced 26.2

Download - 26.2

Highlights - 26.2

  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.2. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.2 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.2.New and updated Business Intelligence Dashboards with enhanced data visualization
  • Expanded Server Administration capabilities for remote management
  • Enhanced REST API for improved performance
  • Outsourced Purchase Orders now support parts with tracking
  • Quality and reliability improvements across multiple modules

New Features - 26.2

  • New Business Intelligence Dashboards. Two new and three updated professionally-designed BI Dashboard reports are now included by default both as Dashboards and in the BI Reports module, providing powerful data visualization and decision-making tools:
    • New Production Scheduling Module - Manufacturing order planning and scheduling optimization featuring an interactive calendar view where manufacturing orders can be moved and rescheduled by dragging and dropping, plus drill-down functionality for detailed work order analysis. Click here to learn more.
    • New Company Dashboard - High-level company performance overview with drill-down capabilities across multiple business areas for deeper insights. Click here to learn more.
    • Updated Sales Dashboard - Comprehensive sales performance metrics and trends with drill-down functionality to explore detailed order and customer information. Click here to learn more.
    • Updated Purchasing Dashboard - Purchase order tracking and vendor performance analysis with drill-down capabilities to view detailed purchase order and vendor data. Click here to learn more.
    • Updated Inventory Dashboard - Real-time inventory reorder watchlist and stock management with drill-down options to investigate part-level inventory details. Click here to learn more.
    • Note: These new BI Dashboard reports must be granted as user rights in the User Group module for users to view them. Each Dashboard has its own unique user right under the access tab and the Bi Reports tab. Administrators should review and assign appropriate access rights to users who need access to these dashboards.
    • Note: If you prefer the previous dashboard experience, you can easily switch back to the Classic Dashboards through the Dashboard customization settings in the Settings module. See the Dashboard customization settings feature description below for more information.
  • Dashboard customization settings. A new "Dashboards" tab has been added to the Settings module, allowing administrators to customize the default dashboard experience for each dashboard module. Users can select between Classic Dashboards (maintaining the appearance of the Dashboards from version 26.1) or any available BI Report. This means that Bi Reports can be edited or created in the Bi Editor and then selected as a default for the following modules (Click here to learn more):
    • Inventory Dashboard
    • Sales Dashboard
    • Purchasing Dashboard
    • Manufacturing Dashboard
    • Production Scheduling Dashboard
    • Company Dashboard
  • Dashboard module rename. The existing Dashboard module has been renamed to "User Dashboard" to distinguish it from the new Company Dashboard in the General module group. The User Dashboard can be customized by each individual user and the Company Dashboard is a company wide dashboard.
  • New Server Administration Module. The Server Administration module now includes powerful remote management capabilities previously only available when directly logged on to the Fishbowl Server(Click here to learn more):
    • Active Connections management - View all connected users with their name, last activity, and client type. Administrators can refresh the user list, log off selected users, and send messages to connected users directly from this module in the client.
    • Connection settings - Configure Client Inactivity Timeout and enforce single-login restrictions (users can only be logged in once).
    • Server restart capability - Restart the Fishbowl Server directly from the Administration module with configurable delay periods to give connected users adequate warning. This feature requires a new "Restart Fishbowl Server" user right (granted to the admin user only by default).
  • Outsourced Purchase Orders with part tracking. Parts with tracking (including Lot Numbers, Expiration Dates, Serial Numbers, and custom tracking types) can now be used on outsourced Purchase Orders. This enables manufacturers who outsource production operations to maintain full traceability throughout their outsourced manufacturing process without being forced to remove tracking from parts.
  • Automatic backup retention management. Scheduled database backup tasks now support automatic deletion of old backup files. Administrators can configure a retention period (in days) to automatically clean up backups older than the specified threshold, preventing disk space issues without manual maintenance. Setting the value to 0 disables automatic deletion. Create a new or edit your existing Database Backup scheduled task to enable this feature. Default setting is set to 0. Click here to learn more.
  • Enhanced Fishbowl Payments (Powered by Run Payments) card entry. When connected to a Run Payments card processing terminal, users now have more flexibility for card not present transactions. A new "Manually Entered" option allows credit card information to be entered directly into the client through the Run Payments iFrame for faster processing, while the existing functionality has been renamed to "Manually Entered (Send to Payment Terminal)" for sending payment processing to the card terminal. Card Present remains the default option.
  • REST API memo endpoints. The REST API now supports full memo management for Sales Orders, Parts, and Products with the following new endpoints:
    • getMemoList - Retrieves a list of all memos associated with a specific Sales Order, Part, or Product
    • getMemo - Retrieves details of a single specific memo by its ID
    • deleteMemo - Removes a memo from a Sales Order, Part, or Product
    • updateMemo - Modifies the content of an existing memo
    • createMemo - Adds a new memo to a Sales Order, Part, or Product

Fixes - 26.2

Fishbowl Payments (Powered by Run Payments)

  • Resolved: QuickBooks Online automated sales tax is now properly included in Run Payment Links. Previously, QBO estimated tax amounts appeared correctly on the Sales Order and in the manual payment screen but were not included in the payment link total.

REST API

  • Resolved: REST API performance and efficiency have been significantly improved for customers with large amounts of orders, customers, and parts. These improvements resolve Java heap space errors previously experienced by customers with larger datasets. The following enhancements have been implemented:
    • Replaced HttpURLConnection with the new HttpClient
    • Enabled HTTP/2 support
    • Removed JSON size limit for API requests
    • Improved file download memory efficiency
    • Eliminated unnecessary base64 encoding to decrease request sizes
    • Avoided double serialization
  • Resolved: REST API documentation for search endpoints now correctly indicates that all search filters are optional for Inventory, Location Group, Manufacture Order, Part, Purchase Order, UOM, User, and Vendor.
  • Resolved: REST API documentation links have been updated from the old wiki URLs to the new help article URLs. All "Related Guide" links now correctly redirect to the appropriate pages on the help site.
  • Resolved: The /api/products/:id/best-price endpoint documentation now correctly indicates that customerid is a required field, and optional parameters (uomId, date, and includePricingRules) are properly marked as optional.

Database Updates

  • Added "deleteBackupOlderThan" column to the fbschedule table. This new column enables the new automatic deletion of backups feature in the schedule module.

​

JAN 15, 2026 - Advanced 26.1

Download - 26.1

Highlights - 26.1

  • Important Notice: If you are upgrading from version 2025.9 or older then this upgrade requires a coordinated installation process. The Fishbowl Server must be updated manually first, followed by client updates. The Fishbowl Client will automatically detect version mismatches and guide users through the update process with a simple "Automatically update your Fishbowl Client" button. If you are upgrading from 2025.11 or later versions this update follows the normal upgrade process supporting auto updating of the server by simply checking for updates.
  • Important Notice: Fishbowl 2025.12 and newer versions no longer support MySQL 5.7: If you are still running MySQL 5.7 we recommend migrating to MySQL 8.0 before upgrading to 2026.1. Follow the instructions here to migrate to MySQL 8.0: https://help.fishbowlinventory.com/advanced/s/article/Fishbowl-Advanced-MySQL-Migration
  • Important Notice: We are unable to support the Fishbowl Anywhere plugin as part of the 2026.1 (Java 21) release. If you are actively using Fishbowl Anywhere, you should not upgrade beyond the 2025.9 release. We will have Fishbowl Anywhere included in an upcoming release but will provide additional information once available.
  • Important Notice: Custom Plugins are not supported in 2025.11 or newer versions. If you utilize any custom Plugins do not upgrade beyond 2025.9. Note that custom integrations are different than custom Plugins. Custom integrations that utilize the REST or Legacy API's will continue to function on 2026.1.
  • Enhanced Fishbowl Commerce integration with channel-specific status mapping
  • Run Payments ACH-only integration option added
  • Quality and reliability improvements across multiple modules

New Features - 26.1

  • Fishbowl Commerce channel-specific status mapping. A custom scheduled script is now available that allows operations managers to override the status import behavior for specific e-commerce channels. This enables different status mappings depending on the channel, preventing the need for additional processing of orders. For example, if more than one channels orders are in shipped status in Fishbowl Commerce and is mapped to come in as issued to Fishbowl Advanced, the script can take one of those channels orders an fulfill them. The script takes two parameters: desired status ID and the channel name and runs via the schedule module to automatically perform the steps necessary for additional order processing. If you want to enable this feature reach out to our Support Department at 800-774-7085 ext 3.
  • Fishbowl Payments ACH-only support. The Fishbowl Payments integration now supports customers who only have an ACH Merchant ID (MID). When the service provider is integrated using only the ACH MID, only ACH payments are processed through Fishbowl Payments and only an ACH option appears on generated payment links.

Fixes - 26.1

General

  • Resolved: Users can now properly revoke access to the MyFishbowl Module through user access rights. Previously, all users could view the MyFishbowl Module regardless of access rights settings.
  • Resolved: The Part Activity Report tooltip for the Group By option now correctly describes the grouping functionality rather than showing the same tooltip as the Order By option.

Sales

  • Resolved: We have removed the Module Option for "Fulfill Flat Rate discounts with preceding line items on ship" from the Sales Order Module Options. This option will be included in a future release pending some additional development changes.

Purchasing and Receiving

  • Resolved: International customers using currencies with commas as decimal separators and vendor part number associations can now be added to Purchase Orders when multi-currency is enabled. Previously, these parts could not be added to a Purchase Order and the cost could not be changed in the vendor's home currency.
  • Resolved: Purchase Order CSV imports now enforce the same cost restrictions as the Fishbowl Client. Credit return type line items with positive costs are imported as negative costs, and purchase type line items with negative costs are imported as positive costs, preventing incorrect accounting exports.

Materials

  • Resolved: The "All Locations" option in the Part Module's MRP feature no longer assigns reorder points to inactive location groups. Inactive location groups are now excluded from MRP calculations.

Calendar

  • Resolved: The Calendar module in international databases now works correctly in all view modes (1 Day, 5 Day, and 7 Day views). Previously, orders would not display in 1 Day and 5 Day views, and selecting 7 Day view would cause an error that prevented other modules from loading requiring a restart of the Fishbowl Client to fix.

Advanced Search

  • Resolved: The Advanced Search popup window now properly displays cancel and search buttons at the bottom without requiring window resizing, specifically when many custom fields are present. The dialog now allows scrolling to accommodate a large numbers of custom fields in Part, Product, Customer, and Vendor modules.

Scheduled Tasks

  • Resolved: Scheduled tasks no longer remain stuck in queue requiring a server restart to run. Thread management issues related to the schedule module have been addressed, and timeouts have been added to Run Payments API requests to prevent tasks from hanging indefinitely.

Plugins

  • The Ebay plugin has been update to be compatible with Java 21 and is not fully functional