function multican($accnt, $bank, $vatacc, $vatcode)
{
    $accids = explode("|", $accnt['accids']);
    $amounts = explode("|", $accnt['amounts']);
    $vatcodes = explode("|", $accnt["vatcodes"]);
    $vats = explode("|", $accnt['vats']);
    $chrgvats = explode("|", $accnt['chrgvats']);
    $refnum = getrefnum();
    $descript = $accnt['descript'] . " Returned, Unpaid";
    $date = date("Y-m-d");
    foreach ($amounts as $key => $amount) {
        # SQL Array Rule: Thou shalt skip Zero Reference
        if ($key < 1) {
            continue;
        }
        $accid = $accids[$key];
        $vat = $vats[$key];
        $chrgvat = $chrgvats[$key];
        $amount -= $vat;
        if (isset($vatcodes[$key])) {
            $curvc = $vatcodes[$key];
        } else {
            $curvc = $vatcode;
        }
        if ($accnt['trantype'] == "deposit") {
            $vatacc = gethook("accnum", "salesacc", "name", "VAT", "a");
            # DT(account involved), CT(bank)
            writetrans($accid, $bank['accnum'], $accnt['date'], $refnum, $amount, $descript);
            if ($vat != 0) {
                # DT(Vat), CT(Bank)
                db_conn('cubit');
                $Sl = "SELECT * FROM vatcodes WHERE id='{$curvc}'";
                $Ri = db_exec($Sl);
                $vd = pg_fetch_array($Ri);
                vatr($vd['id'], $date, "OUTPUT", $vd['code'], $refnum, $descript, -($amount + $vat), -$vat);
                writetrans($vatacc, $bank['accnum'], $accnt['date'], $refnum, $vat, $descript);
            }
        } else {
            $vatacc = gethook("accnum", "salesacc", "name", "VAT");
            # DT(bank), CT(account invoilved)
            writetrans($bank['accnum'], $accid, $accnt['date'], $refnum, $amount, $descript);
            if ($vat != 0) {
                # DT(Vat), CT(Bank)
                db_conn('cubit');
                $Sl = "SELECT * FROM vatcodes WHERE id='{$curvc}'";
                $Ri = db_exec($Sl);
                $vd = pg_fetch_array($Ri);
                vatr($vd['id'], $date, "INPUT", $vd['code'], $refnum, $descript, $amount + $vat, $vat);
                writetrans($bank['accnum'], $vatacc, $accnt['date'], $refnum, $vat, $descript);
            }
        }
    }
    db_connect();
    # Delete cashbook ID
    $sql = "UPDATE cashbook SET opt = 'n' WHERE cashid='{$accnt['cashid']}' AND div = '" . USER_DIV . "'";
    $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
    copyEntry($accnt['cashid']);
    if ($accnt['lcashid'] > 0) {
        # Delete cashbook ID
        $sql = "DELETE FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
        $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
    }
}
function multican($accnt, $bank, $vatacc)
{
    $accids = explode("|", $accnt['accids']);
    $amounts = explode("|", $accnt['amounts']);
    $vats = explode("|", $accnt['vats']);
    $chrgvats = explode("|", $accnt['chrgvats']);
    $refnum = getrefnum();
    $descript = $accnt['descript'] . " Returned, Unpaid";
    $date = date("Y-m-d");
    foreach ($amounts as $key => $amount) {
        # SQL Array Rule: Thou shalt skip Zero Reference
        if ($key < 1) {
            continue;
        }
        $accid = $accids[$key];
        $vat = $vats[$key];
        $chrgvat = $chrgvats[$key];
        $amount -= $vat;
        if ($accnt['trantype'] == "deposit") {
            # DT(account involved), CT(bank)
            writetrans($accid, $bank['accnum'], $date, $refnum, $amount, $descript);
            if ($vat != 0) {
                # DT(Vat), CT(Bank)
                writetrans($vatacc, $bank['accnum'], $date, $refnum, $vat, $descript);
            }
        } else {
            # DT(bank), CT(account invoilved)
            writetrans($bank['accnum'], $accid, $date, $refnum, $amount, $descript);
            if ($vat != 0) {
                # DT(Vat), CT(Bank)
                writetrans($bank['accnum'], $vatacc, $date, $refnum, $vat, $descript);
            }
        }
    }
    db_connect();
    # Delete cashbook ID
    $sql = "UPDATE cashbook SET opt = 'n' WHERE cashid='{$accnt['cashid']}' AND div = '" . USER_DIV . "'";
    $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
    copyEntry($accnt['cashid']);
    if ($accnt['lcashid'] > 0) {
        # Delete cashbook ID
        $sql = "DELETE FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
        $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
    }
}