Map stores and warehouses
List Shopify stores and locations alongside SAP Business One companies and warehouses. Decide how SKUs, variants and sellable stock are matched, including any stock reserved for other sales channels.
Connect SAP Business One (SAP B1) and Shopify to automate orders, inventory, fulfillment and refunds. AIONDATA builds the sync around your stores and warehouses, with custom field mapping, retries and monitoring.
California-based leadership · Serving US and international teams
Share your objects, volumes, and timing needs — we'll come back with a written scope.
Please share the systems and workflow—not credentials or customer records. We’ll confirm API access, scope and next steps.
Part of NVIDIA’s program for startups building with AI and accelerated computing.
About the programPravin’s experience includes Google and SmartBear. Sravan previously held leadership roles at JPMorgan Chase and First Republic Bank.
Meet the founders9110 Alcosta Blvd Ste H345, San Ramon, CA 94583
US-led delivery, with engineering in India. Supporting US and international organizations.SAP Business One Shopify integration connects your online store to ERP inventory and order processing. Shopify orders flow into SAP B1; product data, available stock, fulfillment and tracking updates flow back to the store. We map SKUs, warehouses, customer records, taxes and refunds to your business rules. Delivery uses the SAP B1 Service Layer and Shopify Admin API, with webhooks and scheduled updates matched to your order volume.
These decisions shape the scope, cost and acceptance tests. The flows below describe possible implementation behavior, not a preinstalled connector or a guarantee for every product edition.
List Shopify stores and locations alongside SAP Business One companies and warehouses. Decide how SKUs, variants and sellable stock are matched, including any stock reserved for other sales channels.
Agree which payment or approval state releases an order, how guest customers are represented, and what happens to edits, cancellations, partial shipments and refunds.
Include a repeated order notification, a missing SKU, a partial fulfillment and a refund after shipment. Verify the resulting inventory and accounting treatment with your operations and finance owners.
The scope accounts for store count, order volume, peak traffic, backfills and required sync delay. Confirm API access, monitoring, reconciliation, technical training and support before approving the estimate.
Field mapping
The records, match keys and triggers most implementations start from. Your scope confirms each row against your editions, custom fields and business rules.
| Source | Target | Match key | Direction | Trigger | Notes |
|---|---|---|---|---|---|
| Items (OITM) | Shopify product and variant | ItemCode = variant SKU | SAP B1 → Shopify | Scheduled delta, plus on-demand resync | Only items flagged for web sale; barcode, weight and sales unit of measure mapped; item groups can drive Shopify collections. |
| Item warehouse data (ItemWarehouseInfoCollection, OITW) | Shopify inventory level per location (inventorySetQuantities) | WarehouseCode = Shopify location | SAP B1 → Shopify | Every 5 to 10 minutes, or on document events where webhooks are enabled | Sellable quantity = on hand minus committed minus an agreed buffer; compare-and-set prevents an older value overwriting a newer one. |
| Price lists and item prices (OPLN, ITM1) | Shopify variant price or market price list | Price list number = Shopify market or catalog | SAP B1 → Shopify | Hourly, or after a price update | Currency and gross or net pricing agreed per store. |
| Special prices (SpecialPrices) | Shopify B2B price list on a catalog | CardCode + ItemCode | SAP B1 → Shopify | Scheduled | Business Partner-specific prices become fixed prices on that company location’s catalog. |
| Business Partners (OCRD) and contact persons (OCPR) | Shopify customer, or B2B company and contact | Email or stored CardCode | SAP B1 ↔ Shopify | New Shopify customer or first order; B1 changes on a schedule | New web buyers are created as customers or posted to a shared web account; CardCode is written back to Shopify. |
| Shopify paid order (orders/paid webhook) | Sales Order (ORDR, Orders) | Shopify order ID in a user-defined field; existing-order check before create | Shopify → SAP B1 | orders/paid webhook, plus a scheduled sweep | Discounts, shipping lines and tax codes mapped; the Shopify order name, such as #1001, is shown on the document for staff. |
| Delivery (ODLN, DeliveryNotes) | Shopify fulfillment (fulfillmentCreate) | Base sales order = Shopify order ID; delivery lines = fulfillment order lines | SAP B1 → Shopify | On delivery posting, by schedule or webhook | Tracking number and carrier from the delivery; partial deliveries create partial fulfillments. |
| A/R Invoice (OINV, Invoices) | Shopify order metafield | Base delivery or sales order | SAP B1 → Shopify | Scheduled | Invoice number and status for service teams. |
| Shopify payment transaction | Incoming Payment (ORCT, IncomingPayments) | Shopify transaction ID | Shopify → SAP B1 | After the A/R invoice is created | Each gateway mapped to a bank or clearing account; fees handled in payout reconciliation. |
| Shopify refund (refunds/create webhook) | A/R Credit Memo (ORIN, CreditNotes) | Shopify refund ID | Shopify → SAP B1 | refunds/create webhook | Restocked items post a Return (ORDN, Returns) first; refund-only adjustments go straight to a credit memo. |
| Shopify cancellation (orders/cancelled webhook) | Sales Order cancellation | Shopify order ID | Shopify → SAP B1 | orders/cancelled webhook | Only while nothing has been delivered; after delivery the case becomes a return. |
| Warehouses | Shopify locations | WarehouseCode = Shopify location ID in the mapping table | SAP B1 → Shopify | Set up once; reviewed when warehouses change | Only warehouses that ship web orders; stock reserved for other channels can be held back. |
Download this mapping as a CSV worksheet · no email required
Options, cost and timeline
A prebuilt connector is sometimes enough. This comparison shows when each route fits, what it typically costs and how long it takes.
| Approach | Typical cost | Typical time | Fits when | Watch for |
|---|---|---|---|---|
| Prebuilt Shopify app (catalog sync) | From about $99/month (vendor list price, checked Sep 2026) for eShopSync’s SAP Business One Integration app | Days to install and map | Publishing SAP B1 items and item groups to Shopify | The listing covers items and item groups; orders, stock rules, refunds and B2B pricing are outside that scope |
| iPaaS template | From about $99/month (vendor list price, checked Sep 2026) for APPSeCONNECT plans, plus ProcessFlow packs; Celigo does not publish prices | Days to weeks for standard flows, depending on mapping and testing | Standard order, customer and item flows on a vendor-run platform | Costs grow with flows and volume; confirm multi-company support and how changes outside the template are priced |
| Custom integration (AIONDATA) | Quoted after a short discovery; hosting and support priced separately | Usually a few weeks including testing for products, stock, orders, customers and fulfillment; typically two to three months with multiple stores, B2B price lists or complex bundles | Multiple companies or stores, B2B pricing, bundles and kits, special refund rules, or a requirement to own the code | Someone must own monitoring and quarterly Shopify API updates; agree the handover pack and support terms up front |
| Managed integration service | Monthly fee quoted per scope by the provider | Setup as for iPaaS or custom, then ongoing | Teams without in-house integration staff who want one party to watch and fix failures | Agree response times, who fixes SAP data errors, and your access to mappings and logs if you change provider |
Vendor prices are list prices from their public pages on the date shown; confirm current pricing with each vendor.
Shopify states that webhooks can be duplicated, arrive out of order or not arrive at all, and recommends reconciliation jobs. SAP B1 can refuse a valid order for business reasons. The integration stores every event, processes it once and keeps failures visible until someone resolves them.
On SAP Business One 10.0 FP 2102 and later, the Service Layer supports ETags on documents such as orders, deliveries and invoices, so an update based on stale data is rejected instead of silently overwriting a newer change. We use that for any flow that updates existing documents.
Technical details last reviewed September 26, 2026. Product capabilities and prices change; confirm them for your edition.
Sources: SAP: Working with SAP Business One Service Layer (user guide 1.29, July 2026) · SAP: SAP Business One Service Layer API Reference · Shopify: REST Admin API (legacy notice) · Shopify: About webhooks (ordering, duplicates and reconciliation) · Shopify: webhook topics reference · Shopify: Order object · Shopify: Bulk operations with the GraphQL Admin API · Shopify: inventorySetQuantities mutation · Shopify: fulfillmentCreate mutation · Shopify: PriceList object · Shopify: B2B on Shopify for developers · Shopify: plan pricing and features (B2B catalogs, expansion stores) · Shopify: B2B ecommerce features · Shopify: API versioning and release schedule · Shopify App Store: SAP Business One Integration by eShopSync · APPSeCONNECT: pricing · Celigo: Shopify and SAP Business One integration template · Celigo: platform editions and pricing
Outcomes
Orders arrive through Shopify webhooks and are usually created in SAP B1 within seconds to a couple of minutes. Stock is read from the Service Layer on a short schedule, often every 5 to 10 minutes, and can also be pushed after goods receipts or deliveries. On SAP Business One 10.0 FP 2602 or later, Service Layer webhooks can notify the integration when documents change; SAP ships them disabled for each company, and they need the Webhook Messenger Service.
The Service Layer for new integrations. SAP describes it as an OData service built on the same DI core as the DI API, so business objects and properties match. The DI API is a Microsoft COM library that fits Windows add-ons, and we use it only where the Service Layer lacks a function. SAP also lists Service Layer limits, such as no user transactions across requests, which we handle with batch requests and retry-safe design.
Less than it used to. SAP added Service Layer support for Microsoft SQL Server with SAP Business One 10.0 PL01, so both versions integrate through the same API. Differences remain in reporting features: Semantic Layer views are HANA only, while SQL Server systems can expose their own SQL views through the Service Layer. Older SQL Server releases without the Service Layer need the DI API or an upgrade first.
Yes. Each Service Layer login names one company database, so the integration keeps a session per company and routes each order by store, market or SKU rule. Warehouses, price lists, tax codes and payment accounts are mapped per company, and no order is written to a company without an explicit rule.
We map SAP B1 ItemCode to the Shopify variant SKU and handle variants, bundles and units of measure explicitly in the mapping workbook. Shopify customers are matched to Business Partners by email or a stored CardCode, with an optional shared web-customer account for guest checkouts. The CardCode is written back to the Shopify customer so the next order matches without a search.
It stops in a retry queue with the SAP error, for example a missing item, a blocked Business Partner or a credit limit, and an alert goes to the named owner. Technical errors retry automatically; data errors wait for a fix and a replay. Before creating an order, the integration checks for an existing document with the same Shopify order ID, so replays and duplicate webhooks cannot create a second sales order.
Most businesses create a sales order, then a delivery and an A/R invoice as goods ship, because stock is committed and fulfillment is tracked in SAP B1. Stores that ship at checkout or sell services sometimes post an A/R invoice directly, with an incoming payment for the Shopify transaction. We decide per sales channel with your finance team.
Captured payments become Incoming Payments against the A/R invoice, posted to the bank or clearing account agreed for each payment gateway. Refunds create A/R Credit Memos, and when goods come back to stock a Return document comes first. Payout fees and settlements are matched in a separate step so the clearing account reconciles to your bank.
Start with the smallest option that covers your flows. A Shopify App Store app such as eShopSync’s SAP Business One Integration publishes B1 items and item groups to Shopify for a published monthly fee. iPaaS templates, such as Celigo’s Shopify and SAP Business One template, add orders, customers and items. A custom build is worth it for multiple companies or stores, B2B price lists, bundles and kits, special refund rules, or when you want to own the code.
The number of flows and stores, and how much logic sits between them. Multiple B1 companies, B2B price lists, bundles and kits, units of measure, historical backfills and peak-season volumes all add build and test time. Ongoing cost depends on hosting, monitoring, any iPaaS subscription and the support you choose. A written scope lists each of these before you approve an estimate.
Yes. B1 price lists and special prices for specific Business Partners map to Shopify price lists, which attach to catalogs assigned to company locations. Shopify’s pricing page lists B2B on Basic, Grow and Advanced with up to three catalogs, and unlimited catalogs on Plus, so your plan sets how many customer price groups can have their own list. Payment terms and tax exemptions are set per company location in Shopify and should match the Business Partner in B1.
Yes, without exposing the Service Layer to the internet. Common patterns are a small agent inside your network that calls the Service Layer and sends data out, or a VPN to a hosted integration service. SAP’s guide also recommends firewalling Service Layer load-balancer members so only the load balancer can reach them, and we keep that in place.
You choose. We hand over the code, mapping workbook, runbook and alert setup so your team can operate it, or we support it under an agreed plan. Shopify releases a new API version every quarter and supports each for at least 12 months, and SAP ships B1 feature packs, so someone should review both on a schedule.
Yes. We can build a custom MCP server exposing the SAP B1 Service Layer and Shopify Admin API so an assistant can check stock, look up an order’s status across both systems or trigger a re-sync for a specific SKU. Write actions are scoped and auditable.
A standard products, stock, orders, customers and fulfillment sync usually takes a few weeks including testing against a copy of your SAP B1 company. Multiple Shopify stores, B2B price lists per customer, or complex bundles and kits extend the build, typically to two to three months.
Other pairs involving SAP B1 or Shopify.
The enquiry form is at the top of this page. Share your objects, volumes and timing needs and we'll come back with a written scope.
Go to the enquiry form