/* © 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. */ /* eslint-disable */ // K2B DMS — RC34 (lane hlp): the helper's BUILT-IN answers the page carries itself (used when the server cannot be reached before the // helper ever talked to it). Generated by work/hlp/tools/build-pack.js from the knowledge pack — do not edit by hand. // Only the UNIVERSAL topics are here: every role gets them with the same words (no cost, no money, nothing owner-only). Everything a role // may see beyond that comes from the server (GET /api/helper/builtin), filtered for the signed-in login. window.JB_HELPER_PACK = {"version":"8eced54c575ce73b","words":{"phrases":[["\\bf\\s*&\\s*i\\b"," fi "],["\\bp\\s*&\\s*l\\b|\\bprofit\\s+(?:and|&)\\s+loss\\b|\\bincome\\s+statement\\b"," pnl "],["\\be-?mails?\\b"," email "],["\\b(?:two|2)[\\s-]*(?:step|factor|fa)\\b|\\b2fa\\b|\\bmfa\\b|\\bmulti[\\s-]*factor\\b|\\btotp\\b|\\botp\\b|\\bauthenticator\\b|\\b(?:sign[\\s-]*in|log[\\s-]*in|login|verification|security|one[\\s-]*time)\\s+(?:codes?|pass(?:es)?)\\b|\\bcodes?\\s+(?:to|when\\s+(?:they|we|i|you))\\s+(?:sign|log)[\\s-]*(?:in|on)\\b"," signincode "],["\\b(?:sign|log)(?:ging|ged|s)?(?:[\\s-]+(?:him|her|them|someone|somebody|everyone|everybody|people|users?|staff|me|myself))?[\\s-]*(?:out|off)\\b|\\blog(?:out|off)\\b|\\bsign(?:out|off)\\b"," signoff "],["\\b(?:sign|log)(?:ging|ged|s)?[\\s-]*(?:in|on)\\b|\\blog(?:in|on)s?\\b|\\bsign(?:in|on)\\b"," signin "],["\\bbank\\s+rec(?:on|onciliation|oncile|s)?\\b|\\breconcil\\w*\\s+(?:the\\s+|my\\s+|our\\s+|a\\s+)?bank\\b|\\bbank\\s+(?:account\\s+)?reconcil\\w*|\\bbank\\s+statements?\\b"," bankrec "],["\\b(?:shop\\s+)?(?:labor|labour|door|shop|hourly|retail)\\s+rates?\\b"," laborrate "],["\\bwalk[\\s-]*ins?\\b"," walkin "],["\\b(?:clock|punch)(?:ed|ing|es)?[\\s-]*(?:in|out|on)\\b|\\btime\\s*(?:clock|punch(?:es)?|cards?)\\b"," clockin "],["\\bdeposit\\s+slips?\\b|\\bbank\\s+deposits?\\b"," depositslip "],["\\brepair\\s+orders?\\b|\\bros\\b"," ro "],["\\bwrite[\\s-]*ups?\\b"," writeup "],["\\bjournal\\s+entr(?:y|ies)\\b|\\bjes?\\b"," journalentry "],["\\bpurchase\\s+orders?\\b|\\bpos\\b"," po "],["\\bcredit\\s+cards?\\b|\\bdebit\\s+cards?\\b"," card "],["\\bup[\\s-]+for[\\s-]+grabs\\b"," upforgrabs "],["\\bwe[\\s-]+owes?\\b|\\bdue\\s+bills?\\b"," weowe "],["\\bcore\\s+(?:deposit|return|charge|bank)s?\\b"," core "],["\\bbulk[\\s-]+oil\\b"," bulkoil "],["\\btrial\\s+balances?\\b|\\btb\\b"," trialbalance "],["\\bchart\\s+of\\s+accounts?\\b|\\bcoa\\b"," chartofaccounts "],["\\bmonth[\\s-]*end\\b|\\bend\\s+of\\s+(?:the\\s+)?month\\b|\\bclos(?:e|ing)\\s+(?:out\\s+)?(?:the\\s+|a\\s+)?month\\b"," monthend "]],"stop":["a","an","and","are","as","at","be","but","by","can","could","do","does","did","for","from","get","got","how","i","if","in","into","is","it","its","me","my","of","on","or","our","please","should","so","that","the","their","them","then","there","these","this","to","was","we","what","when","where","which","who","why","will","with","would","you","your","about","any","some","just","need","want","tell","know","make","way","up","out","use","using","used","i'm","im","let","lets","like","go","going","am","has","have","had","been","being","one","thing","stuff","somebody","someone","hi","hello","hey","thanks","thank"],"syn":{"ro":["repair","order"],"ticket":["ro"],"tickets":["ro"],"writeup":["ro","new"],"fi":["finance"],"gl":["ledger"],"journalentry":["journal","entry"],"ap":["payable","bill"],"ar":["receivable","charge","account"],"po":["purchase","order"],"tb":["trialbalance"],"pnl":["profit","loss"],"tech":["technician"],"techs":["technician"],"sms":["text"],"texting":["text"],"txt":["text"],"texted":["text"],"message":["text"],"messages":["text"],"deskit":["desk"],"dl":["license"],"gwm":["warranty"],"wty":["warranty"],"cust":["customer"],"acct":["account"],"qty":["quantity"],"inv":["inventory"],"paid":["pay"],"pays":["pay"],"bought":["buy"],"put":["add"],"edit":["change"],"edits":["change"],"modify":["change"],"car":["vehicle"],"cars":["vehicle"],"truck":["vehicle"],"unit":["vehicle"],"units":["vehicle"],"auto":["vehicle"],"sale":["sell"],"sold":["sell"],"selling":["sell"],"fix":["correct"],"fixing":["correct"],"mistake":["correct","wrong"],"employee":["user","staff"],"employees":["user","staff"],"salesman":["salesperson"],"salesmen":["salesperson"],"quit":["deactivate","disable"],"fired":["deactivate","disable"],"password":["password"],"pw":["password"],"signincode":["code"],"signoff":["sign","off"],"signin":["sign"],"bankrec":["bank","reconcil"],"laborrate":["labor","rate"],"clockin":["time","hour"],"depositslip":["deposit"],"monthend":["month","close"],"weowe":["weowe"],"upforgrabs":["grab","claim"],"chartofaccounts":["chart","account"],"trialbalance":["trial","balance"],"core":["core"],"bulkoil":["bulk","oil"]}},"topics":[{"id":"sales.reload","q":"A screen says \"This station is running an older DMS. Reload the DMS (Ctrl+F5)\" - what do I do?","k":[],"a":"The server was updated and this PC still has the old page. Press Ctrl+F5 (on a phone: reload the page). Nothing half-done was saved - the server refused the save so an old page can never save a deal without its newest rules. A PC left open may also reload itself once the first time it saves. Then do the save again.","route":"home","routeLabel":"Dashboard","steps":[{"css":".nav-item[data-route=\"home\"]","note":"After Ctrl+F5 you are back on the Dashboard."}]},{"id":"sales.no-role","q":"The menu shows \"No role assigned\" - what do I do?","k":[],"a":"Your login's role is blank or spelled in a way the page does not know (the page knows Admin / F&I, Office Manager, Sales Manager, General Manager, Accounting, Sales, Service Advisor, Service, Parts, Technician). Until it is fixed you see only Dashboard, CRM - Leads and Customers. Ask an administrator to set your role in Settings > Users (Server). (A BDC login sees this banner too in RC33 - the server knows BDC but the page's menus do not yet.)","route":"crm","routeLabel":"CRM — Leads","steps":[{"css":".nav-item[data-route=\"crm\"]","note":"CRM - Leads still works."}]},{"id":"adm.roles.list","q":"What roles are there, and what does my role let me do?","k":[],"a":"Every login has ONE role, and the server decides everything by it (the menus only hide what the role can't open). The roles: Admin / F&I (everything, plus Settings and Controls), Office Manager and Accounting (\"the office\": the books, checks, payables, receivables, payroll, posting deals, imports), Sales Manager and General Manager (desking, F&I, deals, inventory, a look at the books; they desk and push deals but the office posts them), Sales (the CRM, customers, looking units up, seeing when their customers are in service), BDC (leads and appointments), Service Advisor (repair orders, appointments, customers, texting), Service Manager (a Service Advisor plus the service Setup pages and the shop's internal cost), Service and Parts (their own department, nothing financial), Technician (looks ROs up, view only). On top of the role the owner can give one person an extra right or take one away (Owner Panel > Users > Rights...). Your role is shown under your name at the bottom of the left menu.","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-sidebar","note":"the left menu shows only the screens your role can open."}]},{"id":"adm.roles.denied","q":"Why can't I see a screen (or why does it say \"Your role doesn't have access to that module\")?","k":[],"a":"The menu shows only the screens your role may open. A link or button into another screen says \"Your role doesn't have access to that module - ask an Admin.\" Nothing is broken: the server would refuse the work anyway. If you need it for your job, ask the owner: he can give one extra right to one person in the Owner Panel (only for the rights on that list), or the administrator can change your role.","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-sidebar","note":"these are the screens your role opens."}]},{"id":"adm.roles.norole","q":"What does the yellow \"No role assigned\" bar mean?","k":[],"a":"\"No role assigned - ask an admin\" means the server has no role it knows for your login (the role is blank or spelled in a way the DMS doesn't know). You can sign in, but you only get the basic screens until the role is fixed. Ask the administrator to set your role in Settings > Users (Server). A login whose role is \"BDC\" or \"Owner\" also sees this bar today, because the screens don't know those two role words yet (the server does).","route":"home","routeLabel":"Dashboard","steps":[{"text":"No role assigned","note":"this bar names the problem."}]},{"id":"adm.roles.sales","q":"What does a Sales login see?","k":[],"a":"Sales lands on the CRM. It sees the CRM (its own leads), Customers (contact details only - never the SSN, date of birth, licence or credit details), My Alerts, Inventory and VIN Decode to look units up (view only), Trade-In Requests, We-Owes, the Service Dept and Service RO screens to see when its customers are in the shop (view only), and AI Apps. It never sees a unit's cost, a deal's gross, pack, ACV or holdback, or anyone else's commission - the server strips those before they reach the screen. It can't post deals, take payments or open the books.","route":"crm","routeLabel":"CRM — Leads","steps":[{"css":".nav-item[data-route=\"crm\"]","note":"a Sales login starts here."}]},{"id":"adm.roles.tech","q":"What does a Technician login see?","k":["why can't I see prices as a technician","what does the customer pay for this job","how much is this job"],"a":"A Technician sees the repair orders VIEW ONLY: Service Dept and Service RO (with \"View only\" at the top), the maintenance schedules and the service menu. On a phone it opens on \"My jobs\". It never sees prices, totals, payments, accounts or pay rates, and it can't change an RO - the service advisor does. To make \"Mine\" / My jobs work, the office links the technician to the sign-in in Service Dept > Setup > Technicians.","route":"service","routeLabel":"Service RO","steps":[{"css":"[data-tech-viewonly=\"1\"]","note":"the one-line \"View only\" notice."}]},{"id":"adm.roles.service","q":"What do the Service, Parts, Service Advisor and Service Manager logins see?","k":[],"a":"Service Advisor: repair orders, appointments, customers (contact level), parts tickets, warranty, body shop, inventory look-up, texting and the Integrations status. Service Manager: the same plus the service Setup pages (RO screen and steps, lists, technicians, maintenance schedule, service menu), the shop's internal cost, warranty chargebacks and policy / goodwill approvals within the owner's limit. Service and Parts: their own department's screens; nothing financial (no books, no deals). A Parts login can't close an RO. None of them see a deal's cost or gross.","route":"servicedept","routeLabel":"Service Dept","steps":[{"css":".nav-item[data-route=\"servicedept\"]","note":"the service screens start here."}]},{"id":"adm.roles.mgr","q":"What do the Sales Manager and General Manager logins see?","k":[],"a":"Desking, Cash and Finance deals, the Deal Pipeline, Funding (look), Credit App, Buyer's Order, F&I menu, banks and products, the Pay Plan, policy / goodwill, inventory (including stock-in and the Recon Tracker), a look at the service screens, and a read-only look at the books (General Ledger, GL reports, P&L, Cash Command, Dead Money, Reconcile Inventory, Import Review). They see cost and gross. They desk and push deals; posting a deal, funding it and taking the customer's payment is the office's (unless the owner gave that right). A General Manager login works on the screens exactly like a Sales Manager.","route":"deal","routeLabel":"Deal Pipeline","steps":[{"css":".nav-item[data-route=\"desking\"]","note":"managers start deals here."}]},{"id":"adm.roles.office","q":"What does the office (Office Manager, Accounting) see?","k":[],"a":"The office sees nearly everything: deals and their posting / funding / payments, the general ledger and Doc Entry, checks and vendor accounts, receivables, payroll, GL posting, imports (Import / Export, Import Review & Approval), Reconcile Inventory and the Owner Overrides report. Neither opens Settings or Controls (those are for the Admin / F&I login) or the Owner Panel (the owner only).","route":"accounting","routeLabel":"General Ledger","steps":[{"css":".nav-item[data-route=\"accounting\"]","note":"the books start here."}]},{"id":"adm.roles.cost","q":"Who can see cost, gross and other people's commissions?","k":[],"a":"Cost, invoice, gross, pack, ACV, holdback and other people's commissions: Admin / F&I, Office Manager, Accounting, Sales Manager, General Manager (and an \"Owner\" role login). Sales and BDC never - a Sales login sees only its OWN commission rows. The service roles see no deal money. The shop's internal cost on repair orders (labor cost, part cost, sublet cost, tech pay rates): Admin / F&I, Office Manager, Accounting and the Service Manager only. A Technician sees no money at all. The server removes these figures before they are sent - they are not just hidden on the screen.","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-sidebar","note":"what your role can open."}]},{"id":"adm.roles.pii","q":"Who can see a customer's SSN, date of birth, licence and credit details?","k":[],"a":"Only Admin / F&I, Office Manager, Accounting, Sales Manager and General Manager (and an \"Owner\" role login). Everyone else gets contact details only. Even for those roles the number is masked on screen: the eye button shows it for 20 seconds and the reveal is written to the audit trail. The owner can take this right away from one person (Owner Panel > Rights...) but can never give it to a role that doesn't have it. The AI connector never returns these fields to anyone.","route":"customers","routeLabel":"Customers","steps":[{"css":".nav-item[data-route=\"customers\"]","note":"customer files."}]},{"id":"adm.roles.bank","q":"Who can see the store's bank routing and account numbers?","k":[],"a":"The full bank numbers in the check setup: Admin / F&I, Office Manager and Accounting. Everyone else (including the Sales Manager and General Manager) sees only the last 4 digits. Only the office may change the check setup.","route":"checkwriting","routeLabel":"Check Writing","steps":[{"css":".nav-item[data-route=\"checkwriting\"]","note":"Check Writing (the office)."}]},{"id":"adm.roles.viewonly","q":"What does \"View only\" at the top of a screen mean?","k":[],"a":"Your role may look at this screen but not change it - the bar says who makes the changes (\"changes are made by the service / inventory team\" for Sales, \"changes to the RO are made by the service advisors\" for a Technician). Hover the line (or tap the i) for the whole sentence. The server refuses a change from a view-only role even if a button is pressed.","route":"inventory","routeLabel":"Inventory","steps":[{"css":".jb-viewonly","note":"the view-only line."}]},{"id":"adm.roles.owner","q":"Who is \"the owner\" in the DMS?","k":[],"a":"One login is marked as the dealership OWNER. It gets the Owner Panel (sign-in codes, who must use them, the users' phones, passes, passwords, extra rights, the store limits) and the \"Owner override\" button. Every owner power needs a fresh sign-in code and is recorded; overrides go on a report the office and the accountant read. The owner is set ONLY from the server's terminal (scripts/set-owner.js) - no screen, import or other login can set or change it. Nobody else can turn the owner's login off, change its role or reset its password.","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-sidebar","note":"the owner sees Data & Admin > Owner Panel; nobody else does."}]},{"id":"adm.signin.how","q":"How do I sign in?","k":[],"a":"On the sign-in screen: Dealer Id (already filled in on this PC), User Name = your employee number, and your Password (\"Show\" shows what you typed; a warning appears when Caps Lock is on). Press \"Continue\" (or Enter). If your login uses sign-in codes, the next screen asks for one. A short intro video plays after each sign-in - \"Skip\" ends it, \"Don't play on this PC\" turns it off on this computer.","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.forgot","q":"I forgot my password - what do I do?","k":[],"a":"Nobody can see your password, and you can't reset it yourself. Ask the administrator (Settings > Users (Server) > Reset Password) or the owner (Owner Panel > Users > Reset password - it gives a temporary password shown once and signs you out everywhere). Sign in with the temporary password and use a new one from then on. The OWNER's own password is reset only from the server's terminal.","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.cooldown","q":"It says \"Too many failed sign-ins on this station - try again in ...s\"","k":[],"a":"After 5 refused sign-ins in a row this computer waits 60 seconds before it lets anyone try again (a brake against guessing). Wait for the countdown, check Caps Lock and your employee number, and try again. It counts per computer, not per person.","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.code","q":"The sign-in asks me for a code - which one?","k":[],"a":"\"Two-Factor Verification\" means your login uses sign-in codes (the owner decides who). Pick the way you have set up: \"Text message\" (press \"Text me a code\", a 6-digit code comes to your phone), \"Authenticator app\" (the 6-digit code in Google / Microsoft Authenticator - the DMS entry in your authenticator app), or \"One-time pass\" (the owner gave it to you). Type it and press \"Verify & Sign In\". \"Back\" returns to the password. Nobody but the owner can change how your codes work.","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.nocode","q":"I didn't get the text code, or I lost my phone","k":[],"a":"Wait 30 seconds and press \"Send a new code\". If it still doesn't come, ask the owner for a ONE-TIME SIGN-IN PASS: he makes it in the Owner Panel (your row > One-time pass) and reads it to you. It works once, within 15 minutes, together with your password - choose \"One-time pass\" on the code screen. A new phone number is entered by the owner only (Owner Panel > Users > Phone...).","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.codelimits","q":"It says \"Too many codes were asked for\" or \"That code has expired\"","k":[],"a":"A login may ask for 5 text codes and try 5 wrong codes in 15 minutes; after that it says to wait 15 minutes (or use the authenticator app / a one-time pass from the owner). A new code can be sent 30 seconds after the last one. \"Expired or already used\" = press Send to get a fresh one; a code works once. \"The text-message service is not answering\" = Twilio is down: use the authenticator app or ask the owner for a one-time pass.","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.enroll","q":"The sign-in shows a QR code and asks me to scan it","k":[],"a":"The owner turned on sign-in codes for your login and you have no phone on file, so the DMS sets up the authenticator app for you: open Google Authenticator or Microsoft Authenticator on your phone, add an account, scan the QR code (or type the key under it), then type the 6-digit code the app shows and press \"Verify & Sign In\". From then on you use the app's code at every sign-in.","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.offline","q":"It says \"Server unreachable\" when I sign in","k":[],"a":"The DMS server didn't answer (internet down, or the server is restarting after an update - that takes about 10 seconds). Press \"Retry\" first. \"Work Offline Anyway\" opens a RESTRICTED session on this computer only: no deals can be started, no admin screens, and NOTHING is shared with anyone until the server is back and an administrator presses \"Sync This Workstation to Server\" (Settings > Data & Backup). Only use it if you must keep working.","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.local","q":"There is a red bar \"WORKING LOCALLY - changes NOT shared\"","k":[],"a":"This computer lost the server. What you type stays on this PC and is NOT seen by anyone else until the connection comes back. Don't take payments, post or close ROs until the bar is gone (a green dot at the top left means online again). If it doesn't come back, check the internet and reload the page (Ctrl+F5); if you are still signed in it reconnects.","route":"home","routeLabel":"Dashboard","steps":[{"text":"WORKING LOCALLY","note":"the red bar."}]},{"id":"adm.signin.expired","q":"There is an orange bar \"SESSION EXPIRED - sign off and sign back in\"","k":[],"a":"A sign-in lasts about 12 hours (or ends when the owner signs you out). Press \"Sign Off\" at the bottom of the left menu and sign in again; your saved work is on the server.","route":"home","routeLabel":"Dashboard","steps":[{"text":"SESSION EXPIRED","note":"the orange bar."},{"text":"Sign Off","note":"bottom of the left menu."}]},{"id":"adm.signin.lock","q":"How do I lock my station when I walk away?","k":[],"a":"Press \"Lock\" at the bottom of the left menu (or Ctrl+Shift+L). The screen covers itself; to come back type YOUR password and press \"Unlock\" - \"Sign off instead\" signs you out. After 5 wrong passwords it waits 60 seconds. The station also locks by itself after 15 minutes without use (the administrator can change that per computer in Settings > Security: off, 5, 10, 15 or 30 minutes).","route":"home","routeLabel":"Dashboard","steps":[{"text":"Lock","note":"locks this station now."}]},{"id":"adm.signin.signoff","q":"How do I sign off, and what does Sign Off in a pop-out window do?","k":["sign out","log out of the DMS"],"a":"\"Sign Off\" at the bottom of the left menu ends your session on the server and clears this PC's working notes (the open desk, Buyer's Order and F&I pointers) so the next person doesn't get them. In a pop-out window (opened with the window button next to a menu item, or Shift+click) \"Sign Off\" closes only that window - the main window stays signed in.","route":"home","routeLabel":"Dashboard","steps":[{"text":"Sign Off","note":"ends your session."}]},{"id":"adm.signin.popout","q":"How do I open a screen in its own window?","k":[],"a":"Shift+click a menu item, press the small window button at the right of a menu item, or \"Pop out\" in the top bar - the screen opens in its own window with the same sign-in (\"Main window\" brings the main DMS back). If nothing opens, the browser blocked it: allow pop-ups for the DMS (the icon at the right of the address bar) and press again.","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-popout-btn","note":"Pop out: this screen in its own window."}]},{"id":"adm.signin.vault","q":"It asks for a \"Data Passphrase\" to unlock dealership data","k":[],"a":"This computer keeps its copy of the DMS data encrypted (turned on by the administrator in Controls > Data & Sync). Type the dealership's data passphrase and press \"Unlock\" (\"Keep this browser unlocked\" keeps every DMS tab on this PC open). Nobody can recover a forgotten passphrase. \"Wipe & start fresh\" erases only THIS computer's copy - the server's data is not touched, and the PC downloads it again after you sign in.","route":null,"routeLabel":"","steps":[]},{"id":"adm.signin.stations","q":"What is the \"online\" button in the top bar?","k":[],"a":"It shows how many stations (tabs / windows / PCs) are signed in right now. Press it to see who is on which screen (Signed-In Stations). It only shows - accounts are managed by the administrator (\"Manage Users & Logins\" opens Settings > Users (Server)). Everyone's saves reach every station live; a record someone else is editing shows a lock.","route":"home","routeLabel":"Dashboard","steps":[{"text":"online","note":"the stations signed in now."}]},{"id":"adm.signin.save","q":"What does the yellow Save button (Ctrl+S) do?","k":[],"a":"The DMS saves as you work; \"Save\" (or Ctrl+S) pushes this screen's work to the server right away and tells you how many stations it reached. Money jobs (payments, posting, closing an RO, checks) are server commands that save the moment you press their own button - Save doesn't post anything.","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-topbar","note":"the yellow \"Save\" button is at the right end of this bar."}]},{"id":"adm.own.rightslist","q":"Which rights can the owner give or take away?","k":[],"a":"Eight: Post deals, record deal payments and lender funding; Look at the books (general ledger, journal entries, bank rec, receivables); Write journal entries, change the chart of accounts and the bank rec; Close and reopen the accounting month; Export all dealership data; Read the whole audit log; See customers' SSN, date of birth, licence and credit details (can only be TAKEN AWAY, never given to a role that doesn't have it); Approve imports from the old system (no role has it - the owner always may and gives it to a person here). Everything else comes from the role.","route":"ownerpanel","routeLabel":"Owner Panel","steps":[{"css":"[data-own=\"rights-table\"]","note":"the eight rights."}]},{"id":"adm.own.guard","q":"Who can change the owner's own login?","k":[],"a":"Only the owner, with a fresh code - or the server's terminal. Another Admin can't turn it off, change its role or reset its password in Settings > Users (Server) (\"This is the owner's login\"). The owner's own phone, codes and password are changed in his own \"My sign-in codes\" or from the terminal (scripts/owner-recover.js).","route":"settings","routeLabel":"Settings","steps":[{"text":"Users (Server)","note":"the logins (the owner's row can't be changed here)."}]},{"id":"adm.users.pwrules","q":"What are the password rules?","k":[],"a":"A new or reset password must be at least 10 characters with an uppercase letter, a lowercase letter and a digit; it may not be the employee number or a common word (a short phrase works well, like Blue-Truck-2026). No special character is required. Passwords are stored only as hashes on the server - nobody, not even the owner, can read yours. The screen checks these rules as the password is typed (the meter under it); the server itself refuses only a password shorter than 8 characters.","route":"settings","routeLabel":"Settings","steps":[{"text":"Users (Server)","note":"where the administrator sets temporary passwords."}]},{"id":"adm.settings.dealer","q":"How do I change the dealership name, address or licence on the forms?","k":[],"a":"Settings > Dealer Info shows them read-only (dealer name, address, phone, fax, state dealer licence, GM BAC and dealer code). They are set when the DMS is installed and print on every legal form - to change one, contact K2B NETWORK SOLUTIONS LLC support.","route":"settings","routeLabel":"Settings","steps":[{"text":"Dealer Info","note":"the tab (read only)."}]},{"id":"adm.settings.gear","q":"Why does a setting I changed with the gear on a screen not show on another PC?","k":[],"a":"The small gear on a window's title bar opens that module's own settings (tax rates, labor rates, doc fees, default terms...). Those are saved in THIS browser only - another PC keeps its own. The store-wide settings live on the server and reach every station: Service Dept > Setup (the RO screen, steps, lists, technicians, maintenance schedule, service menu, Sunbit and reminders), the Pay Plan page, lender fee defaults, the Owner Panel limits and Settings > Integrations (API).","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-topbar","note":"the gear is on the title bar of a module's window."}]},{"id":"adm.int.nokeys","q":"Can I send a key or password to K2B support, or type it into the helper?","k":[],"a":"No. Keys, passwords, sign-in codes and backup codes are typed ONLY where the DMS asks for them: a key into its Settings card (administrator) or the hidden prompt of a server script (the owner). Never in an e-mail, a text, a chat, a helper question or to K2B support - nobody legitimate needs them. If a key was pasted somewhere else, make a new key at the vendor and delete the old one, then put the new one in the DMS.","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-sidebar","note":"keys are never typed into any other screen."}]},{"id":"adm.msg.who","q":"Who can text or e-mail customers from the DMS?","k":[],"a":"Admin / F&I, the managers (Office Manager, Sales Manager, General Manager), Service Advisor, Service Manager and Service - in Data & Admin > Messaging (the administrator also has it in Settings > Messaging & Consent). Sales, Accounting, Parts, Technician and BDC can't send (\"Messaging is limited to managers, service and F&I\") - ask a manager. A message goes out only through a CONNECTED Twilio (texts) or SendGrid (e-mail).","route":"messaging","routeLabel":"Messaging","steps":[{"css":".nav-item[data-route=\"messaging\"]","note":"Messaging."}]},{"id":"adm.ai.what","q":"What is AI Apps (the Claude connector)?","k":[],"a":"Data & Admin > AI Apps lets a person connect the Claude app to the DMS so Claude can work as THEM - chase cold leads, work the bank rec, check month-end, draft pay plans and budgets. It signs in with your own DMS login (no API key), sees only what your role sees, asks before every change, and can never send messages, post or delete records, pay bills or switch on a plan or budget. It is different from the Jared helper (which only explains the DMS and never looks anything up).","route":"aiapps","routeLabel":"AI Apps","steps":[{"css":".nav-item[data-route=\"aiapps\"]","note":"AI Apps."},{"css":"[data-ai-url=\"1\"]","note":"the connector address."}]},{"id":"adm.ai.connect","q":"How do I connect Claude to the DMS?","k":[],"a":"AI Apps shows \"Your AI access\" - it must be Read or Update (the administrator sets it). Press \"Copy\" next to the Connector address and add it as a connector in the Claude app; Claude then opens the DMS sign-in - sign in with your own login (and code). The connection shows under Connected apps. If your access is None, ask the administrator first.","route":"aiapps","routeLabel":"AI Apps","steps":[{"css":"[data-ai-url=\"1\"]","note":"the connector address (Copy next to it)."}]},{"id":"adm.ai.disconnect","q":"How do I disconnect an AI app?","k":[],"a":"AI Apps > Connected apps > \"Disconnect\" in its row (after a yes): it ends at once and must sign in again to come back. You see your own connections; the administrator sees and can end everyone's. The owner's \"Sign out everywhere\" also ends a person's AI apps.","route":"aiapps","routeLabel":"AI Apps","steps":[{"css":"[data-ai-revoke]","note":"Disconnect."}]},{"id":"adm.ai.undo","q":"How do I undo a change Claude made?","k":[],"a":"AI Apps > \"Changes made through Claude\" lists them newest first (who, which app, what). \"Undo\" puts the record back exactly as it was - unless someone edited it since; then fix it by hand. You can undo your own; the administrator can undo anyone's (the office sees everyone's list).","route":"aiapps","routeLabel":"AI Apps","steps":[{"css":"[data-ai-undo]","note":"Undo."}]},{"id":"adm.ai.safe","q":"Is the AI connector safe with customer data?","k":[],"a":"It runs as the signed-in person and through the same permission table as the screens, so it sees exactly what that role sees. Customer SSN, date of birth, licence and credit-application fields are never returned to it. Every change needs a preview and the person's yes, is recorded and can be undone. It has no tool that sends a message, posts or deletes a record, pays a bill or activates a plan.","route":"aiapps","routeLabel":"AI Apps","steps":[{"css":".nav-item[data-route=\"aiapps\"]","note":"AI Apps."}]},{"id":"adm.upd.after","q":"What must the staff do after an update?","k":[],"a":"Reload the DMS on EVERY PC, tablet and phone before anyone takes a payment or does any money job: Ctrl+F5 on a PC (Cmd+Shift+R on a Mac); on a phone or tablet close the DMS tab and open the DMS again. Nobody needs to sign out. A PC that wasn't reloaded still has the old page: when it tries a money job the server answers \"This station is running an older DMS. Reload the DMS (Ctrl+F5).\" and nothing is posted from it. A PC left open may also reload itself once the first time it saves - that is expected.","route":"home","routeLabel":"Dashboard","steps":[]},{"id":"adm.bak.syncissues","q":"It says records \"could not be saved to the server and were set aside - tell an admin\"","k":[],"a":"The server refused those records for good (usually a rule or your role), so they were set aside and the rest of your work keeps saving. Tell the administrator: Settings > Data & Backup > Server Sync shows each one (\"Details\") with the server's reason; fix the record the right way (the right screen or the right person) and press \"Clear\". Nothing set aside reached the books.","route":"settings","routeLabel":"Settings","steps":[{"text":"Data & Backup","note":"the tab."},{"text":"Details","note":"the records and the server's reason."}]},{"id":"adm.rel.older","q":"It says \"This station is running an older DMS. Reload the DMS (Ctrl+F5).\"","k":[],"a":"This PC still has the DMS page from before the last update. Press Ctrl+F5 (Mac: Cmd+Shift+R; phone / tablet: close the DMS tab and open the DMS again), sign in if asked, and do it again. The refused step changed nothing - reading keeps working on an old page; only money jobs and saving most records (deals, ROs, parts, inventory, customers, imports, service settings) are blocked until it is reloaded. Pop-out windows must be reloaded too.","route":"home","routeLabel":"Dashboard","steps":[]},{"id":"adm.rel.self","q":"The DMS reloaded by itself - did I lose anything?","k":[],"a":"After an update, an open page reloads itself ONCE the first time the server says it is too old (\"Reloading now...\"). Your saved work is on the server; only what you had typed and not saved on that screen may need to be typed again. If it shows the reload message again instead of reloading, do Ctrl+F5 yourself.","route":"home","routeLabel":"Dashboard","steps":[]},{"id":"adm.rel.stuck","q":"I pressed Ctrl+F5 and it still says to reload","k":[],"a":"The browser is still showing an old saved copy. Close EVERY DMS tab and pop-out window, open the DMS again and sign in. If it still says so, clear the browser's cached images and files for the DMS (browser settings > privacy > clear browsing data > cached files) and open it again. If every PC says it, the update may not have finished on the server - tell the owner (the installer's log says).","route":"home","routeLabel":"Dashboard","steps":[]},{"id":"adm.rel.notloaded","q":"A screen says \"... is not loaded\" or \"missing MoneyCore.jsx.txt. Reload the DMS\"","k":[],"a":"A part of the DMS page didn't load (a cut-off download, or an old saved copy right after an update). Reload with Ctrl+F5. If it keeps happening on one PC, close all DMS tabs and open it again; if it happens on every PC, tell the owner - the update may be incomplete. Money jobs are refused until the page is complete.","route":"home","routeLabel":"Dashboard","steps":[]},{"id":"adm.rel.vault","q":"It says the PC's copy is \"encrypted and locked\" - \"reload and enter the data passphrase\"","k":[],"a":"This PC keeps an encrypted copy of the data and it is locked, so changes are not being saved on THIS PC (they still go to the server while you are online). Reload the page (Ctrl+F5) and type the dealership's data passphrase on the unlock screen. If nobody knows the passphrase, \"Wipe & start fresh\" there clears only this PC's copy; the server's data is not affected.","route":null,"routeLabel":"","steps":[]},{"id":"adm.rel.popup","q":"The browser blocked the pop-out window","k":[],"a":"\"The browser blocked the pop-out window - allow pop-ups for the DMS and try again.\" Click the blocked-pop-up icon at the right of the address bar, choose \"Always allow pop-ups\" for the DMS, and press the pop-out button again. Vendor sites (Carfax, RouteOne...) and print previews need pop-ups too.","route":"home","routeLabel":"Dashboard","steps":[{"css":".jb-popout-btn","note":"Pop out again after allowing pop-ups."}]},{"id":"adm.help.use","q":"How do I use the helper?","k":[],"a":"The helper button is in the top bar of every screen; it opens a side panel (on a phone a sheet from the bottom) that never covers the screen's own buttons. Ask in plain words (\"how do I take a Sunbit payment?\"). Answers are written for YOUR role and the screen you are on, often with a button that opens the right screen and a \"Show me\" walkthrough that highlights each button in turn. It explains how the DMS works - it never looks up or changes anything.","route":"home","routeLabel":"Dashboard","steps":[{"css":"[data-jb-helper=\"button\"]","note":"the helper button in the top bar opens the helper beside the screen."},{"css":"[data-jbh=\"ask\"]","note":"type your question here and press Ask."}]},{"id":"adm.help.nolookup","q":"Can the helper look up a customer, a deal, an RO or a balance for me?","k":[],"a":"No. The helper only explains how the DMS works - it never reads or shows business records (no customers, deals, repair orders, inventory, money or other people's data) and it never changes anything. Use the screen's search box for that; the helper can tell you which screen and box to use. (The AI connector in AI Apps is a different thing: it works in the DMS as you, with your role.)","route":"home","routeLabel":"Dashboard","steps":[]},{"id":"adm.help.showme","q":"What does \"Show me\" do?","k":[],"a":"\"Show me\" walks you through a task on the real screen: it opens the screen and highlights the first button with a short note, then the next one each time you press Next. It only shows - you press the buttons yourself. If your role can't use a button in the walkthrough, it says so and who does that step. The \"Open ...\" button in an answer just jumps to the screen.","route":"home","routeLabel":"Dashboard","steps":[{"css":"[data-jb-helper=\"button\"]","note":"open the helper, ask \"how do I ...\", then press Show me under the answer."}]},{"id":"adm.help.limit","q":"The helper says \"daily limit reached\" - what now?","k":[],"a":"The owner set a daily spending limit for the helper's AI answers (default $5 a day for the whole store). When it is used up, the helper still answers from its built-in answers for the common questions and says so; full answers come back the next day, or when the owner raises the limit in the Owner Panel. The same built-in answers are used when the server can't be reached or no AI key is set up.","route":"home","routeLabel":"Dashboard","steps":[{"css":"[data-jb-helper=\"button\"]","note":"the helper still answers the common questions from its built-in answers."}]},{"id":"adm.help.privacy","q":"Who can see the questions I ask the helper?","k":[],"a":"Each question is logged for the owner: who asked, when, the role, the screen, the size of the answer and what it cost. The owner sees that log in the Owner Panel. Other staff never see your questions. Keys, passwords and business records are never in the log or in what is sent to the AI. Don't type passwords, codes, keys or a customer's private details (SSN, card numbers) into a question.","route":"home","routeLabel":"Dashboard","steps":[]},{"id":"adm.help.wrong","q":"The helper gave me a wrong or out-of-date answer","k":[],"a":"The screens and the server's rules always win - if the screen says something different, follow the screen (a refusal message says exactly what is missing). Tell the owner which question and which screen, so K2B can correct the helper's answers.","route":"home","routeLabel":"Dashboard","steps":[]},{"id":"adm.store.switch","q":"How do I switch store? (switch to the other store)","k":["switch store","change store","go to the other store","the collision store","the body shop store","switch dealership"],"a":"If your login may use two or more stores, the top bar shows the store you are in as a button with a colored dot and a small arrow. Press it, pick the other store from the list and the whole DMS reloads into that store - its own cars, deals, repair orders, parts, customers, books and printouts. On a phone's service screens press \"Menu\" and use \"Switch store\" at the top. If something on your screen is not saved yet, the DMS asks you to save it or close it first; work that has not reached the server yet must reach it before you can switch (wait for the connection to come back). That includes every other DMS window open on the same computer: if one of them still has work the server has not received, the switch waits for it and tells you which store that window is in. Only the stores the owner ticked for your login are in the list. A switch is written to the activity log of both stores.","route":"home","routeLabel":"Dashboard","steps":[{"css":"[data-store-chip]","note":"press the store button in the top bar and pick the other store; the whole DMS reloads into it."}]},{"id":"adm.store.which","q":"Which store am I in?","k":["which store am I in","what store is this","wrong store","the colored stripe at the top"],"a":"The top bar shows the store's name next to the screen name. Once the DMS has two or more stores, a thin stripe in the store's color runs across the very top of the screen, and on a phone the top bar shows the store's short code. Every printout carries that store's own name, address, phone, license number and logo.","route":"home","routeLabel":"Dashboard","steps":[{"css":"[data-store-chip]","note":"the store you are in."}]},{"id":"adm.store.separate","q":"Why can't I see the other store's cars, deals or customers?","k":["see the other store","missing cars after switching","where did my deals go","customer not found in the other store"],"a":"Each store is completely separate: its own cars, deals, repair orders, body shop jobs, parts, customers and customer numbers, books, bank accounts and check numbers, payroll, settings and reports. Nothing of one store shows in the other. Switch to the store that has the record (the store button in the top bar). If your login does not have that store, ask the owner to give it to you.","route":"home","routeLabel":"Dashboard","steps":[]}]};