{{ExCom+ Unified speaking — DD-Peds360-Contractor-Onboarding}}

Peds 360+ Contractor Onboarding and Xero Adoption — Process and SOP Overview

Companion to: E2E-implementation-plan.md Date: 2026-05-18 Owner: ExCom+ Unified (Betty, Gemma, Vesta, Hakeem) Audience: Marc (ratify), Dr. Nichelle (UAT), Leda (operate), Hakeem (Xero), Vesta (tools)


SOP Overview

The Peds 360+ contractor onboarding pipeline turns a raw lead (a chef, an associate, an allied health provider) into a fully provisioned, training-complete, invoice-ready sub-contractor in under 4 business days. Books of record live in Xero, CRM lives in GHL, training lives in Vimeo, payments come in via Stripe and pay out via PNC ACH.

The orchestration tool tools/egp_peds360_contractor_provisioner.py is the single entry point. Leda runs it after a form submit; the tool calls GHL, Xero, Vimeo, and the EGP email dispatcher in sequence. Each step is idempotent and logged. Failures surface to Marc + Leda + CustomerSuccess (never to the contractor directly until activation).

Roles

SLA

Compliance Gates

Whitelabel Discipline

Every contractor-facing surface renders as Peds 360+. The contractor never sees EGP, GHL, Xero portal branding, Vimeo branding (uses player-only embed), or Stripe branding (Peds 360+ statement descriptor). Internal artifacts (this SOP, the implementation plan, Jira tickets) use EGP voice.


Flow Diagrams (10)

All diagrams render in Mermaid syntax. The .html companion embeds mermaid.js CDN so they render visually in any browser.

Diagram 1 — Sub-Contractor Application Intake

flowchart TD A[Lead source: referral, website, recruiter] --> B[Peds360Plus.com /apply page] B --> C[GHL form with 18 fields] C --> D{Required fields complete?} D -- No --> E[Inline validation, retry] D -- Yes --> F[GHL contact created with tag candidate] F --> G[Auto-email: thanks, next steps in 48h] G --> H[Leda notified in GHL Conversations] H --> I[Leda triages within 1 business day] I --> J{Pass triage?} J -- No --> K[Polite decline email, GHL tag declined] J -- Yes --> L[Trigger document collection flow]

Diagram 2 — Document Collection and Verification

flowchart TD A[Trigger from intake] --> B[Auto-send document request email] B --> C[Contractor uploads W9, ID, certifications, insurance] C --> D[Files land in GHL contact files] D --> E[Auto-verify: W9 TIN format, expiry dates, file types] E --> F{All docs valid?} F -- No --> G[Email contractor with specific missing item] G --> C F -- Yes --> H{Patient-facing role?} H -- Yes --> I[Background check via Checkr] H -- No --> J[Skip background] I --> K{Pass?} K -- No --> L[Hard reject, archive] K -- Yes --> M[Mark contact verified, trigger Xero provisioning] J --> M

Diagram 3 — Xero Contact Provisioning

flowchart LR A[Verified GHL contact] --> B[egp_peds360_contractor_provisioner.py] B --> C[Read GHL contact fields] C --> D[Map to Xero Contact schema] D --> E[POST /api.xro/2.0/Contacts] E --> F{API success?} F -- No --> G[Retry 3x with backoff, alert if still failing] F -- Yes --> H[Capture Xero ContactID] H --> I[Write ContactID back to GHL custom field] I --> J[Set payment terms NET-14] J --> K[Set default tax: 1099 contractor] K --> L[Add to tracking category Peds360 Sub-Contractors] L --> M[Log to .tmp/peds360_provisioning.jsonl]

Diagram 4 — EGP Account Provisioning plus Stripe Setup

flowchart TD A[Xero contact created] --> B{Contractor receives or just sends payments?} B -- Sends only invoices to Peds360 --> C[No Stripe needed, NET-14 ACH payout] B -- Receives or both --> D[Create Stripe Connect Express account] D --> E[Email contractor onboarding link] E --> F[Contractor completes Stripe KYC] F --> G[Webhook to EGP: account.updated charges_enabled=true] G --> H[Update GHL custom field stripe_account_id] H --> I[Update Xero contact with payment method preference] C --> J[Provisioning complete event] I --> J J --> K[Trigger training assignment flow]

Diagram 5 — Ready-Made Invoice Template Generation

flowchart LR A[Trigger: scheduled or manual] --> B[egp_peds360_invoice_creator.py] B --> C[Read contract type from GHL: Hourly or Per-Session or Retainer] C --> D[Load matching Xero invoice template] D --> E[Pull hours or sessions from GHL timesheet field] E --> F[Calculate line items with rate] F --> G[POST /api.xro/2.0/Invoices status DRAFT] G --> H[Hakeem reviews in Xero] H --> I{Approve?} I -- No --> J[Edit in Xero, mark APPROVED] I -- Yes --> K[Mark APPROVED via API] J --> L[Auto-email PDF to contractor] K --> L L --> M[Schedule payment per NET terms]

Diagram 6 — Video Training Assignment and Completion Tracking

flowchart TD A[Provisioning complete event] --> B[Assign 5 core training videos in GHL] B --> C[Email contractor with Vimeo private channel link] C --> D[Contractor watches video 1] D --> E[Vimeo webhook: video_complete percent=100] E --> F[Update GHL custom field training_video_1_complete=true] F --> G{All 5 complete?} G -- No --> H[Continue, send reminder if idle 3 days] H --> D G -- Yes --> I[Set GHL tag training-complete] I --> J[Notify Dr. Nichelle for activation sign-off] J --> K{Approved?} K -- Yes --> L[Activate, contractor moves to active pool] K -- No --> M[Hold, request additional training or interview]

Diagram 7 — First Payment Flow (Peds 360+ pays contractor)

flowchart LR A[Active contractor completes session] --> B[Logs hours in GHL timesheet] B --> C[Weekly cron Friday 17:00 ET] C --> D[egp_peds360_invoice_creator.py for all active contractors] D --> E[Draft invoices created in Xero] E --> F[Hakeem reviews Monday AM] F --> G[Bulk-approve in Xero] G --> H[Xero schedules ACH payout via Wise or PNC] H --> I[Funds land in contractor bank within 2 business days] I --> J[Xero marks invoice PAID via bank feed reconciliation] J --> K[Auto-email payment confirmation to contractor]

Diagram 8 — Ongoing Weekly and Monthly Cadence

flowchart TD A[Monday AM] --> B[Hakeem reviews weekend invoices] A --> C[Vesta runs orchestrator health check] D[Friday 17:00] --> E[Weekly invoice generation cron] F[Month-end +2 days] --> G[Hakeem closes books] G --> H[Generate P and L pack PDF] H --> I[Email to Dr. Nichelle + Marc] J[Quarterly] --> K[Betty schedules review with Dr. Nichelle] K --> L[Adjust rates, refresh training, prune inactive contractors]

Diagram 9 — Year-End 1099 Flow

flowchart TD A[January 1] --> B[Hakeem pulls Xero report: total paid per 1099 contractor] B --> C{Each contractor: total >= $600?} C -- No --> D[No 1099 required, archive record] C -- Yes --> E[Generate 1099-NEC in Xero or via Track1099] E --> F[Validate TIN against IRS TIN matching] F --> G{Match?} G -- No --> H[Email contractor to confirm TIN, hold filing] G -- Yes --> I[E-file to IRS] I --> J[Email PDF copy to contractor by Jan 31] J --> K[Archive in Xero plus EGP registry]

Diagram 10 — Contractor Offboarding

flowchart TD A[Trigger: voluntary resignation, end of contract, or termination] --> B{Initiated by?} B -- Contractor --> C[Receive resignation, set GHL tag offboarding] B -- Peds360 --> D[Dr. Nichelle plus Marc approve, set GHL tag offboarding] C --> E[Schedule final session date] D --> E E --> F[Generate final invoice via egp_peds360_invoice_creator.py] F --> G[Pay final invoice on accelerated NET-7] G --> H[Revoke GHL access, Vimeo access, any system access] H --> I[Mark Xero contact INACTIVE, retain for 1099 cycle] I --> J[Send offboarding thank-you email] J --> K[Archive contract and documents per VA retention policy 7 years] K --> L[Update active contractor count, notify Betty]

SOP Maintenance

End of SOP overview.