Vehicle price details
| MSRP | $49,684 |
| Jenner Bolt EV Discount | -$1,000 |
| Doc Fee | +$699 |
| VSA Levy | +$10 |
| JENNER PRICE* | $49,393 |
| +Tax & Lic | |
| Cash Discounts | |
| Non-Stackable Cash Delivery Allowance (NSCDA) - CBG | -$5,500 |
| NSCDA - EV Federal Incentive - National | -$4,464 |
| Cash Price | $39,429 |
| +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 the 2027 Chevrolet Bolt RS in Sterling Grey Metallic, a sleek electric SUV designed for modern urban driving with advanced safety and technology features.
This all-electric, front-wheel-drive Bolt RS combines efficiency with style, boasting a powerful electric motor paired with a 1-speed automatic transmission for smooth acceleration. The exterior is highlighted by aluminum wheels and a panoramic sun/moonroof that fills the cabin with natural light. Inside, premium synthetic bucket seats with red accents provide both heated and cooled front seating for year-round comfort, while the power driver seat and pass-through rear bench enhance convenience and versatility for five passengers.
Safety is paramount with a comprehensive suite including Blind Spot Monitor, Front and Rear Collision Mitigation, Lane Departure Warning, Lane Keeping Assist, and Adaptive Cruise Control. The TECHNOLOGY PACKAGE adds a Rear Camera Mirror, HD Surround Vision, Rear Pedestrian Alert, Traffic Sign Recognition, wireless charging, and Rainsense front wipers for enhanced awareness and ease of use.
Additional features include keyless entry and start, remote engine start, heated mirrors, heated steering wheel, and rear parking aid. The LPO Level 2 and Fast Charging Adapter Package ensures you’re ready for efficient charging with GM J1772 AC and CCS1 DC adapters included. The Bolt RS is a smart, stylish choice for drivers seeking an eco-friendly, tech-forward SUV.
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