Vehicle price details
| MSRP | $70,234 |
| Doc Fee | +$699 |
| VSA Levy | +$10 |
| JENNER PRICE* | $70,943 |
| +Tax & Lic | |
Payment Estimator
Reserve nowTrade In
Down
With options starting at: {{ usdFormat((useMsrp ? salePrice : priceValue) - (leaseRebateValue || 0)) }}
Your ePrice: {{ usdFormat((useMsrp ? salePrice : priceValue) - (leaseRebateValue || 0)) }}
Interest Rate: {{ interestRateLease }}% {{ '(' + effectiveRateLease }} Effective Rate).
Loan Term: {{ loanTermLease }} Months
Payment Frequency: {{ $t(frequency) }}
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function() { const baseAmountFee = 495; const msrpFee = totalMSRP + baseAmountFee; const sellingPriceFee = (useMsrp ? salePrice : priceValue) + baseAmountFee - (leaseRebateValue || 0); const adjustment = leaseAdjustment / 100; let residualValue = 0; const currentLease = lease.find(item => item.term === loanTermLease); if (currentLease && currentLease.metadata) { residualValue = JSON.parse(currentLease.metadata).residual.value / 100; } const residualPercent = adjustment + residualValue; const residual = msrpFee * residualPercent; const depreciation = (sellingPriceFee - downPayment - residual) / loanTermLease; const moneyFactor = interestRateLease / 2400; const financingFee = (sellingPriceFee + residual) * moneyFactor; let calculatedLease = financingFee + depreciation; if (frequency === 'weekly') { calculatedLease = (calculatedLease * 12) / 52; } else if (frequency === 'bi-weekly') { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })() }}/{{ $t(frequency) }}
The lease price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(useMsrp ? salePrice : priceValue) }}
Your ePrice: {{ usdFormat(useMsrp ? salePrice : priceValue) }}
Interest Rate: {{ interestRate }}% {{ '(' + effectiveRateFinance }} Effective Rate).
Loan Term: {{ loanTerm }} Months
Payment Frequency: {{ $t(frequency) }}
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function() { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment = interestRate > 0 ? (baseAmountFee * r * Math.pow(1 + r, n)) / (Math.pow(1 + r, n) - 1) : baseAmountFee / n; let frequencyMultiplier = 1; if (frequency === 'weekly') { frequencyMultiplier = 12 / 52; } else if (frequency === 'bi-weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; if (isTaxed) { payment *= provinceTax ? (1 + provinceTax / 100) : 1.13; } const taxFactor = isTaxed ? (provinceTax ? (1 + provinceTax / 100) : 1.13) : 1; const principal = remainingVehiclePrice - (parseInt(vehiclePrice) - parseInt(useMsrp ? salePrice : priceValue)) * taxFactor; let base = interestRate == 0 ? Math.round((principal / n) * 100) / 100 : Math.round(((principal * r) * Math.pow(1 + r, n)) / (Math.pow(1 + r, n) - 1) * 100) / 100; if (frequency === 'weekly') { base = (base * 12) / 52; } else if (frequency === 'bi-weekly') { base = (base * 12) / 26; } base = Math.round(base.toFixed(2)); return usdFormat(Math.round(base + payment)); })() }}/{{ $t(frequency) }}
The finance price is subject to change based on an approved credit offer.
Vehicle Information
Vehicle Overview
Experience refined capability and advanced technology in the 2027 Buick Enclave Sport Touring, featuring a turbocharged 2.5L 4-cylinder engine and sophisticated all-wheel drive.
This Moonstone Grey Metallic SUV combines power and precision with its 328 horsepower and 326 lb-ft of torque, paired with an 8-speed automatic transmission for smooth, responsive driving. The Enclave Sport Touring offers seating for seven with premium synthetic bucket seats, including heated front seats and adjustable lumbar support for both driver and passenger, ensuring comfort on every journey. Memory settings for the driver's seat and mirrors add convenience tailored to your preferences.
Safety is paramount with a comprehensive suite of features: automatic headlights and high beams, blind spot monitoring, cross-traffic alert, front and rear collision mitigation, lane departure warning, lane keeping assist, and driver monitoring. Additional aids like evasion assist, rear parking aid, and stability and traction control provide confidence in all conditions.
Enjoy modern amenities such as a panoramic sunroof, heads-up display, hands-free power liftgate, heated mirrors, and an aerial view display system. The Sport Touring trim also includes a premium sound system, Bluetooth connectivity, and multi-zone climate control for personalized comfort. Practical touches like all-weather floor liners and a tow hitch complete this versatile, sophisticated SUV designed for discerning drivers.
Standard Features
Similar Vehicles
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
Interest Rate: {{ interestRate }}%
Loan Term: {{ loanTerm }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
Total Cost of Credit: {{ usdFormat(costOfBorrowing) }}
Total Obligation: {{ usdFormat(obligation) }}
What You Pay: {{ (function(freq) { const r = interestRate / 1200; const n = loanTerm || 60; const baseAmountFee = 495; let payment; let isTaxed; // 1. Loan calculation let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); if (interestRate > 0) { let pow = 1; for (let i = 0; i < n; i++) pow *= (1 + r); payment = (baseAmountFee * r * pow) / (pow - 1); } else { payment = baseAmountFee / n; } // 2. Frequency (Now using the 'freq' parameter passed from Vue) let frequencyMultiplier = 1; if (freq === 'Weekly') { frequencyMultiplier = 12 / 52; } else if (freq === 'Bi-Weekly') { frequencyMultiplier = 12 / 26; } payment *= frequencyMultiplier; // 3. Tax if (isTaxed) { const taxRate = provinceTax ? (1 + provinceTax / 100) : 1.13; payment *= taxRate; } // 4. Total const total = financeTotal + payment; return usdFormat(Math.round(total)) })(lbxSettingFinanceFreq) }}/Bi-Weekly
The finance price is subject to change based on an approved credit offer.
With options starting at: {{ usdFormat(vehiclePriceLease) }}
Your ePrice: {{ usdFormat(vehiclePriceLease) }}
Interest Rate: {{ interestRateLease }}%
Loan Term: {{ loanTermLease }} Months
Payment Frequency: Bi-Weekly
Down Payment: {{ usdFormat(downPayment) }}
KM Allowance: {{ numberFormat(kilometersAllowance) }}km
Total Cost of Credit: {{ usdFormat(costOfBorrowingLease) }}
Total Obligation: {{ usdFormat(obligationLease) }}
What You Pay: {{ (function(freq, currentMileage) { const baseAmountFee = 495; const msrpFee = msrpData + baseAmountFee; const sellingPriceFee = vehiclesPrice + baseAmountFee + -(leaseRebate || 0); const targetMileage = Number(currentMileage); let adjustmentValue = 0; const parsedMetadata = JSON.parse(leaseData.metadata); const matchedAdjustment = parsedMetadata.adjustments.find( item => item.mileage === targetMileage ); if (matchedAdjustment) { adjustmentValue = matchedAdjustment.adjustment / 100; } else { // Fallback if exact match isn't found adjustmentValue = parsedMetadata.adjustments[0].adjustment / 100; } // Fetch and parse the residual percent from the JSON let residualValue = 0; if (parsedMetadata.residual && parsedMetadata.residual.value !== undefined) { residualValue = parsedMetadata.residual.value / 100; } const residualPercent = adjustmentValue + residualValue; // 1. Residual const residual = msrpFee * residualPercent; // 2. Depreciation let depreciation = (sellingPriceFee + Number(-downPayment) + -residual) / loanTermLease; // 3. Money Factor const moneyFactor = interestRateLease / 2400; // 4. Financing Fee const financingFee = (sellingPriceFee + residual) * moneyFactor; // 5. Monthly Lease (Renamed to prevent conflict with the JSON 'lease' array) let calculatedLease = financingFee + depreciation; if (/^weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 52; } else if (/^bi-weekly$/i.test(freq)) { calculatedLease = (calculatedLease * 12) / 26; } return usdFormat(Math.round(calculatedLease)); })(lbxSettingFinanceFreq, kilometersAllowance) }}/Bi-Weekly
The lease price is subject to change based on an approved credit offer. Please click View Payment Calculator below for payment estimates.
DISCLAIMER