One of the drawbacks to Sunshop is that you need to choose between realtime and table based shipping.
Realtime shipping methods are those that contact carriers (UPS, USPS, FedEx, etc) to get shipping quotes based on the weight of the order.
Table based shipping is where you set up ranges based on weight or order value, and charge shipping on that. This is the more traditional methods used by catalogs and offline vendors to simplify shipping, but some online vendors like to use it as well.
I recently had a client ask to be able to use both of these simultaneously. My solution, which seems to be working at this point, was to create a “shipping module” that ties into the shipping tables. So it acts like a realtime method, but is actually pulling from the tables. I also added a “Free shipping” trigger, because the client wanted to offer free shipping (using the table method) for orders over $50. The “realtime” methods still show up, but the customer has the option of choosing their “standard” (table based) shipping rate, which is often the cheapest method.
Here’s a screenshot of the module settings:
As I mentioned, this is still in the testing phase, but so far it seems to fit the bill.