Best Lease Car Deals Available? (Vol 4)

Best Lease Car Deals Available? (Vol 4)

TOPIC CLOSED
TOPIC CLOSED
Author
Discussion

JQ

5,743 posts

179 months

Wednesday 20th September 2017
quotequote all
Alfa Romeo Guilia Veloce 280 - cheers for the heads-up on the deal. I have a test drive booked in for Saturday afternoon, will have to see how it compares with my current Golf R, which goes back next year. It does look a cracking car for the money.

Zoon

6,701 posts

121 months

Wednesday 20th September 2017
quotequote all
ilikejam said:
markhaines said:
Hello, I've updated the contracthireandleasing.com greasemonkey script by Rory McCrossan that automatically sorts & displays results by total cost and shows monthly amortised cost.
I'm looking for a new lease at the moment and it's been invaluable. I can't take any credit for it other than adding the url match & slightly updated code that other users noted a while ago in this thread. All merged into one handy update here:


// ==UserScript==
// @name Contract Hire and Leasing Calculator
// @namespace http://rorymccrossan.co.uk
// @version 1.1
// @description Adds helpful information to each deal
// @author Rory McCrossan
// @match https://www.contracthireandleasing.com/personal/ca...
// @match https://www.contracthireandleasing.com/business/ca...
// @grant none
// ==/UserScript==

$('<style />', {
text: '.overall-cost { text-align: right; padding: 0; position: absolute; top: 0; left: 0; right: 0; background-color: #DDD; }' +
'.deal .title-wrap { padding: 0 0 0 10px; }' +
'.all-price-wrap { padding: 0 10px 10px 0 }' +
'ul.amortised li { list-style: inherit; display: inline-block; position: relative; padding-left: 15px; text-align: left; margin: 0 5px 0 15px; }' +
'ul.amortised li:before { position: absolute; left: 0; content: "\u25b6"; }' +
'.manufacturer-banner, #ootwWindow, .right-panel, .leaderboard-wrap, .deal-panel h2, .crosslinks, .inline-srb-wrap, footer { display: none; }' +
'.content { margin-top: 0; padding: 5px 3%; }' +
'#btnClose { top: 33px; right: 0; border-left: 5px solid #FFF }' +
'.deal-panel .listing-text { width: 50%; float: left; padding: 7px 0; }' +
'.pagination.posts { width: 50%; clear: none; padding: 0 0 10px; margin: 0;}' +
'.search-button-wrap { width: 25%; float: right; position: relative; padding: 0 }' +
'.keywords-wrap { width: 75%; float: left; margin: 0 }' +
'.adv-options { padding: 0 }' +
'#alldeals .deal { color: #333; background-color: transparent; border: 1px solid #DDD; padding-top: 30px; }' +
'#alldeals .deal:first-child { color: #080; background-color: #ecffef; border-color: #88E886; }' +
'#alldeals .deal:first-child .deal-table { background-color: transparent }' +
'#alldeals .deal:first-child ul.amortised li { font-weight: bold; }' +
'#alldeals .deal:first-child .overall-cost { background-color: #88E886; }'
}).appendTo('head');

$('.pagination.posts').clone(true).insertAfter('.listing-text');
$('.search-button-wrap').appendTo('.adv-hold');
$('<div class="deal-container"></div>').appendTo('#alldeals');

$('#alldeals .deal').each(function(i) {
var $deal = $(this);

// price calc
var monthlyPrice = $deal.find('.deal-price').text().replace('£', '').replace(',', '');
var initialPayment = parseFloat($deal.find('.deal-user').text().replace('£', '').replace(',', ''));
var profileText = $deal.find('.personal-deal-profile').text();

var monthRegex = /(\d+)\+(\d+)/gi;
var monthMatches = monthRegex.exec(profileText);

if (isNaN(initialPayment)) {
initialPayment = monthMatches[1] * monthlyPrice;
}

var months = parseInt(monthMatches[2]);
var years = (months + 1) / 12;

var totalCost = ((monthlyPrice * months) + initialPayment).toFixed(2);
var yearlyCost = (totalCost / years).toFixed(2);
var $costDiv = $('<div class="overall-cost" />');

var $amortisedData = $('<ul class="amortised" />').appendTo($costDiv);
$('<li />', {
text: '£' + groupNumber((yearlyCost / 12).toFixed(2)) + ' / mo',
class: 'monthly'
}).prependTo($amortisedData);
$('<li />', {
text: '£' + groupNumber(yearlyCost) + ' / yr',
class: 'yearly'
}).prependTo($amortisedData);
$('<li />', {
text: '£' + groupNumber(totalCost) + ' total',
class: 'total'
}).prependTo($amortisedData);

$deal.data('yearly-cost', yearlyCost).prepend($costDiv);
}).sort(function(a, b) {
return $(a).data('yearly-cost') - $(b).data('yearly-cost');
}).appendTo('.deal-container');

function toFloat(input) {
return parseFloat(input.replace(/[^0-9\.]+/g,""));
}

function groupNumber(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}


Just install Greasemonkey (called TamperMonkey if using Chrome) paste the above into a new filter and you're all set. Should display useful extra info like this:

Is this script still working for you? Giving me errors...
Errors Lines 33-36 for me.

ilikejam

1,089 posts

116 months

Wednesday 20th September 2017
quotequote all
Zoon said:
Errors Lines 33-36 for me.
Same here - fixed what I thought was the error but it just shifts the error to the next block of code

anonymous-user

54 months

Wednesday 20th September 2017
quotequote all
chris4555 said:
stevoknevo said:
I've been keeping an eye on the Leon prices and not seen any diesel near that price. Best deal I've seen was an in stock 1.4tfsi FR edition for 3 x 23 10k £192 & £180 fees, but it was in stock. Have seen the 1.2tsfi up for as low as 3 x 23 10k for £152pm
thanks for this. I have ordered the 1.6DSG leon, coming from the factory 12 week wait
I've just ordered the FR (the weedy 125 version) for £198 / month on a 3+23, no fees, 15K miles, from Total. Delivery January (ish, hopefully).

greysquirrel

332 posts

169 months

Wednesday 20th September 2017
quotequote all
Has anyone seen a good deal on high mileage plans? circa 20-25k a year, or does leasing not really work for this kind of mileage?

muffinmenace

1,033 posts

188 months

Wednesday 20th September 2017
quotequote all
ilikejam said:
Same here - fixed what I thought was the error but it just shifts the error to the next block of code
Zoon said:
Errors Lines 33-36 for me.
Try removing all the code you have and using the one below; there was a fix posted a while ago by someone in this thread which is in the code somewhere but i can't recall specifically where. But it works for me.


// ==UserScript==
// @name Contract Hire and Leasing Calculator
// @namespace http://rorymccrossan.co.uk
// @version 1.0
// @description Adds helpful information to each deal
// @author Rory McCrossan
// @match *://www.contracthireandleasing.com/personal/*
// @match *://www.contracthireandleasing.com/business/*
// @grant none
// ==/UserScript==

$('<style />', {
text: '.overall-cost { text-align: right; padding: 0; position: absolute; top: 0; left: 0; right: 0; background-color: #DDD; }' +
'.deal .title-wrap { padding: 0 0 0 10px; }' +
'.all-price-wrap { padding: 0 10px 10px 0 }' +
'ul.amortised li { list-style: inherit; display: inline-block; position: relative; padding-left: 15px; text-align: left; margin: 0 5px 0 15px; }' +
'ul.amortised li:before { position: absolute; left: 0; content: "\u25b6"; }' +
'.manufacturer-banner, #ootwWindow, .right-panel, .leaderboard-wrap, .deal-panel h2, .crosslinks, .inline-srb-wrap, footer { display: none; }' +
'.content { margin-top: 0; padding: 5px 3%; }' +
'#btnClose { top: 33px; right: 0; border-left: 5px solid #FFF }' +
'.deal-panel .listing-text { width: 50%; float: left; padding: 7px 0; }' +
'.pagination.posts { width: 50%; clear: none; padding: 0 0 10px; margin: 0;}' +
'.search-button-wrap { width: 25%; float: right; position: relative; padding: 0 }' +
'.keywords-wrap { width: 75%; float: left; margin: 0 }' +
'.adv-options { padding: 0 }' +
'#alldeals .deal { color: #333; background-color: transparent; border: 1px solid #DDD; padding-top: 30px; }' +
'#alldeals .deal:first-child { color: #080; background-color: #ecffef; border-color: #88E886; }' +
'#alldeals .deal:first-child .deal-table { background-color: transparent }' +
'#alldeals .deal:first-child ul.amortised li { font-weight: bold; }' +
'#alldeals .deal:first-child .overall-cost { background-color: #88E886; }'
}).appendTo('head');

$('.pagination.posts').clone(true).insertAfter('.listing-text');
$('.search-button-wrap').appendTo('.adv-hold');
$('<div class="deal-container"></div>').appendTo('#alldeals');

$('#alldeals .deal').each(function(i) {
var $deal = $(this);

// price calc
var monthlyPrice = $deal.find('.deal-price').text().replace('£', '').replace(',', '');
var initialPayment = parseFloat($deal.find('.deal-user').text().replace('£', '').replace(',', ''));
var profileText = $deal.find('.personal-deal-profile, .business-deal-profile').text();

var monthRegex = /(\d+)\+(\d+)/gi;
var monthMatches = monthRegex.exec(profileText);

if (isNaN(initialPayment)) {
initialPayment = monthMatches[1] * monthlyPrice;
}

var months = parseInt(monthMatches[2]);
var years = (months + 1) / 12;

var totalCost = ((monthlyPrice * months) + initialPayment).toFixed(2);
var yearlyCost = (totalCost / years).toFixed(2);
var $costDiv = $('<div class="overall-cost" />');

var $amortisedData = $('<ul class="amortised" />').appendTo($costDiv);
$('<li />', {
text: '£' + groupNumber((yearlyCost / 12).toFixed(2)) + ' / mo',
class: 'monthly'
}).prependTo($amortisedData);
$('<li />', {
text: '£' + groupNumber(yearlyCost) + ' / yr',
class: 'yearly'
}).prependTo($amortisedData);
$('<li />', {
text: '£' + groupNumber(totalCost) + ' total',
class: 'total'
}).prependTo($amortisedData);

$deal.data('yearly-cost', yearlyCost).prepend($costDiv);
}).sort(function(a, b) {
return $(a).data('yearly-cost') - $(b).data('yearly-cost');
}).appendTo('.deal-container');

function toFloat(input) {
return parseFloat(input.replace(/[^0-9\.]+/g,""));
}

function groupNumber(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

ilikejam

1,089 posts

116 months

Wednesday 20th September 2017
quotequote all
muffinmenace said:
Try removing all the code you have and using the one below; there was a fix posted a while ago by someone in this thread which is in the code somewhere but i can't recall specifically where. But it works for me.


// ==UserScript==
// @name Contract Hire and Leasing Calculator
// @namespace http://rorymccrossan.co.uk
// @version 1.0
// @description Adds helpful information to each deal
// @author Rory McCrossan
// @match *://www.contracthireandleasing.com/personal/*
// @match *://www.contracthireandleasing.com/business/*
// @grant none
// ==/UserScript==

$('<style />', {
text: '.overall-cost { text-align: right; padding: 0; position: absolute; top: 0; left: 0; right: 0; background-color: #DDD; }' +
'.deal .title-wrap { padding: 0 0 0 10px; }' +
'.all-price-wrap { padding: 0 10px 10px 0 }' +
'ul.amortised li { list-style: inherit; display: inline-block; position: relative; padding-left: 15px; text-align: left; margin: 0 5px 0 15px; }' +
'ul.amortised li:before { position: absolute; left: 0; content: "\u25b6"; }' +
'.manufacturer-banner, #ootwWindow, .right-panel, .leaderboard-wrap, .deal-panel h2, .crosslinks, .inline-srb-wrap, footer { display: none; }' +
'.content { margin-top: 0; padding: 5px 3%; }' +
'#btnClose { top: 33px; right: 0; border-left: 5px solid #FFF }' +
'.deal-panel .listing-text { width: 50%; float: left; padding: 7px 0; }' +
'.pagination.posts { width: 50%; clear: none; padding: 0 0 10px; margin: 0;}' +
'.search-button-wrap { width: 25%; float: right; position: relative; padding: 0 }' +
'.keywords-wrap { width: 75%; float: left; margin: 0 }' +
'.adv-options { padding: 0 }' +
'#alldeals .deal { color: #333; background-color: transparent; border: 1px solid #DDD; padding-top: 30px; }' +
'#alldeals .deal:first-child { color: #080; background-color: #ecffef; border-color: #88E886; }' +
'#alldeals .deal:first-child .deal-table { background-color: transparent }' +
'#alldeals .deal:first-child ul.amortised li { font-weight: bold; }' +
'#alldeals .deal:first-child .overall-cost { background-color: #88E886; }'
}).appendTo('head');

$('.pagination.posts').clone(true).insertAfter('.listing-text');
$('.search-button-wrap').appendTo('.adv-hold');
$('<div class="deal-container"></div>').appendTo('#alldeals');

$('#alldeals .deal').each(function(i) {
var $deal = $(this);

// price calc
var monthlyPrice = $deal.find('.deal-price').text().replace('£', '').replace(',', '');
var initialPayment = parseFloat($deal.find('.deal-user').text().replace('£', '').replace(',', ''));
var profileText = $deal.find('.personal-deal-profile, .business-deal-profile').text();

var monthRegex = /(\d+)\+(\d+)/gi;
var monthMatches = monthRegex.exec(profileText);

if (isNaN(initialPayment)) {
initialPayment = monthMatches[1] * monthlyPrice;
}

var months = parseInt(monthMatches[2]);
var years = (months + 1) / 12;

var totalCost = ((monthlyPrice * months) + initialPayment).toFixed(2);
var yearlyCost = (totalCost / years).toFixed(2);
var $costDiv = $('<div class="overall-cost" />');

var $amortisedData = $('<ul class="amortised" />').appendTo($costDiv);
$('<li />', {
text: '£' + groupNumber((yearlyCost / 12).toFixed(2)) + ' / mo',
class: 'monthly'
}).prependTo($amortisedData);
$('<li />', {
text: '£' + groupNumber(yearlyCost) + ' / yr',
class: 'yearly'
}).prependTo($amortisedData);
$('<li />', {
text: '£' + groupNumber(totalCost) + ' total',
class: 'total'
}).prependTo($amortisedData);

$deal.data('yearly-cost', yearlyCost).prepend($costDiv);
}).sort(function(a, b) {
return $(a).data('yearly-cost') - $(b).data('yearly-cost');
}).appendTo('.deal-container');

function toFloat(input) {
return parseFloat(input.replace(/[^0-9\.]+/g,""));
}

function groupNumber(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
That looks like the one I was trying to use but was giving me an error

There seems to be a missing bracket/semi-colon at the end of this line:

$('.pagination.posts').clone(true).insertAfter('.listing-text


Adding them in just shifted the error further down the code


lada-di-da

12 posts

97 months

Wednesday 20th September 2017
quotequote all


For people looking for C class coupe deals, I just got the following for some stock vehicles. Too early for me as I don't need something until Q2 2018.

David

PenelopaPitstop

2,164 posts

133 months

Wednesday 20th September 2017
quotequote all
Regarding script, working one is mentioned on page 229, post by Silentbrown at the bottom.

http://linshoppppppp.biz/gassing/topic.asp?h=0&amp...

There's a link to github to download script - https://gist.github.com/ianhampton/3a1760df294bec2...

JQ

5,743 posts

179 months

Wednesday 20th September 2017
quotequote all
lada-di-da said:


For people looking for C class coupe deals, I just got the following for some stock vehicles. Too early for me as I don't need something until Q2 2018.

David
Where are they from? The E220 Estate AMG Line Auto at £230pcm (9+23) for 10,000 miles looks pretty good value.

Skaif

83 posts

104 months

Wednesday 20th September 2017
quotequote all
JQ said:
Where are they from? The E220 Estate AMG Line Auto at £230pcm (9+23) for 10,000 miles looks pretty good value.
Got the same email from Central UK Vehicle Leasing

markhaines

100 posts

106 months

Wednesday 20th September 2017
quotequote all
ilikejam said:
Same here - fixed what I thought was the error but it just shifts the error to the next block of code
Someone put a copy of it up on github or pastebin a few pages back which works better - I think the formatting can get messed up when put into the forum.

But yes, the script itself still works.

EDIT: Ah, see someone beat me to it above!


lada-di-da

12 posts

97 months

Wednesday 20th September 2017
quotequote all
Skaif said:
JQ said:
Where are they from? The E220 Estate AMG Line Auto at £230pcm (9+23) for 10,000 miles looks pretty good value.
Got the same email from Central UK Vehicle Leasing
Sorry that would have been helpful for me to mention! Yes was Central UK Vehicle Leasing.

MrF193

138 posts

92 months

Wednesday 20th September 2017
quotequote all
Fast Bug should be able to do all those deals without any broker fees as they're MBFS deals

Some certainly better (E class) than others though on that list

Mo28

907 posts

100 months

Wednesday 20th September 2017
quotequote all
JQ said:
lada-di-da said:


For people looking for C class coupe deals, I just got the following for some stock vehicles. Too early for me as I don't need something until Q2 2018.

David
Where are they from? The E220 Estate AMG Line Auto at £230pcm (9+23) for 10,000 miles looks pretty good value.
That price is excluding VAT

Mo28

907 posts

100 months

JQ

5,743 posts

179 months

Wednesday 20th September 2017
quotequote all
Mo28 said:
That price is excluding VAT
Doh !!

JQ

5,743 posts

179 months

Wednesday 20th September 2017
quotequote all
JQ said:
Mo28 said:
That price is excluding VAT
Doh !!

Although, in my defence what a stupid way of listing prices - having separate lists for PCH and BCH but listing exactly the same price in both, as they both exclude VAT.

RSTurboPaul

10,371 posts

258 months

Wednesday 20th September 2017
quotequote all
muffinmenace said:
Octavia Estate 1.4TSi SE Technology (150bhp)

£148.54 Per Month, INC VAT
Rental Profile 3+23
Annual Mileage 8k Miles p/a
Initial Rental £445.62
Additional Fees £298.80
Total £4160.84
£173.37/month amortised


Octavia Hatchback 1.0 TSI SE Technology 5dr (115bhp)

£139.20 Per Month, INC VAT
Rental Profile 3+23
Annual Mileage 8k Miles p/a
Initial Rental £417.60
Additional Fees £298.80
Total £3918.00
£163.25/month amortised


Goes up only a bit for more miles:

Octavia Estate 1.4TSi SE Technology (150bhp)

£167.22 Per Month, INC VAT
Rental Profile 3+23
Annual Mileage 10k Miles p/a
Initial Rental £501.66
Additional Fees £298.80
Total £4646.52
£193.61/month amortised


Octavia Hatchback 1.0 TSI SE Technology 5dr (115bhp)

£143.64 Per Month, INC VAT
Rental Profile 3+23
Annual Mileage 10k Miles p/a
Initial Rental £430.92
Additional Fees £298.80
Total £4033.44
£168.06/month amortised


but somewhat more for a shorter period!

Octavia Estate 1.4TSi SE Technology (150bhp)

£443.02 Per Month, INC VAT
Rental Profile 3+17
Annual Mileage 10k Miles p/a
Initial Rental £1,329.06
Additional Fees £298.80
Total £9159.20
£508.85/month amortised (!!)

Edited by RSTurboPaul on Wednesday 20th September 15:21

TOPIC CLOSED
TOPIC CLOSED