One view of maintenance across the portfolio
Work orders live in the PMS, in the maintenance platform, and in the vendor marketplace. Getting one number out of three systems is a modelling problem before it is an integration problem.
Maintenance is the most operationally expensive thing a multifamily portfolio does and the hardest part of it to measure. The reason is structural: a single work order can begin in the property management system, get dispatched through a specialist maintenance platform, and be fulfilled by a vendor sourced through an outsourced marketplace. Each system holds part of the record, and different properties in the same portfolio often use different routes.
The result is that most operators can report maintenance accurately at a property and only approximately across a portfolio. That gap is not a reporting failure. It is what happens when the underlying record is split across systems that were never designed to be read together.
What can you not answer today?
A useful test. If any of these takes more than a query to answer, the data is split rather than missing.
- What did we actually spend on maintenance per unit last quarter, across every property and every vendor?
- Which properties have the fastest-growing work-order backlogs right now?
- Is our average time to close going up or down, and is that true everywhere or only at the properties using the outsourced route?
- Which unit types generate the most repeat work orders within 90 days of a turn?
- When a resident churns, was there an open maintenance request in the preceding month?
The last one is the interesting one. Maintenance data becomes considerably more valuable the moment it can be joined to leasing and resident data, and that join is only possible once both live in the same place.
Why is maintenance data split in the first place?
Because the category evolved in three waves and portfolios adopted them unevenly.
Every property management system has a work-order module, and for a long time that was the whole story. Then specialist maintenance platforms arrived with better dispatch, technician workflows and resident communication, and properties adopted them one region at a time. Propexo connects to that wave as well as to the PMS: HappyCo and Leonardo247 are both in that group, whatever category they carry in a marketplace listing. More recently, outsourced maintenance marketplaces let operators hand off sourcing and scheduling entirely for some properties or some job types.
None of those waves replaced the previous one cleanly. A portfolio assembled through acquisition can easily be running all three at once, which is why the honest first step is an inventory rather than an integration.
How operators put it together
Five steps, with the modelling decision deliberately placed before the engineering.
- 1
Find every system a work order can live in
Start with an inventory rather than an integration. A single portfolio commonly has work orders in the PMS module, in a specialist maintenance platform at some properties, and in an outsourced marketplace at others. Until you know which properties use which route, any portfolio number you produce is quietly incomplete.
- 2
Decide what one work order means
This is the modelling decision that matters most and it is a business decision, not a technical one. Does a resident-reported issue that becomes three vendor visits count as one work order or three? Does a turn punch list count at all? Answer this before anyone writes SQL, because every downstream number depends on it.
- 3
Land the sources in your warehouse in native shape
Propexo Connect has pre-built connectors for the maintenance category as well as for the property management systems the work orders also sit in. Data lands as source-native tables in your own warehouse, so a Property Meld record arrives shaped like a Property Meld record. Nothing is reshaped on the way in, which is what lets you audit a number back to its source later.
- 4
Model the join, and keep the seams visible
Joining maintenance data across systems is real modelling work: matching properties and units across identifier schemes, deduplicating the same job recorded in two systems, and reconciling status vocabularies that do not agree. Do it in your warehouse where it can be versioned and tested, and keep a column that records which source each row came from.
- 5
Report on it, and expect the first numbers to be wrong
The first portfolio-wide maintenance report almost always surfaces data-quality problems rather than operational ones: properties that never closed work orders, a vendor category used inconsistently, a site that stopped using the system in March. That is the report doing its job. Fix the inputs, then start trusting the trend.
Propexo Connect covers the maintenance category alongside the property management systems and the rest of the operational stack, 122 connectors in total. Browse the connector marketplace for the current list.
Frequently asked questions
Why is maintenance data harder to unify than leasing data?
Because leasing largely happens in one place and maintenance does not. A lease lives in the property management system by definition. A work order can start in the PMS module, get dispatched through a specialist maintenance platform, and be fulfilled by a vendor sourced through an outsourced marketplace, with each system holding part of the record. Add that different properties in the same portfolio often use different routes, and you have several partial versions of the same job rather than one record in one place.
Can I just report out of my PMS work-order module?
You can, and it will be accurate for the properties that only use the PMS module. The problem is that it will be silently incomplete everywhere else, and the gaps do not announce themselves. A portfolio report that quietly excludes the properties using an outsourced maintenance route will look plausible and understate both cost and volume. If every property genuinely runs maintenance the same way through the PMS, reporting from the PMS is the right answer and there is no integration project to do.
Does Propexo unify maintenance records across systems for me?
No. Propexo Connect lands source-native tables from each system in your warehouse. Deciding that a job in one system and a job in another are the same job, and reconciling status vocabularies that disagree, is modelling that encodes your operating definitions. That work belongs to you, in your warehouse, where it can be versioned and defended. What Connect removes is the extraction and maintenance work underneath it.
Which maintenance systems can Propexo connect to?
12 maintenance-focused platforms today: AppWork, Breezeway, Facilio, HappyCo, Latchel, Leonardo247, Lessen, Property Meld, PropertyInspect, RentCheck, Sortly, Source7. Note that the marketplace category is a poor guide on its own, because it tracks each vendor's primary product rather than what the data is used for. HappyCo is filed under inspections and property condition, and Leonardo247 does not appear in the connector marketplace at all, but both are maintenance and work-order platforms in practice and both are connectable through Propexo Connect today. Work-order data also sits in the property management systems themselves, which is why unifying it usually means reading both.
How long does this take to stand up?
Landing the data is days per source, because the connectors already exist. The modelling is the variable, and it depends far more on how many maintenance routes your portfolio runs and how consistent your properties are than on anything technical. Teams with one maintenance platform across every property move quickly. Teams with three routes and inconsistent site-level practice spend most of the project agreeing definitions, which is time well spent and worth planning for.