Rackbeat - CustomerUpdate
This document describes the process for updating customer data from Rackbeat to App4Sales. The connector retrieves customer information, including their addresses and contact persons, from the Rackbeat API and maps it to the App4Sales data model.
Data Source Configuration
The connector retrieves data from the Rackbeat API. The base URL for the API is configured in the administration settings. The following endpoints are used:
/customers?is_barred=false: Retrieves a list of all active customers./customers/{customer_number}/contacts: Retrieves the contacts for a specific customer./customers/{customer_number}/addresses: Retrieves the addresses for a specific customer./customer_groups: Retrieves customer groups for dropdown fields./payment_terms: Retrieves payment terms for dropdown fields and payment conditions./layouts: Retrieves layouts for dropdown fields./currencies: Retrieves currencies for dropdown fields.
Customer Core Fields
App4Sales Field | Source Field (API/Excel/DB) | Logic/Notes |
CustomerCode | Number | The customer's unique number in Rackbeat. |
CustomerName | Name | The customer's name. |
Discount | GeneralDiscountPercentage | The customer's general discount percentage. |
ContactEmail | The customer's contact email address. | |
Phone | ContactPhone | The customer's contact phone number. |
PaymentConditionCode | PaymentTerms.Number | The number of the customer's payment terms. |
UsesPriceField | Currency, or derived | If a pricelist is linked to the customer, its ID is used. Otherwise, a hash of the lowercase currency code is used. |
VatCode | CompanyVat | The customer's VAT number. |
VatLiable | VatZone | The value is |
LanguageCode | Locale | The customer's language code (e.g., "en-US"). |
Addresses
The connector creates up to three types of addresses for each customer: Visit, Delivery, and Invoice.
App4Sales Field | Source Field (API/Excel/DB) | Logic/Notes |
AddressLine1 | AddressStreet, DeliveryAddress.Street, BillingAddress.Street | The main street address. |
AddressLine2 | AddressStreet2, DeliveryAddress.Street2, BillingAddress.Street2 | Additional address information. |
PostCode | AddressZipcode, DeliveryAddress.Zipcode, BillingAddress.Zipcode | The postal code. |
City | AddressCity, DeliveryAddress.City, BillingAddress.City | The city. |
Country | AddressCountry, DeliveryAddress.Country, BillingAddress.Country | The country. |
Phone | ContactPhone, DeliveryAddress.Phone | The phone number for the address. Not set for Invoice addresses. |
ContactEmail, DeliveryAddress.Email | The email address for the address. Not set for Invoice addresses. | |
AddressType | Hardcoded | "Visit" for the main address, "Delivery" from the delivery address, and "Invoice" from the billing address. A separate API call to the |
IsMainAddress | Hardcoded | Set to |
Contacts
App4Sales Field | Source Field (API/Excel/DB) | Logic/Notes |
ContactId | Number | The contact's unique number in Rackbeat. |
FullName | Name | The contact's full name. |
ContactEmail | The contact's email address. | |
Phonenumber | ContactPhone | The contact's phone number. |
Extra Data & Free Fields
The connector creates dynamic free fields for several customer properties, which are stored as XML in the DynamicFreeFields field.
App4Sales Field | Source Field (API/Excel/DB) | Logic/Notes |
DynamicFreeFields | Layout.Number, PaymentTerms.Number, VatZone | An XML structure containing dropdown values for Layout, Payment Terms, and Vat Zone. |
Related Settings & Prerequisites
The following connector settings affect the customer update process:
VatLiableVatZones: A semicolon-separated list of VAT zones that are considered VAT liable.