Woocommerce complex shipping


I have a client that requires a complex shipping method and was wondering if theres a plugin out there that can achieve it.

First Query:
So there are currently 2 different types of shipping.

Large Packages
Small Packages

So small packages come in a box which can fit up to 5 small products in one box. If a person buys up to 5 small products then they will only be charged for 1 small Package as they all fit in the same box.

If a person orders 6-10 products they will be charged for 2 small packages, 11-15 would be 3 small packages and so on.

I can already achieve this with the table rate plugin however i have to manually add a row for each increment of 5. Is there a way to automatically achieve this using this plugin?

Second Query:
Sometimes they will want to merge order shipping in certain cases.

So a large package can fit one large product and up to 5 small products in.

If a person orders a large item and up to 5 small items then they will only be charged for the large package.

If a person was to order 1 large product and 6 smaller products, then they will e charged for 1 large package (1 large item and 5 small items) and then a small package (the remaining 1 item).