A build-to-order Odoo module that renders each product's image directly on the sale order line and inside the printed sale quotation, so reps and customers recognize what is being sold at a glance. ECOSIRE scopes, builds, installs, and supports it for your database. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
Manifesto do app
Feito em torno do seu fluxo de trabalho
A build-to-order Odoo module that renders each product's image directly on the sale order line and inside the printed sale quotation, so reps and customers recognize what is being sold at a glance. ECOSIRE scopes, builds, installs, and supports it for your database.
Sem configuração por conta própria — um app funcional criado, instalado e com suporte da ECOSIRE.
Comece com um preço único de desenvolvimento. Definimos o escopo com você no início.
A ECOSIRE cria, configura e instala no seu Odoo.
Você entra no ar em cerca de 2–4 semanas, com um período de suporte pós-lançamento.
Sales reps and customers read quotations by product name and internal reference, but text alone is a weak signal. On configurable products, variant-heavy catalogs, or long multi-line orders, a wrong line is easy to miss until goods are picked or the customer disputes the PDF. Odoo core already stores a product image (image_1920 plus its resized image_128/image_256 companions on product.product and product.template), yet the standard sale.order.line editable list view shows none of it, and the out-of-the-box QWeb sale report (sale.report_saleorder_document) prints a text-only table. Teams end up cross-referencing a separate catalog or spreadsheet just to confirm a line is right — exactly the manual step Odoo is supposed to remove.
We build a focused module that surfaces the product thumbnail where the work happens. On the model side we add an image field to sale.order.line — either a stored related='product_id.image_128' or a compute method with @api.depends('product_id'), chosen during scoping for the best list-render performance on your order sizes — and expose it as an image/binary widget column in the order-line tree/list view. On the document side we inherit sale.report_saleorder_document via QWeb and emit a correctly sized <img> per line so the same picture appears on the quotation and confirmed order PDF. All view and report changes ship as XML inheritance (xpath with position) layered over core rather than patched into it, so the module installs cleanly on Community or Enterprise and survives upgrades.
Because images are heavier than text, we engineer for scale rather than just correctness. We render the small resized variant (image_128) not the full image_1920, keep the column optional/toggleable so power users can hide it on hundred-line orders, and make sure the report image is constrained by CSS so wkhtmltopdf/QWeb-to-PDF rendering stays fast and the file size stays sane. Access is respected end to end: the line inherits its record rules and ir.model.access.csv from sale.order, so nobody sees an image on an order they could not already open, and the field is read-only where the line is read-only. Where you want the image to also flow to the portal quotation view or the backend order form header, we scope that as an explicit view extension too.
Delivery is build-to-order. After a short scoping call we confirm exactly which surfaces need the image (order-line list, order form, PDF quotation, portal, optionally delivery or invoice reports), agree the field strategy and Odoo series (17.0, 18.0, or 19.0), and give you a fixed quote. We build on a staging copy of your database, run UAT with your own products and templates, then install on production with a documented rollback. Typical delivery is 2–4 weeks from confirmed scope. Pricing starts from $249 (indicative, single-company base scope); extending the image to additional reports (delivery slip, invoice, portal), multi-company report layouts, or bespoke image sizing/branding requirements increases the quoted scope.
Owns quotation accuracy and wants reps and customers to visually confirm each line before an order is confirmed, cutting wrong-item disputes on long or variant-heavy orders.
Sells catalogs of visually similar SKUs where product images on the line and the PDF prevent the picking and billing errors that plain text references miss.
Needs the capability delivered as clean XML/QWeb inheritance that installs on Community or Enterprise, respects existing access rules, and survives version upgrades — not a core hack.
Wants the sales quotation PDF to look richer and clearer, so customers recognize exactly what they are buying and approve faster.
| Critério | ECOSIRE | Construção personalizada | Concorrente | Odoo nativo |
|---|---|---|---|---|
| Delivery model | Build-to-order, scoped and installed for you | You build and maintain it in-house | Instant download, generic behavior | |
| Order-line thumbnail | Optional image widget column tuned for performance | Depends on your team's implementation | Usually a fixed column, limited toggling | |
| Sale report (PDF) image | Inherited QWeb template, CSS-constrained per line | Requires your own QWeb work | Often list-only; PDF support varies | |
| Community vs Enterprise fit | XML/QWeb inheritance, works on both, upgrade-safe | Whatever you engineer and test | Varies; may assume one edition | |
| Access rules respected | Inherits `sale.order` record rules and ACLs | Your responsibility to wire correctly | Generally inherited but rarely documented | |
| Performance engineering | Uses `image_128`, optional column, sized report images | Depends on your care with `image_1920` | Not always optimized for long orders | |
| Support and handover | Support window, docs, training, git repo handover | You own all support | Vendor forum/ticket, no source insight | |
| Fit to your surfaces | Scoped to your list/form/PDF/portal/reports | Fully bespoke but slower to deliver | Fixed feature set, take it as-is |
No. This is a build-to-order module. ECOSIRE builds it to your confirmed scope and target Odoo series, then installs and supports it on your database. There is no instant download — you receive tested source code and a proper installation.
Typical delivery is 2–4 weeks from confirmed scope. After the scoping call we agree exactly which surfaces need the image and which Odoo series you run, build on staging, run UAT, then deploy to production with a rollback plan.
Pricing starts from $249 as an indicative single-company base scope. We give you a fixed quote after a short scoping call. Extending the image to extra reports, multi-company layouts, portal views, or bespoke sizing increases the quoted scope and price.
We build for Odoo 17.0, 18.0, or 19.0, on Community or Enterprise. Because the changes are delivered as XML view and QWeb report inheritance rather than core patches, they layer cleanly on either edition.
We render the resized `image_128` variant instead of the full-resolution image, keep the list column optional, and constrain the report image with CSS. This keeps order-line scrolling and PDF generation fast even on long orders.
Yes. Every build includes a post-go-live support window for defect fixes and questions, plus the full git repository so your team can maintain it. We can also re-validate the module when you upgrade between Odoo series under a separate scope.
Yes. The image field lives on `sale.order.line`, which inherits the `ir.model.access.csv` permissions and record rules of `sale.order`. Nobody sees an image on an order they could not already open, and the field is read-only wherever the line is.

A build-to-order Odoo localization that loads Algeria's full wilaya and commune hierarchy with bilingual French and Arabic names, wired into partner addresses and reporting. ECOSIRE builds, installs, and supports it after your quotation.

A build-to-order 2Checkout (Verifone) payment integration for ERPNext, giving global digital-goods sellers card acceptance, 45+ local payment methods, multi-currency checkout, and reconciled invoices. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 instance.

A build-to-order 2Checkout / Verifone payment gateway for Magento 2 and Adobe Commerce: localized checkout in 12 languages, iDEAL, Giropay and regional methods, multi-currency global selling, subscription billing and tax/invoicing automation — engineered, installed and supported by ECOSIRE.
A build-to-order Odoo module that renders each product's image directly on the sale order line and inside the printed sale quotation, so reps and customers recognize what is being sold at a glance. ECOSIRE scopes, builds, installs, and supports it for your database.