Skip to main content

Integration with SAP Business One

Written by Jèsel Broekema
Updated over a week ago

Introduction

This guide describes the steps required to connect Zenvoices to SAP Business One.

To establish the integration, the following component must be installed on a server of the customer:

Zenvoices SAP Business One web service: this is a software component of Zenvoices. The Zenvoices platform communicates via the internet with this web service, which subsequently communicates with SAP Business One via the SAP Business One DI API. This web service is hosted in IIS.

Would you like to learn more about how the integration is secured and which data is exchanged? Read this article for more information.

Questions, comments or suggestions? Contact us via the chat, support@zenvoices.com or +31 (0)85 3038853.

Preparation

See Preparation by system administrator SAP Business One for the installation requirements and the required preparations by the system administrator.

Installation

Log in to a server of the customer and follow the steps below.

Requirements

  • From the system administrator:

    • WAN IP address or hostname

    • Forwarded port (if this differs from the default 8900)

    • Access to the server where the installation must take place

    • SAP Business One login credentials of the created integration user

  • From the customer:

    • SAP Business One login credentials of a user with full permissions (for testing)

    • List of administrations and journals to be connected

    • Access to the Zenvoices environment

Zenvoices SAP Business One web service installation

  1. Download the latest version of the web service at the bottom of this article.

  2. Extract the files into a directory (for example: C:\Zenvoices\SAP Business One web service).

  3. Create a new website in IIS named “Zenvoices SAP Business One web service” and link it to the directory.

  4. Install a valid SSL certificate and create an HTTPS binding with this certificate. If the customer does not have an SSL certificate, a certificate from Zenvoices can be used. Contact support to request this certificate. See the guide for installing an SSL certificate.

  5. Open appsettings.json with a text editor and change the following settings if necessary:

    a. Archive directory (Zenvoices.ArchiveDirectory): the directory where archive documents must be temporarily stored. For example: C:\Zenvoices\Archive temp. Ensure the IIS process has access to this folder. This can be done, for example, by giving the local group IIS_IUSRS write access to this folder.

    b. Secret token (Zenvoices.SecretToken): generate this for example via https://lastpass.com/generatepassword.php and use a length of 32 characters. Generate a token that only contains letters and numbers to prevent XML encoding errors.

  6. Afterwards verify that the IIS website is no longer accessible by opening it in a browser. A 401 error should be displayed when calling http://localhost:8900/api/masterdata/authenticate. This confirms that the additional security works.

  7. Ensure that the IIS process has access to the digital archive directory configured in SAP Business One (see chapter “Digital archive explanation”). This can be done, for example, by giving the local group IIS_IUSRS write access to this folder.

Connecting administrations

Follow the steps below in Zenvoices for each administration to be connected.

Please note: a separate accounting integration is created in Zenvoices for each SAP Business One administration.

  1. Go to Manage / Environment / Accounting integrations in Zenvoices, create a New accounting integration and choose SAP Business One.

  2. Fill in the requested details:

    a. API URL: the URL where the Zenvoices SAP Business One web service is accessible via the internet. For example: https://ipadresklant:8900/

    b. Secret token: the secret token configured in appsettings.json.

    c. Database server name: hostname/IP address and port (optional) of the SAP Business One database server. This can be found by starting the SAP Business One client and clicking “Change Company” during login. The server name can be found in the second field on the right behind Current Server.

    d. Administration database name: database name of the administration to be connected.

    e. Username: username of the integration user.

    f. Password: password of the integration user.

    g. Database server type: server type of the database.

  3. Click Next to test the integration. If the integration works, a list of administrations will be displayed. This list always contains one administration.

  4. Set the default administration details in Zenvoices: currency and country (optional).

  5. Test the integration by performing the following actions:

    a. Read a test invoice.

    b. Create a relation from the booking screen in Zenvoices.

    c. Save the booking so that it is exported to SAP Business One.

    d. Check the result in SAP Business One: verify that the booking and the archive document can be consulted. Delete the data afterwards.

Document the installation

Document the details of the installation and any special notes. Use for example this template. Provide this documentation to the system administrator of the customer as well.

After the installation

Points of attention when updating SAP Business One

You can assume that Zenvoices is compatible with updates of SAP Business One. New versions are tested by us and, if necessary, we adjust our software.

Updating the Zenvoices SAP Business One web service

New versions of the Zenvoices SAP Business One web service may become available. If it is a necessary update, we will inform the customer or our installation partner.

Follow the procedure below to install an update:

  1. Stop the IIS website of the Zenvoices SAP Business One web service

  2. Overwrite all files except appsettings.json

  3. Start the IIS website

  4. Test from Zenvoices whether the integration works

Documentation

Digital archive explanation

Archive documents are temporarily stored in the configured directory (SBO.ArchiveTempDirectory). SAP Business One copies the archive documents from this directory to the document path configured in SAP Business One (via Administration / System Initialization / General Settings / Path / Attachments folder).

The following format is used as the file name of archive documents:
“{suppliernumber}-{invoicenumber}-{journalentrynumber}-{attachmentnumber}.{fileextension}”.

The directory for temporary storage of archive documents is cleared when the SAP Business One web service starts.

Known error messages

Release notes

Version 1.16 (19-2-2026)

  • Changed: Updated Interops.SAPbobsCOM

  • New: Added support for SQL Server 2022

Version 1.15 (31-10-2025)

  • Changed: Updated .NET version to 8.0

Version 1.14.1 (7-3-2025)

  • Fixed: PurchaseInvoices BoObject was not released when posting credit invoices.

Version 1.14 (19-2-2025)

  • New: Added support to set booking date and fiscal date separately.

Version 1.13.1 (23-1-2025)

  • Fixed: Project master data sync could not complete if there were more than 500

projects.

  • Fixed: Product master data sync did not return all products.

  • Fixed: Export error “Invalid discount percentage”.

Version 1.12 (20-9-2024)

  • New: added support for setting the group code field of new suppliers and customers.

Version 1.11 (18-10-2023)

  • Fixed: not being able to create credit purchase invoices with lines linked to purchase orders.

Version 1.10 (10-8-2023)

  • Fixed: create financial transaction error handling.

Version 1.9 (28-6-2023)

  • Fixed: “A transaction is already active” error message after exporting a transaction failed.

Version 1.8 (24-5-2023)

New: SAP Business One connection pooling to optimise performance.

Version 1.7 (26-1-2023)

Fixed: “VAT allocation code is a mandatory field” error when exporting bookings in

Italian administrations using SAP Business One version 10.0 or newer.

Version 1.6 (2-9-2022)

  • Fixed: Discount % and Total (LC) fields of purchase invoice lines linked to purchase order lines or goods receipt lines were not filled correctly.

Version 1.5 (2-9-2022)

Fixed: DocEntry of created purchase invoices was returned incorrectly.

Version 1.4 (16-8-2022)

  • New: support added for the relation VAT code field.

  • Changed: target .NET framework changed from .NET 5.0 to .NET 6.0.

Version 1.3 (11-8-2022)

  • New: support added for the “Price per unit” booking/purchase invoice field.

Version 1.2 (16-5-2022)

  • Changed: prices in purchase invoices are booked at line level as unit price instead of a total discount at invoice level.

  • Fixed: “[PCH1.AcctCode] Field cannot be updated” error when exporting purchase invoices.

Version 1.1 (8-2-2022)

  • Fixed: journal entry number was not returned correctly.

Version 1.0 (30-9-2021)

  • First version.

Did this answer your question?