Integration

SAP Business One runs the back office, not the inbox

B1 handles finance, inventory, production and the whole sales order to delivery to invoice document flow. What it does not do is read the PDF a customer emailed you. LevelOps PDF to Order turns that document into a validated Shopify draft order, approved by a person, and lets your existing Shopify to B1 integration take it from there.

Shopify and SAP Business One in practice

SAP Business One is the SAP product built for small and mid sized manufacturers and distributors. Finance, inventory across warehouses, production with bills of material, purchasing, and the marketing document flow your team knows by heart: sales order, delivery, A/R invoice, each a real document with its own numbering series and approval path. It runs on HANA or SQL Server, on premise or hosted, and it is usually the most trusted system in the building.

Shopify sits in front of it for commerce, and orders reach B1 through an integration: a partner connector, a B1if scenario, or a custom build on the DI API or the B1 Service Layer. However it is wired, the pattern is the same. The order is created in Shopify, the integration creates the B1 sales order, and B1 owns everything after that.

Order intake is the exception nobody scoped. Purchase orders arrive as PDFs, spreadsheets and scans, and the last mile into B1 is a person and a keyboard. It is the least automated step in an otherwise heavily automated business, and it is the one that touches every order. LevelOps PDF to Order replaces that step with AI extraction, catalogue matching and a human approval, and then leaves your integration to do exactly what it already does.

What the intake step costs today
5 to 10 min
Manual entry per order, line by line
5 to 15 hrs
Back every week, per order desk team
Under 4 min
To process an order of 100+ lines
$250
Typical cost to unwind one wrong order

The intake problem for SAP Business One teams

B1 shops are usually disciplined about data. That discipline is exactly what makes manual intake so expensive.

The document flow starts with a retyped document

Everything downstream of the sales order is controlled, numbered and auditable. The document that created it was an email attachment nobody logged, and the only record of what the customer actually asked for lives in someone's inbox.

Business Partner Catalog Numbers go stale

B1 has a proper feature for customer part numbers, and it works when it is maintained. Across hundreds of business partners it drifts, so reps translate the buyer's codes by hand and the feature quietly stops being trusted.

Price lists, special prices and the PDF disagree

B1 supports price lists, volume discounts and business partner special prices. A buyer prints last quarter's price. Whoever types the order has to know which of the three is correct, under time pressure.

  • Special prices not mirrored to Shopify
  • Discount agreed by email, never recorded
  • Currency stated on the PO that differs from the account

Approval procedures catch policy, not typos

Approval procedures are good at credit limits and discount thresholds. They cannot tell that item A1234 was keyed when the customer wanted A1243, because both are valid items with valid stock.

On premise means every change is a project

Adding intake automation inside B1 means add on development, a test company, an upgrade compatibility check and a maintenance window. The interim solution stays the same two people and the same shared mailbox.

Errors are expensive after the delivery posts

Once a delivery and an A/R invoice are posted, unwinding a wrong line means a return, a credit note, a stock correction and a conversation. Catching it at intake costs a click.

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

Nothing changes inside B1. The order simply arrives in Shopify already read, matched, priced and checked.

  1. 01

    The purchase order arrives as it always does

    Forward the email to your dedicated LevelOps address, or upload the file from the Shopify admin. No portal to sell to your buyer, no template to maintain per sender.

    • PDF, including scans
    • Excel and CSV order sheets
    • Email body text
    • The documents an EDI platform outputs
  2. 02

    AI extracts and matches every line

    Items, quantities, units of measure, requested dates, currency, terms and the customer PO number come off the document, then each line is matched against your Shopify catalogue.

    • Business partner identified from the sending domain
    • Account price list applied, not the PDF price
    • Low confidence lines flagged with a reason
  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 what needs correcting, and approves. Nothing exists before that.

    • Corrections improve future matching
    • Original document retained for audit
    • Nothing is created or shipped automatically
  4. 04

    Your integration creates the B1 sales order

    Once approved it is an ordinary Shopify order, so your partner connector, B1if scenario or Service Layer integration creates the sales order on the mapping you already trust. The document flow continues in B1.

    • No add on to install in B1
    • No new firewall rule or inbound access
    • Delivery, invoicing and numbering unchanged

This is the honest shape of the integration. LevelOps writes to Shopify natively, and there is no native SAP Business One connector. If you need direct B1 output today, we are not the right fit and we would rather tell you now.

What data lands where

The field level boundary between the document, Shopify and Business One.

Read from the document

Extraction happens before anything is created, so a bad document never becomes a posted delivery.

  • Buyer company, contact and email domain
  • Customer PO number
  • Line items, quantities and units of measure
  • Requested delivery date
  • Currency and payment terms as stated
  • Ship to address, notes and special instructions

Held for approval in Shopify

A validated draft order built from your Shopify data rather than the PDF.

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

Received by Business One

Whatever your integration already maps. These orders are not a special case.

  • Sales order against the right business partner
  • Lines resolved to B1 item codes
  • Customer reference and required date per your mapping
  • Warehouse, series and currency per your rules
  • Delivery, A/R invoice and journal entries in B1

Never touched

The limits are part of the design.

  • No writes to the B1 item or business partner master
  • No deliveries, invoices or journal entries
  • No changes to approval procedures or authorisations
  • No inbound access to your B1 server

Matching against a B1 maintained item master

In a Business One shop, B1 is the item master and Shopify carries the sellable catalogue, with prices and stock kept in step by your integration. PDF to Order matches against the Shopify catalogue on purpose, because a matched line then points at something your integration can carry back into a B1 sales order without a manual fix.

The consequence is worth stating before you buy. If your buyers order items that exist in B1 but are not published to Shopify, those lines are flagged for a person rather than matched. That is the safe behaviour, and it usually surfaces a sync scope decision that has not been revisited in years. Widening the item scope, or agreeing that those items are genuinely off catalogue and belong on a quote, is short work.

Customer part numbers are where B1 users feel the difference most. Business Partner Catalog Numbers are the right hygiene and we would never tell you to abandon them, but they only cover codes somebody has already recorded. Matching handles the buyer's own references, abbreviations and loose descriptions directly, with a confidence score, so a code nobody has seen before still resolves on the first order. Pricing works the same way: the price on a purchase order is a claim, and the draft is priced from the account's Shopify price list instead. That only holds if your B1 price lists and special prices are mirrored into Shopify, so we check that alignment in the audit and tell you plainly where it has drifted.

What the implementation path looks like

The app can start on its own. Where the B1 side needs work, that is an implementation engagement with a defined scope.

  1. 01

    Audit the inbound orders

    We sample the purchase orders your team processed last month, group them by business partner and format, and estimate real coverage from your own documents.

  2. 02

    Check catalogue and price alignment

    We compare the B1 item master against the Shopify catalogue, and B1 price lists and special prices against your Shopify company price lists. Gaps are listed in priority order.

  3. 03

    Go live on your highest volume partners

    Start with the business partners who send the most and the messiest documents. Your team reviews every draft, corrections train the matching, and you measure against your own baseline.

  4. 04

    Review the integration if it is the bottleneck

    If your Shopify to B1 mapping, warehouse setup or master data is what actually slows orders down, that is an ERP implementation and integration engagement rather than an app problem.

Implementation and integration work is delivered fixed fee with defined milestones by a bilingual team based in Montreal. Detail at /en/erp-implementation.

How the options compare

All four are ways of getting an emailed purchase order into Business One. They differ in who does the reading.

Manual entry in B1B1 add on or scriptingEDI programmeLevelOps PDF to Order
Reads any PO layout without configurationA person doesPer templatePer partner mappingYes
Matches buyer part numbers and loose textFrom memoryOnly mapped codesMapped up frontYes
Applies the account's contracted priceIf the rep remembersSometimesYesYes
Human approval before the order existsYesDepends on the buildUsually automaticYes
Survives an upgrade or a layout changePeople adaptRecheck and reworkChange requestNo template to break
Needs B1 development or an add onNoYesUsuallyNo
Needs inbound access to your B1 serverNoNoOftenNo
Time to first live orderImmediate, foreverMonthsMonths per partnerDays

Distributors and manufacturers who fixed intake first

Rated 5.0 on the Shopify App Store. Different ERPs, the same Shopify first pattern.

10x
More efficient on large orders
It is literally reading my PDF and uploading a 100+ item order in under 4 minutes. This just made us 10x more efficient.
Terpene Warehouse
Distribution
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
Chosen over building
Evaluated against in house development
We considered multiple options before choosing LevelOps, including developing our own software. We chose LevelOps because their demo clearly showed they had already done the hard work of reading and transmitting data from disparate files into Shopify.
Scrub Authority
Uniforms and medical apparel
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

SAP Business One questions, answered honestly

Do you integrate with SAP Business One?

Not with a native B1 connector, and we would rather say that now than during an implementation. LevelOps PDF to Order writes validated draft orders into Shopify. The B1 sales order is then created by whatever Shopify to Business One integration you already run, whether that is a partner connector, a B1if scenario or a Service Layer integration your team built. If B1 has to be the direct destination with no Shopify step, we are not the right fit yet.

Which Shopify to Business One integrations does this work with?

All of them, because we never touch B1. Partner connectors, middleware platforms, B1if integration framework scenarios and custom builds on the DI API or the B1 Service Layer all consume ordinary Shopify orders. An approved draft order becomes an ordinary Shopify order, so nothing about your mapping needs to change.

We run B1 on premise behind a firewall. Does that block this?

No, and it is a good reason to prefer this pattern. Nothing needs inbound access to your B1 server, because LevelOps only writes to Shopify. Your existing integration continues to reach out from inside your network exactly as it does today, so there is no new port, no new tunnel and no new attack surface to review with IT.

What about Business Partner Catalog Numbers for customer part numbers?

They are worth maintaining in B1, but matching does not depend on them. PDF to Order resolves the buyer's own part numbers, abbreviations and free text descriptions against your Shopify catalogue with a confidence score, so a customer code that was never recorded in B1 still matches on the first order. Anything genuinely ambiguous is flagged for a person instead of being resolved to a default.

How do B1 price lists and special prices interact with Shopify pricing?

The system that holds the price your customer was promised should apply it. If your B1 price lists and business partner special prices are reflected in Shopify B2B catalogues and company price lists, PDF to Order applies the account price automatically and ignores the price printed on the PDF. Where they have drifted, we flag it in the audit, because a price set at intake and corrected in B1 later is a credit note waiting to happen.

Do you create deliveries or A/R invoices in B1?

No. The whole marketing document flow stays in B1: the sales order, the delivery, the A/R invoice, the journal entries and the numbering series. We only remove the typing that happens before the sales order exists, so your document flow, approval procedures and authorisations are untouched.

Can extracted data reach our user defined fields?

Indirectly, and it depends on your integration. Extracted values such as the customer PO number, requested delivery date and buyer notes are written onto the Shopify order, and most Shopify to B1 integrations can map Shopify order fields and attributes into B1 UDFs. If a specific UDF is critical to your process, tell us during the audit so we confirm the field is captured before you commit.

Does it matter whether we run B1 on HANA or SQL Server?

Not at all. The database and the analytics behind it are entirely on the B1 side of the boundary. Intake happens in Shopify, so HANA, SQL Server, on premise and hosted deployments all behave identically from our side.

We have several B1 companies and currencies. How does that work?

Routing stays with your integration. If it already sends Shopify orders to the right B1 company, warehouse and currency, these orders follow the same rules because they are ordinary Shopify orders. What we do capture from the document is the currency and terms the buyer stated, so a mismatch with the account setup is visible at review rather than after posting.

How do we test this on our own purchase orders?

Send us three real POs, including your worst scan and your largest multi page order. We run them live and show the extraction, the matched lines and the flagged exceptions. Every store also gets your first 5 orders free, with no expiry before any commitment.

See it on your own purchase orders

Send three real POs, including the worst scan you have. We run them live against a copy of your catalogue and show you the draft orders, the matched lines and the exceptions, before you decide anything.

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