The effect of the return -1; above should be tested under various PHP dispensations - is it an error or is it a graceful change to a new_reference, the calling entity should know and act accordingly.

1,802

(37 replies, posted in Installation)

Then it is a case of permissions for files/folders. Check if the contents of your config_db.php are okay and the db access credentials for the said db are fine. If the file is absent, then during the installation, the webserver process did not have sufficient permissions to write to the FA webroot folder.

The official extensions repo has not been updated in a while. The file stands okay in the FA24extensions repo.
Take the files for your extension from:
https://github.com/apmuthu/FA24extensio … ansactions.

1,804

(9 replies, posted in Modules Add-on's)

Will look into it. Need to check if the UPDATE / INSERT sqls are needed here or changes in the core file(s) are in order. Since many countries including India too follow the GST bandwagon (not that many in the trade are paying it / like to pay it / subsidise excessive and unwarranted govt spending on undesirables!) it may be in order to make it generic.

1,805

(40 replies, posted in Translations)

Older Windows OSes and older XAMPP have issues with gettext which if disabled in the php.ini and then restart webserver should allow for translations to occur from an array instead. This is because Windows uses 3 character language locales instead of Linux's 2_2.

1,806

(5 replies, posted in Reporting)

@mmohamedyaser: post your changed files and let us make it an extension.

1,807

(37 replies, posted in Installation)

We can let this pass as the error will indicate to the user that FA needs to be installed. PHP returns false on error for such common functions like db access. This is due to strict syntax checks in later versions of PHP trying to make it more rigid instead of retaining it to be loosely typed. Otherwise, each missing variable will have to be tackled making it long winded.

1,808

(37 replies, posted in Installation)

All the later ones including PHP 5.6 with standard defaults (debs use saner ones).

In fact a separate test to check if dbname exists in the connection array with an appropriate error would be better. many just copy over the standard FA files and populate the db manually from some default chart without installing FA and find that the files like config_db.php,  installed_extensions.php (both in the webroot and in each company), lang/installed_languages.inc and the log files are not present. WHilst some get created on use, the likes of config_db.php cannot be fathomed.

@poncho1234: Thanks. Committed.

1,810

(5 replies, posted in Reporting)

The Tax Report is in reporting/rep709.php.
Current Report Layout that provides the Detailed and Summarised versions is attached.
The function getTaxTransactions in the said file is the one that provides the line items in the report.

The following is the $sql example that comes about for a company prefix of 0_:

SELECT 
  tt.name as taxname, 
  taxrec.*, 
  taxrec.amount*ex_rate AS amount, 
  taxrec.net_amount*ex_rate AS net_amount, 
  IF(taxrec.trans_type=1 OR taxrec.trans_type=2, 
    IF(gl.person_type_id<>0, gl.memo_, gl.person_id), 
    IF(ISNULL(supp.supp_name), debt.name, supp.supp_name)
  ) as name, 
  branch.br_name 
FROM 0_trans_tax_details taxrec 
  LEFT JOIN 0_tax_types tt ON taxrec.tax_type_id=tt.id 
  LEFT JOIN 0_gl_trans gl ON taxrec.trans_type=gl.type 
    AND taxrec.trans_no=gl.type_no 
    AND gl.amount<>0 
    AND (tt.purchasing_gl_code=gl.account OR tt.sales_gl_code=gl.account) 
  LEFT JOIN 0_supp_trans strans ON taxrec.trans_no=strans.trans_no 
    AND taxrec.trans_type=strans.type 
  LEFT JOIN 0_suppliers as supp ON strans.supplier_id=supp.supplier_id 
  LEFT JOIN 0_debtor_trans dtrans ON taxrec.trans_no=dtrans.trans_no 
    AND taxrec.trans_type=dtrans.type 
  LEFT JOIN 0_debtors_master as debt ON dtrans.debtor_no=debt.debtor_no 
  LEFT JOIN 0_cust_branch as branch ON dtrans.branch_code=branch.branch_code 
WHERE (taxrec.amount <> 0 OR taxrec.net_amount <> 0) 
  AND !ISNULL(taxrec.reg_type) 
  AND taxrec.tran_date >= '2015-03-01' 
  AND taxrec.tran_date <= '2018-03-31' 
ORDER BY 
  taxrec.trans_type, 
  taxrec.tran_date, 
  taxrec.trans_no,
  taxrec.ex_rate;

An example output is:

taxname    id    trans_type    trans_no    tran_date    tax_type_id    rate    ex_rate    included_in_price    net_amount    amount    memo    reg_type    amount    net_amount    name    br_name
Tax    5    10    2    2017-05-07    1    5    1    1    285.71    14.29    002/2017    0    14.29    285.71    Donald Easter LLC    Donald Easter LLC
\N    7    10    3    2017-05-07    0    0    1.123    1    267.14    0    003/2017    0    0    299.99822    MoneyMaker Ltd.    MoneyMaker Ltd.
Tax    2    10    1    2017-05-10    1    5    1    1    5942.86    297.14    001/2017    0    297.14    5942.86    Donald Easter LLC    Donald Easter LLC
Tax    10    10    5    2018-02-18    1    5    1    1    249.53    12.48    001/2018    0    12.48    249.53    Donald Easter LLC    Donald Easter LLC
Tax    3    20    1    2017-05-05    1    5    1    0    3000    150    rr4    1    150    3000    Dino Saurius Inc.    \N
Tax    8    20    2    2018-01-22    1    5    1.3895    0    2620    131    BE075    1    182.0245    3640.49    Beefeater Ltd.    \N

There is no Sales Area in the above output. If we add the branch.area to the select list by making line 41

                branch.br_name

to be:

                branch.br_name, branch.area

we can get that field. This will need to be added in to the header part when the new area argument is included.

@joe: nice suggestion - can we add it in?

@joe: is this necessary?

1,812

(37 replies, posted in Installation)

Which version of FA are you using? Try the latest Git Master version. It is obvious that there is no dbname given in your config_db.php file for the company chosen during login.

Line 208 of the file includes/db/connect_db_mysqli.inc is:

if (!mysqli_select_db($db, $connection["dbname"]))

A possible modification to it would be:

if (!$connection["dbname"] && !mysqli_select_db($db, $connection["dbname"]))

@joe: want to commit it?

@joe: has this been an issue for quite some time? Is there another standard operating procedure that needs to replace the above?

@karl1234: The first of your transactions has a payment and receipt and hence there is an exchange rate variance computed on the exchange rates used (one for payment and another for receipt) for the nett balance of the transaction set. In your second transaction, there is only a notional value in the exchange rate variance account as it awaits the contra entry when settlement occurs in the desired currency.

@andijani: The second transaction (one way) of @karl1234 applies to both your transactions.

1,814

(1 replies, posted in Reporting)

Choose to show balances in the Form that outputs the report rep201.php. See Attachment.

1,815

(3 replies, posted in Wish List)

The same item can be in Living Room and in Dining Room say like a Chair. If an item can only belong to one group, then name them like:
Living Room Item 1
Living Room Item 2
Dining Room Item 1
Dining Room Item 2
...

1,816

(14 replies, posted in Setup)

If we set the code to kick out the current logged in user session when the same username is logged in again it might be okay. If a browser hung during accessing FA, a fresh login can eliminate all old sessions for the same user.

Line 45 in includes/types.inc is:

define('ST_SALESORDER', 30);

The execution of the $sql defined from Line 224 in sales/includes/db/sales_order_db.inc provides a non unique resultset which triggers the error message you stated. The simplified query (assuming company db table prefix as "_1") to test this case is:

SELECT * FROM 1_sales_orders WHERE trans_no=30 AND order_no=3;

If you get more than 1 row output, then your Chart of Accounts is not proper as the primary key has not been defined to be a compound one comprising trans_no and order_no.

Since you say that there is no duplicate sales order with that combination of fields, then the new sales order you are trying to insert may have these same values which comes from the type and reference fields in the 1_refs table.

All of this is assuming you are using FA v2.4.x. When you ask for assistance, please provide details of versions of server components and platform used.

Again, please do not confuse Customer Payment with Payment Allocation to a Sales Invoice. The former is what is shown as zero in your reports (rightly so), whilst the latter appears only in a ledger printout for the customer. Remember that any one payment or credit note of a a customer can be allocated to one or more Sales Invoices / Sales Orders and hence the need for the mere "Payment" entry to be independent of any Sales Order.

There is no Sales Order associated with a payment for the Payment Transaction.
Only when a payment allocation is made to a Sales Invoice, the corresponding Sales Order is tagged to the transaction.

1,820

(2 replies, posted in Manufactoring)

It is appropriate to make a separate manufactured item for each BOM even if the end product is the same. This is so because in the case of assembled kits, when a breakup occurs, the respective parts / components can be sent back to inventory in the same manner it comprised the specific BOM it used.

1,821

(114 replies, posted in Reporting)

@corporatei: When you upload the latest FA files, it will show v2.4.4 as of now. This does not mean that your chart of Accounts is matched to it. Compare your schema of the database with that of sql/en_US-new.sql and see if there are any table differences or field order and availability differences and synch them to the latter. A blank chart of accounts will necessarily not have any data and hence the tax summary will be 0.

You can install any extension only when logged in as admin in the default company and activate it for any target company from within it. Then, when you are logged in as admin in your target company, you may have to enhance your security role (atleast for the admin user) by enabling the permissions for the new extensions, logout and then login again into the target company.

If you are still in a quandary, PM me access details at a mutually convenient time. I'm possibly half a world away.

1,822

(40 replies, posted in Translations)

All FA Translations are best hammered out on the likes of Transifex.com
Have a look at the updated translations in the FA24extensions repo.

1,823

(8 replies, posted in Reporting)

Even an Edit of a Journal Entry means a voiding and then a new entry.

1,824

(8 replies, posted in Reporting)

Stand corrected.

Are there any entries that have been voided that get included in the second report that match the difference?

1,825

(5 replies, posted in Setup)

When you restore from your company file (sql backup taken from within FA), all the data comes right back in.
What info did you want to restore from your company file if you want to start anew?