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 $249.00 USD; request a quote for a scoped proposal.
应用清单
围绕您的工作流程构建
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.
无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。
以一次性构建价格开始。我们在启动时与您共同确定范围。
ECOSIRE 在您的 Odoo 上构建、配置并安装。
约 2–4 周内上线,并提供上线后的支持期。
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 2–4 weeks from confirmed scope. Pricing starts from $249 (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.
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.
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.
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.
Tracks vendor price movements from `product.supplierinfo` to negotiate better, spot cost creep early, and reconcile buying prices against sales margin in one report.
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | 奥杜本机 |
|---|---|---|---|---|
| Price history depth | Full timeline across sales price, cost, pricelist rules and vendor prices | Whatever you spec and budget for | Usually base price and cost only | |
| Reporting | QWeb PDF statements plus pivot/graph, margin-movement view | Built to spec but you fund every report | Basic list or a single report layout | |
| Fit to your version/edition | Built and tested for your exact 17/18/19 and Community vs Enterprise | Fully bespoke but you own all the risk | Generic build across versions, edition gaps common | |
| Capture coverage | UI, imports and XML-RPC/JSON-RPC API writes all recorded | Depends on developer diligence | Often UI edits only | |
| Audit control | Read-only rows via access rules and record rules | Only if explicitly built | Rarely enforced | |
| Support & handover | Support window, training, and git repo handover | Depends on the contractor | Vendor ticket queue, no source ownership | |
| Time to value | 2–4 weeks from confirmed scope, deployed for you | Often months of build and iteration | Instant install but frequent rework to fit | |
| Total cost of ownership | Fixed quote from ~$249 base, you own the code | Highest — full dev plus ongoing maintenance | Low sticker price, hidden fit and upgrade costs |
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.
Typical delivery is 2–4 weeks 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.
Pricing starts from $249 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.
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.
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.
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.
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.
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.