OCR for property management and utility bills

Maybe someone else has solved this — we manage a few dozen rental properties and the utility bills are just relentless. Electric, water, gas, internet, and each provider has their own format. By the time you’ve manually keyed in a few hundred bills a month across properties, you’ve lost hours and probably made some errors. Is anyone actually automating this with OCR? Curious what’s worked in practice.

Ugh, utility bill processing at scale is one of those things that sounds manageable until it isn’t. The problem isn’t just volume — it’s that every utility company formats their invoices differently, and that multiplies fast when you’re spread across multiple properties in different regions with different providers.

If you’re using AppFolio, Buildium, or Rent Manager, check whether they have utility integrations first. Some do, but they tend to work with specific providers, not universally. FWIW, I’ve seen property managers try RPA tools like UiPath to scrape utility websites directly — works until a site redesign breaks everything, then you’re back to square one.

For flexible extraction from whatever bill format shows up in your inbox, I’ve tried Lido and it does the job reasonably well — pulls account numbers, billing dates, amounts, usage data from PDFs and images without needing to configure a template for each utility. Given you’re dealing with electric companies that vary by region, different water districts, and a rotating cast of internet providers, that template-free approach matters.

You can set it up so bills flow into a spreadsheet organized by property, which makes reconciliation a lot cleaner. Whether you connect that to your property management platform depends on what integrations are available.

Honestly though, before going down the automation rabbit hole: how much time are you actually spending on this right now? For 20+ properties with hundreds of bills monthly, the ROI on automation is pretty clear. If you’re smaller, it might not be worth the setup. Start there, then pick your tooling.

We went through almost this exact same process last quarter so this thread is bringing back memories lol. We started with Rossum too and the accuracy just wasn’t cutting it for our utility bill layout — lots of variation in formatting across providers and it struggled. Ended up landing on Lido and it’s been handling our volume, around 1200 docs a month, without any real issues. Took a bit of setup but nothing crazy.

Yep this is pretty much our story too. We tried templates first because it seemed like the ‘safer’ option and it was honestly a nightmare — every time a vendor changed their invoice layout we were scrambling to fix things. Moved to AI-based extraction and I don’t think we’d ever go back. There’s an adjustment period but once it’s dialed in it’s so much more resilient to the little formatting variations you see in the real world.

Jumping in here because we literally dealt with this last quarter — ABBYY handles multi-page invoices pretty well in our experience. It stitches the pages together and treats the whole thing as one document, so line items that span pages don’t get split weirdly. That said, we did have a couple of edge cases with statements that had a summary page at the front and detail pages after, and it got confused about which totals to pull. Took a little tweaking to sort out but once we adjusted the settings it’s been solid.

Hey, this is awesome info, thanks so much for sharing! You really hit on a lot of the points we’ve been struggling with, especially around getting those utility bills processed efficiently. We’re definitely looking at OCR for our property management setup.

My biggest headache right now, and honestly, what always trips us up with our current systems, is handling credit notes and refunds. We get a pretty decent volume of those, and they seem to be the bane of automated processing. Standard invoices? Mostly fine. But as soon as a credit or a refund comes in, it’s like our whole system just throws its hands up and everything needs manual review.

So, I’m super curious, from your experience with UiPath, how does it cope with those? Does it have a robust way of identifying and processing them without needing constant human intervention? That would be a huge win for us if it does.