Integration

Business Central assumes the order already exists. We create it.

Dynamics 365 Business Central runs finance, inventory and fulfilment once a sales order exists. LevelOps PDF to Order handles what comes before: emailed PDF and Excel purchase orders become validated Shopify draft orders, approved by a person, then carried into BC by the Shopify Connector you already use.

Shopify and Business Central inside the Microsoft stack

Dynamics 365 Business Central is the mid market ERP for companies that already live in Microsoft. Finance, inventory, warehousing and fulfilment sit in BC, dimensions carry the analytics, and the rest of the estate is right there: Outlook, Teams, Excel, Power BI, Power Automate and Dataverse. The pull of that stack is real, and it shapes how every problem gets solved.

On the commerce side, Business Central ships a first party Shopify Connector. It syncs customers, items and orders, and imports Shopify orders as BC sales orders. So the standard architecture is settled: Shopify is where the order is created, BC is where it is fulfilled and invoiced, and the connector moves it across.

Which leaves one question nobody in that architecture answers. What creates the order when a wholesale buyer emails a PDF? Today the answer is a person, working through an attachment in Outlook and typing it into Shopify or straight into BC. LevelOps PDF to Order replaces that keyboard step with AI extraction, catalogue matching and a human approval, and then hands the order to the connector you already trust.

The size of the intake gap
5.0
Rating on the Shopify App Store
5 to 10 min
Manual entry per order today, line by line
5 to 15 hrs
Back every week, per order desk team
$250
Typical cost to unwind one wrong order

The intake problem for Business Central teams

These are the complaints specific to a BC shop, not generic data entry pain.

Outlook is the real order intake system

The PO arrives in a shared mailbox. Somebody triages it, opens the attachment, and retypes it. That workflow is invisible to BC, so it never appears in any process map or improvement plan.

Item References only help when maintained

BC lets you record customer item numbers, and it is a good feature. Keeping it current across hundreds of accounts is a data chore nobody owns, so reps translate the buyer's codes from memory instead.

Dimensions get coded by whoever types fastest

Your analytics depend on dimensions being right. When an order is keyed under pressure, the dimension defaults get accepted without thought, and your Power BI reports inherit the guess.

Power Automate handles the routing, not the reading

Teams build flows that move attachments around and create tasks. The flow still ends at a human who has to decide which item a line refers to, because a purchase order is not a structured form.

  • Every account has a different layout
  • Layouts change without warning
  • Scans and photos defeat form recognition

Corrections cost more after posting

A mistyped quantity that reaches a posted shipment or invoice becomes a credit memo, a return order and a reconciliation. Catching it at intake is an order of magnitude cheaper.

Adding intake to the ERP backlog takes a release

Extending BC means AL development, a sandbox, testing and a deployment window. Meanwhile the orders keep arriving, and the interim solution is the same two people and the same inbox.

How PDF to Order fits in the flow, before Business Central

Nothing changes on the BC side. The order simply arrives in Shopify already correct, which is the one thing the Shopify Connector cannot do for you.

  1. 01

    The purchase order arrives in email

    Forward it to your dedicated LevelOps address from Outlook, set a mailbox rule, or upload the file from the Shopify admin.

    • PDF, including scans
    • Excel and CSV exports
    • Email body text
    • Word documents
  2. 02

    AI extracts and matches every line

    Items, quantities, units, requested dates and the PO number are read off the document, then each line is matched to your Shopify catalogue, which the Shopify Connector keeps aligned with your BC item master.

    • Customer identified from the sending domain
    • B2B price list applied per account
    • Low confidence lines flagged, never guessed
  3. 03

    A person approves the draft order

    The result is a standard Shopify draft order with the source document attached. Your rep checks the flags, corrects anything wrong, and approves. Nothing exists until then.

    • Corrections improve future matching
    • Original document retained for audit
    • Exceptions routed to a named owner
  4. 04

    The Shopify Connector creates the BC sales order

    Once approved it is an ordinary Shopify order, so the first party connector imports it as a sales order with your existing customer and item mapping, and BC takes over from there.

    • No AL extension to install
    • No new permission sets
    • Warehouse, posting and invoicing unchanged

This is the honest shape of the integration today. LevelOps writes to Shopify natively, and order output for Business Central is in progress rather than released. If BC has to be the destination on day one with no Shopify step, wait for it.

What data lands where

The field level division of labour between the document, Shopify and Business Central.

Read from the document

Extraction happens before anything is created.

  • Buyer company, contact and email domain
  • Customer PO number
  • Line items, quantities and units of measure
  • Requested shipment date
  • Ship to address and delivery instructions
  • Notes, terms and pricing claims

Held for approval in Shopify

A normal draft order built from your Shopify data, not from the PDF.

  • Matched variants from the connector synced catalogue
  • Company and location for B2B accounts
  • Price from the account's Shopify price list
  • PO number on the order
  • Source file attached to the draft
  • Flagged lines with a stated reason

Received by Business Central

Whatever the Shopify Connector already maps. These orders are not a special case.

  • Sales order against the mapped BC customer
  • Lines resolved to BC item numbers and variants
  • External Document No. from the Shopify PO number
  • Dimensions from your default dimension setup
  • Location, shipment and posting handled in BC

Never touched

The boundary is part of the design.

  • No writes to the BC item or customer master
  • No G/L, VAT or posting group changes
  • No AL extension and no new permission set
  • No parallel order table to reconcile

Matching against a BC maintained item master

In a Business Central shop, BC is the item master and the Shopify Connector publishes a subset of it to Shopify with prices, inventory and variants. PDF to Order matches against that Shopify catalogue on purpose, so every matched line points at something the connector can carry back into a BC sales order without a manual fix.

The practical consequence is worth stating plainly. If your buyers order items that exist in BC but were never synced to Shopify, those lines are flagged for a person instead of matched. That is correct behaviour, and it usually reveals a sync scope decision made years ago that nobody has revisited. Widening the item sync, or agreeing those items are genuinely off catalogue, is short work.

Customer item numbers are where BC users feel this most. Item References are the right long term hygiene, but they only help for codes somebody has already recorded. Matching handles the buyer's own part numbers, abbreviations and free text descriptions against your catalogue with a confidence score, so a code nobody has ever seen still resolves on the first order, and anything genuinely ambiguous is flagged rather than defaulted. Your team's corrections feed back into the matching, so accuracy climbs on your data rather than on someone else's benchmark.

What the implementation path looks like

The app stands on its own. Business Central is also one of the platforms our implementation team delivers, so the deeper work is available from the same partner.

  1. 01

    Audit the intake, not the ERP

    We sample the purchase orders your team processed last month, group them by account and format, and estimate real coverage. You get a number based on your documents, not a case study.

  2. 02

    Check the Shopify Connector scope

    We confirm which items, customers and prices are in sync between BC and Shopify, and where the connector's scope leaves gaps that would show up as flagged lines.

  3. 03

    Run live on your noisiest accounts

    Start with the accounts that send the messiest documents. Every draft is reviewed by your team, corrections train the matching, and you measure against your own baseline.

  4. 04

    Extend the flow with the implementation team

    If the connector mapping, dimensions or warehouse setup need work, that is a Business Central implementation engagement. See the ERP and MRP implementation page for how those are scoped and run.

Business Central is one of the five platforms our implementation team delivers on, with fixed fee scope and defined milestones. Detail at /en/erp-implementation.

How the options compare

Everything here is about the document that arrives before a sales order exists. The Shopify Connector is not a competitor, it is the step after.

Manual entry in BCPower Automate and AI BuilderEDI programmeLevelOps PDF to Order
Reads any PO layout without configurationA person doesPer form trainingPer partner mappingYes
Matches loose descriptions to your itemsFrom memoryRarelyMapped up frontYes
Applies the account's contracted priceIf the rep remembersNoYesYes
Human approval before the order existsYesDepends on the flowUsually automaticYes
Handles a layout change next monthA person adaptsRetrain the modelChange requestNo template to break
Needs BC developmentNoOften, plus Dataverse workUsuallyNo
Time to first live orderImmediate, foreverWeeks of buildMonths per partnerDays
Where the order is createdShopify or BC by handWherever the flow postsStraight into BCShopify draft, then the connector

Merchants who fixed intake first

Rated 5.0 on the Shopify App Store. Same pattern, different stacks.

Up to 60 hrs
Back per month on B2B entry
Before LevelOps, B2B orders were entered manually or with Excel macros. Manual processing made the workload very unpredictable, especially on days with large orders that took enormous amounts of time.
The Unscented Company
Beauty and CPG
60% to under 10%
Share of email POs still keyed by hand
After using LevelOps for three months, the percentage of email PDF orders requiring manual entry has dropped to under 10%, down from 60% prior to adopting the tool.
Scrub Authority
Uniforms and medical apparel
No SKU, still matched
Vague lines resolved correctly
Draft orders get entered by magic. Even when the PO contains a vague description and no SKU, this app can still match it. The AI is that good.
Modular Robotics
Robotics and education
Any channel
EDI, PDF, Excel or email
Such a timesaver and super easy to implement. We process purchase orders via EDI, PDF, Excel or email and the entire process has been seamless.
B2B merchant
Shopify App Store review

Business Central questions, answered honestly

Is there a native Business Central connector from LevelOps?

Not today. Order output for Business Central is in progress, not released, and we would rather you plan around what exists. What ships now is native Shopify draft order creation. Your BC sales order is then created by the Shopify Connector for Business Central, which is a first party Microsoft feature, or by whatever middleware you already run.

How does the Microsoft Shopify Connector fit into this?

It does the heavy lifting on the ERP side. Business Central ships a first party Shopify Connector that syncs customers, items and orders, so once a draft order is approved in Shopify it becomes an ordinary Shopify order and the connector imports it as a BC sales order. LevelOps only fills the step before that, which is turning a document into a correct Shopify order in the first place.

What about Item References for customer item numbers?

BC Item References are genuinely useful and worth maintaining, but PDF to Order does not depend on them. Matching resolves the buyer's own part numbers and loose descriptions against your Shopify catalogue directly, which means a new customer code works on the first order rather than after somebody adds a reference record.

We already use Power Automate and AI Builder. Why add another tool?

Power Automate is excellent at routing and orchestration, and AI Builder can read a consistent form. Purchase orders are the opposite of a consistent form: every account has a different layout, and layouts change without warning. The hard part is not the flow, it is matching a loose line to the right item and price with a confidence score, and refusing to guess. That is the part we built.

Does the customer PO number reach the BC sales order?

Yes. The PO number is extracted from the document and written to the Shopify order, and the Shopify Connector maps that into the External Document No. field on the BC sales order, which is where your team expects to find it. The source file stays attached to the Shopify draft for audit.

How do dimensions get set on these orders?

Exactly as they do for your other Shopify orders. Dimensions are resolved in Business Central from the customer, item and location by your existing setup and default dimension rules. If a dimension depends on something written on the purchase order, tell us during the audit and we confirm the field is captured before you commit.

Do you write items, customers or postings into Business Central?

No. The item master, customer master, posting groups and all financial postings stay in BC and we never touch them. LevelOps writes to Shopify only, which means there is nothing to certify, no AL extension to install and no BC permission set to change.

We run several BC companies. Does that work?

It works if your Shopify to BC mapping already routes orders to the right company, typically one Shopify store or sales channel per BC company. Intake behaves the same in all of them, because the routing decision happens after the Shopify order exists rather than during extraction.

We are still on Dynamics NAV on premise. Can we use this?

If Shopify is part of your order flow and something already carries Shopify orders into NAV, yes, because we only write to Shopify. If nothing bridges Shopify and NAV today, that bridge is the project, and it belongs in an implementation engagement rather than an app subscription.

What is the fastest way to see whether this works on our orders?

Send us three real purchase orders from your hardest accounts. We run them live and show the extraction, the matched lines and the flagged exceptions before you commit. Every store also gets your first 5 orders free, with no expiry.

See it run on your own purchase orders

Bring three real POs from the accounts that give your order desk the most trouble. We run them live, show the draft orders and the flagged lines, and tell you honestly how much of your volume this covers today.

your first 5 orders free, free allowance of 5 orders, bilingual support in English and French.