joecastelino
@joecastelino
Public Skills
sct-toyotacare-billed-hours-report
by joecastelino
Pull the ToyotaCare (TAC) billed-hours number from Tekion's Advisor Performance report (Reports module) for SCT or any store, using Joe's saved TAC/ToyotaCare filter — and roll it out to the other 6 AMG stores. Use when Joe asks for ToyotaCare / TAC billed hours, or is building his monthly SCT fixed-ops sheet ("first number, Toyota Care").
tekion-opcode-overrides
by joecastelino
Add vehicle/part override rows to a Tekion opcode (Overrides tab) using the verified browser-tool cascading react-select method. This is the batch workflow used for cabin-filter part overrides (RACF etc.) — Make/Model/Year/ Trim/Part per row, driven by the __buildRow() helper toolkit. Covers the real-click trim rule, the Save Changes confirmation modal, and mandatory reload+API verification. The most complex Tekion workflow we run.
tekion-opcode-create
by joecastelino
Create a NEW opcode from scratch in Tekion's Opcode Management application — the full Default-tab field reference (opcode type, eligibility, category, service type, labor, pay-type pricing, parts, cost centers, associated opcodes, sublet, auto-dispatch). Canonical workflow distilled from Tekion KB0025686. Use when asked to CREATE/build a new opcode (vs editing pricing on an existing one — for that use tekion-opcode-default-pricing / tekion-opcode-overrides).
tekion-approval-notes-on-ro-pdf
by joecastelino
How to get RO approval information / approval notes (additional warranty hours approvals, warranty job approvals, recommendation approvals) to print on a Tekion RO / invoice PDF. Covers the prerequisite Service Settings + support ticket, the PDF Configurator toggle, and where the live UI differs from the KB article. Use when Joe or a store asks "how do I get the approval notes on the RO PDF" or "approvals aren't printing on the warranty invoice".
tekion-menu-line-sales-by-advisor
by joecastelino
Build a Tekion "menu sales for closed ROs, by service advisor, grouped by category (Basic/Value/Premium)" report with TRUE menu-line dollars. Use for any month/MTD menu-sales-by-advisor ask, and whenever a menu $ figure looks too low or too high.
tekion-advisor-closed-gross-api-report
by joecastelino
Build/run an API-sourced advisor gross report for closed ROs at any AMG store, replacing Tekion's unreliable Advisor Performance Report. Keys on true per-invoice pay-type close time and counts ALL pay types (CP, CVSC, warranty, internal).
tekion-apc-quota-usage-investigation
by joecastelino
Investigate REAL Tekion OpenAPI quota/429 usage per dealer using the APC portal's Transaction Dashboard (ground truth, not assumptions) — find which store/endpoint is burning quota, when Joe says "don't assume, go check the APC portal". Also covers what Plan Details and Usage Dashboard actually show (and don't).
dealerdetail-api-pipeline-build
by joecastelino
Build the DealerDetail Tekion API-driven data pipeline (replacing the email/Excel prototype) by acting as PM and delegating tickets to Claude Code, then verifying independently. Covers the ticket workflow, the live infra (Supabase project, branch, creds), and the hard-won gotchas (Supabase shadow-DB, server-only smoke tests, git credential path, Tekion app-scope 403 on user lookups).
tekion-ghost-bin-negative-onhand
by joecastelino
Diagnose a part showing NEGATIVE total on-hand in Tekion that stems from a CDK-migration "ghost bin" (a location-less legacy bin like 5005 / 5000 / 5001 / 5004 / RC1 / RC2 carried over at CDK→Tekion cutover ~4 yrs ago). The negative lives ONLY on the bin record, has ZERO transactions, is invisible to physical inventory (out of count scope), and poisons the auto-replenishment math (OH+OnOrder stays under reorder point → perpetual over-ordering). Distinct from a real stock-out. Use when Joe says "this part shows -11 on hand / negative on hand / auto replenishment isn't working" AND the negative traces to a non-primary bin. Sibling of tekion-parts-autoorder-diagnosis (that one = velocity/BRP/BSL/Min stock-outs; THIS one = phantom bin balances). WRITE-SIDE FIX PATHS NOW LIVE (2026-07-03): Edit-Part redistribution (zero GL) vs bin-level OH adjustment — see FIX PATHS section. Case-B $ adjustments still require Joe's explicit go.
tekion-internal-cost-center-gl-routing
by joecastelino
Answer "which GL account does this internal RO cost center post to / can I change it / can I use account X as the hold instead" for Tekion. Covers Setup Fields → Cost Center Setup, GL Account Transaction Mapping → Fixed Operations → Services-Internal, and how to read the Chart of Accounts control type + sub-type before recommending an account swap. Use for PDI / We-Owe / Policy / Safecat / rental internal-pay routing questions.
tekion-parts-sales-orders
by joecastelino
Tekion Parts Sales Orders (counter sales) + Parts RO Sales (parts on repair orders) + the full parts PRICING system (hierarchy, price codes, price breaks/formulas, matrices, defaults). Covers /parts/sales-order, P&A vs Fulfillment, cores, prepaid parts, core returns (CM credit memos), and the 5-tier pricing hierarchy where manual override is "king of kings." Load for counter-sale, parts-on-RO, or parts-pricing questions.
amg-wip-monthly-column-fill
by joecastelino
Fill a month column of Joe's AMG WIP workbook (the monthly fixed-ops tracker, rows=metrics cols=months, one tab per store) with Tekion data — hours sold by pay type, vehicle attendance, ToyotaCare hours, workshop hours, WIP $, ELRs. Includes the quota-free dealer-detail DB method for operation-level hours. Use when Joe says he needs to "finish" or "work on" the AMG WIP sheet for a month.
slack-store-thread-cron-retarget
by joecastelino
Retarget an AMG store's Hermes cron report deliveries to a new Slack thread when Joe says "can this thread be <store> reports only?", and sweep the whole fleet for dead channel_not_found cron deliveries.
tekion-flag-vs-actual-hours-report
by joecastelino
Build a "closed ROs where tech FLAGGED hours were below ACTUAL clocked time" report (unpaid flat-rate tech time) for any Tekion store, per-tech per-RO grain. Uses two internal endpoints discovered 2026-07-30 - /ro/v1/{id} carries per-tech flag entries (flagTimesWithPayDay) and clockDetails/fetch carries per-tech actual punches. Also documents the repair-orders:search pageNumber-IGNORED pagination trap and its closedTime-bisection fix. Verified SV (826) Jul 1-15 2026.
tekion-appointment-source-audit
by joecastelino
Answer "why do appointments from vendor X show as Integration / can we relabel the appointment source" and audit appointment volume by source (BDC, Consumer, Walk-in, Integration/Open API, AI) per store. Covers Tekion's fixed appointmentSource→category enum, the internal /api/scheduling/u/appointment/search aggregation API, and how to identify which vendor is behind an Integration bucket.
tekion-day-collection-report
by joecastelino
Pull Tekion's DAY COLLECTION report (cashier collections / money actually collected per day, by payment mode + department + cashier) for any AMG store and any date(s) via the internal cashier API, then render a per-day branded PDF and email it to Joe. Replaces reading the Day Collection screen by hand.
tekion-parts-gross-fleet-mtd
by joecastelino
Pull TOTAL PARTS GROSS (revenue, cost, gross, GP%, RO vs counter split, by counterperson, by day) for any period across any/all 7 AMG stores from the Tekion part transaction ledger. Zero OpenAPI quota. Use when Joe asks for parts gross / parts sales numbers MTD, last month, or a custom window.
tekion-part-sales-ledger-report
by joecastelino
Build a "parts sold" report (e.g. tires) for any Tekion store and period with ACTUAL invoiced dollars, split RO vs Sales Order (counter), by counterperson, from the internal part transaction ledger (activity-log API) — zero OpenAPI quota. Use when Joe asks "how many X did we sell" for a parts category, or when the OpenAPI quota is exhausted and RO-level pulls are blocked.
tekion-gross-not-posting-to-advisor
by joecastelino
Diagnose "advisor gross dropped / gross not posting to advisor" complaints on the Tekion Advisor Performance Report. Usually the report's Status filter (INVOICED vs CLOSED), not a data loss or advisor-reassignment bug.
tekion-cashier-other-payment-error
by joecastelino
Diagnose a Tekion Cashiering failure — either the generic "error something went wrong" on an "Other" payment to a GL account, OR a greyed-out Collect Payment button / insurance-split payment error. Read-only diagnostic playbook — covers the Control type-ahead trap, open-job blockers, CVSC/contract payers, GL controlField config, and the Split-Type-change-un-invoices-the-RO trap. Use when a store says "I can't cashier this RO", "payment error on the insurance split", or "Other close to <GL> errors out".
tekion-journal-entry-error-diagnosis
by joecastelino
Diagnose Tekion Accounting Journal Entries stuck in ERROR status (auto-posting JEs that failed to post). Covers the JE list/detail URLs, reading GL posting lines out of the DOM, finding the blank/unmapped GL account, and tracing the root cause back to a missing row in GL Account Transaction Mapping. Use for "look at journal entries", "JEs in error", "auto posting failed", "GL account blank on journal entry".
tekion-department-opcode-buildout
by joecastelino
Derive the complete opcode list a Tekion department (UCD/Used Car, PDI, Express, Body Shop) actually uses over a period, split it into already-correctly-tagged vs shared-with-other-departments, and produce a build sheet of new department-scoped opcodes so ONE Service-Type GL mapping row captures all of that department's internal spend.
tekion-coupon-not-applying-diagnosis
by joecastelino
Diagnose "failed to apply coupon" / "the coupon won't attach to job N" on a Tekion repair order. The #1 root cause is NOT the coupon — it is the OPCODE's "Discount Eligible" checkbox being unchecked. Covers the full evidence-first triage, the API field mapping that proves it without clicking anything, and how to audit a whole store for un-couponable opcodes.
sct-backcounter-ro-sales-countsheet
by joecastelino
Build Joe's daily SCT Back Counter Bin Check count sheet — cross-reference a day's RO part sales (Tekion OpenAPI) against parts that stock in a back-counter bin (5000 section) and render a Tekion-bin-check-style sheet with Primary Bin and Back Counter Bin write-in Count boxes, emailed via Stacey. Use when Joe asks to "verify counts daily", "which back counter parts sold today", or re-run the back-counter check for a date. KEY DESIGN INSIGHT (Joe corrected me 2026-07-04): a bin-snapshot DIFF can NEVER catch a back-counter pull — Tekion only relieves the PRIMARY bin (2420), so the 5000s bin doesn't move when the sale posts. Detection must be sales-driven: today's RO parts INTERSECT back-counter roster.