Is this delivery cost scenario possible?

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
Il y a 9 ans
I'm working with someone who currently has a pretty standard nopCommerce store, but they have requested a specific scenario for shipping costs. Essentially, a few products will have a shipping cost depending on their quantity. £5 for 1 - 4, £10 for 5 - 8 etc. The rest of the products have a unique shipping price per product.

It doesn't seem like the system has support for this natively for the unique pricing setup, nor does it support have a different pricing method for different products. Is there a plugin that can achieve this?

If not I'll try modifying the code. I figure I'd do something like this:

1) Create a plugin for the 1 - 4, 5 - 8 pricing and set that as the standard shipping method.
2) Change the 'additional shipping charge' option so it overrides the 'free shipping' option above it, and use that to price the rest of the products.

Does that sound feasible? I'm a developer so I have no problem with c# and MVC but I haven't touched the source code before so I'm unsure of where to begin.
Il y a 9 ans
Yes, it would need customization, or Shipping Director can do it.  See example blogs about
Per Item Shipping

I don't understand "Change the 'additional shipping charge' option so it overrides the 'free shipping' option ".
Il y a 9 ans
How would I do this with shipping director? I played around with the trial for a bit but couldn't find any way of having the price depend on what range the quantity falls under, although it does seem to fill the requirement of assigning specific shipping costs to specific products. I've written a formula in excel that calculates it, but I'm unsure on how to translate that into a rate expression.

If it helps, the formula is below, where 'C2' would be the quantity.

=SUM((1+(SUM(--(INT((C2/4)))))))*6.45

Thanks for your help.
Il y a 9 ans
There's a couple of ways to do it.  Here's an example where you can use unpublished Categories (products can be in more than one category), to handle multiple/different ranges.  The ternary operator " ? : " acts like an if-then-else, and can be chained to handle multiple ranges.  Count items in each Category  (Sum(Quantity)), calculate rates for each, and add them together for final rate:

110  Integer  Count Range1  Items.Where(Product.HasCategory("Shipping Range1")).Sum(Quantity)
120  Integer  Count Range2  Items.Where(Product.HasCategory("Shipping Range2")).Sum(Quantity)
200  Decimal  Rate Range1  [Count Range1] = 0 ? 0.00 : [Count Range1] <= 4 ? 5.00 : [Count Range1] < 8 ? 10.00 :  15.00
210  Decimal  Rate Range2  [Count Range2] = 0 ? 0.00 : [Count Range2] <= 4 ? 7.00 : [Count Range2] < 8 ? 14.00 :  20.00
300  Option  Shipping  true  [Rate Range1] + [Rate Range2]

If you're always using a fixed amount per X (like in your example above: 6.45 for every 4), then you can do the math:

Math.Ceiling([Count Range1] / 4.0) * 6.45

(Divide with 4.0, not just "4", or you'll get a type mismatch error)

You can email us at  support at noptools.com  if you need more help.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.