Skip to main content
Markdown

SAP Business One

Workist connects to your company database through the SAP Business One Service Layer. Workist reads business partners and items as master data and creates completed orders as sales orders. Nothing is installed in SAP Business One.

This page covers SAP Business One. For SAP ECC and SAP S/4HANA, see SAP Connector.

Overview​

Prerequisites

  • SAP Business One with the Service Layer. Workist must be able to reach the Service Layer over the internet.
  • A Service Layer user that may read business partners, items and catalog numbers and create sales orders and attachments.
  • Order creation is currently tailored to a specific field structure in SAP Business One. Agree the setup with your Workist contact person beforehand.

Data flow

DirectionContentWhen
SAP Business One → WorkistBusiness partners, contact persons, addresses, items, catalog numbersdaily at 01:30 UTC and on demand
Workist → SAP Business OneSales order with lines and attachmentsas soon as an order is completed

What we read from SAP Business One​

Master data in WorkistSource in SAP Business One
CustomersBusiness partners (customers)
Customer contactsBusiness partner contact persons
Delivery addressesBusiness partner addresses of type ship-to (bo_ShipTo)
Invoice addressesBusiness partner addresses of type bill-to (bo_BillTo)
ArticlesItems
Customer-specific item numbersBusiness partner catalog numbers (AlternateCatNum)
  • The integration's filter queries limit which business partners and items Workist reads. Without a filter, Workist reads all of them.
  • Workist does not read prices, unit conversions, framework agreements or quotes from SAP Business One.
  • Business partners without an automation flag: enter a business partner property (for example Properties50) and a text in the integration. Business partners that do not have this property get the text as an internal note in the Workist master data. If the "Customer internal note" check is active in the channel, their orders go to manual processing, see Validation checks.

The field reference lists every field Workist takes over.

What we write to SAP Business One​

For every completed order, Workist creates a sales order:

  • Header: client, order number, order date, delivery date, customer contact, note text, and the delivery and billing address.
  • Lines: item number and quantity. SAP Business One sets the price. Exceptions: if the business partner has property 51, Workist takes the unit price from the document. If "Calculate Prices with the API on order create?" is on, Workist asks SAP Business One's price determination for price and discount and writes them to the line.
  • Addresses: if Workist matched the address to an address ID from master data, the order refers to that address. Otherwise Workist writes the address into the order as text. If the document has no address, Workist uses the business partner's default address.
  • Attachments: on request, Workist attaches the order document to the order. Workist attaches the original email and an enclosed delivery note if you enter a document name for them.
  • The order is created as not confirmed.

As the reference on the document in the Workbench, Workist stores the sales order's internal key (DocEntry), not the document number SAP Business One displays.

Workist only creates new sales orders and does not change existing documents.

Setup in the Workbench​

  1. Open Settings → Business Systems (ERP) → Integrations and click Connect next to SAP Business One.

  2. Enter the connection:

    FieldContent
    Integration Nameany name
    Service Layer URLaddress of your Service Layer
    SAP Business One Company DBname of the company database
    Service Layer User, Service Layer Passwordcredentials of the Service Layer user
    Order Channelschannels whose orders are created as sales orders
  3. Optional:

    FieldEffect
    Filter Query to filter the client entries to be synced to Workistfilter for the business partners Workist reads
    Filter Query to filter the item entries to be synced to Workistfilter for the items Workist reads
    Avoid delivery dates in the pastif the delivery date is missing or in the past, Workist sets the next day
    Calculate Prices with the API on order create?when creating the order, Workist asks SAP Business One's price determination for each line's price and discount
    Overwrite value for the Default Shipping Method on the Line Itemshipping method Workist writes into every line
    Business partner property and text for non-automated business partnerssee What we read from SAP Business One
    Upload original order to Business One?attaches the order document to the order
    Custom document name for emails or for delivery notes to uploadalso attaches the original email or an enclosed delivery note
    Custom document type field in Business Onewrites the matching document name (order, email, delivery note) into this field of the attachment
  4. Click Create. Trigger master data update loads the master data right away.

How the master data reaches the channels and how Workist switches the channels over is described under What all connectors have in common.

Error handling​

If SAP Business One rejects the sales order, the order appears again among the open documents, with the Service Layer's message. Workist does not retry automatically. Fix the cause and complete the order again after Reopen for assistance.

If Workist cannot query the price determination while creating the order, Workist still creates the order. SAP Business One then sets the price.

Limitations​

  • Workist only transfers orders. The connector does not support requests for quotation, invoices or other document types.
  • Workist does not check whether a sales order already exists for the order before creating one. If an order is completed again, another sales order is created.

Field reference​

Fields read​

Customers​

Workist columnFrom SAP Business One
client_id1CardCode
internal_noteText from the setting for non-automated business partners, when the business partner does not have the property named there
client_contact_person1MailAddress
company_nameCardName
address1Address
address2MailAddress
zip_codeZipCode
cityCity
country_subdivisionCounty
countryCountry
extra_datauser-defined fields (U_…), default bill-to address (BilltoDefault), default ship-to address (ShipToDefault), properties 11, 51 and 52

Customer contacts​

Workist columnFrom SAP Business One
partition_idCardCode
contact_idInternalCode
first_nameFirstName
last_nameLastName
phonePhone1
emailE_Mail

Delivery and invoice addresses​

Both address types have the same fields.

Workist columnFrom SAP Business One
partition_idBPCode
address_id1AddressName
address_id2GlobalLocationNumber
nameAddressName2
address1Street + StreetNo
zip_codeZipCode
cityCity
country_subdivisionCounty
countryCountry
miscBuildingFloorRoom

Articles​

Workist columnFrom SAP Business One
article_id1ItemCode
descriptionItemName + User_Text
description_boostedUser_Text – else ItemName
order_unitsSalesUnit
sales_unitsSalesUnit
extra_datauser-defined fields (U_…), property 12

Customer-specific item numbers​

Workist columnFrom SAP Business One
partition_idCardCode
article_id1ItemCode
article_id2Substitute
descriptionItemName + User_Text
description_boostedItemName
order_unitsSalesUnit
sales_unitsSalesUnit
extra_datauser-defined fields (U_…), property 12

Fields written​

Listed are the fields Workist fills. SAP Business One sets the document number, prices without price determination, totals and taxes itself.

Sales order – header​

Sales order fieldContent
AttachmentEntryAttachment with the order document (only when “Upload original order to Business One?” is on); original email and an enclosed delivery note when a document name is set for them
DocDateOrder date
TaxDateDate the document arrived in Workist
DocDueDateDelivery date. With “Avoid delivery dates in the past”: the next day when the delivery date is missing or in the past
CardCodeClient (customer number)
NumAtCardOrder number
ContactPersonCodeCustomer contact, if matched
Confirmedfixed: N (not confirmed)
CommentsNote text, if present
BillToCodeThe business partner's default bill-to address when the document has no billing address
PayToCodeBilling address (address ID from master data) – else the business partner's default bill-to address
ShipToCodeDelivery address (address ID from master data) – else the business partner's default ship-to address

Sales order – lines​

Line fieldContent
LineNumPosition (counting from 0)
ItemCodeItem number
QuantityQuantity
UnitPriceUnit price from the document when the business partner has property 51 – else the price from SAP Business One's price determination (only with “Calculate Prices with the API on order create?”) – else SAP Business One sets the price
DiscountPercentDiscount from the same price determination
ShippingMethodValue from “Overwrite value for the Default Shipping Method on the Line Item”, if set

Sales order – address as text​

Only when the address in the document is not matched to an address ID from master data.

FieldContent
BillToStreet / ShipToStreetStreet and number
BillToCity / ShipToCityCity
BillToZipCode / ShipToZipCodePostal code
BillToCountry / ShipToCountryCountry
BillToAddress2 / ShipToAddress2Company name
BillToAddress3 / ShipToAddress3Name