Automated CAD BOM synchronization between Aras and Teamcenter reduced manual entry and improved data accuracy

We recently completed an automated BOM synchronization project between Aras Innovator 12.0 and Teamcenter that eliminated manual data entry and improved accuracy significantly.

Our engineering team works across both systems - CAD designs in Teamcenter and product lifecycle in Aras. Previously, engineers manually transferred BOM data between systems, causing errors and delays of 2-3 days per product release.

The solution uses Aras REST API to pull BOM structures from Teamcenter on scheduled intervals. Key implementation areas included REST API integration for secure communication, CAD BOM field mapping to align different data structures, and scheduled sync jobs running every 4 hours during business days.

The automation reduced BOM transfer time from days to minutes and eliminated 95% of data entry errors. Has anyone else implemented similar cross-system BOM synchronization? I’d be happy to share technical details about our approach.

Did you implement any conflict resolution logic? What happens when the same part is modified in both systems between sync cycles? Also, how do you maintain traceability - can users see which BOM data came from Teamcenter versus manual entries in Aras?

How do you handle the scheduled sync jobs? Are you using Aras Server Events or an external scheduler? We tried using Aras scheduled methods but found performance issues when processing large BOMs with hundreds of components. Also curious about your sync frequency - every 4 hours seems aggressive for large assemblies.

Good questions. For authentication, we implemented OAuth 2.0 with token refresh mechanisms. Teamcenter credentials are stored encrypted in Aras vault, and the integration service runs with minimal permissions - read-only access to BOM structures. The REST calls authenticate once per sync session and reuse tokens.

For field mapping, we created a configuration table in Aras that maps Teamcenter attributes to Aras properties. Some custom properties were needed for CAD-specific data like revision schemes and unit of measure conversions. The mapping table is editable by admins without code changes.

Excellent questions - these were critical design decisions. Let me walk through our complete technical implementation:

REST API Integration Architecture: We built a middleware service in C# that acts as the integration bridge. The service authenticates to both systems using OAuth 2.0 tokens stored in Azure Key Vault. For Aras, we use the standard REST API with bearer token authentication. Teamcenter integration uses their SOA services exposed through REST endpoints.

Authentication flow:


// Pseudocode - Authentication sequence:
1. Retrieve encrypted credentials from Azure Key Vault
2. Authenticate to Teamcenter SOA and obtain session token
3. Authenticate to Aras REST API with OAuth bearer token
4. Store tokens in memory cache (4-hour expiry)
5. Implement token refresh logic before expiration

CAD BOM Field Mapping: We created a custom ItemType called “TC_BOM_Mapping” in Aras that stores field mappings in a configuration-driven approach. Each mapping record defines:

  • Source field (Teamcenter attribute)
  • Target field (Aras property)
  • Transformation rules (data type conversion, unit conversion, value mapping)
  • Validation rules

For complex hierarchies, we implemented a recursive traversal algorithm that processes BOM structures level by level. The system handles up to 15 levels deep (our maximum assembly complexity). Each level maintains parent-child relationships using Aras Part BOM structure.

Mapping example:


Teamcenter Field -> Aras Property
item_id -> item_number
revision_id -> major_rev
uom -> unit_of_measure (with conversion table)
find_number -> find_num
quantity -> quantity

Scheduled Sync Jobs Implementation: The Windows service runs as a scheduled task with the following workflow:

  1. Change Detection: Query Teamcenter for items modified since last sync timestamp using date_modified filter
  2. Data Extraction: Retrieve full BOM structure for changed items including all child components
  3. Transformation: Apply field mappings and business rules from configuration table
  4. Validation: Check data integrity, required fields, and business constraints
  5. Aras Update: Use batch API calls to create/update Parts and BOM relationships
  6. Logging: Record all changes, errors, and sync statistics

Conflict Resolution: We implemented a “source of truth” model where Teamcenter is authoritative for CAD-originated data. Aras modifications to synced fields are flagged and reported but not overwritten automatically. Administrators receive daily reports of conflicts requiring manual review.

Each synced Part in Aras has custom properties:

  • tc_source_id (Teamcenter item ID)
  • tc_last_sync (timestamp)
  • tc_sync_status (success/conflict/error)
  • is_tc_managed (boolean flag)

Traceability: We added a “Source System” field to Parts that displays “Teamcenter” for synced items. A custom relationship “TC_Sync_History” tracks every sync operation with before/after snapshots. Users can view full audit trail showing which fields came from Teamcenter versus manual Aras entries.

Performance Optimization: For large BOMs (500+ items), we implemented:

  • Parallel processing using TPL in C# (max 10 concurrent threads)
  • Batch API calls (50 items per request)
  • Delta sync based on modification timestamps
  • Database indexing on tc_source_id and tc_last_sync fields

Results: Average sync times: Small BOMs (<50 items) = 30 seconds, Medium BOMs (50-200 items) = 3-5 minutes, Large BOMs (200-500 items) = 8-12 minutes

Error rate dropped from 15% manual entry errors to <1% sync errors

Engineering time savings: 16 hours per week across team

The key to success was treating this as a data integration project with proper mapping configuration, conflict handling, and monitoring rather than a simple API connection.

We use an external Windows service with Quartz scheduler rather than Aras Server Events. This gives us better control over resource allocation and error handling. The service calls Aras REST API endpoints to create/update Parts and BOM relationships.

For large assemblies, we implemented incremental sync - only processing items changed since last run based on Teamcenter modification timestamps. Full sync runs weekly on weekends, incremental runs every 4 hours weekdays. Average sync processes 50-200 items in 3-5 minutes.