$bpartnerarray=array($o->bpartner_id,0);
     $originalamtarray=array($originalamt1,$originalamt2);
     $transtypearray=array("","");
     $linetypearray=array(0,1);
     $documentnoarray=array($o->document_no,$o->document_no);
     $chequenoarray=array("","");
     
     $result=$accapi->PostBatch($o->createdby,$o->document_date,"simbiz","Post from Simbiz  $documentname $o->document_no",
     	$o->description,$o->amt,$documentnoarray,
     	$accountsarray,$amtarray,$currencyarray,$conversionarray,$originalamtarray,$bpartnerarray,
     	$transtypearray,$linetypearray,$chequenoarray);
     */
     $arrayValue = $o->getArrayPOST($o->debitcreditnote_id);
     if ($arrayValue[15] == 0) {
         //if have accounts > 0
         $result = $accapi->PostBatch($o->createdby, $arrayValue[0], $arrayValue[1], $arrayValue[2], $arrayValue[3], $arrayValue[4], $arrayValue[5], $arrayValue[6], $arrayValue[7], $arrayValue[8], $arrayValue[9], $arrayValue[10], $arrayValue[11], $arrayValue[12], $arrayValue[13], $arrayValue[14], $arrayValue[16]);
     }
     if ($result) {
         $o->fetchDebitCreditNote($o->debitcreditnote_id);
         $o->batch_id = $accapi->resultbatch_id;
         $o->updateDebitCreditNote();
     } else {
         $o->fetchDebitCreditNote($o->debitcreditnote_id);
         $o->iscomplete = 0;
         $o->updateDebitCreditNote();
         redirect_header("debitcreditnote.php?action=edit&debitcreditnote_id={$o->debitcreditnote_id}", $pausetime, "<b style='color:red'>Your data is saved but can't complete due to internal error on posting. Reverse this document to draft mode.</b>");
     }
     $pl->deleteUnuseLine($o->debitcreditnote_id);
 }
 $itemqty = $o->getLineCount($o->debitcreditnote_id);
 $pl->updateTotalAmt($o->debitcreditnote_id, $cur, $o->currency_id, $itemqty);
 public function posting()
 {
     include "../simbiz/class/AccountsAPI.php";
     $multiply = 1;
     if ($this->issotrx == 0) {
         $multiply = -1;
     }
     $acc = new AccountsAPI();
     global $defaultcurrency_id, $defaultorganization_id, $userid, $taxaccount_id, $xoopsUser;
     $documentnoarray = array($this->spinvoice_prefix . $this->document_no);
     $totaltransactionamt = $this->localamt;
     $accountsarray = array($this->bpartneraccounts_id);
     $amtarray = array($this->localamt * $multiply);
     $currencyarray = array($defaultcurrency_id);
     $conversionarray = array(1);
     $originalamtarray = array($this->localamt * $multiply);
     $bpartnerarray = array($this->bpartner_id);
     $linetypearray = array(0);
     $transtypearray = array("");
     $chequenoarray = array("");
     $linedesc = array($this->description);
     $orgarray = array($this->organization_id);
     $track1array = array($this->track1_id);
     $track2array = array($this->track2_id);
     $track3array = array($this->track3_id);
     $rowgettaxaccount = $this->xoopsDB->fetchArray($this->xoopsDB->query("Select accounts_id from sim_simbiz_accounts where account_type=9"));
     $taxaccount_id = $rowgettaxaccount['accounts_id'];
     $sql = "SELECT * from sim_simbiz_invoiceline where invoice_id={$this->invoice_id}";
     $query = $this->xoopsDB->query($sql);
     $totalgstamt = 0;
     //$taxaccount_id=
     //declare 2nd line and above as creditor
     while ($row = $this->xoopsDB->fetchArray($query)) {
         array_push($documentnoarray, $this->spinvoice_prefix . $this->document_no);
         array_push($accountsarray, $row['accounts_id']);
         array_push($amtarray, $row['amt'] * -1 * $multiply);
         array_push($currencyarray, $defaultcurrency_id);
         array_push($conversionarray, 1);
         array_push($originalamtarray, $row['amt'] * -1 * $multiply);
         array_push($bpartnerarray, 0);
         array_push($linetypearray, 1);
         array_push($transtypearray, "");
         array_push($chequenoarray, "");
         array_push($linedesc, $row['subject']);
         array_push($orgarray, $row['branch_id']);
         array_push($track1array, $row['track1_id']);
         array_push($track2array, $row['track2_id']);
         array_push($track3array, $row['track3_id']);
         $totalgstamt += $row['gstamt'];
     }
     if ($totalgstamt != 0) {
         array_push($documentnoarray, $this->spinvoice_prefix . $this->document_no);
         array_push($accountsarray, $taxaccount_id);
         array_push($amtarray, $totalgstamt * -1 * $multiply);
         array_push($currencyarray, $defaultcurrency_id);
         array_push($conversionarray, 1);
         array_push($originalamtarray, $totalgstamt * -1 * $multiply);
         array_push($bpartnerarray, 0);
         array_push($transtypearray, "");
         array_push($linetypearray, 1);
         array_push($chequenoarray, "");
         array_push($linedesc, "Tax");
         array_push($orgarray, $this->organization_id);
         array_push($track1array, 0);
         array_push($track2array, 0);
         array_push($track3array, 0);
     }
     //        $a=array($uid,
     //            $this->document_date,
     //            "simbiz",
     //            "Invoice: $this->spinvoice_prefix$this->document_no",
     //            $this->description,
     //            $this->localamt,
     //               $documentnoarray,
     //		$accountsarray,
     //            $amtarray,
     //            $currencyarray,
     //            $conversionarray,
     //            $originalamtarray,
     //            $bpartnerarray,
     //            $transtypearray,
     //            $linetypearray,
     //		$chequenoarray,
     //            "",
     //            1,
     //            "",
     //            $orgarray,
     //            $track1array,
     //            $track2array,
     //            $track3array);
     $uname = $xoopsUser->getVar('uname');
     if ($acc->PostBatch($userid, $this->document_date, "simbiz", "Invoice {$this->spinvoice_prefix}{$this->document_no}", "Post from Simbiz: Invoice ({$this->spinvoice_prefix}{$this->document_no}), from {$uname}", $this->localamt, $documentnoarray, $accountsarray, $amtarray, $currencyarray, $conversionarray, $originalamtarray, $bpartnerarray, $transtypearray, $linetypearray, $chequenoarray, $linedesc, 1, "", $orgarray, $track1array, $track2array, $track3array)) {
         $this->batch_id = $acc->resultbatch_id;
         $this->xoopsDB->query("update sim_simbiz_invoice set batch_id={$acc->resultbatch_id},iscomplete=1 where invoice_id={$this->invoice_id}");
         return true;
     } else {
         return false;
     }
 }
 public function posting()
 {
     include "../simbiz/class/AccountsAPI.php";
     $multiply = 1;
     if ($this->issotrx == 1) {
         $multiply = -1;
     }
     $acc = new AccountsAPI();
     global $defaultcurrency_id, $defaultorganization_id, $userid, $taxaccount_id, $xoopsUser;
     $documentnoarray = array($this->sppayment_prefix . $this->document_no);
     $totaltransactionamt = $this->subtotal;
     $accountsarray = array($this->bpartneraccounts_id);
     $amtarray = array($this->subtotal * $multiply);
     $currencyarray = array($defaultcurrency_id);
     $conversionarray = array(1);
     $originalamtarray = array($this->subtotal * $multiply);
     $bpartnerarray = array($this->bpartner_id);
     $linetypearray = array(0);
     $transtypearray = array("");
     $chequenoarray = array("");
     $linedesc = array($this->description);
     $orgarray = array($this->organization_id);
     $track1array = array($this->track1_id);
     $track2array = array($this->track2_id);
     $track3array = array($this->track3_id);
     $sql = "SELECT pl.invoice_id,concat(i.spinvoice_prefix,i.document_no) as invoice_no,pl.chequeno,\n        pl.amt,pl.branch_id,pl.track1_id,pl.track2_id,pl.track3_id,pl.accounts_id\n        from sim_simbiz_paymentline pl\n        inner join sim_simbiz_invoice i on pl.invoice_id=i.invoice_id\n        where payment_id={$this->payment_id}";
     $query = $this->xoopsDB->query($sql);
     $this->log->showLog(4, "Posting payment with SQL:  {$sql}");
     //$taxaccount_id=
     //declare 2nd line and above as creditor
     while ($row = $this->xoopsDB->fetchArray($query)) {
         array_push($documentnoarray, $this->sppayment_prefix . $this->document_no);
         array_push($accountsarray, $row['accounts_id']);
         array_push($amtarray, $row['amt'] * -1 * $multiply);
         array_push($currencyarray, $defaultcurrency_id);
         array_push($conversionarray, 1);
         array_push($originalamtarray, $row['amt'] * -1 * $multiply);
         array_push($bpartnerarray, 0);
         array_push($linetypearray, 1);
         array_push($transtypearray, "");
         array_push($chequenoarray, $row['chequeno']);
         array_push($linedesc, "Payment ({$this->sppayment_prefix}{$this->document_no}), from {$this->bpartner_name}");
         array_push($orgarray, $row['branch_id']);
         array_push($track1array, $row['track1_id']);
         array_push($track2array, $row['track2_id']);
         array_push($track3array, $row['track3_id']);
     }
     //        $a=array($uid,
     //            $this->document_date,
     //            "simbiz",
     //            "Payment: $this->sppayment_prefix$this->document_no",
     //            $this->description,
     //            $this->localamt,
     //               $documentnoarray,
     //		$accountsarray,
     //            $amtarray,
     //            $currencyarray,
     //            $conversionarray,
     //            $originalamtarray,
     //            $bpartnerarray,
     //            $transtypearray,
     //            $linetypearray,
     //		$chequenoarray,
     //            "",
     //            1,
     //            "",
     //            $orgarray,
     //            $track1array,
     //            $track2array,
     //            $track3array);
     $uname = $xoopsUser->getVar('uname');
     if ($acc->PostBatch($userid, $this->document_date, "simbiz", "Payment {$this->sppayment_prefix}{$this->document_no}", "Post from Simbiz: Payment ({$this->sppayment_prefix}{$this->document_no}), from {$uname}", $this->subtotal, $documentnoarray, $accountsarray, $amtarray, $currencyarray, $conversionarray, $originalamtarray, $bpartnerarray, $transtypearray, $linetypearray, $chequenoarray, $linedesc, 1, "", $orgarray, $track1array, $track2array, $track3array)) {
         $this->batch_id = $acc->resultbatch_id;
         $this->xoopsDB->query("update sim_simbiz_payment set batch_id={$acc->resultbatch_id},iscomplete=1 where payment_id={$this->payment_id}");
         return true;
     } else {
         return false;
     }
 }
        $financialyearline_id = $_POST['financialyearline_id'];
        $period_name = $_POST['period_name'];
        include "class/Accounts.php";
        include "class/AccountsAPI.php";
        $newbatchno = $l->getNewBatchNo();
        $acc = new Accounts();
        $api = new AccountsAPI();
        $account = $acc->getRetainEarningAccount();
        $retainearningacc = $account[0];
        $reverseretainearningacc = $account[1];
        $batchdate = getLastDayByMonth($period_name);
        //$amtarray
        //$uid,$date,$systemname,$batch_name,$description,$totaltransactionamt,$documentnoarray,
        //		$accountsarray,$amtarray,$currencyarray,$conversionarray,$originalamtarray,$bpartnerarray,$transtypearray,$linetypearray,
        //		$chequenoarray,$linedesc="",isreadonly=0
        $api->PostBatch($o->createdby, $batchdate, "simbiz", "Retain Earning For {$period_name}", "", $amt, array("***", "***"), array($retainearningacc, $reverseretainearningacc), array($amt, $amt * -1), array($defaultcurrency_id, $defaultcurrency_id), array(1, 1), array($amt, $amt * -1), array(0, 0), array("RE", "RE"), array(0, 1), array("", ""), "", 1, $newbatchno);
        $sql = "update {$tablefinancialline} set batch_id={$api->resultbatch_id} where financialyearline_id={$financialyearline_id}";
        $xoopsDB->query($sql);
        $amt = $amt * -1;
        if ($amt == 0) {
            $amt = 0;
        }
        echo <<<EOF

      <script type="text/javascript">

\talert("Retain earning posted! batch no:{$newbatchno}");
        self.parent.document.getElementById("divperiod{$financialyearline_id}").innerHTML="<A href='batch.php?action=view&batch_id={$api->resultbatch_id}'> Amount: {$amt} (Posted as Batch No: {$newbatchno})</A>";

\t
\t</script>