Skip to main content

Acumatica to iPaaS.com Company Mapping Documentation

How Acumatica customer business accounts and their Main, Billing, and Shipping addresses are transferred into iPaaS.com as Customer Company records, including ID format, duplicate handling, field mappings, key-preservation custom fields, and caveats.

Summary

iPaaS.com Customer Company records can be transferred from Acumatica using an Add/Update sync method. This mapping reads an Acumatica customer business account by its Customer ID and builds an iPaaS.com Company with the company name, email, phone, fax, website, account number, parent company, description, and tax ID number, carrying up to three addresses (Main, Billing, and Shipping) through a child collection. Companies are captured by the company poll, with the first transfer of one of their contacts, or by a Manual Sync, and the subscriber's collection filters decide which accounts are companies. The integration reads it through the standard Acumatica web service endpoint; no Acumatica customization is needed.

Customers and Companies

In Acumatica, customers and companies are the same record: the customer business account (the Customers form, screen AR303000). Two collections read that record:

  • Add/Update Acumatica Customer TO iPaaS.com writes an account as an iPaaS.com Customer.

  • Add/Update Acumatica Company TO iPaaS.com writes an account as an iPaaS.com Company.

The customer poll and the company poll both return every account changed in Acumatica, so each account reaches both collections. The integration does not decide which accounts are companies: the subscriber does, with the mapping filters of the two collections. The filters should be complementary, so that every account matches exactly one of them.

Base the split on a value that is set on purpose in Acumatica, such as the Customer Class, and not on anything that changes as users work, such as whether the account has contacts. The two collections come with a split on the customer class COMPANY:

  • Add/Update Acumatica Company TO iPaaS.com: CustomerClass == "COMPANY"

  • Add/Update Acumatica Customer TO iPaaS.com: RecordType != "Contact" && CustomerClass != "COMPANY"

The Customer collection's filter is evaluated for Acumatica contacts as well, so it can only use values that both customer accounts and contacts have. Acumatica contacts carry the Customer Class of their business account, which makes it the value to split on; a filter on another account value, such as an attribute, makes every contact transfer fail with a filter error. Until accounts are placed in a customer class named COMPANY in Acumatica, every account is transferred as an iPaaS.com Customer and none as a Company. To split on a different value, change both filters together so they stay complementary.

ID Format

Manual Sync ID Format

When manually transferring a company, enter the Acumatica Customer ID, the business account code shown on the customer record. For example, entering AACUSTOMER transfers the Acumatica customer whose Customer ID is AACUSTOMER. Addresses have no Manual Sync of their own; transfer the parent company to transfer or refresh them.

External ID Format

After a successful transfer, iPaaS.com records the Acumatica Customer ID (for example, AACUSTOMER) as the external ID of the Company on a dedicated external-ID record. Later transfers of the same customer, whether by Manual Sync or through one of its contacts, use this link to update the existing iPaaS.com Company rather than create a new one.

Each address is linked separately by the Customer ID together with its address role (Main, Billing, or Shipping), for example AACUSTOMER|Billing, so a later transfer updates the same iPaaS.com address.

When a customer is not yet linked, the integration also looks for an existing iPaaS.com Company with the same name before creating one (see Duplicate or Conflicting Mappings). After the first successful transfer, the external-ID link is what routes every later transfer.

Deleted Record Support

Removing or deactivating a customer in Acumatica is not sent to iPaaS.com as a delete through this collection, and delete mappings are not included in the default templates.

Mapping Collection Status

Status: Enabled

Trigger Events: Acumatica does not push company changes to the integration. A company reaches iPaaS.com in three ways:

  • Company poll: on each scheduled poll, the integration reads the Acumatica customer accounts changed since the last poll and sends each one to this collection. The mapping filter decides which of them are transferred as companies. This creates new companies, including companies with no contacts, and updates companies already in iPaaS.com.

  • With a contact's first transfer: when an Acumatica contact is transferred through Add/Update Acumatica Contact TO iPaaS.com and its business account is a customer that is not yet in iPaaS.com, the account is sent to this collection first, once, and the contact is then linked to the company. When the filter skips the account, no company is created and the contact is transferred without a company relationship.

  • Manual Sync: a subscriber can transfer a specific company on demand from the iPaaS.com Manual Sync page by entering its Acumatica Customer ID.

A contact transfer does not resend a company that is already in iPaaS.com; later changes to the company are sent by the company poll. The first company poll on a subscription, when no earlier company poll time has been saved, reads every customer account in Acumatica; the filter then transfers only the accounts it takes as companies.

Duplicate or Conflicting Mappings

The following collections operate on the same Acumatica records:

  • Add/Update Acumatica Customer TO iPaaS.com: reads the same Acumatica customer accounts and writes them as iPaaS.com Customer records. Unless the two filters are complementary, an account can be transferred by both collections and exist in iPaaS.com both as a Customer and as a Company.

  • Add/Update Acumatica Contact TO iPaaS.com: transfers Acumatica contacts and triggers the first transfer of their company through this collection.

  • Add/Update Acumatica Customer Address TO iPaaS.com: transfers the addresses of Acumatica customers onto iPaaS.com Customer records, so unless the filters of the Customer and Company collections are complementary, the same Acumatica address can appear on both an iPaaS.com Customer and an iPaaS.com Company.

Set the filters of this collection and the Customer collection together, so that each Acumatica account is transferred by exactly one of them (see Customers and Companies).

Duplicate handling: Duplicate handling for this collection is automatic; it does not use the Collision Handling Method setting.

  • When a customer that is not yet linked is transferred, the integration searches iPaaS.com for a Company with the same name (not case-sensitive). Companies already linked to a different Acumatica customer are ignored.

  • When exactly one company matches, it is linked to the Acumatica customer and updated instead of a second company being created.

  • When no company matches, a new Company is created.

  • When more than one company matches, the integration does not choose between them and links none; it tries to create a new Company, which iPaaS.com accepts only when no company already has that name.

  • A customer with a blank name is not matched and cannot be created as a company, because iPaaS.com requires a company name. The transfer fails until a name is entered on the customer in Acumatica.

  • Whenever the company is linked to an iPaaS.com Company, each Acumatica address that is not yet linked (for example, a Shipping address added later in Acumatica) is compared with the addresses already on that Company. An address matches when address line 1, address line 2, city, region, country, and postal code are the same (not case-sensitive, ignoring surrounding spaces) and the primary billing and primary shipping flags are the same. A single match is linked and updated; with no match, or more than one, a new address is added to the Company.

Supported Child Collections

  • Add/Update Acumatica Company TO iPaaS.com (parent): builds the iPaaS.com Customer Company from the Acumatica customer and its main, primary, and billing contacts.

  • Add/Update Acumatica Company Address TO iPaaS.com (child): transfers the company's Main, Billing, and Shipping addresses as part of the parent transfer. It runs automatically with the parent Company transfer and is not invoked independently.

System Caveats

Acumatica Caveats

  • Customers only: a company is an Acumatica business account of type customer. Other business accounts, such as vendors or prospects, are not transferred as companies.

  • Contact fallback for email and phone: the company email and phone come from the customer's main contact, then the primary contact, then the billing contact, whichever has a value first. The shipping contact is not part of this fallback. The website comes from the main contact only.

  • Billing and shipping addresses that repeat the main address: when an Acumatica customer's billing or shipping address is not overridden, it repeats the main address. The integration still sends it as its own Billing or Shipping address, so the iPaaS.com Company can hold two or three addresses with the same street text but different roles.

  • Partial addresses: a contact address is not sent when address line 1, city, and postal code are all blank; an address with at least one of them is sent.

iPaaS.com Caveats

  • Company name is required and unique: iPaaS.com requires a name on every Customer Company, and no two companies can have the same name. A customer with a blank name, or with the name of a company linked to another Acumatica customer, cannot be created as a company.

  • Tax ID number: the Acumatica Tax Registration ID is stored in the native tax ID number field of the iPaaS.com Company, and a copy is kept in the custom field Acumatica Tax Id Number.

  • Key-preservation custom fields: the custom fields Acumatica Customer ID and Acumatica Tax Id Number must be configured on the iPaaS.com Customer Company for their values to be retained. A custom field keeps its value when another integration updates the record without mapping it, while standard fields such as AccountNumber and TaxIdNumber are replaced by whichever integration writes the record last, so the custom field keeps a dependable copy of the Acumatica value.

  • Region: the Acumatica address State maps to the iPaaS.com Region field; both hold the state, province, or region of the address.

Setup Requirements

Acumatica Configuration

With the shipped filters, an account is transferred as a company when it is in a customer class named COMPANY (Customer Classes, screen AR201000). Create that class and assign it to the company accounts, or change both filters to a value of your choice. Give the class the defaults Acumatica requires on its accounts, such as a statement cycle: Acumatica applies the class defaults when an account is moved to the class.

No Acumatica customization is needed. The integration reads companies through the standard Acumatica web service endpoint (Default) at the version set in the Version setting of your iPaaS.com Acumatica subscription.

iPaaS.com Configuration

  • The child collection Add/Update Acumatica Company Address TO iPaaS.com must be active for addresses to be transferred with the company.

  • To have companies transferred with their contacts, the collection Add/Update Acumatica Contact TO iPaaS.com must be active.

  • The custom fields Acumatica Customer ID and Acumatica Tax Id Number must be configured on the iPaaS.com Customer Company.

Authentication & Security

The integration authenticates to the Acumatica instance with OAuth 2.0; the Acumatica company it works in is set by the Connected Application's Client Id. The full authentication walkthrough is covered in the Acumatica Connections and Settings and Acumatica Installation Instructions articles; this document does not repeat it.

Prerequisite Handling

This collection has no prerequisites of its own in iPaaS.com; it is itself the prerequisite for Acumatica contacts. Subscribers do not need to transfer companies before their contacts: the integration handles it as part of the contact transfer.

  • Company first: when a contact is transferred and its business account is an Acumatica customer that is not yet linked to an iPaaS.com Company, the account is sent to this collection first, with the filter and the duplicate handling described here, and the contact is then linked to the company. A company that is already linked is not transferred again.

  • An account the filter skips: no company is created; the contact is transferred without a company relationship and a warning is written to the integration log.

  • A failed company transfer blocks the contact: if that company transfer fails with an error, the contact transfer fails with error ACUM-EXTN-1005. Resolve the company error (shown with the contact error in Dashboard / Integration Monitoring / Error Logs), then transfer the contact again.

  • Non-customer business accounts: a contact whose business account is not an Acumatica customer (for example, a vendor), or whose business account cannot be read from Acumatica at the time of the transfer, does not cause a company transfer. The contact is transferred without a company link and no error is recorded. Transfer the contact again later to add the link once the company can be read.

The contact side of this flow is covered in the Acumatica to iPaaS.com Contact Mapping Documentation.

Integration Flow

  1. The company poll finds the account changed in Acumatica, a subscriber runs a Manual Sync with the Acumatica Customer ID, or a contact transfer finds that the contact's business account is not yet linked to an iPaaS.com Company. The mapping filter decides whether the account is transferred as a company.

  2. The customer is retrieved from Acumatica through the standard Default web service endpoint, with its main, primary, billing, and shipping contacts and their addresses.

  3. Company-level values are built from those contacts: email and phone come from the main contact, then the primary contact, then the billing contact; the website comes from the main contact.

  4. If the customer is not yet linked to an iPaaS.com Company, the integration looks for an existing, unlinked Company with the same name and links it. Otherwise the existing link is used.

  5. Whenever the company is linked, each Acumatica address that is not yet linked is compared with the addresses already on that Company and linked when exactly one matches.

  6. The Company is created in iPaaS.com, or updated when it is already linked.

  7. The Main, Billing, and Shipping addresses are created or updated under the same Company through the child collection, and each is linked back to its Acumatica customer and address role.

Mappings

Add/Update Acumatica Company TO iPaaS.com

iPaaS.com data type: Customer Company

Mapping Filter

CustomerClass == "COMPANY"

Filter Description. The filter is the complement of the Customer collection's filter (see Customers and Companies). Until accounts are placed in a customer class named COMPANY, no account is transferred as a company. An account the filter skips is not created as a company, also when one of its contacts is transferred; that contact is transferred without a company relationship.

Description: Builds the iPaaS.com Customer Company from the Acumatica customer and its main, primary, and billing contacts.

Mapping Type

Source Field (Acumatica)

Destination Field (iPaaS.com)

Description

Field

CustomerName

Name

Required. The Acumatica Customer Name. iPaaS.com requires a name on every Company, so a customer with a blank name cannot be created as a company. The name is also used to find a matching, unlinked iPaaS.com Company on the first transfer. The match always compares the Acumatica Customer Name, even when Name is remapped to a different source, so remapping it can stop the match from recognizing companies that already exist in iPaaS.com.

Field

Email

EmailAddress

Recommended. The company email, taken from the main contact, then the primary contact, then the billing contact. When none of these contacts has an email, the value is sent empty.

Field

Phone1

PhoneNumber

Recommended. The company phone (Phone 1), taken from the main contact, then the primary contact, then the billing contact. When none of these contacts has a phone, the value is sent empty. A phone change made in Acumatica reaches iPaaS.com with the next poll.

Field

WebSite

Url

Optional. The website of the main contact. There is no fallback to other contacts; when the main contact has no website, the value is sent empty.

Field

Note

Description

Optional. The note attached to the Acumatica customer. When the customer has no note, or the note is blank, the description is sent empty.

Field

TaxRegistrationID

TaxIdNumber

Optional. The Acumatica customer's Tax Registration ID, stored in the native tax ID number field of the iPaaS.com Company. When the customer has no tax registration ID, the value is sent empty. A copy is kept in the custom field Acumatica Tax Id Number.

Field

MainContact_Fax

FaxNumber

Optional. The fax of the main contact. There is no fallback to other contacts; when the main contact has no fax, the value is sent empty.

Field

CustomerID

AccountNumber

Optional. The Acumatica Customer ID (the business account code, for example AACUSTOMER). Other integrations that write Companies can replace this standard field; the custom field Acumatica Customer ID keeps a copy.

Dynamic Formula

See the formula below the table.

ParentCompanyId

Optional. The iPaaS.com Company of the customer's Parent Account. Set only when the parent account is already in iPaaS.com as a Company; otherwise the value is sent empty, and the next transfer of the company sets it once the parent is in iPaaS.com.

Field

CustomerID

Acumatica Customer ID (custom field)

Optional. The Acumatica Customer ID, kept as a custom field. A custom field keeps its value when another integration updates the record without mapping it, while standard fields such as AccountNumber are replaced by whichever integration writes the record last, so the custom field keeps a dependable copy of the Acumatica value.

Field

TaxRegistrationID

Acumatica Tax Id Number (custom field)

Optional. The Acumatica customer's Tax Registration ID, kept as a custom field. A custom field keeps its value when another integration updates the record without mapping it, while standard fields such as TaxIdNumber are replaced by whichever integration writes the record last, so the custom field keeps a dependable copy of the Acumatica value.

The ParentCompanyId dynamic formula:

var parentId = string.IsNullOrEmpty(ParentRecord) ? null : await GetSpaceportIdAsync(ParentRecord, "Company", SpaceportSystemId);
if(parentId != null)
return parentId;
return null;

The Acumatica customer record exposes further values that subscribers can add to the mapping, such as customer class, status, terms, currency, and price class. Subscribers should validate any added mapping in a staging environment before relying on it in production.

Add/Update Acumatica Company Address TO iPaaS.com

iPaaS.com data type: Customer Company Address

This child collection has no mapping filter; every Main, Billing, and Shipping address that has address data is processed. It runs as part of the parent Company transfer and is never invoked standalone.

Description: Transfers the Acumatica customer's Main address (from the main contact), Billing address (from the billing contact), and Shipping address (from the shipping contact) onto the iPaaS.com Company, carrying the primary billing and shipping flags so each address keeps its role.

Mapping Type

Source Field (Acumatica)

Destination Field (iPaaS.com)

Description

Field

AddressLine1

Address1

Recommended. The primary street line of the address.

Field

AddressLine2

Address2

Optional. Suite, unit, or additional street detail.

Field

City

City

Recommended. Part of a complete address.

Field

State

Region

Recommended. The Acumatica field is named State, but it holds the state, province, or region, which iPaaS.com stores as Region.

Field

PostalCode

PostalCode

Recommended. Part of a complete address.

Field

Country

Country

Recommended. The value is sent in the country code format Acumatica stores (for example, US). Important for correct address formatting downstream.

Field

CompanyName

Company

Optional. The company name on the Acumatica contact. When the contact has no company name, the integration uses the Acumatica Customer Name instead, so the address always carries the business name.

Field

IsPrimaryBilling

IsPrimaryBilling

Recommended. True only for the Billing address, taken from the Acumatica billing contact; false for the Main and Shipping addresses. Keeps the address role.

Field

IsPrimaryShipping

IsPrimaryShipping

Recommended. True only for the Shipping address, taken from the Acumatica shipping contact; false for the Main and Billing addresses. Keeps the address role.

The contact first name, last name, phone, and email of each address are also available as source values but are not mapped by default. Subscribers who add them should validate the result in a staging environment before relying on it in production.

Error Handling

Errors appear in Dashboard / Integration Monitoring / Error Logs. For general guidance on Acumatica error messages and codes, see Acumatica Error Messages.

  • Customer not found (ACUM-NFND-1009): the Customer ID entered for a Manual Sync does not exist as a customer in Acumatica. Resolution: check the Customer ID on the Acumatica Customers (AR303000) form and transfer again.

  • Existing company could not be linked (ACUM-BIZL-1002): an unlinked iPaaS.com Company with the same name was found, but the link to it could not be saved. The transfer stops rather than create a duplicate company. Resolution: transfer the company again once the cause is resolved.

  • Existing company address could not be linked (ACUM-BIZL-1003): a matching address was found on the iPaaS.com Company, but the link to it could not be saved. The transfer stops rather than add a duplicate address. Resolution: transfer the parent company again once the cause is resolved.

  • Related company could not be transferred first (ACUM-EXTN-1005): reported on a contact transfer when the transfer of its company to iPaaS.com failed with an error. Resolution: resolve the company error shown with it, then transfer the contact again. An account that the filter skips is not an error: the contact is transferred without a company relationship.

  • Company name already used (NFND-1029): iPaaS.com company names are unique, and the only company with the customer's name is linked to a different Acumatica customer. Resolution: give the Acumatica customers distinct names, or rename one of the iPaaS.com companies, and transfer again.

  • Blank company name: the Acumatica customer has no name, so iPaaS.com cannot create the Company. Resolution: enter a name on the customer in Acumatica and transfer the company again.

If Acumatica is temporarily unavailable during a transfer, the transfer fails and an error appears in Dashboard / Integration Monitoring / Error Logs; the next company poll or a Manual Sync transfers the company again.

Testing & Validation

Test Scenarios

  1. Run a Manual Sync with the Acumatica Customer ID of a customer that has main, billing, and shipping addresses, and verify the Company name, email, phone, fax, website, account number, description, tax ID number, and the custom fields Acumatica Customer ID and Acumatica Tax Id Number, and the Main, Billing, and Shipping addresses with their primary flags in iPaaS.com.

  2. Transfer the same customer again and confirm the existing iPaaS.com Company and its addresses are updated rather than duplicated.

  3. Change the phone number of the customer's main contact in Acumatica and confirm the change reaches the same iPaaS.com Company on the next company poll.

  4. Transfer an Acumatica contact whose business account is a customer not yet in iPaaS.com, and confirm the Company is created first and the contact is linked to it.

  5. Create an unlinked iPaaS.com Company with the same name as an Acumatica customer, transfer the customer, and confirm the existing Company is linked and updated instead of a second one being created.

  6. Run a Manual Sync with a Customer ID that does not exist in Acumatica and confirm error ACUM-NFND-1009 appears in Dashboard / Integration Monitoring / Error Logs.

  7. With the split filters set (for example by customer class), confirm that an account in the company class becomes only a Company, an account in another class only a Customer, and that a contact of the Customer account is transferred without a company relationship.

Validation Checklist

  • The custom fields Acumatica Customer ID and Acumatica Tax Id Number are configured on the iPaaS.com Customer Company.

  • Every Acumatica customer to be transferred has a Customer Name.

  • The tax registration ID appears in the native tax ID number field of the iPaaS.com Company and in the custom field Acumatica Tax Id Number.

  • Each address carries the correct role: only the Billing address is flagged as primary billing, and only the Shipping address as primary shipping.

  • The filters of this collection and Add/Update Acumatica Customer TO iPaaS.com are set to complementary split criteria.

  • Acumatica customers that are transferred as companies have distinct names, because iPaaS.com company names are unique.

Additional Notes

  • This collection only transfers companies from Acumatica into iPaaS.com. Changes made to a Company in iPaaS.com are not written back to Acumatica.

  • Bulk initialization is not available for this collection; companies are transferred by the company poll as they change, by Manual Sync, or with their contacts.

  • The child address collection runs with the parent; addresses cannot be transferred on their own. Only the main, billing, and shipping contact addresses of the customer are transferred; addresses of other contacts are handled by the Contact collections.

At the time this documentation was written:

  • First company poll reads every account: The first company poll on a subscription, when no earlier company poll time has been saved, reads every customer account in Acumatica; the filter then transfers only the accounts it takes as companies.

  • Accounts with the same name: iPaaS.com company names are unique, so two Acumatica customers with the same name cannot both be transferred as companies; the second fails with NFND-1029.

  • Changing the split later: when the filters change so that an account moves from one collection to the other, the record the account had in iPaaS.com is not removed or converted; it stays as it was, and the account is transferred as the other record type from then on.

Related Documents

Related Mapping Documentation

Did this answer your question?