User Tools

Site Tools



COBI.msv is a server-side implementation of the standardized MSV3 protocol for data interchange between pharmacies and pharma suppliers in Germany. It exclusively implements Version 2.0 of the standard, not Version 1.0, and only implements the server-side (supplier), not the client-side (pharmacy).


Since MSV3 is a strictly standardized protocol, COBI.msv supports all features that are mandated by Version 2.0 of the standard. Following are some details on how exactly the features of the MSV3 protocol are implemented in COBI.msv:

Authentication: Pharmacies must log in with a username and password, which corresponds to their SAP Business One business partner code (OCRD.CardCode) and the value stored in the “Password” field under the “General” tab of the business partner master data (OCRD.Password).

Contract details: The MSV3 protocol includes a query for contract details, although this is seldom used in practice. COBI.msv will respond to this query with rudimentary information only, such as the daily time window for purchase orders.

Item availability (bulk): The pharmacy's client software sends a list of PZN in bulk, to ask whether the supplier offers the associated products at all. A positive answer is given for every PZN for which the SAP Business One database contains an Item master data with that PZN (stored in a UDF).

Item availability (detail): The pharmacy's client software sends a list of PZN along with quantities which they wish to know the availability of. COBI.msv will check the “On Hand” quantity of each item and send a response that tells what part of the requested quantity could be delivered.

Order: Any order made by the pharmacy through their MSV3 client software will be booked into SAP Business One as a Sales Order. Additionally, an email notification can be sent out if an SMTP server is available in the environment in which COBI.msv is set up.

Shipping notification: The pharmacy asks for any new shipping notifications that may exist. COBI.msv will check if any new Delivery Note was added to SAP Business One for the pharmacy, and respond accordingly. The pharmacy can also ask for the details of an individual shipping notification via its number.

Request repurchase offer: The pharmacy asks the supplier for an offer to take back a number of items. COBI.msv will book this as an unconfirmed Return Request in SAP Business One and report its ID back to the pharmacy. They can later use this ID as a reference to ask about the status.

Request return: The pharmacy makes a direct request to the supplier to take back a number of items, which has to be immediately accepted or rejected through the MSV3 protocol. Currently, COBI.msv will always respond with a rejection.

Implementation details

  • The service consists of a Java program, requiring JDK 15 or higher.
  • It can run on any GNU/Linux distribution as a systemd service.
  • Only uses Service Layer to communicate with SAP Business One.
  • Only uses the SAP Business One database, not any database of its own.

To acquire a recent version of the JDK on your GNU/Linux distribution, you can download OpenJDK in ZIP or TAR format from the Oracle website, and unpack it in the /opt directory.

The following UDFs need to be added in SAP Business One for COBI.msv to function:

Under Marketing Documents → Title:

Title Data type Size
MSV3_BestellId Alphanumeric 36
MSV3_BestellSupportId Numeric 11
MSV3_AuftragsId Alphanumeric 36
MSV3_AuftragsSupportId Numeric 11
MSV3_Auftragsart Alphanumeric 20
MSV3_Auftragskennung Alphanumeric 20
MSV3_GebindeId Alphanumeric 20

Under Marketing Documents → Lines:

Title Data type Size
MSV3_Liefervorgabe Alphanumeric 20
cobi.msv.txt · Last modified: 2022/06/03 12:10 by tkammer

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki