Passer au contenu principal
Les détails du produit sont affichés en anglais. Traductions à venir.
All in One Price History with Report — A made-to-order Odoo module that records every product price change over time and turn — 1/1Aperçu illustratif

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'est-ce que 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.

Fonctionnalités clés

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

Fait sur commande, clé en main

Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.

  1. 1

    Vous commandez

    Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.

  2. 2

    Nous développons et installons

    ECOSIRE la développe, la configure et l'installe sur votre Odoo.

  3. 3

    Mise en ligne + assistance

    Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.

Spécifications techniques

Compatibilité Odoo
Odoo 17, Odoo 18, Odoo 19
Éditions
Enterprise et Community
Licence
Licence à confirmer
Version Python requise
Python 3.10+
Base de données
PostgreSQL 12+

À propos de ce produit

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.

Ce que vous obtenez

  • 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

Pour qui c'est

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.

Comment All in One Price History with Report se compare

CritèreÉCOSIREConstruction personnaliséeConcurrentNatif 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

Foire aux questions sur 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.

Demander un devis

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

Demander un devis

Décrivez vos besoins pour All in One Price History with Report et nous vous enverrons les tarifs, les options de licence et une proposition sur mesure, généralement sous un jour ouvré.

Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.