Contributors mailing list archives

Browse archives


Re: Proforma invoices in Odoo

InitOS GmbH, Frederik Kramer
- 27/04/2023 16:06:43

Hi Allessandro,

sorry for not having written earlier. I think the decision that you have taken is the most appropriate one as the standard implementation fullfills the must-have requirement of "proforma invoices" (at least of what i consider must-have).

It lies in its nature that such an "invoice" isn't a real invoice by fiscal nature (and just like in the case of Odoo is a different object therefore). The only alternative that i would have in mind, was to use the real invoice object (in the Odoo sense) and send them as "proforma" as long as they aren't actually verified. In this case a specific label on the report could mark this. But this wouldn't have any conceivable technical advantages over the standard solution and probably more than one disadvantages besides pure usability, so all in all your choice seems to be pretty sensible.

Best Frederik

Am 27.04.23 um 15:56 schrieb Alessandro Uffreduzzi:


thank you all for your replies. Based on your feedback me and my colleagues insisted with the most pressing customer and we convinced them to use

  1. The native odoo functionality with regards to proforma invoices (i.e. sales orders);
  2. Alternatively, by just changing the title when printing a draft invoice from "draft" to "proforma" (in case they want to send a proforma invoice that's only a part of the original SO)

therefore avoiding potentially problematic and hard-to-maintain customizations to the flow of invoices themselves.

Have a great day.

Alessandro Uffreduzzi


On 26/04/2023 8:12 pm, Antonio M. Vigliotti wrote:

Hi Alessandro,

I wrote the pro-forma some time ago on Odoo 10.0

Here you can find source code:

However this code is an improvement of OCA implementation, I think you could find it on account-invoicing repository

PS As Carlos wrote, pro-forma is somthing closer to a sale order but Italian people will not use sale orderfor thi purpose :-(


Il 26/04/2023 18:47, Janik von Rotz ha scritto:

Hi Allessandro

Can you give us some details on the business case? Is this going more towards downpayments?

Proforma in Odoo ist just the Sale Order with a different title.

I assume what you need, is a function to generate an invoice before the quotation is confirmed. Your requirements are more or less what the account module delivers.

Cheers, Janik

On 4/26/23 18:27, Alessandro Uffreduzzi wrote:

Hello all,

long time listener, first time caller. I need to develop a module to handle proforma invoices, as the default Odoo implementation is not at all adequate for the needs of multiple customers. What we need looks more like what Sales Orders have, with the 3 states ("Quotation" => "Quotation Sent" => "Sales Order"), where the proforma invoice corresponds to the "Quotation Sent" state.


  • Invoices (not SOs) can (optionally) become Proforma Invoices, before being confirmed and posted. It doesn't necessarily have to be a new "state" selection, but it seems to be the most natural fit for it.
  • When an invoice becomes a proforma (which logically implies it's being sent to the customer for confirmation), it should take a sequence number from a different sequence than posted invoices. When the invoice is eventually confirmed and posted, it will then take the usual number.  The number it takes when it becomes a proforma should be saved somewhere.
  • Proforma invoices can go back to draft, be cancelled, or be confirmed and posted.
  • The printed version should clearly state it's a proforma, but it's otherwise the same as a regular invoice.

I've searched for an OCA module resembling these requirements but couldn't find it. Is there an OCA module for this, or is someone developing it? If not, I will work on it myself and propose it in

Thank you for your time

Have a good day


Alessandro Uffreduzzi


PyTech Srl

Sede legale: Via Barozzi 40/8 - 41124 Modena

Sede operativa: Via P. Giardini 472/L - 41124 Modena

P.IVA 03988700369

PyTech Logo

Post to:

Post to:

Antonio M. Vigliotti

Mobile (+39) 342.8740910

Post to:

Post to:

Dr.-Ing. Frederik Kramer

initOS GmbH
Innungsstraße 7
21244 Buchholz i.d.N.

Phone:  +49 4181 13503-12
Fax:    +49 4181 13503-10
Mobil:  +49 179 3901819


Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke

Sitz der Gesellschaft: Buchholz i.d.N.
Amtsgericht Tostedt, HRB 205226
Steuer-Nr: 15/200/53247
USt-IdNr.: DE815580155