Here is and idea about the packing fee for each product.
For example: Customer order 1 soup 1$ and 0.1$ for packing as normal order.
If they order 10 soups , so the packing fee is still 0.1$ . That's how system work right now. And that is bad option.
So the best solution is adding packing fee to each product, default of packing fee is 0. when customer adding more product the packing fee is increasing. That is how the real system works everywhere.
There is also a work around solution : adding packing fee to the product price, but that is not how it works. and customer see the price of product is higher , so they will have less interested in this.