Jun
3

The ability to adapt is the ability to succeed: landlording the smarter way

Author admin    Category Uncategorized     Tags

Property118

The ability to adapt is the ability to succeed: landlording the smarter way

One month after the Renters’ Rights Act came into force, the landlord exodus has not materialised in quite the way many expected.

For many landlords, it’s not a simple stay-or-go decision. It’s about reviewing their portfolio, identifying higher-risk properties or tenancies, and planning ahead, selling those exposed to rent repayment orders, fines or licensing issues, while retaining stronger-performing assets.

Timing is everything, and landlords who have decided that now is the right time to scale down or retire are cashing in on their investments while they still can, and this is where Landlord Sales Agency comes in.

Whether you decide to sell all of your portfolio in one go or retain your best-performing properties while you see how the legislation plays out, we are entirely flexible to your needs.

At Landlord Sales Agency, like all the smartest landlords, we adapt our strategy according to the properties, the tenants and the owners’ priorities but as landlords, rather than property developers, our starting point is always to sell the properties as they stand for a fair market price unless it makes more sense to chase a better sales price.

And crucially, landlords can still get a great price close to vacant possession value without emptying the property first. 

We would only consider evicting tenants, refurbishing the properties and chasing full vacant possession prices if the extra money achieved was genuinely worth the additional time, cost, stress and risk involved.

Most landlords who contact us don’t want to gamble on spending thousands improving the properties only to find the market has shifted or the sale price doesn’t justify the upfront cost or ongoing risk.

Sellers come to us looking for a realistic balance between achieving a strong sale price and securing a fast, reliable sale that avoids months of uncertainty and potentially thousands of pounds in upfront costs paying mortgage interest, council tax, utilities and other costs associated with running vacant property for months, if not years.

One landlord that came to us for help in deciding strategy had a freehold property split into 4 flats in East Dulwich. Every flat was tenanted and the sale was further complicated by missing planning and tenancy documents. The gains from developing the property for maximum value was not worth the cost or risk to the owner. By winning the tenants’ cooperation, we were able to rectify the complications and market the flats to our network of over 30,000 private buyers and investors.

The vacant possession value of the 4 flats was £1.3M – we sold the entire block with tenants in situ as a turnkey investment in just 4 weeks for £1.15M and the owner collected rent right up to completion.

Another landlord had two properties – both with vacant possession but in poor condition and valued at £125K and £160K. With a potential value of £210K and £300K respectively, the potential gains worth clearly worth £40K investment but with the seller’s wealth tied into the properties, they were unable to realise the potential themselves or to pay the mortgage costs during the renovation.

In this case, in collaboration with the owner, our strategy was to renovate and sell properties in mint condition to owner occupiers for the best price possible.

We agreed an interest free loan to be paid back from the sale funds and arranged a trusted team of builders to complete the work.

Both properties sold for full market value just two weeks after the renovations were complete and after paying back our £80K refurb costs, £10K mortgage payments we paid, plus our fee for advancing funds, the landlord was over £90K better off.

So, if you’re a landlord looking to adapt, get in touch and we’ll help you plan your strategy.

We have an extensive private database of over 30,000 buyers who will buy your properties with or without tenants and get text messages to alert them to new properties every time a landlord comes to us to sell.

Our buyers are a mix of new landlords, investors and first-time buyers meaning that whether you’re selling with or without tenants, the properties will be snapped up. It also means that we’re able to get you’re the best possible price for the property.

Any company promising you 100% market value for a tenanted sale is hiding a huge list of costs that are going to come after the sale. That’s not the case with us. It’s one of the things that make us different, we are fiercely realistic and proudly transparent.

More landlords are recognising that this does not have to be an all-or-nothing decision when it comes to selling your portfolio and here at Landlord Sales Agency, we are here to help.

You have nothing to lose and everything to gain, fill out the form below.

Contact Landlord Sales Agency

(function(){var el=document.getElementById(“ts-607776b5-3f7b-431c-b5cc-fc304603fee3″);if(!el)return;var b=document.body,h=document.documentElement;var dark=b.classList.contains(“dark-mode”)||b.classList.contains(“dark”)||b.classList.contains(“night-mode”)||h.classList.contains(“dark”);if(!dark){var bg=window.getComputedStyle(b).backgroundColor,m=bg.match(/d+/g);if(m)dark=(m[0]*0.299+m[1]*0.587+m[2]*0.114)<128;}el.setAttribute("data-theme",dark?"dark":"light");})();

(function(){
var uid = “crm-form-ba09a29b”;
var form = document.getElementById(uid + ‘-form’);
var wrap = document.getElementById(uid);
var msg = wrap.querySelector(‘.crm-message’);
var totalPages = 1;
var curPage = 0;

// ── Conditional logic ────────────────────────────────────────────────
var condMap = {};

function getFieldValue(fieldId) {
var els = form.querySelectorAll(‘[name=”‘ + fieldId + ‘”], [name=”‘ + fieldId + ‘[]”]’);
if (!els.length) return ”;
var first = els[0];
if (first.type === ‘checkbox’ || first.type === ‘radio’) {
var checked = [];
els.forEach(function(el){ if (el.checked) checked.push(el.value); });
return checked.join(‘,’);
}
return first.value;
}

function evalRule(rule) {
var val = getFieldValue(rule.fieldId);
var cmp = rule.value;
switch (rule.operator) {
case ‘is': return val === cmp;
case ‘isnot': return val !== cmp;
case ‘greaterthan': return parseFloat(val) > parseFloat(cmp);
case ‘lessthan': return parseFloat(val) < parseFloat(cmp);
case 'contains': return val.indexOf(cmp) !== -1;
case 'startswith': return val.indexOf(cmp) === 0;
case 'endswith': return val.slice(-cmp.length) === cmp;
default: return false; // fail closed — mirror the CRM shared matcher
}
}

function applyConditionals() {
Object.keys(condMap).forEach(function(fieldId) {
var cond = condMap[fieldId];
var rules = cond.rules || [];
var match = cond.logicType === 'any'
? rules.some(evalRule)
: rules.every(evalRule);
var show = cond.actionType === 'show' ? match : !match;
var wrapper = form.querySelector('[data-field-id="' + fieldId + '"]');
if (!wrapper) {
var el = form.querySelector('[name="' + fieldId + '"], [name="' + fieldId + '[]"]');
if (el) wrapper = el.closest('.crm-field, .crm-half');
}
if (wrapper) wrapper.style.display = show ? '' : 'none';
});
}

form.addEventListener('change', applyConditionals);
form.addEventListener('input', applyConditionals);
applyConditionals();

// ── Multi-page navigation ────────────────────────────────────────────

// ── Submit ────────────────────────────────────────────────────────────
var submitBtn = form.querySelector('button[type=submit]');
var btnText = submitBtn ? submitBtn.textContent : 'Submit';

var crmApiUrl = "https://p118-crm-api.accent.sh";

function collectFormData() {
var data = {};
for (var j = 0; j < form.elements.length; j++) {
var el = form.elements[j];
if (!el.name) continue;
if (el.type === 'file') continue; // handled by uploadFiles()
if (el.type === 'radio' && !el.checked) continue;
if (el.type === 'checkbox') {
if (!el.checked) continue;
var k = el.name.replace('[]','');
data[k] = data[k] ? data[k].concat([el.value]) : [el.value];
} else {
data[el.name] = el.value;
}
}
// GF auto-substituted {user_agent} / {referer} on hidden fields
// at render time. We do the equivalent right before submit so
// fields whose default value carries these placeholders
// resolve to the browser's actual values rather than being
// stored as literal "{user_agent}" / "{referer}" strings.
// The last ARTICLE the visitor read (set client-side on post views by
// P118_Article_Views). Used to attribute the enquiry to the article
// even after navigating away or with a stripped/absent referer.
var lastPost = '';
try {
var lpm = document.cookie.match(/(?:^|;s*)p118_last_post=([^;]+)/);
if (lpm) lastPost = decodeURIComponent(lpm[1]);
} catch (e) {}
var subs = {
'{user_agent}': navigator.userAgent || '',
// Prefer the last article read; fall back to the (lossy) HTTP referer.
'{referer}': lastPost || document.referrer || '',
'{last_post}': lastPost || '',
'{embed_url}': window.location.href || '',
};
for (var name in data) {
if (!data.hasOwnProperty(name)) continue;
var v = data[name];
if (typeof v !== 'string') continue;
for (var tag in subs) {
if (v.indexOf(tag) !== -1) v = v.split(tag).join(subs[tag]);
}
data[name] = v;
}
return data;
}

function uploadFiles(data) {
var fileInputs = form.querySelectorAll('input[type=file][data-crm-file-field]');
var uploads = [];
fileInputs.forEach(function(el) {
if (!el.files || !el.files[0]) return;
var fd = new FormData();
fd.append('file', el.files[0]);
var fieldName = el.name;
uploads.push(
fetch(crmApiUrl + '/public/forms/' + "08ceeaae-4809-444e-ba0f-88da5836c463" + '/upload', { method: 'POST', body: fd })
.then(function(r) {
if (!r.ok) throw new Error('File upload failed (' + r.status + ')');
return r.json();
})
.then(function(res) {
if (res.path) data[fieldName] = res.path;
else throw new Error(res.error || 'File upload failed');
})
);
});
return Promise.all(uploads).then(function() { return data; });
}

function submitFormData(data) {
var body = new FormData();
body.append('action', 'p118_crm_submit');
body.append('form_id', "08ceeaae-4809-444e-ba0f-88da5836c463");
body.append('data', JSON.stringify(data));
// Embed-page context for GF-style merge tags ({embed_url},
// {embed_post:post_title}, {embed_post:ID}). Captured PHP-side
// at render time, then echoed to JS so the submit fetch can
// forward to V2 as request headers.
body.append('embed_url', "");
body.append('embed_post_id', "0");
body.append('embed_post_title', "");

return fetch("https://www.property118.com/wp-admin/admin-ajax.php", { method: 'POST', body: body, credentials: 'same-origin' })
.then(function(r){ return r.json(); })
.then(function(res){
var p = res.data || res;
if (p && p.success) {
if (p.confirmationType === 'redirect' && p.confirmationRedirectUrl) {
window.location.href = p.confirmationRedirectUrl;
} else {
form.style.display = 'none';
msg.className = 'crm-message success';
msg.innerHTML = p.confirmationMessage || 'Thank you for your submission.';
msg.style.display = 'block';
}
} else {
throw new Error((p && p.error) || 'Submission failed.');
}
});
}

form.addEventListener('submit', function(e){
e.preventDefault();
var data = collectFormData();
if (submitBtn) { submitBtn.disabled = true; submitBtn.textContent = 'Processing…'; }
msg.style.display = 'none';

// Standard form (no payment)
uploadFiles(data)
.then(function(d) { return submitFormData(d); })
.catch(function(err){
if (submitBtn) { submitBtn.disabled = false; submitBtn.textContent = btnText; }
msg.className = 'crm-message error';
msg.textContent = err.message;
msg.style.display = 'block';
});
});
})();

The post The ability to adapt is the ability to succeed: landlording the smarter way appeared first on Property118.

View Full Article: The ability to adapt is the ability to succeed: landlording the smarter way

Post comment

Categories

Archives

Calendar

June 2026
M T W T F S S
« May    
1234567
891011121314
15161718192021
22232425262728
2930  

Recent Posts

Quick Search

RSS More from Letting Links

Facebook Fan Page