Closing period (at a certain date) and closing a whole fiscal year are both different in FA. The screenshot you shared is for closing a period (which can not necessarily be a FY). Closing fiscal year auto calculates the profit and posts it in the equity and also posts a JV

Profit and loss DR
Retained Earning/Equity CR

While on the other side closing the period only locks entries at and before the given date.

If you are looking for the FY closure
1. please goto to Setup->Fiscal year
2. Click on the edit button of the fiscal year you cant to close
3. Set Is Closed: as YES
4. and Upodate

this will close the fiscal year and post the JV aswell

you will have to define them separately to distinguish between new and old ones and check the inventory status

you can inactive this supplier and add a new one with tax included settings set to NO

Thanks !

The audit trail report is showing double entries for Payment and Deposit for Customer/Suppllier entries.

If the payment/deposits are made to Misc. than there is single entry posting in audit trail, but if we select customer/supplier it loads add_audit_trail therefore i have added the following in

1: For customer trans

Under write_customer_trans function i have replaced
    if ($trans_type != ST_JOURNAL) // skip for journal entries


    if ($trans_type != ST_JOURNAL && $trans_type != ST_BANKDEPOSIT && $trans_type != ST_BANKPAYMENT) // skip for journal entries

2. For Supplier trans
and in /purchasing/includes/db/
under write_supp_trans function i have added this line

    if ($type != ST_JOURNAL && $type != ST_BANKDEPOSIT && $type != ST_BANKPAYMENT // skip for journal entries
    add_audit_trail($type, $trans_no, $date_,"Added",$amount);

This fixes the double posting of the same transactions in audit_trail table


(3 replies, posted in Reporting)

check if your browser is blocking pop-ups

If Search Customer List is checked in company setup, than customer credit note can be posted with blank customers in FA's previous builds. I have added following lines in /sales/credit_note_entry.php under can_process() function to fix this

    if (!get_post('customer_id'))
        display_error(_("There is no customer selected."));
        return false;
    if (!get_post('branch_id'))
        display_error(_("This customer has no branch defined."));
        return false;



(5 replies, posted in Reporting)

rep111.php for sales quotation

ok great !
let me check, thanks again smile

ok Thanks joe, let me check that smile

@joe Kindly advise

While converting the delivery note to the invoice the system is showing the following error:

Selected quantity cannot be less than quantity credited nor more than quantity not invoiced yet.

To re-produce
1 i created an SO and DN of 28 pieces.
2. Invoiced 19.60 pcs
3. and now while invoicing the remaining 8.40 pcs i get the above error.

I have checked the above in FA's latest build as well.

While investigating i found that in the following function in, the $num>$max is going true. please note that both $num and $max are both 8.4, and $num can not be greater than $max.

But if i subtract $num-$max it gives me 1.7763568394003E-15(which should be zero). I googled it and found out that this is due to the shortcoming of floating point arithmetic.

Reference Function
function check_num($postname, $min=null, $max=null, $dflt=0) {
      return 0;
    $num = input_num($postname, $dflt);
    if ($num === false || $num === null)
      return 0;
    if (isset($min) && ($num<$min))
      return 0;
    if (isset($max) && ($num>$max))
      return 0;
    return 1;

Should i add a rounding value like 0.00001 in $num for comparing it with $min and $max?

Kindly advise.

Yes categories needed to be added first


(6 replies, posted in Translations)

You can try DejaVuSans.ttf

Please refer my reply on

popsicles12 wrote:

Hello All,

Thanks for your reponses so far.

@ Apmuthu, you suggested I do a new Installation and see if this Standard Cost Alteration still persist. I have installed version 2.4.11 and it still persist.

Please this might sound stupid. How do I enter cost of Good so that when I do Inventory Valuation Report, It uses the standard cost to calculate and not average cost.
Cost when I got value different from my Standard cost which I know is average cost, I updated the Standard Cost but its not reflected in the Report.
Please help out.



In config.php look for following, and set $use_costed_values as 0, it will show the standard cost instead of weighted average.

    /* Show average costed values instead of fixed standard cost in report, Inventory Valuation Report */
    $use_costed_values = 1;   

popsicles12 wrote:

Hello All,

Thanks for all responses on the Inventory Valuation Report.

Please is there anyway that it can be made to use standard cost instead of average cost for this report. I believe this is very important.

Thanks in advance for a positive response.


1. You can make a copy of file (say, now do all the changes sledge did on that file
2. Create a new function in reporting/includes/ (say function Header107() ), include the above e.g given below

    function Header107()
        global $dflt_lang; // FIXME should be passed as params

        $this->SetLang(@$this->formData['rep_lang'] ? $this->formData['rep_lang'] : $dflt_lang);
        $doctype = $this->formData['doctype'];
        $header2type = true;

        $lang = user_language();
        $this->SetLang(@$this->formData['rep_lang'] ? $this->formData['rep_lang']
            : ( $lang ? $lang : $dflt_lang));

         // leave layout files names without path to enable including
         // modified versions from company/x/reporting directory

        $this->row = $temp;

3. Now rename SetHeaderType on line 141 for calling Header107 function in rep107.php
4. Now this will make a custom header for specific for invoice pdf.


(5 replies, posted in Setup)

check if "Remember last document date:"  is checked?
in Setup->Company Setup->Display Setup

Try unchecking and see it fixes


(5 replies, posted in Reporting)

yes you will have modify the relevant report files
e.g for invoices you can modify
1. reporting/rep107.php,
2. reporting/includes/,

What is the GL entry of your Payment?(petty cash one)

You will need a manual intervention on periodic basis by monitoring the customer from ageing report and blocking them off from the add and manage customer setup page with Credit Status option set as "No more work until payment received"

1. I am managing it by creating Customer, Supplier and a separate GL account (with the same name), and map the customer/ supplier to this separate GL account instead of default A/R and A/P.
2. I have created a separate GL group and classified all the customer under it.
3. Since step 1 is bit difficult and have chance of user mistakes so i further did a bit customization on the "Add GL account" form (gl_accounts.php) to have two checkboxes for customer/supplier, once the user checks them it automatically creates customer/suppliers along with the GL account and map them to a their individual GL account, this simplifies the step 1 for user.
4. This way all the entries(sales,purchases) of the customer/suppliers are consolidated into the FA's default GL Account transaction report (by filtering the group as created in step 2)

I know the above method is still a way around as the individual modular reports of AR/AP will be useless, but it will still give the user the consolidates figures at-least from the GL. There should me more efficient method of flaging the related parties and quering both sup_trans and debtor_tran tables for the consolidated figures but that approach will require a major change across all AR/AP reports and inquiries.

1. I understand credit note can not be made, because the goods are not invoiced yet, but you can post the credit note with qty only and set the rate to zero, this will take it back to inventory and keep the inventory logs in movement(with disturbing the the customer ledger).

2. Or else make a positive inventory adjustment and mention customer name in the memo for the record.

The above case is based on the assumption that goods will not be redelivered, if its a replacement case than you might need to amend the qty in SO for the second delivery and adjust it later on the final month end invoicing

General ledger inquiry and some other inquiries like inventory (which are not on grid/db_pager), may get unresponsive if the data increases.
How much data do you have in the selected range? try reducing the date range and see if something shows up
You can try tweaking/optimizing your mysql or load time settings in php.ini


(1 replies, posted in Installation)

the user you entered in the config_db should have access to the database, can you check the permissions of the folder company/x/backup. This directory should be writable.