Used 2018 Audi Q3 AWD
Progressiv
Vehicle Information
Vehicle Overview
Experience refined driving with the 2018 Audi Q3 Progressiv in sleek Cortina White, combining sporty style and advanced features tailored for the discerning driver.
This compact luxury SUV is powered by a turbocharged 4-cylinder engine paired with a 6-speed Tiptronic automatic transmission, delivering responsive performance and smooth shifts. The all-wheel-drive system with brake-actuated limited slip differential enhances traction and stability, perfect for Canadian roads year-round. The exterior boasts HID headlights with auto-leveling, fog lamps, heated mirrors, and a panoramic sun/moonroof that floods the cabin with natural light. Aluminum wheels and performance tires front and rear add to its dynamic stance, while a rear spoiler completes the sporty look.
Inside, the black leather interior offers heated front bucket seats with power adjustments and lumbar support for both driver and passenger, ensuring comfort on every journey. The rear bench seat includes a pass-through for added versatility. Convenience features include keyless entry and start, a power liftgate, and an auto-dimming rearview mirror. Safety is comprehensive with multiple airbags, stability and traction control, brake assist, and rear parking aid complemented by a back-up camera. Additional touches like a leather steering wheel with audio controls, multi-zone climate control, and satellite radio subscription capability make every drive enjoyable and connected.
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