$autobillVID = $return['data']->autobill->VID;
print "VID is {$autobillVID} \n";
$modAutoBill = new AutoBill();
$modAutoBill->setVID($autobillVID);
$remProduct = new Product();
$remProduct->setMerchantProductId($remID);
$remItem = new AutoBillItem();
$remItem->setProduct($remProduct);
$addProduct = new Product();
$addProduct->setMerchantProductId($addID);
$addItem = new AutoBillItem();
$addItem->setProduct($addProduct);
//$addItem->setCampaignCode('promo10');
$replaceModification = new AutoBillItemModification();
$replaceModification->setRemoveAutoBillItem($remItem);
$replaceModification->setAddAutoBillItem($addItem);
$response = $modAutoBill->modify('', $prorate, $effectiveDate, $changeBillingPlanTo, $replaceModification, $dryrun);
print_r($response);
if ($response['returnCode'] == 200) {
    // Now we can force this autobill to show up in autobill.fetchDeltaSince for this time block
    print "Forcing FDS return by resetting nextBilling date";
    $autobill = new AutoBill();
    $autobillVID = $response['data']->autobill->VID;
    $autobillNextBillDate = $response['data']->autobill->nextBilling->timestamp;
    echo "VID is {$autobillVID} \n";
    echo "nextBill is {$autobillNextBillDate} \n";
    $autobill = new AutoBill();
    $autobill->setVID($autobillVID);
    $response = $autobill->delayBillingToDate('', $autobillNextBillDate, true);
    print_r($response);
}