Closed inetplus closed 6 years ago
Total Payable is 750,00 Euro ? And Paid amount is 250,00 Euro ? In this case there will be no difference will show, because the payable is higher than actually paid. If you enter 800 Euro against payable of 750 Euro then 50 will show as difference. This you can keep it in supplier account (open) or write off to any account like Bank Charges or Exchange rate..
OK
i used the term which is in odoo. But please below the explanation.
750,00 Euro is the invoice amount which i need to pay. 250,00 euro is the amount that i paid.
The difference that i have to pay (that is still open) is 500 Euro. 500 Euro must be paid
First understand the concept of difference amount, Its not the balance Payable/receivable from/to the partner. Its excess paid or received to/from the partner. Use case : Your company base currency is Euro and your partner currency is USD. While making the payment there is deference due to exchange rate. Eg: USD 500 (In USD 500 * 1.32 = Euro 660 ) payable and from bank statement is showing Euro 700 deducted, Euro 40 as bank charges or exchange difference. This Euro 40 will show as difference and you can set off this amount with any other account other than Receivable/Payable account Like : Bank Charges / Exchange gain /loss etc...
ok regarding my understanding it is no bug or? if it is no bug then i need to close it
I cannot fully apply with orchidinfosys. Old Behavior was, that i could write off difference amount. So for inetplus' first example, i should be able to write off this amount. no matter, it is exchange difference or discount for cash. At version 6.1 and early 7, i could write off the difference amount, when the customer pays too few. Actually that is not possible. So for inetplus' first, there should be the difference amount 500/-500
Below in pic, you can also see an actual example from me.
Maybe there was some functional change also? That we have to write off in another place?
There is a bug in register payment, which also exists in Odoo 7. For Odoo 8 you can test that on latest 8.0 runbot on http://runbot.odoo.com/runbot.
No difference will be calculated or no write off option will be activated...
Checkout attached screenshot of code inspection... the write off options are hidden, cause difference calculation is missed/wrong/buggy...
Same problem here
We created a fix for this issue, check it out here: https://bitbucket.org/thomi/odoo-tools-8.0/src
@inetplus :+1: I agree with it.. I too have noticed this issue, it happens when Register payment is selected from Invoice .. when I traced back the logic behind it I realised.. in newer version, [ receipts/payments] lines are having a field for allocation amount, when once it is filled the evalution happens and which is working fine receipts/payment screen.. But in register payment wizard, no such concepts comes across, as the lines are not displayed, so unfortunately the allocated amount is Zero, hence the diferrence is not caculated... It is a bug in the Logic.....
Whats about this? Longtime issue for a logic, that is important? How you guys register payments, if it does not work properly? Would be nice, if this can bi fixed soon, so we don't need to install a bug fix module...
Last test on runbot: http://26782-8-0-95e79c.runbot.odoo.com/web with invoice SAJ/2014/005
If customer pays correct, no problem:
If customer pays less then open balance, we can't write off or do anything else:
If customer pays more then open balance, we are able to choose what to do whit the extra amount
Thanks
This problem still exists.
One needs to be able to write off an underpayment.
I just did. Seems to be working from the payments form, not from the popup created from the invoice. Can confirm right now, though.
Any movement on this? Was very embarrassed when demonstrating to client that wanted to accept a short payment and write the difference off and not given an option to do so.
SOLVED With the default Chart of accounts there is no problem. But with my custom charts account for Portugal I had the same problem. So, I solved it just comparing the charts involved in this process, and I realized that the Receivable Account wasn't able to reconcile.
Accounts -> Templates -> Accounts -> Charts of Accounts Templates Click on the Receivable Account and turn on the Allow Reconciliation
I solved it!
The problem exist when I used the custom Charts of Accounts.
And BINGO!
@thomich - I just tried your module. It seems that with that installed, it only allows a write off if there is an overpayment, not if there is an underpayment? It reverses the original problem.
@richard-willowit do you have setup your receivable accounts correctly? as above comments the receivable account (account on customer invoice) has to be set to allow reconciliation... same for supplier invoices...
if i try that on any odoo 8 runbot (http://runbot.odoo.com/runbot) i can't get it running as above comments described... if i do a underpayment for a invoice, difference amount for me is not calculated... even if runbot's are using default CoA.
As you described about reverse the problem, for me on runbot's if you register a overpayment it calculates the difference amount, which is wrong...
As i know from accounting, a overpayment can't be done in this way, for this you have to create a own journal entry.. register full amoutn of invoice/payment and for overpayment create a own journal entry...
@thomich Yes, Receivable and Payables set correctly.
We want to allow under and overpayments this way. The variances are there for every payment this particular client invoice payment, because there is a currency variation every time. I have just bitten the bullet, written my own module that is a complete copy of their code, with two dummy hooks in it, and then I change the apply amount in those hooks to stop it from reaching the ceiling of applies, and it then always shows the full variance on the pop-up, and allows under and overpayments to be written off then.
@richard-willowit normaly, over payment can be registered with customer payments wizard (NOT register payment from invoice)... there you can also make bulk payments for partners...
@thomich Yes, I realise that, but why make people do it in two steps when they can do it in one. Register payment from invoice is just as logical. "Here is your invoice for 199.99". "Here is 200 dollars". Hmmm, better go to a different screen to process this...
i do have the same problem here i can see a fix for version 7 which was never merged https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-1202127-ssh
I will try this fix on my 8.0 branch
This bug is still present in the Version 8.0-20151109 , nobody use this feature in Odoo ? Nobody uses seriously Odoo in fact ??
our customers use it.. we have done a fix for it, see above comments... if underpayment it works fine... for overpayment, you have to go to customer payments and make the payment from there...
Thank you thomich for your answer and your fix that i tried: indeed it's not a real solution as it inverse the problem . I can't understand how sfaraujo and AlmustafaNET solved the problem, as nothing as to deal with reconciliation in my testing DB. I really don't understand how such a bug can stay in Odoo during more than 15 months ...
i also don't know, why this still exists.. and i think it also exists in v9...
you say it inverts problem.. now, we here in switzerland normally not having customers that pay more then the invoiced amount ;) for us, if invoice amount is eg. 105 and customer pays 100, we can make the write off and difference will be calculated correctly... if invoice amount is eg. 95 and customer pays 100, then we have to go trough customer payment OR normally register 95 trough register payment wizard an make a manual journal entry with the extra 5 to the needed account...
LOL =) it seems that the end user for whom i try to find a solution has some customers who pay more! (cause they use paper order forms, maybe they just don't know about abacus, or calculator ;). In any case, thank you for your suggestions thomich, i'll post again if i find something convincing !
thanks ;)
if i find time and maybe a contributor, we will enhance the fix that it also can handle over payments in payment registration wizard...
Hi thomich, your fix is good enought for me with Customer Payments, but with Supplier Payments when i try to register partial payments, payments are registering fully. Do you have the same issue?
The fix from thomic has many lines. We already have a custom module who overrides account_voucher class. It seems dangerous to install his fix. More, in his fix, we don't really see the differences with original files.
I'm having the same issue, It's still not solved?
please check our latest version of account_voucher_payment_fix, for us on odoo 8 we can solve the issue, under and over payment...
important is, correct configuration of accounts, as usual...
thomich, You mean that it's a configuration problem? Becouse I check my receivable accounts it's with the option Allow Reconciliation checked and still having this error, I check even with the default Belgium chart of accounts I have this same error. Could be other configuration?
I installed you module and works great with the company currency, in multi-currency is where I have problems the fix doesn't works correctly. For example: If I have an invoice of 200USD and try paid 5000PYG(1USD) the Difference Amount gives me -4800PYG instread of 995000PYG witch will be the correct
This only happends if the value of the Paid Amount is bigger than the Invoice residual value
Does anyone fixed this ? it seems i have the same problem on V8
I have this issue on odoo.com, how can I apply your fix on the saas odoo ? Don't find it in the modules list.
you can't use tht module/repository on saas odoo.. you have to use standalone odoo..
contact me, if you need support for standalone odoo.
oh, ok... Any chances this get fixed on saas someday ? It's quite a problem :)
hey @ehanuise
see, this bug is open since aug 2014 and we just have made a fix, but seams odoo is not interested to implement or fix it in base..
go with your own odoo is best way to get fast fixes ;)..
Hi @inetplus ,
Thank you for your bug report. At this point Odoo 8 is no longer supported as Odoo only supports three versions (9.0, 10.0, 11.0 at the moment). If you can still reproduce this issue on Odoo 9, Odoo 10 or Odoo 11 we encourage you to create a new bug report. P.S: Sorry it wasn't ever handled fully.
Regards, Yenthe
Version 8
Steps: 1) Create invoice 2) click on button "Register Payment" 3) enter in the field "Paid Amount" an amount which is less than total amount in my example from test data: Customer: Think Big Systems Paid Amount: 750,00 Euro -> entered 250 Euro Payment Method: Bank(EUR) selected
4) Difference Amount: As soon as any kind of Payment Method is selected than difference amount is always zero. which is wrong when entered an amount which is less/more than paid amount
Expected Result: 1) invoice created 2) modal window is opened 3) paid amoun is changable 4) difference is displayed
Actual Result 1) OK 2) OK 3) OK 4) 0 Euro is displayed instead 500 Euro