add_filter('wf_ups_rate', 'wf_modify_ups_rate', 10, 2); function wf_modify_ups_rate($xml, $packages){ $amount_to_add = 3; //change this with your value to be added with each packages if($xml){ for( $i=0; $i<count($packages); $i++ ){ //if negotiated rate if( isset($xml->RatedShipment->NegotiatedRates->NetSummaryCharges->GrandTotal->MonetaryValue) ){ if( property_exists($xml->RatedShipment->NegotiatedRates->NetSummaryCharges, 'TotalChargesWithTaxes') ){ $xml->RatedShipment->NegotiatedRates->NetSummaryCharges->TotalChargesWithTaxes->MonetaryValue += $amount_to_add; }else{ $xml->RatedShipment->NegotiatedRates->NetSummaryCharges->GrandTotal->MonetaryValue += $amount_to_add; } } // if normal rate $xml->RatedShipment->TotalCharges->MonetaryValue += $amount_to_add; } } return $xml; }