Wholesale Desk – help and FAQ
Last updated: 18 October 2026
Answers about the Wholesale Desk app for Shopify. Product overview: Wholesale Desk. Did not find your answer? Write to info@maxitsolutions.tech.
Contents: Getting started · How to use each feature · Limits · Troubleshooting · Plans and billing · Data and uninstalling
Getting started
What do I need before I install?
A Shopify plan with B2B (Basic, Grow, Advanced or Plus; B2B is not available on Starter and Retail plans) and new customer accounts turned on. Shopify Plus is not required. The home page of the app has a checklist that tells you which step is missing and links to the place where you fix it.
How do I turn on new customer accounts?
In Shopify admin open Settings → Customer accounts and choose new customer accounts. Company buyers sign in with them. The checklist item reads “New customer accounts are on”.
Do I need a B2B market?
A B2B market gives companies their catalog and currency. Create one in Settings → Markets. The checklist item reads “A B2B market is set up”. When a store has no B2B market, applications can still be approved; the location is simply not added to a market.
How do I add the blocks to my theme?
Open Online Store → Themes → Customize. Add the Wholesale application block to a page such as your contact page, Wholesale price to the product template, Upload an order to a page for buyers, Request a quote and Large orders to the cart page, and switch on the Wholesale-only store app embed if you want prices and add to cart hidden from visitors without a business account. The app reads the published theme to show on its home page which blocks are in place. It never edits theme files.
What is the fastest way to see it work?
Follow the checklist on the home page: bring in or approve a first company, create a price group and give it to that company, then import a purchase order to turn it into a draft order.
How to use each feature
How do I handle wholesale applications?
Buyers fill in the Wholesale application block. Open Applications to see them. Approve creates the company, its location and the contact in Shopify, gives the contact a role on the location, sets the payment terms you chose, adds the location to the B2B market when one is set, assigns the price group and sends the Shopify welcome email. If a step fails, approving again continues where it stopped and nothing is created twice. Reject asks for a reason and emails it to the applicant. Applications from disposable email domains are refused, and a buyer who already has a wholesale account is told so.
How do I add companies I already have in Shopify?
Open Companies and add the company, or import a CSV file of up to 1,000 companies and 2 MB. A company you no longer sell to can be removed from Wholesale Desk with Remove from Wholesale Desk: it stays in Shopify, its checkout terms are removed and its place on your plan is freed. Adding it back restores its price group, minimum and credit limit.
How do price groups work?
A price group is a set of wholesale prices that you give to companies. At checkout a variant’s own price wins; otherwise the biggest matching rule applies, then the group’s store-wide discount. Rules can match a collection, tag, vendor or product type. A group can use at most 10 different “From quantity” values and a variant at most 10 price breaks, and a bigger quantity cannot cost more per unit than a smaller one. Tier prices are entered in your shop currency and converted at Shopify’s rate for carts in another currency.
When do price changes take effect?
New carts and new draft orders use the new price. Placed orders and existing drafts are not changed. Prices on a draft order are applied once, when it is created; your later edits to the draft are never overwritten. Collection and tag rules are refreshed when you save a group, when products or collections change, and in a nightly check.
How does the minimum order work?
Set a minimum per company. It is checked at checkout against the goods subtotal after wholesale prices, before tax and shipping. The buyer sees a message in their language.
How do I turn a purchase order file into a draft order?
Open Purchase orders, upload an .xlsx or .csv file or paste lines, choose the company, and map the columns (SKU or barcode, quantity, optional PO price and PO number). The mapping is saved for the company. Review unmatched rows, price differences and stock, then create the draft order and send the invoice.
How do I receive purchase orders by email?
On Starter and above, Purchase orders → Inbox shows your order address in the form po-{token}@inbox.maxitsolutions.tech. Give it to buyers, or forward their emails to it, or set up automatic forwarding from your own mailbox. One order is created per email message. The sender is matched to the company that has them as a contact; for a forwarded email the original sender is used. Orders you cannot match go to Unassigned where you choose the company. Only .xlsx and .csv attachments are read, plus lines with a SKU and a quantity in the message text. Pro stores can add more addresses, for example one per brand or market.
How does a buyer upload an order on the storefront?
A signed-in company buyer uses the Upload an order block. The lines are added to the cart and the buyer checks out at company prices. The first row of the file should name the columns “SKU” (or “Barcode”) and “Quantity”. This is available on Starter and above.
How do credit limits work?
On Growth and above, set a credit limit and see open and overdue amounts on the company page and in Receivables. The limit is checked against the total the company will owe, with tax, shipping and duties included, and a limit in your shop currency is converted to the cart’s currency. It blocks the buyer’s own checkout; a draft order you create yourself gets a warning, not a block. Below Growth, saved limits stop applying and come back when you upgrade.
How do I send account statements?
On Growth and above, open the company in Receivables and send a statement by hand, or let the app send it every month to the company’s contacts. The PDF lists open invoices, payments in the period and aging buckets. Your email is the reply-to address.
What is in the Pro plan?
Line sheets and a companies CSV, accounting exports, quote requests, orders over 100 lines and up to 10 order intake addresses. Accounting export (Line sheets → Accounting export) builds the orders of a period as invoice import files for Xero or QuickBooks Online, or a spreadsheet of order lines. Choose tax inclusive or exclusive per export; Xero needs the tax rate named exactly as in Xero. The files do not carry payments or credit notes.
Limits
How many lines can an order have?
Checkout takes at most 100 lines with wholesale prices below the Pro plan. On Pro, a buyer can send a larger order to the store with the Large orders block or the upload block, and you create the draft order. A Shopify draft order takes at most 499 lines; a longer purchase order becomes several drafts “part N of M” with one PO number.
Which files and sizes are accepted?
Purchase orders: .xlsx or .csv, up to 10 MB and 5,000 rows when uploaded in the app; pasted text up to 200,000 characters. Storefront upload: up to 5 MB and 500 lines. Email attachments: .xlsx or .csv up to 10 MB each; other attachments are ignored. Application form files: up to 10 MB each. Price list CSV: up to 10 MB. Company CSV: up to 1,000 rows and 2 MB.
Other limits
An application form has up to 40 fields. The Large orders block takes up to 500 lines and a quote request up to 250. An accounting export covers a period of up to one year and up to 2,000 company orders. Shopify shows apps only the orders of the last 60 days unless the app has been granted access to all orders, which affects how far back receivables can look.
What happens when I pass the company limit of my plan?
On a paid plan, new companies are approved as usual and each one above the quota is billed at your plan’s price per billing cycle. On Free, or when your monthly usage limit is spent, applications are still accepted but approving new ones waits, and a banner offers to raise the limit or upgrade. Companies already configured keep their prices and terms.
Troubleshooting
A buyer sees “Checkout takes up to 100 lines with the wholesale prices of …”
Full text: “Checkout takes up to 100 lines with the wholesale prices of {company}, and this order has {lines}. Split it into smaller orders or contact us to place it.” The order has more than 100 lines and the store is below Pro. The buyer splits the order, or the store upgrades to Pro to take such orders as purchase orders.
A buyer sees “Orders for … start at …”
Full text: “Orders for {company} start at {minimum}. Add {missing} more to check out.” The goods subtotal is below the company minimum. Lower the minimum on the company page or let the buyer add more.
A buyer sees “This order is over the credit available”
Full text: “This order ({total}) is over the credit available to {company} ({available}). Remove items or contact us to place it.” Raise the credit limit on the company page or record the payment in Shopify.
A buyer sees “has overdue invoices”
Full text: “{company} has overdue invoices. Please settle them to place new orders.” Mark the overdue orders as paid in Shopify; the receivables are recalculated.
Upload an order says “Checkout takes up to 100 lines, and this file has …”
The file would put more than 100 lines in the cart and the store is below Pro. The buyer uploads smaller files. The message reads “Split it into smaller files.”, or, when the cart already has lines, “Check out your cart first or upload a smaller file.”
“Name the columns in the first row ‘SKU’ (or ‘Barcode’) and ‘Quantity’, then upload again.”
The storefront upload could not tell which columns hold the product and the quantity. Put the headings in the first row of the file. On the admin side, map the columns yourself in the purchase order wizard.
“Upload up to 500 lines here. Email bigger orders to the store.”
The storefront upload takes at most 500 lines. Buyers send bigger orders by email to the store, or the store uses the Large orders block on Pro.
“This spreadsheet could not be read. Save it as .xlsx or .csv and try again.”
The file is not a readable .xlsx or .csv, for example an old .xls, a password-protected file or a PDF. Save it as .xlsx or .csv.
“A purchase order can have up to 5000 rows.”
Split the file into several files.
“This upload has expired. Choose the file again.”
The file was chosen a while ago and the upload link has timed out. Choose the file again.
“The sender is not a contact of exactly one company in Wholesale Desk. Choose the company.”
The email arrived but the sender matches no company, or more than one. Open Purchase orders → Unassigned and pick the company. Add the sender as a contact of the company in Shopify to match it next time.
“The email had no .xlsx or .csv attachment and no lines with a SKU and a quantity.”
Nothing could be read as an order. Ask the buyer for a spreadsheet or for lines like SKU, quantity. PDFs and photos are not read.
“The attachment … is empty or larger than 10 MB.”
Ask the buyer to send a smaller file.
“The monthly purchase order limit of your plan was reached, so this email was not read. Upgrade to import it.”
The Free plan imports 10 purchase orders a month; the email is kept with this reason. Starter includes 200 a month, then $0.10 per import. When a paid plan shows “Your monthly usage limit is spent”, raise the limit on the subscription page.
Emailing the order address bounces with “This order address does not exist.”
The address is wrong or was replaced. Copy the current address from Purchase orders → Inbox.
“Drafts were already created from this purchase order.” or “Drafts for this purchase order are being created or already exist.”
A purchase order creates its drafts once. Open the drafts from the purchase order page. If the creation is still running, wait a moment.
“Not every draft was created”
A purchase order with many lines creates several drafts and Shopify refused one of them. The message says how many were created. Open the purchase order and try again; the drafts already created are not duplicated.
“Shopify did not answer while matching products. Map the columns again.”
Shopify was unavailable for a moment. Open the purchase order and save the column mapping again.
“This company is already in Wholesale Desk.”
Pick another company; the one you chose is already added.
“This application was already decided or is being approved right now.”
Another staff member approved or rejected it, or an approval is in progress. Reload the page.
“Another company is being added right now. Try again in a moment.”
Two companies were added at the same moment on a plan close to its limit. Try again.
“Wholesale prices are not at checkout” on the Pricing page
“The wholesale discount is missing or switched off in Shopify. Save any price group to create it again.” Another message, “Shopify did not let Wholesale Desk save prices on this product…”, means the app needs its product permission: open Wholesale Desk once to approve it, then save the price again.
“Credit limits and receivables come with the Growth plan and above.”
The feature belongs to a higher plan. Messages of the same kind: statements need Growth; price import and export need Starter; email intake needs Starter; line sheets, accounting export and quotes need Pro. Open My Subscription to change the plan.
“Order upload is for wholesale accounts. Contact the store to open one.”
The buyer is signed in with an account that is not a company contact. The same applies to quotes and sending big orders to the store. Add the person as a contact of a company in Shopify or approve their application.
“Log in with your business account to upload an order.”
The buyer is not signed in. The same message exists for quotes and big orders. Sign in with the business account in the new customer accounts.
“Order upload is not available in this store.” or “Quotes are not available in this store.”
The store’s plan does not include the feature. Upload needs Starter, quotes need Pro. Remove the block or upgrade.
“You already have a wholesale account. Your prices apply when you shop.”
The applicant is already a contact of a company. They sign in with their account and see company prices.
“Use your business email address to apply.”
Disposable email addresses are not accepted on the application form.
“Too many applications were sent. Please try again later.”
The form limits how often it can be submitted from one address. Wait and try again.
“Prices are for wholesale customers.”
Shown by the Wholesale-only store embed to visitors without a business account. Turn the embed off in the theme editor to show prices to everyone.
Company prices do not show on the product page
Add the Wholesale price block to the product template and make sure the buyer is signed in as a company contact. Checkout prices do not depend on the block.
Plans and billing
How much does Wholesale Desk cost?
Free is $0 with 3 companies and 10 purchase order imports a month. Starter is $49 a month with 50 companies and 200 imports, Growth is $99 with 300 companies and 1,000 imports, and Pro is $199 with 1,000 companies and 5,000 imports. Above the quota each company costs $1, $0.40 or $0.25 per billing cycle and each import $0.10, $0.05 or $0.03. Paid plans start with a 14-day free trial and are billed monthly by Shopify. Full comparison on the product page.
Can I change or cancel the plan?
Open My Subscription in the app to change the plan. Deleting the app ends the subscription. After a downgrade below the number of configured companies, existing companies keep their pricing and new approvals are blocked.
Data and uninstalling
What happens when I uninstall?
Theme blocks disappear with the app; the app never changed theme files. Shopify asks us to delete the store data 48 hours after uninstall, and we delete it. Companies, locations, contacts, payment terms and draft orders stay in Shopify. Details are in the privacy policy.
How do I contact support?
Write to info@maxitsolutions.tech. We answer within 1 business day (Monday–Friday, 9–17). Pro plans get priority support.