Title: Grosik B2B Order Import
Author: grosik
Published: <strong>August 30, 2026</strong>
Last modified: August 30, 2026

---

Search plugins

![](https://ps.w.org/grosik-b2b-order-import/assets/banner-772x250.png?rev=3673076)

![](https://ps.w.org/grosik-b2b-order-import/assets/icon-256x256.gif?rev=3673076)

# Grosik B2B Order Import

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

[Download](https://downloads.wordpress.org/plugin/grosik-b2b-order-import.1.1.1.zip)

 * [Details](https://wordpress.org/plugins/grosik-b2b-order-import/#description)
 * [Reviews](https://wordpress.org/plugins/grosik-b2b-order-import/#reviews)
 *  [Installation](https://wordpress.org/plugins/grosik-b2b-order-import/#installation)
 * [Development](https://wordpress.org/plugins/grosik-b2b-order-import/#developers)

 [Support](https://wordpress.org/support/plugin/grosik-b2b-order-import/)

## Description

Grosik B2B Order Import adds a Quick order page to WooCommerce My Account. A signed-
in customer uploads an XLSX, CSV, TSV or TXT file, or pastes a list of product codes
and quantities. The plugin matches every row against the catalogue, applies current
stock and quantity rules, and shows a review screen. Nothing reaches the cart until
the customer confirms it.

It is built for merchants whose customers order dozens of line items at a time from
their own part lists, and who currently retype those lists by hand.

The plugin does not change prices, roles or discounts. It handles order entry only,
so it can run alongside a wholesale pricing plugin.

#### What the free edition does

 * Import XLSX, CSV, TSV and TXT order files
 * Paste a list of codes and quantities instead of uploading a file
 * Match by SKU and by GTIN, UPC, EAN or ISBN
 * Recover product codes that Excel turned into scientific notation
 * Check stock and reduce a requested quantity to what is available, with a plain
   explanation
 * Apply minimum quantity and pack-size rules from WooCommerce
 * Search the catalogue manually when a code cannot be matched
 * Download a blank two-column XLSX order template with Product code (SKU) and Quantity
 * Review every row and confirm before anything is added to the cart

#### Available in Grosik B2B Order Import Pro

Pro is a separate download from grosik.org. The features below are not part of this
package; their implementation is not included in it:

 * Customer-specific product codes shared by everyone in a company
 * Company accounts with several users and a shared dictionary
 * Reusable saved orders
 * Product suggestions and confirmed code learning
 * Downloadable Customer Order Catalogue with product names, pack/minimum rules,
   stock modes and customer prices
 * Per-customer interface language, chosen by each customer independently of the
   store language

### Languages

The interface follows the WordPress locale, exactly like any other plugin. Translations
are provided through WordPress.org language packs: once a translation has been contributed
and approved on translate.wordpress.org, WordPress installs and applies it automatically.
Where no translation exists, the interface is English.

This plugin ships no translation files of its own. Contributions are welcome at 
https://translate.wordpress.org/projects/wp-plugins/grosik-b2b-order-import/

### Input formats

#### CSV, TSV and TXT

 * English, Slovak and Czech product-code and quantity headers are recognised within
   the first 20 records; headerless two-column files use code then quantity.
 * Partial or ambiguous headers fail closed. Quoted multiline fields and UTF-8, 
   Windows-1250 and ISO-8859-2 are supported.
 * Files are limited to 5 MB. For reliability, very large orders may need to be 
   split into several files. Blank-quantity rows in generated templates are ignored.

#### XLSX

The first visible worksheet in workbook order is read. ZipArchive and SimpleXML 
are required. Legacy binary XLS is not supported. XML external entities, excessive
archive entries and oversized expanded content are rejected.

#### Pasted text

Supported examples are `SKU; quantity`, `SKU quantity` and `quantity pcs SKU`. With
two bare numbers, the first is the SKU: `45169 36` means SKU 45169 and quantity 
36.

Quantities must be whole units. Thousands separators are understood, so `1,000`,`
1.000` and `1 000` all mean one thousand. A variable product requires the exact 
variation identifier.

### Order template

Customers can download a blank XLSX order template containing only Product code (
SKU) and Quantity. This blank template is included in both editions.

On upload, rows the customer left blank are ignored and stock, price, access and
pack rules are recalculated from WooCommerce.

### Product access

Catalogue visibility and ordering authorization are separate. A merchant may allow
a published hidden product by exact code while keeping it out of discovery. Draft,
private and trashed products fail closed. Trusted integrations may restrict access
through `grosik_b2b_customer_can_order_product`.

### Security

 * REST requests require a signed-in session, REST nonce and allowed role.
 * Product, quantity, stock, price and pack rules are recalculated on the server;
   review tokens restrict every cart product.
 * Idempotent cart retries are checked before rate limiting.
 * Manual search is POST-only, account-filtered, bounded, rate limited and separately
   tokenized. It never reveals how many products an account may not order.
 * Variable parents are never selectable; only simple products and exact variations
   can enter the cart.
 * Excluded rows need acknowledgement and the full cart snapshot is restored if 
   any insertion fails.
 * Upload, row, ZIP/XML expansion and request rates are bounded.
 * The contents of uploaded or pasted order data are not sent to Freemius or another
   external service, and no code from an uploaded file is executed.

### Privacy

This edition does not create or use company accounts, customer dictionaries, saved
orders or learning data. If a previously installed edition left those plugin-owned
records on the site, the WordPress personal-data exporter, eraser, `delete_user`
cleanup and full-uninstall removal remain available without a licence; company-owned
records belonging to other members are retained. Review state is kept in short-lived
transients bound to the signed-in customer. Optional support logging is off by default,
stays local, and contains only a keyed support reference, item counts and technical
error types.

Diagnostic data never leaves the site on its own. The support report is generated
locally, shown to the administrator in full before it can be copied or downloaded,
and is never transmitted automatically.

### External Services

This plugin includes the Freemius SDK for the optional connection/account flow, 
licensing, pricing and upgrades, and the related software update and distribution
lifecycle. The SDK may communicate with Freemius when an administrator chooses to
connect or opt in, activates or manages a licence, opens a Freemius-powered account,
pricing or upgrade screen, or uses a Freemius-managed update or distribution action.
Where the Free opt-in screen offers Skip, the administrator may skip the connection
and the core Free order-import functionality continues to work.

Before a connection or licence activation, the Freemius permission screen lists 
the information requested. Depending on the action and the permissions selected,
the categories used by this integration can include the WordPress user’s first and
last name and email address; the site homepage URL and title, WordPress and PHP 
versions, and site language; the plugin and Freemius SDK versions and whether the
plugin is active, deactivated or uninstalled; optional names, slugs, versions and
activation status of installed plugins and themes; and Freemius account, installation
and licence identifiers needed for account and licence management. This plugin does
not send the contents of imported order files, pasted order rows, cart contents,
customer product codes or saved orders to Freemius.

Freemius Terms of Service: https://freemius.com/terms/

Freemius Privacy Policy: https://freemius.com/privacy/

### Third-party libraries and source code

This plugin bundles one third-party library. It is distributed unmodified, exactly
as released upstream.

Freemius WordPress SDK, version 2.13.4

 * Bundled at: vendor/freemius/wordpress-sdk/
 * License: GPL-3.0, see vendor/freemius/wordpress-sdk/LICENSE.txt
 * Source repository: https://github.com/Freemius/wordpress-sdk
 * Exact release used: https://github.com/Freemius/wordpress-sdk/releases/tag/2.13.4

This plugin itself stays GPL-2.0-or-later, which permits distribution together with
the GPL-3.0 SDK.

Minified assets inside the bundled SDK

The SDK ships a small number of pre-built, minified assets. They are not produced
by this plugin and are not modified by it. Their human-readable sources and build
instructions live in the upstream projects:

 * vendor/freemius/wordpress-sdk/assets/js/pricing/freemius-pricing.js is the compiled
   bundle of the Freemius pricing page application. Its source and build instructions
   are at https://github.com/Freemius/pricing-page
 * The minified stylesheets under vendor/freemius/wordpress-sdk/assets/css/ are 
   released in that form by the SDK repository above.

No other minified, compiled or obfuscated code is distributed with this plugin. 
Every file this plugin itself ships, under includes/, templates/, assets/css/ and
assets/js/, is human-readable source.

## Screenshots

[[

[[

[[

[[

[[

## Installation

 1. Upload and activate the plugin on a staging WooCommerce store first.
 2. Open WooCommerce > Grosik B2B Order Import.
 3. Choose which user roles may use quick order and configure hidden-product access.
 4. Test an import from My Account > Quick order before using it in production.

## FAQ

### Does this change my prices or customer roles?

No. It reads prices, stock and quantity rules from WooCommerce and never writes 
them. It can run next to a wholesale pricing plugin.

### What happens if a product code is not found?

The row is listed separately as needing attention. The customer can search the catalogue
and pick the right product, or continue without that row after confirming.

### Can a customer order more than the available stock?

No. The requested quantity is reduced to what is in stock and the review explains
the change before the cart is touched.

### Does the customer need to know my SKUs?

The Free blank template shows the required Product code (SKU) and Quantity format.
The downloadable Customer Order Catalogue that lists products available to the signed-
in account is included in Pro.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Grosik B2B Order Import” is open source software. The following people have contributed
to this plugin.

Contributors

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

[Translate “Grosik B2B Order Import” into your language.](https://translate.wordpress.org/projects/wp-plugins/grosik-b2b-order-import)

### Interested in development?

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

## Changelog

#### 1.1.1

 * Improved privacy cleanup reliability for optional historical data and temporary
   storage.
 * Applied the same 2,000-row reliability safeguard in the server and browser.
 * Refined administration styling and compatibility details for the public release.

#### 1.1.0

 * First public release.
 * Import XLSX, CSV, TSV and TXT order files, or paste a list of product codes and
   quantities.
 * Match by SKU and by GTIN, UPC, EAN or ISBN, and recover codes damaged by spreadsheet
   software.
 * Apply current stock, minimum quantity and pack-size rules from WooCommerce.
 * Review every row and confirm before anything reaches the native WooCommerce cart.
 * Blank two-column XLSX order template for every edition.

## Meta

 *  Version **1.1.1**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [b2b](https://wordpress.org/plugins/tags/b2b/)[bulk order](https://wordpress.org/plugins/tags/bulk-order/)
   [quick order](https://wordpress.org/plugins/tags/quick-order/)[wholesale](https://wordpress.org/plugins/tags/wholesale/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/grosik-b2b-order-import/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/grosik-b2b-order-import/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/grosik-b2b-order-import/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/grosik-b2b-order-import/)