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:
XXX-YYY-ZZ-NNNNNNNN
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 |
000-001-01-00000001 | 001-001-01-00000001 | 002-001-01-00000001 |
000-001-01-00000002 | 001-001-01-00000002 | 002-001-01-00000002 |
001-001-01-00000003 | 002-001-01-00000003 | |
001-001-01-00000004 |
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:
Setup multiple sequences for multiple stores.
This sequences should be independent from each other, as shown in the tables above.
There must be a way to choose which store is selling to select the correct sequence. (Dropdown menu in Draft Invoice maybe?)
I need to implement this in Odoo 8 and OpenERP 7
I hope i'm making myself clear, if not please ask! Thanks!
Update:
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)
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','<>','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