Title: AovUp Quick Order Form for WooCommerce
Author: Woosuite
Published: <strong>November 9, 2026</strong>
Last modified: November 9, 2026

---

Search plugins

![](https://ps.w.org/aovup-quick-order-form-for-woocommerce/assets/banner-772x250.
png?rev=3792639)

![](https://ps.w.org/aovup-quick-order-form-for-woocommerce/assets/icon-256x256.
png?rev=3792639)

# AovUp Quick Order Form for WooCommerce

 By [Woosuite](https://profiles.wordpress.org/themealien/)

[Download](https://downloads.wordpress.org/plugin/aovup-quick-order-form-for-woocommerce.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/aovup-quick-order-form-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/aovup-quick-order-form-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/aovup-quick-order-form-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/aovup-quick-order-form-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/aovup-quick-order-form-for-woocommerce/)

## Description

Trade customers know what they want. Instead of opening ten product pages, they 
type a code, set a quantity and move on. This plugin gives them one page for that:

 * **Search by name or SKU.** Type part of a name or code; the matches show with
   SKU and price. Press Enter to add the first match, or pick one with the arrow
   keys. Variations are listed on their own (“Desk – 160 cm”).
 * **Paste a list.** Copy SKUs and quantities from a spreadsheet or an email (“ABC-
   123, 10” per line) into the paste box. Unknown codes are listed so nothing gets
   lost.
 * **Add all to cart at once.** Each line goes into the cart the same way the product
   page adds it, so stock limits, minimum and maximum quantities, and the customer’s
   own price (wholesale prices included) apply. Lines that can’t be added stay in
   the list with the reason.
 * **Order again.** An “Order again” button next to each past order in My Account,
   and you choose which order statuses count (WooCommerce alone allows completed
   orders only).
 * **Anywhere you want it**: the “Quick order form” block or the `[aovup_quick_order]`
   shortcode, or let the plugin create a Quick order page for you.
 * Works with classic and block themes, the Mini-Cart block and classic mini carts.
   Keyboard and screen-reader friendly.
 * Choose who can use it (everyone or signed-in customers) and which columns show.

#### Pro

[AovUp Quick Order Form Pro](https://aovup.com/plugins/quick-order-form/) adds CSV
upload, saved lists for each buyer (“Add to list” on product pages, “Save cart as
list”, a Saved lists tab in My Account), picking items and quantities from a past
order to order again, a Quick order tab in My Account, and limits by customer role.

## Screenshots

[⌊The quick order form with search results.⌉⌊The quick order form with search results
.⌉[

The quick order form with search results.

[⌊The order list, ready to add to the cart.⌉⌊The order list, ready to add to the
cart.⌉[

The order list, ready to add to the cart.

[⌊"Order again" in My Account > Orders.⌉⌊"Order again" in My Account > Orders.⌉[

“Order again” in My Account > Orders.

## Blocks

This plugin provides 1 block.

 *   Quick order form Let customers find products by name or SKU, paste a list, 
   and add everything to the cart at once.

## Installation

 1. Install and activate the plugin (WooCommerce must be active).
 2. Go to WooCommerce > Settings > Quick order and click “create a Quick order page”,
    or add the “Quick order form” block to any page.

## FAQ

### Does it show wholesale prices?

Yes. The form shows and charges each customer’s own price, as WooCommerce and your
pricing plugins calculate it for them.

### What can be ordered through the form?

Published, purchasable products that are in stock or on backorder: simple products
and individual variations of variable products. Other product types (bundles, composites,
subscriptions, bookings and the like) need their product page, where their options
are chosen, so the form doesn’t offer them; developers can allow more types with
the `aovup_qof_product_types` filter. Variations with an “Any” option need the product
page too.

The product’s catalog visibility can be “Shop and search results”, “Shop only” or“
Search results only” (handy for order-only items you keep out of the shop). Products
set to “Hidden” are never offered.

### Does it respect plugins that hide products from some customers?

The form uses WooCommerce’s own answers: a product that WooCommerce reports as hidden
from the catalogue or not purchasable for the current customer is not offered. Plugins
that hide products only by filtering the shop’s product lists don’t change those
answers; with such a plugin, use the `aovup_qof_product_orderable` filter to keep
its hidden products out of the form too.

### Can guests use it?

Yes, unless you choose “Signed-in customers only”.

### How does the paste box read my list?

One product per line: the SKU, then the quantity, separated by a comma, semicolon,
tab or space. A missing quantity counts as 1, and a header line “SKU” is skipped.
A line whose quantity isn’t a whole number above 0 is not added: it stays in the
box with a message, so you can correct it.

Up to 200 different SKUs are looked up at once, and the order list holds up to 200
lines. Lines past either limit stay in the box with a message saying so: add the
list to the cart, then add the rest in a second step.

### Can someone use the form to load my server?

The search, the SKU lookup and the additions to the cart are public, like the shop
itself, so each IP address can make up to 120 searches, 20 lookups and 20 additions
to the cart a minute (several buyers in one office share an address, and IPv6 addresses
count by their /64 network). Past that, the form says so and asks them to wait a
minute; nothing they typed is lost. With a persistent object cache (Redis or Memcached,
for example) the counts are kept there, exactly, and search answers are reused for
a minute; if the cache stops counting, the limits are off while that lasts and WooCommerce
> Status > Logs (source “aovup-qof”) says so. Without one, search answers aren’t
kept, so new searches don’t add rows to your database. Signed-in shop managers aren’t
limited. Developers can change the limits with the `aovup_qof_request_limits` filter
and the reuse time with `aovup_qof_search_cache_seconds`.

### My store is behind a proxy, load balancer or CDN. Does that matter?

It can. If the proxy doesn’t pass your visitors’ own addresses on to WordPress, 
every visitor seems to come from the proxy’s address, so they all share one count,
and 20 additions to the cart a minute become a limit for the whole store that can
refuse real orders. When private, shared (CGNAT) or loopback addresses (such as 
10.0.0.5, 100.64.0.1 or 127.0.0.1, also written as IPv6) reach the limits in 3 different
minutes within 24 hours, Tools > Site Health, the Plugins screen and the settings
tab say so, from one such address or several. Ask your host to pass the visitor’s
address on (for example with Apache’s mod_remoteip or nginx’s real_ip module), or
return the visitor’s real address from the `aovup_qof_request_limit_ip` filter.

### Does it send data anywhere?

No. The plugin makes no outside requests.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“AovUp Quick Order Form for WooCommerce” is open source software. The following 
people have contributed to this plugin.

Contributors

 *   [ Woosuite ](https://profiles.wordpress.org/themealien/)

[Translate “AovUp Quick Order Form for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/aovup-quick-order-form-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/aovup-quick-order-form-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/aovup-quick-order-form-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/aovup-quick-order-form-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/aovup-quick-order-form-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * “Add all to cart” says “1 product added to your cart” for one product (the store
   words the count in its own language), and the messages about lines left in the
   box no longer say “1 lines”.
 * A pasted line whose quantity isn’t a whole number above 0 is no longer added 
   with a quantity of 1: it stays in the box, and a message names it.
 * The notice after “Add all to cart” shows its “View cart” and “Checkout” buttons
   side by side in every theme (Twenty Twenty-Five staggered them).
 * When private, shared (CGNAT) or loopback addresses reach the request limits in
   3 different minutes within 24 hours (a proxy that doesn’t pass visitors’ addresses
   on, so every visitor shares one count), Site Health, the Plugins screen and the
   settings tab say so and what to do.
 * A visitor whose session ended while the page was open (on a form for signed-in
   customers) is told to sign in again, instead of a general error, and a page whose
   security token is refused even after a fresh one says to reload it.
 * A persistent object cache that stops counting requests is now written to WooCommerce
   > Status > Logs, instead of switching the limits off silently.
 * The “too many” message for additions to the cart no longer names a button the
   customer may not have clicked.
 * Uninstalling: the data stays while another edition is installed, also from a 
   renamed folder, and every site of a multisite network is cleaned up by its own
   setting.

#### 1.0.1

 * “Add all to cart” is limited too: 20 requests a minute per address, like the 
   SKU lookup.
 * IPv6 addresses count by their /64 network for all limits.
 * With a persistent object cache the limits count exactly; without one, search 
   answers are no longer kept, so new searches don’t write to the database.
 * A product that another plugin hides from the customer (WooCommerce’s visibility
   filter, as B2B plugins use it) is never named in the form’s messages.
 * Clearer messages when a limit is reached or the store doesn’t answer.
 * Uninstall also removes the plugin’s temporary data.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.2**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [b2b](https://wordpress.org/plugins/tags/b2b/)[bulk order](https://wordpress.org/plugins/tags/bulk-order/)
   [order form](https://wordpress.org/plugins/tags/order-form/)[quick order](https://wordpress.org/plugins/tags/quick-order/)
   [wholesale](https://wordpress.org/plugins/tags/wholesale/)
 *  [Advanced View](https://wordpress.org/plugins/aovup-quick-order-form-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/aovup-quick-order-form-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/aovup-quick-order-form-for-woocommerce/reviews/)

## Contributors

 *   [ Woosuite ](https://profiles.wordpress.org/themealien/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/aovup-quick-order-form-for-woocommerce/)