Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] External Processing for Build Routing #2860

Open
rotofyne opened this issue Apr 22, 2022 · 8 comments
Open

[FR] External Processing for Build Routing #2860

rotofyne opened this issue Apr 22, 2022 · 8 comments
Labels
enhancement This is an suggested enhancement or new feature
Milestone

Comments

@rotofyne
Copy link

Problem
Build Orders sometimes require sending an item externally for processing (e.g. anodizing) prior to completion .
Ideally, the Build Order module would allow you to mark an item as requiring external processing and then allow you to pull the item to a purchase order or sales order (sometimes called a Repair Order in other systems).
This would require a change in the purchase order/sales order module.
This could potentially tie into issue #2817 as it would be a part of build routing.

Suggested solution
Assuming build routing is implemented as described in issue #2817, each routing step would have the option to have a property indicating whether the step is internal or external.
If the property is labeled as external then it becomes possible to label the items as corresponding to a specific purchase order or sales order.
If using the purchase order module, the purchase order could then have a virtual P/N corresponding to the external processing step and would additionally have meta data notifying the user of the link to the BO.
The purchase order module would then need similar structure to the Sales order module for creating shipping.
Alternatively the BO could be pulled to a sales order even though the build outputs aren't complete if it is marked as an external process item.
The sales order module would then just need a way to differentiate between selling something and sending something out for external processing.
I think integrating it into the sales order module would be preferable to the purchase order module as most of the structure seems to already exists regarding linkages to build orders.

Describe alternatives you've considered
You could potentially use the test framework for this in conjunction with a SO however that would not allow you to pull items from the partial BO to the SO.
A custom report could be used to create a form to send to vendors based on the SO to complete the required work.

Examples of other systems
The suggested solution above is similar to how most ERP systems handle routing of items for external processing although they sometimes refer to Repair Orders instead of Sales Orders or Purchase Orders.

Do you want to develop this?
Yes, I have experience in python. I am not sure if this is feasible as a plugin or would require some other approach.

@rotofyne rotofyne added the enhancement This is an suggested enhancement or new feature label Apr 22, 2022
@github-actions
Copy link
Contributor

Welcome to InvenTree! Please check the contributing docs on how to help.\nIf you experience setup / install issues please read all install docs.

@SchrodingersGat
Copy link
Member

@rotofyne thanks for the input - it is interesting that you also thought of anodizing as your example, this is very similar to #1071 (a very old issue now)

I think the idea of this being a process step as part of a build order makes a lot of sense.

Perhaps, the conceptual ProcessStep model could have an associated PurchaseOrder field, and as such the user could look at the current "process state" of the Build Order, see it is in "andozing", with a reference to the purchase order for the external supplier. Once the anodized parts are received, the PO is closed, and the build progresses to the next step.

I do not think this makes sense as the "SalesOrder" model, as you are purchasing goods / services here.

It would be good to make some progress towards this, I know of at least a couple of companies which would make use of such a feature.

@rotofyne
Copy link
Author

@SchrodingersGat Thanks for the reply. I think what you are proposing makes sense as far as process states. The field would then need access to all open POs for selecting where it is going. Ideally the PO would also link back to the BO (maybe in the reference column?) The part I liked about sales orders is they seemed to already have the logic in place for creating shipping which would be necessary for the process step as well as already being able to be tied to specific BOs. Could those features be integrated into the PO module? Do you think this makes sense as a plugin or as a modification to the core features? As a first step it might it might be good to look at being able to create shipping in conjunction to a PO. It may be worth looking at decoupling shipping from the sales order module as theoretically you could buy something and need to create shipping (as in this use case), sell something and need to create shipping (as in the standard use case) or neither (in the case of an RMA).

@matmair matmair added this to the 1.0.0 milestone Apr 24, 2022
@matmair
Copy link
Contributor

matmair commented Apr 24, 2022

@rotofyne just a heads up - this might take a while as there is a lot to implement and test before this can go ahead. We have a lot of items on the roadmap and only so much dev time.
Please keep an eye on #2817 as that needs to be done before this issue is resolved.

@rotofyne
Copy link
Author

@matmair Thanks, that makes sense.

@matmair
Copy link
Contributor

matmair commented Apr 24, 2022

@rotofyne if you need this feature fast please do not hesitate to reach out - we will try to find a way for you.

@rotofyne
Copy link
Author

@matmair I'm not in a rush and as mentioned above I'd like to help if I can.

@mabroens
Copy link

mabroens commented May 5, 2023

@SchrodingersGat thanks for pointing to this conversation and yes I agree with @rotofyne his approach seems like a good thought. and the linking between SO/PO/BO should be trackable.

Br Martijn

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is an suggested enhancement or new feature
Projects
None yet
Development

No branches or pull requests

4 participants