- Home
- Apps
- SaaS Tools
- Order Line Sequences & Line Numbers for Odoo
Illustrative previewA build-to-order Odoo module that adds stable, human-readable sequence numbers to sales,
purchase and delivery order lines — on screen and in printed QWeb documents.
ECOSIRE scopes, builds, installs and supports it for your specific workflow.
What is Order Line Sequences & Line Numbers for Odoo?
A build-to-order Odoo module that adds stable, human-readable sequence numbers to sales, purchase and delivery order lines — on screen and in printed QWeb documents. ECOSIRE scopes, builds, installs and supports it for your specific workflow. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Long quotations, multi-page purchase orders and pick lists are hard to talk about when nobody can point to a line by number. Sales reps say "the third item from the bottom," warehouse staff annotate a printout by hand, and approvers reference rows by product name in email threads. Odoo core does render order lines in a defined order and lets you drag to re-sequence them, but it exposes no visible, monotonic line number on sale.order.line, purchase.order.line or stock.move — and none of the standard QWeb documents (the sale quotation, the purchase order, the delivery slip) print one. As soon as a document runs past a page, or a section/note line breaks the flow, the lack of a stable reference number becomes a real friction point in day-to-day operations.
We build a focused module that adds a computed line-number field to the line models you choose and surfaces it everywhere it matters. Technically, this is a models.Model extension that adds an integer/char x_line_number field computed with an ordered pass over order_id.order_line (an @api.depends('order_id.order_line', 'sequence') compute that walks the recordset in sequence order and assigns 1..N). We can honor Odoo's section and note line types the way you want — either numbering only real product lines, or restarting numbering per section (e.g. 1.1, 1.2 under section 1), whichever matches how your team reads the document. The number renders in the order-line tree/list view via an inherited XML/OWL view, and — most importantly — is injected into the relevant QWeb report templates (sale.report_saleorder_document, purchase.report_purchaseorder_document, stock.report_delivery_document) as a left-most column so printed and emailed PDFs carry it too. Security stays clean: the field is read-only and computed, so no new ir.model.access.csv write rights or record rules are required beyond what the base documents already enforce.
Because these are computed, store-optional fields, the numbers stay correct as lines are added, removed or re-dragged, and they can be exposed to the XML-RPC/JSON-RPC API and to any downstream integration or custom report you already run. The module is packaged with a proper __manifest__.py, is Community-compatible (no Enterprise dependency for the core numbering behavior), and is built and tested against the Odoo version you run.
This is a build-to-order engagement, not an instant download. After a short scoping call we confirm exactly which documents get numbered, how sections and notes are handled, and whether the number should also flow into invoices, backorders or your custom reports. We then build against your target version (17.0, 18.0 or 19.0), deliver on a staging database for UAT, and go live with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); numbering additional document types, per-section numbering schemes, custom report layouts and multi-company rollout increase the quoted scope.
What you get
- Installable source code for your version — a self-contained Odoo module targeting your 17.0 / 18.0 / 19.0 instance
- Installation and configuration on your staging environment, including report-layout wiring for each in-scope document
- Technical documentation: models, computed fields, view/report inheritance points and configuration options
- End-user guide plus a live training session for the teams that read and print these documents
- UAT on a staging database with a documented rollback plan before any production change
- Post-go-live support window for defect fixes and configuration adjustments
- Git repository handover with tagged release and commit history
- Version-compatibility notes and a short upgrade playbook for future Odoo migrations
Who this is for
Sales Operations Lead
Sends long, multi-page quotations and needs reps and customers to reference specific rows by number during negotiation and approvals — on screen and in the emailed PDF.
Procurement / Purchasing Manager
Reviews and approves large purchase orders and wants numbered lines so approvers and suppliers can discuss exact items without ambiguity across pages.
Warehouse / Logistics Supervisor
Prints delivery slips and pick lists and needs a stable line number staff can call out, tick off and annotate during picking, packing and dispatch.
Odoo Administrator / Internal ERP Owner
Runs the Odoo instance and wants a clean, Community-compatible, upgrade-safe module with documented inheritance points rather than a fragile Studio hack.
How Order Line Sequences & Line Numbers for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Delivery model | Built, installed and supported for your version | You hire or task a developer to build it | Instant download, generic behavior | Nothing to install — feature absent |
| Visible line number on documents | On screen and in every in-scope QWeb PDF | Whatever you specify and test | Usually sales only; other docs vary | No visible line number field at all |
| Section / note handling | Configured to your reading convention | Depends on developer effort | Fixed behavior, rarely configurable | Sections re-order but carry no number |
| Fit to your report layouts | Wired into your actual (even Studio) PDFs | Possible but time-consuming to get right | Assumes stock report templates | Not applicable |
| Upgrade safety | Version-pinned, documented, migration path | Only as maintainable as it was written | Depends on vendor's update cadence | N/A |
| Support & accountability | Post-go-live window + git handover | Internal or freelancer availability | Marketplace ticket queue, best-effort | Community forums only |
| Total cost profile | From $999 indicative, fixed quote after scoping | Developer day-rate, open-ended | Low sticker price, fit-gaps on you | Free, but the need goes unmet |
Frequently Asked Questions about Order Line Sequences & Line Numbers
Is this an app I can download and install right now?
No. This is a build-to-order engagement. We scope your exact requirements on a short call, then build, test and install the module for you against your Odoo version. It is not an existing apps.odoo.com download.
How long does delivery take?
Typical delivery is one working week from confirmed scope. Simple single-document numbering lands toward the shorter end; per-section schemes, multiple document types, custom report layouts or multi-company rollouts extend the timeline. We agree dates in writing after scoping.
How does pricing and scoping work?
Pricing starts from $999 (indicative, single-company base scope). After a scoping call we send a fixed quote. Drivers that increase scope include the number of document types numbered, per-section numbering, custom QWeb layouts, invoice/backorder propagation and multi-company rollout.
What about support and future Odoo updates?
Every build includes a post-go-live support window for defect fixes and configuration tweaks. The module is version-pinned to your Odoo minor; when you upgrade to a later version we can quote a migration pass. You also receive the git repo so your own team can maintain it.
Will the numbers stay correct when we add, delete or re-drag lines?
Yes. The line number is a computed field derived by an ordered pass over the lines in `sequence` order, recalculated whenever the line set changes. Re-dragging a line renumbers the document automatically — there is nothing to maintain by hand.
Does it work on Odoo Community, or do we need Enterprise?
The core numbering works on Community with no Enterprise dependency. If your printed documents use Enterprise-only or Studio-customized report layouts, we handle those explicitly during scoping so the number lands correctly in your actual PDFs.
Can the line number appear on invoices and delivery backorders too?
Yes, as an optional scope item we can propagate the source line number onto invoices and backorders so a delivered or invoiced line traces back to its original quotation line. This is one of the scope drivers we confirm on the call.
Related Modules

Pago por Redsys / Bizum
A made-to-order Odoo payment acquirer that adds Spanish Redsys card and Bizum mobile payment flows to your checkout and Sales/Invoicing. ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download.

Pakistan FBR Digital Invoicing & Sales Tax
A build-to-order Odoo module that connects your accounting to Pakistan's FBR for real-time digital invoice transmission, STRN/NTN validation, and provincial plus federal sales-tax handling. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 instance.
Order Line Sequences & Line Numbers
A build-to-order Odoo module that adds stable, human-readable sequence numbers to sales, purchase and delivery order lines — on screen and in printed QWeb documents. ECOSIRE scopes, builds, installs and supports it for your specific workflow.
- Computed line-number field on sale.order.line, purchase.order.line and stock.move, assigned by an ordered pass over the line recordset in `sequence` order
- @api.depends compute that re-derives 1..N whenever lines are added, deleted or re-dragged — no manual renumbering, no drift
- Configurable handling of Odoo `section` and `note` line types: skip them, or restart numbering per section for hierarchical `1.1`/`1.2` references
- Left-most line-number column injected into the sale quotation QWeb template (`sale.report_saleorder_document`) so printed and emailed PDFs carry it

