Customer Sync

Summary of customer sync via flat file

Introduction

Customer Sync is JOOR's flat file customer integration. A Customer Sync integration adds and updates customer connections in your account. The integration can run up to once per hour and pulls files from an FTP server, the credentials for which will be provided by JOOR.

Basic Requirements

  • Files must be entirely generated by the ERP and may not be manually altered in any way.
  • File format must be configurable in order to match the requirements of the integration.
  • File name must be specified for the integration to be able to pick up new files.
    • We recommend including the word "customer" along with a timestamp.
  • Files must be automatically sent to JOOR's FTP server, hosted by BrickFTP.
    • More on BrickFTP's security technology can be found [here].
  • After receiving a finalized file format, we recommend two weeks of testing by placing files on an FTP and reviewing changes on the JOOR website. This helps to ensure all integration functionality is working properly.
  • Files must be in either .txt or .csv format.
    • We recommend using pipe ("|") as the delimiter as it is unlikely to appear in the customer data.

If any modifications need to be made to the integration after it is live in the Production environment, this must be first communicated to your Customer Success Manager. A test file should be sent containing the updated format. This will be reviewed and an additional round of testing in the Sandbox environment will take place. After the JOOR team has approved this modification, the Production integration will be updated and the new files may be sent.

Tips

  • You do not need to send your full list each time. You can choose to only send the customers that have changed.
  • All new customers will take up to 48 hours to be processed by our Customer Data team. Any updates to existing customers will be processed automatically.
  • We are able to process multiple file formats through Customer Sync. Our standard format features different rows for each billing and shipping address. We then use a column, address_type, to indicate whether the row is a shipping or billing address.
    • If you decide to use Customer Sync, you will need to provide a sample file and our team will ensure that it is workable.

Prerequisites

Before beginning to test the integration, you will need to provide the following information if you plan on including it in your customer file. All fields are optional unless otherwise noted:

  • Currencies and price labels (required)
    • Currency/price label combination must be unique
  • Payment method terms and codes
  • Shipping method terms and codes
  • Sales representative names, codes, and emails
    • The relationship between sales rep email and code is 1 to 1. Each sales rep email address can only be associated with one unique sales rep code.
  • Warehouse names and codes
  • Customer group names and codes
  • Company number names and codes

Testing Scenarios

Basics

  • Add a new connection

Connection Specific Data

  • Add a payment method
  • Update a payment method
  • Add a shipping method
  • Update a shipping method
  • Add a new address (billing & shipping)
  • Update an existing address (billing & shipping)
  • Add an alias
  • Add additional address to existing connection
  • Add a discount
  • Update a discount
  • Add a company number
  • Update a company number
  • Add a door
  • Update a door
  • Add a buyer
  • Update a buyer

Customer Sync Fields

Field NameTemplate Field NameRequired?ValueMaxDescription
profile_nameProfile NameYText100The name of the customer as it is intended to be displayed.
customer_codeCustomer CodeYText100The unique identifier for the specified customer as provided by the client.
customer_aliasCustomer AliasNText150Custom name supplied by the client to identify a connection on JOOR, usually the same as profile_name.
alternate_nameAlternate NameNText100Additional custom name supplied by the client to identify a connection on JOOR.
websiteWebsiteNText255The website associated with the customer.
company_number_nameCompany Number NameNText150The company number to which the customer belongs.
company_number_codeCompany Number CodeNText100The code associated with the company.
customer_group_nameCustomer Group NameNText150The name of the group of retailers to which the customer belongs.
customer_group_codeCustomer Group CodeNText100The code associated with the customer group.
discountDiscountNInteger3The discount associated with the customer.
discount_line_item_levelDiscount Line Item LevelNBooleanN/AA yes/no field indicating whether the discount is at the line item or order level. Required if discount is provided.
sales_rep_codeSales Rep CodeNText255The code for the Sales Representative assigned to the customer.
warehouse_name_%Warehouse NameNText255The name for the warehouse assigned to the customer.
warehouse_code_%Warehouse CodeNText255The code associated with the warehouse.
buyer_name_%Buyer NameNText255The buyer/contact's full name.
buyer_email_%Buyer EmailNText255The buyer/contact's email address. Required if buyer name is provided.
payment_terms_%Payment TermsNText255The name for the method by which the customer pays.
payment_terms_code_%Payment Terms CodeNText255The unique identifier associated with the payment term.
shipping_terms_%Shipping TermsNText255The unique code associated with the shipping term.
price_type_currency_%Price Type CurrencyYText3The 3-digit currency code associated with the customer.
price_type_name_%Price Type NameYText100The label applied to the price associated with the customer (e.g. US Dollar).
address_typeAddress TypeNB or S1A field indicating whether the address contained on the row is a billing or shipping address.
shipping_code_%Shipping CodeYText100The code assigned to the shipping address, often referred to as the store code.
shipping_name_%Shipping NameNText255The name to address for shipping. If blank, customer name will be used.
shipping_address_1_%Shipping Address 1NText100The street address for the shipping address.
shipping_address_2_%Shipping Address 2NText100The secondary address information for the shipping address.
shipping_city_%Shipping CityNText150The city of the shipping address.
shipping_state_%Shipping StateNText40The state of the shipping address. Required if the country is US, CA, JP, or AU.
shipping_zip_%Shipping ZipNText20The zip code of the shipping address.
shipping_country_%Shipping CountryYText100The country of the shipping address.
shipping_email_%Shipping EmailNText255The email associated with the shipping address.
shipping_phone_%Shipping PhoneNText30The phone number for the shipping address.
create_doorsCreate DoorsNBooleanN/AA true/false field indicating whether to create a door for the shipping address, using shipping name and code.
billing_code_%Billing CodeYText100The code assigned to the billing address.
billing_name_%Billing NameNText255The name to address for billing. If blank, customer name will be used.
billing_address_1_%Billing Address 1NText100The street address of the billing address.
billing_address_2_%Billing Address 2NText100The secondary address information for the billing address.
billing_city_%Billing CityNText150The city of the billing address.
billing_state_%Billing StateNText40The state of the billing address. Required if the country is US, CA, JP, or AU.
billing_zip_%Billing ZipNText20The zip code of the billing address.
billing_country_%Billing CountryYText100The country of the billing address.