Skip to content
  • There are no suggestions because the search field is empty.

SAP Business One Integration

The SAP Business One (SAP B1) integration keeps products, customers, orders, invoices, shipments, payments, and inventory in sync between SAP B1 and WizCommerce using SAP's standard Service Layer API.

This article explains how the connection works, what data flows in which direction, when syncs happen, and what to do when something doesn't look right.

Platform: WizCommerce (with SAP Business One)      |      Who is this for: Admins


Table of Contents


Before You Begin

SAP integration is set up as a guided implementation by the WizCommerce integrations team. Before starting:

  1. Decide with WizCommerce team which entities you want to sync (Products, Customers, Orders, Invoices, Shipments, Payments, Inventory, Credit Memos) and in which direction.
  2. Make sure your SAP administrator is available, they will need to enable Service Layer access and provision a dedicated API user.
  3. A sandbox / test environment is recommended for initial setup before connecting production.

A. How the Connection Works

The connection uses SAP's Service Layer API. WizCommerce authenticates with a username, password, and a session token, similar to signing in to any web application. The integration is a two-way bridge:

  • Pull (SAP → WizCommerce): Imports the product catalog, customer records, invoices, shipments, inventory, payments, and credit memos. Products and their linked catalog data are pulled together, catalogs are not pulled separately.
  • Push (WizCommerce → SAP): Sends new orders, payments, and customer registrations to SAP.

Your SAP administrator provisions an API user with appropriate permissions, shares the host, port, and credentials with WizCommerce team through a secure channel, and the WizCommerce integrations team completes the connection on the WizCommerce side.


B. What Data Syncs Between SAP and WizCommerce

When SAP is integrated with WizCommerce, specific data syncs between the two systems. The table below gives you a clear picture of what data is shared, how it flows, and what is included.

Entity

Direction

Notes

Products

SAP → WC

Names, codes (ItemCode), and pricing. Both active and inactive products sync, if a product's status changes in SAP, the same change is reflected in WizCommerce.

Customers

Both ways

Company name, contacts, addresses. New customers and updates sync both ways.

Orders

Both ways

WizCommerce orders push to SAP as Sales Orders. SAP-origin orders pull into WizCommerce.

Invoices

SAP → WC

Generated in SAP (typically after fulfillment), pulled in for display and payment status.

Shipments

SAP → WC

SAP Delivery Notes pull in and link to their order.

Payments

Both ways

Payments recorded in SAP (cheque, wire) pull into WizCommerce. Online payments push to SAP and link to their invoice.

Inventory

SAP → WC

Stock levels pulled for all active products.

Credit memos

SAP → WC

Refunds and adjustments pull in for customer visibility.

Product images are not synced from SAP. Images are managed inside WizCommerce. Add them through Manage Products and Variants or a bulk image import.


C. How Records Are Matched

Every record is tracked using a Reference ID. A unique identifier that links the same record across both systems, so updates always go to the correct record and duplicates are never created. 

Data type

Identifier in SAP

Product

ItemCode

Customer

CardCode

Order

DocEntry

Invoice

DocEntry

Shipment

DocEntry

Payment

DocEntry


D. Sync Timing

The integration runs in three modes:

Mode

How it works

Scheduled background sync

Runs automatically at regular intervals. Only fetches records that have changed since the last sync (incremental).

On-demand sync

Triggered manually when needed (for example, after a bulk SAP update).

Event-driven push

Actions in WizCommerce (placing an order, making a payment) trigger an immediate push to SAP.

For on-demand refresh, contact WizCommerce team or reach out to help@wizcommerce.com.


E. Configurable Settings

The integration can be customised per account: customer filters, product filters, sales rep mapping, catalog mapping (SAP price lists to WizCommerce catalog groups), timezone, payment validation, order reference linking, and product variant grouping. Configuration changes are made by WizCommerce team with the integrations team.


F. Troubleshooting and Common Issues

» A new customer in SAP isn't showing

Confirm the customer is created with all mandatory SAP fields, then wait for the next scheduled sync. For urgent cases, request a manual sync from WizCommerce team.

» A new product or SKU isn't showing

Confirm the product is Active in SAP. Inactive items are filtered out by the integration.

» Price doesn't match between SAP and WizCommerce

SAP price lists/catalogs map to WizCommerce catalog groups via configurable mapping. If a customer's price isn't carrying through correctly, confirm the catalog mapping with WizCommerce team.

» Inventory is out of date

Stock is pulled from SAP on a schedule. The number in WizCommerce reflects the most recent sync. Wait for the next sync or request a manual refresh through WizCommerce team.

» An order failed because the customer doesn't exist in SAP

Before an order can push, the customer must exist in SAP. If the customer was created in WizCommerce and hasn't synced to SAP yet, the order push will fail validation.

What to do: Confirm the customer has synced to SAP. If not, push the customer first, then retry the order.

» An order failed with a session / authentication error

The SAP Service Layer session token expired. The integration automatically re-authenticates, so transient session issues are usually self-healing. If the issue persists across multiple sync cycles, SAP credentials may have changed on your side. Contact WizCommerce team.

» An order failed with a data validation error

A required field on the order, customer, or line item is missing or invalid in SAP (for example, a missing tax code or an item that no longer exists in SAP).

What to do: Open the Integration Sync History and read the error for the failed order. Fix the missing data in SAP (or in WizCommerce if the source is on the WizCommerce side), then retry the push.

» SAP was temporarily unavailable

If SAP is down, the integration retries up to 3 times before reporting an error. The next scheduled sync will pick up changes once SAP is back online.

A note on independent entity sync: Each entity (products, customers, orders, invoices) syncs independently. A failure on one does not block the others. If orders aren't pushing but products and customers are syncing fine, the issue is specific to the order, check the sync history.


FAQs

1. Do I need to enter data in both systems?

A. No. The integration keeps both systems in sync automatically. Product and inventory data is typically managed in SAP, while online orders flow from WizCommerce to SAP.
 
2. What if SAP is temporarily down?

A. The system will automatically retry failed connections. Once SAP is back online, the next sync will pick up all changes that occurred during the downtime.
 
3. Can I control which data gets synced?


A.
Yes. Filters can be configured to include or exclude specific products, customer types, and other criteria.

4. Is the connection secure?

A.
Yes. The integration uses authenticated sessions with SAP's Service Layer API. Credentials are stored securely and sessions are managed automatically.
 

 

Still need help? Reach out to our support team at help@wizcommerce.com.