c2c-oerpscenario team mailing list archive
-
c2c-oerpscenario team
-
Mailing list archive
-
Message #24726
[Bug 785427] [NEW] [stable 6.0.2] Profit and Loss parser logic error leads to incorrect totals
Public bug reported:
In the P&L parser you have the following code
if typ == 'expense' and account.type <> 'view' and (account.debit <> account.credit):
self.result_sum_dr += abs(account.debit - account.credit)
if typ == 'income' and account.type <> 'view' and (account.debit <> account.credit):
self.result_sum_cr += abs(account.debit - account.credit)
It is clearly incorrect - while it will work fine for those accounts
that have the expected - or + balance imagine this situation (or any 1
of a 100 other normal business or accounts setups).
Lets say I offer rebates, but those rebates are not an expense, really
they are a reduction in sales revenue, so I declare them as income
(quite correctly, at least in my country), now instead of subtracting
those rebates from the income total, I add them. My income increases?
By offering rebates? My Sales Manager just retired very rich.
Take another really common example - any salespeople reading -
salespeople jam their accounts full of product at the end of a fiscal
period to maximise their commission. Then in the first month of the
period, all that product comes back and sales are actually negative for
a while.
What about FX Gains/Losses account or writeoff accounts. Typically
these are expense accounts, but sometimes we get lucky and they go in
our favour. But now we don't realise the benefit it is subtracted from
our profit (well added to our expenses, which reduces our profit)
You cannot use absolute value in any reports or functions relating to
account.balances, you must either use the value, or the inverse of the
value depending on whether it is defined as a debit or credit account.
Or alternatively for debit accounts go dr-cr, and for credit, go cr-dr.
In fact, anytime abs is used in relation to anything accounting this
should be raising a big red flag.
** Affects: openobject-addons
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/785427
Title:
[stable 6.0.2] Profit and Loss parser logic error leads to incorrect
totals
Status in OpenERP Modules (addons):
New
Bug description:
In the P&L parser you have the following code
if typ == 'expense' and account.type <> 'view' and (account.debit <> account.credit):
self.result_sum_dr += abs(account.debit - account.credit)
if typ == 'income' and account.type <> 'view' and (account.debit <> account.credit):
self.result_sum_cr += abs(account.debit - account.credit)
It is clearly incorrect - while it will work fine for those accounts
that have the expected - or + balance imagine this situation (or any 1
of a 100 other normal business or accounts setups).
Lets say I offer rebates, but those rebates are not an expense, really
they are a reduction in sales revenue, so I declare them as income
(quite correctly, at least in my country), now instead of subtracting
those rebates from the income total, I add them. My income increases?
By offering rebates? My Sales Manager just retired very rich.
Take another really common example - any salespeople reading -
salespeople jam their accounts full of product at the end of a fiscal
period to maximise their commission. Then in the first month of the
period, all that product comes back and sales are actually negative
for a while.
What about FX Gains/Losses account or writeoff accounts. Typically
these are expense accounts, but sometimes we get lucky and they go in
our favour. But now we don't realise the benefit it is subtracted
from our profit (well added to our expenses, which reduces our profit)
You cannot use absolute value in any reports or functions relating to
account.balances, you must either use the value, or the inverse of the
value depending on whether it is defined as a debit or credit account.
Or alternatively for debit accounts go dr-cr, and for credit, go cr-
dr. In fact, anytime abs is used in relation to anything accounting
this should be raising a big red flag.
Follow ups
References