InvenTree icon indicating copy to clipboard operation
InvenTree copied to clipboard

RFC: InvenTree PDM integration

Open matmair opened this issue 1 year ago • 4 comments

North star: Have InvenTree manage files and their usage within the system in a way that different PDM, VCS and file sharing systems can be integrated.

This means:

  • Pull data from external systems
  • Push data to external systems
  • Diff state between systems and InvenTree
  • Map / extract data from systems to InvenTree
  • Map / convert data from InvenTree for systems

This needs flushing out and could be a candidate for a new epic.

Related issues

  • https://github.com/inventree/InvenTree/issues/5703
  • https://github.com/inventree/InvenTree/issues/2038

Original Request for PDM integration

Which system are you using? We are currently using Solidworks Vault for PDM. We are also reviewing PLMs (and some ERPs) that can help support revision control. Honestly, I think a future version of Inventree could do what we want but the lack of state control is one the biggest issues we have with the current version.

Examples:

  1. if someone changes a part (revision, name, BOM, etc.), it's not easy / possible to stop or track the difference within inventree.
  2. revisions - we are constantly making new revisions for build orders. However, we cannot easily look at a Sales Order from the past and know what revision was shipped with out an external database linking revisions to dates.

Would you code the integration or is this something we should do

I could see this going either way, but I do think it may be be best as a plugin. I think the MVP of this effort is some sort of background worker that identifies differences (revision mismatch, missing parts, etc) between the two systems. It would be nice if the PDM could link to the part file in inventree to push any changes - even if it is a manual process. Even something as simple as a plugin that highlights changes in the previous 24 hours (possibly a report?).

Which system is the leading one (ie in a conflict which is the source of truth)

This is always a difficult internal discussion - we end up using PDM as source of truth because it's a controlled source (you can lock out files from being edited and require review to "revise"). However, I think we would lean on Inventree if this could be done in the tool itself as a majority of our team interacts with inventree and only a view have access to PDM (due to cost/training).

What would you like to sync and would this be a static selection or do you require dynamic controls like depending on parameters, responsible groups, weighted rules

I think it would be nice, but not required anytime soon. Personally, I think there is value in users comparing the two databases for mismatch as there's a lot of stuff to review and not just a straight forward comparison. In addition, our PDM only covers mechanical stuff and we have to identify a solution for our other platforms - software and PCBAs.

Do you see PDM integration as part of this effort or a separate one

I think it should be considered as a way shaping future versions on inventree, but I assume it will be best to be seperate them as there are so many flavors of PDM/PLM.

Originally posted by @bberg115 in https://github.com/inventree/InvenTree/issues/5028#issuecomment-2123466269

matmair avatar May 23 '24 22:05 matmair

Great Ideas. InvenTree is very flexible and allows already some integration due to its open interfaces. E.g. We connected it to our ECAD. Each time the designers trigger a data release, the BOM is automatically pushed to InvenTree including version control and change list. Supplier integration is already on a good way. Let me add some light to the North Star:

Substitutes: We use them in production basically for three reasons

  1. Part out of Stock
  2. Designers recognizes in the last minute that he likes 1k instead of 2k
  3. Designer does not know what he needs and likes to manufacture 10 boards with 1k and 10 boards with 2k

For all three reasons the substitutes belong to the build not to the BOM. the BOM shall not be touched at least for 1 and 3.

References: The reference field was extended several times but stays to be a pitfall. I could imagine that the references are not just a text field but each reference is a database entry with a relation to the instantiated part. This would allow to add a substitute to a single reference. Then we can use the child builds to split a build into two with different parts at dedicated positions and bring a huge benefit for a manufacturing integration.

Michael

SergeoLacruz avatar May 25 '24 18:05 SergeoLacruz

This issue seems stale. Please react to show this is still important.

github-actions[bot] avatar Aug 08 '24 11:08 github-actions[bot]

This issue seems stale. Please react to show this is still important.

github-actions[bot] avatar Oct 13 '24 11:10 github-actions[bot]

On he backburner but def. want to see something like this in a plugin or core

matmair avatar Oct 15 '24 12:10 matmair