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.


[SOLVED] Multiple invoice sequence

on 4/29/15, 2:22 PM 1,052 views

A new fiscal law in our country (Honduras) was just published, this law states a new standard in invoice numbering. This new number is formed by:


  • X is the store/branch number

  • Y is a code given by the fiscal people

  • Z is the document type (In this case 01 means invoice)

  • N is the invoice number (Only moving number,  auto increment)

The result is an invoice with this number: 000-001-01-00000004

When you only have one store, it's easy because you configure your sales journal sequence prefix to '000-001-01-' and fill for 8 digits.

The problem starts when you have more than 1 store, because you have to have 000-YYY-ZZ-NNNNNNNN, 001-YYY-ZZ-NNNNNNNN, 003-YYY-ZZ-NNNNNNNN and so on

The other problem is that each store should have its own incremental number. Example:

Store 1
Store 2
Store 3



This can be taken as multi company, but the accounting for all 3 stores should be reflected under the same company and same Sales Journal.

So basically what i'm trying to figure out is:

  1. Setup multiple sequences for multiple stores.

  2. This sequences should be independent from each other, as shown in the tables above.

  3. There must be a way to choose which store is selling to select the correct sequence. (Dropdown menu in Draft Invoice maybe?)

  4. I need to implement this in Odoo 8 and OpenERP 7

I hope i'm making myself clear, if not please ask! Thanks!


  1. I created a model called x_punto_emision (store) that has a many2one relation to ir.sequence and a char field to store the name of the store. (http://i.imgur.com/eVromry.png)

  2. I added a selection widget in account.invoice.form so that the user can select the store in the draft invoice: (http://i.imgur.com/FqClLi2.png?1)

<field name="x_punto_emision" widget="selection" attrs="{'readonly': ['|',('state','not in',('draft',)), ('type','&lt;&gt;','out_invoice')]}"/> 

      3.  Then I created two fields in the account.invoice model, a many2one with x_punto_emision (the selected store) and a             x_numero_impresion (the invoice number that the ir.sequence should give based on the selected store)

After this setup, I created 2 Sequences (http://i.imgur.com/GRQtC0Q.png) and 2 Stores  (http://i.imgur.com/vSQrfQz.png). 

I need help connecting everything together, when the user validates the invoice, the system should take the next number in the sequence of x_punto_emision and stores it in x_numero_impresion.

Any ideas on how to do this? Thanks again!

Rui! Thanks a lot! That solved my problem! I can't mark question as answer because of lack of karma points. :S

on 6/1/15, 8:12 AM

Your problem seems to be the fact that you want to use the same sales journal. Should you chose to ignore such requirement, the overall process becomes an easy thing.

Since journals are associated to sequences, when you create an invoice, you can chose the sequence to use by selecting a different journal. Create as many sales journals as stores (as well as sequences: 1 store < 1 sequence), and there you go!

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

1 follower(s)


Asked: 4/29/15, 2:22 PM
Seen: 1052 times
Last updated: 7/27/16, 9:40 AM