From forwarded email to Shopify draft order - every step.
AI extraction, layered matching, and Shopify-native output. No templates, no mapping project, live on real orders within an afternoon.
Receive → forward → extract → match → draft
Every wholesale order runs through the same five stages. Total time: 1-5 minutes from forward to draft in your Shopify admin.
- 01Receive
Your wholesale customer sends a purchase order by email - PDF attachment, Excel/CSV, or plain text in the email body. Any layout, any format.
- 02Forward
You forward the email to your dedicated LevelOps address. Set up auto-forwarding once in Gmail, Outlook, or Gorgias and it stays hands-free.
- 03Extract
AI reads the document: SKUs, item descriptions, quantities, PO number, shipping address, customer info, and payment terms - no templates, no field mapping.
- 04Match
Line items are matched to your Shopify catalog (SKU exact match, semantic fallback). Sender email resolves to a Shopify B2B customer. Address matched to a company location.
- 05Draft order
A Shopify draft order is created in 1-5 minutes with the right customer, pricing (always from Shopify), and shipping address. Email alert lands with a direct link.
What you can send in
Any layout, any PO format - scans, digital exports, forwarded threads with attachments.
Order details written directly in the email text - no attachment needed.
Spreadsheet exports with any column structure - AI figures out the columns.
Word documents (.doc, .docx) with the PO written as text or in a table.
HTML order emails and web-exported POs - tables and inline content parsed the same way.
Plain-text order lists - pasted, exported, or attached. Any structure.
Works with whatever your customers send. No mapping project, no per-customer config.
From App Store install to your first automated draft
No coding, no external dashboards. Under 5 minutes to your first draft order, one filter rule to automate every one after.
- 1
Install from the Shopify App Store
Search 'LevelOps PDF to Order' in the Shopify App Store, click Install, and confirm permissions. The app is embedded in your Shopify admin - no external logins, no separate dashboard.
Note: Your first 5 successful draft orders are free. No credit card required to install or test.
- 2
Find your dedicated forwarding address
Go to Shopify Admin → Apps → LevelOps PDF to Order. Your unique forwarding address is shown on the welcome screen with a Copy button.
your-store-name@levelops.coNote: Don't see it yet? The address takes a few minutes to generate while we import your product catalog. Refresh after 2-3 minutes.
- 3
Forward your first purchase order
Forward any customer PO to your LevelOps address. PDF attachment, Excel/CSV file, or order details in the email body - all work identically. No templates, no field mapping required.
Note: One order per email. Each forwarded email must contain exactly one PO. Multiple PDFs per email are not yet supported.
- 4
Review your draft order in Shopify
Within 1-5 minutes the draft order appears in Shopify Admin → Orders → Drafts. You also get a confirmation email with a direct link. Review products, quantities, customer, and address before sending.
Note: Pricing always comes from Shopify - never from the PDF. Includes Shopify Plus B2B price lists and customer-specific catalogs.
- 5
Set up auto-forwarding (recommended)
Create a filter rule so inbound PO emails route automatically to your LevelOps address. Fully hands-free after setup.
GmailSettings → All settings → Filters and blocked addresses → Create a new filter → Forward to your LevelOps address
OutlookSettings → Mail → Rules → Add new rule → Forward to your LevelOps address
GorgiasCreate a forwarding rule targeting inbound order emails and forward to your LevelOps address
How products, customers, and addresses are resolved
Layered AI: exact identifiers first, semantic search second, PDF fallback last. No manual mapping required.
1 - SKU & product matching
When a line item contains a SKU, item code, or catalog ID, LevelOps searches your Shopify catalog for an exact or near-exact match on that identifier.
High-confidence match → product added immediately. No SKU, or no match → proceeds to Step 2.
AI runs a semantic search against your full Shopify catalog using the product description. It understands meaning, not just exact strings.
"Navy scrub top size M" → matches "Cherokee Workwear Scrub Top, Navy, Medium". Searches title, description, and variant attributes.
Pricing is always from Shopify - never from the PDF. Shopify Plus B2B price lists and customer-specific catalogs are honoured automatically. If the same product keeps failing to match, open a ticket and we'll add a custom mapping rule.
2 - Customer & address matching
The sender's email address is looked up in your Shopify customer database. Name alone is never used - too ambiguous.
Found → Shopify B2B company is resolved via Shopify's native company/customer hierarchy. Not found → draft is tagged LevelOps-Customer-Not-Found for manual linking.
LevelOps checks whether the PDF shipping address matches a known Shopify company location. Match → that saved location is used. No match → the address is scraped from the document.
Decorator, embroiderer, or end-user drop-ship addresses not in Shopify are scraped automatically - expected behaviour, not an error.
3 - Everything extracted
- Line items
- SKU or item code, description, quantity, unit of measure. AI infers columns from any layout.
- PO number
- Pulled from document header, reference field, or subject line - copied to the Shopify draft order.
- Customer identity
- Matched by sender email against your Shopify customer database (never by name alone).
- Shopify B2B company
- Resolved via Shopify's native company/customer hierarchy when the customer is a B2B contact.
- Shipping address
- Shopify company location first, PDF-scraped address as fallback (decorators, drop-ship, end-users).
- Payment terms
- Extracted from the document if present and applied to the draft order.
- Pricing
- Always pulled from your Shopify catalog and price lists. Never from the PDF.
- Quantities
- Per line item. Flagged in the draft when the format is ambiguous or negative.
Manual customer override
Forwarding on behalf of a customer, or the sender email doesn't match Shopify records? Add this line anywhere in the forwarded email body:
Use this customer: customer@example.comLevelOps uses that email to look up the customer instead of the sender address.
You always know what happened
Every draft order is tagged in Shopify so you can filter, and every processed email triggers a confirmation email with a direct link.
LevelOps-Order-Successfully-CreatedAll products matched. Draft order is ready to review and send. Green-light case.
LevelOps-Some-Items-Not-FoundDraft order created, but one or more line items didn't match your Shopify catalog. The email alert lists the unmatched items so you can add or fix them manually.
LevelOps-Customer-Not-FoundDraft order created, but the sender's email isn't in your Shopify customer database. Link the draft to a customer manually, or use the customer override to prevent this on future orders.
Real-world scenarios, handled
Sender is a broker, agency, or rep forwarding on behalf of a customer
Add a manual override line anywhere in the forwarded email body. LevelOps uses that email to look up the customer instead of the sender address.
Use this customer: customer@example.comSame PO forwarded twice
Duplicate detection prevents the same PO number from being processed twice into a second draft order. If a legitimate re-send is needed, delete the earlier draft first.
Multi-store or multiple Shopify accounts
Install the app on each store. Each store gets its own forwarding address and its own product catalog is used for matching.
Product exists in Shopify but keeps missing
Open a support ticket. We can add a custom mapping rule so specific customer wording always resolves to the correct SKU going forward.
Address is a decorator or embroiderer, not the customer
Expected. The PDF-scraped address is used because it isn't in Shopify. Review before sending if you need to swap it back to a saved location.
FAQ
- How long does setup take?
- Most merchants go live the same afternoon. Install, connect an inbox, and forward your first PO.
- What if a PO has 50+ line items?
- Every plan supports up to 50 items per order. Larger orders can be split or handled on request.
- Can I review before it hits Shopify?
- Yes. Orders land as drafts in an approval queue - nothing is created without your sign-off unless you enable auto-approve for trusted buyers.
- What triggers a manual approval?
- Missing SKU match, price mismatch, unknown customer, duplicate detection, or any confidence below your threshold.
“An absolute timesaver! We have been manually entering B2B orders into Shopify for 6 years and I am convinced that I would be 3 years ahead if I found this app sooner. It's liter…”
“This app saves me a tremendous amount of time. We receive many large stocking POs via email and using LevelOps has cut the time it takes me to input these orders in half. Highly…”
“The LevelOps team has saved me time and allows me to continue to move quickly! As a start up brand, this is a game changer. The team created a custom override for me based on ho…”
Your PDFs become Shopify orders.
Install PDF to Order on Shopify. 5 free credits. Live in minutes.
