SHIPPING
$rates = $quote->getShippingAddress()->getShippingRatesCollection();
foreach ($rates as $rate)
{
$rate->setPrice(0.00)->save();
}
For Returning the values you should recalculate the Rules
$quote->getShippingAddress()->setCollectShippingRates(true)->collectShippingRates();
QUOTE ITEM
foreach ($quote->getAllVisibleItems() as $item) {
$item->setCustomPrice( $item->getProduct()
->getPrice())->setOriginalCustomPrice($item->getProduct()->getPrice())
->getProduct()->setIsSuperMode(false);
$item ->getProduct()->setTaxClassId(0);
$item->calcRowTotal();
}
Comments