Once the item is bought in local currency equivalent at certain forex rate, it becomes valued in local currency in the opening balance. Any replenishment value in current forex rate will need to be manually assessed at time of fresh purchase / new sale if intended.

3,627

(11 replies, posted in Reporting)

Have a look a the following lines 32-53 of reporting/reports_main.php:

$reports->addReportClass(_('Customer'), RC_CUSTOMER);
    $reports->addReport(RC_CUSTOMER, 101, _('Customer &Balances'),
        array( _('Start Date') => 'DATEBEGIN',
            _('End Date') => 'DATEENDM',
           _('Customer') => 'CUSTOMERS_NO_FILTER',
           _('Show Balance') => 'YES_NO',
           _('Currency Filter') => 'CURRENCY',
           _('Suppress Zeros') => 'YES_NO',
           _('Comments') => 'TEXTBOX',
           _('Orientation') => 'ORIENTATION',
           _('Destination') => 'DESTINATION'));
    $reports->addReport(RC_CUSTOMER, 102, _('&Aged Customer Analysis'),
        array( _('End Date') => 'DATE',
           _('Customer') => 'CUSTOMERS_NO_FILTER',
           _('Currency Filter') => 'CURRENCY',
           _('Show Also Allocated') => 'YES_NO',
           _('Summary Only') => 'YES_NO',
           _('Suppress Zeros') => 'YES_NO',
           _('Graphics') => 'GRAPHIC',
           _('Comments') => 'TEXTBOX',
           _('Orientation') => 'ORIENTATION',
           _('Destination') => 'DESTINATION'));

In each of the $reports->addReport() statements, you can add in:

           _('Stock Location') => 'LOCATIONS',

Note that the PARAMS[] subscript numbers will change in the receiving script - rep101.php and rep102.php.

Kindly state the offending line you removed.

Increasing font size is done with:

$rep->fontSize += 2;

3,629

(11 replies, posted in Reporting)

In FA 2.3 currently there is no such provision except to filter them in the appropriate reporting/repXXX.php files. rep101.php and rep102.php are the affected files. Check out their sql source functions. As each customer is served by a specific location, taking reports on a specific customer should get you what you want. All form request fields are in reporting/reports_main.php file.

Since the home currency alone works, check if you make the second currency the home currency and see if that works. We can then isolate the issue of the second currency alone being different in the font set used.

3,631

(11 replies, posted in Reporting)

Since each Warehouse has it's (own) customers, printing for all locations/warehouses for any customer should work fine unless he same customer is server at more than one Warehouse/location.
Attempting to create a separate CustomerID for the same customer for each location will mitigate such multiple warehouse servings.

Tags / Dimensions could also be useful here.

3,632

(14 replies, posted in Setup)

You will have to logout and login again after clearing browser cache.

The relevant commit is here.

All you need to do is edit the various reporting/repXXX.php files and remove all references to Tax/VAT.

Attached your screenshot here for self-sufficiency.

3,636

(10 replies, posted in Report Bugs here)

It stands committed in the FA 2.4 repo now.

Try to turn off "STRICT" in PHP 5.4

Check for file and folder permissions and compare the sql/en_US-new.sql files in both versions and look for missing entries.

In your FA folder look for a tmp folder and in it check the errors.log file in a text editor like notepad.

Take the latest snapshot of FA 2.3.24+ from the official GitHub Repo.

Check the config.php for any changes you might need.

You may need to make changes to your database tables (in your Chart of Accounts) and some IDs (like fiscal year), apart from some AUTO_INCREMENT presets.

The patch code for the file differences between the versions 2.3.16 and v2.3.24+ in sql/en_US-new.sql are:

diff --git "a/sql/en_US-new.sql" "b/sql/en_US-new.sql"

--- a/sql/en_US-new.sql
+++ b/sql/en_US-new.sql
@@ -3,7 +3,7 @@
 -- http://www.phpmyadmin.net
 --
 -- Host: localhost
--- Generation Time: May 11, 2010 at 11:37 PM
+-- Generation Time: Sep 26, 2014 at 11:37 AM
 -- Server version: 5.0.51
 -- PHP Version: 5.2.6-1+lenny2
 
@@ -653,7 +653,8 @@ CREATE TABLE IF NOT EXISTS `0_debtor_trans` (
   `payment_terms` int(11) default NULL,
   PRIMARY KEY  (`type`,`trans_no`),
   KEY `debtor_no` (`debtor_no`,`branch_code`),
-  KEY `tran_date` (`tran_date`)
+  KEY `tran_date` (`tran_date`),
+  KEY `order_` (`order_`)
 ) ENGINE=InnoDB;
 
 --
@@ -755,18 +756,14 @@ CREATE TABLE IF NOT EXISTS `0_fiscal_year` (
   PRIMARY KEY  (`id`),
   UNIQUE KEY `begin` (`begin`),
   UNIQUE KEY `end` (`end`)
-) ENGINE=InnoDB  AUTO_INCREMENT=4 ;
+) ENGINE=InnoDB  AUTO_INCREMENT=3 ;
 
 --
 -- Dumping data for table `0_fiscal_year`
 --
 
-INSERT INTO `0_fiscal_year` VALUES(1, '2008-01-01', '2008-12-31', 0);
-INSERT INTO `0_fiscal_year` VALUES(2, '2009-01-01', '2009-12-31', 0);
-INSERT INTO `0_fiscal_year` VALUES(3, '2010-01-01', '2010-12-31', 0);
-INSERT INTO `0_fiscal_year` VALUES(4, '2011-01-01', '2011-12-31', 0);
-INSERT INTO `0_fiscal_year` VALUES(5, '2012-01-01', '2012-12-31', 0);
-INSERT INTO `0_fiscal_year` VALUES(6, '2013-01-01', '2013-12-31', 0);
+INSERT INTO `0_fiscal_year` VALUES(1, '2013-01-01', '2013-12-31', 0);
+INSERT INTO `0_fiscal_year` VALUES(2, '2014-01-01', '2014-12-31', 0);
 
 --
 -- Table structure for table `0_gl_trans`
@@ -955,7 +952,8 @@ CREATE TABLE IF NOT EXISTS `0_item_units` (
 -- Dumping data for table `0_item_units`
 --
 
-INSERT INTO `0_item_units` VALUES('ea.', 'Each', 0, 0);
+INSERT INTO `0_item_units` VALUES('each', 'Each', 0, 0);
+INSERT INTO `0_item_units` VALUES('hr', 'Hours', 0, 0);
 
 -- --------------------------------------------------------
 
@@ -1559,7 +1557,7 @@ CREATE TABLE IF NOT EXISTS `0_stock_category` (
 INSERT INTO `0_stock_category` VALUES(1, 'Components', 1, 'each', 'B', '4010', '5010', '1510', '5040', '1530', 0, 0, 0, 0);
 INSERT INTO `0_stock_category` VALUES(2, 'Charges', 1, 'each', 'D', '4010', '5010', '1510', '5040', '1530', 0, 0, 0, 0);
 INSERT INTO `0_stock_category` VALUES(3, 'Systems', 1, 'each', 'M', '4010', '5010', '1510', '5040', '1530', 0, 0, 0, 0);
-INSERT INTO `0_stock_category` VALUES(4, 'Services', 1, 'hrs', 'D', '4010', '5010', '1510', '5040', '1530', 0, 0, 0, 0);
+INSERT INTO `0_stock_category` VALUES(4, 'Services', 1, 'hr', 'D', '4010', '5010', '1510', '5040', '1530', 0, 0, 0, 0);
 
 -- --------------------------------------------------------
 
@@ -1790,7 +1788,7 @@ INSERT INTO `0_sys_prefs` VALUES('coy_logo', 'setup.company', 'varchar', 100, ''
 INSERT INTO `0_sys_prefs` VALUES('domicile', 'setup.company', 'varchar', 55, '');
 INSERT INTO `0_sys_prefs` VALUES('curr_default', 'setup.company', 'char', 3, 'USD');
 INSERT INTO `0_sys_prefs` VALUES('use_dimension', 'setup.company', 'tinyint', 1, '1');
-INSERT INTO `0_sys_prefs` VALUES('f_year', 'setup.company', 'int', 11, '6');
+INSERT INTO `0_sys_prefs` VALUES('f_year', 'setup.company', 'int', 11, '2');
 INSERT INTO `0_sys_prefs` VALUES('no_item_list', 'setup.company', 'tinyint', 1, '0');
 INSERT INTO `0_sys_prefs` VALUES('no_customer_list', 'setup.company', 'tinyint', 1, '0');
 INSERT INTO `0_sys_prefs` VALUES('no_supplier_list', 'setup.company', 'tinyint', 1, '0');
@@ -2058,10 +2056,10 @@ CREATE TABLE IF NOT EXISTS `0_users` (
   `show_codes` tinyint(1) NOT NULL default '0',
   `show_hints` tinyint(1) NOT NULL default '0',
   `last_visit_date` datetime default NULL,
-  `query_size` tinyint(1) default '10',
+  `query_size` tinyint(1) unsigned NOT NULL default '10',
   `graphic_links` tinyint(1) default '1',
   `pos` smallint(6) default '1',
-  `print_profile` varchar(30) NOT NULL default '1',
+  `print_profile` varchar(30) NOT NULL default '',
   `rep_popup` tinyint(1) default '1',
   `sticky_doc_date` tinyint(1) default '0',
   `startup_tab` varchar(20) NOT NULL default '',

3,641

(4 replies, posted in Setup)

Then all you need to do is make 2015 the current active year in the Setup => Company Setup Form.

3,642

(4 replies, posted in Setup)

Possibly needs correction in the primary database itself.

As long as 2015 is active and the current one is temporarily 2014 which is closed, it is possible you have been entering data that has been correctly taken in for 2015.

Have a look at your actual entries - invoices, payments, etc and see if the date is correctly set in 2015.

3,643

(29 replies, posted in Wish List)

The sample alluded to in a previous post is attached here for self sufficiency of the forum.

3,644

(10 replies, posted in Items and Inventory)

State the workflow you need to achieve Serial Number tracking. What do you want to do for items that have "expired"? How does the FA sync with the actual "expired" items among the physical inventory for disspatch? Do you store goods in separate bin based on expiry date?

Also refer the thread stated in one of the previous posts here.

3,645

(12 replies, posted in Announcements)

Check the use of DIRECTORY_SEPARATOR or do a blind replace of "\\" with "/" in paths for use in your non-localhost even if it is windows.

Please state where you find $db not globally accessible as your instance is not replicable. Responses such yours should be fully qualified and not plant apprehensions especially in new user's  minds in using FA.

Print the invoice (rep107.php) using a for loop 4 times, each time using the appropriate watermark (background PDF) of "Original", Duplicate, Triplicate, etc. The watermark can be replaced with appropriate equivalent of TCPDF functions / abstractions.

Please note that there is no sanctity of the named invoice printouts since each invoice PDF would still have all the watermarks for eg., in your case, it will have 16 pages in all.

Since there are a lot of EU users, a small HOWTO for some specific country is in order.

FA 2.4 though now at RC1 can be used with caution for small entities. The DB structures are still subject to change there as development goes through to release.

Check out the equivalent report in FA 2.4 and see if it does what you want.

Whatever means you use, the taxman can still assume cheating on all such tax-less invoices. Choose a country where there is no tax (atleast for overseas transactions) and do business from there! Better no audit than bad audit (corrupt government audits!)

It is rather an extension of the transaction than a correction.

Alternatively, create a generic zero valued supplier and enter office use items without VAT as if purchased from them and put in the Supplier name in the details.