Skip to content

How customer and address matching works

LevelOps identifies customers and resolves shipping addresses automatically from every forwarded purchase order.

The sender’s email address 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 is created and tagged LevelOps-Customer-Not-Found. Link the customer manually in Shopify.

How customer matching affects pricing {#how-customer-matching-affects-pricing}

Section titled “How customer matching affects pricing {#how-customer-matching-affects-pricing}”

B2B catalog and customer-specific pricing apply only once the customer or company is resolved. That happens through native Shopify behavior at draft creation.

A draft tagged LevelOps-Customer-Not-Found shows default prices until you link the customer. After you link them, Shopify applies their catalog.

LevelOps checks if the shipping address in the PDF matches a known Shopify company location.

  • Match: that Shopify location is used.
  • No match: the address is scraped from the document.

Decorator, embroiderer, or end-user addresses not in Shopify are scraped automatically. This is expected behavior, not an error.

Override customer lookup manually {#override-customer-lookup-manually}

Section titled “Override customer lookup manually {#override-customer-lookup-manually}”

If you are forwarding on behalf of a customer, or the sender email does not match Shopify records, add this line anywhere in the forwarded email body:

Shopify Customer: customer@example.com

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

Field Source
Customer Sender email lookup in Shopify
Company Shopify B2B company/customer hierarchy
Shipping address Shopify company location, then PDF fallback
Billing address Extracted from the document
PO number Document header or reference fields
Payment terms Extracted from document if present