UPDATED 10/08/2021

QuickBooks Enterprise Platinum/Diamond is a really great accounting and inventory management package, specially for Manufacturers, Wholesalers, and E-commerce type businesses.  And it has a lot of great features, it does fall short  in many areas where people just expect for it to work. My course on QuickBooks Desktop Inventory Management covers a lot of those things:

So here is a list of what it can and cannot do, based on our experience and customer requests!

What QuickBooks Enterprise can do with Inventory (as of version 2021, US version):

  • Track Inventory Parts and Inventory Assemblies (Bill of Materials)
  • Build sub-assemblies (Inventory Assemblies within other Inventory Assemblies)
  • Track Multiple Units of measure
  • Track Backorders with Sales Orders
  • Track Item Receipts separately to Bills with Enhanced Inventory ReceivingBUT WE RARELY RECOMMEND THIS FEATURE FOR A NUMBER OF ISSUES
  • Prevent users from selling inventory not in stock (Negative Inventory)
  • Track Minimum and Maximum desired inventory levels
  • Track up to 12 custom fields on items
  • Assign a default class to an item -> great for reports of sales by class
  • Track Inventory in multiple locations and bin locations within the warehouse
  • Use FIFO Inventory costing method
  • Track Inventory with Serial Numbers or Lot Numbers
  • A fixed labor allocation cost can be added to inventory assemblies
  • Basic USB Compatible Barcode scanning in transactions such as Sales Receipts, Invoices, and Item Receipts
  • Use barcode scanner to scan serial number or lot number (assuming they are in a barcode format) AFTER the item has been selected in the Item Receipt, Bill, Sales Order, Sales Receipt, or Invoice
  • Basic Mobile (Android Phone) Pick/Pack/Ship Solution
  • Track Vendor Part Number, in addition to Manufacturer’s part number
  • Mobile (Android) based cycle counts and Mobile (Android) PO receiving
  • Advanced Pricing of items based on multiple criteria (Customer Type, Date, and Volume Sold)
  • Calculate Sales Price on items based on Purchase Cost (default item cost) with default margin/market per item
  • Track different costs for an item across multiple vendors up to 4 alternative vendors (QuickBooks Enterprise Platinum 2020).  Note: but NOT at multiple currencies
  • Allocated Landed Cost (from other bills that contain shipping, customs, insurance, etc.) into inventory item cost (QuickBooks Enterprise Platinum 2020)

What QuickBooks Enterprise CANNOT do with Inventory (as of version 2021):

  • It cannot track lead time functionally to estimate the arrival date of a product purchase, although the lead time can be stored in the preferred/alternate vendor table
  • It cannot suggest a vendor to choose for ordering an item based on vendor’s price and/or lead time; even though both of those items can be stored using the Alternate Vendors feature, those fields do no interact with any functions inside QB, they are simply queryable information on the screen.
  • It cannot track both Serial Number AND Lot Numbers
  • It cannot handle Serial number controls. While QuickBooks can track serial numbers, it cannot prevent a user from choosing the wrong one or leaving a serial number out of the transaction.
  • It cannot have unlimited Serial Numbers in a single line: there is a limit of 4096 characters in a single item line, so you would be limited to the qty of serialized items you can enter in a transaction line when you multiply QTY X Serial Number character length.  Workaround is to use multiple transaction lines
  • It cannot print serial number labels or serial number barcode labels
  • It cannot generate and assign random serial numbers
  • It cannot track warranty dates based on serial number
  • It cannot scan QRcodes with multiple lines of info
  • It cannot track Expiration Dates (Although, Lot Numbers could be used as workaround)
  • It cannot produce Inventory Forecasting Reports
  • It cannot provide Proactive notifications of Inventory Levels
  • It cannot group Inventory into Categories (other than using sub-items or classes – which is sort of a workaround – custom field is another workaround, would reporting might require 3rd party app)
  • It cannot use the USB barcode scanning function for inventory adjustments.  (Although you could use the android/scanner option to perform cycle counts)
  • It cannot use the USB  barcode scanning function for building an inventory assembly
  • It cannot use the USB barcode scanner to create new items into the database based on the “information contained inside the barcode”
  • It cannot use the USB barcode scanner to convert Sales Orders into Invoice when they are ready to be shipped
  • It cannot use the USB barcode scanner to print transactions
  • It cannot use the USB barcode scanner to recognize multiple units of measure of an existing product (for example if the product has a barcode for the unit, but also an alternative barcode for a box of 12 – which is on the box). This means you need to OPEN the box and scan the individual unit if that is the barcode programmed into QuickBooks.  In other words, you cannot have multiple SKU’s that point to the same item and based on that SKU, it affect the item based on the unit of measure.  The unit of measure needs to be selected each item in the transactions manually
  • It cannot use the USB barcode scanner to scan transactions and pull them onto the screen, in other words, transactions do not barcodes
  • It cannot use a “smart” barcode scanner that can give you information about the product when scanned
  • It cannot directly scan the serial number or lot number (assuming they have a barcode format) into a transaction. In other words, the item needs to be selected or scanned FIRST, then you can add the serial number or lot number with the barcode scanner
  • It cannot do Inventory Adjustments on-the-fly using the wireless warehouse app with barcode.  In other words, it requires a formal Cycle Count to be generated
  • It cannot calculate Individual FIFO layers per Lot
  • It cannot calculate Specific Cost Identification with Serial Numbered products
  • It cannot produce Inventory Turnover Ratio Reports
  • It cannot generate a Report of all Open Sales Orders that contain Inventory Assemblies with their Bill of Materials details (you MUST manually create Inventory Assembly Builds in PENDING status to have something similar)
  • It cannot create a shortage report or required materials report based on bill of materials from open Sales Orders with Inventory Assemblies
  • It cannot have Bill of Materials with some items subject to markup and some not.  (in other words, all bill of materials cost would be subject to a default markup/margin)
  • It cannot Track volume discounts on purchases
  • It cannot handle Inventory Matrixes (style grids) so every item/sku/price in matrix would need to be its own item
  • It cannot handle SKU numbers, there is a field for the item name, for the barcode, and a manufacturer’s part number.  If you need to also track an SKU number as well, you would need to use a custom field; which is searchable but not easily accessed
  • It cannot have Product Alternatives to suggest when there is a shortage (substitute product)
  • It cannot restrict an user to sell product at specific price, price range, or above cost
  • It cannot create a non-Sellable site location (like in-transit locations) so all locations are eligible to sell from
  • It cannot create “Work Orders” or “Manufacture Orders” – a Pending Build would be the closest workaround if you need to have a list of Bill of Materials components tied to a specific item to be assembled.  If you need a list of all the components from multiple BOM’s from one Sales Order, there is just no way to solve this issue without the need of a 3rd party app.  This is a true issue for many manufacturers
  • It cannot account for scrap during manufacturing process (would require a manual adjustment)
  • It cannot create Assemblies from Sales orders
  • It cannot produce a warning/pop-up indicating user is selling item below target margin/profit
  • It cannot setup a default markup/margin sales price calculation across the board
  • It cannot do an automatic/dynamic Sales price recalculation based on default margin/markup when bill of materials components cost changes
  • It cannot manage different statuses in the manufacturing process, there is only one status for assemblies (built or not built)
  • It cannot do multilevel bill of materials (but it can do nested assemblies – every build will create additional/separate builds for subassemblies)
  • It cannot track a component cost of less than $.01
  • It cannot calculate labor or overhead costs based on routing steps or a routing sheet
  • It cannot handle unlimited part numbers/names in a stable way.  QuickBooks Enterprise starts having performance issues after about 25,000 items (but circumstances are different across QB Files, in theory a very low volume -less than 1000 transactions a year- in sales company could have 50k to 100k items, but it’s rare to have a company with so many items with low volume)
  • It cannot notify or warn you when you are running low on a particular item or getting close to the reorder points
  • It cannot handle unit rounding when it comes to automated reordering inventory.  If you have 1.8 units on hand and the reorder point is 5, it will suggest 3.2 instead of 4.
  • It cannot automatically generate a purchase order to replenish inventory based in historical purchases or historical sales.  In other words, no mechanism for inventory forecasting.  HOWEVER, it can create PO’s to fill in inventory up to the Max Reorder point for items under the Min Reorder point.
  • It cannot track purchase orders by Inventory Site Location, so you cannot project which inventory from open PO’s is pending to be received per Inventory Site Location
  • It cannot handle minimum order quantities or required multiples.  There are cases in which a vendor will only sell you at least 48 units and can only sell you 12 units at the time
  • It cannot perform an inventory assembly build if components are out of stock, it creates a pending build and slows down the process (probably for the better)
  • It cannot prevent others from selling specific items in a Lot Number or Serial Number that has been placed into a Sales Order.  In other words, the existence of the Sales Order does not block the use of those items
  • It cannot limit QuickBooks to only allow partially fulfilled sales orders to be created into an Invoice.  In other words QuickBooks will allow the user to convert a Sales Order into an Invoice even if items have not been picked/packed via the mobile warehouse feature
  • It cannot set the Sales Order Fulfillment to prioritize and commit backorder inventory to a specific client type or based on oldest sales order, etc.
  • It cannot report on the raw materials (BOM components) that are required for the future based on assembly items inside Sales Orders or Estimates
  • It cannot tie or connect a sales order or group of sale orders to a specific build assembly (“allocate” inventory from builds to open sales orders)
  • It cannot tie or connect a purchase order to a particular sales order.  In other words, you cannot reserve or ”allocate” the items of a purchase order to a specific sales order, but you could assign the customer:job to the items in the purchase order a a reference of who the product is intended to be for, but cannot reserve it or “put it aside”
  • It cannot automate backorder fulfillment, in other words, if a sales order has not been fulfilled (or only partially fulfilled) because it had items on backorder, QuickBooks will not prompt you to ship the items once they arrive from a purchase order (even if customer:job is assigned to the items in the PO)
  • It cannot selectively print some items from an open PO, for example: limit the printing an SO to only show items that are in stock, or items that are on backorder, or that are inventory parts, or services only, etc.
  • It cannot automatically fill in the correct item price, lead time (estimated Ship date), vendor part number… based on the data that is stored under the “Alternate Vendors” feature.  The data is day available for preview, but purchase orders will not have those data points updated once you choose the appropriate Vendor or Alternate Vendor
  • It cannot bulk update vendor cost on items based on a specific percentage, but you can upload a vendor price list from excel
  • It cannot be used to schedule, plan, track the status of a manufacturing process (Inventory Assemblies)
  • It cannot estimate or allocate for you units of labor or overhead based on historical costs.  Any labor/overhead calculation that needs to be added to an inventory assembly is a manual calculation
  • It cannot set a default selling or purchase site location per item or per customer.  However, it can setup a default selling or purchase BIN location per site, at the item level
  • It cannot isolate a specific bin location for inventory adjustments, it works with inventory sites but cannot drill down to just the bin
  • It cannot print item labels (with or without barcodes) directly from a transaction
  • It cannot track “list price”, it can only track SALES PRICE or COST, so if you have a price table or price rule, it needs to be derived from SALES PRICE or COST.  However, you can enter a list price as a reference in a custom field, but it will NOT interact with your pricing calculators.
  • It cannot track or group items by categories.  Items could be structured with a hierarchical item:subitem list, but if you use a custom field to group items intro categories or any other logical grouping, you cannot create reports summarized by or pivoted with custom fields
  • It cannot track non-inventory and service items to a particulate inventory site location, which means a report of sales by inventory site location can only show inventory items
  • It cannot allocate a partial payment to a particular item inside of an invoice, partial payments apply to all items in the invoice proportionally
  • It cannot track cancelled items or cancelled orders.  Orders exist or not exist, but there are no status like “cancelled” that could be added to the order to track that
  • It cannot track pre-payments from customers to Sales Orders or pre-payments to vendors on Purchase Orders.  Sales Orders and Purchase Orders are non-posting transactions and are 100% disconnected to payments, it’s a manual process to track those; which is an issue for e-commerce sales that are downloaded as sales orders into QuickBooks
  • It cannot produce a report of profit by invoice.  Even though the profitability of an invoice is measurable because the cost of goods sold component of inventory items is tracked at the invoice level, but there is no report for this.
  • It cannot auto-fill lot numbers based on a specified sequence and/or based on the receive date.  All lot numbers need to be manually entered.
  • It cannot import beginning inventory balances that contain multiple inventory sites, bin locations, and/or lot numbers (You need a 3rd party app)
  • It cannot easily export a flat (CSV) file with inventory items names with full path (ParentItem:Subitem) AS OF A SPECIFIC DATE (it can only do “all dates”)
  • It cannot run (stable) with very large company files (such as file sizes of 2gb or more, 20,000+ inventory items, over 1,000,000 transaction lines, and other factors)
  • It cannot generate a report with inventory items on hand by lot number (across multiple lot numbers on the same line) – such as matrix report
  • It cannot generate a report with inventory items on hand by lot number by site/bin location (across site/bins on the same line) – such as matrix report
  • You cannot setup multiple default units of measure based on specific customer preferences or inventory site location.  There is only one default U/M will be the same across all situations with exception as default U/M for Purchases, default U/M for Sales, and default U/M for Shipping (packing slips) that feature does work well.


Specific to the Warehouse management app on an Android phone:

  • It cannot scan a random item and get a status of the item, count, pending orders, etc…. there is NO function to scan an item without initiating an action from QB Desktop
  • It cannot make changes to a SO, add additional items or replacement items, add notes to the SO itself or the invoice, etc..
  • It cannot print shipping labels from the app
  • It cannot print a packing slip from the app
  • It cannot initiate the invoice creation from the app
  • It cannot make changes or undo a PICK or PACK action
  • It cannot skip to PACKED/SHIPPED Status if the initial action is PICK.  The QB user would need to have done an Exp. Pick/Pack originally
  • It cannot create new Sales Orders from the app
  • It cannot transfer or delegate a PICK or RECEIVED action to another warehouse user
  • It cannot stop a warehouse user from logging in as another warehouse user to pick up an action (there is not password protection or login for warehouse users, although there is a password protection login for the app itself)
  • It cannot initiate Cycle counts (it needs be started in QB Desktop)
  • It cannot initiate an item receipt (it needs be started in QB Desktop)
  • It cannot “pick” items to be used in an inventory assembly
  • It cannot choose the lot number while receiving, picking, or packing with the mobile device, all lot number entries must be done inside QuickBooks software (not mobile app)
  • It cannot warn you within the app if you picked a product with a serial number not in stock (you will get an error/warning within QuickBooks though)
  • It cannot initiate an inventory site location (or Bin Location) transfer from the wireless android device. And cannot complete or perform any inventory transfers even when initiated from the desktop.
  • It cannot be used to create standalone transactions from the scanner: such as invoices, sales receipts, purchase orders, etc.  In other words, all transactions MUST originate from QuickBooks, and you cannot convert a sales order to an invoice from the scanner, for example.
  • It cannot produce a price variance report on inventory item that will show you when the item (by transaction) is being sold at less than list price or less than sales price or less than cost or any specific desired margin/markup level from cost


In addition to this list above, I have a master sheet with a feature comparison guide with QuickBooks and Inventory apps that connect with QuickBooks:



In that list I refer to the “mobile app”, “mobile scanner” or “Android app” which is really called: QuickBooks Desktop Warehouse Management app available for Android phones (and Combination Phone/Barcode Scanners such as ZEBRA TC21 and Zebra TV51) has some additional or limited functionality limited to these 3 actions:

  1. Sales Order Fulfillment
  2. Purchase Order Receiving
  3. Cycle Counts

Read this article with conjunction with: “QuickBooks Mobile Warehouse Management app


So when choosing an accounting/inventory Management system, it’s important to know what It can or cannot do.   If you are using QuickBooks Online and want to add some Inventory manufacturing functionality, there are some apps that seem to work well:

  • Katana Manufacturing
  • SOS Inventory
  • LOCATE Inventory
  • DEAR Inventory

If you are using QuickBooks Desktop and want to remain in Desktop, but use an app for Inventory, there are a few popular apps for that as well:

  • Fishbowl Inventory & Manufacturing
  • HandiFox Inventory
  • MiSys
  • Acctivate!
  • Order Time Inventory
  • LOCATE Inventory



Lastly, it is also important to acknowledge, that adding additional apps increases both the software costs and the complexity, and in some cases, devising a workaround inside of QuickBooks to achieve something it wasn’t designed to do, but with a similar end results, is the best temporary choice… And, because of all these potential moving parts, an implementation consultation with clients, trying to decide if QuickBooks is the right solution for their inventory-based business, these are the type of questions I ask:

  • On a scale from 1-10, how confident are you on your current accounting system’s valuation of inventory?
  • What is the margin of error from your current Inventory Valuation report?
  • Do you sell “online”; through a website, or other web-based channels like Amazon or eBay?
  • Do you feel that the right products are being inventoried? (Other words, are there items that are “non-inventory” in nature, but being tracked as inventory or vice-versa?)
  • When was your last complete physical inventory done? How often are they done?
  • Do you perform segmented cycle counts? (In other words, counting a small group of sku’s in a cyclical basis)
  • Do you ever do VALUE adjustments (this is different that usual QUANTITY adjustments)
  • Do you use unique (internally created) part numbers or do you use the vendor/manufacturer’s part number? (or both?)
  • Do you sell custom and/or unique items that a are only sold once in a lifetime (for a specific customer or job)?
  • If you were to classify your inventory in groups, what would those groups be? (for example: Shirts, Pants, Shoes, etc…)
  • Do you have a pre-designated space in the warehouse for every product? (such as cages, racks, or bins, that are uniquely numbered)
  • How many people perform activities that can affect your inventory? (for example, anyone that creates a sales order and/or promises the customer a product, anyone that creates purchase orders, anyone that receives inventory and/or signs off on the fact they were received, anyone that creates vendor bills from inventory purchases, and any allows to move product in/out of the warehouse for any reason…)
  • If there are multiple people, please tell me what would you like the desired responsibilities and access restrictions to each of these people that are affecting the inventory.
  • How often do you take product out of the warehouse for “giveaways”, samples, and/or internal consumption that are not necessary “sold”?
  • Are there multiple warehouse locations? And do you have inventory in consignment (physically under the position of your customer, but they belong to you until they are sold)?
  • Do all your products come with barcodes from the vendor/manufacturer? And/or do you manually add barcodes to the packaging?
  • Do you have product with lot numbers and/or serial numbers? Do you have product that expires?
  • Do you track raw materials separate than finished goods? Do you track Work in Process for partially processed raw materials?
  • Does the cost of the product vary greatly throughout the year? Do you have any thoughts around the value of using “First-In First-Out” inventory, rather than avg. costing?
  • Do your customer pick-up the product from your warehouse? And/or do you ship to them directly? Do you do “drop ships” (where the product goes from the vendor/manufacturer to the end customer)
  • How easy or challenging is to physically find products in the warehouse?
  • How easy or challenging is to physically find products inside your accounting system when purchasing or selling a product?
  • Are there “old”, inactive, or unused products in your accounting system that need to be cleaned up?
  • Do the dates in which the you physically receive the inventory and the date that you receive the bill for that inventory vary? Do you often have discrepancies in the qty and/or price in the bill from the original PO?
  • Do your vendors send you an updates item/price list regularly? If so, do you “import” them?
  • Is the cost of freight, insurance, and/or other direct costs included in the valuation of your inventory?
  • Do you base the sales price of your products as a markup directly from your costs? Or do you have a fixed “list” or retail price for the products?
  • Do you give your sales people “wiggle room” on setting sales prices? Or Do your customers get a specific price/discount based on the “type” of buyer they are or the volume they generate?
  • Do you pay sales commissions? Based on gross sales? Or gross profit?


Share →

Leave a Reply

Your email address will not be published. Required fields are marked *

For More Information

Call us to 1-800-819-6307 or email: info@quickbooks-training.net