Odoo Help


This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Reconcile customer refund to an invoice

on 9/15/14, 7:34 AM 3,568 views

I have an existing invoice, for which payments have been reconciled. I now want to create a credit note (for an arbitrary amount) and reconcile that amount against the invoice.


  1. Invoice total = £1000
  2. Customer pays £500
  3. Credit note created for customer = £80 (and marked as paid?)
  4. Credit note is reconciled against the invoice.
  5. Balance owing for the invoice is £420

Is this possible without cancelling the invoice?


Note to self, here's how to do it: Create a 'customer refund' (credit note) manually, for the correct customer, not within the invoice. Add a/the product to the invoice and set the amount of the credit note. Validate the customer refund. Go to "Reconcile Invoices and Payments" in the Accounting menu. Select the correct customer. Tick both the credit note and the invoice. Click 'Reconcile'. The result is that the invoice balance has reduced by the amount of the credit note

on 9/15/14, 7:16 PM


| 5 3 6
Jakarta, Indonesia
On 9/15/14, 9:24 AM

Dan, yes you can do a Manual Reconciliation.  Check the documentation here.

Thanks, good to know that it's possible. However, the documentation isn't clear, to me at least. It seems that a lot of the credit note reconciliation revolves around "matching invoices and credit notes to cancel them out" when that's not what I want to do. I'm assuming I need to create a credit note, mark it as full paid (ie, paid by us), then somehow reconcile that payment against the invoice. Do you know of any video walkthroughs of what needs to be done?

on 9/15/14, 10:42 AM

Dan, actually you should use the Credit Note as payment against the invoice.

on 9/16/14, 5:26 AM

Thanks John, I think that's what I've done. See my other comment on this question (response to Ray).

on 9/16/14, 5:35 AM

How can a credit note be used as payment against an invoice? I assumed that's what I was doing by reconciling the two?

on 9/16/14, 5:46 AM

If you have account_voucher module installed, it should display the Credit Note as a transaction that can offset the payment of the invoice. Ray had described the steps with account_voucher module installed. If you don't have account_voucher module installed, then you need to do manual reconciliation, but instead of paying the Credit Note, reconcile the Credit Note directly to the Invoice.

on 9/16/14, 5:54 AM

Yes, we have account_voucher installed. Ok I tried that, it's counter-intuitive (to me), but seemed to work. I created a credit note for £80, using a product called 'discount'. I then went to make a customer payment, and waiting for me was both a credit and a debit listed for that customer. Both were for £80 which I don't understand. I clicked 'validate' and the £80 was marked as a payment on the invoice. I notice that this method results in the 'bank' journal being used, whereas the manual reconciliation method results in the 'sales refund journal' being used.

on 9/16/14, 6:09 AM

What you have described seems to be what I've expected. The £80 figure is set in the debit portion by default because of the Credit Note value of £80. You can change the value if you want to reconcile only partially. If you do manual reconciliation. Reconciliation itself does not use any 'journal'. Maybe the 'journal' that you are referring to is the journal created by account_voucher (which is a cash or bank journal) or when the Credit Note is created (if you do manual reconciliation).

on 9/16/14, 6:30 AM

I see, that makes sense of the £80 debit. It's 'suggesting' that the credit should pay off the debt. Thanks for your help.

on 9/16/14, 6:36 AM

My pleasure.

on 9/16/14, 6:48 AM

One more question on this if you don't mind. If I want to actually refund the customer with money that they have paid, ie they paid too much, do I create a customer refund and mark it as 'paid'? So, 'paid' for a credit note = money was transferred to the customer's bank account?

on 10/8/14, 8:45 AM

If you actually do a refund, you need to create a customer refund (this is like customer invoice but it will journal the amount in reverse, i.e. reducing Account Receivable (AR) instead of increasing. Then you can "Pay" this refund when returning the fund to customer. The "Pay" portion (in which you'll be selecting the Cash/Bank journal you're going to pay from) will reduce the money from the corresponding account and increase the AR by the amount paid. Credit Note cannot be used to "Pay" Customer Refund, but Debit Note can.

on 10/9/14, 4:21 AM

Thanks John, very useful

on 10/9/14, 5:22 AM

Ray Carnes

--Ray Carnes--
| 9 7 9
Greater Los Angeles, United States
--Ray Carnes--

Senior Odoo Analyst

OpenERP 6.1, 7.0 and Odoo 8.0, 9.0 (Since 2012)

Completed Functional and Technical Training.

Major Skills:

  • Needs Discovery and Requirements Analysis;

  • Function and Technical Specifications;

  • Project Planning;

  • Prototyping and Proof of concepts;

  • Data migration;

  • Configuration & Customization (UI and modules);

  • Integration - data, business logic and service levels;

  • Training and Knowledge transfer;

  • Go Live support;

  • Help desk;

  • Version Migration.

I have over 20 years of experience empowering and enabling users with enterprise information systems that make a real and measurable difference in their ability to proactively manage their businesses and organizations. 

Ray Carnes
On 9/15/14, 11:17 PM

This can all be done by (only) creating a single Customer Invoice, a single Customer Refund/Credit and two Customer Payments.

  • Create a Customer Invoice for £1000
  • Record a Customer Payment for £500, applied to the above Invoice, reducing the balance to £500.
  • Create a Customer Refund for £80 (do not pay it unless you send money back to the Customer).
  • Record a Customer Payment for £0, applying the full credit of £80 and allocating £80 to the Customer Invoice, reducing the balance to £420

Alternatively, you can perform the first three steps and wait for payment from the Customer.  When you go to record the £420, you will see the Invoice balance is £500, but there is also an unapplied (unpaid) credit for £80.

This approach allows the Customer to choose how and when the credit is applied (and for you to hang on to it as long as possible!).  If they send you £500, the credit will still be on their account for next time.

Thanks Ray. I tried a slightly different approach (before you replied) and it appeared to work ok. Basically, I did the same as you recommended, except for the final step – I didn't "record a customer payment for £0". I just created a credit note and added a product called 'Discount' and entered a manual price of £80. I then went to "Reconcile Invoices and Payments" and reconciled the CN against the invoice. The invoice balance was reduced by £80. Do you forsee any problems with this? An added complication is that my client wants a distinct nominal for all 'discounts' so I'm hoping that using the 'discount' product I can achieve this. Thanks again for your advice, I'm new to OpenERP.

on 9/16/14, 4:33 AM

You can create the credit note from the Delivery Order, which defaults to 100% credit and you can edit the price you actually credit. This has the advantage of keeping information about WHAT you are crediting for. Your method ties the credit to that particular invoice. If you want it that way, then your method is fine. You can discount products during the Sales Order process - have you looked at that? You can also add your discount product on the Sales Order. If it is really a discount and not a credit, perhaps it should be on the order?

Bista Solutions US, Ray Carnes
on 9/17/14, 1:54 PM

Thanks Ray. The scenario here is that the discount is applied *after* the invoice is created, otherwise I agree the discount should be added at the sales order or at invoice creation. The other requirement is that the 'discounts' are given their own nominal code so they can be tracked independently, eg: "how much have we given away as discounts across the whole company thsi year?". For this reason the 'product' for the credit note will probably be different from the original invoice – the CN's product's nominal is distinct.

on 9/17/14, 2:45 PM

Then I think what you are doing is a great solution. The credit HAS to be tied to a specific invoice, which is what you are doing.

Bista Solutions US, Ray Carnes
on 9/17/14, 3:39 PM

Hi Ray, to follwo on from your example you mention "Create a Customer Refund for £80 (do not pay it unless you send money back to the Customer)." So, if a customer has overpaid an we do need to send them funds, do we create a customer refund and mark it as 'paid' or just follow the same procedure as you previously outlined? Many thanks.

on 10/8/14, 11:27 AM

An open invoice is an notice that someone is owed money. When it is paid, it is a record that the money has been paid. If you are sending money, then yes pay the invoice. If you don't send the money, don't pay the invoice. Then it stays in the system recording the intention of your customer being owed money - to either be paid at a later date, or to be applied to another invoice (reducing the balance of that other invoice) at a later date.

Bista Solutions US, Ray Carnes
on 10/8/14, 12:40 PM

Thanks Ray

on 10/9/14, 5:23 AM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

2 follower(s)


Asked: 9/15/14, 7:34 AM
Seen: 3568 times
Last updated: 3/16/15, 8:10 AM