/* eslint-disable */ /* © 2026 K2B NETWORK SOLUTIONS LLC. All rights reserved. Proprietary and confidential. Unauthorized copying, distribution, or use of this file, via any medium, is strictly prohibited. Original work product. */ // K2B Network Solutions — Missouri Title Application (TITLE-MO). // Faithful recreation of Missouri DOR Form 108 — Application for Missouri // Title and License. Used by Title Clerks after a deal is funded. const mo$ = (n) => "$" + (n || 0).toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 }); // Tiny field atoms styled like a paper DOR form const MOFBox = ({ label, value, set, w = "100%", hot, mono = true, num }) => ( ); const MOCheckBox = ({ label, on, set, inline }) => ( ); // ── Active-deal context for title work ───────────────────────────── // Desking keeps the shared Buyer's Order draft updated (dealType, lender and // the auto-selected titling entity). GMF rule: // LEASE → vehicle is TITLED TO the lessor, ACAR Leasing Ltd. d/b/a // GM Financial Leasing — the customer (lessee) is the registrant. // FINANCE → the customer is the owner; AmeriCredit Financial Services, Inc. // d/b/a GM Financial is recorded as lienholder. // Blank-safe: with no deal on file the demo defaults below stand, and every // field stays hand-editable either way. const moDealCtx = () => { let bo = {}; try { bo = (window.loadJbForm && window.loadJbForm("buyersOrder")) || {}; } catch (e) { bo = {}; } const isLease = /lease/i.test(String(bo.dealType || "")); let ent = (bo.lienholder && bo.lienholder.name) ? bo.lienholder : null; if (!ent) { try { ent = (window.jbLenders && window.jbLenders.lienholderFor) ? window.jbLenders.lienholderFor(bo.lender || "", isLease ? "Lease" : "Retail") : null; } catch (e) { ent = null; } } // The linked DMS deal (when the desk / F&I linked one) — vehicle, VIN and // figures come from it first, then the Buyer's Order draft, else BLANK. let deal = null; try { const id = localStorage.getItem("jb_fw_deal") || (window.jbDeskDeal && window.jbDeskDeal.id) || null; deal = (id && window.DMS && window.DMS.deals) ? (window.DMS.deals().find(x => x.id === id) || null) : null; } catch (e) { deal = null; } let unit = null; try { unit = (deal && deal.stock && window.DMS && window.DMS._unit) ? window.DMS._unit(deal.stock) : null; } catch (e) { unit = null; } return { bo, deal, unit, isLease, ent, hasDeal: !!(bo.dealType || bo.lastName || bo.vin || deal) }; }; const moUp = (s) => String(s || "").toUpperCase(); const moNum = (v) => { const n = parseFloat(String(v ?? "").replace(/[^0-9.\-]/g, "")); return isNaN(n) ? 0 : n; }; // "2026 CHEV TRAVERSE LT AWD" → { year, make, model } const moSplitYmm = (s) => { const p = String(s || "").trim().split(/\s+/).filter(Boolean); if (!p.length) return { year: "", make: "", model: "" }; const year = /^\d{4}$/.test(p[0]) ? p.shift() : ""; const make = p.shift() || ""; return { year, make, model: p.join(" ") }; }; const TitleAppMO = ({ onClose, go }) => { // Active deal (lease/finance + titling entity) — captured once on open. const [D] = React.useState(moDealCtx); const BO = D.bo; const DL = D.deal || {}, U = D.unit || {}; const ymm = moSplitYmm(BO.yrMkMdl || DL.vehicle || (U.yr ? `${U.yr} ${U.mk} ${U.mdl}` : "")); // VIN / vehicle — from the deal context only; BLANK when absent (B-05). // No hard-coded VIN / vehicle / prices / plate ever reach this legal form. const [vin, setVin] = React.useState(() => moUp(BO.vin || DL.vin || U.vin || "")); const [year, setYear] = React.useState(() => String(U.yr || ymm.year || "")); const [make, setMake] = React.useState(() => moUp(U.mk || ymm.make || "")); const [model, setModel] = React.useState(() => moUp(U.mdl || ymm.model || "")); const [body, setBody] = React.useState(() => moUp(BO.body || U.body || "")); const [color, setColor] = React.useState(() => moUp(BO.color || U.color || "")); const [odo, setOdo] = React.useState(() => String(BO.odometer || U.miles || "")); const [odoStatus, setOdoStatus] = React.useState("actual"); // actual / exempt / inexcess const [titleNo, setTitleNo] = React.useState(""); const [prevTitleNo, setPrevTitleNo] = React.useState(""); const [prevState, setPrevState] = React.useState(""); // Owners — on a GMF LEASE the OWNER is the lessor entity (ACAR Leasing Ltd.) // and the customer goes in as lessee/registrant (Owner 2 + note line below). const [o1, setO1] = React.useState(() => D.isLease && D.ent ? { last: moUp(D.ent.name), first: "", mi: "", dob: "", ssn: "", dl: "" } : (BO.lastName || BO.firstName) ? { last: moUp(BO.lastName), first: moUp(BO.firstName), mi: moUp(BO.middle), dob: "", ssn: "", dl: moUp(BO.dlNum) } : (DL.buyer ? (() => { const nm = String(DL.buyer); const [ln, fn] = nm.includes(",") ? nm.split(",").map(x => x.trim()) : [nm.split(" ").slice(-1)[0], nm.split(" ").slice(0, -1).join(" ")]; return { last: moUp(ln), first: moUp(fn), mi: "", dob: "", ssn: "", dl: "" }; })() : { last: "", first: "", mi: "", dob: "", ssn: "", dl: "" })); const [o2, setO2] = React.useState(() => D.isLease && D.ent && (BO.lastName || BO.firstName) ? { last: moUp(BO.lastName), first: moUp(BO.firstName), mi: moUp(BO.middle), dob: "", ssn: "", dl: moUp(BO.dlNum) } : { last: "", first: "", mi: "", dob: "", ssn: "", dl: "" }); const [andOr, setAndOr] = React.useState(() => D.isLease && D.ent ? "NONE" : "AND"); // Lease note — spells out lessee/registrant since the DOR-108 grid only has // owner slots. Editable like every other box. const [leaseNote, setLeaseNote] = React.useState(() => D.isLease && D.ent ? `LEASE — TITLED TO LESSOR; LESSEE/REGISTRANT: ${moUp([BO.firstName, BO.lastName].filter(Boolean).join(" ")) || "(CUSTOMER)"}` : ""); // Address — lessor's titling address on a lease; customer's otherwise. // Customer address: Buyer's Order first, then the deal record; blank otherwise. const custStreet = BO.street || DL.street || "", custCity = BO.city || DL.city || ""; const custState = BO.state || DL.state || "", custZip = BO.zip || DL.zip || DL.postal || ""; const [addr, setAddr] = React.useState(() => D.isLease && D.ent ? moUp(D.ent.address) : moUp(custStreet)); const [city, setCity] = React.useState(() => D.isLease && D.ent ? moUp(D.ent.city) : moUp(custCity)); const [county, setCounty] = React.useState(""); const [state, setState] = React.useState(() => D.isLease && D.ent ? moUp(D.ent.state) : moUp(custState || (custStreet ? "MO" : ""))); const [zip, setZip] = React.useState(() => D.isLease && D.ent ? moUp(D.ent.zip) : moUp(custZip)); // Lien — FINANCE: lienholder is the retail entity (AmeriCredit d/b/a GM // Financial). LEASE: no separate lien; the lessor above holds title. // Blank (no lien) when nothing on the deal says who the lender is. const finEnt = !D.isLease ? D.ent : null; const lenderName = BO.lender || DL.lender || ""; const [lienOn, setLienOn] = React.useState(() => !D.isLease && !!(finEnt || lenderName)); const [lienHolder, setLienHolder] = React.useState(() => D.isLease && D.ent ? "" : finEnt ? moUp(finEnt.name) : moUp(lenderName)); const [lienAddr, setLienAddr] = React.useState(() => D.isLease && D.ent ? "" : finEnt ? moUp(finEnt.address) : ""); const [lienCity, setLienCity] = React.useState(() => D.isLease && D.ent ? "" : finEnt ? moUp([[finEnt.city, finEnt.state].filter(Boolean).join(", "), finEnt.zip].filter(Boolean).join(" ")) : ""); const [lienDate, setLienDate] = React.useState(() => new Date().toLocaleDateString("en-US")); // Purchase / sales tax — from the Buyer's Order / deal; 0 when absent. const [purchDate, setPurchDate] = React.useState(() => new Date().toLocaleDateString("en-US")); const [purchPrice, setPurchPrice] = React.useState(() => moNum(BO.salePrice) || +DL.salePrice || 0); const [tradeAllow, setTradeAllow] = React.useState(() => moNum(BO.tradeAllow) || +DL.tradeAllow || 0); const [rebate, setRebate] = React.useState(() => moNum(BO.rebate) || +DL.rebate || 0); // MO state rate (RSMo § 144.020) — the local rate depends on the buyer's // address and is entered per deal. const [stateRate, setStateRate] = React.useState(4.225); const [localRate, setLocalRate] = React.useState(0); // Plate — nothing assumed; the title clerk picks the action and keys the plate. const [plateAction, setPlateAction] = React.useState("new"); // new / transfer / personalized const [plate, setPlate] = React.useState(""); // Tax/Fee derived (per MO DOR § 144.069) const taxableSale = Math.max(0, purchPrice - tradeAllow - rebate); const stateTax = taxableSale * (stateRate / 100); const localTax = taxableSale * (localRate / 100); const titleFee = 8.50; const processFee = 6.00; const regFee = 51.25; const total = stateTax + localTax + titleFee + processFee + regFee; return (
No lien recorded${D.isLease && D.ent ? " — vehicle is titled to the lessor shown in the Owner section; the lessee is the registrant." : "."}
`}I (we) certify, under penalties of perjury, that the information contained on this form is, to the best of my (our) knowledge, true and accurate. I (we) further certify that the vehicle described above is being titled in Missouri.
I, ${e([d.firstName, d.lastName].filter(Boolean).join(" "))}, having lawful purchasing authority, do hereby make, constitute and appoint ${e(K2BPrint.party.legal())}, ${e(K2BPrint.party.addr1())}, ${e(K2BPrint.party.addr2())}, my true and lawful agent and attorney-in-fact for me and in my name, place, and stead, to act in any matter relating to the application for, and receipt of, a Missouri Certificate of Title for the following motor vehicle: