frappe / erpnext

Free and Open Source Enterprise Resource Planning (ERP)
https://erpnext.com
GNU General Public License v3.0
22.02k stars 7.38k forks source link

Book Loss/Gain in Forex for Forex Accounts in Multi Currency #5208

Closed nabinhait closed 3 years ago

nabinhait commented 8 years ago

Issue: Currently user can book loss/gain at the time of payment if payment made against sales /purchase invoice. But there is no option, if it is an advance payment.

Proposed solution: Modify the advance Journal Entry on advance adjustment or payment reconciliation and add an extra row for exchange gain/loss.


Original Reported Issue by Aditya Duggal

I guess you people have not thought a of cases like this: SELLING: Receive Payment 100 USD @ 65 INR = 6500/- INR Make INvoice 100 USD @ 66 INR = 6600/- INR Now the G/L of the customer would show ZERO balance in USD but would show 100/- DR in INR, How to remove this amount, for this we need to make a JV which is not possible since we cannot select the account of USD in the account of JV. PURCHASING: Pay 100 USD @65/- INR = 6500/- INR Get PI for 100 USD @66/- INR = 6600/- INR Now G/L of supplier would show ZERO balance in USD but would show 100/- CR in INR. As in our case of the SUPPLIER, now to remove this amount we need to make a manual JV which as I said is not possible currently. I hope its now clearer. In my case we made the advance payment to the supplier and then we received the material (PI) but there is no way to mention the adjustment account in the PI itself.

So basically if you see that the supplier's account has balance in INR but not in JPY and we need to remove that balance which we are unable to do, you can check the same by logging into our account.

adityaduggal commented 8 years ago

@nabinhait any update on this issue....my audit is stuck due to this

anandpdoshi commented 8 years ago

@adityaduggal @nabinhait is on leave for 2 weeks. Hopefully he will reply once he is within a network.

nabinhait commented 8 years ago

@adityaduggal

I am currently working on making separate Payment Entry form. In that, I will try to cover Forex exchange gain/loss functionality for both the cases, advance and normal payment.

For existing advance payment entries, to book gain/loss, there are 2 possible options:

  1. Amend the advance Journal Entry and book exchange gain/loss.
  2. Make a separate Journal Entry with +1 and -1 dollar against debtors/creditors and adjust in exchange rate in the 2 rows in a way that there is a difference in Rs 100 in between the 2 rows.
adityaduggal commented 8 years ago

@nabinhait MOST URGENT my Accounts are STUCK due to this ERROR, any UPDATE on v7 for this ISSUE

What should we do for this ERROR as we need to COMPLETE our books and We cannot even enter a JV to write off the amount.

nabinhait commented 8 years ago

@adityaduggal Could not able to implement the possible solution in v7 as well. For now, please book the exchange gain/loss via Journal Entry.

Based on the above example, the adjustment journal entry will look like below: exchange_gain_loss_adjustment

adityaduggal commented 8 years ago

@nabinhait Thanks for giving me the escape route, I was just thinking why didn't it occur to me earlier. Now this brings me to a more pertinent query which is that the current design of Multi-Currency accounts is Flawed.

I think if you don't allow base currency transactions in the Multi Currency Accounts then you can never resolve this issue.

Please understand the issue:

  1. Payment Made = 100 USD @ 10/- per USD = 1000 INR
  2. Receipt of Material = 100 USD @ 20/- per USD = 2000 INR

Now both the payment and the purchase invoice are EVENLY SET-OFF in the FOREX but there is a MIS-MATCH in the base currency which is INR

Now to make this automated, the system should have posted a JV automatically BUT only in Base Currency and should have adjusted it against the invoice in Base Currency.

Now this is not possible currently since system does not allow for INR transactions in the USD account but you forgot that in such a scenario we would need only INR transaction and not USD transaction.

With your current suggestion, I have been able to post a GL entry for the Loss or Gain but the problem is that the Supplier in A/P has a negative balance in FOREX which is also WRONG.

So I would suggest that the FOREX accounts should allow transactions in base currency and we could later convert the same to FOREX transactions this ways I think we might be able to find a way to incorporate OLD customers/suppliers in the FOREX as well since currently we can only make new customers/ suppliers in FOREX and not the old customers.

I hope I have been able to make some sense out of it.

Also we should give the ability to convert INR accounts to USD/FOREX accounts I know this utility might seem futile but let me tell you that there are many cases in which the person creating the customer forgets to make the account as FOREX account and then once there are transactions then the only option left with the user is to either create a new customer or carry on with the base currency transactions.

adityaduggal commented 8 years ago

@nabinhait Any update has this issue been resolved since I have a pending entry and we are not using multi currency accounts after that issue.

adityaduggal commented 7 years ago

@nabinhait any news on this issue since some of my entries are waiting for this update since long time now

nabinhait commented 7 years ago

Sorry @adityaduggal, still could not manage time to work on this issue. May be we should do this at foundation code sprint.

ahmad18189 commented 6 years ago

Update ? if not implemented please inform so we can start new solution

adityaduggal commented 6 years ago

@ahmad18189 Thanks for the bump, I think we should do this one on Foundation Code Sprint in 2018 now.

dineshpanchal93 commented 6 years ago

Hi @nabinhait any update ??

federicocalvo commented 5 years ago

Hi @nabinhait, any update this? It is not priority?

This has a direct implication in all the numbers that remain unreconciled, so I don't know if there is a technical complexity that delays the solution, because they should be priority issues for any multi-currency company.

harshit-30 commented 3 years ago

Please create another issue if it is not included in v13.10.