# Business Partners

## **Prerequisites**

Synchronization of business partners between Dataloy VMS and the applicable accounting system is required before transferring accounting related transactions. To synchronize business partner updates between systems, decide which system is to be the Master System (where the business partners will be updated). The Master System will then send updated business partner data to the other system.

## **Integration Set-Up**

* Dataloy VMS used as master:&#x20;
  * Dataloy recommends setting up up a [Webhook](/api-release-8.25/dataloy-rest-api/webhooks.md). As an alternative, setup a scheduled job and use the request under Data Transaction (below) to gather all business partners data having been modified since the last time a scheduled task was run.
* Dataloy VMS is *not* used as master: Use the requests under Data Transaction (below) to insert and update the business partners in Dataloy VMS.

## **Data Transaction**

### **Dataloy VMS as a master for business partners**

#### **Webhook**

Setup [Webhook subscriptions](/api-release-8.25/dataloy-rest-api/webhooks.md) for BusinessPartner, Address and ContactInfo. From Address and Contact info there is a reference back to the BusinessPartner key in the source field.

#### **Scheduled Job (If Webhook is not an option)**

Extract the business partners whose data has been modified since a selected date from Dataloy VMS using the following request in conjunction with the[ base URL](/api-release-8.25/dataloy-rest-api/getting-started.md):                                                                       &#x20;

#### **Get business partner information**

```
GET /BusinessPartner?filter=modifiedDate(GTE)2014-01-01T12:30:00
```

Set up a scheduled job and gather all voyages that have been modified since the last time a scheduled task was run.&#x20;

### **Other systems as Master for Business Partners**

Check if relevant business partner/s is/are already existing in Dataloy VMS by using the following request in conjunction with the base URL:                                                                                                   &#x20;

**Get business partner by key**

```
GET /BusinessPartner?filter=businessPartnerCode(EQ)99999
```

### If the business partner is already existing in Dataloy VMS

#### Update BusinessPartner

```
PUT /BusinessPartner
  
{
  "key": 1111111,
  "businessPartnerName": "Test Name",
  "businessPartnerCode": "123456789",
  "businessPartnerSort": "TESTNAME",
  "companyRegistrationNo": "123456789",
  "businessPartnerTypes": [
    {
      "businessPartnerType": "A"
    },
    {
      "businessPartnerType": "AU"
    }
  ],
  "bankAccounts": [
    {
      "key": 222222,
      "iban": "9754",
      "bankAccountNo": "6523",
      "bank": 1033615,
      "currency": 400132
    }
  ],
  "addresses": [
    {
      "key": 333333,
      "country": "NL",
      "address1": "Street Name 54",
      "address2": "5th floor",
      "address3": "",
      "city": "Amsterdam",
      "postalCode": "1000 AA"
    }
  ],
  "contactInfo": [
    {
      "key": 444444,
      "email": "test@test.com",
      "faxNo": "55555555",
      "mobileNo": "66666666",
      "phoneNo": "77777777",
      "telexNo": "88888888"
    }
  ]
}
```

### If the business partner does not exist in Dataloy VMS

[BusinessPartner API documentation](https://dataloy-systems.stoplight.io/docs/dataloyModel/model/schemas/business-partner)

{% hint style="info" %}
***Note**: Use the Bank key if the Bank already exists. The below example is showing how to insert a new Bank when inserting a BusinessPartner*
{% endhint %}

```
POST /BusinessPartner

{
  "businessPartnerName": "Test Name",
  "businessPartnerCode": "123456789",
  "businessPartnerSort": "TESTNAME",
  "companyRegistrationNo": "123456789",
  "businessPartnerTypes": [
    {
      "businessPartnerType": "A"
    },
    {
      "businessPartnerType": "AU"
    }
  ],
  "bankAccounts": [
    {
      "iban": "9754",
      "bankAccountNo": "6523",
      "bank": {
        "bankName": "BP bank",
        "abaNumber": "1111",
        "chip": "2222",
        "swiftAddress": "42341"
      },
      "currency": 400132
    }
  ],
  "addresses": [
    {
      "country": "NL",
      "address1": "Street Name 54",
      "address2": "5th floor",
      "address3": "",
      "city": "Amsterdam",
      "postalCode": "1000 AA"
    }
  ],
  "contactInfo": [
    {
      "email": "test@test.com",
      "faxNo": "55555555",
      "mobileNo": "66666666",
      "phoneNo": "77777777",
      "telexNo": "88888888"
    }
  ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api.dataloy.com/api-release-8.25/user-guides/accounting-integration-api/business-partners.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
