Turn emailed spreadsheets and POs into Shopify orders
Your wholesale customers send their orders as a spreadsheet, a PDF purchase order, or a WhatsApp message — and someone on your side retypes every line into Shopify. There is no native import for customer orders, and there never has been. Here is what actually works, what each route costs, and which one fits how your customers already order.
Shopify can import products, customers, inventory and gift cards. It cannot import orders. There is no button, and no plan unlocks one.
The routes that do work fall into three shapes, and the right one depends on a question about your customers rather than your catalogue: who is willing to do the typing?
- Your staff uploads the file. Cheapest, from about $8/month. The customer changes nothing. You still open their spreadsheet and reshape it into the importer's format.
- The customer builds their own order. A storefront form where they paste a list of item codes or upload a file. Around $15–45/month. Excellent when they will use it — and useless when they won't.
- Software reads the email for you. Newer, AI-based, from about $100/month, with line limits worth checking. Removes the typing entirely rather than moving it.
Below: what each one actually does, the trap in the free native route that nobody warns you about, and where this stops being solvable off the shelf.
What this costs the people doing it
The clearest description of the problem came from a small brand in June 2026:
Small brand here, we wholesale to 40 stockers/vendors. Most just text or WhatsApp/slack/telegram etc. their reorders ("hey can we get the usual plus 6 of the lavender"). Every morning I retype each one into our current order system by hand. I really don't want to make them log into a wholesale portal — half of them won't use it anyway. Is there any app or trick that turns those texts into a Shopify orders automatically (matching my SKUs + wholesale prices), or is manual the only way?
— stewyapp, 30 June 2026
Note the second sentence, because it is the one that kills the most-recommended solution: half of them won't use it anyway. Wholesale buyers order the way they have always ordered.
The volumes get large. A German wholesaler in 2021 described customers ordering up to 1,000 line items at a time, and pointed out — reasonably — that a normal shop front cannot really present that. A UK sign manufacturer running about a million item codes says many of its orders arrive as emailed PDF purchase orders. A US distributor put a number on the years rather than the minutes: "We have been manually entering B2B orders into shopify for 6 years."
And it is not only slow. An Austrian-facing wholesaler found that hand-keyed orders came out with the wrong VAT treatment on the invoice, because the manual path did not carry the tax status the customer was entitled to. That is the kind of error that is expensive precisely because nobody notices it for months.
The free native route, and the trap in it
The standard advice — from Shopify's own community and from most articles — is to use draft orders. You create the order yourself in the admin, so the customer needs no login and no portal. For a handful of orders a week that is genuinely the right answer, and it costs nothing.
Two things about it are worth knowing before you build a process around it.
Searching by item code in the admin is poor. A wholesaler summed it up while explaining why their customers paste code lists instead: "as we all know Shopify isn't very good at searching by SKU!" If your catalogue is large and your customer's file is a list of codes, you will feel this on every line.
And the customer gets emailed whether you want it or not. This is the part that surprises people. A Shopify staff member confirmed it in January 2021:
When you mark an order as paid it's treated very much as though an order was transacted through your online store. As part of that process, an order confirmation email must be sent and cannot be disabled at this time.
— Olivia, Shopify staff, 26 January 2021
The workaround she offered was to leave the customer's email address off the record entirely — which of course also removes your ability to email them anything on purpose. Merchants have been asking for a simple checkbox ever since. One in 2021: "adding just a checkmark allowing us not to notify customer when an order is created." Another, three years later: "After 3 years, can Shopify just add this option??" The thread runs from January 2021 into 2025 with new people still arriving.
For wholesale this matters more than it sounds. One merchant supplying schools described the result: the customer receives a tax invoice, then later a second one with a different number when payment lands, and "I then have to email and tell them to ignore that invoice. It's very cumbersome and very unprofessional."
Need drafts created without emailing the customer? Describe the draft you need and we build it →
Route 1 — Your staff uploads the file
The lowest-cost real fix. You take the customer's spreadsheet, reshape it into the importer's columns, and it becomes a draft order or an order in your admin. Your customers change nothing about how they order.
Typical pricing runs from about $8/month at the low end to roughly $15/month for admin-side tools that also let you paste a list of item codes, with credit-based options around $35 per 250 imports for occasional bulk work.
What decides whether this works for you is the reshaping. Every customer's spreadsheet has its own column order, its own header names, and its own idea of what an item code is. If you have five wholesale customers who each send a different layout, someone is still doing skilled work every morning — less than retyping, but not nothing.
Check the item-code matching specifically. Some importers match on your item code or barcode; others need internal Shopify identifiers, which your customer's file will never contain. This is the single most common reason an import that looked simple turns into an afternoon. Reviews of these tools contain plenty of both experiences — one merchant called an importer "an absolute gamechanger", another spent "2 hours trying to import" and concluded the supplied template was useless.
Route 2 — The customer builds their own order
A form on your storefront where a logged-in wholesale customer pastes a list of item codes and quantities, or uploads their file, and it fills their cart. Roughly $20–45/month.
Where this works, it works better than anything else, because the person who already knows the order enters it. One merchant reported that after adding a paste-a-list form, about 90% of their wholesale customers used it — and specifically the paste option rather than file upload. Another: "We have customers who place regular POs on our B2B store and now they can instantly build a cart by pasting SKUs into the form."
The condition is that your customers will log in. That is a real question about your relationship with them, not a technical one. The merchant with 40 stockists ordering by text was blunt that half of his would not, and he is not unusual — the buyers who order by WhatsApp do it because it takes them eight seconds.
Worth knowing about Shopify's own B2B features here: there is something called a quick order list, and its name promises more than it delivers. It is a section on a product page showing that one product's variants in a table. It is not a paste-a-code-list form and it does not accept files. Shopify's B2B features are available on the standard plans at no extra fee, so it costs nothing to look — just do not plan around the name.
Half your buyers will not use a portal? Describe how your buyers order and we build the intake →
Route 3 — Software reads the email for you
The newest category, and the only one that removes the typing rather than relocating it. You forward the customer's email; the attachment — PDF, spreadsheet, sometimes a photo — is read automatically and turned into a draft order matched to that customer.
Merchants using it are enthusiastic in a way that is unusual for this category. A distributor after six years of manual entry: a 100-plus line order in under four minutes. Others describe the time "cut in half". One said simply: "I have been waiting for someone to create an app like this for years."
The pricing is a different order of magnitude: free for a handful of orders, then roughly $100–250/month, sometimes charged per order processed. At high wholesale volume that can still be cheap. At ten orders a month it is not.
Check the line limit before you commit. At least one tool in this category caps at 50 lines per order. If your customers send 200-line reorders — and the merchants in these threads routinely do — you will hit that wall on your largest and most valuable orders, which are exactly the ones you bought the tool for.
What Shopify has actually built, and where it stopped
This is worth stating plainly because it explains why the gap has lasted six years and why no plan upgrade closes it.
Shopify does have file upload that turns a list of item codes and quantities into a document. It exists for purchase orders — the ones you send your suppliers — where you can bulk import products from a file. It was also added for inventory transfers in July 2025.
So the exact interface has been built twice. Never for customer orders.
A few other things that are true and rarely written down:
- Automation cannot rescue this. Shopify's built-in automation tool can create a draft order. It has no way to read a file — no spreadsheet, no email attachment, nothing. It can act on your order, but it cannot see it.
- Item codes are not what the system uses. Creating an order through the interface requires internal product identifiers, and there is no item-code field. Anything that imports from a customer's file has to look up every line first. That is why matching quality varies so much between tools, and why it is the thing to test.
- The line limit is documented twice, differently. One Shopify page says a draft order fails above 200 lines; a June 2025 developer note raised the limit to 499. Both are current. We are not going to guess which governs your store — but if you are near either number, test with a real order before you trust it.
Which route is yours
| Your situation | Route |
|---|---|
| A few orders a week, small catalogue | Draft orders, free — but read the email trap above |
| Customers send files, and they will not change | Staff-side import, from ~$8/month |
| Customers will log in and order themselves | Storefront paste-or-upload form, ~$20–45/month |
| Orders arrive as email attachments in volume | Automated email reading, ~$100–250/month, check the line cap |
| Every customer's file looks different | No tool reshapes this for you — someone does it, or it gets built |
| Orders regularly exceed a few hundred lines | Test against the real limit before buying anything |
| Wholesale pricing, tax status or payment terms must be right on every imported line | This is where off-the-shelf runs out |
That last row is the one worth being honest about. Getting the lines in is a solved problem with several good tools at several price points. Getting the lines in with the right wholesale price, the right tax treatment, the right payment terms and the customer's own purchase-order number attached is where merchants in these threads keep stalling — the Austrian VAT problem and the schools' purchase-order process are both that shape, and neither was solved by an importer.
Recognise your store in that last row? Describe your prices and terms and we build them in →
What it is costing you now
Two numbers, both of which you can work out this week.
Time: orders retyped per week × minutes each. The merchants above describe "every morning" and "six years"; one reported going from a long manual slog to under four minutes on a 100-line order. If two people spend an hour a day on this, that is a part-time salary.
Errors: how often does a hand-keyed order go out with the wrong quantity, the wrong price, or the wrong tax? Each one costs a credit note, a phone call, and some trust. Nobody in these threads put a percentage on it, so we will not invent one — but the Austrian VAT case is the reminder that the expensive errors are the quiet ones.
Then weigh those against the routes above. For many stores the honest answer is a $8–20/month tool and an afternoon of setup.
When none of the three fits
Every route above assumes your problem is moving lines into Shopify. For a lot of wholesalers it is, and one of those tools will solve it — buy it and stop reading.
Where it stops fitting is when the order carries rules that are yours. Customer-specific pricing that is not a simple percentage. Tax treatment that depends on where the buyer is registered. Payment terms that decide whether it becomes a draft or an invoice. A purchase-order number that has to land in a specific field because your accounting system reconciles against it. Item codes that are your customer's codes and not yours, so each line needs translating before it can be matched at all.
Those are the cases these threads never resolve, because they are not the same problem for any two merchants — which is exactly why they are described to a person rather than configured in a tool, and then built for your store.
What Shopivibe does with a spreadsheet today
This is the narrow, checkable part, and it is worth separating from everything above because the rest of this page is about other people's tools.
It is on the page you are already on when the file arrives: your own Orders list in Shopify, under "More actions" → "Order files". You give it your customer's spreadsheet, it looks every item code up in your own catalogue, and it shows you what it found before anything is created. One press then makes a single draft order carrying the lines that matched. You never leave Shopify's own pages to do it, and nothing about a half-finished import is kept anywhere.
What the reading actually copes with, because "it reads spreadsheets" is the claim every tool on this page makes:
- Commas, semicolons or tabs. The semicolon matters more than it sounds: Excel on any machine with a comma decimal separator — German, French, Dutch, Nordic — writes CSV that way, and a reader that only knows commas refuses those files entirely.
- Headings in the words your customer used. SKU, Item code, Article, Artikelnummer, Part number, Ref; Qty, Quantity, Units, Pieces, Menge, Anzahl. Around fifty spellings between the two columns — and if yours is not among them, the file is refused with the missing column named, rather than read against a guess.
- A title and a date above the table, a totals line under it, quoted commas inside a description, and the invisible character Excel writes at the front of every CSV it saves.
- The same code listed twice, added together — because Shopify refuses a draft order that names one product on two lines, and that refusal would otherwise arrive after you had approved the order.
1,5read as one and a half, and refused. Not as fifteen. That single character is the difference between half a case and fifteen cases on an order you were just told had matched.
What it will not do is guess. A code that matches nothing does not match. A code that is a prefix of a longer one — AB-1 against your AB-10 — does not match, and Shopify's own product search is a prefix search, so this is the failure that would otherwise happen quietly and often. A code carried by two of your products does not match either; you are told there are two, rather than given one of them. Every one of those lines is shown to you with its row number and left off the order.
Sending the same file twice does not make a second order. "The same file" means the same file — re-saving it on another machine still counts as one order, and a corrected file is correctly treated as a different one.
What it does not do, stated plainly:
- It does not read your email. You save your customer's attachment and upload it; nothing connects to an inbox.
- It does not read
.xlsxyet. Open it and save as CSV. - It does not read PDFs or photographs at all — see below.
- The draft it creates carries the matched products, the quantities, your customer's address and their order number as a note — and nothing else. Wholesale prices, tax treatment, payment terms, your customer's own item codes translated to yours, their PO number landing in a particular field your accounts reconcile against: none of that is applied. The draft is editable, and everything in the section above is still yours to do.
So: Order files removes the retyping and the item-code hunting on its own. The wholesale rules — your prices, your tax treatment, your customer's codes — are added to it as a rule of yours.
The PDF purchase order
Order files reads CSV. A PDF or a photographed order goes the other way: tell us in the app's chat that one has arrived, and a person here takes it on straight away and has the order in your store within 24 hours.
The comparison, straight
If your customers send consistent files containing your SKUs and your pricing is simple, an $8/month importer will do this and you should buy it. That is a real answer and it is cheaper than ours.
Where that stops being the answer is where the intake is messy and different for every customer, and where the order carries rules that are yours — which is the last row of the table above, and the thing these threads never resolve. That is what Shopivibe does: the reading, the matching and the refusal to guess are on the screen today, and the rules that are yours are described in chat and built for your store — a person here takes it on straight away and has it working within 24 hours.
On plans: nothing here asks you to upgrade. The order lands as the same draft order you could create by hand in your admin today, and the B2B features a wholesale intake leans on are on the standard plans at no extra fee, as above.
Shopivibe solves the problem in your store and keeps what it adds maintained, including when Shopify changes something underneath. Shopivibe is free during early access, with 3,500 credits included. Credits beyond the included 3,500 cost $0.06 each.
Orders arriving as files, emails and text messages? Describe how your orders come in →
Checked against Shopify's documentation and the App Store on 16 September 2026.