Close this search box.

What QuickBooks Enterprise CAN and CANNOT do with Inventory

UPDATED 12/02/2023 by Hector Garcia CPA

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 could do with Inventory (as of version 2024, 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
  • 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 as an estimated amount per assembled unit
  • 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 suing the Alternate Vendors feature (although the feature is kind of useless)
  • 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
  • Bill/PO Approval Workflow
  • Track Item Receipts separately to Bills with Enhanced Inventory Receiving.
  • Track expiration dates with individual lot numbers
  • Item Categories (Group items by categories, no need to use Item:subitem any more) – New for 2023!
  • Sales Order Prepayments – New for 2024!

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

  1. It cannot build assemblies straight from a sales order and/or report on just assembly components or subassemblies are required solely based open sales orders
  2. 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
  3. 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 not interact with any functions inside QB, they are simply queryable information on the screen.
  4. It cannot track both Serial Number AND Lot Numbers
  5. 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.
  6. 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
  7. It cannot print serial number labels or serial number barcode labels
  8. It cannot generate and assign random serial numbers
  9. It cannot track warranty dates based on serial number
  10. It cannot scan QRcodes with multiple lines of info
  11. It cannot produce Inventory Forecasting Reports
  12. It cannot provide Proactive notifications of Inventory Levels
  13. It cannot use the USB barcode scanning function for inventory adjustments.  (Although you could use the android/scanner option to perform cycle counts)
  14. It cannot use the USB  barcode scanning function for building an inventory assembly
  15. It cannot use the USB barcode scanner to create new items into the database based on the “information contained inside the barcode”
  16. It cannot use the USB barcode scanner to convert Sales Orders into Invoice when they are ready to be shipped
  17. It cannot use the USB barcode scanner to print transactions
  18. 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
  19. It cannot use the USB barcode scanner to scan transactions and pull them onto the screen, in other words, transactions do not barcodes
  20. It cannot use a “smart” barcode scanner that can give you information about the product when scanned
  21. 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
  22. 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
  23. It cannot calculate Individual FIFO layers per Lot
  24. It cannot calculate Specific Cost Identification with Serial Numbered products
  25. It cannot produce Inventory Turnover Ratio Reports
  26. 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)
  27. It cannot put a tracker, connection, and/or link between bills and other expenses that need to be allocated via the Landed Costs features.  Which means that when there is a lot transactions containing allocable expenses for landed cost, it makes it hard to figure out which expenses belong to which bills, you might need to keep a record outside of QuickBooks, so you can reference it when it comes to allocating landed costs.
  28. It cannot create a shortage report or required materials report based on bill of materials from open Sales Orders with Inventory Assemblies
  29. 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)
  30. It cannot Track volume discounts on purchases
  31. It cannot handle Inventory Matrixes (style grids) so every item/sku/price in matrix would need to be its own item
  32. 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
  33. It cannot have Product Alternatives to suggest when there is a shortage (substitute product)
  34. It cannot restrict an user to sell product at specific price, price range, or above cost
  35. It cannot create a non-Sellable site location (like in-transit locations) so all locations are eligible to sell from
  36. 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
  37. It cannot account for scrap during manufacturing process (would require a manual adjustment)
  38. It cannot create Assemblies from Sales orders
  39. It cannot produce a warning/pop-up indicating user is selling item below target margin/profit
  40. It cannot setup a default markup/margin sales price calculation across the board
  41. It cannot do an automatic/dynamic Sales price recalculation based on default margin/markup when bill of materials components cost changes
  42. It cannot manage different statuses in the manufacturing process, there is only one status for assemblies (built or not built)
  43. It cannot do multilevel bill of materials (but it can do nested assemblies – every build will create additional/separate builds for subassemblies)
  44. It cannot track a component cost of less than $.01
  45. It cannot calculate labor or overhead costs based on routing steps or a routing sheet
  46. 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)
  47. It cannot notify or warn you when you are running low on a particular item or getting close to the reorder points
  48. 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.
  49. 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.
  50. 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
  51. 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
  52. 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)
  53. 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
  54. 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
  55. It cannot use the Sales Order Fulfillment workflow to mark a sales order “partially shipped”.  Even though it CAN do “partially packed” but not for shipped, which means that if there is a Sales Orders being shipped/invoiced in different instanced or separate transactions; you need to use the manual Sales Order to Invoice (partial with/backorder) creation process and ignore the transaction in the Sales Order Fulfillment workflow… this is very confusing and renders the Sales Order Fulfillment workflow screen useless for companies that partially ship/invoice from a sales order.
  56. 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.
  57. It cannot report on the raw materials (BOM components) that are required for the future based on assembly items inside Sales Orders or Estimates
  58. 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)
  59. 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”
  60. 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)
  61. 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.
  62. It cannot automatically fill in the correct item cost, 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 – making the Alternate Vendor a little useless.
  63. It cannot bulk update vendor cost on items based on a specific percentage, but you can upload a vendor price list from excel
  64. It cannot be used to schedule, plan, track the status of a manufacturing process (Inventory Assemblies)
  65. 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
  66. 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
  67. It cannot isolate a specific bin location for inventory adjustments, it works with inventory sites but cannot drill down to just the bin.. Which also means you cannot do cycle counts at the bin level, only at the inventory site level.  So if you have an item across multiple bin, you must count all of them at the same time even through they are on separate bins
  68. It cannot print item labels (with or without barcodes) directly from a transaction
  69. 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.
  70. 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
  71. It cannot allocate a partial payment to a particular item inside of an invoice, partial payments apply to all items in the invoice proportionally
  72. It cannot track canceled items or canceled orders.  Orders exist or not exist, but there are no status like “canceled” that could be added to the order to track that
  73. It cannot track pre-payments  to vendors on Purchase Orders.  Have to use a workaround to post the payment to the prepaid asset account, then use an item to zero out the Bill once received from the PO
  74. 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.
  75. 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.
  76. It cannot restrict the user to only selling “older” items based on the lot number or expiration date.  But you can see the expiration dates of each lot when selling.
  77. It cannot import beginning inventory balances that contain multiple inventory sites, bin locations, and/or lot numbers (You need a 3rd party app)
  78. 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”)
  79. 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)
  80. 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.  But there are basic QTY On hand report by Item and Lot Number.
  81. 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. But there are basic QTY On hand report by Item and Lot Number.
  82. It cannot receive an original PO with a single item into multiple lot numbers for that same line item.  In other words, you must go back to the original PO and split the item into multiple lines by QTY based on the different number of lot numbers that you are going to receive for that same specific item, and THEN go receive the PO into an item receipt or bill to enter the lot number to each split line.
  83. 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.
  84. You cannot show a valuation or item quantity report based on a unit of measure other than the Base (default) U/M.  In other words, I cannot see an inventory valuation report converted to the “Selling U/M” or the “Shipping U/M”, etc… It will always display number of units as it relates to the base unit of measure in the reports.
  85. It cannot “choose” between individual price rules and volume discounts (using Advanced Pricing) which means that volume QTY and price rules get combined when both apply, and is not terribly obvious to the user that is happening
  86. It cannot set differentiated price tables for an item based on unit of measure, such as $10 per unit vs. $90 per dozen… However, there is a QTY discount table per item using Advanced Pricing that will allow you to change the price per unit if a minimum amount of base units are sold.
  87. It cannot restrict the quantity of items sold to a specific multiple based on a unit of measure if multiple units of measure are setup.  So if you have items by the EACH and by the DOZEN, all users will be able to sell at either unit of measure, it cannot create restrictions to limit the user to ONLY sell by the dozen.  Same exact issue with purchasing.
  88. It cannot automatically allocate overhead (labor or other expenses) or “capitalize” those costs according to Section 263A of the IRS Tax code, must be done manually on every assembly to get an estimated amount.
  89. It cannot limit the number of items shown in the drop down when adding an item in a purchase order.  In other words, if you have a lot of items (like 10k+) and you do not know the item name or description, you cannot have QuickBooks contextually limit the item list only to only show the items linked to the preferred vendor matching in those limited items, the only solution is to open the “Find & Select” window and filter the search in there.
  90. It cannot move item-level custom fields from a purchase order unto an Item receipt or Bill (even if the PO i linked to it) – basically means that if you want to track custom fields at the item level in an Item Receipt or Bill, you have to enter it in there again even if it already was entered in the original PO.  But conversely if you enter a custom fields from a Sales Order and convert them to a Purchase Order, those do transfer perfectly.
  91. It cannot manually adjust the “Quantity Available” to a specified or desired amount.  Quantity available is a function of Quantity on Hand and quantities in Open Purchase Orders

Specific to the Warehouse Management Phone/Scanner/App on the Android phone:

  • It cannot scan a random item and get a status of the item, current inventory availability, pending orders, price etc…. there is NO function to scan an item without initiating an action from QB Desktop
  • It cannot scan a random item to initiate an inventory count or adjustments. But you can initiate a Cycle count from QB Desktop first, and the item would need to be part of the that cycle count (keep in mind Cycle counts are limited to 100 items at the time)
  • 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 phone/scanner/app
  • It cannot print a packing slip from the phone/scanner/app
  • It cannot initiate the invoice creation from phone/scanner/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 phone/scanner/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 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 when you pick a lot number (with or without an Expiration) that is newer or or older than other available ones
  • It cannot warn you within the phone/scanner/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 “check out” or “check in” inventory being temporarily taken to a job or on a truck to track those separate items
  • 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
  • It cannot use the mobile barcode scanner to add/edit new information into the item (such as adding a missing barcode number to an existing item when receiving it) – you need the USB-based scanner to do scanning into any QuickBooks Enterprise screen
  • It cannot scan an “alternate barcode” or multiple unit of measure barcode, where the barcode represents maybe a multiple of the individual items inside a box.  It does not  support any of this this with the USB barcode scanner as well
  • It cannot give you proactive notifications or alerts on the smartphone to let the user know that an new order has been sent to pick/pack/ship.  The user needs to monitor the app manually for new orders.


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
  • Cin7 Core 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?


Hector Garcia

Hector Garcia

Use our link to get 30% off for a year, valid through 07/31/2022

Leave a Reply

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

Popular Courses

Private QuickBooks Training onsite

Customized Training

Accounting & Bookkeeping Services

Video-Based Virtual QuickBooks Course


30% Off QuickBooks

Use our link to get 30% off for a year, valid through 07/31/2022