function recordReceipt($varValues) { # create receipt object $receipt = new Receipt(); # set the details of the receipt $receipt->setOldReceiptNum($varValues['oldReceiptNum']); $receipt->setRPTOPNum($varValues['rptopNum']); $receipt->setTDNum($varValues['tdNum']); # get the specific due by using the tdNum and the date on the RPTOP $taxDue = new Dues(); $rptop = new RPTOP(); if ($rptop->selectRecord($varValues['rptopNum'])) { $dueDate = $rptop->getRptopDate(); } else { // if there is no valid RPTOP provided, then just use the dueDate $dueDate = $varValue['dueDate']; } $taxDue->createByTDDate($tdNum, $dueDate, true); # create by date and true if it exists. $taxDue->store(); # record the payments for each receipt $payments[0] = new Payment(); $payments[0]->setAmount($varValues['sefTotal']); $payments[0]->setDueType("sef"); $payments[0]->setDiscount($varValues['discount']); $payments[0]->setInterest($varValues['interest']); $payments[0]->setDueID($taxDue->getDueID()); $payments[0]->setReceiptNum($receipt->getReceiptNum()); $payments[0]->store(); $receipt->addPayment($payments[0]); $payments[1] = new Payment(); $payments[1]->setDueType("basic"); $payments[1]->setAmount($varValues['gfTotal'] + $varValues['ibTotal'] + $varValues['cbTotal']); $payments[1]->setDiscount($varValues['discount']); $payments[1]->setInterest($varValues['interest']); $payments[1]->setDueID($taxDue->getDueID()); $payments[1]->setReceiptNum($receipt->getReceiptNum()); $payments[1]->store(); $receipt->addPayment($payments[1]); $payments[2] = new Payment(); $payments[2]->setDueType("pd1185"); $payments[2]->setAmount($varValues['pd1185Total']); $payments[2]->setDueID($taxDue->getDueID()); $payments[2]->setReceiptNum($receipt->getReceiptNum()); $payments[2]->store(); $receipt->addPayment($payments[2]); # store the receipt $receipt->store(); }