Let's get this audit started
Thank you for registering!
We've received your request for an audit and will review it shortly. Our team will get in touch with you soon to discuss the next steps.

If you have any questions in the meantime, feel free to reach out.

Looking forward to connecting with you!
Oops! Something went wrong while submitting the form.

PDF to Order · Documentation & Setup

Get up and running in minutes

Your B2B customers send purchase orders by email, PDF, Excel, or CSV. This guide shows you how to connect LevelOps, process your first order, and run fully automated — no coding required.

PDFExcel / CSVEmail bodyNo templatesShopify B2B pricingDraft orders

Video walkthrough

Watch: Full Setup in 5 Minutes

From install to your first automated draft order — no code, no templates.

PDF to Order setup walkthrough

Under the hood

How PDF to Order Works

No templates, no field mapping. Forward a PO email, get a Shopify draft order in under 5 minutes.

01

Receive

Customer sends a PO by email — PDF, Excel, CSV, or email body.

02

Forward

You forward to your LevelOps address. Auto-forwarding handles it every time after setup.

03

Extract

AI reads the document: SKUs, quantities, customer, shipping address, PO number.

04

Match

Products matched to your Shopify catalog. Customer identified. Pricing always from Shopify.

05

Draft Order

Draft order in Shopify in 1–5 min. Email alert with direct link.

📄

PDF

Any layout, any PO format

📩

Email body

Order details in the email text

📊

Excel / CSV

Spreadsheet exports, any column structure

No templates

Works with whatever your customers send

See matching logic ↓ for how products, customers and addresses are resolved.

Order Tags & Email Alerts

LevelOps-Order-Successfully-Created

All products matched — draft order ready to review and send.

LevelOps-Some-Items-Not-Found

Draft order created. Flagging email lists unmatched line items for manual review.

LevelOps-Customer-Not-Found

Draft order created but sender email not matched in Shopify. Link manually or use customer override.

Step-by-step guide

Set Up PDF to Order

No coding required. Under 5 minutes from install to your first automated draft order.

1

Install from the Shopify App Store

Search “LevelOps PDF to Order” in the Shopify App Store, click Install, and confirm permissions. Embedded directly in your Shopify admin — no external logins.

Note: First 5 successful draft orders are free. No credit card required at install.
2

Find your dedicated forwarding address

Go to Shopify Admin → Apps → LevelOps PDF to Order. Your unique forwarding address is on the welcome screen with a Copy button.

your-store-name@levelops.co
Don’t see your address yet? It takes a few minutes to generate while the app imports 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. No templates, no field mapping.

One order per email. Each forwarded email must contain exactly one PO. Multiple PDFs per email not yet supported.
4

Review your draft order in Shopify

Within 1–5 minutes the draft order appears in Shopify Admin → Orders → Drafts. You’ll also get a confirmation email with a direct link. Review products, quantities, customer, and address before sending.

Pricing always comes from Shopify — never from the PDF. Includes Shopify Plus B2B price lists.
5

Set up auto-forwarding (recommended)

Create a filter rule so all inbound PO emails route automatically to your LevelOps address — fully hands-free after setup.

Gmail

Settings → All settings → Filters → Create filter → Forward to LevelOps

Outlook

Settings → Mail → Rules → Create rule → Forward to LevelOps

Gorgias

Create forwarding rule targeting inbound order emails → LevelOps address

Matching logic

How Matching Works

LevelOps resolves products, customers, and addresses automatically using a layered AI approach. No manual mapping required.

1 — SKU & Product Matching

Step 1 — SKU lookup

Exact match first

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 found → product added immediately. No SKU or no match → proceeds to Step 2.

Step 2 — Semantic AI fallback

Meaning, not just text

AI runs a semantic search against your full Shopify catalog using the product description. It understands meaning — not exact text.

“Navy scrub top size M” → matches “Cherokee Workwear Scrub Top, Navy, Medium” automatically. Searches: title, description, variant attributes.

Above thresholdProduct added to draft order automatically.
Below thresholdItem flagged. Draft order still created with matched items. Unmatched items listed in flagging email.
Pricing always from Shopify — never from the PDF. Includes Shopify Plus B2B price lists and customer-specific catalogs. Log a ticket if the same product keeps failing — we can add a custom mapping rule.

2 — Customer & Address Matching

Customer identification

Matched by email, not name

The sender’s email is looked up in your Shopify customer database. Name alone is never used for matching.

Found → LevelOps resolves the Shopify B2B company via Shopify’s native company/customer hierarchy. Not found → draft order tagged LevelOps-Customer-Not-Found.

Shipping address

Shopify location first, PDF fallback

LevelOps checks if the PDF shipping address matches a known Shopify company location. Match → that location is used. No match → address scraped from the document.

Decorator, embroiderer, or end-user addresses not in Shopify are scraped automatically — expected behaviour, not an error.

PO numberPulled from document header or reference fields
QuantitiesPer line item; flagged if format is ambiguous
Payment termsExtracted if present, applied to draft order
Shipping addressShopify company location first → PDF-scraped fallback
PricingAlways from Shopify catalog. Never from PDF. Includes B2B price lists.

Override customer lookup manually

If 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.com

LevelOps uses that email to look up the customer instead of the sender address.

Knowledge base

Articles & Guides

Detailed how-tos for every part of the PDF to Order workflow.

Getting started

Troubleshooting

Still need help?

Support team responds within 24 business hours — same day for blockers.

Mon–Fri, 9 AM–5 PM ET  ·  support@levelops.co  ·  +1 (888) 339-8801