Connector Implementation: General Information
A connector between MYOB Acumatica and an external system is a plug-in that synchronizes particular entities in MYOB Acumatica with the corresponding entities in the external system. This synchronization can be performed based on a schedule or in real time.
Learning Objectives
In this chapter, you will learn how to create a custom connector.
Applicable Scenarios
You create a connector between MYOB Acumatica and an external system if you need to synchronize data between MYOB Acumatica and the external system.
Parts of the Connector
The connector consists of the following major parts, which are shown in the diagram below:
- Classes for MYOB Acumatica entities, which function as adapters for the entities of the contract-based REST API of MYOB Acumatica. For more information about these classes, see Connector Implementation: Classes for MYOB Acumatica Entities.
- Classes for external entities, which function as adapters for the entities of the REST API of the external system. For details about these classes, see Connector Implementation: Classes for External Entities.
- Mapping classes, which define the mappings between internal and external entities. Mapping classes are described in Connector Implementation: Mapping Classes.
- Bucket classes, which define buckets of entities whose synchronization depends on one another. For more information, see Connector Implementation: Bucket Classes.
- Processor classes, which implement the synchronization of the entities between the external system and MYOB Acumatica. Processor classes are described in greater detail in Connector Implementation: Processor Classes.
- A connector class, which connects other classes in the connector code with MYOB Acumatica forms and defines the settings for these forms. For details about the implementation of the connector class, see Connector Implementation: Connector Class.
- A connector's factory class, which initializes the connector. For details about the connector's factory class, see Connector Implementation: Connector's Factory Class.
- A configuration form where an administrator can specify the basic settings of the connector. For example, for the built-in BigCommerce connector, MYOB Acumatica provides the BigCommerce Stores (BC201000) configuration form.

Creation of a Connector for an External System
To create a connector for an external system, you need to perform the following general steps:
- Creating an extension library for MYOB Acumatica.
Before you develop the connector for the external system, you need to create an extension library and include it in an MYOB Acumatica customization project. For details about the creation of an extension library, see To Create an Extension Library.
MYOB Acumatica Customization Platform adds the default references to the project of the extension library, such as PX.Data and PX.Common. For the creation of the connector for the external system, you also need to add the references to the following assemblies located in the Bin folder of the MYOB Acumatica instance:
- PX.Commerce.Core.dll: Required for the implementation of any commerce connector
- PX.Commerce.Objects.dll: Required for the implementation of any commerce connector
- PX.Commerce.BigCommerce.dll: Necessary only if you want to use particular features implemented for the BigCommerce connector
- PX.Api.ContractBased.dll: Necessary only if you plan to implement custom classes for MYOB Acumatica entities
- PX.Data.BQL.Fluent.dll: Necessary only if you plan to use fluent BQL queries instead of traditional BQL queries
You also need to add references to the following external libraries:Important:You need to use the same version of the library as the one located in the Bin folder.- RestSharp
- CommonServiceLocator
- Microsoft.Bcl.AsyncIntefaces
- Newtonsoft.Json
- Serilog
- System.Threading.Tasks.Extensions
- Creating classes for MYOB Acumatica entities.
You need to create classes for the MYOB Acumatica entities to be synchronized with the external system through the connector. For details about the classes, see Connector Implementation: Classes for MYOB Acumatica Entities.
- Creating classes for external entities.
You need to create classes for the external entities that you need to synchronize with the MYOB Acumatica system through the connector. For details about the classes, see Connector Implementation: Classes for External Entities.
- Defining the mapping classes between the internal and external entities.
For each pair of an internal entity and an external entity that should be synchronized, you must create a mapping class. For details about the mapping classes, see Connector Implementation: Mapping Classes.
- Creating the bucket classes for the mapped entities.
For each mapping class, you need to create a bucket class. For details about bucket classes, see Connector Implementation: Bucket Classes.
- Creating a DAC with the connector’s configuration settings.
You need to create a DAC with the configuration settings that will be used by the connector. For an example of the DAC, see Connector Implementation: DAC for the Connector's Configuration Settings. For this DAC, you also need to add a database table and include it in the customization project.
- Implementing a REST client of the external system.
You need to implement a REST API client of the external system.
Attention:The external system determines which classes you need to implement and how the connector communicates with the external system. - Implementing the processor classes.
For each pair of entities that you need to synchronize, you need to create a processor class. For details about processor classes, see Connector Implementation: Processor Classes.
- Implementing the connector class.
In the connector class, you need to implement the synchronization of the MYOB Acumatica entities and the external entities. For a detailed description of the connector class, see Connector Implementation: Connector Class.
- Implementing the connector's factory class.
For the system to create the connector class, you need to implement the connector's factory class. For details about the connector factory class, see Connector Implementation: Connector's Factory Class.
- Creating the configuration form.
For a user to specify the basic settings of the connection with the external system, you need to create a custom form in MYOB Acumatica. You can create the form in either of the following ways:
- From scratch. For details about the creation of custom forms, see To Develop a Custom Form, or review the T200 Maintenance Forms training course.
- By using the configuration forms that are available for the predefined connectors as a template and adjusting these forms.
- Testing the connector.
When you have completed the development of the connector, you need to test the connector. To start the testing of the connector, you need to enable the Custom Connectors feature on the Enable/Disable Features (CS100000) form. (The corresponding check box can be found under on this form.)