Skip to main content

Multivers - Customer sync

Multivers Extended V3 - Customer UpdateThis document describes the customer synchronization process for the Multivers Extended V3 connecto...

Updated over a week ago

Multivers Extended V3 - Customer Update

This document describes the customer synchronization process for the Multivers Extended V3 connector. It details how customer data, including addresses, contact persons, and related settings, are retrieved from the Multivers API and mapped to the App4Sales database.

Data Source Configuration

The connector retrieves customer data from a Multivers Extended V3 ERP system via its REST API. The base address for the API is configured in the App4Sales administration settings. The process involves several steps, starting with fetching debtor and organization data, and then enriching it with related information like payment conditions, contact persons, and addresses.

Data Mapping Tables

Customer

App4Sales Field

Source Field (API/Excel/DB)

Logic/Notes

CustomerCode

Debtor.Id

The unique identifier of the debtor.

CustomerName

Organisation.Name

The name of the organization.

CustomerManager

Debtor.RepresentativeCode

The code of the sales representative.

PaymentConditionCode

Debtor.PaymentConditionCode

The payment condition code. The connector verifies that the payment condition exists in App4Sales.

LanguageCode

Organisation.LanguageCode

The language code of the organization.

VatCode

Debtor.VatNumber

The VAT number of the debtor.

VatLiable

Debtor.CalculateVat

A boolean indicating if VAT is calculated. Mapped from 'J' to true.

DiscountGroup

Debtor.OrderDiscountGroupCode

The order discount group code.

Currency

Debtor.CurrencyCode

The currency code of the debtor.

Website

Debtor.WebSiteInfo.UrlAddress

The URL of the debtor's website.

ChamberOfCommerceCode

Organisation.CocNumber

The Chamber of Commerce number of the organization.

ItemShouldHaveStock

Organisation.Classifications

A boolean indicating if items should have stock. Determined by checking if a classification with the category code from the `OrganisationCategoryGroupIdForPortal4SalesItemStock` setting has a group code of 'JA'.

CustomerClassification

Organisation.Classifications

The customer classification. Retrieved from the classification with the category code specified in the `CategoryCodeToRetrieveAsCustomerClassification` setting.

ExtraData

Derived

A JSON object containing `OrganisationCode` and `OriginalPriceListCode`.

Email

Organisation.Emails

The primary email address of the organization. The connector first tries to find an email with a specific `TelecomUsageCode` if the `TeleComUsedTypeEmail` setting is configured. Otherwise, it takes the first email ordered by identifier.

Phone

Organisation.TelephoneNumbers

The primary phone number of the organization. The connector first tries to find a phone number with a specific `TelecomUsageCode` if the `TeleComUsedTypeTelephone` setting is configured. Otherwise, it takes the first phone number.

Address

App4Sales Field

Source Field (API/Excel/DB)

Logic/Notes

AddressLine1

OrganisationAddress.AddressLine1

The first line of the address.

AddressLine2

OrganisationAddress.AddressLine2

The second line of the address.

PostCode

OrganisationAddress.PostalCode

The postal code of the address.

City

OrganisationAddress.City

The city of the address.

Country

OrganisationAddress.CountryCode

The country code of the address.

AddressType

OrganisationAddress.AddressTypeCode

The type of the address (e.g., 'DEL' for delivery, 'VIS' for visit, 'INV' for invoice).

IsMainAddress

Debtor.DeliveryAddressCode, Debtor.VisitorsAddressCode

A boolean indicating if the address is the main address. Determined by comparing the address ID with the delivery and visitor address codes on the debtor.

Contact Person

App4Sales Field

Source Field (API/Excel/DB)

Logic/Notes

FullName

OrganisationPerson.FullName

The full name of the contact person.

FirstName

OrganisationPerson.FirstName

The first name of the contact person.

LastName

OrganisationPerson.LastName

The last name of the contact person.

Email

OrganisationPerson.EmailAddresses

The email address of the contact person.

Phonenumber

OrganisationPerson.TelephoneNumbers

The phone number of the contact person.

MobileNumber

OrganisationPerson.TelephoneNumbers

The mobile number of the contact person.

IsMainContact

Debtor.ContactPersonCode

A boolean indicating if the contact person is the main contact. Determined by comparing the person code with the contact person code on the debtor.

Special Logic & Filters

  • Allowed Debtors: The connector can be configured to only sync a specific list of debtors using the `AllowedDebtorCodes` setting.

  • Inactive Customers: The `SkipInactiveCustomersDuringSync` setting determines whether inactive debtors are skipped during synchronization.

  • Disabled Customers Prefix: Customers with an organization code that starts with the value of the `DisabledCustomersPrefix` setting are skipped.

  • Customer Discounts: If the `CustomerDiscountProductGroupCode` setting is provided, the connector retrieves customer-specific discounts from the specified product group.

  • Action Price Lists: The `RetrieveActionPriceLists` setting enables the retrieval of action price lists for customers.

  • Customer Notes: After the main customer update, the connector separately fetches and updates customer notes.

Related Settings & Prerequisites

  • `AllowedDebtorCodes`: A semicolon-separated list of debtor codes to sync. If empty, all debtors are synced.

  • `SkipInactiveCustomersDuringSync`: If true, inactive debtors are not synced.

  • `DisabledCustomersPrefix`: A prefix for organization codes that should be excluded from the sync.

  • `CustomerDiscountProductGroupCode`: The product group code to use for retrieving customer-specific discounts.

  • `RetrieveActionPriceLists`: If true, action price lists are retrieved for customers.

  • `TeleComUsedTypeEmail`: The telecom usage code to identify the primary email address.

  • `TeleComUsedTypeTelephone`: The telecom usage code to identify the primary phone number.

  • `OrganisationCategoryGroupIdForPortal4SalesItemStock`: The organization category group ID used to determine if items should have stock.

  • `CategoryCodeToRetrieveAsCustomerClassification`: The category code used to retrieve the customer classification.

Did this answer your question?