InvenTree icon indicating copy to clipboard operation
InvenTree copied to clipboard

[FR] Inbound shipping/logistics costs

Open geniesis opened this issue 3 years ago • 23 comments

Please verify that this feature request has NOT been suggested before.

  • [X] I checked and didn't find similar feature request

Problem statement

Inbound shipping costs for parts/items can really only be tracked via Extra Lines in a PO.

If shipping under certain incoterms such as EXW the cost of shipping/duties is actually in another PO with the logistics company.

With regards to the individual parts shipping costs are not factored into the cost of the part. So cost of the part could be way off.

Suggested solution

Ability to mark an "extra lines" item in a PO as a shared part cost.

The purchase cost of the item would then include it's "share" of the shipping cost. Any sale orders or price estimations, builds, would reflect this automatically calculated price.

If 100x Widget ABC was purchased from the supplier at $10/unit and these items were shipped EXW via Air for a cost of $1000.

Also the item is worth $10/unit. Because of the shipping cost, the actual landed price is $20/unit.

Describe alternatives you've considered

Manually calculating the actually contribution of the shipping cost for each part then adjusting the PO items unit price accordingly.

However, this looses track of the original price of the item (shipping prices can fluctuate a lot especially when coupled with bulk shipping, air/sea)

It also makes it harder to reconcile the PO to the original purchase from the supplier.

Examples of other systems

No response

Do you want to develop this?

  • [ ] I want to develop this.

geniesis avatar Nov 14 '22 07:11 geniesis

@geniesis sounds like a good idea. Might be quite a bit of work (including required unit tests), maybe somebody picks it up.

matmair avatar Nov 14 '22 10:11 matmair

I'm thinking this might be implemented by using a scheduled mixin plugin that would calculate the prices and set the Internal Cost price for the part based on PO information.

This would allow the logic to be disabled easily for users that do not wish to use that type of calculation.

An extension to this could be the automatic calculation of the sale price based on set profit margins. i.e. a part parameter could be set for the % margin required

Any thoughts to this approach?

geniesis avatar Nov 28 '22 06:11 geniesis

I'm thinking this might be implemented by using a scheduled mixin plugin that would calculate the prices and set the Internal Cost price for the part based on PO information.

The recent changes to the pricing architecture (available in the upcoming 0.9.0 release) perform calculation (and caching) for the pricing. So we could add a hook there.

An extension to this could be the automatic calculation of the sale price based on set profit margins. i.e. a part parameter could be set for the % margin required

I have considered this but I think it would be best served as a plugin. Pricing calculations are complex and very bespoke to a given user, I don't think we should implement a "one size fits all" automatic sale price calculation. But a plugin would work fine.

SchrodingersGat avatar Nov 28 '22 21:11 SchrodingersGat

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

github-actions[bot] avatar Jan 28 '23 11:01 github-actions[bot]

Not interested in deving it immediately but this would be cool some day *tm

matmair avatar Jan 28 '23 13:01 matmair

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

github-actions[bot] avatar Mar 30 '23 11:03 github-actions[bot]

Some day 😄 . Seems like the stale bot is not recognising the assignments anymore

matmair avatar Mar 30 '23 17:03 matmair

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

github-actions[bot] avatar May 30 '23 11:05 github-actions[bot]

not stale

SchrodingersGat avatar May 30 '23 11:05 SchrodingersGat

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

github-actions[bot] avatar Jul 30 '23 11:07 github-actions[bot]

Still valid

matmair avatar Jul 30 '23 19:07 matmair

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

github-actions[bot] avatar Sep 30 '23 11:09 github-actions[bot]

Not stale

SchrodingersGat avatar Sep 30 '23 12:09 SchrodingersGat

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

github-actions[bot] avatar Dec 01 '23 11:12 github-actions[bot]

@SchrodingersGat I've been thinking about this one for a while. I'd be happy to tackle it after a couple of other ones if no one else does 😊

Looking at my business' procedures, we want to be able to distribute both freight, but also NRE costs across all items on a given order. Thus this FR is highly valuable to us.

LavissaWoW avatar Dec 02 '23 01:12 LavissaWoW

@LavissaWoW I would be very happy for you to tackle this, and to provide any assistance where I can.

One request I would make is that I would like to be able to determine how the NRE / shipping / etc costs are spread - it may not always be the case that they are to be spread evenly.

The user interface requirements for this may be a bit tricky. I think we should maybe focus on the new interface only, if this is the case

SchrodingersGat avatar Dec 02 '23 09:12 SchrodingersGat

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

github-actions[bot] avatar Feb 01 '24 11:02 github-actions[bot]

Not stale

SchrodingersGat avatar Feb 01 '24 11:02 SchrodingersGat

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

github-actions[bot] avatar Apr 03 '24 11:04 github-actions[bot]

Not stale, just needs someone to either fund or give attention.

SchrodingersGat avatar Apr 03 '24 11:04 SchrodingersGat

One request I would make is that I would like to be able to determine how the NRE / shipping / etc costs are spread - it may not always be the case that they are to be spread evenly.

A few examples:

  • Freight may want to be distributed by the weight of each line item (qty x individual part weight, or more generically qty x arbitrary part property)
  • Customs processing fee may want to be distributed evenly to each line or by cost or by quantity
  • Duties may want to be distributed manually as they could be only incurred by certain lines at certain rates

Items to be allocated to parts costs may be on the purchase order (shipping paid to supplier), or third party (freight account, etc)

Also, somewhat related since we generally appear to be talking about calculating 'landed costs' - we've had the instance where we ordered 50 heatsinks, but the supplier was able to machine 56 from the raw material, so supplied an extra 6 at no charge, effectively reducing the unit price by ~10%.

CaCtus491 avatar May 24 '24 15:05 CaCtus491

@CaCtus491 your example here is exactly why this would need to be able to support custom implementations via plugins

SchrodingersGat avatar May 27 '24 10:05 SchrodingersGat

Hi Team as an additio i would like to have a field Incoterms on the order such that we can select from a list and we can print them on the SO.

mabroens avatar Feb 19 '25 10:02 mabroens