Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
All in One Price History with Report — A made-to-order Odoo module that records every product price change over time and turn — 1/1Vista previa ilustrativa

A made-to-order Odoo module that records every product price change over time and turns it into audit-ready reports.

ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 database after a scoping call.

¿Qué es All in One Price History with Report?

A made-to-order Odoo module that records every product price change over time and turns it into audit-ready reports. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 database after a scoping call. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Características clave

Dedicated `price.history` model storing product, price type, old value, new value, currency, responsible user, source document and UTC timestamp per change
Capture on sales list price (`product.template.list_price`) and cost (`product.product.standard_price`) via `write()` overrides plus `@api.depends` computes
Pricelist-rule change tracking (`product.pricelist.item`) so promotional and tiered price movements are recorded, not just the base price
Vendor/purchase price capture from `product.supplierinfo` to see how buying prices from suppliers evolved over time
QWeb PDF reports: per-product price-change statement, per-period movement summary, and cost-vs-sales margin-movement view
Interactive pivot and graph views over the history model for slicing by product, category, user, company and date range
Multi-currency aware — stores the currency on each row and renders converted values against a chosen company currency in reports
Multi-company safe: `company_id` scoping and record rules keep each company's price history isolated in a shared database
Read-only, audit-grade access enforced through `ir.model.access.csv` and record rules so history rows cannot be silently altered
Automated action / scheduled `ir.cron` option to snapshot prices on a cadence for products whose price is set externally
History captured regardless of change source — UI edit, `import`, or programmatic writes over the XML-RPC/JSON-RPC API
Optional in-form OWL timeline widget on the product page showing the recent price trajectory inline
Configurable retention and archival strategy so long histories stay performant without losing the audit trail
Built and tested against your exact target — Odoo 17.0, 18.0 or 19.0, Community or Enterprise, with edition-appropriate view substitutions

Hecho a medida, listo para ti

Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.

  1. 1

    Haces el pedido

    Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.

  2. 2

    Creamos e instalamos

    ECOSIRE la crea, la configura y la instala en tu Odoo.

  3. 3

    En marcha + soporte

    Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

Especificaciones técnicas

Compatibilidad con Odoo
Odoo 17, Odoo 18, Odoo 19
Ediciones
Enterprise y Community
Licencia
La licencia requiere confirmación
Requisito de Python
Python 3.10+
Base de datos
PostgreSQL 12+

Sobre este producto

Odoo stores the current sales price on product.template.list_price and the current cost on product.product.standard_price, but it keeps almost no durable record of how those numbers moved over time. When a customer disputes a quotation, a controller asks why margin slipped last quarter, or an auditor wants to see who raised a cost and when, the answer usually lives in scattered pricelist edits, manual spreadsheets, or nobody's memory. Native price history is limited to the property-field tracking on standard_price and whatever mail.thread chatter happens to have logged — there is no unified timeline, no report, and no way to compare a product's price trajectory across sales, purchase, and pricelists in one place. That is the road native Odoo runs out of.

This build-to-order module gives every price a first-class, immutable history. We add a dedicated price.history model (models.Model) that captures a row on each meaningful change — the product, the price type (sales list price, cost/standard price, pricelist rule, vendor purchase price), the old and new value, the currency, the responsible user, the source document, and a timestamp. Capture is wired both ways: @api.depends-driven compute and write() overrides on product.template/product.product catch in-app edits, and Odoo's automated actions plus the ORM hooks catch programmatic and pricelist-driven changes, so history is recorded whether a price moves through the UI, an import, or the XML-RPC/JSON-RPC API. Records are access-controlled through ir.model.access.csv and record rules so history is read-only to most users and never silently editable, which is what makes it audit-grade rather than just another log.

On top of the data we build the reporting layer you actually came for. That means QWeb PDF reports (price-change statement per product, per period, per responsible user, and a margin-movement view that pairs cost against sales price), list/pivot/graph views for interactive slicing in the Odoo client, and OWL-based widgets where a richer in-form timeline helps. Reports are multi-currency aware and respect company boundaries in multi-company databases. Everything is delivered against your exact Odoo edition and version — we account for Community vs Enterprise differences (for example, Enterprise-only pivot/dashboard niceties are substituted with Community-safe equivalents when your database is Community) and we target Odoo 17.0, 18.0, or 19.0 specifically rather than shipping a lowest-common-denominator build.

Delivery is build-to-order: nothing is downloaded from a marketplace today. After a short scoping call we confirm the exact price types you need tracked, your reporting formats, and any migration of existing history, then build against a staging copy of your database, run UAT with you, and deploy with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company consolidation, tracking additional price sources such as landed costs or bulk vendor pricelists, deep localization, and migrating large volumes of historical price data increase the quoted scope.

lo que obtienes

  • Installable module source code built for your exact Odoo version (17.0 / 18.0 / 19.0) and edition, with a clean `__manifest__.py`
  • Installation and configuration on your staging environment, including access-rights and record-rule setup
  • Technical documentation: model schema, capture points, security model, and report template reference
  • End-user guide plus a live training session for your team on reading and exporting the reports
  • UAT on a staging copy of your database with a documented rollback plan before production deployment
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and tagged release for your version
  • Optional migration of existing price history from spreadsheets or prior fields, scoped separately

¿Para quién es esto?

Finance controller / CFO office

Needs a defensible audit trail of how sales prices and costs moved, who changed them, and when — for margin reviews, disputes, and external audits. Wants clean PDF statements, not exported chatter.

Odoo administrator / internal ERP team

Runs the Odoo database and wants price history captured across UI, imports and API writes without bolting on brittle spreadsheets. Needs a maintainable, access-controlled module they can own via the handed-over git repo.

Sales / pricing operations manager

Manages pricelists and promotional rules and needs to see the full trajectory of a product's price, including tiered and time-bound rules, to justify quotes and analyze pricing decisions over time.

Procurement / purchasing lead

Tracks vendor price movements from `product.supplierinfo` to negotiate better, spot cost creep early, and reconcile buying prices against sales margin in one report.

Cómo se compara All in One Price History with Report

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Price history depthFull timeline across sales price, cost, pricelist rules and vendor pricesWhatever you spec and budget forUsually base price and cost onlyNo durable multi-source history; only limited cost tracking
ReportingQWeb PDF statements plus pivot/graph, margin-movement viewBuilt to spec but you fund every reportBasic list or a single report layoutNo dedicated price-history report at all
Fit to your version/editionBuilt and tested for your exact 17/18/19 and Community vs EnterpriseFully bespoke but you own all the riskGeneric build across versions, edition gaps commonWhatever ships with core
Capture coverageUI, imports and XML-RPC/JSON-RPC API writes all recordedDepends on developer diligenceOften UI edits onlyMinimal, mostly chatter on cost
Audit controlRead-only rows via access rules and record rulesOnly if explicitly builtRarely enforcedNot designed for audit
Support & handoverSupport window, training, and git repo handoverDepends on the contractorVendor ticket queue, no source ownershipCommunity forums only
Time to valueone working week from confirmed scope, deployed for youOften months of build and iterationInstant install but frequent rework to fitImmediate but capability simply absent
Total cost of ownershipFixed quote from ~$999 base, you own the codeHighest — full dev plus ongoing maintenanceLow sticker price, hidden fit and upgrade costsFree but the gap stays unsolved

Preguntas frecuentes sobre All in One Price History with Report

Is this an existing app I can download and install right now?

No. This is a build-to-order module. ECOSIRE builds it for your specific Odoo version, edition and price sources after a scoping call, then installs and supports it. There is no instant marketplace download — you receive a version made and tested for your database.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline starts once we've agreed on which price types to track, your reporting formats, and any historical-data migration on the scoping call. Larger multi-company or migration-heavy scopes sit at the upper end.

How does pricing and scoping work?

Pricing starts from $999 as an indicative from-price for a single-company base scope. After a short scoping call we confirm exact requirements and send a fixed quote. Multi-company consolidation, extra price sources, localization depth and historical-data migration volume increase the quoted scope.

Which Odoo versions and editions are supported?

We build for Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. We target your exact version and account for Community vs Enterprise differences — for example substituting Enterprise-only dashboard views with Community-safe pivot and graph views where needed.

What about support and updates after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the git repository, your own team can maintain it, and we can quote a separate support retainer or a version-upgrade engagement when you move to a newer Odoo release.

Can it capture price changes made through imports or the API?

Yes. Capture is wired at the ORM level via `write()` overrides and automated actions, so changes are recorded whether they come from the Odoo UI, a data import, or programmatic writes over the XML-RPC/JSON-RPC API — not just manual edits.

Is the price history editable or tamper-proof?

History rows are read-only to standard users through `ir.model.access.csv` and record rules, so the trail cannot be silently altered. That access model is what makes the reports usable for audit and dispute resolution rather than just informal logging.

Solicitar presupuesto

All in One Price History with Report

A made-to-order Odoo module that records every product price change over time and turns it into audit-ready reports. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 database after a scoping call.

  • Dedicated `price.history` model storing product, price type, old value, new value, currency, responsible user, source document and UTC timestamp per change
  • Capture on sales list price (`product.template.list_price`) and cost (`product.product.standard_price`) via `write()` overrides plus `@api.depends` computes
  • Pricelist-rule change tracking (`product.pricelist.item`) so promotional and tiered price movements are recorded, not just the base price
  • Vendor/purchase price capture from `product.supplierinfo` to see how buying prices from suppliers evolved over time

Solicitar presupuesto

Cuéntanos tus necesidades de All in One Price History with Report y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.