SAP Business One integration for the shop floor

ModernMES books finished work in SAP Business One as a Goods Receipt and scrap as a Goods Issue, and pulls items and customers from B1. It connects through SAP's own Service Layer; there is no DI API and no direct database access.

Last updated: 20 October 2026

What is created in Business One

In ModernMESIn SAP Business One
A job is finished with a good quantityGoods Receipt (InventoryGenEntries) into the finished-goods warehouse
Scrap is reported ("Send scrap" on)Goods Issue (InventoryGenExits) from the scrap warehouse, or the finished-goods warehouse if none is set

The documents are standalone receipts and issues. They are not linked to a B1 production order: ModernMES runs jobs on its own projects and does not hold the B1 production order number. The reference field carries the ModernMES work order number, and the comments carry the project and the record's unique ModernMES reference.

By default SAP values the receipt itself; turn on "Send unit price 0" to book it at zero instead. If a response is lost in transit, ModernMES looks the document up by that reference before trying again, so a retry does not book the same output twice.

What comes from Business One

  • Items (valid ones): item code, name and inventory unit, created as parts in ModernMES.
  • Customers (business partners of type customer): code, name, tax ID, email, phone and city.

Records are pulled with a button in the settings screen; nothing is ever deleted. If a B1 item code differs from the ModernMES part code, you map the two per part.

Requirements and network access

  • The Service Layer address (usually https://server:50000) and the company database (CompanyDB).
  • A B1 user allowed to post Goods Receipts and Goods Issues.
  • The finished-goods warehouse code, and optionally a separate scrap warehouse.

Business One usually runs on a server inside the company network. The cloud version of ModernMES deliberately refuses private network addresses, so the Service Layer has to be reachable from the internet over HTTPS, ideally restricted to ModernMES's address. A self-signed Service Layer certificate can be accepted per connection. If you would rather not expose it, ModernMES can be installed on your own server and reach B1 over your internal network.

Setting it up

  1. We set up the connection with you; "Test connection" signs in to B1 and checks the warehouse you chose.
  2. We post trial documents in a test copy of your company database and check them with your SAP partner.
  3. You choose when to send: when the part's last operation finishes (the default), after every operation, or only when someone presses send.

Documents are posted in the background, so operators never wait for SAP. If B1 is unreachable, ModernMES tries 8 times at intervals growing from 1 minute to 12 hours. The transfer log shows each record's B1 document number or error, and lets you retry or cancel it.

What it does not do

  • It does not close B1 production orders or bring sales orders into ModernMES.
  • It does not issue components against a bill of materials.
  • It does not read B1 stock levels back into ModernMES.

Frequently asked questions

Are the receipts linked to B1 production orders?

No. Goods Receipts and Goods Issues are created as standalone documents. If you manage production orders in B1, talk to us before setting it up.

Do you need DI API or SQL access?

No. The connection uses only SAP's Service Layer.

How is the receipt valued?

By default SAP values it from the item's cost. With "Send unit price 0" on, receipts are booked at zero.

Can it reach a Business One server on our internal network?

The cloud version cannot reach private addresses. Either expose the Service Layer over HTTPS restricted to ModernMES, or install ModernMES on your own server next to B1.

Which plan includes the ERP integration?

The ERP integration add-on is included in Enterprise and can be added to the other plans. See pricing.