Condominium ERP & owners-association management
Most condominium software bills your units. This one runs your community.
Condominium management software for the whole operation - the property register, owners and tenants, access control, utility metering, service charges, monthly invoicing, arrears and disputes - with full accounting built in. One system, one set of numbers, one supplier.
Register, billing and accountsOwners, tenants and accessBuilt on Odoo
Overview
One system for the property, the people, the billing and the books.
BH Condominium
BH Condominium is a condominium ERP: it manages every apartment across your buildings - who owns it, who occupies it, and what each of them owes.
Every month it turns meter readings into charges, applies your service charge rules, issues one consolidated invoice per payer, records settlement, tracks arrears and posts the whole run to the accounts.
The register, the billing and the ledger are one database. Nothing is exported, re-keyed or reconciled between systems - because it is built on Odoo rather than bolted beside it.
Scope
Everything BH Condominium manages.
Four areas, one database. Each is opened up in detail further down this page.
Property
Every block, floor and apartment as its own record, with common areas, parking and unit categories.Owners and occupants
Ownership shares, tenancy periods and the access credentials issued against each, including the units that change hands mid-month.Billing and collection
Meter readings through to service charges, one consolidated invoice per payer, receipts, arrears and challenged charges.Accounting and reporting
Full double-entry accounting on Odoo, and five dashboards over the same month.
How it works
How a month runs.
What it covers, in detail
One system for the whole community, not one clever feature.
A condominium is a register, a set of leases, a security estate, a billing operation and a set of books - and most teams run those five things in four different places. Here they are one Odoo database. Everything below is implemented and running today.
The monthly cycle, in detail
Nine stages, one system, no spreadsheet in the middle.
Most mid-sized property management companies run this cycle on a shared workbook and an email chain. Here it is a workflow with states, validation and an audit trail - the same nine stages every month, in the same place.
Property, ownership and access
The register underneath everything else, kept properly.
Every charge, every dispute and every dashboard figure rests on the record of who lives where and who owns what. Block, floor and unit are modelled as real records with their own history - not columns in a list someone maintains by hand.
Utilities
Where your communities are sub-meteredA wrong reading costs you twice: once in money, once in trust.
Not every community recharges utilities by meter. In the ones that do, it is most of the invoice and almost all of the arguments - and it is the part every other platform treats as a line item.
So the readings are validated before they are ever priced. Upload the month's spreadsheet and each row is matched to a meter, checked against the previous reading, and marked ok, warning or error. A batch with a single error cannot be validated, and a meter that is faulty or disconnected cannot be charged at all.
“Why am I paying for the gym meter?” deserves a real answer.
Shared consumption is where goodwill goes to die. The pool pump, the lift lobby, the gym - metered together, split by whoever is doing the spreadsheet that month, and impossible to explain when a resident asks. Here the split is a rule, applied the same way every period, traceable back to the meter.
- Entitlement lives on the unit category, so a studio without gym access is never charged for the gym meter
- Tariffs are held per utility per block, with as many date-effective steps as the supplier gives you, each approved before it can be used
- Rates carry four decimal places, because two decimals quietly round real money away across a thousand units
Billing and invoicing
In unit 4B the tenant pays electricity and the owner pays the service charge.
Every community has units like that, and every billing run gets them wrong at least once. So the payer is not a note in someone's head - it is a resolution chain that runs on every single charge and always ends in an answer.
The hard case
A tenant left on the 14th. Who pays for the electricity?
Every property manager knows this one. The lease ended mid-period, the meter was read at month-end, and now three people have three different opinions about the split - none of which the outgoing tenant accepts, because none of them is based on anything they can see.
The billing run breaks the period into occupancy sub-periods by walking the actual tenancy records: owner before, tenant during, owner after. Then it does the thing that settles the argument. If a real move-out reading exists for that meter, the outgoing tenant is billed on actual consumption, not on a share of days. The rest is spread across the remaining occupants, and the final split absorbs the rounding so the parts add back to the metered total.
Every invoice line says which method it used. There is nothing left to argue about, because the arithmetic is printed on the document.
Utility Charges - 4B (01/09/2026 to 14/09/2026, 14/30 days, move-out reading)
An invoice line that explains itself. Where no move-out reading exists, the line says “estimated” instead - and says so on the resident's copy, not just in your database.
Dashboards
Five views of the same month, and one of them is the arrears list.
Every dashboard filters by community, year and month, and every table drills through to the record behind it. No exports, and nobody rebuilding the same figures in a spreadsheet at the end of each month.
The foundation
We did not write an accounting system. We billed into one.
Standalone condominium platforms have to build ledgers, tax engines and payment reconciliation from scratch, and then certify them market by market. BH Condominium doesn't, because its invoices are ordinary Odoo customer invoices with four condominium fields added - the unit, the billing month, the billing year, and whether the document is a debit note.
Everything Odoo Accounting already does therefore comes with it, on day one, with no integration in the middle: payment registration, reconciliation, partial payments, credit notes, tax, multi-currency, aged partner balances and the e-invoicing localisations of the country you operate in.
Each community is its own Odoo company, so its chart of accounts, journals, sequences and financial statements are separate by construction - which is what association law generally requires anyway - and Odoo's own multi-company rules keep one community's data out of another's.
A full property operation on top of a real ledger, at open-source cost.
Not connected to accounting - running on it. Everything below is part of the same database as your units, leases and meters.
Payments & reconciliation
Registered against the invoice, matched to the bank, partial payments included.
Tax & localisation
VAT or GST and the e-invoicing rules of your jurisdiction, maintained by Odoo.
Aged receivables
Live, per community, without anyone rebuilding it in a spreadsheet.
Credit notes & follow-up
Standard documents and standard chasing, on the same ledger as everything else.
Four internal roles
Property admin, utility officer, accountant and manager, each implying the one below.
One database, separate books
Each community is its own company, with its own accounts, journals and statements.
Before the detail
Where we lead, where we match, and where we're going next
Every vendor has all three. Most only show you the first.
- Sub-meter registry with a real lifecycle and a billability gate
- Bulk reading import with a two-phase validation pipeline
- Three independent statistical anomaly tests, with scores and reasons
- Common-area allocation by entitlement and area, reconciled to the cent
- Mid-month turnover billing on actual move-out readings
- Access credentials tied to the lease and closed by the move-out run itself
- Block, floor and unit structure with unit lifecycle states
- Multi-owner percentage ownership and full tenancy history
- A service charge rules engine with category, block and floor targeting
- Consolidated invoicing with owner and tenant payer routing
- Charge disputes raised and resolved on the record
- Five analytical dashboards, and accounting and receivables through Odoo at lower cost
- Online resident payments and auto-pay
- Late fees, dunning ladder and account statements
- Maintenance requests and work orders with photos
- Amenity booking on the common areas already modelled
- Budget and reserve fund accounting for regulated markets
- A resident app, and a meter-reading app for your officers
The pattern is deliberate and worth saying plainly: this product is deep where the money is, and young where the engagement features are. If your decision rests on resident self-service today, read the next two sections before you go any further.
The comparison
How we compare, including where we don't
We reviewed the condominium and community-association software market in September 2026, capability by capability. Here is the result, with the rows we lose left in.
| Capability | BH Condominium | Buildium | Condo Control | AppFolio |
|---|---|---|---|---|
| Multi-owner percentage ownership | Yes | Partial | Yes | Yes |
| Access credential management | Yes | Not offered | Yes | Not offered |
| Charge dispute workflow | Native | Via helpdesk | Via requests | Via helpdesk |
| Accounting, receivables and tax | Same database | Built in | Integration | Built in |
| Sub-meter registry with status lifecycle | Built in | Limited | Not offered | Limited |
| Bulk meter reading import with validation | Excel, two-phase | Not offered | Not offered | Not offered |
| Statistical anomaly detection on consumption | Three methods | Not offered | Not offered | Not offered |
| Date-effective tariffs per block | With approval | Not offered | Not offered | Partial |
| Common-area consumption allocation | By entitlement & area | Flat allocation | Not offered | Flat allocation |
| Mid-month pro-rata turnover billing | On actual readings | Manual | Not offered | Partial |
| Online resident payments | Planned | Yes | Yes | Yes |
| Late fees and automated dunning | Planned | Yes | Partial | Yes |
| Maintenance requests and work orders | Planned | Yes | Yes | Yes |
| Amenity booking | Planned | Yes | Category leader | Partial |
| Budget and reserve fund accounting | Planned | Yes | Integration | Yes |
| Native resident mobile app | Planned | Yes | Category leader | Yes |
Competitor capabilities per our September 2026 review of Buildium, AppFolio, Condo Control, TOPS [ONE], Yardi Voyager, MRI and the Odoo real-estate app ecosystem (vendor documentation, Software Advice, Capterra, G2 and published comparison guides). “Integration” means delivered through a separate connected product. Vendors change. Verify directly before you decide.
Straight answer · what we don't do yet
Six things we can't do, and one reason we're telling you
A resident cannot pay you inside this system today, and there is no app. If that is what decides this purchase, the established platforms are ahead of us right now. We would rather you heard it from us on this page than found it out in month three.
- Planned
Online paymentsInvoices are issued and reconciled in Odoo, but residents pay by bank transfer today - there is no card or direct debit in the product.
- Planned
Late fees and dunningArrears are visible on the property ledger. Chasing them is still a person's job.
- Planned
Maintenance and work ordersNo resident request flow with photos, routing and status yet.
- Planned
Amenity bookingCommon areas are modelled and their entitlements are known. Booking them is not built.
- Planned
Budget and reserve fundsOperating and reserve fund separation is required by law in several markets. It is not here yet, and we will say so before we quote you in one of them.
- Planned
Resident self-serviceNo app, no push notification, and no online resident self-service we are willing to put in front of you yet - nor an offline meter-reading app for your officers.
Those six are the roadmap, roughly in that order - payments and collections first, then operations, then mobile. No dates promised on a marketing page. Ask us for the current plan and we'll show you the whole document, including the parts that are not flattering.
Everything else on this page is implemented and running. If a vendor's comparison table has no losing rows, ask them why.
Anything we haven't answered? Call +94 76 664 6664 and ask us directly.
Before you ask
The questions we get every time
Who is this actually for?
Property management companies and developer-operators running roughly 200 to 5,000 units across multiple towers or communities. The product covers the whole monthly cycle - the property register, ownership and tenancy, access credentials, service charges, invoicing, disputes and the dashboards - so it stands up whether or not your communities are individually sub-metered. Where they are, the utility side goes considerably deeper than the mainstream platforms, and that is usually what decides it.
What if our communities aren't sub-metered?
Then you use the rest of it, and it is worth saying so in the first meeting so we scope accordingly. The property register, multi-owner and tenancy records, access credentials, the service charge rules engine, consolidated invoicing with owner and tenant payer routing, disputes and the five dashboards all work with no meters in the picture - service charges run off fixed or per-square-metre rules rather than consumption. What you would be leaving unused is the metering depth, which is a large part of what makes us the cheaper answer for a sub-metered portfolio. If nothing you manage is metered and nothing will be, we will tell you plainly whether we are the right fit.
How is a mid-month move-out actually billed?
The billing period is split into occupancy sub-periods from the real lease dates - owner before, tenant during, owner after. For each utility, if a genuine move-out meter reading exists for that unit inside the period, the departing tenant is billed on that actual consumption and the line says so. The rest is spread across the other occupants by days, marked estimated, with the last split absorbing the rounding so the parts add back exactly to the metered total. Every split is shown to you, editable, before a single invoice is created. And the departing tenant's access cards are deactivated in the same step.
Can residents pay online?
Not yet. Invoices are issued and reconciled in Odoo, but payment happens by bank transfer today. Online payment and auto-pay are the first items on our roadmap, and Odoo's payment providers make it far more of a configuration and interface exercise than a rebuild. We are not promising you a date on a web page - ask us where it stands the week you're evaluating.
How are service charges calculated?
Off a priority-ordered rule set rather than a formula buried in code. Each rule is either a fixed amount per unit or an amount per square metre of net area, and can be targeted at a unit category, a block, a floor, or any combination - leave a targeting field empty and it matches everything. Rules carry optional effective-from and effective-to dates, they are evaluated in sequence, and the first match wins, so a specific rule cleanly shadows a general one. Where a single unit genuinely needs a different number, you set it to manual override and the resulting line is flagged as manual so nobody has to wonder later.
What happens when the utility supplier changes the tariff mid-period?
You add a rate line with the date it takes effect, and it gets approved by whoever is allowed to approve it. Rates are held per utility per block and carry four decimal places, because two decimals round real money away when you multiply by a thousand units. Nothing needs to be rebuilt, and the change carries its own discussion and audit history on the record.
Why build this on Odoo instead of as its own product?
Because the accounting is the hard part, and it already exists. Invoices here are ordinary Odoo customer invoices with four condominium fields on them, so payment registration, reconciliation, partial payments, credit notes, tax, multi-currency, aged receivables and local e-invoicing all work on day one. A standalone platform has to build and certify that itself, in every market it enters, and charge you for it.
Can we run several communities from one system?
Yes. Each community is its own company inside Odoo, so it gets its own chart of accounts, journals, sequences and financial statements - which is what association law generally expects - and one community's data is kept out of another's by Odoo's own multi-company rules. The trade-off is honest: per-community reporting is excellent by construction, and consolidated cross-community reporting is something we build for you rather than something that comes free.
Is there an app?
No - and no resident self-service we would show you yet either. There is no installable app, no push notification and no offline meter-reading app for your utility officers. Two thirds of condominium owners say they would rather deal with their building through an app, so we are not going to pretend this is a small thing. It is on the roadmap, and it is the honest answer to the question most competitors would answer with a screenshot.
Do we own our data?
Yes. The database is yours and you can export it in full at any time. You are not locked into us as a supplier in order to keep operating, and that is a deliberate choice on our part. It is worth asking every vendor on your shortlist the same question, and noticing which ones need a moment before answering.
How long does implementation take?
It depends on how many communities and units you're bringing, how clean the property and meter registers are, and whether you're migrating billing history. Setting up the register and, where they exist, the meters and tariffs is usually the long pole - the rest is configuration. We scope it properly before quoting rather than giving you a number we would have to walk back later. Ask for the timeline in writing, from us and from everyone else you're talking to.
The spreadsheet, the arrears nobody had time to chase, the disputes it caused, and the one move-out nobody could agree on. We'll show you what the same month looks like in the system.
Usually a reply within one business day