Skip to main content

Acumatica Customers to iPaaS

Synchronize Customers from Acumatica to iPaaS

Updated over a week ago

Overview

This document outlines the configuration for automatically synchronizing customer records from the Acumatica Customer entity to the iPaaS Customer entity. The integration uses an API-based sync that triggers whenever a customer record is created or updated in Acumatica.

Configuration and Setup

Acumatica

  • Enable API access for the Customer and Contact endpoints.

iPaaS

  • Create and enable an active mapping collection for Customer β†’ Customer.

  • Use an API Key or OAuth Token for authentication with the Acumatica endpoint.

Mapping

Parent Record: Customer

Mapping Type

Source Field (Acumatica)

Destination Field (iPaaS)

Description & Logic

Field

CustomerID

CustomerNumber

Maps the unique customer identifier.

Dynamic formula

CustomerResponse.MainContact.FirstName.Value ?? CustomerResponse.CustomerName.Value

FirstName

Uses the main contact's first name. If blank, it falls back to the customer's name.

Dynamic formula

CustomerResponse.MainContact.LastName.Value ?? CustomerResponse.CustomerName.Value

LastName

Uses the main contact's last name. If blank, it falls back to the customer's name.

Dynamic formula

CustomerResponse.MainContact.Email.Value ?? CustomerResponse.PrimaryContact.Email.Value

EmailAddress

Uses the main contact's email. If blank, it falls back to the primary contact's email.

Dynamic formula

CustomerResponse.MainContact.CompanyName.Value

Company

Maps the main contact's company name.

Child Record: Address

The customer's address details are transferred as a child collection.

Mapping Type

Source Field (Acumatica)

Destination Field (iPaaS)

Description

Dynamic formula

FirstName ?? DisplayName

FirstName

This formula returns the FirstName if it exists; otherwise, it defaults to DisplayName.

Field

AddressLine1

Address1

Field

AddressLine2

Address2

Field

City

City

Field

State

Region

Field

Country

Country

Field

PostalCode

PostalCode

Field

IsPrimaryBilling

IsPrimaryBilling

Field

IsPrimaryShipping

IsPrimaryShipping

Field

Phone1

PhoneNumber

Validation and Error Handling

Validation Rules

  • CustomerID is a required field and serves as the primary identifier.

  • EmailAddress must be in a valid format (e.g., name@domain.com).

  • CustomerName cannot exceed 50 characters unless customized in Acumatica.

  • PostalCode cannot exceed 20 characters.

  • Each customer must have at least one address designated as Primary Billing and one as Primary Shipping.

Errors

Missing CustomerID

  • Description: The sync fails because the CustomerID is missing, and iPaaS cannot identify the record.

  • Resolution: Ensure every customer record in Acumatica has a unique CustomerID before syncing.

Invalid Email Format

  • Description: The email address does not follow the standard format (e.g., missing '@').

  • Resolution: Correct the email format in Acumatica. The integration rejects invalid emails and logs an error.

String Length Exceeded

  • Description: The CustomerName is longer than the default 50-character limit in Acumatica.

  • Resolution: Truncate the name or extend the field length in Acumatica via customization.

Null Contact Data

  • Description: FirstName or LastName is missing, and no fallback CustomerName is available.

  • Resolution: Ensure fallback logic is correctly applied or update the source record with the required contact information.

Additional Notes

  • Manual Transfers: When manually syncing a customer, you must enter the exact Acumatica CustomerID (e.g., 10) into the iPaaS manual sync input field.

  • Character Limits: The CustomerName field in Acumatica is limited to 50 characters by default. This can be extended by customizing the Data Access Class (DAC) and the database schema.

  • Duplicate Detection: For future scalability, consider implementing a duplicate detection strategy, such as identifying records with the same email address.

  • Troubleshooting: Enable detailed logging in iPaaS to capture information about sync failures and assist with troubleshooting.

Did this answer your question?