Oh I am not sure, I never even noticed it. Looks like it calculates differently to make sure the balance sheet will balance and only allows you to do it with journal quick entries? Here is all the code I could find quickly that is ran when it is enabled.
/includes/ui/ui_view.inc
// quick entry made on account balance is special case.
if ($qe['bal_type'] == 1) // if this is quick entry based on balance - calculate it
{
// Note, that this is ugly hack overriding standard field usage
// just to make the feature available between major FA releases!
$gl_code = $qe['base_desc'];
$monthly = $qe['base_amount'] == 1.0;
if (!isset($date))
$date = Today();
if ($monthly) // marked as monthly
$begin = begin_month($date);
else
{
if (is_account_balancesheet($gl_code)) // total
$begin = "";
else
$begin = begin_fiscalyear(); // from fiscalyear begin
}
$base = get_gl_trans_from_to($begin, $date, $gl_code);
}
/gl/includes/ui/gl_journal_ui.inc
if ($qid['bal_type'] == 1)
{
$accname = get_gl_account_name($qid['base_desc']);
label_row(($qid['base_amount'] == 0 ? _("Yearly") : _("Monthly")) . " ". _("balance from account")." ".
$qid['base_desc']." ".$accname." ".submit('go', _("Go"), false, false, true),'', "colspan=2");
}
/gl/manage/gl_quick_entries.php
if ($bal_type == 1 && $_POST['type'] != QE_JOURNAL)
{
display_error( _("You can only use Balance Based together with Journal Entries."));
set_focus('base_desc');
return false;
}
/gl/manage/gl_quick_entries.php
if (get_post('type') == QE_JOURNAL && get_post('bal_type') == 1)
{
yesno_list_row(_("Period"), 'base_amount', null, _("Monthly"), _("Yearly"));
gl_all_accounts_list_row(_("Account"), 'base_desc', null, true);
}