⚠ This app isn't connected to Supabase yet. Open index.html and paste your Project URL and anon key into the CONFIG block near the top of the script. See SETUP.md for where to find them.
CrewCommander — powered by GenCompass

CrewCommander

Capture receipts from the field. Bill your clients. Close the books — all in one place.

  • 📷 Snap & auto-read receipts from any phone
  • 🧾 One-click branded invoices with receipt images
  • 🏢 Clients, contractors, jobs & chart of accounts
  • 📊 Accountant-ready exports & workflow
🔒 Encrypted, role-based sign-in
CrewCommanderCrewCommander

Welcome back

Sign in to your account to continue.

or use your password

Forgot password?

👤Use Face ID next time

Skip the password on this phone. Your password still works — this is an extra way in, never the only one.

Not now

📲 Put this on your home screen

Installs like an app — full screen, no browser bar, and it still opens and files receipts when you have no signal.

Tap Share ⤴ at the bottom of Safari, then choose Add to Home Screen.
✓ Installed — open it from your home screen from now on.

Accounts are created by your administrator.

Contractor or new here? Sign up →

Request access

Tell us who you are — an administrator reviews it and sends you the sign-up paperwork.

🔒 Secured with encrypted authentication

CrewCommanderCrewCommander

Set a new password

Choose a new password for your account.

CrewCommander
··
New Vendor

Add a vendor here and it drops straight into the dropdown — you stay on this ARR.

Parts Order — —
Order each part below — attach a receipt or mark pay-at-pickup, and it drops off the to-order list.
CrewCommander
Receipts
➕ New Receipt 🧾 My Receipts
Manage
📈 Dashboard 🧾 Invoices 🔧 ARR 0 📋 GMP 🔋 Load Bank ➕ Add Generator 🔌 Generators 📍 Yards 🧰 Site Equipment 🪖 Muster 📝 SYSOP Report 🏭 Yard SYSOP 🧑‍💼 Personnel 🧭 Dispatch ✅ Approvals 0 ✉️ Messages 0
Dashboards
📊 Dashboards 🗓 Calendar
Records
🗄 Paper Copy
Storm & Service — superadmin
🌀 Hurricane 🛣 Service routes
Platform
🧱 GMP Builder 🧩 Load Bank Builder 🏢 Clients 🤝 Vendors 🔧 Contractors 👥 Users 🎛 Permission Profiles 🪪 Sign-ups 📋 Lists ⚙️ Controls 🗄 Data Import / Export 🏢 Company Settings 🏛️ Program Admin
··
…
…⚙️ Profile
SHARING LOCATION
⏻
Job:

New Receipt

Take a photo of the receipt, confirm the details, and submit.

📷 Tap to take a photo or upload
Uses your phone camera · or pick a file
receipt preview
⛽ Fuel Details
📷 Photo of the pump
fuel pump
📷 Photo of the odometer
odometer
🏨 Hotel Details
✈️ Flight Details
🧾 Misc Items

Add each item on one line, then + Add Item. Add as many as you need.

Total: $0.00
🍽 Meal Details

Parts

Add each part on one line, then click + Add Part. Add as many as you need.

Payment

My Receipts

Receipts you have submitted.

Receipt #DateEmployeeJobTruckTypeFuelVendorGallonsMileagePaymentAmountStatusImageEdit

No receipts yet.

Dashboards

Build a public generator dashboard for any location. Each one gets its own shareable link and pulls live from the generator database.

New dashboard

Your dashboards

NameLocationGeneratorsShare link

Dashboard

Overview
Card Receipts
Billing Receipts
Accountants
Archive
Rejected

By Receipt Type

TypeCountTotal

By Payment Method

MethodCountTotal

By Employee

EmployeeCountTotal

Unprocessed Receipts

Check receipts, then move them to Billing.

AmountReceipt #DateEmployeeCompanyJobTypeVendorPayment

Ready to Invoice

Set an Account per receipt (it just tags them — nothing is archived yet). When you've marked everything, check them and click Archive Checked, or invoice the billable ones.

AmountReceipt #DateEmployeeClientJob / YardTypeVendorPaymentAccount (chart of accounts)

Accountants — Archived Receipts

Invoice #AccountReceipt #DateEmployeeJobTypeVendorAmount

Archive

Invoice #AccountReceipt #DateEmployeeJobTypeVendorAmount

Rejected Receipts

Receipts an approver turned down. They’re parked here and are not counted in totals, billing, or archives.

Receipt #DateEmployeeTypeVendorAmountReasonImage

GMP — Generator Maintenance

Digital maintenance form. Start a new one for a generator, or continue a saved report.

Start a New GMP

Reports

In-progress
Completed
ReportGeneratorServiceStageTechDate

No reports here.

GMP

What is the issue?

Describe the problem, then Submit — this sends a repair estimate request to the ARR system right away.

GMP Builder

Build a GMP profile — its sections and the checks in each. Saved to your company; edit or delete anytime. Techs fill a GMP from a profile you build here.

Select a profile on the left, or create a new one.

Add Generator

Enter a new unit into the generator database. Every field mirrors the fleet database — Barcode is the only one required.

Generators

Fleet reference database.

Fleet
Filters by Site

Select a generator on the left to see its details.

Every filter needed for the generators at this site — totaled by part number so you know how many to stock.

FilterPart #Total QtyOn # units

Pick a site above to see its filter list.

ARR

Estimates → completed estimates → ARR (approved / rejected) → completed.

📊 Dashboard
Estimates
Completed Estimates
ARR Approved / Rejected
Completed
📦 Completed GMPs 0
🗓 Calendar
⚙️ Numbering
🗑 Trash — voided estimates

Open to load.

Loading…

Incoming Requests

Pick a request on the left, add labor & parts, then Complete — it drops off the list.

Select a request on the left to price it.

Price Estimate

📅 Recommended & upcoming services

Work you are recommending, not work you are charging for yet. The client ticks what they want when they sign, and anything they accept becomes a labor line on this estimate.

🧰 Parts

🔧 Labor

New Manual Request

Enter a request here (or a mechanic submits one). An admin tech will price it.

Select a completed estimate on the left to open its Cost Estimate & Authorization for Repair.

No completed estimates yet.

📦 Completed GMPs

Each completed GMP with its load bank, ready to send to the client. This is a staging list — the paper copy is the record. Removing something here takes it off this list only; the GMP report and the load bank are not touched.

 

ARR — Approved / Rejected

Sent ARRs and the client’s decision. Track parts on approved ones, then send to PSSM to sign off.

Select an ARR on the left to open it.

Nothing sent yet.

Completed ARRs

Est #TitleClientTotalStatusPSSM completion sign-off

Nothing completed yet.

Estimate / ARR Numbering

The next number the system will hand out. A client with its own starting number uses that instead; this is the fallback for everything else.

Set the starting number on a new system. Site/Job codes are added in front automatically.

Invoices

Every invoice created from processed receipts. Click a row to view or print it.

Invoice #Receipt #sDate CompanyJob# ReceiptsTotal

Dispatch

Drag a person onto a client or a yard to assign them. On a tablet, tap a person then tap where they go. This is the one place people get assigned.

Dispatch

×

🗄 Paper Copy

Every completed record, filed and searchable. Pick a type on the left, search by any field, or just ask.

📋 GMPs 0
🔋 Load Banks 0
🧾 Invoices 0
🧾 Receipts 0
🧑‍💼 Personnel 0

No records found.

🪖 Muster

Roll-call each yard for GMP. Check packs and units in, flag anything missing, and send the present units to GMP.

✅ Roll call
📦 Packs setup

Pick a yard to start the roll call.

New pack

Select a pack on the left to assign its units.

📝 SYSOP Daily Report

Start the day with a few questions, pull every unit, ARR and repair for the date, and generate a written site report you can save and print.

1 · Day & site
2 · Start-of-day questions
3 · What happened (auto-compiled)
4 · Written report

Not detailed enough? Bump the level or hit More detail to regenerate with parts, labor and per-unit notes. Then edit freely before you save or print.

Past reports

Saved SYSOP reports will show here.

🏭 Yard SYSOP Report

One report across as many yards as you need. Each site pulls its own location, live weather and unit count — then you add the alarms, notes and photos.

Past reports

Saved yard reports will show here.

🧰 Site Equipment

Everything standing on a yard. Fleet generators first, then the air conditioners, pumps, light towers and tanks registered against the site — pick one on the left to see what is known about it.

Choose a yard above.

Choose something on the left.

🧑‍💼 Personnel

Secure files for your people — driver's licenses, clearance sheets, certs, insurance — and a way to send any document out for signature. Admin only.

🗂 People & files
✍️ Send to sign

Add a person

Routes, stops, and service requests. Frequency varies. Msg & data rates may apply. Reply STOP to cancel, HELP for help. Optional — leave it clear and he simply gets told another way.

Select a person on the left to view and upload their documents.

Send a document to be signed

Sent for signature

Documents you send will appear here with their status.

🛣 Service routes

A unit in the field runs day and night, so one meter reading fixes the date it comes due — 240 hours is ten days, 500 is just under twenty-one. Read a meter once and the machine puts itself on this calendar. Pick a day, pick who is going, and the order of the stops is worked out for you.

Loading…

Unit found here

×
On this pad

Standing next to it. This creates the machine properly in that client's fleet — the same record the Generators screen shows — so everything else it needs can be filled in later without entering it twice.

Pick one and the boxes below fill in. Leave it alone to enter a new machine.

Reading

×

Has to be answered when a unit goes into the field. Either way it lives in that client's fleet.

This is how a machine gets on the map without anybody typing an address.

🌀 Hurricane

Open a storm, put people on yards, and bill from the calendar. Sending a man to a client bills that client a full day — coming back inside a window they already paid for costs them nothing. One man can be billed to three clients at once; he is still paid for one day.

Loading…

Deploy

×

This is when his block starts. Leave it as now unless you are catching up on paperwork.

Leave it unticked and this client is billed a full day, however long he is there.

Billed at the truck day rate — one day per 24 hours, not on the man's ladder.

They ride in as a team. Each man bills his own day; the truck is billed once for the crew.

🪪 Sign-ups & Onboarding

How it works:  1. Someone hits Sign up on the login page → they show up under Sign-up requests.  2. You hit Approve and pick which application they get — the system emails them the link.  3. They fill it out, upload their papers, and sign. You review it and hit Accept — done, they're in Personnel.

Loading…
👈 Click a person to see their submission and take action.
Your application forms
Loading…
Build application ×
Step 1 — tell Roy what you need
Describe it in plain words. Roy writes every question, the uploads, and the signature for you.
Step 2 — check it over
➕ Add a question by hand
Step 3 — save it

🎛 Permission Profiles

Build a reusable profile once — choose the screens and document types it can see, mark it as a contractor, and set what its client restriction limits. Then assign it to any user on the Users page.

Select a profile on the left, or create a new one.

Company Settings

🖥️ Open the CrewCommander Program Admin console →

Your own company's details — name, contact, address, logo, labor rate and numbering. Only you (the platform owner) see this page.

Company Settings

Modules, pricing, renters and billing all live in the Program Admin console — this page is only your own company's details.

User Management

Only a super admin can view all users and add new ones.

⏳ Waiting for approval 0

People who signed up but cannot see anything yet. They have no company and no permissions until you approve them here — that is deliberate, so an unapproved account is inert rather than merely limited.

Add User

Routes, stops, and service requests. Message frequency varies. Message and data rates may apply. Reply STOP to cancel or HELP for help. See the Privacy Policy and SMS Terms. Optional — you are dispatched the same either way.

All Users

NameRoleAssignmentLocationPermissionsActive

Yards

Yards (job sites) with location and contacts — this is where the PSSM lives. Email, text, or save the info to your phone contacts in one click. Add a new yard at the bottom.

Select a yard on the left to see its details.

Add Yard

Points of Contact (PSSM lives here — add as many as you need, with title & email)

Tiered profit % by dollar amount. Add each bracket — “Up to $5,000 → 20%”, “Up to $10,000 → 15%”, leave the amount blank for the top “and above” bracket.

Load Bank Builder

Build a load-bank profile for a company: the ordered load steps (percent + how long to hold each) plus the tolerance limits. The reading questions are the same on every profile.

Select a profile, or add one below.

New Load Bank Profile

Load Bank

Units ready to load bank. A unit lands here when its GMP reaches the load-bank stage. Pick a unit, then run each load step (0% → 30% → 50% → 100% → 0%) and record the readings.

Select a unit on the left, then a load step.

Vendors

Outside vendors & subcontractors you secure for third-party repairs. Add them here and they'll appear in the Third-party dropdown on any ARR — with their contact, phone, and date shown on the client board.

Select a vendor on the left to see their details.

Add Vendor

Clients

Select a client to view their details. Add a new client at the bottom.

Select a client on the left to see their details.

Add Client

Rates (used on this client's estimates & ARR)

A deployment copies these the moment it is created, so changing them here never rewrites an invoice you have already sent. The truck is one day per 24 hours — it does not follow the man's 12/16 ladder and has no half day.

🔢 Starting Numbers — the number each document counts up from for this client

Each part's own price picks its markup %. Example: a $500 part → 10%, a $900 part → 15%. “Up to $” is the top part price for that bracket; leave it blank for the “and above” bracket.

📱 Text this person when a request comes in — the moment a mechanic submits an incoming request for this client, they get a text
Their mobile comes off their own user record, so it is right everywhere at once. Leave it on “nobody” and no text goes for this client.
✍️ How this client signs an estimate
The chain tests each signature against that person's approval limit and sends the two ARR attachment forms. One signature sends an invoice instead: the SPC approves the whole thing himself, with no limits, because there is no federal contract setting any.

Points of Contact (add as many as you need)

Billing Point of Contact

Main Point of Contact

Contractors

Select a contractor to view their details. Add a new contractor at the bottom.

Select a contractor on the left to see their details.

Add Contractor

A deployment copies these the moment it is created, so changing them here never rewrites pay that has already gone out. The truck is one day per 24 hours — it does not follow the man's 12/16 ladder and has no half day.

Billing Point of Contact

Main Point of Contact

Controls

Company-wide limits and settings.

Receipt Approval Limit

Any receipt above the limit is held as “pending” and all approvers are messaged. Any one of them can approve, reject, or reassign it. Example: set the limit to 500 to require approval on anything over $500.

Payment Type Colors

Pick the color for each payment type. These colors show on every receipt list so you can tell at a glance what needs paying.

🗄 Data Import / Export

Loads a spreadsheet straight into a table and downloads any table back out. Limited to the platform owner's own login, and it asks for the password every fifteen minutes. Completed GMPs, load bank results, ARR estimates, invoices and receipts cannot be written to from here — those are the record of work done.

🔒 Confirm it is you

📥 Import a spreadsheet

The simple way round: Template for this table downloads what is in there now with the headers already named the way the database names them — edit it, upload it, and every column matches on its own. Lists like contacts come out as ordinary columns (pocs_1_name, pocs_1_email…) with a spare slot on the end, and are put back together on import. No JSON to type.

📤 Download a table

Comes down as CSV with a UTF-8 mark, so Excel opens it without mangling barcodes.

Approvals

Receipts over the approval limit wait here for sign-off. Set the limit under Controls.

Receipt #DateEmployeeTypeVendorAmountAssigned toImageAction

Nothing pending approval. 🎉

Messages

Send a note to anyone on the team. They’ll see it on their screen.

New Message

Inbox

Sent

Lists & Dropdowns

Manage every dropdown in the app — company cards, trucks, positions, receipt types, fuel types, and payment methods.

OrderNameDetailActive

My Profile

Set your details and defaults. Your default truck and card auto-fill on new receipts.

📍 Location sharing

Lets the office see where you are during a storm, so somebody knows where to look for you if you stop checking in. Only people at your own company can see it — never clients. Turn it off and nothing more is recorded.

Sharing now

Normally a small ● sharing mark under your name in the sidebar is all you see — something always shows while your location is going to dispatch. Tick the box if you would rather have a badge across the bottom of the screen with a Stop on it.

Change Password

Face ID sign-in

Checking what this device can do…

Appearance

Pick the look for the whole site — remembered on this device.

🛠 Service History

Loading…

Generator Maintenance Profile

Email draft

Finalize & Send ARR

Invoice

Line Items

Type a line (e.g. "LABOR & TRUCKS (Maintenance June 22 – July 5)") and an amount. Amount is optional.

Extra Pages (PDF / images)

Attach extra pages — a signed contract, backup, cover sheet — and choose where they go in the invoice.

Edit User

Routes, stops, and service requests. Message frequency varies. Message and data rates may apply. Reply STOP to cancel or HELP for help. See the Privacy Policy and SMS Terms. Optional — you are dispatched the same either way.

Loading…

Yard-level assignments are still managed on the Dispatch board.

Sharing location

📍 Share your location with dispatch

This lets the office see where you are during a storm, so somebody knows where to look for you if you stop checking in.

  • What is recorded: where you are, when, and your battery level.
  • When: only while this is switched on and the app is open. Turn it off and nothing more is recorded.
  • Who sees it: only people at your own company. Not clients.
  • You can stop it any time — the Stop button on the badge, or the button in the menu.

Your phone will also ask for location permission. If you say no, nothing is shared.

📋 Completed GMP
🕘 ARR History
Recommend work
The client ticks this when they sign
×

🔧 Labor

🧰 Parts (optional)

📅 When

This recommendation$0.00

Add Part

New contact

Add Labor

Edit Receipt

Total: $0.00

Parts