ExpatReady, Automate · Integrate · Immigrate
Platform module · Billing · Time · Stripe

Get paid in days. Not weeks.

Stop running 4 tools for billing. ExpatReady integrates retainer e-sign with Stripe deposit capture, per-case time tracking, invoice generation with multi-office numbering, expense management, and webhook-driven payment reconciliation, into one billing surface.

Backed by: UnifiedRetainerAgreement · Invoice · InvoiceItem · TimeAndActivity · TimeAndActivityType · PaymentSettings · Stripe webhooks · Expense
Capability 01 / 4

Retainer + deposit in one client flow

Generate a CICC-compliant retainer with merge fields. Client e-signs in the portal. Stripe collects the deposit on the same page, routed to your firm's CICC-compliant trust account (Stripe Connect Custom) where required. Case auto-advances to Stage 2. No PDF emails, no DocuSign chains, no bank transfer chase.

  • DRAFT → SIGNED → VOIDED lifecycle in UnifiedRetainerAgreement
  • Stripe Checkout opens after e-signature confirmation
  • Trust-account-aware: separate operating vs trust account routing
  • Audit log captures signature IP + payment intent
Retainer + Stripe · single flow
signed + paid
Retainer
✎ Priya Sharma
Signed · 10:48 AM EST
Stripe
$1,500
CAD · Captured 10:51 AM
→ Workflow auto-advanced: Stage 1 (Retainer) → Stage 2 (Questionnaire)
Capability 02 / 4

Time & activity tracking that bills itself

Log every minute by activity type, research, document review, drafting, filing, correspondence. Activity types are admin-configurable per firm. Time entries roll into invoice line items automatically.

  • TimeAndActivityType configurable per firm
  • Per-case timesheet view
  • Auto-roll into invoice line items
  • Reports by activity, case, user, or office
Time · this week · 27.5 hr
this firm
MTWTFSS
Research
8.5 hr
Drafting
12 hr
Filing
7 hr
Total: 27.5 hr · $4,125 CAD billable · auto-rolls into invoice
Capability 03 / 4

Multi-office invoicing

Each office gets its own invoice numbering scheme (INV-ON-2026-0042 vs INV-BC-2026-0089). Per-office letterhead, payment terms, notes. Per-office Stripe configurations for separate payouts.

  • InvoiceNumberConfiguration per office
  • Per-office invoice templates + letterhead
  • Stripe Connect-style: separate Stripe accounts per office
  • Payment plans with deposit + milestone billing
Invoice INV-ON-2026-0042
paid
Time & activity (8.5 hr)$1,275
IRCC processing fee (recovery)$950
RPRF (recovery)$575
Biometrics (recovery)$85
Translation expense$120
Total$3,005 CAD
Toronto office · numbering: INV-ON-2026-XXXX · invoice template: Maple-letterhead
Capability 04 / 4

Stripe webhooks reconcile automatically

Stripe webhooks update invoice status, retainer payment state, and case progression in real time. Signature-verified, raw-body-parsed, retry-able. PCI scope handled entirely by Stripe.

  • Webhook signature verification (stripe.webhooks.constructEvent)
  • Raw-body parsing prevents tampering
  • Real-time invoice + retainer status updates
  • Recovery of pending Stripe Checkout sessions
Stripe webhooks · last 24 hours
auto-reconciled
payment_intent.succeeded$1,500 · Sharma · ER-1042synced
invoice.paidINV-ON-2026-0042 · $3,005synced
checkout.session.completedChen · retainer depositsynced
payment_intent.payment_failedAhmed · card declinedalert
One platform · replaces 9 tools

The operating system Canadian immigration practice deserves.

From $199 CAD/seat (annual). Unlimited cases. Unlimited client-portal users. No per-form or per-case fees. White-glove migration included with Practice tier and above.