Odoo Help


Create Customer Payment without creating invoice, and based on delivery order openerp v7

Yassine TEIMI
on 12/5/14, 11:07 AM 2,752 views

In some cases, I would like to save the customer payment, when the goods are delivered, and after, create the invoice based on the delivery order, and then relate ( reconcile ) the payment with the just created invoice.

To made myself clear, here is the process that I want (For some exceptionnal cases) : 

Sale Order -- Delivery Order -- Customer Payment -- Create Invoice -- Link invoice with Payment first created

Obviously, I can create Invoices based on delivery orders, but I'm wondering how to create Voucher payments on delivery orders, and then link it with the Invoice created ?


Ray Carnes

--Ray Carnes--
| 9 7 9
Keyport, United States
--Ray Carnes--

Senior ERP Analyst

OpenERP 6.1, 7.0; Odoo 8.0, 9.0, 10.0 and 11.0.

Completed Odoo Functional and Technical Training.

Functional Areas:

  • CRM/Sales

  • Inventory

  • Manufacturing

  • Accounting

  • Purchasing

Major Skills:

  • Business Process Reengineering

  • Efficiency Consulting

  • User Needs and GAP Analysis;

  • Functional and Technical Design;

  • Prototyping and Proof of Concepts;

  • Requirements Specifications;

  • Agile Implementation;

  • Data Migration;

  • Configuration & Customization (UI and code);

  • Integration - Odoo and non Odoo Applications and Services;

  • Training and Knowledge Transfer;

  • Go Live Support;

  • Helpdesk;

  • Version Upgrades and Migration.

  • Accounting Expert.

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. 

I am a skilled Communicator and I only take the serious things seriously!

Ray Carnes
On 12/5/14, 3:56 PM

Create the Customer payment - since there is no invoice to reconcile against (yet) this will post as unreconciled.

When you create the invoice, create another payment of $0 and both the invoice from the delivery order and the credit (original payment) will show up.  Choose to apply the full payment balance to the invoice balance.  If the original payment is for the full amount, the invoice will be closed and reconciled against the original payment.  If there is a balance due, then the invoice will remain open, but reduced by the amount of the original payment.

On 12/8/14, 7:23 PM

you can do that when you pay a pos order

Yassine TEIMI
On 12/8/14, 5:48 PM

@Mohammed : Thank your for your answer, I'm using this process because of strategic reasons, I want to separate the commercial side from the financial side, tracking payments more efficientlty, and avoid some kind of errors.

@Ray: Thank your for your answer, i've tested it,and it worked.

@Ray + Mohammed : now I want to add a one2many field on account.voucher object, into stock.picking.out like this :

'bls_to_pay': fields.one2many('stock.picking.out','bl_id','BLS to pay'),

I added a many2one field on both stock.picking.out and stok.picking liek this : 

'bl_id': fields.many2one('account.voucher','BLs to pay'),

On xml I did :     <page string="bls">
                            <field name="bls_to_pay">
                                <tree string="BLs to pay">
                                    <field name="num_bl"/>

But a parse error occured saying that it can't find field 'num_bl' on model account.voucher, knowing that num_bl is a field from stock.picking.out, but I'm making a one2many relation with the stock.picking.out object, could you please figure this out ? 



Mohamed Essakali
On 12/5/14, 3:59 PM

There is no direct link between Delivery order and voucher, you can achieve an automated process by using a custom module which change the existing workflows. Otherwise, you can create the payment using "customer pyments" and save the Delivery Order number in the memo field for example, and when the invoice will genrated you can reconcile it with that payment based on the origin field on invoice and memo field.

However, this is a strange process in my opinion, the customer payment must be based on an invoice, so in this case I think the best way is :

1- do a partial delivery

2- generate the invoice based on this delivery

3- create the payment based on this invoice 

This way payments are linked to invoices whitch are linked to Delivery orders whitch are linked to sale orders properly.

Hope it helps!


About This Community

This platform 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.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 12/5/14, 11:07 AM
Seen: 2752 times
Last updated: 3/16/15, 8:10 AM