Table of Contents
Get a trial For PDMPublisher for SOLIDWORKS PDM Professional (Task version). No commitment or credit card required. Professional email required.

Odoo Connector

Use Push to send selected SOLIDWORKS items to Odoo. Use Pull to bring mapped product values into SOLIDWORKS.

Connect to Odoo

You need Odoo 19 or later with JSON-2 external API access. The Odoo user needs permission to read products and to make the changes you plan to publish.

  1. In Odoo, open My Preferences > Security > API Keys. Create a key with the rpc scope and copy it.
  2. In SOLIDWORKS, open PDMPublisher > Settings > ERP Sync. Open the connector settings, select Odoo, and choose Download if needed.
  3. Enter the server URL and API key. Leave Database empty unless your server requires a database name.
  4. Select Test connection, then Save.

Odoo connector settings showing Use readable relation names under Items

Match products and map properties

Under Items, set Item code column to the SOLIDWORKS property that holds the Odoo Internal Reference. The default is PartNumber. Each reference must identify one Odoo product.

Open Property mappings and pair each SOLIDWORKS property with a writable Odoo field. For example, map Category to categ_id. Select Load ERP fields to refresh the list after adding a field in Odoo.

Property mapping dialog with sample fields, SOLIDWORKS property and ERP field dropdowns

Use readable relation names is on by default. Push preview and Pull show labels such as Goods. Turn it off to use record IDs such as #6. Push accepts either an exact, unique label or an ID. If a label is ambiguous, Pull keeps the ID. To convert IDs already stored in SOLIDWORKS, turn the option on, run Pull, and select Apply to SOLIDWORKS.

Enable Skip empty values to preserve existing values when the source is blank. If a mapped property is missing in SOLIDWORKS, Push can create it using the existing product's value or, for a new product, the Odoo default when available. The readable names setting applies here too.

Sync product variants

In Settings > ERP Sync, enable Choose Odoo product / variant scope and choose where to read the Item code column property:

Mode Item code source
Document per variant The document's Custom tab. Each file identifies one variant.
Configuration per variant The selected configuration's properties. Each configuration identifies one variant.

Push matches the item code to an existing product or variant's unique Internal Reference. When Create items is enabled, an unmatched code creates a product using that reference. A blank code creates a product using Odoo-generated references when enabled, then writes the returned number into the selected property scope. The preview shows updates and new products together. Existing references are not replaced.

Pull requires an existing reference. Configuration names do not select Odoo variants, and configuration mode does not fall back to the Custom tab. Cut-list items use their own properties.

This option is off by default. When enabled, its scope controls both item-code lookup and generated-number storage, overriding Save generated part numbers to. Write mapped properties to still controls other mapped values. Save modified SOLIDWORKS documents to retain returned numbers and recovery links.

Cost, weight, volume, barcode, and variant-specific custom properties apply to the matched variant. Fields such as name and category are shared across the Odoo product's variants. Select (i) in a changed shared-field cell to see its effect on all variants, including unselected ones. Selected sibling variants must propose the same value for a shared field.

Thumbnails and exported attachments target the matched variant. For products with multiple variants, BOM sync updates a dedicated variant BOM or previews creating one. The shared template BOM remains unchanged. BOM lines with attribute-based applicability filters are not supported.

To link variants of an existing product, create their attributes and variants in Odoo and assign unique Internal References. New products created by sync are separate products, not additional attribute variants of an existing product. An existing product without a reference cannot be matched automatically.

Generate part numbers

If Odoo assigns Internal References, enable Use Odoo-generated references and choose a writable SOLIDWORKS property for Item code column. When Push creates a product for a row with a blank item code, it writes the returned reference to that property.

In Settings > ERP Sync, Save generated part numbers to lets you choose one number per file or one per configuration. Write mapped properties to (Push and Pull) separately controls where other properties are written.

A weldment cut-list item uses its own part-number property, not the parent model's number. Items grouped in one cut-list folder share that number and quantity.

Confirmed product links are saved inside the SOLIDWORKS document when you save it. Deleting the part-number property alone can restore the existing Odoo reference on the next Push. To request a different reference, first clear the ERP link, then clear the part-number property and preview Push.

Update the SOLIDWORKS add-in before updating the connector.

BOM types

Under Push > Sync BOM, choose Manufacture this product, Kit, or Subcontracting. To create a subcontracting BOM, select an existing Odoo subcontractor. Review component and quantity changes before committing.

Review and apply

For Push, select the rows and operations, review the changes, then choose Commit changes. To include existing exports, enable Upload exported files and choose the folder and extensions. Files must share the source model's base name.

For Pull, review the proposed values, choose Apply to SOLIDWORKS, then save the modified documents. To inspect a matched product in your browser, select its cell and choose Open in Odoo.

If a row is omitted, the report gives the reason. A missing component reference can also cause the parent BOM update to be skipped.

ERP Sync settings and review controls

Exported PDFs and other selected files are attached to the matched product variant and appear in its Documents section. Only files found for the selected export folder, filename and extensions are uploaded. Preview reports missing files as skipped. Repeating an unchanged upload does not create a duplicate.

Error details

When sync fails, select Error details in the report. Copy details includes the operation, HTTP status, connector version, endpoint, timestamp, request field names, timing and confirmed changes. Upload errors also identify the file, size and product or attachment ID. Recognized server messages and stack locations are sanitized; credentials, request values, file contents and raw traceback source are omitted. Details depend on what Odoo returns. Refresh and preview again before retrying a failed write.