I'm using FA for a service business (software) and simply point all refernces to COGS accounts and their counterparts to a suspense account, and allow negative inventory. It all seems to work fine.

Using item category you can define 'units' for your invoices (For example, 'Period' for maintenance services) and set up each service or product sold as a dummy item, whether this is for a software licence or implementation services. These then can drive the accounting entries to the relevamt accounts.

As yet, I haven't hit any real snags in its use for a service business.

We plan to use 3x copies of FA in different countries (with different base currencies) and consolidate in a single base currency.

Janusz

I am about to set off to Homg Kong, but when I get back I will repeat the whole sequence of my load up events in a clean system and see if this caused the problem, and if so document this fully to send it to you (which I will do via e-mail).

Many thanks

Tim

I think I've got to the bottom of this.

I cleared the 0_refs table, and the bank account transfer appeared to go ok, but when looking at the entries, the first entry of several it said that it was voided. On excamination, it was clear that the id numbers were out of sync, and I then spotted

INSERT INTO `0_voided` VALUES ('4', '1', '2010-01-01', '');

in my backup file. I recall that right at the begining I voided a transaction when loading in the refernce data (Chart of Accounts and so on) and  it seems that this entry caused the 'voided' indication.

I went back to the backup file, removed the insert, and voila! the 'voided' note went away and all seems well. It may this particular sequence of events causes a small problem (and may have been the cause of the erroneous 0_refs entry in the first place - I may repeat the sequence), but it is now fixed.

Janusz, thank you for your help ! Marvellous support!

Tim

Janusz

Thanks for the suggestion. I did this, and get the error

DATABASE ERROR : could not add reference entry
error code : 1062
error message : Duplicate entry '1-4' for key 'PRIMARY'
sql that failed was : INSERT INTO 0_refs (type, id, reference) VALUES ('4', '1', '2')

I haven't really sat down at looked at the E-R structure here yet to figure out the exact role of 0_refs, but preumably it is the next internal reference  number to be used and something is out of sync ??  The INSERT if I dump the database is

INSERT INTO `0_bank_accounts` VALUES ('1062', '1', '1062 HSBC Current Account USD', '002', 'HSBC USD', NULL, 'USD', '0', '15', '0000-00-00 00:00:00', '0', '0');
INSERT INTO `0_bank_accounts` VALUES ('1060', '1', '1060  HSBC Current account HKD', '001', 'HSBC HKD', NULL, 'HKD', '1', '3', '0000-00-00 00:00:00', '0', '0');
INSERT INTO `0_bank_accounts` VALUES ('1064', '1', '1064 HSBC Current  account GBP', '003', 'HSBC GBP', NULL, 'GBP', '0', '8', '0000-00-00 00:00:00', '0', '0');
INSERT INTO `0_bank_accounts` VALUES ('1090', '3', 'Petty cash HKD', '004', 'Petty cash HKD', NULL, 'HKD', '0', '9', '0000-00-00 00:00:00', '0', '0');
INSERT INTO `0_bank_accounts` VALUES ('1092', '3', 'Petty cash USD', '005', 'Petty cash USD', NULL, 'USD', '0', '10', '0000-00-00 00:00:00', '0', '0');
INSERT INTO `0_bank_accounts` VALUES ('1094', '3', 'Petty cash JPY', '007', 'Petty cash JPY', NULL, 'JPY', '0', '11', '0000-00-00 00:00:00', '0', '0');
INSERT INTO `0_bank_accounts` VALUES ('1096', '3', 'Petty cash SGD', '008', 'Petty cash SGD', NULL, 'SGD', '0', '12', '0000-00-00 00:00:00', '0', '0');
INSERT INTO `0_bank_accounts` VALUES ('1098', '3', 'Petty cash CNY', '009', 'Petty cash CNY', NULL, 'CNY', '0', '13', '0000-00-00 00:00:00', '0', '0');
INSERT INTO `0_bank_accounts` VALUES ('1093', '3', 'Petty cash GBP', '006', 'Petty cash GBP', NULL, 'GBP', '0', '16', '0000-00-00 00:00:00', '0', '0');

which looks sensible - all the keys are unique here.

Should I be looking at 0_refs to understand this? There is only one row in this table with values 1,4,1.

Thanks

Tim

PS I haven't touched a line of code for 30 years so sorry I can't dig into the php more :-(

I'm on the last lap of FA testing before taking it out to Hong Kong (from London) and have a message being issued by the 'transfer between bank accounts' option.

For any transfer available, I get an error message. Each bank account I have set up maps to its own GL account in the C of A. The error message is issued in error.inc with $db_duplicate_error_code set (to 1062?) and is "The entered information is a duplicate ...". Effectively the only information you can enter is selecting from the two drop downs and it is generated from any pair of codes.

I have check the database integrity with phpMyAdmin and all the tables seem fine.

Any help or other experience on this gratefully received .. where should I be looking?

many TIA

Tim

I designed a ledger for our investment banking application which was a multi-currency, multi-company, 24/7 application handling up to 1m entries per day.  To deal with this sort of implementation a number of partuicular design features are required. (Technology was java, Oracle, running Red Hat on blades.)

Mapping those experiences on to the FA design, and at  the much lower  levels you mentioned, my (completely off the cuff) guess is that there is no reason why FA should not  be able to deal with this, given that some attention is paid to mySQL tuning and optimisation - the database is normally the throughput limitation.

I'm happy to have an 'off line' chat on high volume considerations in distributed environments.

I am currently implementing FA in Hong Kong, Tokyo, Singapore and Shanghai. In these implementations, 'items' are sofware licences rather than anything physical.

I am almost certainly missing something simple, but here is my query.

I set up an intem and set the sales account field  to "4010 sales (licences)"  In the Item Catgories section, this above product is classed as 'licensed product' and also has the sales account 4010.

(There is a sales account for each type of product).

However, when I process an order for this product, it posts the sales side to the default sales account set up in "System and GL setup", not 4010. I had assumed that I would be able to override this default for each item class or indeed item.

What have I missed here? Any help would be most welcome.

Tim