This question has been flagged

I have the following scenario :

Let say a customer has an invoice of 50$. We register a payment of 100$ (maybe for a future invoice next month) and want to do a partial reconcile with the invoice so that the remaining of 50$ gets in the partner receivable balance (we could do another partial reconcile next month).

When the partial rencocile is done, the balance of the invoice is 0$ but it is not marked as paid because the test_paid() method checks that all move_lines have a reconcile_id set. But in this scenario, the move_lines have a partial_reconcile_id set. The invoice would be marked as paid only when we fully reconcile the credit amount of 100$ (the next month), but I would want that it is immediately marked as paid.

Do you know the reason why the invoice is still in the open state ? I thought of overriding the test_paid method to add a check that if balance is zero and all move_lines have a partial_reconcile_id, then it should go to paid state. But then I wondered why it is not working like that by default ? Would you suggest another way of doing this ?

Avatar
Discard

I think some of changes made has affected it.. In standard, when you make a full payment, against an invoice, then it will be set it to paid... but if you make a partial payment, then it will still be in open state...

If you are making a payment through receipts/payments make sure you have selected the right invoice...

Author Best Answer

I think the way I suggested is fine.

Avatar
Discard
Best Answer

Hi;

I beleive you started wrong way initially. When u have an invoice=50$ and a customer pays 100$, this invoice is and should be fully recondiled as its full amount is paid, another 50$ is an advance payment for future invoices, which means that in Customer Payment Document, when u register this 100$ payment, 50$ invoice will be reconciled and u get difference amount=50$. You should choose the option: "Reconcile the payment balance" and choose the account from accounts list: "Advanced Payments Liability"(Or else u call it). What happens is that u will have the liability of 50$ created to the customer in terms of received advance payment. So the journal Entries will be:

Debit: Bank - 100$. Credit: 1. Account Receivable  - 50$ 2. Advance Payment Liability - 50$.

Next time u sell smth to this customer, suppose 60$ so that he has to pay only 10$ more, when u open customer payment document, u will see this 50$ payable in it. U click on reconcile bulean of this 50$ and register the 10$ payment, what happens is: 50$ avance is reconciled and 10$ payment is registered. Journal entries will be as wollows:

Debit: 1. Bank-10$ 2. Advance Payment Liability - 50$. Credit: Account Receivable - 60$.

I think this info might help you.

 

Avatar
Discard