Wrong currency recorded from Sales Journal to Expense Acct

Bug #856751 reported by jlinkels
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Odoo Addons (MOVED TO GITHUB)
Invalid
Medium
OpenERP R&D Addons Team 3

Bug Description

This is OpenERP server version 6.0. It was installed from the Debian Package 6.0. Client version is 6.0.3. Platform Debian Stable.

I have a company which is in USD. I use the Anglo-Saxon stock accouting.

All price lists and price types are in EUR. In the pricing nowhere USD appears anywhere.

All product pricing is consequently in EUROs.

When I sell products, the invoice is in EUROs, but income is recorded in USD. This is correct. It means I sell goods for 10.00 EUR, and the Income Acct is credited for 12.83 EUR.

However, both the Expense Acct and Stock Output Acct are debited and credited in EUROs. This is definitely wrong. It means that the cost of good is EUR 5.00 and the Expense Acct is debited for 5.00. But the Expense Acct is defined in USD. The Expense and Stock Output Acct should have been booked in USD as well.

I don't know what combinations of price lists and company currency will induce this error, but I am sure that it results in some almost impossible to track down discrepancies in accounting whenever different currencies are involved.

jlinkels

Related branches

Revision history for this message
Vinay Rana (OpenERP) (vra-openerp) wrote :

Hello Klinkels,

The final Account Entries Debit / Credit amount always in company currency, It does not matter your price list is in USD or any other currency the final amount always converted into company currency.

The Product prices are also consider in company currency but it will automatically converted into price list Currency amount on onchange of SO line or PO line.

What is your company currency configuration, Would you please provide me your complete currency configuration.

Thanks and waiting for your reply.

Changed in openobject-addons:
status: New → Invalid
status: Invalid → Incomplete
Revision history for this message
jlinkels (jlinkels) wrote :

The company currency is USD.

The price types are EUR
The Sales price list is EUR
The Purchase price list is EUR

I don't have more price lists. Purchases are done using the Purchase price list in EUR. The sales are done using the Sales price list in EUR

I expect that all account entries are converted to USD. This is what you say as well.
However Expense acct and Stock Output acct entries are in the EUR amount.

Have a look at the screenshot as attached.
The Purchase price of the product is EUR 1.00
The Sales price is EUR 1.50
The exchange rate EUR/USD = 1.283

When I sell 4 products, the Sales price is 7.70
This is correct: 4 x 1.50 x echange rate = 4 x 1.50 x 1.283 = 7.70

However, the Stock Output account is debited for 4.00
This is 4 x 1.00. This is incorrect, the booking should be 4 x 1.00 x 1.283 = 5.13

When I purchase 10 products, the journal entries show correctly the cost of 12.83
This is 10 x 1.00 x exchange rate.
Unfortunately the entry for Stock Input accout IN/00001 is incorrect, only 1 product is calculated.
But that is due to a known bug. (#740964)
It shows clearly that the purchase price is 1.28, not 1.00. That is correct.

This indicates that the price lists are correct.

Please see the attachments.
Inkoop = Purchase

jlinkels

jlinkels

Revision history for this message
Vinay Rana (OpenERP) (vra-openerp) wrote :

Hello ,

I have checked this issue and find the related problem in PO / SO line product onchange, The cost of product is not converted into pricelist currency.

So the above issue is also confirmed because the generated stock double entries also not proper with respect of pricelist currency and company currency.

Thanks.

Changed in openobject-addons:
assignee: nobody → OpenERP R&D Addons Team 3 (openerp-dev-addons3)
importance: Undecided → Medium
status: Incomplete → Confirmed
Changed in openobject-addons:
status: Confirmed → In Progress
Revision history for this message
Bharat Devnani (Open ERP) (bde-openerp) wrote :

Hello jlinkels,

Thanks for reporting, As you mentioned about the problem in PO and SO, i have traced the issue as per your test case:

1) I found that the calculations related to PO are correct in latest trunk version, it calculates according to the number of quantity.
2) The problem related to SO was found and has been rectified and will be merged in addons soon.

Following are the Revision ID and Number of the following :

Revision ID : <email address hidden>
Revision Number : 5220

Thanks & Regards,
Devnani Bharat R.

Changed in openobject-addons:
status: In Progress → Fix Committed
Revision history for this message
jlinkels (jlinkels) wrote :

> 1) I found that the calculations related to PO are correct in latest trunk version, it calculates according to the number of quantity.
I know, I mentioned the quantity bug so it was clear that the quantity hadn't to do anything with this currency bug.

 2) The problem related to SO was found and has been rectified and will be merged in addons soon.
Great. I am following the development branch so I should have it soon as well.

Thanks for your quick reaction and bugfix

jlinkel

Changed in openobject-addons:
milestone: none → 6.1
Revision history for this message
qdp (OpenERP) (qdp) wrote :

Hi jlinkels,

sorry, but i feel like there is a little misunderstanding somewhere because i'm able to get 5.12 as booking entries for cost of good sold.

I'd like to emphasize one what is probably causing the problem on your side: the standard price and the list price of your products have to be defined in the company currency (in USD, not in EUR).

So, what i've done to test:
*my company is usd, rate 1
*i set a rate of 0.77918 for the currency EUR (1 / 1.2834)
*i created a product TEST with list price 1.28 and cost price 1.93 (conversion of 1€ and 1.5€, only to suit your example)
*i created a SO with currency EUR and sold 4 of my procucts TEST at the unit price of 1.5€
*i validated the SO and confirmed its invoice: entries booked are as you depicted: $7.70 (6€) and $5.12 (4€) (rounding exceptions excluded)

My revision of addons is 5320. Can you test/tell me what i'm missing here?

Thanks,
Quentin

Changed in openobject-addons:
status: Fix Committed → Invalid
Revision history for this message
jlinkels (jlinkels) wrote :

> I'd like to emphasize one what is probably causing the problem on your side:
> the standard price and the list price of your products have to be defined in
> the company currency (in USD, not in EUR).

Definitely not. This would imply that pricelists in different currencies cannot exits.
Of course they can. Pricelists should contain the amount in the currency the pricelist
was defined in, and any booking is done in company currency.

As you say it, the user would have to manually calculate every price in company currency
which is nonsense.

Please explain me what is the use for having pricelists in different
currencies if I have to enter everything in company currency anyway?

Can you also point out in the user manual where it is explained that when I have a
pricelist in EUR, I have to enter 1.28 as price since my company currency is USD?

Even when I have price lists in different currencies the calculation is automatic,
which implies that you can have pricelists in the currencies they are defined in.

http://doc.openerp.com/v6.0/book/6/6_16_Sales/6_16_Sales_pricing.html
quote:
Each pricelist is expressed in a single currency. If your company sells products in several currencies, you will have to create as many pricelists as you have currencies.
/quote

Also all OTHER accounting entries (like accounts receivable) are calculated
and converted correctly, ONLY the stock account adjustment adjustment is incorrect.

jlinkels

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.