MoveKore is not a generic CRM with a "moving" skin. Every feature was designed for commercial relocation specifically.
14 project statuses from Prospect to Invoiced. Every transition logged, every actor captured. Nothing moves without a paper trail.
prospect → quote_sent → loi_pending → loi_signed → pre_move_scheduled → pre_move_complete → active → punch_list → pending_billing → billed → payment_received → completed
Build quotes from your rate card or from scratch. All amounts stored as integers (cents) — no rounding errors, ever. Mark as draft, send, or generate a PDF.
Rate presets for labor, trucks, materials, storage, overtime, elevator fees.
Send your Letter of Intent for e-signature in one click. Track status in real time. Compliance checklist auto-generates the moment it's countersigned.
Webhook-backed status updates. No manual polling.
LOI signing triggers creation of all required compliance items: COI (mover + subs), elevator reservation, dock permit, building access, parking permit.
Assign owners, set due dates, get overdue alerts.
Break every project into named phases with bilingual labels (English + Spanish). Assign crew to phases. Track scheduled vs actual dates.
Phase status flows: pending → scheduled → in_progress → complete.
Define the building layout: floors, rooms, server rooms, executive suites. Photos and punch items automatically link to the space they were created in.
Drag-and-drop reordering. Applied to every downstream workflow.
Full-screen viewfinder on mobile. Space and phase tag overlay. GPS coordinates, device timestamp, user, and job context auto-attached — no manual entry.
Before/after comparison view. Side-by-side diff built in.
Draw on photos with pen, arrow, circle, or rectangle tools. Four colors (red, yellow, green, blue). Original always preserved — annotation is a separate layer.
Annotated version stored alongside original. Flagging supported.
Crew submits daily logs from mobile: crew count, phases covered, work completed, issues, site conditions, weather. Voice-to-text supported on all fields.
PMs see the log feed in the web dashboard in real time.
Photos queue locally when there's no signal. MMKV storage on-device. Upload resumes automatically when connection returns. Status indicator always visible.
Expo SQLite used for structured offline data. Photos use expo-file-system queue.
Crew creates COs on mobile: 9 reason code tiles (thumb-friendly), description, labor, and amount. Canvas signature component with stroke-count validation.
Client signs via tokenized web link — no login required. Status: draft → pending_signature → approved / declined.
Open issues documented by crew — incomplete work, damage, missing items, reassembly. Each item typed, prioritized, and assigned.
Client accepts or disputes each item via the portal. Dispute triggers PM notification.
Required before crew begins work. Client representative reviews and signs. Creates baseline for any damage dispute resolution.
Stored as a signed document on the project. Referenced during punch list review.
Tokenized URL — no login required. Clients see project status, move date, photos, pending change orders, punch list, and the final completion certificate.
Token validated server-side only. Never exposed to browser JS.
Scoped view limited to assigned phases and spaces. Subs can upload their COI, submit photos, and mark phase milestones — all without a MoveKore account.
Token validation via service role key. RLS enforced on all data reads.
Base contract + approved change orders − credits = final amount. All math in cents (integers). Push the invoice to QuickBooks Online in one click.
QBO invoice ID stored back on the billing summary. Full audit trail.