Sale Order Line Automatic Sequencer
Flawless Line Numbering & Professional Document Layouts
Eliminate Odoo's native row sorting bugs.
Automatically assign clean, real-time running numbers (1, 2, 3...) to your sales order lines instantly as you build quotations.
Frustrated by Corrupted Sales Line Order and Tie-Breaks?
In standard Odoo, newly added or unsaved sales order lines lack a persistent ID (represented as a temporary NewId). When sales teams drag-and-drop rows, delete items, or mix products with sections and notes, Odoo's native sequence tie-breaker fails. This leads to scrambled row positions upon saving and messy, unnumbered PDF quotations that confuse your customers.
Beautiful & Bulletproof Line Management
A dedicated "No." column that behaves flawlessly across both backend screen views and printed paperwork.
Live Dynamic Backend Numbering
Adds a crisp "No." column to your Sales Order line grid. Numbers recalculate live on your screen as you add new items, remove products, or drag items into new slotsâeven before clicking Save.
Polished PDF Quotation Output
Injects matching sequential numbers onto the printed Quotation and Sales Order PDF reports. Aligns perfectly with standard templates to deliver clean, modern financial proposals.
Smart Section & Note Skipping
Maintains accurate professional logic. Section headers (line_section) and inline text notes (line_note) are skipped entirely from numbering, keeping data boundaries pristine.
Retroactive Legacy Migration
Comes armed with an automatic post_init_hook. Installing the module instantly and safely loops through your existing database records to number older, historic quotations cleanly.
The Hybrid 3-Layer Safety Architecture
Why this sequencer succeeds where standard compute fields and traditional loops fail.
Layer 1: Persistent DB Truth
Overrides model create/write/unlink actions. Normalizes line sequences to multiples of 10 upon saving to remove collisions. Operating solely on real IDs, it ensures database integrity.
Layer 2: Onchange In-Session Engine
Utilizes a native Python @api.onchange listener. While actively editing an order, it maps sequence strings based on real visible layout array indexes, bypassing NewId ambiguity.
Layer 3: Instant OWL UI Safety Net
Powered by a custom OWL framework JS widget. Derives values instantly from on-screen row DOM render objects during drag actions, falling back safely to Python values if client structural shifts occur.
Visual Alignment & Workflow Validation
Perfect backend and PDF matching that upgrades the core sales user experience.


Developed with by SyncSoft Team
Need help tailoring report layouts or adapting sequencing modules to highly customized apps?
We are here to support you!
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 148 |
| Technical Name |
sale_line_auto_sequence |
| License | OPL-1 |
| Website | https://syncsoft.app |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module