StevenK - 2006-11-02

In some countries it is required by tax laws to create different accounting entries based on various sales details. Eg if a product has been sold from a branch office the General Ledger Account would be the same in the first two segments (ie 70.00), but different on the third (or fourth - it is up to the accountant) (ie 70.00.01 for central store, 70.00.02 for the first branch office, and so on). This is complicated further when other details should be reported as well, such as different VAT categories (ie for 20% VAT in central store and for 10% VAT in central store, while the same should be applied to the branch offices).
Currently there is no satisfactory way to work around this. Although different accounting rules per branch office or different products based on VAT categories can be used, they  can not cover all cases (there are numerous transaction details that should be reported) and you end up with an unbelievable mess in accounting rules and products.
The most suitable solution would be accounting rules based on parameters. The parameters should be **anything** in the transaction or the database. These parameters would be passed to the accounting posting from the invoice (or be readable by the accounting rule), and the accounting rule should be programmable so as to change according to specific parameters. Such rules would be in the form of IF VAT=20 THEN ACCOUNTING.SEGMENT4=01. The rules should be able to use as parameter   e v e r y t h i n g    (ie transaction details, warehouse, location etc) and the GL account that would be generated should be a synthesis of four different account segments, which will all be individually parametric.

This is a very serious issue in making ADempiere suitable to **any** accounting regime and I think that this is needed in many countries.