I just finished building a small shopping cart for a site and took a brief look at most of what's out there. A goggle search on 'php shopping carts' will put your brain into overload.
I ended up basing parts of mine on the shopping cart example in the book 'PHP and MySQL Web Development' by Welling and Thomson and adding what I needed. Their example was clear enough that I don't think I even read the chapter that went with it.
In mine I did things like pricing shipping based on a a cost for the first and lesser costs for additional items and discounts based on order total. Once you take a look the the various pieces in a simple example like this book has, it may all fall in place easier.
Some of the available carts try to be all things to all sites and end up having too much code for what most of us need.
Your requirements should be easy to meet once you have a working example to draw from. Recognizing tax exempt should be as easy as an if( !strlen ($TaxExempt) ) {...}that skips the sales tax calculation when they enter a valid (I don't know how you would validate a tax exempt number for your state) tax exempt number. For the shipping, you would calculate it based on a weight that is in the db record for the item being purchased.