@TOR,
comment out lines from 323-328 in /gl/gl_bank.php

// if (!check_num('amount', 0))
    // {
    //     display_error( _("The amount entered is not a valid number or is less than zero."));
    //     set_focus('amount');
    //     return false;
    // }

You will get your desired result. I hope it will not cause any other anomaly in Database.

Why don't you look at the HR module by @notrinos. This is already done there

@ichtus See this Post

https://frontaccounting.com/punbb/viewtopic.php?id=7530

I am using free.CurrencyConverterAPI.com and it works for almost all Currencies

elseif ($provider == 'CCA') //free.currencyconverterapi.com
    {
        $filename = "/api/v5/convert?q={$curr_b}_{$curr_a}&compact=y";
        $site = "free.currencyconverterapi.com";
        $proto = 'https://';

    }

@oakstreet1 which HostingProvider are you using?

I am writing this post just to share my experiences so that any newbie, non IT professional, can gets benefit from this.

When we talk about Installation of FA, we are generally not assuming the installation of any server. Since FA is very light weight and it can easily run on Shared Hosting so the users don't need any VPS. But sometimes for better performance and for critical users one need to have a VPS.

The worst thing about VPS, that I faced as a Non IT professional, is that hosting companies don't take the total responsibility of a VPS's uptime. It is only you who has to take care of all aspects of VPS.

For this reason I was prolonging the use of a VPS. But finally when it became inevitable for me I met @fernando_bender one of the members of FA community and founder of myERPlink.com. I found him very well versed in Server Management. He offers complete server support. So people like me who want to focus on their core business like consultancy can hire his services at a very reasonable prices.

For server security I spent hours on internet to know how to get my linux server secured (Not SSL). I found this articl http://billpatrianakos.me/blog/2014/07/ … right-now/ very helpful in this regard.

I would like to mention few steps that any newbie can follow.

1. Buy a Blank VPS, preferably with Debian OS
2. Install VestaCP.com a very light weight GUI. This install will automatically install all related services
3. Use above article to secure your server
4. Start using it after installing FA.

I would be sharing my further experiences good or bad in using the VPS in the same post.

Thanks to FA Community smile

Yes, I can verify

@kvvaradha, thanks got it.

359

(2 replies, posted in Report Bugs here)

I got it. This problem is due to this last commit

360

(2 replies, posted in Report Bugs here)

I downloaded the latest repo from Github today and installed it. The Sales Order Entry page when open for the first time is showing some problem. I suspect that this problem has arised due to some recent commits.

The screenshot is here

You can see the Drobdown List of Items in Unit Column. This gets fixed automatically as soon as any Item is selected

I can see this commit by @joe for Item Editable Description. I have applied this but I couldn't find any change in Behaviour of Editable Item Description. Any Idea how shall I expect the change?

I copied the Logic from rep101.php and it worked.

function get_open_balance($supplier_id, $to)
{
    if($to)
        $to = date2sql($to);

        $sql = "SELECT SUM(IF(t.type = ".ST_SUPPINVOICE." OR (t.type IN (".ST_JOURNAL." , ".ST_BANKDEPOSIT.") AND t.ov_amount>0),
                        -abs(t.ov_amount + t.ov_gst + t.ov_discount), 0)) AS charges,";

 $sql .= "SUM(IF(t.type != ".ST_SUPPINVOICE." AND NOT(t.type IN (".ST_JOURNAL." , ".ST_BANKDEPOSIT.") AND t.ov_amount>0),
                        abs(t.ov_amount + t.ov_gst + t.ov_discount) * -1, 0)) AS credits,";

     $sql .= "SUM(IF(t.type != ".ST_SUPPINVOICE." AND NOT(t.type IN (".ST_JOURNAL." , ".ST_BANKDEPOSIT.")), t.alloc * -1, t.alloc)) AS Allocated,";

     $sql .=    "SUM(IF(t.type = ".ST_SUPPINVOICE.", 1, -1) *
             (abs(t.ov_amount + t.ov_gst + t.ov_discount) - abs(t.alloc))) AS OutStanding
        FROM ".TB_PREF."supp_trans t
        WHERE t.supplier_id = ".db_escape($supplier_id);
    if ($to)
        $sql .= " AND t.tran_date < '$to'";
    $sql .= " GROUP BY supplier_id";

    $result = db_query($sql,"No transactions were returned");
    return db_fetch($result);
}

I found a bug in Supplier Balances Report.

Check this screen shot of comparison. Opening Balance of the SUpplier was recorded on 30th June. When we query including 30th June the report shows value correctly under Charges Column But When we query from 1st July the Reports Shows the opening balance wrongly under Credits Column.

The reason is that the Opening Balance was entered through Journal Entry. and Journal Entry is not being checked in the get_open_balance() function in rep201.php.

364

(2 replies, posted in Setup)

When a Transaction is selected to be voided in FA, It is not highlighted.

Below code would server the cause. Replace the code starting at Line # 174

function is_selected($row) // Function added by faisal
        {
            global $selected_id;
            return $row['trans_no'] == $selected_id ? true : false;
        }

    $trans_ref = false;
    $sql = get_sql_for_view_transactions(get_post('filterType'), get_post('FromTransNo'), get_post('ToTransNo'), $trans_ref);
    if ($sql == "")
        return;

    $cols = array(
        _("#") => array('insert'=>true, 'fun'=>'view_link'),
        _("Reference") => array('fun'=>'ref_view'),
        _("Date") => array('type'=>'date', 'fun'=>'date_view'),
        _("GL") => array('insert'=>true, 'fun'=>'gl_view'),
        _("Select") => array('insert'=>true, 'fun'=>'select_link')
    );

    $table =& new_db_pager('transactions', $sql, $cols);
    $table->set_marker('is_selected', _("Marked transactions will be voided.")); //Added by Faisal

Unlike Customer payment, Supplier payment is not editable. Any solution for this

@cs you need to enable it from Access Setup

I wrote a function to write to a file the sql output for debugging purpose. I forgot to comment that out. That was actually taking too long.

@poncho1234 yes lac is 100,000 in our local language smile

@kvvaradha, you are right. Thanks alot

I got the problem. One of my customization was basically causing the issue. I must have checked that without customized code.

Regards.

I increased the max_execution_time so the problem mitigated but what if the records increases?

When querying one month transactions for a given gl account, the Ajax does not return any record because the number of records are around 300. What could be the solution for this? Can't we have multiple pages in the return of Query?

Modify the Code block at Line 182 on gl_bank.php with code below. This is to ensure the Edit of Bank Payment.

while ($row = db_fetch($result)) {
                if (is_bank_account($row['account']) && $_GET['ModifyPayment']=='Yes' && $row['amount'] > 0) //Added block by faisal
                {
                    $cart->add_gl_item( $row['account'], $row['dimension_id'],
                        $row['dimension2_id'], $row['amount'], $row['memo_']);
                }
                elseif (is_bank_account($row['account']) ) {
                    // date exchange rate is currenly not stored in bank transaction,
                    // so we have to restore it from original gl amounts
                    $ex_rate = $bank_trans['amount']/$row['amount'];
                }
                 else {
                    $cart->add_gl_item( $row['account'], $row['dimension_id'],
                        $row['dimension2_id'], $row['amount'], $row['memo_']);
                }
            }

Add this line at Line 411 in gl_bank.php

hidden('ModifyPayment',@$_GET['ModifyPayment']); //added by faisal
hidden('NewPayment',@$_GET['NewPayment']); //added by faisal

includes/ui/gl_bank_ui.inc at Line 253 (ignore this code set in above post#1)

if (@$_GET['NewPayment'] == 'Yes' || @$_POST['NewPayment'] == 'Yes' || @$_GET['ModifyPayment'] == 'Yes' || @$_POST['ModifyPayment'] == 'Yes' )
            $skip_bank = !$_SESSION["wa_current_user"]->can_access('SA_BANK2BANK');
    else {
        $skip_bank = true;
    }

    echo gl_all_accounts_list('code_id', null, $skip_bank, true); // modified by faisal

great smile

I have customized the code as below

includes/access_levels.inc Line 269

'SA_BANK2BANK' => array(SS_GL|13, _("Bank Transfer Through Bank Payment")), //added by faisal

includes/ui/gl_bank_ui.inc at Line 253

if (@$_GET['NewPayment'] == 'Yes') //Added by faisal
        $skip_bank = !$_SESSION["wa_current_user"]->can_access('SA_BANK2BANK');
    else {
        $skip_bank = true;
    }

    echo gl_all_accounts_list('code_id', null, $skip_bank, true); // modified by faisal

gl/includes/db/gl_db_banking.inc at Line 477

        if ($trans_type == ST_BANKPAYMENT AND $is_bank_to && !$_SESSION["wa_current_user"]->can_access('SA_BANK2BANK'))

Line numbers may vary.

Please test and comment.