A build-to-order Odoo module that turns scattered warranty certificates and vendor AMC PDFs into a live contract register linked to every IT asset, with tiered expiry reminders and one-click renewal quotations. ECOSIRE scopes, builds, installs and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that turns scattered warranty certificates and vendor AMC PDFs into a live contract register linked to every IT asset, with tiered expiry reminders and one-click renewal quotations. ECOSIRE scopes, builds, installs and supports it for you.
لا حاجة للدفع الآن. يؤدي هذا إلى إرسال طلب عرض سعر إلى فريقنا — وسنتواصل معك عبر البريد الإلكتروني بالأسعار والخطوات التالية.
Most IT teams discover a lapsed warranty the day a server dies out of coverage, or find out an annual maintenance contract auto-renewed at last year's inflated rate because nobody flagged it 90 days out. Coverage data lives in a folder of vendor PDFs, a spreadsheet one person maintains, and the memory of whoever signed the original deal. When it comes time to budget renewals or prove a failed asset is still under support, the answer takes hours to assemble and is usually wrong. Odoo's core sale_management and mail apps can hold a contract document and a follow-up activity, but they have no concept of a warranty term, an SLA level, a coverage window that maps many assets to one contract, or a rolling expiry horizon — so teams end up bolting this onto Contacts notes or a side spreadsheet that immediately drifts out of sync with the CMDB.
Dedicated support-contract model (`models.Model`) capturing vendor, contract type — warranty / AMC / extended support — coverage start and end dates, SLA response-time tier and contract value
Many-to-many coverage relation: one contract covers a fleet of assets, and one asset can carry several layered contracts (base warranty plus separate AMC)
`@api.depends`-computed `coverage_state` and `days_to_expiry` fields that roll active/expiring/expired status up to each linked asset in the CMDB
Tiered 90/30/7-day expiry engine via a scheduled `ir.cron` that creates `mail.activity` reminders and sends QWeb email to the responsible owner
One-click renewal: generate a draft `sale.order` in Odoo Sales pre-filled with vendor, covered assets and prior term for the buyer to negotiate
Coverage-gap report (SQL view + QWeb PDF) listing every asset with no active warranty or AMC
We build a dedicated Warranty & Support Contract Manager as a proper Odoo module on top of base, mail, sale_management and your it_asset_management_cmdb asset register. At its centre is a new models.Model for the support contract — vendor, contract type (warranty, AMC, extended support), coverage start/end dates, SLA/response-time tier, contract value and a state computed from the current date. A many-to-many relation links one contract to many assets for fleet-wide coverage, while an asset can carry several layered contracts (base warranty plus a separate AMC), so @api.depends-computed fields can roll coverage status up to each asset and expose a days_to_expiry used everywhere from list decorations to the dashboard. Tiered reminders are driven by a scheduled ir.cron automated action that, at 90/30/7 days before expiry, creates a mail.activity on the responsible owner and sends a QWeb-templated email — no more silent lapses. A coverage-gap report (SQL-backed view + QWeb PDF) surfaces every asset with no active warranty, and a total-cost-of-ownership rollup aggregates maintenance and support spend per asset over its life. Access is locked down with ir.model.access.csv plus record rules for multi-company or team-scoped visibility, and every contract carries its signed T&Cs as searchable attachments.
Because renewals are where the money leaks, the module wires directly into Odoo Sales: from any expiring contract you generate a draft renewal sale.order pre-filled with the vendor, the covered assets and the prior term, ready for your buyer to negotiate — turning a reactive scramble into a planned, budgeted pipeline. A status dashboard breaks contracts down by state, vendor and days-to-expiry, and an optional bridge pushes covered equipment into Odoo Maintenance so preventive schedules and warranty windows live side by side. Everything is reachable over the standard XML-RPC/JSON-RPC API, so a procurement portal or BI tool can read coverage status without touching the database. We target Odoo 17.0, 18.0 and 19.0 and build cleanly against Community or Enterprise, using Enterprise-only widgets only where you actually run Enterprise.
This is a build-to-order engagement, not an off-the-shelf download: after a short scoping call we confirm your asset model, vendor list and reminder policy, then build, test on a staging copy of your database, and install. Typical delivery is 2 to 4 weeks from confirmed scope. Pricing starts from $199 (indicative, single-company base scope); multi-company coverage, deeper Maintenance/procurement integration, migration of a large existing contract backlog, or localized renewal-quotation formats increase the quoted scope. You get a fixed quote after the scoping call, before any code is written.
Owns the hardware fleet and vendor relationships. Needs a single source of truth for what is under warranty, when each AMC expires, and which assets have no coverage at all — so nothing lapses and renewals hit the budget cycle on time.
Negotiates and renews support contracts. Wants renewal quotations generated automatically for expiring contracts, historical spend per vendor and asset, and 90-day advance warning to negotiate instead of auto-renewing at list price.
Budgets and reports on maintenance spend. Needs total-cost-of-ownership per asset, contract-value visibility by vendor and state, and audit-ready records that tie every support cost back to a specific asset and contract.
Fields incidents on assets and needs to know instantly whether a failing device is still under support and what the vendor's response-time SLA is, so escalations go to the right contract and hotline without hunting through PDFs.
قم بشراء الترخيص من موقع ecosire.com وقم بتنزيل وحدة IT Warranty & Support Contract Manager ZIP من لوحة تحكم حسابك.
قم باستخراج ملف ZIP إلى مجلد إضافات Odoo المخصصة على الخادم (أو تحميله عبر التطبيقات > التثبيت من ملف على Odoo.sh / runbot).
قم بتنشيط وضع المطور، وافتح التطبيقات، وانقر فوق تحديث قائمة التطبيقات، وابحث عن IT Warranty & Support Contract Manager، ثم اضغط على تثبيت.
افتح القائمة الجديدة، والصق مفتاح ترخيص ECOSIRE الخاص بك، وقم بتوصيل أي بيانات اعتماد خارجية (Shopify، وAmazon، وStripe، وما إلى ذلك)، ثم احفظها.
قم بتشغيل اختبار الاتصال المدمج، وقم بمزامنة أول 10 سجلات لديك، وقم بجدولة عملية cron المتكررة. اتصل بالدعم إذا فشل أي شيء.
| المعيار | ECOSIRE | بناء مخصص | منافس | أودو الأصلي |
|---|---|---|---|---|
| Warranty & AMC term model | Purpose-built contract model with coverage dates, SLA tier and state per vendor | Whatever you design and maintain in-house from scratch | Generic template, often not mapped to your asset register | |
| Asset ↔ contract linkage | Many-to-many: fleet coverage and layered contracts per asset | Possible but you build and test the relations | Usually one contract to one asset only | |
| Expiry reminders | Tiered 90/30/7-day activities and emails via configurable `ir.cron` | You build the cron and templates yourself | Single fixed reminder, limited configurability | |
| Renewal quotations | One-click draft `sale.order` pre-filled from the expiring contract | Custom code to bridge contracts into Sales | Rarely integrated with Odoo Sales | |
| Coverage-gap reporting | SQL-backed report listing all uncovered assets, plus TCO rollup | Build the SQL views and QWeb reports yourself | Basic list, seldom a true gap report | |
| Fit to your data model | Built against your `it_asset_management_cmdb` and vendor list | Fully bespoke but entirely your maintenance burden | Fixed schema you must adapt your data to | |
| Support & upgrades | Post-go-live window, git handover, 17/18/19 upgrade path | Depends on the in-house developer's availability | Vendor-dependent, generic ticket support | |
| Total cost & delivery | From $199 indicative; fixed quote after scoping, 2–4 weeks | Higher developer cost and longer, open-ended timeline | Low list price but rework to fit and no scoping |
This is a build-to-order module, so it is built specifically for your Odoo instance rather than downloaded. Typical delivery is 2 to 4 weeks from confirmed scope. The exact timeline depends on how many vendors and contract types you track, whether multi-company coverage is required, and how deep the Maintenance and procurement integrations go — we confirm dates in your fixed quote after the scoping call.
Pricing starts from $199 as an indicative from-price for a single-company base scope. After a short scoping call we confirm your asset model, vendor list, reminder policy and any integrations, then give you a fixed quote before any code is written. Drivers that increase scope include multi-company coverage, migrating a large backlog of existing contracts, deeper Odoo Maintenance or procurement integration, and localized renewal-quotation formats.
Every engagement includes a post-go-live support window for bug fixes and questions after deployment, plus full git repository handover so your team owns the source. You get the technical docs, a user guide and a training session. Beyond the included window we offer ongoing support and version-upgrade retainers — for example when you move from Odoo 17 to 18 or 19 — which we can quote alongside the build.
No — it builds on it. The module is designed to sit on top of your `it_asset_management_cmdb` asset register and link contracts to the assets you already track, rather than duplicating them. Coverage status, days-to-expiry and total-cost-of-ownership roll up onto your existing asset records. If your CMDB uses a custom model, we map to it during scoping.
It works on both. The core contract register, reminder engine, coverage-gap reporting, renewal quotations via Sales, and the API are all built on standard Odoo framework features that exist in Community. Where you run Enterprise we can use Enterprise-only widgets and the Maintenance bridge; where you run Community we build equivalent Community-safe views so you get the same functional outcome.
A scheduled server action (`ir.cron`) runs daily and evaluates each contract's remaining days to expiry. At the 90, 30 and 7-day thresholds it creates a `mail.activity` assigned to the responsible owner and sends a QWeb-templated email. The lead-time thresholds and the responsible user are configurable, so you can align reminders with your renewal and budgeting cadence rather than a fixed rule.
Yes. Every contract and its computed coverage state, days-to-expiry and linked assets are exposed over Odoo's standard XML-RPC and JSON-RPC API. A procurement portal, BI dashboard or external CMDB can query live warranty and AMC status through authenticated API calls without any direct SQL access, respecting the same record rules that govern in-app visibility.
A build-to-order Odoo module that turns scattered warranty certificates and vendor AMC PDFs into a live contract register linked to every IT asset, with tiered expiry reminders and one-click renewal quotations. ECOSIRE scopes, builds, installs and supports it for you.