1. System Overview
▼ SHOWHangarHub Mx is the maintenance management system for KP Aviation Services. It covers the full job lifecycle from intake to payment.
| Dashboard | Live list of all active aircraft. Open work orders, view history, archive. |
| Work Orders | Full-page job card with discrepancies, corrective actions, parts, timers, AD compliance, and customer messaging. |
| Estimates | Pre-job pricing documents. Can be sent to the customer and converted to an invoice. |
| Invoices | Final billing. Payment method determines delivery: Cash/Check sends PDF only; Card (3.9%) or ACH (1%) sends Valor PayTech payment link. Processing fee shown below tax. |
| Brokerage | Teton AeroWorks aircraft sales module. Listings, buyer profiles, deal pipeline (Kanban), and commission tracking with partner splits. |
| Admin Panel | Parts inventory, accounts, rates, manuals, timekeeping, analytics, and billing. |
2. Mechanic Accounts
▼ SHOWCreating an Account
- Open Admin → ⚙ Settings → Accounts.
- Fill in Username, Display Name, and Password (min 10 characters).
- Check Grant admin access for admin-level users.
- Click Create Account.
Resetting a Password
In the Accounts tab, delete the account and recreate it with the new password. Work order history and timeclock data are preserved.
3. Logging In
▼ SHOWNavigate to kpaviationservices.com and log in with your username and password. Sessions last approximately 7 days.
4. The Dashboard
▼ SHOWTopbar Buttons
| ⋯ More | Dropdown: View Archive, SMS Log, Manuals, Scan QR. |
| ⚙ Admin | Opens the Admin Panel (admin users only). |
| + Add Aircraft | Register a new aircraft into the active job list. |
Aircraft Row Actions
Click Open ▼ on any row to expand the action panel:
| 📝 Update Status | Change status, notes, service type, assigned mechanic. |
| 📋 Work Order | Open the full work order page in a new tab. |
| 🕐 History | View all past work orders for this aircraft. |
| 📱 QR Code | Display the customer-facing QR status code. |
| ▲ ▼ | Reorder aircraft in the list. |
| 📁 Archive | Remove from active dashboard when job is complete. |
Status Badges
| IN PROGRESS | Active work underway. |
| GROUNDED | Aircraft is not airworthy. |
| READY FOR PICKUP | Work complete, awaiting customer. |
| PENDING CHECK-IN | Scheduled but not yet received. |
| OPEN | Job open, no specific status set. |
5. Work Orders
▼ SHOWWork orders open as full-page documents in a new tab, auto-filled with aircraft and customer info from the dashboard.
Aircraft Fields
The aircraft section includes fields for N-number, make, model, year, serial, engine, Propeller Make, and Propeller Model. Filling in propeller make and model enables propeller AD searches and TCDS lookups.
TCDS (Type Certificate Data Sheets)
When a work order loads, the system automatically fetches TCDS for the airframe, engine, and propeller from the FAA database (2,257 entries). TC number links (e.g. A4CE Rev 51) appear below Relevant Manuals — clicking them opens the FAA document in a new tab.
Topbar Buttons
| ← Dashboard | Close the tab and return to the dashboard. |
| 💾 Save | Save all changes. Also auto-saves every 60 seconds. Disabled on archived (closed) work orders — closed records are locked read-only. |
| ⚖ AD Compliance | Open the AD compliance tracker for this aircraft. |
| 💬 MSG | Open customer messaging thread. Badge shows unread count. |
| Generate a printable work order. | |
| 📋 Create Estimate | Convert this work order into a billing estimate. |
| ❓ Help | Opens this guide. |
Discrepancy / Corrective Action Table
Each row is one discrepancy. Fill in Discrepancy, Corrective Action, Parts Used, and Labor hours.
- Parts Used — Start typing to search your parts inventory for autocomplete.
- ▶ Start timer — Runs a live labor timer for that row. Only one timer runs at a time. Hours are written to the labor input automatically.
- Click + Add line item to add more rows.
Creating an Estimate from a Work Order
Click 📋 Create Estimate in the topbar. The system pulls:
- Aircraft: reg, make, model, year, serial number
- Customer: name and phone
- Service type
- One labor line per discrepancy row with hours logged (description = corrective action)
- One parts line per discrepancy row with parts entered
The new estimate appears in Admin → Operations → Billing → Estimates. Open it there to set prices and send to the customer.
Archived Work Orders — Read Only
Work orders with status Complete, Closed, Picked Up, or Void open in read-only mode. A yellow banner reads "Archived work order — read only." All fields are greyed and locked, the Save button is hidden, and the 60-second autosave is disabled so closed records cannot be accidentally modified.
To open a specific closed work order directly:
work-order.html?wo=<id>&ac=<aircraft_id>
Return to Service
Point of Contact
The work order includes a Point of Contact block below the customer fields. Use this for business-registered aircraft where the maintenance contact differs from the registered owner. POC data saves with the work order and syncs to the customer database.
From Estimate Badge
When you click 📋 Create Estimate, a blue 📋 From Estimate Q-XXXX badge appears in the work order header linking it to the generated estimate.
The bottom of the work order includes the FAR Part 43 Appendix B certification with signature lines for mechanic and IA inspector.
6. Billing — Estimates & Invoices
▼ SHOWAccess billing via Admin → ✈ Operations → Billing. The tab has two sub-sections: 💳 Invoices and 📋 Estimates.
Estimates
Pre-job pricing documents sent to customers for approval before work begins.
Creating an Estimate
- Click + New Estimate.
- Enter the N-number and press Tab to auto-fill from the FAA registry.
- Select service type and adjust labor hours and rate.
- Toggle Travel job or Emergency / AOG as needed.
- In the Search items box, type to search Services (⚙) and Parts (📦). Select any item to add it as a line item.
- Adjust quantities and prices on each line item.
- Click Save Estimate.
Estimate Actions
| Edit | Open the estimate editor. |
| Preview or print the estimate. | |
| 📧 Send | Email the estimate to the customer (draft/sent status). |
| 💳 Invoice | Convert to an invoice. Estimate is marked "Converted." |
| Re-convert | Create a new invoice from a converted estimate (useful after deleting the original invoice). |
| Reset | Reset a converted estimate back to "Accepted." |
| ✕ Delete | Permanently delete the estimate. |
Estimate Statuses
| Draft | Created, not yet sent. |
| Sent | Emailed to customer. |
| Accepted | Customer approved. |
| Declined | Customer declined. |
| Converted | An invoice has been created from this estimate. |
Invoices
Final billing documents sent to customers. The delivery method depends on how the customer is paying.
Creating an Invoice
- Click + New Invoice, or use the 💳 Invoice button on an estimate to convert it.
- Enter N-number (Tab to auto-fill).
- Select service type and fill in labor details.
- Search and add line items using the Search items box.
- Select the Payment Method in the totals box — this determines delivery and fees.
- Click Save Invoice.
Payment Methods & Processing Fees
| 💵 Cash | No processing fee. Customer receives a PDF invoice by email. No payment link. |
| 🏦 Check | No processing fee. Customer receives a PDF invoice by email. No payment link. |
| 💳 Card | 3.9% processing fee added to the subtotal (labor + parts + tax). Customer receives a Valor PayTech payment link by email. |
| 🔄 ACH | 1% processing fee added to the subtotal. Customer receives a Valor PayTech payment link by email. |
The processing fee appears as a separate line below Sales Tax on the invoice and PDF. The grand total shown is the final amount including all fees.
Sending an Invoice
- Click 📤 Send on the invoice row.
- Cash or Check: The customer receives a branded email with the PDF invoice attached. The email includes instructions to contact the shop to arrange payment. No Valor payment link is generated.
- Card or ACH: The customer receives a branded email with the PDF attached and a Pay Invoice Online button linked to a Valor PayTech secure payment page.
- When paid, mark the invoice as ✅ Paid.
Invoice Actions
| Edit | Edit an unpaid, non-voided invoice. |
| Preview or print the invoice. | |
| 📤 Send | Send invoice to customer — PDF only (cash/check) or Valor payment link (card/ACH). |
| Copy Link | Copy the Valor payment URL to clipboard (card/ACH only). |
| ✅ Mark Paid | Manually mark as paid. |
| Void | Void the invoice (cannot be undone). |
| 📋 Estimate | Create a new estimate from this invoice's data. |
Converting Between Types
- Work Order → Estimate: Click 📋 Create Estimate in the work order topbar. Pulls all labor, parts, and customer data automatically.
- Estimate → Invoice: Click 💳 Invoice on any estimate row.
- Invoice → Estimate: Click 📋 Estimate on any invoice row to create an estimate from invoice data.
Adding Services as Line Items
In the estimate or invoice editor, type in the Search items box. The dropdown shows:
- Services (⚙) — Labor types from your Parts Inventory with SVC- prefix. Prices reflect your current Rates & Fees.
- Parts Inventory (📦) — Physical parts with current unit costs.
7. Customer Database
▼ SHOWHangarHub Mx maintains a customer database that stores contact information for aircraft owners and maintenance contacts. It is accessible under Admin → ✈ Operations → Customers.
Point of Contact & CC Emails
The Add Aircraft panel includes a Point of Contact block (below the owner fields) for business-registered aircraft where the maintenance contact differs from the registered owner. A CC Emails field lets you add additional recipients for estimates and invoices. Both are stored on the customer record and auto-fill on future interactions.
Auto-Fill on Aircraft Add
When you add a new aircraft, the system links your customer database to the FAA registry lookup:
- Type the N-number and press Tab — FAA fills the owner name (e.g., "Skyriders, Inc").
- The system immediately searches your customer database for that owner name.
- If a match is found, phone and email auto-fill from your customer record.
- If no match is found, fill in the phone and email manually — they are automatically saved to the customer database when you click Add Aircraft.
You can also type directly in the Owner name field to search your customer database. A dropdown appears showing matching customers — click one to fill name, phone, and email at once.
Managing Customers
Go to Admin → ✈ Operations → Customers to view and manage your full customer list.
| Search | Search by name, phone number, or email address. |
| + Add Customer | Manually add a customer with name, phone, email, address, city, and notes. |
| Edit | Update any customer's contact information. |
| ✕ Delete | Permanently remove a customer record (admin only). |
Customer Fields
| Name * | Customer or company name (required). Should match the FAA registered owner name exactly for auto-fill to work. |
| Phone * | Primary contact phone number (required). |
| Email address — used to pre-fill estimate and invoice recipient. | |
| Address | Street address. |
| City, State, Zip | City/state/zip. |
| Notes | Internal notes (e.g., "call cell only", "fleet account"). |
Point of Contact
The customer edit modal includes a Point of Contact block (Contact Name, Title, Phone, Email) and a CC Emails field. POC information auto-fills on all estimates, invoices, and work orders associated with that customer.
Customer Aircraft History
In the Customers tab, each customer row has a ✈ Aircraft button. Click it to expand an inline table showing every aircraft ever associated with that customer — active and archived — with N-number, aircraft type, service type, number of work orders, last service date, and status.
Auto-Fill on Estimates & Invoices
When creating a new estimate or invoice, type the N-number and press Tab. After the FAA fills the owner name, the system also searches your customer database and auto-fills phone and email if a match is found.
8. Service Agreements
▼ SHOWService Agreements are legally binding authorization documents that customers sign before maintenance begins. They can be signed in-shop on a tablet or remotely via an emailed link. All signed agreements are stored permanently in HangarHub and accessible anytime.
Creating an Agreement
- Go to Admin → Operations → 📋 Agreements
- Click + New Agreement
- Type the N-number and click 🔍 Look Up — aircraft make, model, year, serial, and owner info auto-fill from your records or the FAA registry. Customer phone, email, and address auto-fill from your customer database if a match is found.
- Fill in Known Squawks and Maintenance Requested
- Click 💾 Save — the agreement is assigned a number (e.g. SA-2026-0001) and stored in the database
In-Shop Signing (Tablet)
- After saving, click 📄 PDF on the agreement in the list
- The agreement opens fullscreen inside HangarHub
- Click ✍ Customer Sign — a full white signing canvas appears
- Customer draws their signature with finger or stylus
- Click ✓ Save — signature is saved to the database
- Click ✍ Tech Sign and repeat for the technician signature
- Click 🖨 Print / Save as PDF to print or save the completed document
Remote Signing (Email Link)
- Open the agreement and click 📧 Email Signing Link
- A 72-hour signing link is emailed to the customer
- Customer opens the link on any device — phone, tablet, or desktop
- They read the full agreement, draw their signature, and click Submit Signature
- You receive an email notification the moment they sign
- The Agreements tab auto-refreshes every 30 seconds — the status will update to Signed within half a minute
Agreement Verbiage
All agreements include the following legal clauses:
- Authorization to Perform Maintenance — owner authorization and agent certification
- Pre- and Post-Maintenance Inspections — visual inspection and run-ups before and after work
- Discovery of Additional Discrepancies — 48-hour customer response requirement
- Safety-of-Flight Discrepancies — corrected without prior approval; customer notified; costs on final invoice
- Pre-Purchase Inspection — advisory only; logbooks, compression test, corrosion, controls; 6-8 hours; optional oil change and oil analysis; safety-of-flight repairs are current owner's responsibility; non-safety repairs at buyer/seller discretion
- Right to Decline Maintenance — company may stop work at any time
- Airworthiness Determination — not guaranteed
- Parts Authorization & Credit Card Requirement — card on file required for parts ≥$500; auto-charged with notification
- Payment Terms — due within 10 days; 10% late fee; collection costs including attorney's fees
- Mechanic's Lien — lien held on aircraft for all charges
- Abandoned Aircraft — 60-day limit; daily storage fees may apply
- Limitation of Liability — capped at amount paid; no consequential damages
- Governing Law — Idaho law; Bonneville County jurisdiction
Managing Agreements
| View all agreements | Admin → Operations → 📋 Agreements |
| Filter by status | Status dropdown (All / Draft / Signed / Archived) |
| Search agreements | Search box — matches agreement number, customer name, aircraft |
| Open for editing | Click Open on any row |
| Generate PDF | Click 📄 PDF on any row |
| Delete agreement | Click ✕ on any row — confirmation required |
| Auto-refresh | List refreshes every 30 seconds while Agreements tab is active |
Agreement Statuses
| Draft | Created but not yet signed |
| Signed | Customer signature captured (in-shop or remote) |
| Archived | Manually archived for record-keeping |
9. Automated Emails
▼ SHOWHangarHub Mx sends several automated emails. All use the Gmail account configured in your Render environment variables.
| Estimate sent | When you click 📧 Send on an estimate, you receive an internal notification at kpaviationmx@gmail.com with customer name, aircraft, and total. |
| Invoice sent | When you click 💳 Send on an invoice: (1) the customer receives a branded email with the full invoice PDF attached and a single Pay Invoice — $X.XX button, and (2) you receive an internal notification with customer name, aircraft, and total. The pay button links to the payment method selector page where the customer chooses Card or Bank Transfer. |
| Invoice paid — Google Review | When an invoice is marked paid (manually or via Valor polling), the customer receives a one-time Google Review request email with your review link. Repeat customers are skipped automatically. |
| Agreement signing link sent | When you click 📧 Email Signing Link on a Service Agreement, the customer receives an email with the 72-hour signing link, and you receive an internal notification confirming it was sent. |
| Agreement signed | The moment a customer submits their signature (in-shop or remote), you receive an internal notification. The Agreements tab also auto-refreshes every 30 seconds, so the status updates to Signed without waiting on the email. |
| Nightly backup | After each nightly backup completes, you receive a confirmation email with the filename, size, and status (success or failure). |
Stripe Payment Auto-Check
HangarHub automatically checks all sent invoices against Stripe every 5 minutes while the Billing tab is open. When a customer pays, the invoice status updates to Paid automatically and the Google Review email fires.
You can also click 🔄 Check Payments in the Invoices tab header to trigger an immediate check.
Payment Method Selector Page
Instead of two separate Card and ACH links in the email, customers land on a hosted payment page at /donate where they choose their payment method. The page shows:
- Invoice summary (customer, aircraft, total)
- Card and Bank Transfer (ACH) options with live fee calculations
- Round-up and donation options if Patriot PAWS is enabled (see below)
- A secure Stripe checkout button
Patriot PAWS Donations
The payment page can display an optional Patriot PAWS Service Dogs donation section. Customers can choose a round-up (to the nearest dollar after the processing fee), $5, $10, $25, or a custom amount. Toggled with a single line in src/routes/patriotpaws.js:
const SHOW_PATRIOT_PAWS = false; // change to true to enable
Donation totals and pending remittance appear on the Analytics tab under 🐾 Patriot PAWS Donations.
10. Customer Messaging
▼ SHOWEach aircraft has a customer messaging thread. Access it from the work order via 💬 MSG.
- Messages can be marked Internal (mechanics only, not visible to customer).
- Customers receive a unique link to view status and reply.
- A red badge on the MSG button shows unread messages. Page polls every 20 seconds.
- Photos can be attached.
- Use Copy Link in the MSG panel to share the customer portal link via text or email.
11. AD Compliance
▼ SHOWTrack airworthiness directive compliance per aircraft. Access from the work order via ⚖ AD Compliance. The page opens as a full-screen panel inside the app.
Loading ADs
- Click 🔍 Load ADs for This Aircraft to search both the FAA AD database (20,067 ADs) and the Federal Register simultaneously. Results are merged and deduplicated automatically.
- ADs are matched by airframe make/model, engine, and propeller. Fill in all three on the work order for complete results.
- Use the AD number or keyword search box to look up a specific AD manually.
The AD Picker
- Each result shows the AD subject (description) as the headline, with the AD number, category badge, and ✓ Current or 🕑 Historical status clearly labeled.
- The picker header shows a breakdown: e.g. 42 results — 28 Airframe, 14 Engine (6 historical).
- Select the ADs that apply to this aircraft and click Add Selected.
AD Cards
- Each AD card shows the subject, AD number, category, Current/Historical status, and effective date.
- Set compliance status: Open, Complied, N/A, or Deferred.
- Enter method of compliance, date, hours at completion, next due, and internal notes.
- Check Recurring for ADs requiring repetitive action. Check Historical / SSED as appropriate.
Omit vs. Remove
- ✕ Omit — Hides the AD from the main list. It remains in the database and can be restored by checking Show Omitted and clicking ↩ Restore.
- 🗑 Remove — Removes the AD from the visible list permanently for this work order. The AD record is never deleted from the master FAA database. Save after removing to make it permanent.
- Clear AD List — Removes all ADs from the current view. Does not delete anything from the database.
TCDS (Type Certificate Data Sheets)
TCDS links appear on the work order itself (in the Aircraft section, below Relevant Manuals). Clicking a TC number (e.g. A4CE Rev 51) opens the FAA document in a new tab. The TCDS database covers 2,257 entries for aircraft, engines, and propellers.
Printing
Click 🖨 Print AD List for a formatted 14 CFR Part 39 compliance report.
12. SMS Notifications
▼ SHOWCustomers receive automated SMS messages when their aircraft status changes. Powered by Twilio from (208) 980-2553.
- Fires automatically on every status update.
- View all sent messages in ⋯ More → SMS Log.
- Customer replies appear in the aircraft messaging thread.
13. Manual Library
▼ SHOWAccess the full manual library from ⋯ More → Manuals on the dashboard.
- On a work order, the system auto-matches the aircraft make/model and engine and shows relevant manuals automatically.
- Organized by Airframe, Engine, and Component.
- Admins can add custom manuals (Google Drive links, etc.) in Admin → Shop → Manuals.
14. QR Code System
▼ SHOWEach aircraft has a unique QR code for customer status lookup.
- Print it and attach it to the aircraft or paperwork.
- Customers scan it to view real-time status on their device.
- From dashboard: Open ▼ → 📱 QR Code.
- Scan any aircraft's QR from the dashboard via ⋯ More → Scan QR.
15. Timekeeping
▼ SHOWClock In / Out / Break
The timeclock widget is in the bottom-right corner of the dashboard.
- Clock In — Start your shift.
- Start/End Break — Break time is tracked and deducted.
- Clock Out — End your shift.
My Timesheet
Click My Timesheet to view your weekly hours. Multiple clock-in/out events per day all show, with a └ indent for subsequent entries on the same day. Navigate weeks with ← →. Regular and overtime hours are summarized at the bottom.
Admin Timekeeping
In Admin → ⚙ Settings → Timekeeping, admins can view all mechanic time entries, make corrections, and approve weekly timesheets.
16. Apprentice Tracker
▼ SHOWTrack apprentice experience hours by ATA chapter for A&P certification. Accessible from the timeclock area on the dashboard.
- Log entries by aircraft, ATA chapter, hours, and description of work performed.
- Supervising mechanic verifies each entry.
- Progress bars show completion toward FAA hour targets per ATA chapter.
In Admin → ⚙ Settings → Apprentice, admins can verify hours, lock entries, and generate the experience letter PDF.
17. Analytics & Sales Tax
▼ SHOWAccess via Admin → ✈ Operations → Analytics. The tab covers shop performance stats and financial reporting, including sales tax.
Shop Analytics
Use the toolbar at the top to set the reporting window: YTD, 90 Days, 30 Days, All Time, or a custom From/To range. All stats and charts below update together for whichever range is selected. Click ↻ Refresh to reload everything for the current range.
| Summary stats | Jobs completed, total labor hours, avg hours/job, unique aircraft, unique customers. |
| Revenue stats | Total invoiced, labor (SVC) revenue, inventory revenue, standalone invoice revenue, invoices issued. |
| Aircraft by Month | Bar chart of aircraft checked in per month. |
| Jobs by Service Type | Count and average/total labor hours per service type. |
| Labor Hours by Mechanic | Total and average hours logged per mechanic. |
| Most Common Aircraft | Table of jobs by make/model with average and total hours. |
| Labor Hours by Service | Average, min, and max hours per service type — useful for estimating turnaround. |
| Most Used Parts | Top 15 parts pulled from work order records, by frequency. |
| Inventory Items Invoiced | Top 20 inventory line items by revenue across all sent, paid, and archived invoices. |
| 🐾 Patriot PAWS Donations | Total collected, pending remittance, and per-invoice breakdown. Only appears when Patriot PAWS is enabled. |
Sales Tax Report
Always-open card below the revenue stats, showing sales tax collected for a date range. It has its own date controls, independent of the Shop Analytics toolbar above, so you can pull a specific filing quarter without disturbing the rest of the dashboard.
- Loads automatically to YTD the first time you open the Analytics tab, and reloads with whatever range is currently set whenever you hit ↻ Refresh.
- Use the From / To date fields and Calculate for a custom range, or the YTD / Q1 / Q2 / Q3 / Q4 preset buttons for standard filing periods.
- Pulls from paid, partially paid, and archived invoices only — this reflects tax actually collected, not tax invoiced but still unpaid.
| Taxable Revenue | Sum of non-labor line items only (parts/inventory/custom). Labor and card/ACH processing fees are never taxed, so they're excluded here even though they're part of the invoice total. |
| Sales Tax Collected (6%) | The actual tax amount collected across matching invoices in the range. |
| Total Revenue (inc. tax) | Full invoice total — labor, parts, tax, and any processing fee — for matching invoices in the range. |
18. Admin Panel
▼ SHOWOpen via ⚙ Admin in the dashboard topbar (admin users only). The panel has three dropdown groups:
🔧 Shop
Parts Inventory
- Add, edit, and delete parts. Fields are editable inline.
- Parts with a SVC- prefix are shop services — they show with a ⚙ icon and appear in estimate/invoice line item search.
- On first load, the system automatically seeds your standard services (Piston-Hangar, Piston-Mobile, Turboprop, Turbine, Emergency, Prop Balancing) into parts using your current Rates & Fees prices.
- Import/export parts via CSV.
Manuals — Add custom manual links for specific aircraft/engine models.
✈ Operations
Billing — Estimates and Invoices. See Section 6 for full details.
Customers — Full customer database. Search, add, edit, and delete customer contact records. Auto-populated when aircraft are checked in. See Section 7 for full details.
Analytics — Shop performance stats, charts, and the Sales Tax Report. See Section 17 for full details.
WO Archive — Global search across all closed work orders (Complete, Closed, Picked Up, Void). Search by WO number, tail, customer name, service type, make, or model. Results show date, aircraft, status badge, and labor hours. Click 👁 View to open the work order read-only in a new tab.
⚙ Settings
Accounts — Create accounts with username, display name, email, phone, and password. Use the Edit button to update any account. Toggle Admin access. Delete accounts. Email and phone on accounts are used for time-off request notifications (coming soon).
Rates & Fees
- Set hourly rates for Piston (Hangar/Mobile), Turboprop (Hangar/Mobile), Turbine (Hangar/Mobile).
- Set Emergency/AOG rate and mileage rate.
- Rates update in estimate/invoice service searches immediately on save.
Display — Configure the public shop display screen.
Timekeeping — View, edit, and approve mechanic time entries.
Apprentice — Review and verify apprentice log entries. Generate experience letters.
AD Database — Rebuild the FAA AD database from updated Excel files. When the FAA releases a new AD export, download the ZIP from drs.faa.gov, convert the two Access files to Excel, then use Choose File to select both files and click 🔄 Rebuild AD Database. Click 🔍 Check Status to verify the database loaded correctly.
19. Archiving Aircraft
▼ SHOWWhen a job is complete and the aircraft picked up, archive it to clear it from the active dashboard.
- Click Open ▼ on the aircraft row.
- Click 📁 Archive.
- Confirm the prompt.
All work order history is preserved. View archived aircraft from ⋯ More → View Archive. Click Restore to return an aircraft to the active list.
20. Brokerage Module
▼ SHOWThe brokerage module supports Teton AeroWorks aircraft sales operations, fully integrated into HangarHub Mx. Access via 🤝 Brokerage in the admin panel header.
Listings
Admin → 🤝 Brokerage → Listings → + New Listing
- Type the N-number — Make, Model, Year, Engine, Serial, and Seller Name auto-fill from the FAA registry.
- If the seller is already in your customer database, their phone and email auto-fill too.
- Set asking price, commission rate (default 8%), description, and status.
- Statuses: Active, Under Contract, Sold, Withdrawn.
- Click 📷 Photos to upload photos. Click + Deal to create a pipeline deal.
Photo Manager
- Click 📷 Photos on any listing row to open the photo manager.
- Drag and drop photos or click the upload zone — JPG, PNG, WEBP, max 15MB each, up to 30 per listing.
- The first photo uploaded automatically becomes the cover photo shown on the public portal.
- Click ⭐ Set Cover on any photo to make it the listing thumbnail.
- Click 🗑 Delete to remove a photo from Cloudinary and the database. If the cover is deleted, the next photo becomes cover automatically.
Buyers
Admin → 🤝 Brokerage → Buyers → + Add Buyer
- Store budget range, pilot certificate level, aircraft wishlist/preferences, phone, and email.
- Search buyers by name, phone, or email using the search box.
- Buyers are selected from a dropdown when creating or editing a deal.
Deal Pipeline
Admin → 🤝 Brokerage → Pipeline
- Five-stage Kanban board: Inquiry → Showing → Offer Made → Under Contract → Closed.
- Click any deal card to open the detail modal — assign or change buyer, update stage, enter offer amount, add notes.
- Click ✔ Mark Closed to close the deal, mark the listing as Sold, and create a commission record automatically.
Commissions
Admin → 🤝 Brokerage → Commissions
- Each closed deal generates a commission record showing sale price and calculated commission.
- Click Edit to enter the actual sale price, commission amount, partner names, and split percentages.
- The split calculator shows each partner's dollar amount in real time — total must equal 100%.
- Set status to Pending or Paid to track distributions.
Public Buyer Portal
- listings.html — public aircraft listings page. Shows all Active listings as photo cards with search and aircraft type filter (Piston/Turboprop/Turbine).
- listing-detail.html — individual aircraft page with full photo gallery (click any photo for lightbox, use arrow keys to navigate), all specs, description, and a contact form.
- The contact form emails kpaviationmx@gmail.com and automatically creates a buyer record in HangarHub.
- No login required — fully public. Phone: (208) 557-3709. Hours: Mon–Fri 8:30AM–5PM MT.
21. Quick Reference
▼ SHOW| Add aircraft | Dashboard → + Add Aircraft |
| Open work order | Dashboard → Open ▼ → Work Order |
| Create estimate from WO | Work Order topbar → 📋 Create Estimate |
| Create estimate manually | Admin → Operations → Billing → Estimates → + New Estimate |
| Convert estimate to invoice | Billing → Estimates → 💳 Invoice button |
| Send invoice (cash/check) | Billing → Invoices → 📤 Send → emails PDF, no payment link |
| Send invoice (card/ACH) | Billing → Invoices → 📤 Send → emails PDF + Valor payment link |
| Set payment method on invoice | Invoice editor → totals box → Payment Method dropdown |
| Add service line item | Estimate/Invoice editor → Search items box → select ⚙ service |
| Update labor rates | Admin → Settings → Rates & Fees → Save |
| Add parts to inventory | Admin → Shop → Parts → + Add Part |
| Add shop service | Admin → Shop → Parts → + Add Part with SVC- prefix |
| View customer database | Admin → Operations → Customers |
| Add customer manually | Admin → Operations → Customers → + Add Customer |
| Auto-fill customer on add | Add Aircraft → type N-number → Tab (auto-fills from customer DB) |
| Archive aircraft | Dashboard → Open ▼ → 📁 Archive |
| View archive | Dashboard → ⋯ More → View Archive |
| Clock in/out | Dashboard → Timeclock widget (bottom right) |
| View my timesheet | Timeclock widget → My Timesheet |
| View analytics | Admin → Operations → Analytics |
| View sales tax report | Admin → Operations → Analytics → 🧾 Sales Tax Report card |
| Add mechanic account | Admin → Settings → Accounts |
| Message customer | Work Order → 💬 MSG |
| Print work order | Work Order → 🖨 Print |
| View AD compliance | Work Order → ⚖ AD Compliance |
| Load ADs for aircraft | AD Compliance → 🔍 Load ADs for This Aircraft |
| View TCDS for aircraft | Work Order → Aircraft section → TC number link |
| Omit an AD | AD Compliance → AD card → ✕ Omit |
| Remove an AD from list | AD Compliance → AD card → 🗑 Remove (then Save) |
| Restore omitted AD | AD Compliance → Show Omitted → ↩ Restore |
| New brokerage listing | Admin → 🤝 Brokerage → Listings → + New Listing → type N-number |
| Upload listing photos | Brokerage → Listings → 📷 Photos button on listing row |
| Set cover photo | Photo manager → ⭐ Set Cover on any photo |
| Add a buyer | Admin → 🤝 Brokerage → Buyers → + Add Buyer |
| Create a deal | Brokerage → Listings → + Deal button on listing row |
| View deal pipeline | Admin → 🤝 Brokerage → Pipeline |
| Assign buyer to deal | Pipeline → click deal card → Buyer dropdown → Save |
| Close a deal | Pipeline → click deal card → ✔ Mark Closed |
| View commissions | Admin → 🤝 Brokerage → Commissions |
| Edit commission split | Commissions → Edit → enter partner names and percentages |
| Scan aircraft QR | Dashboard → ⋯ More → Scan QR |
| View archived work orders | Admin → Operations → 📁 WO Archive |
| Search closed work orders | WO Archive → type WO #, tail, customer, or service → Enter |
| Open a specific closed WO | work-order.html?wo=<id>&ac=<aircraft_id> |
| Create a service agreement | Admin → Operations → 📝 Agreements → + New Agreement |
| Look up N-number on agreement | Enter N-number → 🔍 Look Up button (auto-fills from your records or FAA) |
| Sign agreement in-shop | 📄 PDF → ✒ Customer Sign or Tech Sign → draw → ✓ Save |
| Send remote signing link | Open agreement → 📧 Email Signing Link (72-hour link) |
| Check if customer signed remotely | Agreements tab auto-refreshes every 30 sec; status changes to Signed |
| Delete an agreement | Agreements list → ✕ button on row |
| Check invoice payments | Billing → Invoices → 🔄 Check Payments |
| Edit mechanic account | Admin → ⚙ Settings → Accounts → Edit button |
| Add Point of Contact | Add Aircraft panel, or estimate/invoice editor → POC block below customer fields |
| Add CC emails | Add Aircraft panel, or estimate/invoice editor, or Customer edit modal |
| Install as desktop app | Open in Chrome → address bar install icon ⇒ Install |
| Unpaid invoices only | Billing → Invoices → Unpaid Only button |
| View customer aircraft history | Admin → Operations → Customers → ✈ Aircraft button |
| Parts usage analytics | Admin → Operations → Analytics → Most Used Parts chart |
22. System Information
▼ SHOW| Website | kpaviationservices.com (Namecheap shared hosting) |
| PWA / App | Installable on Windows, Mac, iPad, Android — no app store required |
| Backend | Node.js/Express — kp-aviation-backend.onrender.com |
| Database | Neon PostgreSQL |
| SMS | Twilio — (208) 980-2553 |
| Payments | Stripe (2.9%+$0.30 card, 0.8% ACH capped at $5, 2.7%+$0.05 in-person) |
| Photo storage | Cloudinary |
| Support | kpaviationmx@gmail.com |
| Shop phone | (208) 557-3709 |
| Address | 1940 International Way, Idaho Falls, ID 83402 |
Install as an App (PWA)
| Windows / Mac | Open in Chrome → click install icon in address bar ⇒ Install |
| iPad / iPhone | Safari → Share button → Add to Home Screen |
| Android | Chrome → three dots menu → Add to Home Screen |
Runs full screen with no browser bar. No app store required.