Data Sources

Data Source is exactly that - a source of data you configure to read/write data from, or a source of data with an add-in to push data to SharpSync.

A primary source will be a Bill of Materials (BOM) structure and metadata (e.g., part number, description, revision). A secondary source will be Inventory records and BOM data.

Each source may be registered as either a Primary or a Secondary Data Source.

It works as follows:

  • Primary Data Source ↔️ SharpSync ↔️ Secondary Data Source

Core concept: Sources

  • A Primary Data Source is typically a CAD / PDM / PLM source. It is the origin of your CAD data.

  • A Secondary Data Source is typically an ERP / MRP source.

  • SharpSync uses both sources to do bi-directional synchronization, meaning it pulls information from the Primary and writes to the Secondary. It can also pull information from the Secondary and write to the Primary.

  • Currently the application is limited to a single Primary source and a single Secondary source

Core concept: Primary and Alternative Component Identifiers

SharpSync is a synchronization tool. It synchronizes data between two Data Sources. To do this, it uses the following two settings:

  • Primary Component Identifier: The preferred property or meta data name to search

  • Alternative Component Identifier: The alternative property or meta data name to search if the primary returns an empty result.

A Primary (or alternative) component identifier is the meta data, part number or custom property that uniquely identifies the component item (part, assembly, item or drawing) in a Data Source.

Typically this property (in a CAD environment) would be something like Number, PartNumber, No, PartNo. or similar.

Typically in an ERP system, this would be something like Number, PartNo, ItemId, Id or similar.

Example

Let's say we're working with a part called '123'. Our primary identifier is 'PartNumber' and our alternative identifier is 'name'.

The way SharpSync works is that it searches the source for the Primary identifier (in this case the primary identifier is PartNumber). So it searches the source for a component identifier PartNumber with a value of 123.

If nothing is found using an exact match (i.e. no component identifier PartNumber with a value of 123), it will search the source using the Alternative Component Identifier. In this case, the alternative identifier isname, so the source is searched for a component identifier name with a value of 123.

As an example of a Primary Identifier, we have included a screenshot from OnShape. This will of course vary from other platforms:

OnShape Property Map

Core concept: Bom Revision Names

In the Configuration section of a Secondary Source (Typically an ERP), you will find a BOM Revision Scheme field where a naming convention must be specified for BOM revisions.

Some examples may be:

Scheme name
Sample result

{rowData.componentName}

A1

{rowData.componentName}_BOM

A1_BOM

{rowData.componentName}_{rowData.cells.revision}

A1_A or A1_B

Set the schema name. Use curly braces {} to capture dynamic fields from the row data

Some ERPs allows the management of different Bills of Materials for the same assembly at different stages of the design process, typically when a new revision occurs. To facilitate this, a scheme name has to be specified.

In the example above, the name of the component may be used. In addition to this, you can use any Accessor Name from a Property Mapping to get dynamic values.

What's important here is that, when specifying this Schema name, you should not map the value in a property mapping. In other words, do not map the BOM Name or Code in a Property Mapping (you can, but you shouldn't). This is because, when not finding a BOM with a matching name, a new BOM will be created, which is not what you'd want.

Core concepts: Setup

To complete a Data Source's setup, you have to complete at least the following two items:

  • Setup authentication

  • Setup BOM configuration

Select an individual Data Source to view the configuration setup for that source.

Name
Type
Source
Sync
Status

CAD

Primary

➡️

Offline

Primary

➡️

ERP

Secondary

⬅️ ➡️️

[WIP]

ERP

Secondary

⬅️ ➡️️

ERP

Secondary

⬅️ ➡️️

CAD

Primary

⬅️ ➡️️

ERP/PLM

Secondary

⬅️ ➡️️

CAD

Primary

➡️

PDM

Primary

⬅️ ➡️️

See also Troubleshooting

Last updated