BELCOR
Property listings that keep themselves up to date, straight from Kato
BELCOR is a commercial property company on London's city fringe, working across office leasing, investment and property management. Their listings live in Kato, the CRM most UK commercial agents run on. Their website had no connection to it.

What was stuck
A commercial property portfolio doesn’t sit still. New space comes on, units get let, and terms change. Whenever a listing changed in Kato, one of BELCOR’s agents then had to make the same change on the website by hand, so it matched.
That meant every listing was entered twice, by people whose job is letting property, not updating a website. The website was only ever as current as the last time someone got round to it. The information already existed in Kato, which the team kept up to date as part of the job. The website just couldn’t see it.
What changed
Kato publishes each agent’s listings to the Agents Society as an XML feed. I built a WordPress plugin, KatoSync, that reads that feed every 15 minutes and stores each property in the website’s own database, with its details, images and floor plans.
Properties on the website are read-only. Kato is the single source of truth, so a listing can’t be changed on the website and drift away from it. The team updates Kato as they always have, and within 15 minutes the website matches it. Properties that drop out of the feed come off the site. Properties that haven’t changed since the last check are skipped, so the sync stays quick as the portfolio grows.
Storing the listings locally, rather than pulling the feed every time someone loads a page, is what makes the rest of the site possible. Listings can be filtered by location, pages load quickly, and a slow feed on Kato’s side doesn’t take the website down with it.
What’s on the site
- Over 125 properties, all synced from Kato
- Location landing pages for each area, each linked to the properties available there
- A viewing request form on every property, with a date and time picker
- Static pages the team can edit themselves, built with ACF flexible content
- An average load time of 1.2 seconds
From one client to a product
KatoSync started as the fix for one client. Any agent on Kato with a website has the same problem, so I turned it into a product. It’s now available to other agents and developers at katosync.com, and BELCOR’s site still runs on it.
How it’s built
For anyone who wants the technical side:
- A custom WordPress theme in PHP, SCSS and vanilla JavaScript, with no page builder and no frontend framework
- ACF Pro for the editable page layouts
- KatoSync: parses the Kato Agents Society XML feed on a 15-minute schedule into a custom post type, skips unchanged listings using their last-modified timestamps, imports images into the media library, removes listings no longer in the feed and logs every sync. Synced properties are read-only in WordPress.
Got a system your website should be working from?
How integrations workCall David.
A free 30-minute call. Tell me what your business runs on and what you need the website to do, and I’ll tell you straight whether I’m the right person for it.