A build-to-order Odoo application for real-estate teams that manage both property sales and rentals in one place. ECOSIRE scopes, builds, installs, and supports it — from unit inventory and lease contracts to recurring rent invoicing and renewals. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo application for real-estate teams that manage both property sales and rentals in one place. ECOSIRE scopes, builds, installs, and supports it — from unit inventory and lease contracts to recurring rent invoicing and renewals.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Real-estate teams that run Odoo usually end up stitching property operations across Sales, Contacts, and Accounting, then filling the gaps with spreadsheets. Out of the box, Odoo has no concept of a rentable/sellable unit with its own status lifecycle, no lease contract that generates recurring rent with escalation, and no single view that shows which units are available, reserved, sold, or occupied. Deposit handling, renewal reminders, and per-unit profitability all live in someone's head or a parallel sheet — which breaks the moment two agents touch the same building. This is exactly where native Odoo runs out of road: it can invoice and hold contacts, but it cannot model a property portfolio or the sale-versus-rent workflows that sit on top of it.
`property.property` and `property.unit` models with a status state machine (`available`/`reserved`/`sold`/`occupied`/`returned`) enforced in the ORM, not by convention
`property.lease` rental-contract model linking tenant `res.partner`, unit, rent, deposit, start/end dates, and escalation clause
Recurring rent invoicing via a scheduled `ir.cron` that generates `account.move` drafts per lease billing day, with configurable escalation
Unit status kanban board plus list, form, and calendar/gantt views built in XML/OWL for at-a-glance availability
`@api.depends` computed fields: occupancy rate, next rent due, outstanding deposit balance, lease days remaining, per-unit yield
Sale reservation-to-confirmation flow that reserves a unit, generates a quotation/sale order, and flips unit state on confirmation
ECOSIRE builds a dedicated property module that introduces first-class records for your portfolio. We add models such as property.property (the physical asset), property.unit (the individually sellable/rentable space with a state machine of available → reserved → sold/occupied → returned), and property.lease for rental agreements, alongside a sale flow that reserves a unit and drives it to a confirmed sale. Each model uses proper fields.Many2one/One2many relations to res.partner, product.template, and account.move, with @api.depends computes for figures like occupancy rate, next-due rent, outstanding deposit, and lease days remaining. Rent is generated as recurring account.move invoices via a scheduled ir.cron job that reads each active lease's period, escalation clause, and billing day — so month-end is a review, not a re-key.
The build is genuinely Odoo-native, not a bolt-on. Access is governed by ir.model.access.csv plus record rules that scope a leasing agent to their own assigned units while managers see the whole portfolio; multi-company record rules keep separate legal entities clean. The UI ships as list, kanban (unit status board), form, and calendar/gantt views in XML/OWL, with a portfolio dashboard, and QWeb PDF templates for lease agreements, rent statements, and sales reservation letters. Automated actions handle renewal and payment-due reminders, and everything is reachable over the external XML-RPC/JSON-RPC API so a website or CRM can push enquiries and pull availability. We target your exact Odoo line — 17.0, 18.0, or 19.0 — and respect Community versus Enterprise boundaries (for example, we won't assume the Enterprise rental or accounting-full features are present unless your edition has them, and we build the equivalent where it doesn't).
Because this is build-to-order, nothing is downloaded and switched on blindly. We start with a short scoping call, confirm the data model and workflows against how your team actually leases and sells, then build on a staging database, run UAT with your users, and cut over with a rollback plan. Typical delivery is 2–4 weeks from confirmed scope. You receive the full installable source for your version and a git repo handover, so you are never locked to us. Pricing starts from $299 (indicative, single-company base scope); multi-company portfolios, deeper accounting/localization integration, external-website availability sync, and migrating large volumes of existing units and historical leases increase the quoted scope.
Runs a mixed portfolio of rental and for-sale units and needs one Odoo system where availability, leases, recurring rent, and deposits are governed by records and access rules instead of shared spreadsheets.
Sells and leases units for landlords and wants reservation-to-sale and lease workflows tied into existing CRM, Contacts, and Accounting without paying per-transaction to a marketplace tool.
Owns rent collection and month-end and needs automated recurring `account.move` invoicing, deposit ledgering, and outstanding-balance reporting that reconciles cleanly in Odoo Accounting.
Maintains the ERP and wants a well-structured, documented module with clean security and a git handover they can read, extend, and upgrade rather than a black-box app.
Buy the license on ecosire.com and download the Advanced Property Sale & Rental Management module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Advanced Property Sale & Rental Management, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Fit to your sale + rental workflow | Built to your exact reservation, lease, and billing process | Fully bespoke but you specify and manage every detail | Generic feature set; you bend your process to fit it | |
| Recurring rent invoicing | Scheduled `ir.cron` generates `account.move` per lease with escalation | Possible, depends on your developer's approach | Often basic or fixed-period only | |
| Unit availability tracking | State-machine kanban across available/reserved/sold/occupied | Whatever you build | Usually a simple status field | |
| Security & multi-company | Record rules per agent plus multi-company isolation | Must be designed and tested by you | Standard access groups, limited scoping | |
| Source code & lock-in | Full source and git repo handover; you own it | You own it, having paid full bespoke cost | Licensed module; limited or obfuscated code | |
| Cost & time | From $299 indicative; 2–4 weeks build-to-order | Highest cost; longest timeline | Low upfront but rework to fit and gaps to fill | |
| Support & upgrades | Post-go-live window plus version-targeted upgrades | Depends on your team's availability | Vendor support varies; upgrade lag common | |
| Reports & documents | QWeb lease, rent statement, deposit, and reservation PDFs | Built to order at extra effort | Fixed templates, limited branding |
No. This is a build-to-order module that ECOSIRE builds, installs, and supports for your specific Odoo version and workflows. There is no instant download — we confirm scope first, then build it for you on staging before go-live.
Typical delivery is 2–4 weeks from confirmed scope. Simple single-company builds land toward the shorter end; multi-company portfolios, website availability sync, or large data migrations extend the timeline, which we agree with you before starting.
Pricing starts from $299 as an indicative single-company base scope. After a short scoping call we send a fixed quote based on your real requirements — number of companies, integrations, localization depth, and how much existing unit/lease data needs migrating.
We build for Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. We respect edition boundaries — where an Enterprise-only feature isn't available in your edition, we build the equivalent within your stack rather than assuming it exists.
Every build includes a post-go-live support window for defect fixes and configuration tweaks. Beyond that, because you receive the full source and git repository, you or any Odoo developer can maintain it; we also offer ongoing support and version-upgrade engagements as a separate arrangement.
Yes. It builds on native Odoo models — rent and sales post to `account.move`, tenants and buyers are `res.partner` records, and units can relate to products. We integrate with your existing configuration rather than replacing it.
No. You receive the complete installable source and a git repo handover with full history, plus technical docs. You own the code and can extend or maintain it independently at any time.
A build-to-order Odoo application for real-estate teams that manage both property sales and rentals in one place. ECOSIRE scopes, builds, installs, and supports it — from unit inventory and lease contracts to recurring rent invoicing and renewals.