{"id":1206,"date":"2026-01-22T05:19:54","date_gmt":"2026-01-22T05:19:54","guid":{"rendered":"https:\/\/spelldot.com\/?p=803"},"modified":"2026-06-30T21:02:14","modified_gmt":"2026-06-30T18:02:14","slug":"filter-woocommerce-orders-by-sku","status":"publish","type":"post","link":"https:\/\/presta.site\/blog\/en\/filter-woocommerce-orders-by-sku\/","title":{"rendered":"How to Filter WooCommerce Orders by Product or SKU (incl. UPC\/EAN\/ISBN\/GTIN)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">&#8220;Which orders have SKU BLU-JKT-M?&#8221; It&#8217;s a simple question. And in the default WooCommerce orders list, you can&#8217;t answer it.<\/p>\n\n\n<!--more-->\n\n\n<p class=\"wp-block-paragraph\">WooCommerce has a built-in product filter. It searches by product name and requires a page reload every time you use it. But it doesn&#8217;t search by SKU. If your warehouse team works with SKUs, or you need to find orders by UPC codes for a recall, the built-in filter won&#8217;t help.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This post shows you how to filter WooCommerce orders by SKU, product name, or identifiers like UPC, EAN, ISBN, and GTIN &#8211; with instant AJAX results instead of page reloads.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What the built-in product filter can&#8217;t do<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce&#8217;s default product search has two limitations:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>No SKU search.<\/strong> The built-in filter queries <code class=\"codecolorer text default\"><span class=\"text\">order_item_name<\/span><\/code> only &#8211; the product title stored in each order. It doesn&#8217;t touch the SKU field. If you search &#8220;BLU-JKT-M&#8221;, you get zero results even if fifty orders contain that product.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Page reload on every search.<\/strong> Each filter submission reloads the entire page. When you&#8217;re checking multiple products or refining a search, those reloads add up.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to add product filters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OrderFusion adds filters through WooCommerce&#8217;s Screen Options panel. Here&#8217;s how to enable product filtering:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Open Screen Options<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go to <strong>WooCommerce &gt; Orders<\/strong>. Click <strong>Screen Options<\/strong> in the top-right corner of the screen. This expands a panel with sections for Columns, Filters, and Settings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/presta.site\/blog\/wp-content\/themes\/twentyfifteen-child\/assets\/orderfusion\/1.png\"><img decoding=\"async\" alt=\"OrderFusion Screen Options panel showing Columns, Filters, and Settings sections\" src=\"https:\/\/presta.site\/blog\/wp-content\/themes\/twentyfifteen-child\/assets\/orderfusion\/1.png\" \/><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Enable the Products filter<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the <strong>Filters<\/strong> section, find the <strong>Products<\/strong> checkbox. It has a light yellow background &#8211; that&#8217;s how OrderFusion groups product-related filters. Check the box and close Screen Options.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Products filter now appears in the filter row above your orders list.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/presta.site\/blog\/wp-content\/themes\/twentyfifteen-child\/assets\/orderfusion\/2.png\"><img decoding=\"async\" alt=\"OrderFusion Filters section with Products checkbox\" src=\"https:\/\/presta.site\/blog\/wp-content\/themes\/twentyfifteen-child\/assets\/orderfusion\/2.png\" \/><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Type your search<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Click into the Products filter field and start typing. Enter a product name, SKU, or any product identifier. The orders list updates automatically as you type &#8211; no need to click a Filter button.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/presta.site\/blog\/wp-content\/themes\/twentyfifteen-child\/assets\/orderfusion\/3.png\"><img decoding=\"async\" alt=\"Products filter with SKU search showing filtered results\" src=\"https:\/\/presta.site\/blog\/wp-content\/themes\/twentyfifteen-child\/assets\/orderfusion\/3.png\" \/><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s it. Enable once, use forever. The filter stays in your filter row until you disable it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What the Products filter searches<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One filter field, multiple search targets. When you type in the Products filter, OrderFusion searches:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product names<\/strong> &#8211; Full or partial matches<\/li>\n<li><strong>SKU codes<\/strong> &#8211; Your internal product codes<\/li>\n<li><strong>Global identifiers<\/strong> &#8211; GTIN, UPC, EAN, ISBN<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce 9.2+ includes a native identifier field in the Inventory tab labeled &#8220;GTIN, UPC, EAN, or ISBN&#8221;. OrderFusion searches this field automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Example:<\/strong> A customer calls about an order. They don&#8217;t have the order number, but they have the UPC from the product packaging: 012345678901. Type that into the Products filter, and you&#8217;ll see every order containing that product.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Combine filters for precision<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Filters combine with AND logic. Every condition must match for an order to appear. A few examples:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Find unfulfilled orders for a specific product:<\/strong><br \/>\nEnable Status filter + Products filter. Set Status to &#8220;Processing&#8221; and type your product name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Find product orders from this month:<\/strong><br \/>\nEnable Date Preset filter + Products filter. Select &#8220;This month&#8221; and type your product name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Find high-value orders containing a product:<\/strong><br \/>\nEnable Order Total filter + Products filter. Set minimum to 500 and type your product name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Need more filters? Click Screen Options and enable whatever you need. OrderFusion has filters for shipping method, payment method, customer location, tracking numbers, and more.<\/p>\n\n\n\t<div class=\"pst-app-cta pst-app-cta--woocommerce\">\r\n\t\t<p class=\"pst-app-cta-label\">WooCommerce Plugin<\/p>\r\n\t\t<p class=\"pst-app-cta-title\">Want to filter orders, add custom columns, and export CSV from your WooCommerce admin? Try <a href=\"https:\/\/presta.site\/en\/wordpress-woocommerce\/42-orderfusion-filters-and-columns-manager-for-woocommerce.html\">OrderFusion<\/a> \u2014 free Lite on WordPress.org, Pro on WooCommerce.com.<\/p>\r\n\t\t<p class=\"pst-app-cta-link\">\r\n\t\t\t<a href=\"https:\/\/wordpress.org\/plugins\/sdc-orderfusion-lite\/\" target=\"_blank\" rel=\"noopener\">Install OrderFusion Lite (free)<\/a>\r\n\t\t\t&nbsp;\u00b7&nbsp;\r\n\t\t\t<a href=\"https:\/\/woocommerce.com\/products\/sdc-orderfusion\/\" target=\"_blank\" rel=\"noopener\">View OrderFusion Pro on WooCommerce.com<\/a>\r\n\t\t<\/p>\r\n\t<\/div>\r\n\t\n\n\n\n<h2 class=\"wp-block-heading\">Save filter combinations as views<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you check orders for the same product regularly &#8211; maybe a bestseller or a problem item &#8211; save the filter as a custom view.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Set up your filters<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enable the Products filter. Type your product name. Add any other filters you want (status, date range, etc.).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Click the + button<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Look for the custom views block above your orders list. Click the <strong>+<\/strong> button to create a new view.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Name it something useful<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enter a name like &#8220;iPhone 14 orders&#8221; or &#8220;Recall: Batch 47&#8221;. Optionally pick a color to make it easy to spot. Check <strong>Pin this view<\/strong> if you want quick access.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Click Save<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your view now appears in the custom views dropdown. Loading it restores your exact filter setup &#8211; columns, filters, values, everything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/presta.site\/blog\/wp-content\/themes\/twentyfifteen-child\/assets\/orderfusion\/4-1.png\"><img decoding=\"async\" alt=\"Pinned custom views with live order counts\" src=\"https:\/\/presta.site\/blog\/wp-content\/themes\/twentyfifteen-child\/assets\/orderfusion\/4-1.png\" \/><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pinned views appear as badges above the orders list with live counts. &#8220;(118) iPhone 14 orders&#8221; tells you 118 orders currently match. Click the badge to load that view instantly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Real scenario: supplier quality issue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Your supplier emails: &#8220;Batch 47 of the Blue Widget had a manufacturing defect. Which customers received it?&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Without product filters, you&#8217;d export all orders to a spreadsheet, filter by product, then cross-reference with batch information. Maybe an hour of work, depending on your order volume.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With OrderFusion:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Type &#8220;Blue Widget&#8221; in the Products filter<\/li>\n<li>Enable Date Range filter, set the dates when Batch 47 shipped<\/li>\n<li>Select Export All to CSV from bulk actions<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Done in a minute. You have your customer list. You can start reaching out.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Performance with large catalogs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OrderFusion&#8217;s product search queries the database directly instead of loading everything into memory. It works whether you have 100 products or 100,000.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Filters apply via AJAX &#8211; the page doesn&#8217;t reload. Type a product name and watch the results narrow in real time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Try it yourself<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The fastest way to understand product filtering is to try it.  and search for any product in the sample orders.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Click Screen Options, enable Products filter, type a name. That&#8217;s all it takes to answer &#8220;which orders have that product?&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For setup instructions and filter reference, see the <a href=\"https:\/\/woocommerce.com\/document\/sdc-orderfusion\/\" rel=\"nofollow noopener\" target=\"_blank\">OrderFusion documentation<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Which orders have SKU BLU-JKT-M?&#8221; It&#8217;s a simple question. And in the default WooCommerce orders list, you can&#8217;t answer it.<\/p>\n","protected":false},"author":1,"featured_media":1402,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[232],"tags":[187,191,197],"class_list":["post-1206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-orderfusion","tag-filters","tag-order-management","tag-orders"],"_links":{"self":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/1206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/comments?post=1206"}],"version-history":[{"count":3,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/1206\/revisions"}],"predecessor-version":[{"id":1299,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/1206\/revisions\/1299"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/media\/1402"}],"wp:attachment":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/media?parent=1206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/categories?post=1206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/tags?post=1206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}