Odoo Help


Can OpenERP replicate the proforma workflow found in Sage 50 or Sage 200?

on 9/18/14, 10:54 AM 4,718 views

In Sage 50, a proforma invoice can be created to request funds before a sales order is raised. This allows payemnts to be made, but the order details can still be amended. This is very useful where large orders are made and order details are changing, even after initial payments are made.

'Proforma invoice' in OpenERP is completley different – it's a stage between a draft and validated invoice. Alos, openERP's proforma invoices are fixed, they can't be edited without cancelling, creating refunds and reconciling payemnts.

The workflow in Sage:

Proforma invoice (sent to customer, payments made) --> Sales Order (goods despatched) -->  Invoice

Workflow in OpenERP

Sales Order --> Proforma invoice --> Invoice (sent to customer, payments made)


Proforma invoice is an optional step in both workflows.

More info on Proforma invoice in Sage: https://support.sage.co.uk/help/sage200/Content/SOP/SOPProformas.htm

Question: Is there a way to emulate the Sage workflow in OpenERP, so that

  1. A form of proforma invoice can be sent to the customer
  2. The proforma invoice remains editable
  3. Payemnts can be made against the proforma



Med Said BARA

--Med Said BARA--

| 5 5 7
--Med Said BARA--
Med Said BARA
On 9/24/14, 5:58 AM

First, i want to make a distinction between the two process, and clarify some terms: The Sale process and the Invoicing process (and also the Delivery process).

The sale process in general, follows the following steps (I can use the Term stage in place of Step, but as this term has a specific meaning in OpenERP, i'll use the term Step): Lead --> Opportunity --> Quotation --> Sale Order. But those steps are not mandatory, and we can begin the sale process at anyone of the above Steps.
The Sale Order, passes through the following Stages: Draft Quotation --> Quotation Send (To customer) --> Sales Order (Received from customer = Quotation received and approved by customer) --> Done (Sale operation executed, and  trigger Two new processes: Invoicing (in Accounting) and Delivery (in Warehouse)).

The Invoicing process, begins when the Sale Order reaches the stage "Done". And it passes through the stages Draft --> Open --> Paid.
In the invoicing process stands the Proforma Invoice, which can be considered just as an intermediate stage between Draft and Open Stages, to be sure that all is going well.

A definition from WIKIPEDIA:
<< Simply, a "pro forma invoice" is a "confirmed purchase order" where buyer and supplier agree on detail and cost of the product to be shipped to the buyer. A pro forma invoice is generally raised when the seller is ready for dispatching the material but he wants to ensure that the payment is being sent before dispatch.>>.

In the actual worflow (sale.basic.workflow), the Invoicing process is considered as a Subflow.

About "The workflow in Sage":
In OpenERP the above processes remains independent, and you can begin by the Invoicing process first, without the need of a Sale Order.

In OpenERP, you can even change the existing workflow.

About "Question: Is there a way to emulate the Sage workflow in OpenERP, so that":

1_ Yes, you can print and send the Proforma to the customer (we can add also a "SEND TO CUSTOMER" Button.

2_ Yes, (some modules) can give you the ability to cancel it, and reopen it in a Draft State ...

3_ Yes, payment can be made against proforma, and even without proforma, you have later to reconcile payments

For INDE TRUCK SL: (AFAIK, Proforma Invoice is not a mandatory step with all customers)

OpenERP gives you the ability to:

   - Generate Invoice based on Sales Order Lines Or after and based on delivery Orders

   - Allow Proforma Invoices (or not)


Thanks Med. That's a useful and clear description of the openERP workflow, however as I mentioned in the original question, Sage 50 uses pro forma invoices in a different way – it *can* be used to request funds. So is used as a form of flexible invoice, without the need to be cancelled/refunded or credit notes raised when order details change.

on 9/30/14, 6:21 AM

I just want to know what do you mean by "request funds" ?

Med Said BARA
on 9/30/14, 6:43 AM

I mean that the pro forma invoice is used to request payments from the customer, but the invoice details can still change.

on 9/30/14, 7:43 AM

Example scenario might be client wants to buy 50 widgets, pro forma invoice is sent for that quantity and amount, customer pays a first instalment, then customer changes to 40 widgets, and pays the balance. Then a final invoice is created for 40 widgets.

on 9/30/14, 7:45 AM

With this scenario yes, the customer can pay just a part of the total amount, and later he has to pay the difference, according to the (final) invoice ( for 40 widgets)(not according to the Proforma invoice).

Med Said BARA
on 9/30/14, 8:38 AM

But in OpenERP payment s can't be registered against a pro forma invoice (at least I don't think so). So we're back to using a regular invoice and cancelling / refunding each time changes are made, and we don't need a pro forma invoice.

on 9/30/14, 8:43 AM

AFAIK, a Proforma Invoice is not a legal document, by legal i mean, a document needed by the legislation (In many countries, if not all), a document with legal force (toward law), But the proforma invoice has value only between the client and the supplier, and it is only a temporary document, issued before the Invoice, as i told you above: it's just an intermediate stage between Draft and Open stages - clearly, you can consider the Proforma invoice as an Invoice in a draft state, you can cancel it, modify it ... but at last you must deliver an Invoice.

Med Said BARA
on 9/30/14, 11:06 AM

If you look at the steps of the invoicing process, you will see that the final step is when validating the Proforma, this validation will generate an Invoice. Know, if you really need this feature, this can be achieved easily in OpenERP (someone can modify an existing module or make a new module) to add this feature (validation of payments against Proforma), but this is not a good and legal practice, and in any case this should generate the final invoice.

Med Said BARA
on 9/30/14, 12:05 PM
Tomás Pascual
On 9/23/14, 4:32 PM

Some suggestions wellcome.

I need same functionallity because it is invoiced what it is splited in DO (packing list). So, where "plays" the proforma invoice?


Med Said BARA

--Med Said BARA--

| 5 5 7
--Med Said BARA--
Med Said BARA
On 9/24/14, 6:00 AM

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

3 follower(s)


Asked: 9/18/14, 10:54 AM
Seen: 4718 times
Last updated: 4/20/16, 7:09 AM