Used 2023 GMC Sierra 1500 4x4
Denali
Vehicle price details
| PRICE | $58,995 |
| Doc Fee | +$699 |
| VSA Levy | +$10 |
| JENNER PRICE* | $59,704 |
| +Tax & Lic | |
Payment Estimator
Reserve nowTrade In
Down
With options starting at: {{ usdFormat(vehiclePrice) }}
Your ePrice: {{ usdFormat(vehiclePrice) }}
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: {{ usdFormat(calculatedValue) }}/{{ $t(frequency) }}
The finance price is subject to change based on an approved credit offer.
Vehicle Information
Vehicle Overview
Experience commanding capability and refined comfort with the 2023 GMC Sierra 1500 Denali Crew Cab Diesel 4x4, designed for those who demand power and luxury in every drive.
This robust truck features a turbocharged straight 6-cylinder diesel engine paired with a 10-speed automatic transmission with electronic precision shift, delivering impressive performance and efficiency. The 4-wheel drive system, combined with a locking limited-slip differential, ensures confident handling on all terrains. Tow hooks and a tow hitch enhance its utility for heavy-duty tasks.
Step inside the spacious crew cab with seating for five, including heated and cooled front bucket seats with power adjustments and lumbar support for both driver and passenger. Seat memory and mirror memory add convenience, while the rear bench seat offers a pass-through for added versatility. The heated rear seats provide comfort for all passengers.
Safety is paramount with features such as automatic high beams, blind spot monitoring, cross-traffic alert, front collision mitigation and warning, lane departure warning, lane keeping assist, and a comprehensive airbag system. Stability and traction control, along with 4-wheel disc brakes and tire pressure monitoring, further enhance security.
Exterior amenities include LED headlights, fog lamps, running boards, integrated tailgate step, and heated, power-folding mirrors. The advanced aerial view display system, back-up camera, rear parking aid, and remote engine start combine technology with practicality, making every journey safer and more enjoyable.
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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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 + -cashRebate + 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; calculatedLease = (calculatedLease * 12) / 52; 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