DealerFinance: wireframe as built

The FinStack journey as it ran in the 13 Oct evening screen recording. One linear journey used by the customer or a dealer executive. Kia only. Lenders: sbi, hdfc, bajaj, chola. Name, phone, PAN, Aadhaar and vehicle number are masked. Header on every step: FinStack logo, "Customer_Flow", a language drop-down (English / Kannada) and a log-out icon. Each step ends with Previous and Continue buttons.

Fills itself (formula or API)Typed by the customer or executiveAppears only on a conditionOutside FinStack (DigiLocker)

The journey

1 Enquiryname, mobile, OTP
→
DigiLockerAadhaar OTP, PAN details
→
2 Verificationincome, car, exchange
→
3 Customer_Inputsprice, tax, loan
→
4 Routing-1score, LTV, pick lender
→
5 Routing-2lender status
→
6 Settlementtrade advance, commission
Step 5 status rejected sends the case back to Step 4 to pick another lender. approved asks for the approved amount and goes on to Step 6.
Every form shows a status chip: Incomplete (amber) until you submit, then Verified (green). The button then reads Update form, and Continue turns on.

Step 1: Enquiry

Enquiry (ವಿಚಾರಣೆ)

Two stages on the same screen. The email field is gone
S. S. M. (masked)
94xxxxxx99
☑ I agree to the terms and conditions *
Send code →
Code sent to 94xxxxxx99. Didn't get the code? Resend in a few seconds.
Verify and continue →
Rule: mobile must match ^[6-9]\d{9}$. The OTP goes to the customer's own phone, so consent is now confirmed on the customer's side. This closes the open OTP question.

DigiLocker (outside FinStack)

DigiLocker, powered by Decentro

Opens after Verify and continue. The customer does this on their own phone or screen
xxxx xxxx xxxx (masked)
6-digit code
Next Submit
Then "Redirecting back to Requester" with a Continue button, which returns to Step 2. DigiLocker gives back the PAN holder's name, PAN number and date of birth. These feed the name match, PAN match and age checks.

Step 2: Verification

varifcation (ಪರಿಶೀಲನೆ) Incomplete

Customer name shows under the step title. Display name is still misspelled
BCTxxxxx4F (already filled)
Salaried × ▾
2,50,000
40,000
5,00,000
[ Yes | No ]
Kia model list ▾ (e.g. Syros EV HTX ER 51.4 kWh)
[ Yes | No ]
KA28Nxxxx (masked)
Submit form
Changed: PAN comes in already filled. Vehicle Number is back, but shows only when exchange is Yes. The Car Model list now includes the EV variants. The button stays grey until required fields are filled, then reads Update form.

Step 3: Customer_Inputs

Customer_Inputs (ಗ್ರಾಹಕ_ಇನ್‌ಪುಟ್‌ಗಳು) Incomplete

All seven fields fill themselves, including Exchange Value
17,99,900
1,63,831
71,996
17,999
20,35,727
15,17,728.0
3,13,000
Submit form
Rules: insurance = 4% of ex-showroom. TCS = 1% when ex-showroom is above Rs 10 lakh. On-road leaves out TCS. Exchange value now fills itself from the vehicle valuation rule. The loan formula is on-road - TCS - down payment - exchange value.

Step 4: Routing-1

Routing-1 (ರೂಟಿಂಗ್-1) Incomplete

Customer name shows in the header. Credit Health is no longer on this screen
15,17,728
793
84
bajaj × ▾
Submit form
Rules: LTV = loan / ex-showroom (15,17,728 / 17,99,900 = 84). The credit score comes from the bureau. The lender list now shows small letters. To fix: leave out the lender that just rejected.

Step 5: Routing-2

Routing-2 (ರೂಟಿಂಗ್-2) Incomplete

What the lender sees, plus the lender's answer
S. S. M. (masked)
syros_ev_htx_er_51_4_kwh
15,17,728
25,20,000
84.3
793
bajaj
rejected / approved ▾
15,00,000
Submit form
Rule: rejected goes back to Step 4. approved shows the Approved Finance Amount field, then Step 6 uses that amount. Seen in the recording: submitting "rejected" gave the error "Missing key 'approved_finance_amount' in request payload". Approved worked and showed Verified.

Step 6: Settlement

Settlement (ನಿರ್ವಹಣೆ) Verified

Last step
S. S. M. (masked)
17,728
bajaj
75,00,000
20,00,000
15,00,000
40,00,000
37,500
Update form
Rules: additional down payment = loan asked - approved amount (15,17,728 - 15,00,000 = 17,728). Balance = limit - used - this case (75,00,000 - 20,00,000 - 15,00,000 = 40,00,000). Commission = bajaj 2.5% of 15,00,000 = 37,500. Other lenders: sbi 1.4%, hdfc 1.8%, chola 3%. "Used so far" is a fixed demo value because there is no database.

To check from the recording

Five things I noticed:
  1. Loan ignores the exchange value. Step 3 shows exchange value 3,13,000, but the loan is 15,17,728. That equals on-road - TCS - down payment (20,35,727 - 17,999 - 5,00,000) with no exchange taken off. With it taken off the loan would be 12,04,728. The loan may have been worked out before the exchange value filled in.
  2. Rejected gives an error. "Missing key 'approved_finance_amount'". The field only exists on the approved path. Give it a default of 0 so a rejection can go through.
  3. Income p.a is net of EMI. 25,20,000 = (2,50,000 - 40,000) x 12. A plain yearly income would be 30,00,000. Rename the label if that is intended.
  4. Credit Health is missing from Steps 4 and 5. It is still worked out, but the executive can't see it.
  5. Vehicle on Step 5 still shows the raw key, not the car's readable name.

What changed from the 11 Oct wireframe

11 Oct designAs built (13 Oct evening)
8 steps; separate dealer and customer screens6 linear steps plus a DigiLocker stage, one journey for customer or executive
OTP consent on enquiryBuilt: Send code, then a 6-digit code to the customer's phone
DigiLocker KYC on the customer's phoneBuilt: Aadhaar OTP through DigiLocker (Decentro), then back to Step 2
PAN typed inPAN arrives already filled; name, PAN and date of birth checks use DigiLocker data
Match shown as likely / possible / not a fit with ratesScore, LTV and a lender pick on Step 4; the fit rating runs behind the scenes (no rates shown)
Reroute and Next buttonsOne Submit form, then Update form; the status field decides the route
Commission ledger as a back-office screenTrade advance and commission as the last step
Any carKia only (petrol, diesel and EV variants)
Bank statement, case tracker, all-leadsNot built
Back office: review queue, lender portal, commission ledger, dealer settings, principal dashboardNot built. FinStack's own listing page stands in for "My cases"

Waiting on FinStack setup

Sending the case to the financier (the status is still picked by hand), the "My cases" listing page, and the live bureau and asset connections for other cases.